2
200000 1000000000
878046341 400359135 417724301 482129323 109711115 360722637 254907345 460056633 790191455 158608501 996041801 893079873 831544103 899681987 253238771 51938597 526918133 9038539 262406193 310769387 599840325 648839877 626299347 165565249 369479283 346173209 217627663 864580481 374533069 323715407 575978367 343009959 965109123 791734555 329458989 716296283 78528941 351971673 347730305 175602159 813282383 727390987 439648083 196725591 596271695 862090845 900237025 846589493 439761535 347192739 473818831 34524365 1651865 7516247 534095147 946719505 500462655 569887773 410590825 451872151 108705273 594583487 963135079 804621983 361093177 951406129 207006569 344164623 112831063 905451919 729678623 349516151 996577173 484040221 258955677 316255503 287668253 263480643 887719007 188851893 447697407 414995095 8424267 426645489 651741237 194520275 471841711 804817395 660894113 147692763 877356865 128615567 46706699 401766585 425823515 365891401 957687587 141947555 217048773 835811909 27580293 692256241 962393901 149174611 895161777 286998567 420955557 708495593 159531281 12749299 741011179 891397929 197605621 300765221 294765095 267296985 168937879 194358457 74722275 594561127 587563289 257523155 760203543 554741483 94949505 333473471 424489503 669046053 362434245 122191597 544454591 396622973 40229819 815393533 678952487 226706431 515986213 43265453 734255083 361749349 717990317 956417773 87256839 602597903 689524707 347973325 891198945 451141121 220495169 991521417 291352647 820559597 29056295 723036039 165882989 869762345 707477985 622251085 263904241 206602421 543487901 871242643 851004121 14479415 520104311 470603571 953516177 203428863 594869871 887798573 561345775 68179717 428845677 806813873 667237167 562575335 306757445 198320911 286016761 349695981 531174831 800413381 236068183 565586951 337041997 622659187 613048257 578921417 131408549 852628967 693413649 926171255 658145323 992802067 726312593 783221749 205973305 790053651 478712553 614675409 941022223 423517993 788180785 26154055 140484055 891624897 70919655 817529139 902328735 503083885 420937711 727125787 116502373 666533867 278670231 584534579 924652807 615454491 20525459 328762701 327895377 265961483 439135745 111535851 243238129 17064943 306222437 72468531 524278659 413662493 804505519 793133559 989433477 794028061 376774451 312696235 743015525 811834011 921348525 664252017 477152625 415422565 60073797 21258253 90894049 486411899 166073221 73888753 657700825 262730751 475314787 150893107 15725667 267114811 714719039 57985681 815591021 11140771 984049627 650121079 979664593 353885139 83534693 502136047 990514259 82402445 263364467 885621169 126896793 972239807 957881091 79585825 900726583 731991159 307399543 339828033 623401637 25765621 59598753 676191681 130176835 863388571 882212531 86921979 931822683 921228789 664048971 222754795 655361823 486835123 357700717 960636475 830818215 485696435 31587977 222151481 873135607 712631033 222548081 666122459 914370805 997146029 361670757 650320579 884884853 595243045 673217803 20779317 424377645 882196955 667785835 768038437 178096065 463996531 669434625 43246117 937218489 301622969 430927525 710210423 532141959 450374557 732698527 960096513 474087045 972071741 2553243 492389205 506571249 330772957 615701167 750014887 448216055 453688037 406862423 262972119 505309865 904400365 851951739 819541615 219739389 413860267 465679461 894804377 65506263 784514309 782026701 36049969 984095999 292069895 872027085 91791797 39067175 672051937 627333103 73018955 655027175 253526771 89596187 37621699 482197187 604418493 473260203 32054933 243900961 475743209 259405655 926114527 698055507 500127311 178475081 38178665 130067603 270116069 125001741 771206307 345134083 870755793 744213399 246160801 584512683 517723231 398499141 133445413 271603581 946833921 767980509 896646295 454893137 383220051 59406731 719924997 884915433 5313303 444098789 295440933 95824879 107318071 224209895 968751961 727718899 572487115 964825335 383939239 764043889 290960905 865107939 953138621 927788741 838117721 622682337 483081971 687064381 837628995 566298507 733055561 499421193 222413691 642455529 169807463 642004033 517823709 902606185 364776857 814531303 997797483 959150045 677352665 71205349 468191569 187231875 183225541 175369483 566330081 379537155 828158631 517096211 17480089 442078825 218173801 821266079 803328027 151310889 430880423 193810743 364257329 598104863 678005663 704474699 138216399 565858453 395866167 406948919 931164177 189222197 202428415 560330043 321873465 98555411 248082735 867603585 223831731 791215535 542104485 348593945 431356947 71791343 632628201 814579453 892001811 539727899 600149545 629131279 869533847 692324847 382467391 599830293 207298217 676286083 345500071 205562565 387548029 684044383 321064075 25489589 346312047 659147119 56753337 847956071 21976835 786300425 295468967 762509891 745013729 327008745 992517751 46141597 46026207 651845943 32527597 362219181 268993527 120557437 466283131 302560661 687148365 603271859 293566265 397441371 661899309 821545525 756599011 764366837 432570119 649605575 329398241 683256887 518956409 846973081 843859011 427067623 889712455 986975805 675954881 355946413 905574233 82259891 332713403 39384601 85903557 884031583 959408181 727942309 733595079 813753103 324574945 235084209 810727615 305746679 49688341 197237895 263110969 197935797 237376463 70194267 630227179 785008975 149035193 887369025 548406445 102716719 900753697 57893695 181088645 551837999 188513023 578179389 171501469 888946571 566198769 156650507 460506951 898709733 575269439 870718817 532856319 508386637 488732119 247636195 417710953 313714489 328181075 811735835 294698577 200614019 485892847 37048439 124077993 197882739 848286101 483047507 292259723 786387895 496895443 906081773 292462141 54593889 923580127 369057139 890095401 894188015 38622107 975565043 570633185 294889801 375481739 485283685 214844707 951405755 767193057 432013229 806003151 51838969 144489075 406535061 933078515 210972193 819387585 386899659 520993729 177362615 752016115 864277993 136558229 549036715 800108245 293920627 465721841 795354959 970843361 430537935 937979009 257516901 171852085 337651025 14563095 270846989 393250459 690646831 560326577 448403415 168102269 405285005 553793649 963371447 118242551 254353525 35415713 934789643 672405447 567705045 144852917 744432025 136008019 789468807 551161929 847009421 477621931 152427599 913463071 400200573 314695557 903902675 432374307 172976231 930471747 618555301 825187177 859294127 42216427 712577857 560524843 464620321 55639853 625695237 175032267 760519925 204525405 455922747 884657369 606592709 625843325 578037781 659899907 392056475 366655285 305563307 700236583 553495007 785505235 381819647 886922311 573847659 963249997 382605053 616222351 272930169 885470277 434567281 717056339 294220975 940980735 643531287 300598541 544747289 69242221 723274897 419953761 939391025 442331685 423774567 366607641 768885967 943353191 951384587 617900843 863594553 362116891 39153877 346202543 22664479 867206861 214997001 917755881 967686805 394566327 89040589 820743751 602846489 42600631 412402227 635044185 179788685 725579093 446593077 975677147 2531393 116012737 398765237 822986929 622418923 886791121 162945147 856553959 95685285 580187907 473208377 709713325 604609271 522902401 713541511 10105955 150446799 581778969 667505127 588613767 32755327 854371395 97392067 910367177 565952967 663824669 114752875 837478905 657098953 963497583 992916505 574269971 922806039 832562599 364366575 880649531 532461731 285322975 836102133 135132093 482398411 500571091 757305627 462185483 280956755 503676139 128313151 247356351 289812331 685813817 562368285 54203551 239711911 163261553 660141663 385995157 384287747 867599861 241226395 977500595 408282341 457552841 275663941 676154679 188859931 726277279 420405183 467789953 735814363 141529039 262394453 433733407 448129471 306603603 397922615 879590083 126930895 884407257 868320893 367906375 870470007 378131371 88505385 611794097 911608717 694736323 202845475 449993259 617339983 968843711 634349119 915945737 389101151 728754151 570072373 225277635 256396239 956844587 467497383 870876929 766048015 301856545 444302875 3569291 956199425 884358407 130022151 202901077 318746857 920198343 561657281 100966523 985425777 124990191 924092299 891779903 210657203 640667831 169164941 618050061 491432745 169598717 758901467 192568951 710408121 460888905 635344749 665405243 879290031 449169609 793211685 810126139 705673157 597375317 334962633 678710401 118062099 413613679 590648077 548215105 360962337 293775929 788704651 243769559 339404763 772734087 488579011 467348677 313900949 540105165 413656351 514806201 817265937 789655597 88749295 168539777 289408879 491978859 384196971 555130653 835345727 773431545 523537081 143177647 183449463 510893805 745840605 405987201 122278515 334522119 777440203 687116297 817574135 305510573 841441373 260007903 155984177 832157423 535131475 758497223 730481079 256420741 511094613 916868015 30976135 766185935 495800567 706772391 735020549 220589009 86874545 783978219 810835455 396929339 400951011 668189407 471999145 420721255 24566999 556744717 336447905 26844499 231227327 706186027 290499307 835015333 490011317 96416785 875618295 184098987 619907257 928247491 824997017 683858529 196577203 716255343 31226381 676144739 128242551 17948773 405299705 506905593 849667259 765294369 335364459 467384337 804733987 926930759 436915159 905920067 231085369 178345123 169904669 766343119 36275051 595448103 241049983 31609501 584136467 939992557 773561003 42345531 277519477 688133691 385169079 216086239 414525623 496110201 79560737 392909417 17644269 407125823 263562187 408657251 157575949 544785475 619095047 582417913 628453627 309487469 645537671 411296515 316815231 36562371 454934631 713777409 300239691 39545981 227849521 536239385 499999225 276822517 928138189 477231131 558364423 754226859 738146453 71029631 19998945 661963343 128899907 471433315 568216537 499697843 648375293 121356943 474569509 331171535 894664785 652419955 131573225 274333131 664637491 421872933 970302509 154520559 185955073 731479395 233981923 875407791 426695809 792002711 779931621 568850085 366227423 621674703 385192689 811402903 674895537 11596481 327251635 47569007 573265395 65206991 903592123 452296001 706674445 15834623 646433669 455868231 966974665 752254207 727444847 345467619 889907295 986285865 416442819 165737891 176116329 983372153 54523825 193185595 411097583 834028439 779367767 582064769 135197023 573831381 111525041 442697343 366437771 590057767 831248043 527652187 574149811 147492911 325959701 133561705 255020923 968343601 838790825 513776167 72739311 603300127 422727177 761867575 721015431 194644367 283220157 165488995 821469983 941690305 113064247 4802977 631199229 83256475 499339983 382954505 635167437 601004717 935463111 89673439 400942501 967300399 976140617 851814287 923832833 951943935 914128485 47610285 762601927 975977381 302699797 182257651 622194757 823173201 606616635 234152773 35258673 330139351 48104351 871929263 451171749 884219067 347819249 733871457 303658281 404790305 229531341 337970617 932309673 676534489 889258931 294200891 577335163 297913689 435705613 80423823 410028125 624104387 39901739 596144779 882876019 199340251 471456583 553845545 507877961 668976405 701147779 614237581 101406423 256523651 206401255 36378371 250430585 962504935 732611939 374756605 91527667 710644393 982756819 98817045 881998709 989220309 324540919 158380305 904113553 330408997 303937145 73846745 778615367 549324025 559088617 767823491 715858427 307716693 634928577 362272843 345890939 989659627 638887777 262132881 760779773 10800145 430214421 336859107 728203291 292041927 368736523 773386481 22484701 859315891 338973279 82508699 730434991 552512037 249571345 684850657 892512359 661526037 364319755 522171631 418861633 75674401 776219675 454600727 609126627 699485841 529535743 45821397 276086109 215417685 704269143 336545487 43734815 818913025 872362665 517246157 896566027 335918809 644337771 13501379 600754275 48536769 918037233 606403787 598774231 204451911 126008961 129147179 184417913 425943463 318699075 574257997 226737353 392633533 196254533 239623109 584024491 738837007 648946565 916111947 371149163 732165583 529803489 20087495 459195585 290420949 97270821 20482625 131285963 167074717 6587903 940596205 354436361 104709967 263766027 468565543 713847405 605842109 987133385 858528113 36565067 800982363 930912161 274514295 910198367 362456137 878274535 471323661 580759247 287720785 316427217 569140779 618778921 259913695 359530117 849039609 503570787 583931403 755788807 937583807 124009175 933286803 990285899 397539827 737433933 895862497 198316587 512173611 23958003 40116741 710950501 434085169 987615835 667965361 791365799 393790955 200189827 640217673 138988669 54330735 758076115 409869523 785542245 32981495 250317079 957882879 724655293 52152295 527283585 700302627 735115471 642091721 565088435 366459709 51524557 36840529 356206001 789787639 354308049 826833757 828504293 920990879 371625689 610275563 723182889 754169131 192194001 457330985 568118967 194535229 954627979 903501419 468995125 102818585 19930045 472282667 950998961 362688177 515081227 518545421 325028767 250063005 983360767 317850333 273514975 68982041 63594757 517101453 3362993 898291981 310167421 992414775 372688329 644784907 782836643 387793695 292791605 604832839 953326499 735331251 817685625 706896801 805156751 722780035 378491253 364677795 317660765 452574027 112380795 993897591 488113905 423945201 912811579 94300921 329857299 554296187 388340439 804870055 172628085 506318369 472229073 745332903 783602095 600045371 239142169 95948233 827231045 350865999 954702593 447600005 534754973 977432071 440491337 614264825 336489225 130506549 920711957 623653869 248905411 665852375 339951347 620940751 157110253 542371853 446929879 943378105 100614543 23976741 500733983 793036647 663515291 387816591 11666065 140364099 722643689 766198507 632874839 239061339 509260859 31659257 362747659 921392997 114773307 217384101 707426215 746401475 833799291 827252225 464859027 646040955 610793329 506424395 523564697 180204347 551470463 621092067 132680431 259029083 916654833 117004887 56286773 530242779 914964983 602198873 391920237 738019169 184571305 434655173 470399749 695774783 347904777 568149917 210194899 842326121 842061825 17019405 566010901 569429631 475797089 612674153 774531439 944654795 103871715 415665963 541222125 371553079 766635049 911339765 431664135 491210847 101246907 920188821 475018649 354613889 765865737 134249213 375396585 540555651 474269807 229238857 385396385 675461365 886882349 226426045 959204827 672257807 63670637 548428993 701657361 594199983 814951231 114046697 932247849 887780701 179396509 45674227 533474929 853823047 320924265 135328449 981655453 403271 147742313 139809629 394014413 726858457 558948435 806679037 527321219 325871143 251223997 725653241 770523309 744074751 117502505 80532181 813420449 604390871 565940737 209722687 783586075 617726673 863946643 809141253 50073923 658378417 883610653 16217641 509564835 784103145 989071039 373697737 133519923 725612433 465459071 811391025 697939533 35143781 759320147 893560533 264399803 452446157 791393809 915239507 420328869 373087705 471245691 324776041 324793765 583482689 633781305 797584903 476997813 751615077 646434783 808097341 531907643 189186121 375422693 99476295 913513219 61430175 216299947 505855881 550509125 215124925 869493629 403584143 40961693 266178977 687477129 6132745 183999249 897495797 942690795 197528791 663442445 698074887 478833825 761653751 540019815 789460431 391006873 972404121 478995547 357098731 590777505 26045453 395129489 106862243 902352497 283390673 946725651 725364965 92565423 7048069 245621847 775991883 935852767 637278455 588943421 370786577 525928565 856865303 524996871 59787297 606773707 731294981 616508003 19449351 184928289 785431553 876723303 798336511 290768287 940310135 930545809 909548259 262791769 824272889 125834949 895160383 836729157 60068675 275673679 31868735 838046023 214854971 662379751 713891259 111326249 347239913 700144553 323075379 64259993 3671937 305929755 988824015 254333489 259288413 114530601 230545755 888540277 770654979 147263015 385510993 554418635 178625821 873629141 972672207 480208263 743542399 15547735 527534493 90940895 417719075 175868219 540342571 955126519 121123115 760390263 2018447 818221529 984898021 476382565 626717321 745808243 455193283 166670541 738433663 127603615 299620449 207943899 786549121 15108641 795408257 258061861 8148805 572453279 839506447 180833449 918420781 983038635 483020831 198446793 402242879 534459585 117008107 459461719 459751209 475896127 36478423 614641539 514036037 524185199 897849197 966504943 105647503 611907715 592754273 295694237 294340785 214799507 157278863 869672957 973797113 57867683 778539001 41491681 236693341 824856473 62313421 803396489 746305663 570009671 216619867 300503449 74369443 301524071 386519327 915695135 46311867 753154203 812522941 14797455 168419933 47895147 512069375 554517959 149131465 28878153 289379033 841487629 528852711 763278221 40197223 193953549 650637891 291144059 403875053 524936925 146865431 417608761 499883219 892718841 284784449 848496345 441144495 353191497 980932425 922854229 178021949 231587607 39108959 147212687 85119837 942750233 944150617 967532111 784374043 805445999 591956149 851304007 719043757 561418139 559585693 993655567 777309291 612876427 292561375 50374697 798294747 414991511 234432243 268493823 609812901 325917047 31668727 640316129 170004127 583329621 802004147 927682569 449739973 463396797 516937365 418886809 867491639 970957987 455325621 407952537 160459843 81531237 589482965 390381563 726088793 741737415 171455831 343605655 75323673 886098681 906901071 944960047 854846017 584668303 974137713 231415149 100275905 977966981 473000223 652096225 5532075 689542465 907421789 705220869 833811255 363474065 225463261 524751417 114079691 991281833 416080117 188837833 381077747 289564201 149263525 27314917 665484897 586127891 846680213 750824357 138249457 945599189 235858961 159370251 940942757 6825285 823962387 739582719 53488809 618158495 676425017 661147477 329684047 568838283 148173515 762903749 239243797 155110931 583810489 260528881 813198747 832356527 434232473 369620577 68285871 867097659 36218793 160574853 819559747 267373819 197043667 337020345 962447475 796786335 752547749 986572861 430591873 613163833 216094807 504701243 538458585 972243529 138514119 55051457 456810767 733775283 310021755 572792269 560313309 8250053 520315559 95509311 760891685 940225843 547620125 400646365 211048181 118473755 491036511 839495773 282566017 184240387 794717077 933125203 935954975 83080919 562404237 236705605 5536857 308108013 272868285 757003931 825714901 796634625 116928069 199528869 786079849 530445115 387257327 57001115 736012047 263560997 680958759 837914019 33523435 43914935 388646661 406890433 884042055 972079691 178764873 801912811 984180119 734746793 481894489 649692661 145587319 496505343 469759557 483068325 834658987 824790239 582599109 143623585 720772123 403070793 660619321 325714557 62702301 773784993 807364517 413901233 42355755 400444339 542629817 147853981 980668777 865304503 727530191 789236107 319291683 825856329 776429797 18267823 344224777 911695471 134446751 713645341 64866297 774307477 71172177 740155867 305387255 921812367 978788081 441956559 149763115 653250205 639498013 799497165 79350507 558508389 172967453 195606923 500407731 67413233 665860831 651922607 939952931 27837111 109293307 537430205 568623367 154810773 130736561 947392297 788460885 155510993 610582249 280920651 670976807 4108569 238976049 818103911 284439997 268470143 36673471 635777699 439561607 489521281 375732083 797911571 659874069 661208327 566948311 601483437 496423461 943418203 893332247 399801941 558664343 524144693 666371595 442384341 554210681 907295665 866775347 613308379 990232059 621931603 262328757 90335745 742830717 177323019 626804321 11885001 888398719 100668717 499606703 7656351 615980205 434209651 654099389 969230287 229937625 200657673 162726227 337488277 295315969 577196405 664983265 933666323 96404549 593741491 435916411 619125585 940137715 160723483 303476197 89082689 568251005 133376885 237907331 444939453 288672895 601872877 552039781 177356419 234968251 707244823 69066305 568784447 953252893 178436085 450929273 788781443 308443575 274895847 763471635 750010565 984387527 157330879 817615549 157866601 842217135 374420653 201642191 217766839 333574649 179195731 115654219 663118303 768435545 706074291 270724819 661019903 663037867 881623355 991857083 247499539 22518257 474859459 828020983 456903943 652172375 9140869 997794343 708671403 841948465 557377061 278943125 153404601 210966009 544406709 146150189 249552851 491665491 365981863 781003143 88937345 825841417 979726297 657404643 736086581 979700495 352571025 483078695 175985991 235715201 125127291 274640867 499500025 412123553 105847211 282228047 898829941 890016221 972773281 347420489 66148043 684035269 383286339 305640281 325692917 275879701 918440667 778102959 594635989 345815985 453416735 658819871 11497779 515045027 27119663 644348973 242403519 478171167 519369613 503874557 566221333 727739267 792505895 958536285 792589239 57222221 461264211 813722569 809335561 238361901 607827407 388289629 819358049 29145843 229970621 333393119 583928055 757501851 530864815 31314883 42198509 281262921 220893335 662545947 480600395 445158215 34290385 797604521 711080449 742017803 166950439 993045717 537474027 329583917 192516289 161003435 892363977 775660659 408723257 691989733 810027333 152317127 231161225 841703395 168274415 271892539 790317079 156808873 2384961 290676235 964753585 278946025 547882395 544184219 524824971 616095481 335193673 370016119 893362755 574232281 648036473 774440529 339962079 39443247 392827207 30239747 871165131 195121227 651388339 387432083 718781405 36935461 310598055 179226923 239378771 436054107 90383603 733464349 731582159 380109621 167348303 487235303 454766433 118742691 978183265 323238697 387513471 47010361 813668013 612829105 137340165 994088251 202834089 890946673 866417207 55269771 180982443 631742085 79537347 344471229 21976819 620817711 908875201 841221895 958855855 948347611 74574761 821660743 110468845 989130779 2866021 549293827 92806053 454603437 826800449 927381869 646271677 683439729 188504049 527863901 894811897 518642805 474077075 868940367 631444749 509640683 377112237 742815851 425439891 320494895 711405867 925457283 45763851 66729667 419880801 631626507 479730397 597699667 358785297 877594659 618151517 873045939 102535771 368650901 447679681 668113373 660039375 588659659 114161967 998347253 501876323 53815777 760510379 693790277 312451185 977895061 527930921 701392705 376612033 549589581 523178883 489879173 290466943 663287065 509761143 464791507 674295105 152727473 846016691 945736215 565384197 246576243 874783171 688260709 862042671 98032231 502531109 109670135 384499851 368410173 919565879 845664817 155931729 755804489 858303299 410150301 949534749 188947599 123292795 687554801 130114803 397944243 932992505 544785669 869673283 434604547 292652987 79796957 627597281 228332923 88142511 787415719 277050633 619825079 623560609 70821555 928478561 205657341 293528141 948147837 164682487 843651391 637496405 436418985 468499519 496248085 94723651 363118849 828293911 372311739 335155845 641414011 106225605 214635801 834490485 21584175 815737333 382261953 442082133 916375139 718863293 323423975 333244753 105034367 374797467 713035371 656226421 999712537 177491569 702120149 221463485 408693485 515637391 226733397 67163147 632298715 480468139 483707841 185291559 507021041 771187169 83553177 562273987 796044127 714078133 553771267 336634745 482147205 141392663 140320207 372089287 706472161 151880025 647830645 326613785 306171939 948250939 931165459 600927935 281014811 91288545 201135217 545332469 46070983 147451351 733788413 843459543 995782727 127826453 916790737 799650931 551873001 79971065 916223401 759205305 345174815 15468355 206819311 877307265 626906755 918108453 296508849 997638543 811592411 517034803 166516901 400241799 542978065 961909097 415828525 712201473 587087417 727459373 588294223 840646769 39093387 712980815 280667833 704311355 426652271 155507967 20041667 872399525 838845037 149237983 924670829 284154853 290721081 850953457 384479837 119421713 25846445 269700771 517810405 804640043 43348689 60379083 494148601 14468125 689795787 107294631 127060025 895940023 910600687 164144091 199303917 394483381 56914107 367915891 609145605 962345907 610133457 171940327 428410903 336034879 548700411 665637907 227959139 961599945 534684717 923774267 956680399 483046057 182469251 713631759 623943147 444517153 724484415 335644067 184663791 235121753 674498253 490301555 12450745 520465765 256916417 967526245 946122449 711112765 163594709 443198151 54270565 741227203 896543981 201025869 141805903 793648063 975273491 61747989 780366347 209418209 637192827 485762725 134002115 651649733 635691137 124494825 691857219 901870571 8980137 954785079 106434055 297142205 264192667 609877581 709862187 402333835 173436461 410703693 770582645 560247183 903429209 473276873 511788887 358721513 778674243 185920433 819180519 101239205 363894325 454972007 97932773 786076337 555573413 698774957 770053561 102100969 243729195 87364275 698951023 810647565 92818829 928460555 822213057 50708677 656879283 697682869 335733007 656568741 264239027 407599637 888020061 410366245 885824711 436485881 262735965 481692069 68794963 312942997 225379939 98538097 707636707 672030855 366722931 181980343 864911657 94302421 639743793 92394643 914206463 29099243 808674541 11670533 615432811 729000351 944096927 504659957 288243605 777225517 456267237 62407479 381664469 803248699 578659079 258819459 69808545 196377815 851367923 939431033 770153375 204705143 964534083 125042339 122337691 197250549 961152819 719490163 777298055 742985369 43267757 511336771 198689405 992921873 984506941 359324755 139829187 747489135 431245087 413328843 642348483 393384755 207127597 3026879 156014607 509552705 204057331 822905125 71398245 21386213 732009629 80498915 721285797 811979735 163123971 678535357 124326365 416973107 631817637 965358183 170465087 563593597 533608617 975613563 565412903 408744869 572920801 548447095 532061207 298607871 18030529 849200839 28300219 18347079 445730921 443196861 830412773 312311459 309141153 141014673 965740691 235267745 25243865 412212579 507565031 730347317 69582375 680727357 326017835 588932799 831899467 588497169 557946323 993870849 823021995 450517687 170674299 639678761 107504727 370243059 206019557 228347597 651578629 530313579 111655421 535870185 209591575 616836019 411451095 567674341 166207123 735360065 924094379 355937675 364829479 301272697 466489313 789565971 203777837 86684323 642226689 115905817 38437025 203572465 139688641 628240545 917591085 437395579 561824761 970505243 126023711 330067525 329059757 77631833 806325613 233247285 150241545 164851099 87649975 605762589 71122273 891679365 266821959 140815545 327505199 49298213 974465033 182098085 278655255 860736239 235013269 890146671 57176291 273727169 595478059 668074119 77722761 489747937 353323185 522958407 700835105 262638331 759408569 213991149 865836015 650866469 455139703 749622693 716596065 462109403 270675915 537618815 439059463 384261891 328341821 267715189 414951837 734491627 972974077 186037865 244181511 997328969 185736929 104747043 980555343 947458103 867530343 306735701 61394859 768069183 854362041 176864919 305423475 867282505 422286757 916576363 888482605 47894701 523697571 329217595 853333891 649995561 902396113 433094743 873687879 169050593 65097463 772801019 523551093 328620641 34090883 481373251 201519409 349029537 297490573 835606333 702990535 528109053 951933911 368274649 920799913 359926331 635361731 142251503 353214577 38147207 91322469 4431169 336911845 64728181 319872625 256525433 184563695 675526405 886763593 185706791 815954849 688791453 542601457 810110405 218183991 794761991 569903387 471376053 885217047 85507193 632635421 313003837 953060553 208615569 501812471 190796947 241102337 977997909 822590289 751834317 882021785 781340209 162678903 477707757 400410775 145048827 788041315 834717405 622026021 98689265 583760563 507550317 39393173 353597623 891493807 40947799 484386661 712842841 189681479 906239547 694986807 749563471 353378321 824155301 175912149 251462773 409206859 315636739 738860595 321319695 223608543 270237617 455729771 83075021 315155035 322493167 316215747 929795777 848887 531934695 958877607 162740587 724234385 810549417 343388581 386256815 990474159 429073965 213814909 208480987 844156037 198628697 493660945 220065443 602782949 265402353 3795819 922797605 957638737 904932779 333727679 844657895 949331185 548746013 223124329 977710037 944644755 181929671 883663851 649745989 51652013 124031511 521602545 72374515 324733535 849710683 284723791 82391303 570111859 896964557 289568511 757070091 116528469 376830093 945105445 307340789 752782621 6825893 279497483 822430757 935510411 787416073 445209895 327812189 255120901 106423181 484078353 53853899 278558107 998096375 951230861 363564551 755392517 971647471 374819463 683194889 493889697 307899395 559309331 685004091 686670201 109836209 230436717 418131305 673148471 130054743 692114931 602519239 785635127 861413441 446421047 156599027 828719733 731030429 545848039 965563377 612078747 848128901 119283171 414838065 338724855 653890813 900556585 532379783 424435585 493450219 257615849 349617455 257762775 316463651 574946675 932074703 384837695 646524509 697451075 1262197 496396717 382535993 75153149 495930775 101744051 919546433 800090989 798607119 833756563 422442727 86187397 597439013 407433013 254091653 725280863 573799301 57053733 875232857 43991873 467828805 45786271 352829583 461755539 616467171 354172541 419949881 581774573 874753091 671995979 190562893 828368901 773818545 725227061 598267311 91214785 575443173 802584851 410601001 700491053 950567163 680303459 538706025 779486075 846750071 764545105 896080905 894452485 752802377 389066407 962437261 898628689 664385987 658025439 311079515 412174601 243736997 959514903 468515781 445989633 933549587 141787159 150289927 440839985 310188699 627726927 352974911 570833089 745163569 896541139 106281591 650610169 524614963 204140647 697531041 735792973 670931047 116768879 340431253 310886487 610103801 417506299 132609045 434104029 609272191 430884801 333639115 745258953 30739959 443929635 91240009 390428207 695440579 287031847 682109445 402154057 233852083 333205627 503288163 996236409 303201533 252218487 902936491 682625101 594654267 189947677 387356687 656277879 630469495 786097167 960688295 668503251 99083033 887988385 649918325 164635491 153947129 558927559 353783651 356645205 270246997 394590241 139305793 388347639 101725905 333291769 759827147 968862153 457405307 811667259 705372573 612078445 30244551 185107327 812700741 783247021 978530451 495866371 777803571 117939837 549474595 595297715 842758079 778973945 994548775 291519769 929999659 441127013 575303091 611370863 689514913 141735465 280952643 894528915 968278321 2536923 54102205 313791757 126495445 945641525 91552111 197958923 742881135 379162139 518605583 200901479 566899911 600478615 438490295 772785567 891103887 848390367 94368751 697844183 559276383 219597643 920376229 489640419 498157497 677884511 105938219 69040697 616219911 533129417 214438719 465473271 952703641 270503769 973421833 551043811 775940777 899274763 636927763 31565937 970272087 857099011 428617301 261586611 139000751 401655693 592080683 302355563 871709343 689987353 994264665 271392511 269690371 738581063 48770063 947574145 386339227 58686933 564196577 551564709 983631377 880162739 26944203 625069261 806662645 53066737 274098739 881512189 884407489 632951245 933140199 740428263 637747669 49579175 880944411 628174817 935824253 726864653 346704493 164614891 597912553 794165167 668745955 865343915 658546735 127086701 37523433 430784625 378776405 612871495 177902421 692977205 288930115 707941223 182662243 500105621 650915273 400135717 694796475 318344665 289072545 973343223 549777255 790357487 613857131 585278853 999526367 378077553 862229171 726923413 37702909 304075677 21982951 845890847 731780107 824961111 545054819 261761597 335165873 695506227 199849829 98261297 271639815 12186215 153000219 406641255 70839435 764563407 140647571 989682289 642053921 436593143 62963655 303034125 586592023 207129867 131664023 291995677 155033889 447910373 449060301 50007723 731243869 682287361 19784219 108251115 514945103 890215815 500800283 16836665 914252263 216313417 600062541 901281303 640370297 357424827 755395097 507381553 766312385 401696253 263255763 441067865 951239655 304417753 203469235 967655309 932842613 89541561 831923673 979541231 109796705 549768121 41348943 407702985 536248331 460526487 742073351 188641423 624682037 198676409 899499739 77697245 812732173 127936047 883442315 59703927 139071017 585685937 888476863 526404677 186284679 13868701 358526729 685962077 458248585 308498939 425402341 851728889 609210369 519591547 548414385 984637565 768966945 64286577 766592951 89841779 185676679 71020001 826869033 278285199 993966135 664435055 394009121 192519853 897364897 221301609 885060765 118463185 914759831 617309131 252564363 947487779 32857945 923286577 143605687 22235897 943338123 815881441 649440479 179568845 646313019 585018317 440605857 770927939 595694303 686670221 28468615 354586407 446983761 173338717 525692419 74191209 458873049 71373605 866662253 15081513 536756259 745532535 85357833 966505893 113625157 136503687 460983549 857016141 486403771 450821941 764190043 533081777 962259821 430540041 746987807 955556493 885777317 950832691 211031333 306054597 932023067 170898057 719131965 999618661 14941929 584028043 508882705 365473439 352870041 832917343 177413953 548316109 302396179 494366677 738889 72545141 438763441 265996133 955276181 278332481 491882795 619615789 719193717 622387459 386942635 942659317 118105893 905746871 621643453 459738667 574831553 230515843 816332885 415942889 723206487 892927661 832605137 511399403 192795351 464789933 251201015 533642907 732464665 735839261 814652147 568103431 465717985 328823999 153782619 366082021 690563029 652816767 560670507 241983383 472636807 114168943 391505609 555073313 425212785 335122125 637659139 486407735 909167861 845766649 832680207 897553195 717006427 77581953 312856967 737332735 362235859 917292311 55696243 318130521 902791289 763912087 12653121 310281099 454668623 340208643 518797251 730361737 508132409 697892743 385601335 122573299 178239759 415268215 409919045 767155217 362046085 250305099 981238777 736195283 273536829 483145899 916188615 947279311 284434627 717720671 270397579 701437509 509708423 440658779 18442639 836612123 402626785 186548411 588092285 348908257 914737683 835911105 358091113 345628367 114264391 866132187 244779475 226613187 499533709 107079319 510994337 675684933 776339167 907050677 739547931 409269891 107385117 19534103 596505341 342148951 736406803 703769287 952259423 72719677 837789039 143525115 828718793 331324767 479032781 865614859 367815463 493977225 584583597 238754939 144173775 354394679 971338617 404218871 185469309 682111363 47906177 899138131 109898585 100985401 751208191 414440073 544102381 259652037 151008019 659358653 980935473 674071615 615726537 712909883 409098369 513168231 526958863 795129971 94932385 339912101 150561217 834728451 487301569 167672581 181003423 378509487 604607091 108241985 785252689 381786463 877135543 38480823 858923371 557723945 350056945 259578993 64703845 978986057 727679215 10627865 583355807 359873311 686361829 1891595 597849957 279827255 49366641 569996613 219458021 976581191 231485079 955621741 983748923 71537959 471639495 143103699 255947623 210011357 277617365 719838063 279038289 309303699 789308415 49707743 702959053 42331035 244933607 956601195 473043091 61372529 166678685 51924225 213179715 21103547 405401239 577518139 265120871 768575551 446544815 870382933 976469619 546320629 550845485 970010937 315828923 539365367 120685501 783480947 140900485 54943111 757945463 813787199 199686135 119597839 119051731 741055863 850727205 602976295 440760763 891806119 550100231 870956933 569702779 285388795 286338685 102158353 297478855 859842123 166316369 353833427 295580349 881156631 851464501 375299839 351371489 720953221 259295939 72191727 219138595 920666215 558635641 612528425 922846677 911716657 549141957 842092119 571700409 162996227 933794291 766040397 388445679 619658661 119494465 879235587 538950151 963757703 246678989 12133025 363064821 100160959 952745633 131701359 558769687 296345611 89631919 500020961 569191731 7273173 263267791 575079571 733234549 226903851 94266309 880736327 267431795 640506565 824340279 177276393 50332459 188551425 560368825 803364237 836052225 687521255 705991105 128451693 930209985 284163877 94111667 885201901 657004707 225315093 476959447 372091543 923527745 553728947 288146271 118922015 665070501 555926441 650745955 616585057 867621943 799910211 537640679 805112671 741689809 650071421 338578641 150743623 751943085 346791153 54071283 346301287 989544817 274284267 305351945 203327807 252907049 488114263 935496881 102301297 242414927 876592845 848395893 419529929 847966651 575209869 796555205 194647095 906274995 36937853 158888703 194126809 104162535 955833135 24779871 263249139 235572075 469651415 407324433 84788205 159415483 430031445 394548773 46733661 7395263 917249329 437721495 638202621 990931649 535451291 962782019 876077233 552868985 718882665 773449207 154654085 956287745 392709657 819806819 539922601 74809057 601109461 515435551 392675453 560418823 25224043 9371821 290611583 104478405 804645971 483694711 896603999 968988891 817848747 699822543 358943213 740098155 903725883 776772075 149973029 152427783 703886449 581770221 741554989 477073057 339759973 540587489 114048331 368783511 36509145 4532151 542457079 38490797 593347119 649368135 581276107 385180179 405432443 886577235 565452679 786008669 626113905 213482885 546225435 670038663 703452531 921643373 751398295 194651639 746630021 121749637 936777017 938311035 781481049 922953519 931978849 120841801 413146949 938305713 184950429 514207483 224407369 203422273 436711839 317593753 981914635 689450485 802377795 129000847 446956253 71202767 466821513 535444147 345864627 728532153 106654625 663576643 987433005 236573571 320806109 234021601 445300883 518024679 419529909 437899935 448034005 770211205 120766161 382292461 153069961 103788777 133026809 649921197 846910189 843364993 202644769 479067939 871690219 651232681 716184165 579030265 964103441 53547937 718257159 841541705 884870039 123878035 822825331 351512717 566511195 389403791 830055485 731860395 621562083 600926863 598734109 151590639 8408163 519985011 204399867 862676499 28977325 678860551 86196703 354576943 948962627 728098553 636523517 871887049 92201549 627510757 352733873 939406033 533533079 917769803 203551615 422337435 399126429 551051667 948521231 644132325 814208633 87247633 574441015 283134161 101999863 421947645 789102833 527707375 430130051 20486519 997068127 233353013 161369909 407362443 494448337 608960511 313666253 86661159 767301301 289742353 542176177 306624295 805854121 206929817 754519793 76268105 672820847 132346669 760257093 203816507 807465205 863463627 291713291 611431305 679928139 346791127 32048971 855839665 835664557 59161375 840494773 630288401 932216447 705541591 555638175 984703733 533209931 718053021 714258951 816236171 359471047 317412725 177366167 579894255 492060619 270119887 175706013 759698463 450701149 725158783 408791057 962242313 780868005 326070209 87843985 891901049 169447417 677990971 377817699 465983277 366906069 315607035 473787515 751133123 326033625 205376117 707688043 2928069 280424401 82111625 868733813 328756901 990791091 834677625 914019713 362419389 28280215 256535539 276968475 420857931 576586435 163790093 803752319 869847677 356467105 437450565 748949383 217641567 240071363 989292413 873242303 881359855 791843813 760815623 644731217 81456395 72978669 207295893 756437531 129876093 474520801 609249859 439647125 217642231 201426169 761589403 577541869 750397457 889653135 190750853 417258733 263862095 806285605 482694747 99081999 655044375 647883111 697833943 620997745 83899835 78911527 103597343 38656731 341343863 993358435 437143489 450448829 520984681 155413307 758469041 732716843 793929627 268485885 833318989 70964969 672360447 754554907 591625051 486279003 489983085 195990065 21104647 624550033 157512103 12582145 86067175 642316609 919956823 373130615 262997495 118126029 591066895 921262245 687640991 499735867 503829829 645840585 131481001 81673785 777084509 949264453 838853453 709639711 595495839 26999459 141481253 946792429 372348477 635767703 559074361 79605067 505510479 511166973 59528439 62197127 157559255 636120791 211838001 509417623 411469247 472503377 671664167 754080283 570299609 287726271 890316669 506508893 490468059 716605851 789473343 683493191 95516009 736669319 218688741 201246583 691027209 74480723 119274827 789056293 536699441 780979181 229431223 762028351 310224439 788363123 286694357 572736591 417946717 55841063 969654203 74865039 820180685 370621047 436445925 233020893 155359129 40233201 778805049 709682369 221461431 394563413 642305541 89561449 238571017 478942853 497982717 743142319 182530139 968566413 107799361 584940303 944611421 378324893 379346003 201665459 601667751 830805779 112417569 303027561 820640699 788579443 825075969 176472745 730877699 610264677 750153393 718071697 317060047 999991743 118491477 42404583 445738073 133363837 438928761 310167325 5831361 59862719 754008085 192610635 43317779 269245393 90513797 775600173 636499775 35377961 685545613 753119531 983948829 36050783 701005149 835861335 982388335 33346873 275693191 424272485 742951133 246090911 978210315 763344311 104609275 783587753 36278861 885565777 381259585 466475917 916633371 587909349 541919249 659734449 910401193 597574857 667186865 661706401 238371479 893220605 853992791 650779407 754528999 656538151 993395481 665694933 950691591 337872023 181022455 927283193 628783307 26679109 518510303 250396581 924771701 995565263 499742367 819838763 540182693 509371005 987440369 53347081 739814253 684805437 66363509 296037343 714271037 936016553 164184759 396747643 518220023 319463933 139946277 679983567 473724381 250496291 270051867 482089973 780711071 909291945 110935001 111022899 153770575 660070343 205298567 383175667 483031917 250070361 689963065 778839241 945535197 149149419 276730855 703588207 420660459 659570345 313904753 490950599 66134095 867444589 129706657 434712799 337352485 473297843 391143723 120480233 318695411 22198435 272682915 56331585 379205797 191904015 512908175 904196457 931299217 641752683 183195989 900382733 33897587 177116631 130900297 935615745 443669361 126352667 532809891 522550079 900307481 732609447 892572803 250416105 727663201 471075729 370529011 11542863 402304419 69000345 75802597 55938015 94162855 439534885 341817395 426061623 50106779 70735685 498434205 822594329 718256913 922170801 687205067 213994609 495197959 836143815 909038673 450316371 506147557 894238095 376021413 785765113 748812151 134711481 933099819 619847367 169254383 427570073 173463085 477200711 582438127 334113587 947624409 998152239 253261179 348971817 384626249 143134807 543269885 790605519 347365249 612963011 692293967 758317083 275555431 819306913 140699051 631698601 176751565 572197697 585113015 659310789 321104239 275556127 904198529 771972187 229739243 725569759 699891581 394460677 960860363 29541707 440014731 725715967 302464897 997022041 248695787 921199409 106671717 689174305 459390543 126009387 424293051 357091049 259607243 283825191 269807785 814290457 988851421 909821439 842869313 420257863 87252071 558674237 701036159 973483567 603959995 933781777 226554433 880412849 174895497 122498897 971456849 822098393 123017203 912154493 303406945 868019165 679042939 728447419 237631241 986643477 629228817 131903451 126829259 491542023 788296199 304121941 286223377 179713629 472061213 781266247 757315117 534911465 684281207 157955449 655917397 168883369 965324195 328650073 880726957 854108861 2271381 699416577 203314237 640711539 754517163 586958381 206417397 682991677 882153641 447886663 964004019 742986165 111471295 250325597 80383027 618279585 828337537 95479077 23555873 655224555 25508075 669685505 934368269 11448485 736138597 129986549 755203185 480926477 244592825 130844083 388522927 169917317 236422429 543641747 65425423 18227351 756651569 738894481 545601985 291093751 581009911 549967445 32205283 282272895 660559837 151556657 286511473 425871669 893142969 49534745 754369623 671785539 265897673 283705773 724362341 611517693 852755633 694603061 389740117 494713821 868410493 968011425 445728967 122851717 429616549 821017479 793098567 494150595 30881541 358314279 799053637 473951883 927245283 483301735 902874905 406973173 842932457 382474711 458402565 999671877 787987761 65292463 194171955 266919143 122012469 196126157 727186355 603124591 707112923 525396407 511490431 168413079 602726257 955767457 97135479 969624897 686535851 418316637 584943207 145432445 799601065 308307055 945008893 829345657 867715821 521782523 395704533 992492947 967369829 144451535 370183023 252505165 384655975 131265127 664006453 236175701 130068655 495419357 187266679 106210939 344840037 510086653 4480111 604033723 475608595 117359667 326584893 694703929 337999537 518741655 601276397 850023487 46718105 148538601 585963373 689265219 646287765 348368273 70929817 888998109 669428429 116438171 599454001 596712913 578967515 46198977 725489119 41466893 738110905 35317857 563280177 621116065 369060301 447279749 759273381 306595273 3446499 497820631 124600731 820316137 422416435 415771059 422570585 385620621 71827545 146222359 285795091 428720485 500020827 724458409 914208739 402360145 802623141 228961465 59480777 542657361 814138893 354930751 175582893 387661711 769188047 655161305 824607331 693843553 441022867 606770127 778460579 597289283 195104867 282020879 39271949 612695509 2782133 169999665 993632813 502187749 158863209 890850167 254575729 815839589 734940097 472580035 420752947 999272815 213892715 867148969 540770999 281275721 819277181 595781471 112787491 775968861 105687157 680767169 980994187 843424829 923214647 865602139 304472295 629513639 660633871 869657945 453877271 202738043 505651637 779710867 434878437 175583687 929313349 967400585 963204611 861523645 558673989 5058145 88286475 428108729 752274079 477794029 222176123 883682365 402988205 68594849 220236993 777146613 464045865 405987741 8991273 939750067 359791417 640161449 834689009 132534133 990225771 124976693 688540215 942878555 328234165 122139991 76888581 13595059 82287985 267683533 541671501 98129905 295156839 28304385 430649065 633143979 696679875 640713217 764127639 93718187 631174683 481033349 663183619 365852119 887166829 419736811 641937855 40553539 352011291 660372795 837064513 397392685 677029879 269763875 727082733 174032887 469052209 820660477 609446667 383034667 78233963 643347653 791705549 630083965 221166759 819315493 122179661 134849737 222839893 884919401 198790537 814988563 51798087 626238349 351007085 455060867 429639101 790185771 837246411 296801647 575260763 733085327 878827353 32619345 175534895 802568869 698619579 456832461 703882669 336677637 368267641 306292909 787736755 671592175 33380101 441801703 179043207 882647625 939904439 744934035 201980117 610236069 524630481 385780725 870551475 870345271 584301181 808300155 671240861 902159071 933037773 151541941 136856187 205621029 688904887 278865503 52454807 524252985 44603423 556712285 846401703 258930671 693142475 296749753 625352139 153293259 412109937 419062697 272519557 865051121 561119655 496516741 458656195 574745393 173564145 606947283 878260445 630073603 28560053 705735995 961969291 490699909 407999301 685482645 203205367 349220733 487582171 923396823 996909485 26056543 800349081 945392935 294140065 562317885 484027525 256564177 929047857 941093337 391542933 87198533 509566753 231758491 400138399 380259619 147316641 546155153 728156005 784502059 264692293 368836209 870746257 365000775 854202889 637246621 469173683 915257743 336520787 192606745 291172677 286001465 420539889 113163159 81765801 695590317 909188631 329239661 119884839 300922993 164563301 287784347 201262575 40406333 380734173 264234183 219979037 511650027 611234029 127896899 949464497 128405117 465503851 924586243 121702037 688620575 258240403 174987175 339374233 98955299 511845645 244966263 17506167 103356935 667758819 124948067 917652175 62950763 474662797 507980031 965682477 787497757 73416935 612019599 161860865 162305039 808391989 893468919 709676961 399826013 259511847 381254087 190852691 635490377 559072719 808425271 333413183 594464575 784972205 774526499 446071413 834312403 474855333 691377687 203677423 295905215 877075717 849948225 66928013 319270629 905020289 612961397 399688731 948773973 887541815 10615861 139553351 544880189 86935725 488621481 562390701 913902587 46076367 712950429 857875405 717208849 709404915 418858381 92452623 973167659 92451541 148283539 448485831 634490909 18318493 283612795 901538861 909459169 879810773 262201265 469215329 87397531 372025973 794662733 240019311 302334613 207932887 150794767 923704389 296849475 792864707 780691293 525156543 111605313 564829287 974508103 773888155 743906131 976931413 582648965 707118215 177360737 46571405 447695221 346021649 977183361 29249139 136660767 333071793 484062701 390144723 267509555 221738443 582390025 75765477 570000391 474570665 64156257 378950725 494161817 388868473 765106341 602356985 260408467 996401239 586423219 121586797 540868419 216931137 803345807 518281845 619330721 998237221 230377827 866678353 866515787 47092431 518525057 846708135 898815623 207994877 596694885 87602049 343024969 442982989 686096563 691184469 760578851 95507273 427225143 567038977 938550615 525514851 22511073 614425803 253424077 86859765 865088721 407116385 250969105 496220735 21703237 357917141 990516319 808560233 976836269 920485797 118473873 986148741 872839833 98072761 808522545 229392271 518453191 195190619 919874671 706975845 370309655 656734275 644300065 909648081 286369943 566181773 600923079 510803333 759722105 687013821 766542217 615103001 535697431 248501443 646033203 659421201 33765879 198926065 495189567 525092819 827938755 176086535 69810635 672303027 368285005 617533995 55497631 39533287 556300179 601048805 333395241 296808595 708967349 153606193 53282435 403079871 615406593 633487207 702347627 396408157 830226665 678809167 233297991 129291589 504482825 884163093 228946213 918505787 85781283 473943117 838560961 395682533 154300195 307515385 417894263 257268181 953126685 450184825 125897295 636009605 311344457 596253343 255734775 711220055 31947279 613410203 555596231 650072467 222097143 77386255 57438399 334174827 485960117 327072509 791343239 823137783 273679141 164454099 862213227 79517753 553859145 456669289 147934311 681336347 411189069 158812151 64323093 13454447 55051397 704240167 875114945 459147499 333011307 818722565 117642581 135378227 8683427 325620485 513131373 10760655 427793399 933548037 790627399 141314351 920211291 280345163 666160841 697477295 869571051 87003009 39386501 674970513 246002155 200085441 792846767 163839995 750387395 976113797 181629991 281847295 65325577 731981749 981404277 896748695 83862647 960898203 690814407 789569187 541637873 179350253 542618103 488401391 999252353 439486923 806290049 454644779 302284381 964225719 759987087 685339119 200809693 685771423 962448111 823875005 81063557 1686233 658688793 659939071 626912771 924169763 137156137 29670149 418027559 823197087 278998251 991563273 553716461 720561119 807043019 619012139 898119289 806504917 705162211 825070711 249508375 345601501 54900719 639573469 594902327 404082881 585409367 245558325 162431609 758317737 202214701 787142977 273286299 610166319 295569189 125805481 519332237 128289101 51161247 530676737 426145631 125802089 992699301 874615233 827339085 221077329 882436579 312048715 914404029 975868985 946177457 572372453 179683893 795947199 641294605 821708997 153464429 642490089 732546211 185347073 869419839 853383203 395780797 166264475 648509611 439369795 716479573 721101947 497320417 159842439 9020425 439558517 537666609 658967185 589517601 516977217 96579609 982414705 368096395 610905983 329399353 186375837 194542561 806308539 29978207 619961585 862752351 245072739 194874493 821373361 524247023 325322707 697458095 309692299 757180447 317118539 98068279 676447639 534108967 557609971 671725953 279166541 228582627 373708255 534424863 716995223 315760095 409242631 197936079 799656129 501518919 580282955 667302769 859349887 312902387 955741047 81940755 975240943 937322597 426340409 460063209 887768983 844248511 52718635 596944969 692768099 436180435 219038417 387292347 816381607 276640283 949188755 862433003 550164773 635118513 308201919 177168039 896623357 985403999 103305107 55843567 675739583 8557973 736119085 259728613 884461919 37156713 648929943 658689235 995991357 371518875 962282949 679803693 508152603 739922065 214483339 505536911 821682215 837909595 970849967 749224379 697839095 297381297 249894103 598311071 154626953 837646577 76221847 24466761 554240577 768470307 484777829 609217529 668957931 55784183 386483365 192519441 689341631 7214529 613410465 736150557 678939225 958002309 561378439 396014797 93884093 501714661 792233585 9850367 849144411 80180789 338475107 740433591 579429895 69472875 618556739 883605277 435414525 41643811 734799845 517084551 685221091 342148265 721825791 524989295 566264007 350462185 669077301 853655161 687004189 994805883 59125775 185525617 99741379 942321055 904592639 541168455 64111871 516293437 83676509 8401945 207799421 735236065 290134125 18502187 146322259 466421447 923178581 501272295 760663807 969019593 316524839 578741727 846672227 984680305 79317983 255429583 410195919 823549935 701978971 71984027 595859961 595586073 820551013 294152015 799339261 903988591 476920751 948056347 752838751 694561815 500192465 454650975 28966669 376559585 334841165 535602331 694066271 455709509 835123341 536236665 888432911 877505633 353179619 108425425 458883651 378798589 266561925 159624089 201420935 801091207 222243735 165575415 55847123 16755993 991110433 176674871 542101891 390528111 844258581 807454923 900784477 686667763 265889099 229934927 588493453 719525043 607489925 244567173 727269801 579398245 26973805 819432023 519368365 502605419 966985875 421485277 630433791 495614665 802226545 93492047 378346351 265986353 194915433 999110415 909277485 328974843 242158019 726175915 648840411 579517731 999563697 50475221 472073339 109062481 655375691 53443433 276265339 820520663 348941715 627218025 312127921 139143849 262822515 762594049 843346523 286979431 866683835 634376835 225542941 737593433 621511717 150435181 97547523 759137391 583294547 693584481 726590853 164489535 68417483 645404969 337973119 311537161 867797507 625120697 507960373 508224179 713905489 469632813 653082199 34714829 697650167 645694663 456065785 194432141 788048671 670634227 389501079 60297685 237819865 812296261 999829015 953222955 591701535 138651767 973701063 671344831 158019537 732787053 537317467 367062373 648695739 880277041 577059313 524141985 331511949 898838007 522290447 480150165 944379359 985383707 569911713 467352853 941678387 301795873 20076541 989841559 680818417 366437553 224289249 42328631 718625133 435264161 31298927 209086913 149459935 366087403 620335161 875092641 505331047 103270579 376033327 42926319 129599505 297390661 393838259 272759915 226310091 503921169 794528647 792861565 107941233 736841141 272967131 780892209 502243267 351201013 257145153 651666241 648914539 63932089 542084281 49461515 208962809 677427735 962783655 945239705 34529765 344932683 608795865 686832789 837391253 199872693 983196547 789484123 645917005 839127009 98664515 656070889 636680259 461664389 196373023 116030949 531042443 689836921 944189315 695388319 431879211 619676611 556767557 866463503 493941259 414115213 722536353 569210579 439153913 970786089 463055677 495107121 169275059 137269779 789964327 726841117 322009815 158492143 740967125 74988585 786329073 461490569 345149729 216842649 442227311 537247699 174135635 943416911 355266477 13268711 896702745 327437535 570051817 817601291 91828357 597877885 795449425 734848937 650917655 306274827 647257073 384795733 320408243 424630543 602375367 140023239 974825125 842337975 479885233 449187047 113720997 880319707 422758521 849904059 722612175 145708795 951269585 563959931 946256807 10955069 565108051 350937729 624779037 448316275 833100927 798045519 2424197 711848977 788219325 658871185 575413147 37121847 315713121 842407961 273787013 150696365 385355425 999452901 962722513 619656163 797866657 17918487 885481331 144942319 804292457 155204345 445817035 934176143 638989803 178023679 404345755 213167405 577335297 755623621 609428497 425796311 495496553 589442317 284988099 987783749 494727887 725454787 858619309 467584213 602478277 76671227 394692407 147725455 980571841 467519983 782624555 664087329 482920999 932988417 178316737 531312869 808647487 569619393 268887701 17706967 529747515 311524317 862352811 497596065 648708149 999198771 338237555 339804047 943186987 514736325 905584831 481667485 710885385 214313151 173485007 855121765 476571041 697912693 570623303 518788147 714739625 895151457 885298229 662820595 336604357 754854183 190216205 29617981 237049469 74814609 834621357 587507281 66897475 629874069 115503707 681796629 936896111 928819019 910890179 374352409 344719171 782975737 616732665 148258965 483177961 210589447 435917439 236432233 67864947 282008075 926143285 822254361 986848727 570086847 279132267 676839383 459940089 41861127 875724503 23792759 353134497 637043183 988189843 725014909 773500031 22615719 630550569 890392077 566183217 115688079 909262209 14540535 152415027 439755301 132188915 962842035 748841713 6721305 59737149 471829343 593527483 374298427 224983939 441951169 435142091 788026759 675885137 200847437 346923331 81920801 320178847 74003221 258281771 242628181 695301577 294140891 493041011 931545493 786700693 18352903 938782967 780094587 382882095 688882855 435729015 59111629 615933995 982724977 825942941 428639605 139681161 812390855 378200569 650162565 543282863 84200621 29665797 82913083 885942887 406963925 200421923 617276663 843347431 63117717 331985819 36760647 468606925 612352493 490333597 711623901 712154399 479587715 931323461 323572115 159216713 843679145 660822419 981401967 443878945 762453075 964061297 848656027 17007333 152557345 768389039 589321579 189318969 187141211 653212423 746419543 491624233 175410673 133247515 725038087 472194861 511884407 876549489 526800451 933921569 907861041 579533695 979299583 316813129 331573251 555624859 531446871 577847635 307832957 745522951 647586445 472929111 711781589 333039083 37444365 871324879 47396845 36036699 743977833 618997153 798592331 753679695 107320927 996291867 426810909 547321255 863407825 374132977 321362493 477003055 911219401 165366337 928327463 20184469 712210555 609410705 653043461 165460341 93834563 743517389 396460451 176661839 586709667 64788555 52621181 784546955 831014729 827044295 437646509 110033021 656253443 164551271 996538879 853598557 924454097 315663035 201965535 902703947 233696725 922733491 210729317 546381139 314802777 725808049 275420495 950743139 269670355 299955063 126886665 857011287 341770459 497414451 254620573 17719023 729094709 853692797 677454533 399754451 2895823 404502605 526271967 441512599 233895865 970229773 54431475 932244401 372626223 315897993 476519857 486626183 823538581 656761333 669706863 553974365 924785525 247258607 998459179 255386727 110655365 505836667 480212111 245361855 805595549 451186441 742778089 714623589 285370817 390273901 324427569 221656897 748227359 126856931 31066115 294283045 696955143 880666897 943011499 845674189 807364597 196456709 789735957 913158359 218134157 607984181 315028443 113226445 238104219 524655483 566220089 640813091 973959185 965293087 216990233 46948653 921847817 499957965 639828487 791862321 818308041 530241179 276985149 653002837 997021115 402363399 482437019 999988907 247837809 995741685 226251173 310822703 250381223 427976881 288117645 332432319 858599235 451238131 283056681 349803813 826631755 785611479 859482105 338240531 838426615 63204577 405807139 32911907 981512865 102490369 138696569 413020883 363204299 986980745 399144303 517345935 549678111 818846777 437730085 380207017 254205557 621326645 942230627 433106263 483934915 444892683 776298647 590773949 869158961 929878703 958039003 825573859 964368647 61705855 256425453 653539003 920226233 74684737 945199921 93025821 326546401 548053025 277432251 322151629 428304709 289082549 504630337 238826609 157928143 707179513 228245281 869942939 179351443 992852821 488802145 610065861 616749003 443494803 638037941 558303825 104613337 558391787 591909231 950976391 72990539 231937783 382042513 238076057 755714005 650030529 800640451 211025311 209521229 455616177 917177169 24375453 94987709 987026591 482528311 52967033 132789835 917232073 921387535 900562437 795224651 255297235 344799011 480199419 208499515 693722571 299298659 249905917 451749053 736308005 504985957 418483347 120081307 141845695 53718889 779553325 196580555 709737693 539230805 704505641 978099301 848802607 783396027 122251971 771150509 947585481 286479821 944206119 224552719 898096679 310817905 531882085 585249567 387705391 317563433 668711287 225597335 598433583 359238693 813290815 403474779 479165149 155890751 362798467 12228215 727413843 682956275 371381241 974195483 139446041 527523179 23392567 646355621 847000091 492044917 41126847 597793945 69992113 628293513 277923067 528098207 607479699 695722179 327393851 195346573 272669675 971581679 512173497 715559773 804238403 991799417 100081047 89985589 546247571 758337147 935909595 64670299 353224759 738585521 643707003 14441799 672904435 804865411 568613453 178666385 419738615 542600963 266973203 103879167 712896983 971041765 170013303 227314297 409043599 703143305 784510985 464075029 941426309 25755129 45634625 792918799 221606279 427747553 761440901 275901383 919376841 556256921 266330907 55743435 58995433 238867743 956820019 641083853 18069741 2822943 801216745 620841383 347162945 572301539 964172349 333627231 28821947 740303205 226478615 129515039 453354903 576731459 581581387 448525625 853329021 724795845 560349585 592877865 875377527 4325337 403071113 388418709 660403709 747875097 515635903 873385285 134838505 927271617 785589665 901764909 411346819 77819067 261113227 594007399 977422457 10523797 979259069 250091321 370916573 415788165 583390815 185684237 145847087 28315245 586017669 794000759 340128851 984325843 6979111 798065711 374098583 231201765 968274469 295416093 301395119 490588795 826536523 512340809 199092409 760674581 736901447 100987367 892543289 259795675 443873973 146455379 972010527 302897817 461714963 952834575 418303935 695266763 847439311 709458375 36362709 607992203 591829045 815371855 276199561 802323875 924221059 973019807 961491813 827185027 563338199 165787103 219758175 656336193 58841661 179821655 334278359 406601885 74800035 736245885 299301007 986698237 933063395 876622313 296363189 365615985 257578177 152917599 423168735 376199089 234423523 176655563 477261323 142621979 768830173 230398017 501729179 245443767 283088677 438628091 765870177 125711155 571239457 562982237 210421647 134723561 680296725 671763697 203207107 383739861 34399029 960479595 650504705 412057761 264099481 285382057 327062201 9616283 47868741 318273705 154108605 28257467 761084959 612077209 452358733 321050013 240504827 81415117 434818573 770082957 375490703 728354753 550882827 814195575 824715647 478298645 660889789 880967923 679398739 559826837 86407165 85844801 400363645 478154039 322707987 908322121 608244823 99097363 277487275 314438551 873865759 769644397 565338075 453728101 893081089 100713907 748767007 438112147 650706447 686800245 363892831 777547173 697673535 382228847 395196133 97275085 174337141 615454343 752522345 385955553 486361977 786685635 277516805 704110433 569535997 848932443 864695619 655778419 76658329 71140007 588555019 731833319 927844817 666286381 419465397 183176757 356878091 214598295 441158399 291394939 633067929 543347127 278832909 546141825 519114165 322616971 413113197 526537653 488620929 892070195 946237715 446673969 828693509 333622525 71623261 930502321 519282227 903164251 949738513 867486367 23559651 146161895 154301019 881733895 264249559 952163943 115477455 93744037 738635705 253763525 144945775 245814741 979687193 827613971 123335835 526014365 666546291 779879311 584885283 704609967 611080483 744445081 513405245 375948131 580743543 215607999 968735107 439933877 9935775 184487091 884644605 314935885 979379379 591227473 470372121 395542907 330994101 971641755 24080809 686665273 174357647 352521661 162783723 459103009 416935697 369714187 518479751 882268541 141054965 775708927 847345545 385134653 722203101 488332603 871805285 811149047 717809745 49477773 933256183 24754409 113840321 96842471 858487433 513816575 334750089 429444965 501995461 718129603 553217769 93328203 603122367 113505901 218136587 400734977 15259639 18687967 835634175 682221339 303407185 58279583 263966399 710137687 323122715 464293597 737578541 474860439 736582155 534952813 416972047 848055525 129265723 834678483 207797787 35541111 933137715 801333297 386361063 540972709 822194911 55670363 733807349 869275635 873635733 602537159 216868013 470668815 497903889 274746513 447687779 826393287 416783739 229317509 324068687 464936221 321783901 733097231 357452435 282601007 135629743 654950727 511640629 388259913 296596685 43969005 650967083 555366879 253715323 611466599 796778313 168952975 757270761 387641287 625101397 347287063 565387945 760356801 734053111 578594663 412838331 896632757 515818175 368774543 141007747 905913515 831955495 850801867 179183823 180444499 384401807 340795775 410801363 703693571 672843841 85680439 148353069 360726715 757998449 162992035 45146081 360368673 841256755 957253539 348159583 881076357 921472397 199103029 664341115 13327839 474396007 869396361 484193905 378886603 199549327 678574063 723346665 47945877 468858307 499876069 989247469 50923563 186853793 682121739 484579829 27409697 510950325 213828655 246544603 640733627 667964525 482068545 286018791 314570971 929937701 237368417 83723205 205058837 640886043 534039247 486783885 469895069 1067645 699634935 111734711 616181589 794421079 905355883 327573037 937366467 969201319 863703015 772931643 261463573 473253707 747022929 499423637 957464611 999203599 226168753 508057945 141558125 286481313 136021563 924175115 593871897 681704347 258966345 333664155 745796599 805059457 637309025 34873435 424401281 717542585 764027949 615000589 448497361 90819735 153787265 16077265 852982449 930502993 864387671 778853943 917402513 685055755 536266449 524628531 777850503 176541901 57596477 764854819 124347985 853915017 786611213 880178893 589427801 747990809 62826205 661473373 898250669 635126075 812899695 5376873 445700101 66343581 594604975 136674287 956782271 860225483 994024369 713554003 323122147 766458947 724735663 32193633 980423455 414165347 453550605 976640593 608322765 518680437 596212821 193390013 276641513 428348587 262872635 283106991 550550043 198174237 723435931 756014735 473130165 349285581 641301623 312144695 775180203 209266853 110190077 677616097 397990303 304421239 385175933 427110963 797404119 896782841 399490931 279482169 464047937 604010191 460186243 356043883 599960437 71197569 193023607 80017575 606734259 124176257 440896835 573434669 257980385 889016615 841988611 295243439 19534223 46932151 184248315 424464449 983337205 946841431 914599827 729983583 162093555 893678617 685245281 519717361 815049997 878033143 951995681 21997377 270278259 775950291 907429043 407551239 959007999 661836149 465100067 718601053 803225391 105438863 734634407 580045515 32803881 773854393 417192599 558990655 398878397 500279157 331049081 560809227 585943649 659764013 876251893 411682287 354293303 334486065 75037665 481970701 503696901 176476091 338253881 182156023 497795387 182147309 489316125 255006879 103271917 764229583 935171291 684513891 493022685 622573649 332402147 892476935 429925235 210550095 691980757 722060987 470287549 385288075 513697905 56430099 123624049 266634921 916881569 69359371 934026991 437860929 778097533 894008585 154763073 877683911 33988411 260424923 976102419 711400093 856852545 974455223 135191741 467956495 326190619 965458487 279427135 35875659 229419643 87673187 977621567 60686701 611242557 404639655 923957263 394754935 313528419 979220441 987132833 246733389 178072345 945549367 327305371 5737157 606358193 757084003 887066431 548001431 527018153 776655215 314287485 542457701 70404257 8428747 138941935 482972085 498288999 182126937 398152915 984802301 314572781 712366429 348248847 598616979 767062095 559224449 844804403 429188025 505047759 144482527 295971957 756534423 334516953 908197361 255070135 412728897 57449473 228293533 841363583 127026095 604777729 189884719 916647931 848897473 963487419 827620449 710742533 660433475 63028541 772359755 477901337 910103779 253207227 20198515 330116193 428663357 961004173 409122761 497626793 877713105 674641975 110731169 464233835 82750473 978693733 667688121 305479879 180094259 319501803 298953267 840955777 146687629 508931779 618957471 240561163 721798199 845558545 264718579 129431421 368032567 724396063 748401545 875806353 511450753 202990433 384368427 369093813 286600687 676909427 613781505 860627699 163551553 372863769 77855907 910512901 900440863 852787259 39951631 562197577 246849565 241924335 439836073 668455623 924452275 528406127 322134591 920562735 7172929 776312863 299596037 506835671 367547153 779464843 772605847 638078653 461484373 495747683 133282815 557324939 713722151 322605957 330801063 620570767 720652167 43787253 589463653 851819455 833620061 144761051 381638005 258016957 675400573 540279181 940897405 437182671 462715293 257668743 309259915 268463843 616732001 26227817 380207379 494938771 373055571 779962623 525713653 395259675 12299745 946271295 924926835 817220709 741717605 73605955 898897211 624964093 40500259 977225547 92390755 343103517 434969153 560609991 790845545 390212261 823240659 492561479 245863215 985421849 552514255 709167497 409180167 957237931 225497881 113752685 657007523 79526193 538623353 634031105 121208351 201123371 311480993 231657847 620791301 29990079 555576363 324812585 279854397 659069375 959398805 746679709 729423905 294452381 126383435 198317181 65952875 736915583 765046175 257665435 841839169 320121639 420749767 80205301 312176945 159274501 773600487 844623531 837431087 855311667 723056903 427462155 263599001 1914477 356272665 230243463 272153653 98779677 35985655 393511355 642958895 116231761 924310623 464055145 407406365 766686145 747530237 982857341 894296571 382975691 628293473 541538313 454080561 211222645 376518919 277568587 538858121 130849651 221131595 18553253 946980921 329951511 562386811 34051489 623611361 771723875 330703047 814019059 193187971 157656831 25993033 461595511 265219215 155715639 531423999 846709039 431177943 871063557 167671509 809513799 610933147 22883849 533873563 714689043 554774911 931829383 86547211 51053325 222267535 12617073 744428743 918663129 784805187 441417565 201039191 118829377 746073975 11852939 109638957 672058937 875830641 833932257 971046305 659384029 367083741 435411951 61354997 210957167 12760017 505069037 162946643 676383069 29703625 29252793 149854923 397889079 279413931 846513627 952161879 571433145 535043525 742803587 607534041 389074375 134902475 259139207 136248089 917120363 504675037 470098277 644998087 927854041 375314301 248922439 206744191 405861999 802665881 95830011 56876993 210396331 942684807 889367543 330693879 470966077 218833157 855158621 796904305 840890613 924412983 771546867 995746665 302775759 653523113 795322663 568473345 823896047 831834451 131362065 707867457 257974943 100226705 364730739 642760473 520774485 723702567 729501615 518423141 964941481 764681541 53500633 118445285 508836705 659876221 256277157 23972675 220164455 103037391 112895603 206019599 279169229 292862111 508976717 54833347 809369295 104447419 985403357 112578751 643718865 403084631 448667519 373049935 64831327 545548051 567185201 775336865 512753451 225933039 187916185 338529745 852866575 503913055 47345417 383397855 609002513 884702513 315308659 535245237 8539227 379827369 126948477 78317857 678405695 984812135 81217129 671569121 560874043 67715965 99249959 727100309 356018415 671365979 941074513 618174659 215028265 813472483 96287011 449845729 72622043 801936727 103584135 157351747 866917153 566841703 740160267 69308207 125674813 777460773 284538853 595845325 359087259 401788433 779538423 61801259 915259341 310097423 423905735 35523655 455712913 84955755 295630723 326448127 232606407 689553373 447584259 60569375 485796221 341931649 528125383 713195605 247436261 533965533 34576887 518545725 572379739 93883101 325680479 615423319 613154145 80911063 971072889 174582539 928216227 171563655 997317989 478963885 961154037 258934803 608443623 953609587 697638481 271897353 688223089 753987713 246516955 843434847 838480665 82040289 838898653 382920303 272134047 676574081 592747979 670061569 647620457 751329853 629499457 104334147 78471 684283603 738987265 590297543 514981809 58551535 538833143 15024779 46146373 757924899 171505463 67945719 238379083 311408871 860856315 495136215 656824177 689650075 61881767 65042013 82235921 548880265 729374149 813978923 582062375 861608931 60536331 408493381 839712861 627361475 702566737 608714005 507538689 503231015 703489691 44598133 462852361 583684347 485454871 796176031 5733911 774958097 70604821 836154681 549317745 285339935 183569937 896045393 519186949 241217993 332680111 306302811 847236459 698457751 539920825 991852855 290323171 277169147 49819941 801809189 669596501 679851855 806182923 121781975 264067405 997696465 370057905 907194977 126647301 642462637 666712703 840722241 896598621 918974197 251868939 873752921 775180249 662391455 745808657 999484923 292347307 411744655 107817329 561339607 160748457 137622925 158111289 31279887 319407441 872205387 505470873 14603301 57259727 770065505 383053041 334686985 102250477 310451795 446695871 757567757 69445923 417482631 740719795 539949809 903426195 884166991 519449757 919194585 730480387 922396645 341743995 683580499 735361763 200321387 33120621 462751571 828649287 937517289 373387713 569158455 215274739 814395729 367729129 12436163 727459659 631493243 602936959 298373159 223881053 526069801 775995465 239782903 854168805 486808837 826422065 484290095 113049407 902314401 611627851 374368567 164532337 499640179 456560079 759988441 79621165 39370205 877272613 240648011 226060489 995618091 731787477 4171309 431584325 622411661 732506771 983519617 777556297 451414555 717952825 305724597 945955361 811124183 725770959 387909535 370537415 879000747 311277691 438989181 647429851 186849383 662109073 824193523 64443553 921484741 620250767 485407245 300546571 437144423 800084503 929953603 585411759 67283157 363204595 617679473 320465355 45661567 109870103 776352477 402002249 486485953 912298911 624854321 33239737 417047515 772500429 170468487 391879245 88088311 370613517 446657881 440801257 795146789 450975219 771346061 348859411 493868383 244672057 11062385 671046395 513549959 652133315 51043769 738872181 498696803 928268187 728992901 516164101 775328169 33573109 540438869 80237517 435195375 918766637 891617821 23925153 489831607 676827079 178599213 513110261 577827945 675888491 210881603 684187883 572150617 219693807 536682375 730764617 477320383 965288781 633008259 191105917 912893373 681451945 325644079 864681375 220138073 584534605 301645029 850498927 652837001 980889519 645404527 930277715 672623907 335767399 932392949 812591453 215365351 69125947 609813009 677413953 288083843 833596947 201782971 562783 452852357 388486405 742681949 233483967 862836839 881379915 50580675 60791313 548811145 873217609 508096033 250668971 46885687 930353291 769051157 300215949 845186207 482589891 241261989 857444957 192633821 287260107 416028477 415166059 717738735 697307817 175193011 513126061 108070595 815134085 889001283 790837445 956688935 622622903 712538261 880527097 320712915 375015349 711327667 729899833 349198957 155998245 439019283 531104281 233182073 145790163 463926421 775914461 529757803 491115697 257980027 338222439 443728029 687325657 99627123 771808587 653809999 780064401 804749459 793248957 312206505 194741827 785764953 300566175 597587647 32157825 547436969 232677493 571490951 21648905 325533647 83528051 330753253 112342459 459599491 858155883 623395235 384835493 570473697 201070047 389334639 812018169 843119215 97429749 660215267 690099219 965874711 754116221 12980867 853995381 533531443 959118063 745033141 738155211 393547901 811054699 801367245 254174951 283399963 518028725 987992065 761920967 521799579 658653503 349925749 105460109 685170931 90539549 525669939 724407683 915665277 556144403 709989673 159708445 305049089 894202757 738120753 965507831 51845291 733912195 289647887 628184531 48201233 651331525 586680937 12337053 114474545 981449897 755087057 165368425 477157741 249526583 226586563 827314543 791833495 270781725 743298717 326687767 176370399 584151219 663019433 458919657 1883879 232106491 533202201 122478747 699439537 187118487 217776133 309758213 787287725 944164315 106121073 332657707 750002605 604318139 996055875 122980153 797961201 556593113 12911437 253497731 125884701 25393019 398071881 735988611 306586175 421560207 596171481 746200029 35863243 881158573 897233541 317755483 684612511 551772437 114723519 206202099 701062657 702029229 286259679 69042877 419390621 26685189 492641833 609460989 414926985 345973077 648234179 705068577 111388225 698834045 505127103 838563001 541394605 743515393 28555287 657738369 170803735 622926609 850240685 609704285 678913333 351778183 219134281 310607447 670255143 844041441 618426013 939171493 920924015 486164549 735885377 370088607 874726139 261383299 780549047 182580427 115976483 642109201 246868841 920702163 97904543 688971537 607412647 317730441 940263577 694444105 540981163 928347881 39093149 637791271 45516951 735952663 267871903 749925061 594226291 676479839 341795069 686837727 752912689 195972147 29348987 164428767 640043433 496548141 333758025 116975825 363777693 452546579 811914747 636284273 961280951 27541967 186123405 425886233 137805447 402457971 527133541 197897685 247027079 956283195 879956305 252527441 807944471 556056973 165629317 928179685 292489859 315060721 912827553 739099793 794091259 852204059 231894951 227599099 845271703 817049829 560090373 67161715 109656921 310959445 879665553 76106481 329617961 217853845 468641671 286262293 893276123 946442743 217389967 651458595 516207143 784359417 321608115 676434699 860677807 302546749 169146475 72863079 661728763 798990477 409873811 235006837 35889275 820031197 772376943 405227547 358773131 242042439 888053679 913263593 663028843 206648593 604534885 800749589 485949763 10097319 22384913 506728321 341184039 881135255 596948375 828428211 139556879 470651297 607930181 856849369 389071837 234578599 771874255 867345869 409161559 834472371 831551571 564683531 450964531 231348473 89092695 494684603 334905605 993063893 249454791 690779055 665126995 442566089 981969657 116114267 331899781 762256769 784861097 562985697 314632683 714074577 187552255 878320901 879563197 116577971 702042245 147080761 516250913 120455243 828438579 159164307 626941211 613078499 672621923 789514707 719304351 742691057 218432221 543916129 908916103 467526157 403409615 689523785 198400403 120204283 666046923 976831813 666099563 125807783 935995857 529973939 871743907 655434789 16695109 442724507 990855603 37818289 894567923 831516845 766627579 331167403 76494867 742502717 419659717 223271327 473024321 413882447 122144837 439116097 580201347 171005575 78876559 600043887 242378309 363195445 684817577 105989159 654628187 359300175 864414073 741930137 25670661 284142455 583073235 943403541 359261161 376509171 322681453 796295447 194641937 874900913 529421291 882721347 892678643 714660171 371833815 230280549 841479789 248168701 438902687 570265711 470722245 947001007 11860893 946252411 778864041 858110963 822096405 826842319 695228459 269843709 48560173 760864211 823750345 861490607 320356089 964703263 582832747 834449037 629601903 136996201 609450843 614368713 714096755 891544471 681905233 89826873 605675981 869478837 16576361 201580637 410828079 33020149 860207399 994762587 545941555 133627313 247478139 740775939 341302871 675878511 539904183 33396173 948326409 900874969 476860059 979526617 324002709 28311747 365673805 331081195 951477815 280277797 375572053 392120691 474204945 853921575 875567023 964518539 397435947 167104273 495369907 105989359 348726135 307630935 523996457 862308105 382774735 385493907 517654589 861372135 161226737 787766667 293882755 580058433 699289993 407799849 420790269 706844277 911391271 663727233 323004171 137089417 236589639 991241933 107734399 286623025 832695367 104413039 10183817 751413439 197782385 610866165 91013323 676574005 517043957 149482001 791728455 561851963 385626865 582869663 404823147 677286685 209245025 105777313 537895695 321590741 325097265 922093125 655652715 195077123 575376177 337449433 674212393 362025963 981945627 960645341 32282453 613612415 43893393 723502323 335735651 826267477 705524251 110999269 987373105 697524141 670176811 768356777 905762309 422062445 376957465 458861399 676071049 617043237 203908903 555158579 486663127 559712781 154354047 40358825 258495849 506368771 191250225 891062605 351498023 47309199 724734263 632914393 501700699 618133217 60031603 505495601 763532987 348673231 576455853 614517343 765645159 953445079 737279381 226738329 552203233 848702755 328879047 717747255 930162455 986853249 464644037 901075647 703286879 563553383 453536499 400540889 568969845 896985079 145378983 606291803 894268033 509267703 831488281 769050175 894223 576639957 784773227 817967529 254629137 262688169 772463525 261199589 992553705 941730101 219641271 340678499 890598235 686369755 779913341 291751363 692691089 230880431 927546295 813532867 117029669 145769317 794792463 615244883 492834065 425751389 844661781 534632067 168801979 145589409 403502403 954068625 364351985 68693211 238131961 428955613 909283047 865421927 336648067 691445493 4720443 746726211 682691343 577654409 11772659 906832405 834418873 319420537 395515771 198768431 182265729 22674117 836236969 410382723 907885393 515709079 94674875 345231285 331433977 11633991 34577491 824792843 524264497 789891403 636584321 987796597 439093919 396532043 283956411 206566793 601726151 592125711 747260637 183260037 746320415 278012041 30790443 904493139 163256571 202328793 833776723 187759489 628507553 625064255 777139053 520819525 327280953 285196327 733594353 31625601 785128147 435762211 489951177 972848827 741870183 302482673 342625857 962835745 931513819 773368435 80986893 180642187 728044019 61676467 888651851 405343353 975787875 283462629 842151553 62983955 828486085 843776357 295074203 378928165 603294361 209750709 737982445 75958057 715646535 134118785 506185017 335899967 347171619 973713307 391823775 554711595 730419299 173903873 968533679 381853023 927946541 540609493 865374813 991915249 439536005 457561953 988055049 126252193 491217759 44934425 933466997 899997397 605493141 794985113 884817359 967903645 387724005 692102053 835025069 558480305 670606077 62528293 310803213 262399343 611484521 899970095 571194963 890693087 271986855 932191997 791698763 431772591 284772629 241022451 765619501 951059001 402957309 133157531 110626965 293509753 879593617 945557673 382902919 834840089 879988459 215399673 735855987 203088487 944367369 602901135 349484077 381308249 27151319 274918803 2220785 263623313 640409639 700134491 80385637 525289557 504941487 400672865 520125079 659657363 924427795 260558665 128128507 748153315 172950493 93292511 946639471 818446981 184193915 327175955 89833529 133193569 528169031 85160197 125608709 16824579 442545539 99927539 673012457 536025253 395036507 962917709 273903971 923978535 246102491 781383331 200138837 756120077 259629567 618479281 903707919 466801289 651747497 274721371 690496839 476526705 233515425 659718061 584685593 304525123 976255129 161019097 852738313 643654441 162292265 979509049 653794053 461626867 76180693 47942739 381830501 927635475 951708163 280784081 4584675 866464173 813654277 707468677 247537829 403337095 464587285 71718507 35750199 717300753 417415509 896778153 155463057 241394783 469745613 299606661 321036815 962790709 723459183 847030903 851139447 884087799 74102035 490371609 800637429 541419443 260348283 109838381 176177183 965745701 599760465 46759583 939581937 429511847 784326695 846796161 261645265 224973125 512350835 320529425 688855439 152581035 523285657 407664559 112904027 540427825 340965599 399473897 554591445 564369111 643450747 683584625 223942661 516957765 158941059 717227043 683373651 780324039 948684281 797382657 71046039 288301911 218132167 431130935 237443343 408864917 619380157 577299225 953013853 860195269 516812693 823197215 190428307 720682457 293770481 92659953 325467939 841375847 433807705 54514007 952957675 781935277 701423165 55787845 769520431 885797525 377696249 793243095 615691935 931266477 619942095 412625487 398901327 631169069 600528867 484624155 660747963 346328563 261333067 66184905 548106441 933115271 127373823 353215257 798618823 80277785 813858017 259614189 418247529 804742525 793243065 461695055 810806989 964463413 134023479 687052149 673795961 211254633 992447735 405385655 314355033 435423975 764105849 565949849 168232643 513591077 839174695 76864199 213126005 222560069 179130449 325064981 468559249 325656333 567266863 930966397 786930857 859430379 201598183 338514723 166538413 191022583 566036607 228501075 845055743 739907313 306233063 986178941 863525729 687369535 579184891 327466047 266724611 872283891 8765307 51199581 915640695 717906113 369913871 257837759 41738685 665365769 390099019 88230525 265980217 661302483 958077095 202508237 558956729 520587983 583228291 477597461 275890545 232231507 472483371 237582815 380261887 735723103 34315213 199513057 380670313 666457753 472563333 293076467 300131355 406153297 249390675 581876507 487395049 433273725 754864671 432574339 242116629 212224959 422888125 727965053 842945087 299567453 318014435 51567237 174064503 128822343 524440375 184646721 708143155 560231185 634173 815681911 528883789 55907325 566212713 916809503 977923597 766551539 416757269 327679827 47929121 178978177 431032193 194712661 607096731 517244381 781747925 513501071 970635003 947965929 190568997 742954649 445035299 508207401 635149927 57002537 953538405 186696911 469799041 90924839 381023091 549020851 814767159 645596059 913271915 229590609 841230653 655428025 293013457 667304913 663415853 301858011 548103829 96390403 59421573 319730311 692499979 18538591 515013809 217753447 500636399 978172421 974663939 754054223 12614247 36461241 246514353 315682615 624552193 902950123 142995425 554195527 976547761 350629301 183709591 417471175 405736151 58089941 440307911 694924843 731666741 454544049 651754313 874424591 270023417 419709785 45049057 70222389 788938425 419302789 213175861 907106185 784135281 106023571 626970583 963458847 255092873 321640073 42114883 520897073 376426187 467554587 813308375 562471459 969348463 829465755 856614365 831144831 511887377 193488141 249740167 989972217 976660149 8232211 504525293 861903981 503938763 831276289 792149011 625236445 587104293 126875083 571857375 344438391 818590211 896872979 763586339 847971209 469123593 258187037 952487577 812697491 974474565 699452379 648543971 16463159 884302635 988076517 622061961 156172865 500569241 595821687 556056573 727439521 245586645 726959481 268805785 706188661 467299467 457605755 252772251 87514113 59113679 796494261 900560431 25070253 667762723 515644165 936606565 740802575 725570407 365102837 874316087 708340705 657481451 242048431 130352519 263312391 397159781 548669967 44018973 454093197 397335279 252365459 993278635 729831331 913498131 665510497 414093769 371575465 503222457 775941193 616869369 117259549 312366905 504265665 815828901 54970543 738111313 68920299 729620253 742986031 916661029 36486285 67605917 152699801 299749953 710502165 667490369 689690387 118843549 3184541 230048023 518391779 33927573 563405281 676960783 788197505 330480367 878527563 61932033 173399175 37064663 274657511 456741295 350774709 287991265 287128689 797956803 658949883 631831565 882531139 857105613 275938665 152952257 467600489 498281031 556273981 790058951 899271311 742664081 755087575 758455125 543388941 809512951 107929541 20665609 662620387 370482345 769097657 150834665 570128823 992598975 904027023 667325025 141667033 704558395 671476807 124182855 618321473 383707655 669891089 831190233 436589967 442807539 543645503 701140923 796072199 381201337 268602699 53894137 36970137 812340729 684327895 348654091 688834271 589084223 866707377 457274827 372589591 100568825 857133003 495328131 245651751 545120131 501824065 607597787 134819487 338543901 921994581 124009453 346250677 274680817 177647731 921579571 561740107 475858959 3881263 19165587 948392167 598074479 695841345 931073883 15001527 465642487 692778129 174565695 158827413 362238059 195429415 456933469 734281725 413074817 180430135 396979771 951649559 106326991 788170525 872103365 9097909 132422101 872686941 890681425 1250123 687924481 937821343 7378587 962001147 570639009 630324153 117020617 999260297 860533999 951919269 49124459 972027495 166263307 477017477 342949745 429855147 594887935 694037929 793836349 135518485 447659711 295419519 145305233 499049995 708369695 304245925 945712539 527723935 827869669 134696669 993743091 92063621 435063225 980608789 794302097 293523741 775720233 155706717 459303135 379949679 103062963 927913713 518911401 132736811 227594421 659967285 230514467 89038245 744365179 31151283 507694827 626218977 684089139 279624225 310874373 691101315 308667895 281255255 676903649 869152731 5706187 328539227 363778643 534345951 643812501 879761493 624435351 956795953 248135721 331804315 407367507 397319959 159453503 373474217 330784661 953011327 525402231 772079135 569830099 918225411 845634395 946407369 33668583 699174623 318522205 818423453 820195865 627871483 236793047 705284019 794143765 709593577 988985351 207151697 879037681 36636637 525569561 621755105 358512939 155197113 226245151 312403957 630466471 411168001 88565775 964958537 89373873 287418599 365387213 177945283 173028097 900646721 339755555 882792811 855067315 436587663 666912191 446697075 50802763 23685111 145694267 95604795 652115385 258216009 523153179 273710915 822518607 578837245 588333765 452632887 712564941 416956721 383427467 506239977 449376855 434581679 983342249 978029655 748383611 965531873 234138427 55361441 683851821 274881507 740552529 816029717 594118603 127814513 363549909 657564709 613563419 12066293 668575911 572544877 511876169 679207805 50040707 104752559 45591019 789498049 682695445 331084759 299864061 384348189 789783791 957837559 618442215 350454429 541825927 164759373 776542323 588521197 535024961 923034939 661444825 248050791 382622053 257806411 763198387 357777415 872918309 711989297 870770187 952806775 117064345 536376777 26763337 530134019 716747203 749843477 465130309 21142437 286171533 241708353 365586749 24998397 866927815 878986657 735475925 131012431 870149421 516603567 161757723 476374925 753115739 308998157 893984643 933180749 707175647 824841867 286752491 774450895 59137321 86166295 798016151 346249977 442358929 101836751 870241335 539833435 680646233 272846581 460348895 980612653 860731051 609811447 121334027 731730765 319562647 691822691 607713185 117593923 631437335 391902971 298667759 863393087 408329485 897490075 452345003 561951511 133565505 313531733 223288303 88669769 778271589 985540951 849971779 772026623 911423249 479654399 666248339 839444231 258974151 712288977 495573047 164483287 392315119 174481525 358050279 93683345 540387807 820622785 119093965 426070779 417641675 728975025 920493427 856572035 859378133 371213669 972716241 221990465 581347849 856822057 616021315 597594357 197378133 709969779 645405069 712073223 457113237 509599963 992732639 861155459 570711689 591613479 750282957 145618981 921319131 271720767 980614227 915698759 699569691 603219003 848386775 818687731 63250371 673171025 67930151 430140377 190639411 513028327 459870327 348019023 661495991 231176841 655058277 778352981 835156093 174650345 61029111 179605649 376343969 782578913 623535769 326098771 930193699 611073911 251371041 422553235 614807789 931686613 222742731 249764591 853174991 103882829 223907391 600889775 91550595 469393501 461192071 74181571 3162537 811985829 42224155 769795265 202363595 711840243 87852245 250811367 12661853 670285113 545620733 981441823 59269813 594907793 441550657 534738935 817715731 7356225 551383731 795537061 561219493 287468979 818830803 923884811 260712057 713201787 614085509 679055791 391088263 290110803 267946007 440594623 111395765 254373405 3175485 925750035 557502151 409930215 701960213 779155243 615560817 12222435 966834211 469604911 625961037 947779181 452533847 415368427 979682779 934824455 692073733 673297625 186369411 813923421 480065001 354487065 822289305 194172739 701216555 971945327 913215829 696720819 385864789 398769485 45869015 206373071 335208797 506889417 493487913 898742503 466138019 947223971 491502909 469326441 632746217 750306369 809577709 163774707 396652125 324866739 94591735 726613063 553916821 752473009 488345353 637032273 206968719 206074265 49355951 818673445 611192237 935737203 534446183 119877629 701079745 413074925 789085327 140601917 303926269 722883169 716772465 618896239 231243775 898883531 223537471 984533321 989813707 686833621 378800403 975820963 220561873 324378573 270307819 13776001 47735011 261106089 91647157 161714961 24950593 40600331 849548349 374391971 469246863 774518841 798302273 548926131 350533083 181556001 188712543 875497189 221186715 387045979 860038433 197351939 72290217 403224615 79146745 261614851 194302285 470396781 853185343 652296701 32743731 153029817 979407159 428345143 543779185 221101381 143432455 752977945 756004227 809303025 516744385 363675705 706544465 19551809 715293535 101719635 428772389 97774951 372012995 260918087 116703159 299917625 233221045 850431777 650698017 495519541 891227367 459952151 489669613 159611269 355861491 928095107 563531523 552694775 818550103 42166501 256159163 280415491 995867263 710525677 885924051 872093895 478520507 307821675 969638255 45272587 244443207 606487901 962867229 762979135 660366143 791094243 104128977 994706807 176514737 203281227 23653097 1574775 308735373 277399303 219072555 194104993 617208747 158969777 159610819 911212553 292306127 279066639 599623749 123482469 824861087 73427467 784347059 289320977 325370029 905874359 825072749 60748825 856156019 698324561 267265091 26713385 474216787 336654651 193360747 441445785 711091349 763417343 378148735 429085033 127784297 205752913 761671815 442595137 779353323 411377931 145519089 37270893 22643741 453104947 902715791 238014183 410946275 342556659 132664479 9864783 5614869 779994783 817699017 615404265 190602087 814133169 629497625 860851623 166257275 69112779 712976643 993391647 724287965 309924029 509843299 282877839 769473789 855862389 695769475 166611937 28944435 168484369 428279821 294141091 83526081 333052115 119152661 281123853 658597071 365710631 514965019 703746557 218262131 475477409 257504515 80106235 830579871 798596091 336311579 498737973 496109371 753591319 255094041 19765637 909535501 397126405 57546007 115048551 75280069 89582579 174417821 489804037 960570879 89505087 377421975 344435757 709957179 309740907 656698459 147737941 306580963 270932517 764606117 312087967 535613255 423377725 888063901 173978831 312725921 186556335 656735949 708120665 474669585 121649311 67681837 922682447 911495331 952894039 482518297 100527219 113609541 947756365 169897301 889219371 342092499 875379481 689936401 323007625 321928205 358559615 879436511 127611713 586208411 389907821 775077567 186118067 236312081 271916019 11131669 213168871 358644967 571877709 758871727 522353037 219617661 475543519 37694657 49174779 894199071 102889781 410526185 817853487 631401211 101854465 298554667 367249619 567547693 877483549 102476535 602795575 355206069 859114895 289467425 781821517 295322491 501935487 908062949 640145593 140518227 389950531 425340395 330373057 275096821 458672983 595317565 142425939 616880129 510284891 677219665 618631689 109188353 789961245 742809095 743403039 735038057 830159759 153884577 872383103 369145229 104894667 953816013 527531959 873088947 298290199 104496803 872596733 872639233 189365469 493653915 128842547 458018187 655761071 733675167 952562141 856401481 900411467 277339387 108360237 888703003 878736017 641431139 526369275 852631755 508011407 949930485 473241281 772215819 370878327 974361397 817949869 323511413 863230885 987427603 557527945 169123975 196587931 313891041 886098895 183414191 369005573 636426591 240407967 437504313 213581237 789878707 409485245 394761571 850703529 931057255 171113113 413896267 660841729 948833393 618756941 21414139 859012619 829920815 527999127 798608485 747693371 733386855 477886429 464265825 619435815 694907717 451610159 777765043 703621273 773897055 854687045 864030209 437563767 838285491 894939773 295139039 470602709 985724835 901912541 133438147 182347505 262647297 84031257 26546449 452383789 718248447 167175811 543583761 298927635 182067513 562676255 914104309 93637463 989116345 632897679 735816149 792135637 268298471 913349671 566721717 76114321 952161437 80654299 377024123 815105459 715048981 966697037 539008761 824268689 848054005 71862977 53789419 409903013 522095177 273799721 745882863 743833235 256504201 463719451 272204431 236456485 628322707 22661079 67234107 806258769 825550759 234694469 925621073 158156847 383703671 853451761 479144205 748849411 658073879 125424661 726576027 668379963 145963011 742794127 872699915 288376679 45874211 308609769 901543513 166117699 671270337 754524749 584471649 495372979 29518229 666053783 925284081 15178945 343445433 184827973 260627129 310797475 878332085 345616509 231576913 100263089 321429623 5858831 674174011 336324465 502863185 135274609 151672289 466328203 292785411 45019333 87711893 290899927 317896111 459613393 13888397 255000139 726731495 916174339 188591083 799286029 977169565 91506293 273087931 93641833 786918447 280862179 879096557 886627023 818455393 569661111 421464153 273995231 282296163 990070013 271254209 452415833 590776777 220394353 673776079 580779559 838790543 718655085 486439699 100907361 859573275 176578301 342732039 950502717 806058555 818600397 247523341 895169571 735666981 82126901 963587947 150131097 136616819 679949621 20737623 409342295 39414317 414221939 329806055 416103991 657520575 246931263 608171805 281769275 350078207 690231185 178967523 904337039 457970219 484936455 496188937 493830277 160259045 226596331 855776585 917927067 301952063 281590823 112841539 119758961 941257641 790182999 22199939 208532181 26749957 23264953 947642743 967205561 778162071 220674097 258674555 562160697 623426569 721015635 577427919 230756759 383894901 273769813 585674909 840938559 843155797 819735829 61145077 232609221 678569871 99413019 917391569 672275171 180736879 868242325 376407569 764248187 943113903 150786907 978844545 986236061 822749287 113200367 626994895 154892663 243335709 565276787 144936599 294294119 193182401 357109179 573630809 306947823 91220391 232246075 376044157 851439547 316811661 185073429 175935319 559116703 963965333 495427597 658674719 759089813 872038479 475456149 491784437 513745089 128130225 200085955 493326563 348724589 508953365 931249239 819031773 617636365 866997317 861033399 770914999 127507261 149272681 990811893 509291575 561845697 957066265 61795269 125533701 755710849 777816915 527862663 68489903 816009363 807566971 414440003 951272371 105239089 860747615 175718311 792425583 892401087 552469553 917109773 76230447 507733449 275032211 686015859 262300705 6322431 241825929 617001599 209145439 409726273 697221503 507260801 142156525 439345293 965243723 995143023 782999473 290271763 342384937 123330795 703477887 600387875 836181183 956074811 295959567 17762361 495356187 8552781 460775169 876710393 356738481 639601849 401875679 105823279 83097953 980842177 689320219 31114443 822088045 52203847 966759951 165497069 718638723 61343199 992474105 727950803 285643193 784706749 350032903 646609389 782250893 991536579 935042373 902393803 832711393 454955381 185437617 845304107 610048007 73586181 327424297 848346605 837725103 149000777 340748919 553473311 661181947 191429825 461064269 737124339 623720815 62363795 777931843 188841155 370716149 44500111 829108189 861031957 639701479 594150957 831433601 340348307 512391935 351813771 500754817 212442383 529363811 832785777 764843289 117665159 13347489 379240527 912513895 17316891 192299181 305304891 943734389 246207257 415020773 464760819 253898805 57593587 683055887 656072929 847675263 35808069 974397527 86793747 556678933 18784721 777686099 580531265 184794785 531424131 903572479 129667015 61645749 356433263 59727043 413837745 303000263 34279885 189776233 58427563 521364539 215130373 192022311 630722575 950001497 309627039 598389917 965939417 64080211 469503055 796066509 610877617 517760577 465019121 242085927 873080553 542895141 785213319 191850365 678283125 931438569 949605437 386668815 390127095 710778463 734650727 630235521 955570867 104212797 357620863 708935903 956919195 817687077 818395945 844820385 436830021 364182435 297132079 65221539 856024561 934743079 157777029 919851819 768740485 986856713 654390855 393884645 304746897 553896843 824075193 914292197 178353229 274707415 37810755 735975597 985352087 479697405 888501627 342263325 656039159 548363513 830260763 246851973 486290845 19515815 751985927 468496025 575152989 446627797 214238281 282044537 301763003 529244979 558188567 669637287 583673563 527217241 49618889 507934225 857614989 862554569 635279075 932748301 514313543 491866349 37298707 175655769 837352235 108211477 35001897 176011545 523161343 32833147 97515809 444285913 104725297 971975487 620854559 766366353 148233945 766039661 647450991 367538077 930651831 809065205 855426433 561478081 825139763 225910957 499560949 854799149 21189209 744507741 578517897 635627123 360899301 441371559 408495661 729324435 557239601 520716321 267750897 269981937 582197575 314209859 633989137 530063963 771941079 72967023 896970739 947202565 668153911 791712235 938327069 365293967 782544743 937649133 412408647 188685049 325756173 51764875 996266827 439724471 277510009 316216517 931278377 378433431 329744803 215982217 227722513 808866781 406491177 275403173 910310741 114859561 686098515 927439059 208834413 738310541 384807185 395023539 766713343 481180537 574792695 626477777 401838807 525616847 112402505 347284123 880259559 84588753 747960299 174478957 730795595 565093423 672067693 728501383 882347845 990291451 788636165 29968401 270259521 104867509 485044885 522949151 985653457 716382017 281903265 820106409 730071475 750669803 65339997 543831439 490760649 582571371 679661211 448316827 170823709 216422877 943884253 432948609 808730595 48708551 29214539 744133333 562998133 213015829 959587761 598429469 210771803 697095197 196270729 491396287 583042363 943107227 585883379 982395919 452048617 803397813 891476147 520303173 509779811 996047353 657808187 847251073 521733067 842175069 321410721 135737549 984082027 483437883 483120803 580911387 942959031 970352731 846173613 317869637 595853643 569509099 707639753 540616971 146805993 862127741 351776177 579714325 750608767 135827983 890836931 501825015 860179483 206756105 167115015 801035303 360585981 320015415 203511339 105383945 911396999 192379083 438763657 374635749 230896709 125014887 728658205 619446767 965556199 14082319 565470609 421252411 766994507 694522413 500549427 29381839 822803061 186722203 930427385 717968273 506958477 759458195 684461957 833279059 419437289 14025403 313273885 518476497 147405571 596091169 569552303 279149737 739844223 979783481 729035475 636500069 298939433 900393697 888243657 30315639 975360753 593054303 313769335 474506807 62066421 638177631 114422895 260545769 934981753 200483831 173357029 650084019 510094055 294201253 542137017 975291303 96116177 507304523 353053813 435158209 357260787 195071803 243302979 579890911 543783985 636798501 717165567 946621899 400644759 43822635 498250535 139158325 55682903 985639119 349778913 982978491 536519627 569947905 160363005 352237017 172338041 173627923 650456051 14413563 726697225 832914117 602862561 525690993 119898963 722868795 477622927 540590711 809803341 847597315 51554925 108860715 434185757 978440721 696980623 979792279 387533839 262822851 169189305 904859819 355930005 928824541 565459789 184973381 199356747 975351695 239292511 669210145 737709043 466496621 423414437 199929579 134367095 609673075 736268667 694520627 461104111 172960521 854440173 331832947 786940563 570865401 864606887 345730061 135594181 973346681 709847297 79796297 119208723 163706409 256790523 1488727 868958767 641885963 574502461 169914965 673947637 404304781 606258707 201392703 310266471 541312901 907150455 888758017 897188529 399684657 477651977 87994987 925868069 878765365 316212749 326033207 82008385 681824669 645914997 620256773 902814375 738070241 165361109 555180129 887811617 559602653 465923185 877909947 901677987 122429399 547396397 939262059 913071177 938061689 372571033 259106483 664222037 691636701 132267501 874983357 918227251 387388797 823194631 700330137 156162167 44001087 427667567 149966657 482223323 684725617 834718547 127462293 299904579 618745543 140573581 447460961 425155513 723906913 893466521 510111315 735796337 842224063 289632929 411961607 419538631 607955413 814267251 651544061 749699903 766683123 797515653 294757279 753888641 715225559 374996473 788080701 814465891 402443177 486932627 372263185 916384223 885411571 236909253 181155131 718846489 378191277 279079079 977524423 219616861 760684337 791009269 158317475 942656795 937804105 823715095 906594987 898857969 951829789 690855453 1163423 115622563 846551623 981477825 696388393 897939993 944685503 687064669 651973591 171593065 416058095 511855355 715574567 635712719 157127331 258801227 180905847 317318827 375215119 793768355 726025235 100263049 818067409 226894849 311236137 319369759 779771631 189849871 535807957 653701189 693988821 814102555 53831959 107187713 209678169 326698781 199922903 605491069 72381367 661630387 71053801 533611787 112160151 339912741 434435077 56043559 833208067 315632225 572109515 267120245 450106481 560847617 905940677 857131201 646328769 981475393 334718055 772493821 263701813 6869771 890301701 924144709 740933243 849144301 802188773 909702105 88517545 799573021 518145325 216180265 182130749 841798781 644326641 748330183 587943451 454861457 461151273 4055147 387647631 616104331 184749493 910975997 37663569 637211457 85591391 992287107 794441085 367050547 832981209 141464373 246891161 524209545 922894013 561421933 199959951 170709519 585793417 56707757 652058553 24216895 385519275 828412065 800565201 690373943 477075311 252277021 12444925 408109761 531490835 870996505 293410763 232235079 393530037 553580989 391336241 333373669 251199583 241575249 294679433 503948121 197854723 544792137 192088475 521477897 570132859 431428417 46173587 26093829 184362117 682923771 788619783 343968005 867511245 2482531 559488757 502569573 988920805 50517645 358259903 454335281 241968707 949296051 244734263 881772823 255682635 587393079 564585613 267435115 347915333 227148969 692249699 939505455 341791843 362272695 362883771 81148939 178977727 794126143 382445317 969268045 8294743 302619971 503568147 323963371 322226455 36801775 762369573 802325639 150910159 257165719 304089055 922880613 675092283 546237365 846733135 9210999 453840121 511747053 876386281 63213139 754565523 855703563 929073803 535172921 465259643 843281919 127901819 528185105 687334409 991471847 352570981 105192295 742681727 912815623 572221791 422774389 619354375 248903623 804451813 588881945 237224113 300257469 895925983 843095259 546138489 642029731 853652119 949030123 549560123 890829149 582823875 520813855 753264837 693495799 781358211 456396789 101288647 775674273 555093337 420874391 260731609 714116795 566036019 775208915 995210879 262171587 570917735 908063009 560071709 650570345 731447475 449558943 178869771 491502205 580384315 995156757 328842621 649770747 253474189 934409457 758380437 223047945 362798237 824243021 504608351 445030125 147419337 407410661 451708875 286885151 515858389 595007267 143243441 188004151 717712625 199371539 543046611 822521595 766136239 91925103 767262939 281294677 640334609 768054679 294299993 809928023 306076791 348630929 721862599 836408127 793607857 383098635 455514247 836631405 28784883 116018525 228959457 785458031 270118877 52272007 931255813 671610103 912686703 109524783 94095887 915286239 272946973 431198117 949723391 729039405 826768567 110979297 595941823 93399819 363691387 18332801 825987871 192347085 545779217 839682253 454780633 892557291 984155267 784386997 67509901 752085261 861907785 941002703 17723591 442136571 658925631 440685913 825268213 802155433 209296809 603119421 28594035 908236339 859185463 772816393 980731009 712606171 594862331 2929397 61748553 523497485 555057781 979832031 691247067 65716827 749748105 290227535 194758961 971749251 986350469 944924019 248333867 174637159 824031773 510365475 718162581 5939473 171645551 726402529 563546653 278466485 679364609 960597967 843705695 519656879 419254207 717666497 102916315 428067457 376660735 912668971 261740025 259228889 131910269 633339183 196550157 770160005 84348769 967000465 82294095 622999173 244926005 777159875 253398495 658306555 673802225 309335515 654290121 580774705 813853935 5231513 647411451 526054301 837246455 947880291 970384977 117870039 494531383 335520331 358335625 556193955 872128833 880520707 365264465 490148335 989234709 276782577 688932919 9098187 460244503 429290007 917157811 486266227 645024019 473750565 333790761 909885515 755734337 759178357 48281059 898281693 934217277 594135301 663238927 958074335 657468941 259188859 508917961 167523113 904896541 646337831 783203343 594456255 707352129 10064383 312262351 74253775 684747705 349689765 940700373 704312745 977563691 47953759 56015071 799006409 456986785 376451611 619781515 190117333 497966737 113270641 366565475 65877651 261034201 446240419 530093785 180819707 514046143 121921427 880662343 483350565 26765041 454515669 813552107 528719191 45262977 543811997 844192243 269463803 542333933 928920267 951461483 143579555 334028317 243908073 586314577 790020875 831030619 710331683 457814659 59550489 152261727 541194065 217580747 411207379 818272069 152420083 183653083 827074929 788946577 944938287 934154315 681880909 639968819 153897173 232625823 441134825 215680637 751750493 273747005 469881839 546375471 35491301 882718583 506117687 102302317 976128053 14798729 823257783 804413893 953109949 419658641 607647895 280595755 275206803 608374681 150623775 94662655 155348085 743385491 773659587 45506561 160543693 635124823 695521053 244954725 849456809 587702953 124597235 296798905 968740287 974046767 317212463 664222209 67045745 797524603 492592101 546060189 821356741 581212167 776597583 383920223 949309033 283557173 421924559 233950071 872081335 844482893 271914227 905511815 181347755 276928385 901592175 702287249 185197037 234983913 151960601 793060867 874874319 116401287 89537787 825679285 540297541 501180997 526516539 33094879 706662897 68402677 119922479 259199019 331324951 977825101 533342799 822386597 249466281 842423281 155706947 411717569 841056573 442743913 325410771 444303453 734618387 835599653 234067957 979304383 31648785 419991425 21698241 640963985 123327175 484075711 608646267 640060909 802753133 739613443 78967951 100560973 975387105 146242149 168404113 319669913 261316267 282315225 929849659 146515995 83581435 532164161 213734769 489208969 585101221 974824297 746907967 355391745 318201645 760507649 888542421 370927883 798096055 697887137 25797521 371334031 74546195 330183627 293399799 397821413 306545591 617671401 146137519 431498441 179315141 905840715 868950159 70282595 101230851 895436843 207853969 826282559 371602911 822897321 336221403 715336271 820645233 68637393 715050419 952536565 478978681 98889619 713378193 221210101 481275999 780270279 211110669 887986809 916500015 325369903 928788717 208791579 187131811 102320243 483707161 141145301 94679579 246981671 790404007 703690509 199596443 538054851 983190995 826401425 666749397 57270697 480275197 623374229 666811679 941219103 818038707 704673719 649584505 26826075 219727527 80180989 245701001 427496819 312494515 146160339 532399519 98658921 190550749 166266639 630526643 912527397 675440975 948209903 662764387 110363771 505693275 629230101 126813431 825175587 87098493 997335953 733955167 889880509 963768411 75584729 455012655 601104085 779349437 912717513 761364139 668732121 709585047 394893477 695906487 989839909 305171459 978307355 611219169 282489081 269901639 804976963 760958309 927114877 856511693 859205013 135824415 846356933 610809641 830722299 939871125 404573385 565062675 722727361 35811835 856231273 409135987 576850587 199007779 299861103 514305617 704812455 56160911 219347599 296273889 178142571 926653029 444306781 967015551 223273939 185472119 493244511 349409965 866695475 257038393 697165821 218681367 155280717 931669195 393963653 268333201 835296833 943607799 910760757 617537301 22966175 940112169 352999211 225894597 136418139 14635641 967678065 106193903 5709525 712210341 142280443 261456647 558805455 595104023 776130973 172365733 42610551 52380895 682688285 957480333 685905763 721785263 12657953 412166059 640266897 141446125 997262653 657565971 376705125 728243353 22274535 950728191 642813355 765600361 195829123 114249939 943394715 841156785 440726363 893848345 810415825 633952879 262758045 718895749 180313169 820397389 654612835 492588533 319110795 950676121 530684849 907633255 625797203 516939849 906275949 901960713 860714981 431538687 424421481 829592879 16456679 346729983 779284321 895056213 594275943 188698685 971386611 167676443 88673241 577449291 978086313 596623437 31828507 6512491 105988597 778657505 703676275 936136067 792636207 260933103 275621261 412033573 716180123 900022203 443732095 342097029 138704479 698428851 706766277 112045443 686265485 776588647 366940487 585493673 405895201 896647059 293317199 150327073 102861817 797753117 748136597 395411655 662068191 749665803 947341109 858325785 260159877 883034773 221019571 839189053 95839107 453266451 870567677 198195203 450629211 609569291 508207723 731258595 633594231 25164071 426098359 819645179 192025641 814435897 802939655 61331731 161338535 646957375 703829991 923979673 643100437 125066329 157641295 187695015 921162875 224776917 25389211 944345593 343899081 258186789 512461201 334241785 522574045 551971043 737339229 312074421 387112819 340821973 852786837 970614755 53233207 678678245 919281973 325753573 411555257 885240869 704953763 650935233 620541811 912914643 675304367 68971557 130112199 634685519 175273865 57962601 831834109 250832167 300641489 527703181 370509639 311552013 439446415 531686201 828151229 437843165 121547563 685274297 464414305 635495321 764848509 564083719 742106909 785753965 313535939 959066049 88317377 679629229 398784415 898435889 596734727 826211539 14498339 590668097 700776337 296818561 953835713 711382413 953005797 445012357 963436631 974588755 945276537 285332689 728296489 109943417 829726371 242827393 218426087 228356751 118634917 734521817 638561187 454479309 272443561 765117761 24875231 843980817 802185407 936249167 240963963 834792931 51117537 475449787 434128327 14586737 745392623 594076269 806485623 873471381 905364917 665404015 552979881 465385675 128372195 608718577 527461347 726291517 889334287 202751057 182391569 489121977 672903615 197644049 371713929 896103349 579693915 431593183 94757129 22417491 83901747 258555785 217916339 115979863 284827265 303888401 406394137 56107827 931895909 339628949 908463403 69565183 826796779 661404257 525691723 89107319 823194113 56953065 710475067 437969155 706333827 9615051 991113259 612499379 482714929 626674117 803486125 115217471 897053621 671225543 572803777 582898951 25192863 600208609 960857803 171096335 920021351 91451983 398217881 222133513 600084851 854214005 219971935 747188811 331627271 25737183 792192443 403900883 730536279 750731069 830336179 833718091 734164093 404893295 167638707 788831745 64429177 332400755 637061263 486021613 819527731 284225401 979977865 282813613 106679423 673915857 153925441 293240457 80680725 772820217 276426951 124072815 875327381 487818897 642268049 890720249 267669643 763518311 61479801 23777379 493792869 395718251 904831175 383471511 910411901 561062333 614336809 834714147 819381783 78936989 138606257 179075389 710895963 247015287 214075103 186978759 694399575 647714525 191464853 442945349 855174153 169926285 24473637 767963881 775353679 494189927 717260865 967791753 673341427 478367097 569833223 37522853 194862503 81878773 101554683 710601829 273638149 874970933 853542925 200199317 72892557 352612287 380459665 716328623 986810279 951062845 923408963 79907537 510106021 421259907 335761481 213409221 54945475 830247307 965623601 17202165 731014431 240978551 444065263 163126909 324715971 347636885 376789731 994330651 101336993 22550871 450930383 202818613 534664339 790448473 693683169 229062107 731210327 752607069 319163055 591191235 90606489 290196303 349925685 83284047 757775083 794548547 532221915 562516613 578549187 917196403 799362667 784133909 373386629 567505475 871033629 133022291 893596793 219923773 330269581 734903361 168430801 775890453 193468351 792123271 511404455 861034663 927299361 897532019 276220409 861829879 899718539 253830139 27686323 570712621 244621879 370729153 751797415 101820831 169090251 747055113 370407819 301472199 16504917 480733893 116909315 313706825 218708041 90328715 685601431 260684271 374602629 246304923 429444025 460289453 361118543 928457949 523294913 491247519 548831315 864562397 785140209 308826889 152933797 239833301 721268339 389584979 919767495 833477283 935920473 143175187 940831129 905880783 64132761 198391813 974763371 751931785 293290007 726099977 404687347 819255207 145923739 309179179 76349771 822674855 16211157 798962849 264346109 776638131 643244641 430466755 293860849 548325785 14717633 616683543 979992447 674913233 526569051 333688389 484897893 474567801 209827713 575336739 140541127 904643929 141351789 571664301 223479857 785584607 226933569 529349891 565481627 891130405 516964613 333946227 81185121 511252967 298279593 365493101 26170441 362070925 472004361 646756497 563433085 838720297 229007077 175443103 100055959 36920175 436810727 188506753 588387473 26320065 360271775 36078415 451916499 307044387 355996807 330532159 268546343 965349959 89563393 721212087 560291011 267015813 319106133 630075715 379395141 750323671 186894259 924890773 776666803 816776683 403054391 65120649 325164153 203991051 747860193 890938145 592587373 717785137 805623195 607232393 784221901 33875451 213809717 683845395 510137405 190318513 301071465 421120829 728428745 200859459 810844119 24038311 385293545 525517639 452433675 894743839 245128823 767926267 801733237 142544023 796253629 145167945 264419181 145739307 519930467 911830719 379699507 237662237 728348803 354379413 575914485 938646489 704725399 322042025 371322305 310125811 946007429 8927875 545503121 96770085 139139483 312119121 669667909 829462609 425252237 503676651 629308329 864679813 87931513 409944275 753804139 905078261 124159461 292327211 494064167 822294265 628226237 285744071 493666397 997092373 10394199 394357531 270745461 507241461 443283311 639532361 270371011 763358061 575936299 885501717 529635455 116950135 900266011 927641841 160475337 799650103 179339567 656447475 828914861 771638519 404932809 545728219 105640729 136872235 818314667 796194063 811836393 35903599 890071043 467881375 841371869 981835655 644090473 934723651 602139805 411862619 130222293 805233755 677470653 808242433 646149553 717659627 391431091 848886963 118219977 369291427 904228837 893323477 151768145 276359901 975980695 507424755 3281895 471056535 642148861 63678141 423113103 826604149 714548529 778001169 961745593 475332811 797750577 111714547 538946361 976137871 441757675 382827403 516490315 663095391 702244651 889185839 983507349 189668739 933379503 36212059 882765349 272017129 38390805 586185135 767760241 172685353 937056743 824181497 838743635 789213827 998621849 488292137 352820755 960105951 109642879 473640799 782873437 360976843 903526367 338871001 218825031 754663037 620738015 583579655 606776399 567935957 190281617 932373881 467785049 706309725 137162993 759882477 213934257 875750465 503585757 285920835 225014543 304176217 459558687 736522889 180007055 194778405 455243625 91563761 986661301 266314187 627393621 262371797 516692593 940162331 467929953 35388347 143460117 14497421 819919097 447607885 134736737 779635007 436566383 207744349 604607865 895939833 101325817 509329385 773608683 537573163 716227003 275111185 707923883 353678315 797146301 930930467 479182103 997974775 95230193 2414737 723499765 873618617 976172847 282127095 372835441 74186559 288908347 837054999 837701409 909455167 58144187 347544797 5082113 311691547 376491841 769195611 686194809 15914457 977168711 28899023 293917011 453880359 604781615 694194331 180027847 193051487 659927873 308591433 223684207 34990717 656572335 676732557 185381973 75738409 796385681 800355651 11892705 104403637 566491883 250019437 46099435 725815573 405625507 34070583 840219313 791833065 592750987 549768949 744232663 103711611 424937309 263359009 899838571 239713207 722588603 883279711 979944417 120019253 999507757 347480441 725390615 23623733 359677475 86562659 393960529 297220509 851817467 979391289 346217791 446351869 243064305 805203261 147812341 674462349 8844849 796418269 51437039 92428331 153522891 149544873 253240083 942162015 358684345 262466141 498436271 3747929 432979677 409412573 131454585 328227309 886888189 590970931 737190795 93658783 183002831 630015379 363898733 980073619 696787177 885842779 633841419 284184471 305706957 387445513 325015485 773401127 695463653 26919245 526252603 392053855 280714625 882623735 139793839 50905349 574527451 974955011 798962339 187063437 702410261 355048085 669186575 788254729 940791093 362742775 648308303 250968635 189366321 810089375 557694503 288944267 505630943 225836581 761643975 34016773 309350657 806006351 365898179 19838051 822367041 716258823 208192023 382903557 218273325 654512991 27625769 964044271 125497155 807192467 442655943 636892371 836350947 254937607 740479781 166901767 964200533 645258055 781164001 490913675 37801161 696236549 190761217 378577413 180934235 194738715 515239409 579202501 257004043 356032911 572750983 721926595 34216897 665195915 805224959 165423773 879339857 836151137 457731585 98083739 518641011 533770639 255170455 276682669 712609991 576522421 130251833 234870887 922567897 672039073 119392961 900578573 784971543 959911237 915209847 547334531 774187997 713728445 35991561 943676247 161182059 899431755 346816649 922130629 455283945 660131419 49857655 844700073 555779947 126231935 511632567 410411657 700007145 525661813 373358487 568825751 435884355 705021725 402913739 480543147 310994245 679614597 721312113 811336001 595322781 38774239 735065357 936695169 89326567 838441351 650706575 566393661 928034209 363069951 733626443 698845161 118388537 865935091 376554493 933686437 903987963 412290615 413198285 270250811 222509605 664711365 819160901 925283095 832291797 486203841 627307099 916561489 881150999 547999605 49922157 612760231 429792473 91788885 650884931 354275459 198899957 223613949 865244165 705313781 136918831 43818543 541433419 698213295 85317421 170219991 452078355 962529813 606216323 913200649 20240831 942408237 909450151 707359999 475761441 531290791 73795839 960189725 668362347 441435353 508905935 232954349 536118331 4606913 339870027 562327333 195035029 911839497 495953803 645318557 187297513 723002367 792863891 855469145 882648841 968442009 716983625 417388423 514262069 159309945 284963969 930918775 667696913 711286243 404097521 481785253 673526187 404047561 100435261 892173749 582423673 316511683 231893229 136216689 998183253 311170317 254836595 494243023 4007047 98715023 336731177 683753703 859682235 377022427 869032525 502109951 774643463 248485157 601923595 551948927 9915367 508593229 304123765 622080253 588694083 495411933 853410177 582123317 873584485 286947327 119106835 209753607 307809541 891217807 838741491 858335617 594862141 301222155 725053907 484841427 896314519 902172825 27162443 986043997 671953147 349558793 117310685 746130589 651945153 934914003 18376691 832361283 955571879 85371925 235028959 181784863 906588625 567408023 504930007 211897391 324296397 439794375 373482751 171787411 601870479 135497407 42211167 437236121 836915573 455054395 379591913 91330739 243851333 518978725 554170741 97886333 534025003 505907979 732515013 832882615 304803003 280221987 302973827 925264465 885158135 331763791 295736895 251553885 939427391 162497173 993377395 162662675 595977827 401368483 700032897 604766171 580919193 437355985 1257905 43813181 486855035 882946847 750858037 752779245 900045841 444759603 910811941 876092871 488746695 933584223 390164099 46120141 591455093 716421015 120897337 449821227 149250387 121591163 698696471 816567603 898524683 528085077 146652887 236206179 216279721 440102671 913215771 595328093 296311969 165422917 525183337 688688875 812742351 622336053 959408439 347196417 319934589 396437957 498855131 323249851 914620501 222784901 532521623 383944795 919312747 328731565 44564885 520288077 805504063 905413147 498859237 53813797 992853941 349382999 670447233 790263453 815936027 647147919 18600009 682329241 285541927 625277853 883134217 398399779 928116723 107053565 251141489 613046639 370824711 874040793 653992729 827303897 37932623 312689663 987615107 366418149 945177889 756175845 176615191 910420539 683814457 496706733 860006441 875612081 591029695 101489691 188339185 704225857 392354109 485579681 816201105 270959887 477932715 693428053 770257167 321056357 914126693 152958199 2683489 376718009 519532335 319355631 96622683 297832355 147522871 143714633 313405891 486448361 505656597 894226111 776793665 488476531 211356099 297352113 947161957 900392023 903583399 624757027 212954023 64675279 638244493 485447623 799053677 126426689 485409455 830874353 176211963 43235635 521320869 379859877 204355207 944797277 764787317 178183047 870136613 573448343 984285583 635479015 815710171 711891175 559623111 507074749 863849873 368683893 765179225 611370919 909383445 496661145 142820077 976428269 566887973 778265545 262450829 761968765 361545823 606074539 708262575 582408433 840957519 597111819 298692403 193251973 400167523 770842843 375242331 523285027 839016439 740952885 87606741 105850455 645335113 385665887 566975417 190604893 384156039 36481731 536413055 633302799 672759229 322629363 128891665 395868153 615076329 269307565 568976827 930497607 958313705 883708625 6745393 365120465 254932615 815625581 150864527 99555863 688419959 546048179 128276319 121775425 68201293 281530367 684421259 269112603 984705935 955927251 1720167 784590367 622572195 13720027 474922163 980976747 773456349 220433897 627397525 305944263 653817203 513879291 979660951 295106979 186933641 911468851 126525103 468140053 583034151 779806171 72132667 537222877 742149439 698196071 792819201 968577377 282020267 37962099 845505069 137378481 944044585 186830785 681639253 512522883 331900775 989926205 372542839 902033465 121478641 656347643 556555509 109551065 114788163 693996339 301666721 22993169 662393535 684203085 419369389 544670267 205643439 752712145 195055797 69349203 20611393 92457589 885787331 546620675 290873743 934806033 675256639 537277337 59533467 80624297 978875907 958758411 933756495 817117033 427800135 109195515 752374397 13906341 14153143 539566509 813364699 284174295 389975385 843425555 240490253 622570147 518994599 489098947 972216731 29906387 125596287 329256957 117566199 339314013 392016929 798716071 103365497 992924761 216704575 612465747 877957475 666297355 111324653 265583925 696222687 994778337 459924391 676140333 961895935 764756843 513957461 936856771 2006457 736612709 385637441 541838887 963716337 876576947 142205475 198392879 2633839 151794785 390613525 260423513 215894243 174781343 146785439 717364943 41447403 988175051 852171695 98067807 296086787 2125929 663866775 389649025 946771607 891860515 412078103 781504851 738020087 482499019 495034193 408313245 289850717 914558045 288774359 149301453 615156971 765921021 224785051 520624379 201998249 683573239 494605819 570656745 92094343 88906685 261396667 937581561 652481377 740433897 578296843 664405311 235697145 635596865 818270079 711223407 109215475 21762991 525321235 396537835 584071141 891791685 136041773 75618487 486103369 139351361 985947547 877686149 61504379 179043843 792275091 106743723 879103945 617711385 63817903 924709929 743855457 718043189 125762807 604213415 83819103 478827057 846890455 203488369 21229251 773771283 815410213 278578049 877462903 37146117 144336927 947764085 612091211 773740633 184237671 645473941 628086265 783459469 462183695 306126033 49201443 959246403 315786375 338017471 972912463 184025669 736051377 378256029 654877427 110595463 897254351 479382869 366652773 930684963 828793233 768705397 366345703 984568417 884446219 38190645 181054625 190810023 8888503 315286131 105640871 644103049 741420929 554699189 75912689 808041157 549945775 147479343 827628639 274503741 253166843 28057779 461911741 762531835 805215875 598854083 258523833 98206259 329438151 5627015 488983279 99849281 556343225 394008781 270109663 167058855 486008749 251196171 157962483 52108561 780259937 604789601 814126969 329063251 803728119 321426585 979838895 915786855 921238015 396508447 613860787 655892593 84237423 380386827 169364625 233476283 568519329 500880925 717262135 616616123 93108575 843605691 570129793 361654025 825370833 874823925 535349551 583247977 229325199 158645891 463913193 969953479 893408663 387204291 742786883 894721591 54488397 743540159 935635381 58358773 595217533 905312545 426736543 963365729 462983007 10153285 602934091 520174343 641406863 617127975 14527723 602632603 164834067 449860721 973749145 234319611 759781719 952998513 944122965 847682853 708355119 751671071 902286599 427364681 112644829 440583449 919459203 930296503 724593921 966334375 191616127 628394475 472032171 210044855 820975263 657388425 581513295 932710113 849422701 798336349 797044173 541813349 902870103 165246809 187152231 648549931 42153911 232574615 751828427 151051201 414217681 477754973 747640335 507269981 573771211 493311251 542565041 877060319 455702713 677683537 668890771 640209 94014609 347773645 819343879 77106527 552540471 204904301 182435773 673934689 385159027 59106877 480439255 13855575 657166839 34260591 357560025 681649255 229532765 908409951 467772077 286733153 278282275 656123533 296567213 225636285 356519349 769321641 657061779 296918169 548901221 957931653 472695941 42655677 853821545 299953433 674499089 862558873 951780325 767949709 404297259 999371585 820994017 399731241 115230769 920581497 802849359 120380257 329554409 31971237 825105415 596246735 467579519 936375253 497566669 640312889 497472905 67557567 615611207 340881033 187627523 467204805 288198151 118807763 729145685 311759085 842417801 378043729 555223113 953763301 917516073 72137317 432093205 275837189 451477813 625758621 280934233 967921999 38710237 334745259 850338071 512531045 208972601 312985195 829758399 780743579 621365581 683029471 310547491 712318181 295120127 363065141 232817283 822603235 185045793 539157179 857389443 349251295 38724973 246614513 389347631 362002373 583643525 725256313 54386175 247876909 30869489 759854365 739557839 857076565 225451299 547036883 701911269 727701289 512006259 252775347 313674477 775812915 371660579 574313985 699431931 323682477 144321373 73427753 877192593 395330677 976127281 399611583 437177743 186668563 473694105 459271549 743137093 313862837 720274295 834471495 542773351 591289397 522384019 467146535 550471189 533480465 87683229 307365459 879623121 934507117 345029681 108294435 612597897 980990237 152446927 660387101 627021715 18446999 471107297 76023017 459564973 286770425 59627703 566888797 389807097 314025225 587965323 312897139 855570185 200582459 790201727 566282831 707674063 10158241 313506201 382043709 869837481 374632445 953851087 72851885 383520347 874682551 976339703 193728831 674801429 869706203 863333843 56189361 362807145 554025763 49396237 674867443 323607383 405451247 544302645 532319509 581180739 459149379 638079941 133044565 744923899 905210833 163260445 521477907 960679091 428512495 655475593 314548445 753945611 906366877 956902967 770733923 565604611 813709441 279919939 456289413 37947149 16933355 669193645 45053507 956794365 872317651 602300253 348994503 645906193 471374295 615221287 976459881 342290923 646303807 91529411 217669791 160827293 998102779 488228819 897963793 419427223 858400159 18418397 86556551 527488699 293180271 614547285 22822387 102288459 84550733 377255317 532028789 922113783 150342605 815887325 619969357 566159313 122929189 47296855 884959207 243812185 750979891 455418129 9229781 382929011 723349885 833784585 255080661 344044907 52028725 601677085 544257737 588240633 341151539 201220121 357343931 820105017 494694899 541177515 940928991 100293297 884442781 991710831 754344081 441553741 516359683 47087843 973634387 112050531 484552601 650671733 661747665 927149743 14159999 189520243 584782301 563452247 31391359 404563733 844665461 847750377 343249667 306035327 451931323 424724827 315896359 657418683 591533305 171765255 342907305 176097975 810476963 619876021 420613615 240976461 249845333 967080593 303110409 339552577 129209555 543865651 826324911 985254713 153295877 814662035 948650559 887626697 260161281 856695579 123857857 293465449 37471745 744764565 223867109 61183097 420124009 990277945 460523775 343867459 873417923 21111715 982187795 405957625 335158211 142590681 838742725 472926643 77638469 349876549 446668643 64762229 672616525 286058945 822666985 620570149 935001347 384108679 694040819 726194327 828316605 859416125 893528519 387119233 196472309 522019057 930464599 501307783 56581455 325658391 390699067 565147697 996670615 519953549 765421743 254699249 82547901 381950873 134583195 396715297 576478177 484837351 281185169 799508479 320916033 464141197 422723013 392109495 373023565 21919753 610766103 483322971 11371669 56703805 391031567 773412577 634785493 906967675 310170845 46041133 804920049 813171059 880762967 406140935 285580021 980760391 662995709 184531489 795926291 781317497 753696501 948761363 672756901 590732025 228531215 166958433 504862001 149642521 595185347 324690545 613957985 360729241 801179439 191047061 611270663 560609437 116674075 251019015 958309151 911793075 419305973 69629673 882400463 100436687 670314967 204652611 807389277 163600463 948943485 535480839 791691585 705387767 566339409 845072397 196644373 965467383 17273697 111534615 488050587 317639395 337692259 106587343 332263359 909482167 318735801 507103941 642350227 916288219 143565673 131499893 673814869 408533785 75600673 748292667 747383653 142890919 509143353 331672421 162518865 471462437 392673713 607330595 1821643 778414741 522663727 795805325 41220783 697401445 130072069 27415205 689151999 900685163 752152359 935799637 929930983 181860069 121104693 371125357 872738491 239530103 371171703 769033383 340549619 654771501 289911005 302582437 210948407 129678975 642346749 77075951 147021903 148589897 1468183 658981365 769301807 626467025 889700113 197408019 379200243 510098881 246824571 62652809 922801885 56099123 725417357 103523969 687064923 595748257 437248037 243851019 576100091 743618033 890683595 674052897 668848509 19388529 419535277 813728933 140568771 882880469 742559653 699245149 572933079 283883581 403241775 849684735 842384879 881785385 737851765 539099681 741610851 641463181 168407875 560098629 867325623 830919865 691295253 41380563 976614295 922235755 519575303 793446175 716309463 428516299 355176415 441878369 291797105 657110883 965692431 735360187 72175241 906033707 268544429 879616307 959962731 891744125 251277945 789174463 158855815 258905379 474351835 672896565 333046907 60280901 621687007 818901077 289679371 119432317 163254591 403553485 367639071 103742147 424986715 276307755 594641871 613753985 196123447 535855081 543269713 572915843 951009925 611318119 275695883 172337661 607412121 862678767 957830791 613862797 954676599 458699189 680623483 888626233 444236227 590993871 703296191 356516973 683698637 616770365 242926937 605631743 628105101 273685741 280233843 843722795 943884961 841668013 46497119 560448663 696192849 186746165 591455385 119718483 765203851 455711529 355067079 982143951 610071017 502582803 795714223 180003565 923421351 301999201 849260361 272391151 639770287 786169711 419317935 305546883 993713805 572574843 409559843 533969087 125129085 710424499 237649423 856836641 760270425 943414053 579996427 293400205 801722029 376828873 804705485 51616079 452188581 731941507 275498045 283853855 325507353 879481117 964903267 70629913 209336457 83961669 777320051 677746371 322509851 708592533 969191623 779540231 581461409 25331345 28726757 770193983 632055183 628603807 422687863 864816933 85166597 434696211 739637585 3194079 507050955 16797731 794681451 819729915 697349457 342002675 992720365 758593903 506995117 648635533 739664159 487168405 730953117 943320799 107029877 500661557 616123533 676995779 773632395 982080635 366626695 460066301 900903459 661591037 802970691 329726771 89492265 149137849 232805923 719425271 718222001 599822353 858916141 421266629 895794165 767042261 521705231 704924667 648071257 342070331 444905507 917080803 310012007 565406175 824088165 132934063 411603667 954449861 83264639 613883255 179430777 108264797 77452991 236175677 516079707 219565177 946355227 130976493 508031655 706553433 574629683 766427731 68197803 581204641 47322961 276564011 984180713 864429663 612081505 279655703 722287613 30846727 383425787 50998431 759953337 563900279 657742687 918488629 701108491 949720309 390696051 97409073 551421201 540158509 590571977 592057559 825220367 927425589 281512341 276524877 687427437 462226825 186889143 630957221 103591617 529569551 283410103 34894553 319007429 856410903 175828677 598314955 508099933 802213457 74083511 923281987 741991829 449163999 474031371 90706675 116351135 532013379 427895019 177923443 484954837 417404779 538956069 283093829 550446779 925096365 544814385 135389907 931461119 473470919 963426349 200376941 563149937 490344413 537496033 142456653 32721679 313504125 746450875 782163605 492097273 99890843 1433043 930906189 656328315 464015507 863375851 506438757 944226315 474317615 908913253 519343547 739087171 221656985 193481557 118977803 268034531 556578149 899333487 843384321 729719515 883442581 814045973 45283373 10145595 496888201 678153035 523982345 199538497 162164753 783139523 144590837 181034317 886453345 266192083 802300733 894212845 811292953 25522299 88024337 530636243 85606713 153218915 253975945 768738011 478854453 358316759 189505191 374806791 413953501 100894929 862836563 444769921 578363247 867674351 212503137 857382817 459750035 640520057 19962761 388069855 684690259 584856159 986370157 401468637 568336935 652147255 575555475 817074537 834113259 774487359 632857969 307001973 49502691 777047649 44321629 407481885 221025983 845432363 841205913 943061155 674853265 515274709 340116301 412413299 465687513 68746301 728528781 985149473 421154683 125185257 72145489 608068965 138649029 398460173 70341243 816305703 45250667 529491579 974640593 309635695 617359499 129188021 437948425 852926065 894162859 34053091 50602935 805769 590036663 827369427 316213089 399527227 776447749 835023611 79320687 129303087 193701201 391527291 4425777 138010939 335807171 386559517 241213151 583774297 211152357 4066637 973111455 415468459 758700975 440249379 307158645 739728001 120625275 469017951 125435221 671419465 534469393 297549927 639742745 436587425 670292895 761866315 846386561 95870285 584207031 238257347 688917301 913006901 322123353 877579053 164537033 332767087 734205673 270409105 239968693 482508085 852178483 23244191 133721945 710980587 351538799 672888749 433511935 301411355 717324601 623146425 996900313 913801339 167044759 337899629 83531265 939703011 670373363 977835543 201803639 239820633 284037927 74467247 314071075 538854661 47729517 119441875 574906841 82289469 233198701 944989641 684222799 655325309 772259121 235012741 892925225 568060773 602892079 456994713 600502513 405056449 578033477 868201031 102018581 312819591 234557113 499242103 48572143 225135055 997980729 886539189 617063875 665747423 642309847 882605117 325020087 741219361 907648785 696115177 551924703 446752551 680778703 345631557 712901169 334598829 716882267 51860093 812986001 171247769 81687661 347736681 184203207 668525043 222537505 766282119 529604741 338704365 111627771 204952323 992837733 188026087 139961067 607616935 38168293 315671393 678071363 587262701 907809905 41397511 963254211 719117299 417419099 696775083 613299599 738055297 820272345 429782603 850586933 607668743 156262927 654537223 369019561 81891481 281310981 9891629 148432715 431118331 659145645 803563567 287282395 283227793 896974561 658771625 108157067 653591659 949408095 649749597 211399151 389339711 603813587 255802423 635127301 948278895 731845837 183544137 753983535 32176641 187731913 60190673 204322621 632634787 764817957 817109553 32245349 111166637 702415147 567208435 26447427 780046367 739282955 783340235 302142939 84455329 419499235 303069077 758731675 832520833 880566191 736536403 77347419 217407669 340657499 575129137 635663955 206135261 687144631 893502595 909442605 494277699 163204477 182054339 918838773 502030803 560086351 414816659 499666463 318405413 473859765 410400451 907814537 387088503 150508577 96565825 850425721 665205941 570864363 87800363 568520857 802609257 572456021 205201091 514628611 451446477 719569545 143962999 414174513 693789887 678577559 656235989 225938955 593507271 323567737 852828319 381394907 961381651 401397777 325139121 639622231 930849405 630941735 884033565 490121373 764171139 484978283 574005521 447773235 755858505 445651321 760739563 633782791 557882531 685080529 103467311 797428075 564353287 819121373 999239301 231082269 196198803 709636077 11583939 687891525 720964365 504825147 375879909 669220207 163176935 606734569 397594123 30172557 625320761 219329535 76075649 304481025 157850047 805307245 737481661 631781007 676121825 697453327 414964311 937069153 509469617 692923557 432852757 455378705 124964323 581992665 57791967 769954969 717721305 163949627 796579021 523879263 328772247 586132037 747676949 48087345 514676431 739837527 460799005 356197443 684618711 758649021 71173745 431498803 417450927 359507365 261438659 770534663 501841149 701334571 209922797 376100395 984214033 195093839 114175221 866211701 179241443 536485627 527256069 873940513 137520913 309608703 181264239 914255831 347550435 927021075 448763825 491974561 233141831 432575709 511529323 597739255 150016215 394532577 551082603 408271029 162696145 965425045 529136803 694290463 439674649 169418573 275382573 581407715 182439491 817528911 741825359 874633497 333747077 786161603 153938803 588952121 574868667 349471417 968196141 768941613 226072689 600657705 193448247 285306177 513329363 339870969 802235507 899545129 897203387 639715565 257049839 863898371 972419749 377990585 105380317 953241685 963773881 523342583 803399065 62700043 799190729 893153319 492920485 764915833 756891465 70005681 271858349 186652513 484735577 807994857 546034565 833053411 609061315 414974981 622248487 751722639 864575729 624304939 700488629 877788249 731544575 888836447 169015935 507825057 590470827 353968789 503593715 607980073 441744731 737029543 401493679 807472927 191994399 127861075 799349621 499833369 471515567 190480199 20488753 459810837 933604969 860826895 340563447 314953335 305429845 825354537 57605377 504382475 275278115 410599923 354381235 200399881 461009191 129407159 679676311 223619341 897170021 536840359 696826467 968742939 651267201 2603485 923412719 429500835 820105417 535858263 646791743 704416889 727927097 207131393 705335425 475926745 503145325 170866861 917136389 413994345 218249131 380889873 438576199 117492791 783188965 249137617 684527851 113711031 123983539 744049015 744442555 718662599 282144337 173864561 195478701 255094445 215024039 202259993 664411865 5442069 275813191 569050545 636625285 722896405 574881381 963171683 796646937 630340649 408128993 288385345 751384619 355621945 341341507 682256449 387196023 423925647 278032315 181462855 9414621 351509475 150805279 113896475 701791337 817999953 378674927 289283695 879767633 756401245 138408785 193354971 632206575 123914997 39124501 82511843 586557891 324056433 124163507 957624557 716006269 812048523 949101129 407519051 884207853 461739881 70073503 97335095 971102225 369630359 332120867 252004051 385087753 323031309 870860527 920389415 237331235 932034855 15303359 754211621 475468241 949780907 803375613 80204965 19767213 820631749 461755319 990541673 931186045 907922187 248098723 792341019 828130091 975331449 851106083 634723149 430385355 693518709 657104443 15555701 712656277 188620237 143677599 36982005 662544113 523348919 105271969 27962137 312605543 763457741 877876803 626769681 286963627 340890391 665815595 870077429 687152023 990225411 763173035 475267783 412115761 539839843 239136951 807035761 727903651 806014071 685342959 797718467 931955265 103475425 884155547 317374071 89471365 688538547 64954027 623435311 727116305 878368863 275093685 736746611 416594869 62376387 925446649 441895603 353298527 464382755 201204829 74603339 157072173 179791151 251697009 860849275 89545057 118886137 444098413 463038829 579868007 944518915 108475951 422257457 331118035 407520813 146857023 617452481 132230751 976415943 958629835 638572799 844186349 125981061 341687213 543519153 939849357 884015237 749814881 254118541 680786029 21169229 212116241 506472745 453450475 939223241 880349321 543681287 122762889 791887951 493491781 308831377 356165877 369476253 213761887 151206935 310678015 346660821 37026211 593431249 259965603 82886537 226374781 548486117 201069573 532845481 595229189 456781143 501306479 774999447 251755003 855952669 10083927 780347157 661163207 509058573 367233877 188740435 282060917 16341225 160783661 990164451 48464319 75474265 557742797 391820229 380496131 31963377 495905093 220767325 88864587 19114025 233711825 477950073 880825153 178908001 871901653 493687117 297726529 736617445 214856669 489321335 159339337 209649379 327199387 917419517 930309631 313807991 766507753 215509835 871155123 306387615 512710605 283738165 386845789 630093385 729803631 640383741 987003803 984624707 718773797 717584451 657709493 464140869 791717739 946472471 438578329 933471733 758424801 849180399 887614689 18744791 875455829 425908901 596593353 677641311 992428985 184695681 494145339 161412327 21976615 362634033 299782339 321768111 739327717 660323783 922914973 443097055 553915229 472972483 377577379 980951691 747382049 389259783 788860769 16524201 536823535 383233253 990043907 112624669 685654951 525295375 815579745 416233905 75060567 33055651 391827707 203010067 420069425 869571621 818219767 587783133 295990161 456041349 751323175 907904403 143150329 478955287 191458559 50255515 754214677 203319191 75024287 320620105 59671735 989944875 767607503 952195795 928394717 578047841 762825983 615143005 903363751 249197101 948339525 682721777 650851 797647087 293466719 569169021 176344197 627167847 403218871 105030619 928860067 712506057 284118619 95458767 579050119 445588645 148504579 541006591 278115607 842657273 229972493 780943357 53440871 531097901 164023937 179144773 139575477 151520267 451896589 484228917 930461283 301296331 854582283 52924183 957218043 19604745 829151095 901792797 551547697 315979977 712537595 157827423 527815905 597692281 416559587 255947745 785524751 870115057 664862763 760212873 273931747 945848427 213357421 324278313 510302131 31274893 26270453 424596603 710572025 88880997 702524847 569861409 905847641 879210343 417855795 418785699 577978269 850201713 464326849 649214835 347322555 80913865 777152575 355157737 963457483 583543835 689850175 669195849 284813841 422930555 557497845 74865337 371886587 313792363 283873345 576472907 816858137 961296843 214599851 409790969 257050151 328051691 930968931 284888741 76957193 441873537 664238911 226344471 668822217 344904615 739745981 252175617 417790365 740594151 802620167 415517947 78771421 226248489 574558955 530093447 744294671 697460677 582626273 868414223 358350811 108914553 571212039 453818851 937254169 972952681 323523619 528566589 221060031 940657185 846569129 868476991 165673203 950868633 663553707 125212401 184432385 835552045 17864685 154346309 317011035 268414371 333757649 898222099 194177691 303567141 781210475 605541405 496658823 301480269 607794799 826879245 450826759 496085781 53276223 712914547 93507891 194423267 327354847 830219465 268784449 142206085 173911041 421487727 467894937 116008497 487817211 263454897 154073281 811127169 313945293 594706623 621080433 961699709 412411933 450214065 548073347 843709073 588065085 690438281 871181817 16485267 123496481 61391663 720901375 801524417 150441065 266968441 449738983 937896127 371594333 419689753 514793775 853042073 512681453 268455351 973305719 127185863 142579631 317010393 941244557 379427107 210273249 794925039 734370659 730837495 191370093 928124757 813042197 791105515 772658401 746105675 983259877 259914009 495702389 105981435 878712127 902431483 862435845 184891251 721083575 587936631 429636637 760107185 487753223 516604891 422582507 764893845 69937683 418474459 265053763 626676453 595486949 228288661 606805927 113600343 352332977 869537679 813730111 170866815 542423763 926831029 98362071 225495267 86767821 845616733 899593451 789722091 15587147 623001667 981778837 778641127 690105121 767369869 151395745 712001551 95242825 562740171 920436603 758690185 26690791 402104045 965962299 463750745 902040133 647066197 697767073 973319541 818508759 195107525 604695571 406114993 159853115 743485035 795806625 950404563 383796783 793764831 569079555 904905601 349347233 57781017 430729111 522750031 504172197 144311427 181360997 506235829 447872117 374816233 826310173 247667987 26622581 9277823 455364629 31449779 446212913 449580771 310104907 224894665 815403353 585503257 510754921 601672297 186796749 585533585 738792893 559313561 615008139 223875103 102320191 587781439 228155587 707355647 735931021 120580655 710388677 370865623 480552941 204445215 135636749 671693493 733061459 759640501 320742207 477487119 869441105 917331573 1691175 572594879 61193769 283528659 23108533 762878989 524684995 859012649 77211401 4784293 48344491 672923573 751879523 783892381 740482333 68071843 522106669 388631411 344277747 393726725 896759549 947395851 129959865 659919825 432859791 548031153 597723545 262146027 580987331 569867037 151504241 875681309 794978215 430802539 446895033 223692053 89461613 99111199 541708191 49957485 608998767 470461737 367148013 961167271 35400755 811686619 933583389 130164015 50079075 783600629 887560525 428723025 663856337 462834331 612442437 539626825 202759547 534794843 493793653 170712121 802733697 122039081 530207729 240770091 993118769 125439587 978170493 46956299 128999677 918754255 804696957 736000953 99490945 634304153 581097217 371124977 469137023 675531863 839169471 730957919 101217251 489439749 759541785 257337749 66800065 480040715 799939349 954593545 362713169 466606643 102312801 58520863 259757051 553153205 201374805 117180703 168209479 68633899 502352113 64306235 562338537 666428575 952250589 126448267 263322813 951147897 778296679 592936977 826911429 666243217 69265541 722268087 150994733 874562085 239011799 281680461 127772233 902641369 743966119 511168397 759585683 877002939 434916319 957246745 275075247 239773759 296725787 795191673 686594151 761749315 986929561 373968671 686542255 17856523 271980097 787745635 209771683 333888583 267966879 635407751 577021831 265353227 417124589 377405877 702383043 361037011 157240073 95199741 487105773 332830853 470901115 134210905 954680767 213472367 123956081 184213675 906550045 90186311 843217093 270715323 852799761 388722471 40890099 665840697 373796817 538656407 249028645 691109571 441334965 964210563 39004201 206677973 459657025 279495489 113659255 255173849 82368035 361095823 931541035 877665059 716613163 390009489 452797201 833929451 838747477 373418963 134387861 212079187 857547205 366625613 823034321 819462755 116737223 247606107 429145985 377856523 330243019 594420929 430379277 63449383 812913 927347119 730684295 75582839 791052919 429155511 718109859 697209253 724197581 838836185 773571011 707570241 230112387 553965435 165559019 231710405 507309269 17728869 697167821 429714065 193551657 59512275 305887935 598222321 330341893 272490589 914448833 240980755 678045729 859768075 532296569 413020947 158349655 412674377 789610551 703608561 710409127 249845485 731201779 858022551 61539393 935191347 900637771 414495189 516301943 325618627 547704199 878613861 15488705 906663335 607174549 949509095 881038791 200199255 823555599 777945829 772779855 622940845 272260657 756149715 570952529 19311601 805077989 410475271 809800423 197841105 511832761 317927617 584348499 342205023 54659813 395147823 661872897 771881243 45609029 562784351 890505859 942786025 187639141 427489609 163845527 787409687 49926257 388455635 635757087 924559193 794751553 355022273 78363429 517454541 759992151 786579143 197591517 904923127 239911637 637001599 434020001 41282247 888258959 421612905 633773049 575674769 118984953 630848749 842249099 705480209 997834291 905893471 826077483 608090223 393443077 673074935 771720663 284644917 108610783 936661973 680632497 206959449 272345047 766732035 442864643 23856441 684418989 447783539 838108737 38808989 244276935 521728255 349637383 735195053 898058549 656677733 68076055 635070721 298666927 589069651 670127711 50027671 212469395 665654357 557288687 773571025 280727785 925955305 354620419 791099265 348556129 725355885 973990397 392041689 253750607 339769643 636671085 332948085 139392951 38533973 135938817 338731359 519190075 202570245 445160599 357347329 292583983 634864441 254618163 355925295 811890057 707912159 430281213 624556841 993785317 220717763 652093003 1943187 992164751 379612579 137238167 148124539 677086323 999067677 509192837 580121687 490523945 645375675 356942561 305768193 405439475 260489711 194493595 801790401 373628339 863419665 313121745 515973187 171422459 539474789 208777927 641963165 755806469 77543697 296019687 192169547 300312235 254150695 640003011 669073205 474695543 276165025 470516247 335300261 548052633 832207969 548885703 309599315 257906663 840292911 127175135 400441689 164698849 980449981 560609681 821555521 501472173 932756133 821400887 948381939 874771483 969096293 24637527 618447815 634453155 902276969 595137433 719241851 571422563 830856449 90435029 315755571 428811555 142635369 404476161 191053181 699059793 800807101 449180485 409663309 995716103 231006219 210053607 608417281 791182593 789523011 189569631 969488991 147073705 773663037 516731207 879445651 386533901 946485437 427410785 800941873 927607523 987988329 152412823 784372795 83245709 958249939 578349313 131156497 696787215 556901237 66116567 832016003 127926299 959415217 641729659 974387655 767240713 944310991 748374907 240611191 339418325 564420351 417386377 641689499 903287079 990891869 456345217 378848671 492153681 902111977 841377893 47696219 95047239 585023885 474214497 587192839 371210921 20403481 640852423 2091341 242085823 875369033 41211157 915379769 809709689 962070969 616689389 607075389 528341101 10072311 145205529 124854331 857919707 756378483 319939469 212104567 343454633 500817797 701858149 877468829 598688871 977390447 194485219 519302337 625999181 35286105 821641075 427840611 528722489 948857687 796177065 138060903 46186929 867256929 943238975 457154843 172723177 110616921 369087257 551361333 829479347 434946311 968583489 1284303 893338003 555325467 512302827 409026673 772122797 98826289 710722677 978994183 912848335 382138569 734995549 711534567 416075381 874574925 15188049 875439565 899950009 780284173 188747813 12074977 878884199 652264003 253449427 603117485 357293803 806167823 405885823 67223337 782321245 393593213 697439349 230161329 842208637 226116987 786278949 747590921 356584627 730226149 379995693 762058335 60994571 871652731 284429905 634035531 34867775 279604197 67695993 798345415 578573741 464545463 536745659 42928185 155948895 194147945 372160595 878224493 578187263 994553691 416521377 671426205 883507945 221058265 328937265 695854433 964584219 302829073 723832249 636023743 506694203 156164895 896947473 183917095 237054361 193657347 407930943 171883373 431609133 712075685 189087597 699554253 318720661 991204057 19420397 316990447 697377305 521930071 598642235 900320221 446630823 869072575 668944637 994126349 449450455 146604955 265101305 157931615 346803947 475764829 322572839 419163413 838590405 484864095 803916705 883027421 64768249 724161249 945602727 917476559 994547133 344607243 219245737 331746659 774274797 320211953 383436089 591057283 426273301 289750409 788299023 774156411 422229089 979058105 839827731 108806655 801964969 504241733 517003595 41554219 183599469 525424865 8092143 874573193 772657107 817333799 979699801 100356099 342448301 806840469 461272075 100947437 566367343 52494743 653838769 490075655 591807801 197770367 680440351 583873911 798370771 29086085 308452685 858438855 952105133 287583433 122281827 378605293 512035037 316812117 584478121 930159687 352774433 41695259 552020371 225048475 956401379 960602355 812859837 415681301 95372593 26143649 846130921 178913099 363749315 174390475 244130051 445216315 457969655 825809669 43797535 219457607 838678997 889713605 921821559 60431169 207239435 172462191 541444717 78824283 545395699 237161291 708510609 417346097 675334793 782946443 432050065 135173581 753959799 591062855 452475979 736065943 333480713 107370627 155587521 768788841 331439675 331108389 436768543 420717179 282797479 519068159 825060281 396739191 941906585 521025741 252671497 661128297 339102717 215479595 637070003 239358405 416804715 811651751 882619779 965318507 332274723 629317297 79605865 814207131 389691403 836922787 223699075 821276679 151969973 90361787 295136533 728057539 363419733 104962085 671099527 392700747 97363147 243791857 142631791 423917703 658709663 92279065 912542087 390827201 5999617 60913535 578157235 588665519 684201925 281511915 392683007 221953137 223235695 500735247 343534747 32839817 26380579 15534723 97534183 625970407 508304561 70795721 134720865 734869981 576525457 451517259 778903993 168312619 617021409 935275865 655486399 909844211 926382183 885587759 22749807 112707783 239837079 604555241 654508783 527862937 86142851 557141397 729788805 45287879 832521709 409616419 284295849 846140437 218592061 42889323 675242483 292418227 474329473 721566511 26783017 578196789 510526831 947776025 433227061 915174551 887773033 777129145 185021737 76634175 457089139 415587209 702865219 262041851 422584639 734738667 70785507 2395135 812674339 146876453 782374551 901926891 231032607 749787245 768430865 538898369 551569625 670502361 480379947 872631279 530911651 234151531 149585131 781843275 713284465 234055437 517103995 939109395 442460131 847540879 885906991 800794345 854965057 650639019 682707071 885612511 224458107 90207489 518516755 377601381 13669669 244887069 944011187 963833693 238752899 628469869 292879955 829163017 184082041 317023565 471643663 872742681 642310039 152412669 574256425 140747935 509675285 232045735 251814157 736364059 395471311 368419163 769406285 6288241 956145489 246086417 419917991 74010607 577367239 29215407 871627261 160640329 850671115 347518457 759908185 51481247 987380889 175404709 420671215 195300209 508410011 832680777 253570075 593419441 991895517 112119397 980789343 16272307 437006043 95283047 236882025 358256437 657063855 783698333 75184391 265471577 326692133 551213377 724009017 169760175 974963113 850798195 567414817 864007213 865407059 201370173 502890505 134685229 665839587 494009235 823382375 657415801 502159807 853658697 163365587 824874809 882676983 834418213 311121681 404307205 846120259 149696975 548205071 673393627 320642561 576436693 781692381 563946527 940387129 775335349 450932151 657882013 767547547 231178957 501260033 449060493 189528189 781501289 439076933 706907787 678865629 223559607 227199033 645257629 698012261 624669905 908507829 867593007 485071715 765939643 940387263 947026709 342836943 53191259 346901119 255976081 257021253 548081285 760714827 68428611 319932433 306295025 559165853 828386363 158734369 466128447 498869531 749347565 284913417 296749049 346617483 941415481 823673867 905552785 926931941 809765217 626801935 143338337 663852097 7421203 988715937 913486759 645434597 182988901 871425533 235747727 348337723 714293205 71435261 75757099 966293717 793072197 991460395 71485299 364096111 903057927 102343863 467178823 189897455 234705867 722252407 239349361 608415067 78520755 41493483 770059171 610332907 350126147 356112441 63223413 209676281 45775717 518053939 601633899 118091015 160874867 535983949 748357611 230909375 488649255 104855719 669929799 380167673 748164007 816765449 559871419 153023147 199279489 89956065 34110053 71361277 3434921 633028425 600250703 802278199 892389245 540005631 860725355 182761421 537002691 73173609 577881233 709100121 275177639 765629333 609026691 693209251 115605183 133142847 64989163 545258383 883385351 435303875 354324571 291074103 225621991 749426217 683457609 402153171 806700329 795633439 751747609 251370437 635888387 938217469 939822867 53964955 356679189 985958339 799151209 40729865 18499937 995245593 986125875 926583269 518053207 956763211 956994163 951422521 74279113 625755733 910430739 571394091 973259255 627880913 220576227 867512337 28141957 815098633 896950687 797770595 720933759 354879981 900585187 149791177 890172509 285651731 871643709 26237963 21857787 560439483 443474973 148741919 271977119 300203979 452573659 693807901 814833653 383429333 493303481 559895625 641632273 921749771 990843105 881113103 144061557 894863187 700581475 219787267 632954113 7456047 191781435 46176991 260790533 629424591 195688773 594801031 580726325 295019789 301913935 352361479 240649137 89114213 580447753 351114383 913028347 568731649 73348107 388499069 31601921 218301871 601206231 480964949 267325721 889548775 345259735 842292671 729635329 235596485 270892123 352711825 602964187 750850325 862942365 864737221 940766777 644073795 306567613 724511105 206855437 442777705 35873479 926767883 686055861 906465603 434275497 778427867 135243509 54441273 639636799 191199369 835628285 448420189 196271177 875267035 650576991 19432291 133378673 722156473 923393819 137436843 823596103 795609657 600766869 134014783 735330629 259123351 959692699 385077451 524662987 200124979 561952097 714202023 208248613 465971611 375849607 398222801 48044163 949353345 689576717 44726773 921542139 405308351 348206181 682324061 892810387 741532251 586220643 44843523 196170803 632646783 924821573 608078213 32060587 936731517 557540269 412776491 619936437 637877715 113271725 634996451 185577713 9032225 471370165 53247303 375048939 288866869 152316071 554952339 204752401 958957057 54747077 963067057 950157503 950078623 425699263 799295279 178455861 876952917 610698663 956574275 76880539 741256845 640996861 422126031 190005253 903655131 399623589 946398297 689929067 597363703 910940395 689728015 895486125 629765577 429996679 431577033 947027093 751999321 643480725 493398023 88021975 140335579 865836443 307761649 474374663 573088683 963801989 128281683 965662891 7495499 717340841 423115433 759377961 329107559 633022659 754522637 750202069 954941139 735043577 595737161 607232999 237286281 679439833 865535693 563499135 140605867 711028313 38098863 772881575 225683335 36314835 141739695 549931089 429777297 123854095 176350259 130255447 364327265 560300601 477078091 113974649 820571323 765246441 433940399 69098847 541835 308067607 319554237 731507613 833863141 182077229 132916349 126684841 865189635 830306037 935902109 557546215 540307529 26405799 520952183 859264927 9867073 307321311 140872457 56147971 910905759 387225763 82606071 310029869 605915201 465620573 83179413 910110237 903429157 159300583 202223577 242690747 479991673 254774139 291712095 537735385 608405649 274811327 531029875 907172915 51655401 642866881 447526657 56427623 383373345 580476149 763965345 915709951 801655557 992728121 996970387 992928109 441050763 799363795 901296575 80183305 538361547 940076143 580584113 131962135 326596617 492264739 675569059 378042045 934277043 885416045 866815349 564758285 475110745 590747695 398802859 670464771 336925623 31288763 187304311 816719227 29364659 774728897 869208239 625408581 770843987 662208099 866161363 618273035 782313679 617919011 297086985 380066925 539010431 321022193 879232033 429268199 400278249 226918431 520069523 374829541 777272759 902086765 650177149 98946743 909725371 349964031 263383463 375097753 352378355 578858083 109346175 186174631 621964159 89388941 584874271 288666863 517072045 299207899 275937091 54378337 759746287 517736209 145643861 781203925 798806239 640426079 637389411 684969999 140305219 132941657 251095587 21796533 943118341 909618171 579591159 587395673 578614583 807828653 26091491 386369653 650667543 123920697 370804633 277682795 695011845 158166997 266744689 594127491 184521103 172682785 607329127 235779821 312850279 426504735 955626019 245708485 521828713 234639677 925066231 167813901 824463255 902779217 7359447 650751913 310945565 99914649 35099747 260977265 83243343 96407993 491356899 586964505 325867687 693860029 919356487 372534595 864132039 260875293 406373925 214023035 330464893 598252213 91704253 171161649 171388093 197728201 508821237 445400509 649372573 367996425 759666013 794293345 377101927 498144905 771195179 13852999 906673025 894110661 837295681 627851647 209352577 79699107 747153189 859367171 12319777 231741809 449462279 28103091 881111363 207145699 322306491 42703451 8953335 70256921 358330565 254253481 250670443 955856531 722328647 158360889 721719805 236698437 808567061 219759755 425906223 933704575 831973029 814087689 380186031 280991487 110943763 127533059 700679757 810847213 801502507 576428467 866639621 270857171 968761177 128284217 955511547 610012329 938659509 881380257 600199289 402853833 761672447 333719001 94158323 122968829 447476381 871582141 42410759 530036077 714776993 411014157 255352179 866714291 77795007 484915825 385762343 285306823 853016151 662677117 940175923 389503507 11110769 772243113 946503123 810223203 5614781 840546645 709631339 987775467 466063761 551011789 454958215 952451401 401399533 933674815 188297431 760005507 933101687 355267527 767200059 192915717 290919807 6778213 216304305 889297573 189549053 271522049 19200873 436971679 654721423 352563055 472441779 558860697 720885371 883999335 891043085 789055907 735310517 328609673 400703255 751035693 619550415 762941791 361163935 207146521 86930701 64143965 739870357 34529961 236378705 756000215 891471129 80820875 260981039 252149523 497476715 396481493 399909595 877902391 287738359 21234181 529862199 205586263 115211087 672351999 22182601 542917483 490666801 434713615 295172031 987891027 164178557 130713837 431159537 893134553 319975745 389986485 489997791 692859311 595828655 752993005 511367343 380150383 139121953 439691391 208148275 246368151 25549085 719692997 578937823 671634069 877677645 425246841 437681363 3520693 281716613 772167361 951246551 355263541 499120319 983316523 324727899 539011379 77143069 466696621 96925301 993518777 863558381 760970145 27849187 704572857 341219489 106892495 893171215 518571533 647480789 461468515 176738311 829070195 976305483 527490035 664357251 677762711 266691311 879640187 771682273 313548811 352495829 594229091 526741801 414002501 560031799 269936757 139229449 232228777 482055289 807131625 759358427 503845247 509667365 986213723 64015259 472275193 871329775 576826575 527051507 79377201 996897203 194240437 376903727 659348261 534045045 274494431 34589771 984529601 806886493 115743373 810172385 102276565 848013761 138113891 250691133 658583325 389877275 829157231 147189835 252479799 328560143 835209253 923277731 307332525 929685863 171479139 545365381 265734129 819225111 246612335 891001815 512053339 428352829 198090741 277965865 477693741 475023383 894696715 890829491 458860945 489420563 326190893 586797397 607058071 857708229 250799937 893836435 218773563 297471209 105322391 737353375 673416793 168502111 69555423 770987597 927905215 33195827 643530555 500234273 517202717 516871067 909183789 104147263 110622731 759460591 203072163 915106423 468593165 904887733 220262899 779821889 789344135 569298837 911634139 822565561 911733969 837811301 386733951 958299819 863047967 552826657 173157741 656183429 550025107 107874537 69411481 87591003 418020921 805515275 349426271 465483759 184768769 342218999 230080137 321621929 778976451 553873741 408329281 208996759 133493313 342561997 603424027 254335599 274019621 806333025 573015577 82930323 907447039 516737313 153301659 800707335 101951049 498705731 46549361 721875069 926887269 140482861 357516239 812388427 816230809 63544427 332363859 166623601 509468699 931611823 942834691 970665365 562109185 418111701 778208589 115483145 668460621 608312287 47847171 288374977 851306729 433726969 825958755 211145565 436339621 441619829 589414165 406386725 817592891 180689361 581157923 24986377 876573259 770281645 534020357 838548637 134422625 382793943 538024855 712551717 672098027 805267777 642448925 797812101 321072453 568984071 380545095 785547853 711504047 586170219 408409127 677329587 600359763 696395993 675177277 837286809 104400705 398319077 90030445 303383173 115727219 275845961 251390469 40466085 161104073 417340391 428326585 13736915 596348175 182843341 500415143 996389771 564500979 411867439 991944533 33572855 258184721 82214757 386298799 131085027 749473257 953217523 722637579 201014987 981101795 258856837 809177637 579284937 666522707 963984111 587102245 153775273 977222769 854468651 944560533 918663125 249253725 156784989 224167275 268510827 151536163 144887759 279877127 620863267 911560625 793201397 375132203 307956587 667299811 46787947 2913799 808892493 494479991 613284341 81759789 285031811 461110299 617904763 451524765 812269675 255439195 828531475 42055611 840647437 138492853 518739191 67472211 198451993 247372935 836440459 572280733 297261285 537850397 54949723 178168885 149394031 329036965 667921175 31748385 800088673 749883 978378397 7537099 295041801 810202845 423221233 351120909 64390495 141615481 405949499 79202081 820514303 599850203 137212115 597497007 928625717 372952513 4796975 840136641 616761581 587078857 566262517 773615565 246416833 884893565 216287985 656275377 849485805 817345871 296257043 822928563 108543835 580449945 380750203 899410817 667912599 549939097 476854375 190975789 245827803 620607357 644911431 870724149 906316551 222346577 902468267 961240961 259444383 913180947 609726033 312865115 602667477 46456993 274397209 142404219 466799999 303235269 168205073 429426941 945942045 259588657 174791787 185236837 63201493 584387709 907902593 393039779 225182841 642577709 405241817 609088521 348288125 948446375 540963357 236827735 92713985 167904061 785804575 385059505 82869453 419954731 105160669 178504869 706981455 997559439 89045879 722062375 310285473 952108147 309338683 295419543 164181377 192841673 751435419 455060405 86097235 847219049 218929715 379551411 613663787 689291797 326765765 867932453 456786111 203534713 6899517 69401609 570127725 931560225 198995629 508097 793857851 495675785 884987219 731405341 434993885 866910995 242212753 373764435 312422821 165230855 268781297 319124223 800573589 79889559 707120935 313157669 272638293 996500955 836780303 492165939 877443889 631646421 877141419 810106113 14545957 375624303 8535335 167623623 70352843 815119739 687942103 297231407 322915949 143923119 756320053 949901381 387740155 875300527 191247589 204907133 660369675 59349761 355527601 980494517 250692061 537894683 664753805 739925811 202571607 974889043 555662741 635515297 70091787 346165741 32979725 255164441 615140651 612763149 374512221 171453973 76093341 149179595 122481947 729036669 92291811 312119579 809692673 332649883 74542125 494387167 816054259 608596005 423716181 663074531 923568891 49313849 924768727 930704855 39754063 870365021 49550813 694889811 439622727 342005375 9339189 683342297 568699239 733862129 4626519 314598611 974878557 156478321 99436383 475990417 9718521 973166375 265628441 391134797 68441143 804256415 742737905 9635111 946798907 459787467 452684545 910146347 468514641 435842061 8268037 977462089 27403753 606445353 575873381 410427737 867197345 151391817 440054579 742517021 840037693 555372551 553108003 288058173 971085991 15743069 664203669 732317773 865826289 943424433 707168659 307835333 969918039 240075217 31442377 897353991 472514879 696508145 151573647 622781017 773653807 610308271 399317475 895681009 594094303 14691089 128455791 964544741 952995879 134961027 261368963 511986231 474172685 483404251 149305619 452562895 512202427 536966485 406681791 683587969 508290691 121751449 518844111 234682885 574684387 359785393 352047665 604892155 469908603 65880341 552927871 912877295 507020057 267663007 483457269 409647183 75696815 718627225 755313021 167879799 562227801 559529131 696562085 559972263 169183577 400266991 899304355 444050183 706510363 763285725 724110681 625268651 365336369 822635359 430633805 233942411 146252377 596866241 119867821 128634503 360166259 62954423 933088081 315103081 747392397 676543071 867988153 972174053 608113625 105331519 881846541 988241551 959467187 767461443 651855641 498761197 446549661 294524863 213041241 880883045 578929475 810145651 287604711 367785291 573234809 51356549 956826509 295118039 262635833 108777855 215979707 465470761 349296295 20522327 547710343 619257419 89954573 621534317 581849521 153827889 535503583 987241091 424311199 807345583 706576313 571311303 556687201 884781451 890803549 116094671 722086831 408064363 80891577 76302745 148908263 608289507 111888603 739159689 826430481 548894825 885724163 847393899 819965403 630097505 913661075 975647351 184052127 752072213 732991511 95924553 291447897 476594867 791744575 710175717 750526387 152119893 839027177 856328891 539621627 260625663 770361879 692483741 256791593 752263575 26674935 611484621 265367257 83394287 702068953 64903915 30981975 496494275 401417529 828617223 809375631 325519537 211080635 739276693 618980377 431830339 936374569 439785843 711417653 619336939 476477561 75466727 721040331 82222337 595119043 892872349 23365735 468207305 279304013 774920619 274436163 438193257 175581823 657006221 576558655 874664947 464657137 525428523 473100767 552341091 497968473 652929231 843756629 612663959 586565277 14055729 250823543 527397465 533386441 196646253 909053123 553957723 898806285 265098503 859836517 236782645 32491465 918715629 496639527 637442921 285619581 831963255 722785921 659866721 248725971 531061343 466884503 568266863 952562083 560589259 275508265 773862345 259456739 496607559 263669933 228055699 91873209 92151755 836664887 143993813 871574385 709839283 196550021 602002559 113290109 57298373 605493249 907370607 866683001 113696813 950409911 962813793 104794917 159781761 24149859 231070721 948832625 223565757 494513505 640909535 384833391 482031431 528111799 415317365 953752663 430430701 505218839 504716069 293741969 446398437 615600345 412492343 276373413 257573577 443237369 566924509 501125959 261159585 441838879 901856303 106957907 629480667 601560219 970446127 388765899 533286729 944960357 624441799 347927515 29276971 114297373 921105863 85631701 358548515 88428551 954957801 82577463 391582019 129848341 240608973 61918883 383817725 443159517 665568767 809077731 62360367 440261789 613827823 299228651 467938845 299741761 168148981 335056343 125790071 985335891 53313363 67323113 415828047 850079499 11429939 987590029 730446631 583568971 853373861 108206167 856251615 878553241 669945763 692236545 651210183 645924389 368254989 246612335 809720979 747632067 505397679 820842155 64219489 891357687 441785143 279941609 511905463 547060195 467024961 234341765 350051969 732353627 90254925 917377539 401215253 3532499 843107781 246441227 145587249 158388845 330397433 77017715 170355191 365894895 24490275 453805877 139159033 551471559 65424227 598189685 629946407 873596685 401918405 132769405 310046179 697965697 31026231 490112451 929065199 221726345 477347221 394333663 431382139 170528567 241500831 197966999 84766233 602893631 289036543 110784723 865907913 88834305 816522819 528180649 569760239 977636229 113985257 82319187 798823513 475439483 790514001 953222711 955151675 547728953 619825857 927674331 507783987 449559231 588071533 550864375 4931399 259692211 618636399 110102371 104392675 560350565 575490247 534071077 13921755 488847051 907566173 410427237 277411185 102681735 431203845 583767163 325827397 214819551 373720439 187996125 932080487 908903875 266712147 516049201 274980429 372073415 514337573 721063235 994563025 780178223 511066715 67059461 277550651 448728285 204492111 539627665 280687417 638684517 335951685 384686125 787365085 729456123 386312803 352210755 368744103 223839105 821213885 330525541 927347833 884811645 112510283 385667409 566195109 957355805 377556717 273776615 968753629 310052409 461197165 983537973 12474943 856630353 655490685 16561005 504820815 608167819 88307383 611647467 270544125 612687287 709426843 527737905 119228317 632223053 962061713 582876395 298927851 64995949 564665579 234749675 910787597 946029531 729999077 474727983 916243345 401515017 189375901 776512729 242527339 132423693 353398813 440500275 696024827 926057125 491409751 489309105 205793281 831028539 583481125 32386031 689160113 134761693 910356293 124116399 977375899 625719107 678876771 34133213 198296253 154650059 243292945 762356621 754684031 820858493 732657861 260239095 274788267 880772871 586525411 753326723 968509049 337455555 177477555 665317049 585902213 415157933 844641127 498698831 206762451 641781357 701192473 924042525 855190993 735777621 900401607 367394599 45625943 342172249 221081437 235919257 596407455 181555739 885634989 363489735 287774287 828187105 861598573 261325867 600832117 641581721 75682625 34072425 842035845 462204379 641901233 588132683 39436125 695901927 878037807 547699143 356411971 532820387 640346899 751953397 897953763 489376671 341863583 664467737 582748497 999541011 150279933 740241825 911445775 71353311 120658239 370994205 116086781 429160583 455371611 663059529 412505195 332807995 381032757 723383305 531640079 31928533 954318229 990505577 753754627 676157907 451825451 902748825 219872719 220760411 63627155 392460023 484690529 457243709 158223439 896294919 146783755 574480367 948333509 165078387 889296525 310583187 470309959 834389773 190737931 579262703 889316623 935364049 585125905 185275251 315727679 983565027 266293911 887316275 9757917 283580559 175001849 14635505 443537375 337619271 963462397 829193749 650704155 399608485 529756621 211818925 457434963 858860655 611933955 803588975 403237425 698669967 901915545 942862267 422687557 901601559 323627253 971943835 249896713 353744709 352343525 974048699 610280927 827763833 804367775 288780659 856341775 263047745 530979005 561771971 659122121 599230031 889075271 489663057 251658281 24815485 311748777 261368429 772778543 733024465 203530937 87014927 973558981 532399221 886847669 683790039 695353019 451975357 665743169 341613833 342895563 809227041 396771945 689384085 342947733 752228681 871131813 291889173 143806117 235002877 103906767 65191879 703649131 52095537 178216497 84226705 870456637 1200127 819054963 713401603 24429921 427840943 863503279 929894483 254767615 275592871 16497759 177447267 166909735 644939899 603684713 959441849 295449043 857529833 549520923 349269123 877461219 552342483 248569385 250560923 541898787 294563395 868951217 769374845 401897793 269782893 780105017 963035987 139836121 45617837 212545197 420456425 362299243 747023237 347721315 423841977 492528735 418525857 675925783 730475491 253908745 446342869 438037487 753467435 388273057 931269659 970320763 401012227 534771783 812404375 562341035 134369409 655319559 320061331 788074465 271745637 997788111 664295557 820070367 939072279 942029691 41007109 988239571 770933667 986894537 154378967 312179029 700438979 457861223 127163113 794355037 769533141 498637539 846613577 37648725 526002401 986420149 438222905 909431049 222247319 408153667 222104599 511415981 849745227 514419409 769291375 441648095 312486913 937720723 656302583 610285219 846056029 826409891 329315463 478275689 477269167 561007103 920072739 855317765 65036269 653145237 26738169 640972723 402418361 207235889 555805017 810576921 882709593 138298513 902115007 65509189 732517819 688143699 525461199 684274861 979394681 768538881 198248277 108057899 21381071 306229005 462415939 130464775 461768613 421107153 93916339 146131437 147734925 503905165 685104619 458715635 953699259 826303337 804575315 526452375 389257233 928143479 473041027 177259709 101429523 141552307 951541297 547589297 596920563 387269627 889747267 341086507 501517447 957674265 225193669 217573445 796226639 902780095 867404777 864755337 737236337 446613125 152091403 98755553 731710655 288540143 379501739 799658657 162526123 515458403 5718649 159450249 512594267 779566389 530414151 210963901 630992785 368376987 773180173 534562251 434536893 210621625 843264499 207935143 970303993 787156375 207287105 471116719 649096193 716590887 511029099 815128745 610711103 908365889 548329995 278123713 300592833 158743465 674092263 107920781 954336319 34670341 854787305 889860617 177679127 949012967 193446181 823517597 256520271 512599753 448401877 995795219 683426459 306806797 972995419 878170531 826325837 276687099 318244677 204640743 497830759 922088645 110370629 796538087 125037201 804841859 965984823 924280081 998647831 806372153 11401501 792440631 883948531 588327627 242636837 172878745 273075653 898130705 334224797 302093531 754003921 255326655 854823685 610934027 128745481 135508089 593904127 919059101 994010883 345667527 283096917 887837551 439995135 324488217 775905277 300569029 850880227 755194571 41286159 120606543 719366975 16203039 866393551 676359201 198330187 885982523 716033193 150906295 400047077 385899313 822242353 496179191 42669205 191448571 526575905 330854447 688174731 326892665 475827293 440952853 324588445 813378679 955403759 809091267 93461321 726154149 674025485 401618369 546714041 957743771 423058959 802497019 385931963 525960155 765316987 62113479 682076357 918092495 476364537 931719907 505094137 610202823 358368607 496840051 238458141 406684669 364824743 517384963 370304159 372314259 302779637 735748235 982682007 893931407 874268565 262649447 332881607 290837479 184331769 700998491 141858193 880878961 678796987 783220119 791488777 590755823 540421279 629598637 705620707 190028809 108992915 688895901 157542015 73129043 223583143 340434381 768115175 630384709 316043801 353627653 449038021 531035969 20792905 125340289 988670325 346190221 507690181 74795225 218081269 889836895 421449789 990869269 324162283 629488589 905150609 955400353 724732073 549657049 645276097 240052051 791429153 187168619 970943223 516975719 972970489 692415575 195175819 879796101 502236019 46668629 785176051 833937847 572609919 593235205 856142551 818227317 147013047 888270067 554392575 120630937 42068311 588865165 671607133 458664811 365149769 434018863 161558033 133999001 94602267 434428441 480903003 62286389 673373955 510374771 650894759 406248383 201450211 193419089 513624969 126085915 29021761 306523563 831537337 25389207 667740491 834928225 283247391 821229799 226748121 957595711 713846723 880376361 989178731 640497139 104595417 644486369 856558121 730354457 391382461 628696831 33894367 345066287 143135729 729399511 460661767 10588323 727771681 505856037 618277825 606525889 330605599 362220815 97977041 266640839 433122537 796543781 779292329 972007379 354432929 74493015 499952991 266991089 267385489 95970309 222250163 633273359 531808813 540975093 165468427 268050695 535856145 458663765 82081911 986238877 343824385 674115511 639080879 784490359 809506021 197105179 525290257 384623145 204312019 634468323 513724837 733040169 523728133 708015585 373329945 555357147 715145439 42631495 114161607 312566921 12144363 307167921 511528363 384732001 36865757 203017001 282662767 136874621 227146641 510976281 461882465 815636961 852684299 164639573 623906423 297044083 850549363 290294813 450567507 740841223 157601567 622742037 98223931 441266003 65338761 33814347 187937821 332831483 545625429 630698547 268961937 950898311 28070735 529230509 351079639 28135017 662232167 107938043 995105239 869011963 848961213 708072651 1759261 448746619 817402511 290536499 672543971 319917077 783583053 394501295 649303305 428262107 595433095 716992551 825943059 746672067 824927481 710035941 284995891 936943537 536070535 114868129 189510719 996403309 324428861 707682421 838981813 618064297 144397133 933915115 105200833 485809149 10579985 948024555 460688429 117849067 133184015 687936205 936103793 973570269 125352945 425943119 3578031 176190501 69549705 123724437 945746605 557303289 39789523 496911405 631637467 806651517 567986677 788156939 60884301 419468473 645973047 827154573 791611335 366003615 75951627 461016697 784383661 726509831 849707025 678157819 42720525 296713907 586001673 367518631 881525923 764208973 268842207 358592383 622645449 688895333 378799013 13802467 846708619 914839157 131077785 66428067 343944341 992540127 849019163 201755637 474923583 613327851 29074361 474595187 796790921 483930827 81842981 199870757 971894299 636729751 803864379 745833079 830201665 239164753 510465533 7678273 304877813 66063331 317176983 240246459 695391191 324127517 432344669 599729807 908863787 3678137 390224839 486727625 965018595 320853081 83935101 621493211 762599829 280651907 279168839 479921063 316026239 703435693 633765657 161925233 618139531 518795309 924406287 625265893 277246793 325374533 593535339 103083543 542596843 870903583 28998555 84732039 607364181 360334283 970047277 321730841 8932365 144959043 294463457 186210331 329625667 689193063 340981657 6184003 640929739 303298819 864647007 537355179 487256361 738485447 394234473 807803099 951802239 37850443 456880911 794977215 337449377 77661201 512188885 817649837 474512131 746663297 211290215 618616673 584127175 955349487 847791769 236566019 672682675 535398035 199273829 141459485 84512821 767149197 911331823 416777639 576354661 137497577 876670083 147689469 518776835 752090261 880344977 68847331 746063989 672638829 636525239 506346375 663893709 448656177 596429241 633542529 864979903 469462923 201344385 92072395 299693995 305154059 224285985 12582347 959708057 340726057 477047509 126541 950179897 926233419 717175553 915140235 119231713 12324277 552158001 790393117 250630801 111642525 480008981 865209609 75346159 183474455 118883725 310804671 375000907 217926697 648947607 293640979 97432475 962032059 124909411 645647937 549118849 889114779 868363585 748794609 794420547 575231111 649726125 966356781 742528721 578644253 209442125 780397419 271112895 987122409 22723047 701956491 569620303 474755673 84701555 386830287 398650729 820777161 473691659 696720869 289805211 97262455 366771185 821443045 743584539 742851217 646629519 381454663 845770443 112000035 126749565 769865717 493214767 703789867 814901105 88480571 885918329 795666567 4849491 710214349 995205505 128890881 818344235 912432071 419039427 354458445 324729645 121008563 268986983 224196863 635694771 499990395 170142781 190562717 129912643 452365939 539341501 960090253 184777095 930896219 284953607 48774947 48481363 166789977 664307935 440956821 500054433 970595063 122390455 298747399 528442259 256171819 996729251 138550657 97781623 21653075 465857383 344851701 624094911 514209077 36772967 720640061 318079495 477656061 465409459 736371991 25003025 254748481 762973443 505999921 64845513 93813503 752206261 484632087 236069955 758804889 364889553 936905285 348980665 560699105 774327557 877825565 126096527 994920199 402082729 882045929 249892175 384630189 849242047 586886613 303207597 250029271 118183401 23323905 166818949 500351471 308603003 579817577 622778073 629998287 881411177 71051257 644790487 847293103 714618453 671837059 608057293 236946745 20275075 333382589 826284605 215100793 567270117 140160843 456660675 573691107 567552019 841879477 933899057 960072789 597345865 983745645 886808437 941132053 88415599 891666379 520903853 395281871 677171477 14561297 473266717 793776025 489116019 381844073 456572461 586797295 800918121 639119333 168836979 113911993 423161979 477208187 140912041 492577601 290589657 50405903 408640691 912464701 592432989 550572393 384233885 226425549 736805765 336121145 423941017 584957043 980163447 606169373 744432385 347775519 769882115 2565265 10694233 278267939 213810847 772878337 933382991 660755005 631954029 928316861 585317299 758271637 880854323 332510975 294435459 991600311 198190175 580906729 849954015 57561751 4222987 703549315 796719379 86741907 698365939 978824893 176700309 548226927 328681601 783189875 473459711 347136859 829019585 710532197 589516305 290740459 583934575 223505213 368305339 854825755 121496293 872753547 152561421 315981137 884019247 160645065 803627333 704301659 842137849 447594073 283405251 514591085 753223835 160557187 605060117 917275431 857531413 684632439 901041133 51897483 808022285 847697745 742879783 515008007 196680403 795948561 101886405 946452593 57002847 190908065 404432113 546551303 636331601 586055633 21875203 451133803 856783853 750432603 46106739 131210927 172638243 504212193 197537763 423503427 467467149 748788457 938440481 792040457 730195561 81859561 574690591 204752963 316150685 845034295 133858809 812431521 457545657 273137173 149257201 187019061 806609395 957702827 753053811 707251583 115069229 910916877 76956435 431389539 753189101 71409715 976000137 178730031 971876449 467047165 993244093 649292183 707639651 933800247 774498487 570567355 322261359 278034063 528213419 919509787 92662445 179130273 262580725 979234729 842863343 843602157 233832217 795176889 628157097 854783451 181558207 658661385 383117309 713426367 722678461 165201851 306843055 173569745 458424845 260930399 182065201 596591409 423221201 138154475 311499417 155332587 41085273 56185785 456049063 267196397 672480787 95267731 252241091 371812115 736648349 459238305 444636409 418293533 678882747 240845947 68760067 6937267 184304469 864831007 936738623 706191465 379525505 239932145 589098165 410342837 65602937 558892733 181391381 757022205 778903201 338691515 678927283 745261445 186216835 357040007 869520275 104342145 591459029 605916199 335303769 359941131 433833583 770794247 981468757 587770147 868401239 237628411 741802109 737684913 540256181 147030085 619890547 352801161 201848287 937988485 228578429 96092513 330004305 162555083 131377801 224395741 660416171 126915979 436917553 384272007 820679097 38346917 862372785 700812493 526544497 709769051 708016625 634659081 438277611 111419995 609600387 166439807 879982445 996809403 546329755 175077717 970917729 838399223 668603163 287796125 386404953 13730295 256792455 722182739 861922323 487946247 2432529 117027157 431983727 427522521 942775183 701011821 728171131 416246671 997249665 500067661 601907047 68984237 83701773 321268879 749507475 690059805 801457923 803427505 472305023 85467961 522456283 874683423 821484247 226037435 257039029 232295211 134988653 842161865 22149205 243573003 981668927 901401841 292999467 583623907 483287661 981001511 832502097 287685307 778157637 94787273 443335299 745520261 239091257 810623389 234389291 766822169 18566117 738771663 43985239 343046459 30436619 171883509 572085695 36406417 867633815 67517451 373165249 486268077 617055131 893338233 341082467 684749833 568677461 235326473 152749143 734109447 585457447 951971825 991299317 38884591 656726939 621638865 527821369 701054195 29534053 603311019 371518925 8089899 268192097 26983151 838936317 918921627 121274513 889672047 661117379 19019561 454944545 242968427 413014975 541662887 501196645 353501575 244247861 165112271 501778135 322918863 951986199 977499715 911071513 606803643 191444219 557048459 615524603 865410087 322636833 862505751 143140715 150335065 767113839 442264901 995600519 664070397 662415477 514530897 759425169 406336039 731202411 384027751 489455863 209213785 146737711 304431511 997335367 707940979 448221769 346122459 708371011 175283909 546432745 161834773 119899335 455533571 775356901 502456331 468071653 762627917 611117243 788318067 26958539 156964901 104356245 964432867 56581591 910087545 372223041 353802205 933406093 36116127 804306741 721736395 42615957 345455189 314986131 140585469 18183109 341040573 380096289 598283693 147321625 513145193 586313549 103974909 920635569 234111563 931613743 909196275 405862873 503134401 837485703 487878789 595607047 881678735 669382077 325851017 216623571 511040741 708241119 36526273 729932803 658797909 171978147 116343511 294528641 234453727 532588905 665292891 541121887 651834343 780845625 974073543 615000025 606194235 869743043 597864827 735413587 339777039 48401501 822594755 664185433 57146115 445310983 896336077 950152605 372841751 250852711 893254325 554417913 120640445 201997517 455623547 401853555 583848137 940100913 379948295 810175797 960012153 624615217 469247277 653059217 812835183 538001429 259204773 288872197 304359357 802440909 495100433 341105457 203170259 369470191 37300471 838660835 102103187 942705593 780568267 608589837 132638015 404052245 778175975 323631563 333076613 645150865 433000587 11842909 247619453 659241571 777965535 8446771 837385377 592425069 288591095 116278751 44370647 960294197 582807499 305468187 137477227 831572201 572487739 274400457 771022869 138479201 884457235 812273143 937818609 723151901 303490817 714347479 693286021 887054149 943941537 445903045 365093309 517573797 58932849 528687939 775875055 649483191 104353247 151812349 270571223 988897691 972643897 457597383 95014043 170137109 959208631 402502299 685211849 226037399 343249533 844006555 572757847 704179511 428054933 911355415 544994719 400947637 900787181 205279613 508154217 388223607 176208479 43889771 510879713 219616653 854590895 304050339 665043103 739225007 796004227 785228049 393229979 752814395 250673007 334145737 416504127 509047609 210537963 15360517 47627605 788710487 585934167 805089065 979009045 813615599 194862845 11249087 779657755 472363773 36248079 134876029 419437 19623723 100469413 383493435 831057269 197691847 3856579 627019773 93456909 611104967 877193551 423309297 835596911 314726861 61485341 780418919 830957889 578192671 974925283 263008731 176831633 187499691 692217157 419673841 759626963 268965641 948664779 284350323 801688549 699291769 757927911 650221143 784681997 185223139 960671987 196024757 770602231 146411475 305853997 939666387 720101049 980990851 477123009 821415961 625724113 844418003 400651201 775901725 288812321 945421895 940643107 700692123 993833723 578094609 197935307 304042611 694136847 361448711 261411457 643532209 309308287 561293479 691480055 471985291 394162381 427128091 759351749 130797659 316025065 565325363 643874415 814597281 297463077 682693217 361290587 983401997 876827201 242291145 459063771 470143855 616490337 45107505 294495273 27445445 662949139 853686537 212228711 358356015 86329931 746310757 156675485 861979899 347548519 949897737 289027261 404191387 721349419 369105239 153743775 969727401 532839879 299708771 572143621 217823467 12012495 689062883 838899353 301032523 187196223 178610227 610868203 753397725 751572607 795686495 566095223 140403929 98522969 169186835 604786841 370914983 146650627 796278695 350304159 286860239 512610845 549234971 511847609 693351173 398396329 155760919 127723263 826865699 775196181 279294951 483135347 687273775 684861751 585681029 356604415 430066003 417920589 275921297 410428531 488606179 91561211 708608591 235922825 678394713 577095757 340690353 59301859 813103703 817437115 829372237 786307849 397573805 430724641 652963425 367567979 557545545 736437955 596134103 277781605 522667081 529747025 467002941 61783863 966563311 611801567 109588683 445085707 174486951 934019049 817793119 833315825 913334277 800466773 476639617 249990371 890353347 487261809 118409313 37430979 39610821 734079985 109532115 344817751 379606549 52884979 832339545 124657749 97218791 882703101 420881179 542206547 556340375 799124731 268057831 805623251 231709097 526853187 156559155 710809917 369500613 951010963 400318241 790019813 363162817 916212751 393458807 247072771 166864791 40363587 588262051 373982649 924591467 900519719 95520189 399062541 934953607 822173717 783270277 819496181 812208481 855347927 488246369 702191429 619933073 403188885 951161443 229490115 566117595 209094887 639514687 204719127 375901229 96620747 10867797 618221521 550990487 797040549 400229293 573817195 657295445 229457987 212485367 740435269 442715083 149961689 452710793 792686249 893360261 638885125 484901985 810403531 874403381 756920525 840289067 466853823 996698549 862945693 73562929 63313803 738071051 407937611 142973035 34053399 53444959 666970899 401194619 798349617 131646471 899301531 296087463 841585559 214412159 400192755 362003423 689352679 43230567 772171915 410444727 938457773 712983693 390597957 418461553 313947223 624572387 899572579 667494901 834526785 349678467 243528851 955569105 307963305 143019955 829890795 32748603 399549 754774493 647440873 684707349 732401545 121897875 554361713 275231971 423044875 990426003 912411855 138894295 839504929 963428541 741870523 633115337 73986711 204338463 383718737 312767285 560070683 644065003 260770583 657576771 420024135 818458493 744657911 503630019 812976799 584082007 913207627 532514861 10556297 789310501 320798669 430288289 582129497 94160825 656015523 467025379 167790661 558467857 648654427 666512227 678037105 631945293 476807659 229834555 681007333 147562685 143801261 185326121 309085845 280879055 84850281 127904659 144656725 266017823 196818507 245545097 3683561 432480373 674832873 881707203 316568061 107414199 87989567 428273567 847791389 266008313 936946869 862060323 998353351 604148345 903831061 452799747 688350553 721015449 78207383 144038289 361155101 858469859 190877911 837447377 514508869 623719691 392067545 985329509 543296745 308320237 321221133 164711841 976565515 618037901 96070981 390997113 154661013 954423827 143432385 675817103 502810457 75595221 796848165 393994023 636984845 523376205 278799999 199816499 311052629 179761695 795382595 773288011 814171833 135427349 375486799 713345449 271206315 237175077 508737513 288879419 115743875 790121831 344360381 202636939 947093893 220769055 888193505 201292755 876822999 13084347 748400849 804220657 137472651 480274123 508353395 743872111 411660187 554109707 286507543 417448567 120039657 390114143 928416109 559833573 35143997 204460241 915212695 437780791 730402633 754948759 325000983 148093331 101094565 23670025 618950107 215814601 436356307 960930477 668111929 960161103 329417277 489624875 366361583 379734343 971843891 911072347 525750561 953770871 22028015 454628147 915951965 23829325 665954963 455284441 82780309 717981411 501815847 806835097 802129451 24625141 694113179 945534949 407985635 697907949 711616461 925861207 738926313 116373975 858711417 710159797 575129297 370833263 212833353 934726633 564566685 503843343 337230291 612246277 439630253 970798787 895295627 836240709 438394065 408278071 632070867 248118543 530285373 67791299 963887607 5233131 928831887 914058855 141174567 735717259 77577933 155772361 895954555 535337679 190508389 370690361 876234741 131269303 485776937 326006447 973832829 590809967 630872407 885997513 991594215 76351817 837256087 968165073 333893355 631562691 412399859 950380465 75761707 839388799 645693411 330403589 416082733 419302469 903818307 150122763 174503527 435024911 29065815 135185065 594093871 991751665 275282383 708878959 288872135 740155443 470010557 298955667 462561111 892427839 335513761 930166007 880299763 602831785 406069087 53100065 669514899 963819307 49859653 155229759 356314905 355114409 666568967 581796651 411103307 52919597 829834435 200656993 613404637 831534059 410148607 115886601 469552233 570494271 363247271 302831605 367797359 985783979 627882257 917527193 223795545 894005979 47479545 998599191 581421685 882829475 55267719 584911155 201673729 880582141 908606789 672063583 245623837 707352333 740916009 570089649 582580687 860241181 670026643 362036457 952879627 625431969 723752261 155411565 922983595 193767223 905389167 436546639 374664047 41852061 934713763 85002819 906923263 58559425 184750305 279350185 747690991 219125943 877719691 314056841 861224887 248061113 202084467 418342035 995816887 678701355 425818827 736371739 674495033 961055385 151928113 830394149 754977647 222319539 704081835 808510549 997327475 925353561 367040419 595561979 768433733 705666185 926250739 72612621 886801613 277492595 52275413 439901229 488539103 620435047 242303217 731216033 809383985 897918945 139138641 37688663 180590183 144498821 175270507 33335785 519380491 799780895 128474141 426043795 219127435 290292383 68806317 850752573 771351617 169265445 269692615 824861049 159681393 200967409 276250499 122767227 860517697 818096749 253934425 755007525 455317701 538972719 675365683 473947643 911103987 361894899 74903899 206850351 323532463 836750233 48809097 427588247 953265601 248113711 169564377 235324083 252913115 61837543 177852623 706541225 631452311 148564507 933323355 968048969 340566899 396496465 161061839 980874763 392046299 184569139 576941291 457824781 502628129 249175187 604489683 587156247 584491387 854700399 341114901 432288409 196837645 176461545 160182181 766484649 755601887 244619593 63783395 234717957 132784611 911115527 583745679 314309655 496490995 420333501 272062683 19233261 79472333 409636141 285554779 445233471 686753309 353833539 564361229 571279465 332462451 582255635 339367763 11092087 133477707 472935125 265324797 215545877 761166337 829348081 236239937 378968221 45684963 618982895 228855739 561795339 253371681 124049283 158594671 532561159 253513429 75211401 722414283 497767395 89483261 323645443 20516775 404430227 847730565 177404957 973499195 606884281 236873277 814403883 43639345 408888473 286586335 977025191 893650069 743159333 535773709 884967477 63474395 816763123 279822671 610743967 505052897 101055811 400104471 418366681 398286571 924611067 906920381 664555775 300131497 520846251 322582403 61549397 126083631 214276491 168818579 757915459 464133881 715795577 200381949 864748127 188208367 207107069 771850683 97705827 776780123 407864647 126180271 944236339 568795123 632069677 488975265 841516505 374616021 142961197 477439297 623311243 836908167 937443697 407414571 578609057 871339255 471710663 350321631 944592287 218748023 414632357 540684487 490002483 627527109 810631981 594446643 959383597 972309513 51486501 64688989 910906761 874716623 141783035 605462887 988801131 735148041 728893127 416628825 186550815 324009241 701305417 92128547 907110933 201196483 186010601 139821473 711564013 533884465 848071859 776394643 554077029 779213565 467318883 865587107 37045101 865690145 473397843 848716897 891711765 46185987 328968333 900444999 72819611 253292145 336529089 790641077 907859039 762744223 881303877 376496119 916544493 417055531 782382617 611058747 399449339 726432027 108430307 723684765 423639395 882432731 1731315 338023709 651682085 864662593 172217921 171768485 770954609 141107849 927558763 46972931 657230233 432599387 82600121 435340789 455105557 839166401 496083995 405822235 918299533 935589683 454780455 266873083 196529607 363729035 59082779 963553547 217977019 658577171 773943777 280279455 854206851 930664307 8980743 647257341 730651489 376932547 417234883 260540493 872427713 324197249 317753847 526077597 300793909 611371153 682417193 318825963 169967483 113332289 528692359 498405909 610044533 730261829 365548521 4098535 102041133 283435963 535062223 941458447 830460375 101977129 388371041 590820393 391573453 272704121 866714475 793687989 196434071 137534725 922236263 297019163 166977499 134064007 711110005 493003951 774688621 386665511 914189657 731900839 64652363 58031727 286143621 10169127 147156887 154882133 969742607 293776697 253571483 575511353 386657975 629654987 351540427 911362781 168344035 57963961 150914755 427433583 666215587 806464449 366215493 724676997 259259823 220102545 86255935 626666269 246174053 465893557 724402113 283954843 845236429 222356907 237929223 672517835 258821781 624624337 624717171 246869733 683207703 112438641 235891861 52514181 324559439 737158845 335148059 288267183 140224231 980621007 210848483 849290195 666638637 134379941 500701681 167455939 166185751 843573803 225686893 82231487 854941767 236997427 375936429 590259309 957474051 211292275 283307051 475528663 164075833 229650831 557367947 451078003 302701953 2422031 622371225 378683167 369445403 475976037 810940485 813733665 744088047 467256811 711428269 114685733 659828105 530000351 516215061 864219969 849595427 672244589 43691751 767918321 91215515 335709863 513498549 825540125 840274043 959132291 116162107 415164431 960956655 992923621 496512861 198888575 904096205 901220501 331032871 714487945 322109593 14830661 106842571 645830065 331032951 819157901 991301283 519727845 724113975 739747569 192447285 34514813 365607249 987995095 459373609 703491123 524795619 174391185 235145303 915493933 574796213 212850265 16885685 778414071 989358135 444605521 480584299 426165897 322357629 106751105 182455743 446771263 808457803 5195227 795105065 771389919 147102211 934250551 116855619 158184341 618368953 836369751 265382095 468740599 662413091 193474533 34110905 291427073 556012957 396035187 351702547 684034329 27943731 59283575 427885339 141083661 563525521 863425363 621229105 772411923 702061327 418240339 285069795 539839173 521562541 576751271 135793891 422559787 133089811 351717479 477645069 909069235 727723661 460682645 476267107 292521263 774332437 346483227 137200657 546883039 942475083 273150921 500023145 105652069 833543539 496151897 496289001 311699667 771659135 269879149 952478515 736856987 947247875 679375757 341772817 647317147 384151875 884507945 581769591 519572759 16031779 184260765 115466369 304611775 924928819 533979177 35438193 952583077 51130539 986928375 226868147 135742793 174294633 486583831 595245787 326341009 149706485 821968259 782342563 25014983 220053117 671602973 909367279 410309537 859744219 229841323 646248649 754926653 92275595 621894627 362881895 458197281 549202615 813256027 911843873 538930745 587485741 8364949 88269179 471642587 63749475 759809785 138539809 702225349 738738555 160759259 443609319 936159257 158527033 988911475 361035207 589438569 442834705 915868899 215380197 900607141 710763541 668389425 589654157 889188399 478751495 607043411 491392815 721216713 274881613 101187871 794477161 342028707 558424569 430312023 710803967 917540431 762211007 92432547 293550297 841542093 526469887 835310487 30792717 172149633 32551361 943648171 500370903 122274361 574687669 366111551 280618135 582098217 170118193 144707999 55839705 62697711 183361075 940043257 163289427 695116945 134363493 996425833 936776157 673917051 584663317 420746989 217812605 54369665 753136443 764940403 557149021 475706853 245940085 530448329 589096655 309279815 915957771 876538535 452344399 972092599 81166059 314232499 41042819 644609963 284872367 134542961 999451441 780983037 239579539 216546389 48130129 994130165 118020225 245216185 302958845 725139777 736940551 38534621 173486453 433444851 947280731 921391337 30229289 643311243 840793951 157006065 174106539 584077547 365975 376563947 783524787 948830821 373290805 106356155 755545129 740945067 830670863 37076779 110511891 549364443 664318373 803401449 738559145 325124217 809034271 548115855 508936261 681426549 877413193 631467425 872450921 594313763 595692957 679454853 93229249 159757887 902136633 922233743 581243681 725388783 355387111 18295541 615260801 853731777 964766481 626549467 104624905 274640041 910452435 432418891 192452097 49312517 92857067 216178739 976888029 491071899 901792959 310260845 355359801 865809049 151004511 298278077 611670231 74386065 967376515 28783049 81256611 224153985 747288457 161071651 105310129 106971089 776362103 607200071 61830971 909514571 438516481 411414675 718986403 170978855 275652473 520203345 736313977 573891585 790701537 792818355 389033323 678056157 443122913 118374609 871387991 270065193 852791495 79166383 99157567 982621117 617771145 202711859 486770511 460371155 912505033 780221231 592607195 529536273 603748555 26930781 593278557 440942981 403829633 163047775 786812281 161738659 313893505 55617469 849553147 976047689 276465419 479095529 511027923 917006525 796901127 862825275 955300383 629670825 537638913 530516215 866585123 627442727 345698355 137327939 852852039 125036723 630634363 129469745 552418849 333292591 139705441 523797179 342781547 264945387 921162517 157092291 363325961 627618717 870631533 597854481 390937095 383337055 764882153 315487063 689890197 110382009 738558895 510220333 978072851 884715929 849310095 903372053 468886271 959646801 177420287 702464633 149730057 565571489 694738465 208652457 751750401 399907757 599147451 95788767 10333155 60533761 332756539 121461309 658378453 631701653 727365051 886333643 416979997 696984773 151549943 262687867 191475763 565322839 413667673 99821605 257060015 335309429 1002477 518085771 644693847 451600569 709549679 259297623 955487509 882548253 624213817 425385497 803154683 593776135 265120087 54555467 747995975 600142661 164670325 596189517 872680537 73419021 863472875 389877099 917938623 514833913 702090425 325726421 771734315 340907793 351989893 795425187 536053623 679492289 71763359 903629271 998310313 159323615 251889663 493325913 212526571 684203177 720332611 762864125 301203601 425331649 581446581 146845819 504661267 158712121 806766399 772991349 231092505 572269443 393577597 492785011 696288107 380894331 988691885 750382821 174425853 649638507 694537651 108072743 940445675 541318395 89010467 382236537 960075895 803531845 766303539 831262211 157877773 728593347 911788737 959711449 29487679 53010779 577463125 85474035 152662475 663686235 187559965 313380147 64115603 558519415 19528433 133503327 629387681 830034125 420486995 579345197 713540649 713290979 648702309 712597297 908290695 510892965 833541883 758599665 575018045 219808361 524173961 644915413 311986681 371709419 678571569 85716781 187465865 104459089 588876983 400510769 1240557 517174059 451192973 251491079 972849223 510634601 878273737 798779315 610333923 736057197 818232363 407548969 288647473 988430585 685187097 588994115 592923599 926750523 413462437 843020737 697315711 888876747 383922819 605703499 448186927 917059489 780907539 741885301 729132527 930666023 54290525 959974327 952396283 743822889 275557135 407272817 521505207 605789147 273129091 507004653 98949549 455810779 426166967 995572831 537934483 539895597 474617425 697373915 976903745 629344833 98432417 672415591 878364861 219840491 436419997 139820521 159371055 631740775 9289959 606050357 886340845 773972059 957661381 541736193 675705457 653310933 666759717 122378995 860632161 544218955 413195935 320002959 253668995 68809111 825341813 549522505 555309263 355803137 91385993 800533881 793152093 574720821 634158959 764105571 967408243 537836105 934815323 614930733 899766139 680820155 916433199 885094891 749716487 606112877 800795759 844730771 693643219 78598833 247120461 334709769 29765317 672173881 952710047 683098647 143877091 270943777 205800677 432068203 331762789 802373107 551360837 749046431 147489445 585879191 986266511 454313013 763379493 268743783 329811771 382257561 833935 71103261 246728039 87747351 813069243 335390431 647793627 349183979 806796447 897717051 701949447 260076343 661991267 376004645 120324609 562103043 478641743 53411579 771315591 901482817 313688535 917845891 557463299 512938187 503038359 346387689 513195651 513816671 406424913 144986307 468857535 873786793 92098545 983529997 495239187 387312187 312060041 60807727 179769739 689686667 158099799 942405107 235362771 931034877 256471739 594092177 971022917 241650393 120664133 35729059 639778781 594608463 62392227 238207793 607109699 539081341 280785843 61367465 433450185 935676511 505203063 112729053 831489379 715770849 950115099 609377037 561331635 346264019 669196531 383793885 435025405 733569007 979509881 361118043 47186483 406108119 940247887 913573627 553678059 681217043 545651267 467009435 568512613 424675605 373106761 711169407 794141575 788897845 363391865 643911255 686072033 91734709 172568087 636207671 58137003 694264511 865957775 213293211 576140995 497123939 512812917 701502825 927034289 984987291 915676291 755736559 809860517 927792713 785065885 637829603 561867891 402948405 916074703 707832927 175235999 25105679 996879433 150989547 901204301 808314995 416466793 302879859 8023885 109037027 670501299 394045517 625657877 650483395 104324047 547386167 854448071 627749481 672836243 686357077 954347817 204143885 818817531 104382003 165543593 355951825 335972391 97456073 342653791 739224253 178679395 430706547 872482315 985980353 106387493 652009973 728347157 298164665 873860613 341230463 356247177 567179365 876948169 66836643 397229859 185130095 94166105 45037921 134339901 562281063 238042829 281985567 475447009 620341703 126618971 891213989 781788607 571969007 129097577 765953327 139455533 341433643 970423683 552938325 768878635 669632937 988586587 806370591 916929119 507725957 796422603 833304057 792237849 655696063 370941401 459478969 576283985 473299521 654586287 224715675 729154469 946875611 342716575 301146439 302043485 239667525 12947239 216027079 749231465 660856357 761096167 379665553 646462813 774340863 616572077 416008837 614726781 885534537 591866731 193746661 187840685 909678423 628332347 982074977 367509373 238057327 828022627 101088267 737877795 460210873 386425933 14567523 935847809 129181765 424862861 390651469 234253595 61059083 906453467 483856919 856299557 760737777 54991903 525912693 434391921 386724027 343033953 70384005 521288065 986058013 357631445 310740939 664966011 103126193 26620631 878666039 725519921 993107191 287359977 757195805 651847959 364576343 679127735 56817209 797074255 15488805 931526421 452432305 660952221 713600663 474356221 557991445 929661043 601682899 131743889 930748757 115032807 636380893 746899231 443723473 747583415 13807017 517943835 363119695 793717583 346958609 476795165 487809277 297784761 807785939 954222569 258620525 933356975 525757853 482263915 620169119 719548815 49617915 607131319 836535797 836539489 69717867 427593223 47311425 45668563 334102091 324806591 178761141 105655871 710370277 20827497 554278125 38851489 623535979 6671547 971033843 924820643 775298295 732497037 496852017 207414931 755536519 240801763 185736059 57078119 495832329 319311081 745422097 897477313 219814217 459121139 612447127 851308773 264187139 226206333 668409627 602335687 960013785 401439271 459096081 874012153 348686933 69870525 861092953 734810557 651594981 86745141 382483509 13814777 388241635 710411687 74034003 472142143 123263377 126719575 694330313 808559299 248612123 633162675 708645139 909830501 178343309 76425035 510800665 878974639 899390435 753713115 714038565 611233739 739323647 548681289 416925423 613249173 375012009 946743963 327661457 846907019 538293395 821998857 560253075 681181139 288395095 950126315 175760611 440552509 998987123 728294343 872034771 627132993 189482579 608871495 905581603 362807293 559032647 154906429 786762999 425438777 761825929 572375207 345588957 679090021 383983163 643750565 288449225 577289365 892176741 329626245 760965401 366647437 166704889 894574009 13661843 505678511 992190159 351147227 352194403 84602383 615127211 592771761 284011549 796070497 575305009 446859557 64427715 19803911 154107641 666085961 671225269 717023239 66526583 190517083 141103299 689549071 111442959 319584699 851778595 263452791 261254919 748322295 954695023 903542847 604718229 936941761 617026223 813335823 866489807 560454645 980100431 654885171 860841399 614391189 719247143 549270437 835790903 949439181 782548847 21761283 134091551 241884913 743667665 679876247 467031849 393109627 767693657 592851275 868937463 965879309 504698745 769811131 686891025 759563637 169881363 802408485 402996711 217639079 779173227 480269679 728226519 799011001 604145451 823404073 603332893 119508725 195393901 628063883 279953379 500561857 957403819 106625139 944469053 663922611 343300555 127247977 826476067 922166917 860054811 671503515 39250295 715063321 972417873 528581091 866780417 194260351 26832007 372480701 920051057 985341925 863887685 411027539 103264867 800973737 71214455 939936627 778961239 803751757 945535859 988113299 480746167 903623807 722163445 321099221 744619219 738778383 151924261 879601661 718965987 606372345 21607053 558028669 533331469 642520161 646539813 120858221 837319767 653375633 305450569 53805705 788017585 294419199 278972605 633978937 114362615 651366723 311901359 352551309 606982889 616184609 514295735 778333501 200548143 262686087 750105295 560679849 925427037 6322053 336597341 760857045 391701483 951984471 544228397 999305331 645805881 561530721 313901177 962695897 243147923 484930351 139671257 206164997 986446631 535787633 755103827 196636577 599328017 971439623 384447319 307246331 18424913 555757807 32036537 276748811 154854351 817267545 607210165 200068719 977595487 645101973 349754867 559720559 793910201 772019489 899915901 256031225 58099581 636572573 372914377 168040871 332539445 909863383 875017911 286627253 20644947 126898367 447828105 382789901 572965169 878968949 696422893 845463101 351306255 747393337 432710907 307830907 669287701 356259959 837523755 492502185 810074199 30045121 554244711 165746763 850504907 286638549 818130939 827011731 4597591 346081683 204791705 853985623 76315071 677574409 104257635 498655767 264824247 142007913 374311389 468008187 420546521 724388111 37503219 25186767 589366435 747028093 759076089 260583693 192005505 792398685 866523823 272466643 716012997 60848263 251516731 220019179 381676967 243736051 959455015 367142591 204354887 245494723 28911977 878061675 323790767 904348485 913936991 606909357 700252113 358003179 605715151 35302891 842126213 757627473 153976037 198399029 787039375 717115193 8754487 535119937 680463765 743996561 24104387 273687409 464894249 836282471 78588139 281337803 145119431 628575227 833266817 663870207 928725453 830594735 115263669 748489569 222412421 717735693 932086057 838521587 117695265 288712649 853687775 921663069 15886521 849181375 948448327 390959597 636907089 503596531 828425779 937625 425360335 171792013 82179299 871008003 545997061 652972003 596041211 917091439 476335279 184165999 179711625 574488015 142181225 741632213 797705217 903205049 122420417 364335839 913404737 49840237 714865191 689885825 613651855 564731091 631942133 642328793 495433111 522819447 96518249 610446629 612059247 192212115 177076911 769650643 702794899 590298629 820338135 742963575 913059563 119842389 650547675 150139341 497513921 829640115 899553437 784564405 546590155 51262709 557180133 703547707 65364777 703909017 182256997 22883477 40505949 636914121 256644021 995802395 372723541 614058323 967005015 145865043 856455785 837487791 17823925 280838885 808802129 289639675 905728543 457512359 116644919 557867007 212358865 25371797 239165095 735283497 567304679 626582223 44404885 781474451 168047471 28805283 207380319 527725561 767899993 530278017 222692041 243204035 363371133 907938313 194611715 128614915 945030045 577787131 385122465 145348461 140394595 840523841 232039327 257039459 396673631 128168179 797237347 671165929 169841675 595182919 414938555 884926129 481979849 188251045 7109339 2341907 793153247 848762771 394270819 782296843 503014531 258464969 147388245 917152577 501902027 537229345 613650463 159236101 426461625 580660381 6313367 552254799 109286967 810566249 311187961 555536573 902629141 331014615 107030509 712896663 482979341 124226149 707624319 277679821 910268607 695763379 887985953 921596405 855673783 575976079 234212533 978911309 647589219 564417003 963413117 345361087 95997727 286142947 815595561 519035353 665887275 627923641 578123211 319751379 218229425 792408025 184116963 348988555 273926337 154808023 905652565 104818825 126089555 884129901 760220271 205229563 276302669 136344445 421469669 517144761 159154291 994425877 104261335 236910661 416481403 938225257 418861253 915113665 600722939 182650833 99051681 109323777 489910643 343477713 953963967 321468025 753428049 661935381 92277469 285450827 702405603 837005425 249635101 508852795 749220963 265048031 178849551 49311931 724590577 818211715 347197865 375016673 16344471 262748327 250158405 952647533 564812361 658709183 881760939 279198661 874900443 754938983 731390985 700519163 999285267 90264675 829512689 241424577 440583065 331969179 463939171 185716349 28681979 291338533 866819011 573276721 448003511 145407291 550204381 565812109 154508075 598796865 840248553 411594987 866778019 854201027 606850691 837570121 871821133 586719089 679180977 234041421 736447299 111325737 749206751 559412037 578685065 123442927 16913121 759934509 107925765 507842795 160458233 175410081 857841803 774855029 975435719 82963689 786908627 401472771 773188443 233900275 684704125 802318395 998968873 409951575 282978579 299571433 301449489 763149143 550290439 832796413 847640917 331840213 982003379 894537623 901948323 509359973 661215573 609232885 902746385 491587387 631904025 899121799 36743707 573598775 422616849 675814877 950432681 805882083 779094835 869155253 559616007 501852011 307651939 527569391 184835047 164193447 729631851 346175897 44371819 954730775 777714937 205800933 862082327 161851873 516251815 613799213 584929493 748585941 178375929 285798903 162424063 113025643 441438293 176139245 139323727 225842881 484835085 57214689 540569579 834365087 666533981 81647569 513682529 62994805 33480547 217802205 337324197 583757657 128712745 292827987 20388885 31395849 134965921 233396901 365190775 431607279 60898211 458403695 301482743 401778457 262192625 25602419 975912235 948988477 195134261 971720093 406629903 730569149 200720129 149097727 786028297 350270623 884793803 150778839 201510121 123504017 565614071 616577671 67627743 799480813 40773325 796011673 180351373 322442415 279939455 213552577 267268597 235259263 931165221 88069851 546878599 574611375 697306817 423981289 34698261 590607155 332853309 305021463 455760095 973967277 412206441 990607033 445504393 347964769 38983681 908691017 643696159 639185473 612422049 819130475 321211161 786413283 527430871 268114409 522989651 978660231 705020947 138622903 87467027 999230739 797224109 867741169 738672133 728487447 893355495 561573083 27762237 732733387 312733675 286783453 284000829 426890509 609880265 329348237 431449061 787571557 391307131 324013477 612929669 49689091 454404835 257457161 860504529 540416699 532725961 670662595 226970857 963100945 501111519 911655177 920216911 569455401 30422973 509087027 462486001 835361491 444625381 264169413 355082789 960053381 976866497 112015725 145968297 437505633 878381473 137800443 350752415 278792493 995788479 716729451 506479257 818677591 46735931 159621601 511371657 423467511 218053409 403960489 810069451 958382541 163294303 958935091 97922601 314919489 904909777 233886493 12492493 378920543 225063735 143537195 77013579 656718817 103753531 914991431 884229283 489916967 616210541 782039171 809205305 393824565 704344647 333131547 14711003 368110269 524069929 109714549 831695037 364355349 631843423 481152279 333526909 576492605 707686681 535783353 358350113 705421019 803155309 315226163 934557461 873045311 157927521 467408523 197522735 69971553 314828765 321742315 305998509 286821087 561583537 14490021 468927281 652791297 825169047 331729975 503057869 786230455 535406383 452932161 480474609 768933013 595263237 465175441 880909439 82323679 234859911 250498073 5990073 428049273 216618769 451766517 261210957 671958001 827538913 152987495 771462995 891049603 980629285 934151131 595099973 576977163 773448683 846178019 296476169 774283279 535856171 997231677 659449323 432236995 807024587 586175433 215137699 871445241 700623247 475004053 672976717 967114803 417592875 569334227 520524655 791100055 963321145 98944479 239798261 37679863 912058937 813796667 449020725 391114439 912183699 585085843 8351467 788632359 396131739 278271675 129757501 621625313 452294537 935556525 708462009 66387553 778958973 246524301 420306005 120234175 347709057 33111205 115385963 291160249 615949703 610693481 287036867 501905081 278889065 752861557 331229065 520799951 175182311 833637003 73504597 357108141 20149161 290684313 626176031 587632055 671365953 795280301 203644753 105729011 703141163 871725831 388361653 871648017 617163205 56134153 586586243 601370727 992584793 520941631 123555927 355779827 10433049 928501593 464799799 133124703 21190431 911472181 396395661 928516601 646739305 964205013 785603123 291832759 65213925 594979431 540392291 139943739 791541087 544940091 379125955 156348105 666533269 680072397 272820321 756752469 78056485 385581505 399145649 247503473 864237977 723875297 900123537 417816415 652558947 18962467 968770375 566714373 543232475 968607391 144151423 384831733 326954821 240271771 11037775 738784611 378724551 823795327 95344437 648678959 813204595 801285347 638797843 599942883 466678595 194179453 571101755 476381353 25381913 767093043 264704349 446497117 312798909 340039697 742175899 681293437 313586913 322081351 616776567 282473519 458493215 605429557 80620257 799035971 305560053 284726363 303610923 750706481 831234255 188013155 63642133 499125527 80044285 208686629 516969923 778109629 279413435 668244375 677849539 862806161 730693669 745840863 651395337 461163949 554537033 966352201 166394867 171580621 997612567 339441735 381258565 771885915 482806119 143610485 415442223 484824165 665234429 824852627 353947205 296649633 193041023 638565009 498313347 14802545 584731519 69303425 651510865 326916315 568470647 754836379 123015545 479649933 460743369 457977671 406648881 611886559 913401021 501891085 26938393 806617297 120797315 16555169 437039923 986336779 58986295 257360607 419023085 139149273 842963931 248657097 93751069 888419637 264880211 598798219 810015489 591329469 334664311 968836215 696320573 63804859 522705147 208506891 123773405 19576089 670400641 436742889 784628569 1860723 314730645 948043483 919870349 311129351 910869159 967317461 23204285 300836539 459924751 747835635 22381209 643332383 421665807 238637431 682572597 110268011 646402767 908960205 666502669 873709693 182002789 186608777 705357831 917557213 519545541 740917605 352452465 740790457 707531217 433631813 187118847 941964779 565073493 313207347 312205007 428557807 220588799 168782435 129890151 121906159 374050667 201826097 222598835 978651833 612401945 390487841 292377865 772895171 847554163 381706203 561242663 979690543 628716489 179727669 641072177 7117249 95801941 497267241 389922483 424538603 495548727 663805915 68331429 955287749 387629691 698600597 507032673 786186763 685003791 597808845 841648305 572015653 465805519 350073371 302729661 39503651 546447227 595583045 575795485 643212221 536758715 771572275 263654863 528191059 488801059 170908411 890098999 207918569 338815019 709574871 301607971 559436081 311482675 136743469 456759751 111620481 271802247 695256195 59112641 404432855 324919381 70439313 772064791 418043869 983080889 764235823 27254837 109686497 686087603 749174627 268692465 260581083 854143275 314532693 776704391 260676969 862031605 925208669 22975901 543130323 716558537 572896241 691970627 781333767 166031431 272551351 291139049 743660703 528842745 541246587 503777393 112743895 794530899 992139055 378766877 923535769 227314345 213079533 141275803 902745715 257393729 444411643 679508993 354152347 886905153 257281475 356873677 210293747 695876029 68494295 837394915 300755711 190390445 371049973 611023247 387260401 131513585 221452541 110119561 550069919 531266131 164965629 470914029 951321737 765861509 498786343 998256449 79661015 430287393 293167063 789253999 450448981 451023781 369887631 71913937 160436349 303110271 293123067 21639969 104208493 380196347 451981805 410492549 652061421 365729879 528803171 988751499 403499117 632430001 482223231 699763239 801309699 797735187 586374283 664265657 334849135 404465519 240937211 490528259 325803799 605047965 413259371 80481075 63564555 585636961 83227037 374059999 980459009 189812065 15051389 60852739 862355291 988587569 651811615 660621319 739437343 473140807 511301309 690483637 171832573 103914759 527191737 983287109 403534665 852535993 338447265 134193747 673245701 944898447 850528297 613440739 620853209 323292321 764541993 428252773 728931091 638308595 268814245 531113131 467206825 143342187 31953353 984402677 509258557 902317787 202810345 28738279 99006483 658827007 665371263 162194831 456783389 233208181 346247727 777013857 604872433 391802823 46162627 168375867 317248975 597573989 404567089 636320867 84227231 853723309 496059281 826128773 159726829 617051611 891319335 13550263 702189299 788629531 497003105 30586485 762269327 723829373 119152335 691601317 671931465 287177469 116825901 736274071 240079953 624132983 819669343 512296443 978863485 102942393 782558321 54199283 540146763 541212019 147019155 956581633 737550821 11734845 764506403 439278355 683945241 481096089 405225381 301356159 603738975 51485425 318494403 535891715 5766101 979357591 558388303 103339715 980877891 620238529 504200517 504899405 21591063 973177233 919231689 730259091 459466091 418668051 335297831 879967735 661102075 822783031 518332113 923322173 183956527 627382485 259126113 947017617 725817881 746619567 334369949 952129671 924008045 444713839 967520111 45346591 346696077 441259173 339981545 888963263 102156925 892188363 845044041 928303665 890415087 12368451 755672303 382493355 405836603 647960659 551563625 705235147 185666395 158923825 974964329 332202903 550719997 713867763 152084681 615635837 451156075 643248027 884625295 484182863 285479583 292194835 266688741 747694923 859023415 552233003 261648671 713770521 387821435 875217309 949968309 387575235 377472603 433184777 547478095 568045761 888618861 681013755 496168885 594333935 973406447 54027745 146325723 259321489 360480203 488054039 514027483 312207703 330114191 159977693 674070269 884838739 489500787 394934109 199929255 649010693 521778773 707597479 657059693 438067537 53969341 197136309 79831309 310555781 966787033 432301415 596935529 923604821 511590529 938199945 886829195 527273695 255787829 485055945 39383719 116783785 300031005 646517443 152637721 854930335 453806343 385445111 982919523 503806231 771827305 534431693 229652017 37999053 391204965 839179417 220772951 487019753 516875199 945533843 466465743 497457397 226475241 254675163 72135869 219783399 420441849 516094843 231186027 789107999 483227311 777380967 902143055 636322911 144881009 346011507 910700289 270069463 485159503 839510117 785306949 542164249 873160449 30277605 228295945 637635365 168792295 127857793 278499419 845702493 274754565 826603447 273248381 816493971 41630219 819743973 920647885 611487737 222950739 497419863 351569367 764228653 364952027 489668155 758751313 876668469 115854407 381876651 141909523 918125435 877001451 655632299 288425249 795993561 901463741 530956323 662934697 742628489 794652763 936027873 121519099 417789745 623834893 868716707 25450387 677466849 74036673 382003207 552994325 493634825 138466831 24763543 294837581 807213193 933310263 89649093 633955117 752798375 985645345 686136811 979694287 914698255 341433179 63084359 265920889 21843929 344373275 233679623 840135059 118888061 865812289 761504311 974446517 41692901 408452439 790358741 549718421 868988763 717543049 210544831 735236377 763571863 468857263 172107455 264192845 753583285 887016777 790801287 897173347 617292345 303751293 176296623 46234551 406396691 249911323 956531131 395188937 725555093 712481179 55130385 897756233 271767935 757142043 781008131 802089993 57470197 117949795 195107021 683710209 242064773 134773987 657573773 592137305 264602915 966136497 518103885 969212505 990722351 873609355 96454143 337210229 648878441 533153499 154909307 206667079 67018499 31205295 281488771 571454357 414132113 260059581 599123649 79934281 436798993 991448935 861309383 496250231 704679397 656973747 849188619 37831769 678096349 833450319 678278897 641339473 648618799 445004691 797681345 799911149 201842807 870970753 615380397 946520031 850764473 116469435 17668557 399844355 639807075 550391445 982955811 906416733 995589197 519002883 349325977 542987029 467105967 21756837 156053761 883537023 60188723 753909445 897547281 283644441 369309413 413891151 681203563 835691909 201337657 309258459 575625627 285225869 434778381 893675689 779746065 956756263 354831525 301096607 332401957 193357419 849722289 800271181 968756505 389132189 391801413 238584811 597752599 903658537 973883357 548057431 902659377 941406627 791868001 507007257 396585053 534775493 849135899 664740449 713366397 787572339 213529025 345436419 807807069 236064951 465124721 642098307 666727085 200920519 674262449 37546245 295878405 754112763 616084847 687417943 840026087 187156953 365251581 881124085 274735805 969708809 192723993 832286459 112884951 135590753 731523307 615960367 547417711 707627739 463674111 340595205 977119653 578893211 536006983 649019535 714831749 345385709 167530533 667913615 677295359 281466435 190617181 401434221 225879531 382266935 566832153 813086261 96800779 397807503 996314611 51372705 78379527 308359219 956276197 984948497 769516147 477353017 326089301 368223113 243679431 69221597 399944977 678073275 40258149 740164479 682381389 507567613 982292371 232714413 157236135 445320783 540717191 149707031 957231909 784388439 706470487 332947613 898336819 382775653 653369859 908225343 856805031 520626033 316578169 864177703 540371389 636818969 52641415 388475053 788448029 309892773 395156455 550590279 588506065 232455685 313713721 696861341 482579793 646606797 747123977 919819895 149314167 45138753 520009157 576417481 13337741 225661507 170449609 900071597 12292155 804257895 516308565 315343209 518274713 957722595 554103185 949640039 914191909 269870741 792760721 512366395 473306051 460986115 648548429 633271965 760946625 464282463 195386789 668921205 214837459 613209729 375738979 488030923 944883479 448276197 326945595 79817683 678163 361678771 73857985 526388969 113433777 276566461 593291131 668458127 155826763 632579703 835448527 970581617 838570395 227626241 72750097 515785827 34925769 177353509 486931065 862775133 972562271 486504015 871427879 769423495 272157011 103223445 738705957 445455913 787337221 526225851 279312741 596245175 5184823 529580069 397976001 659230157 477298199 621232613 54449145 428361519 104614971 656674733 771221429 990742981 76993697 444986337 590592137 631478437 593007277 86670215 654043883 686869001 450742059 870110031 205772095 849859669 572696403 732939405 613195981 550344467 778823105 135501381 554566345 649497079 784617849 824334363 365565767 480610781 188649707 168635741 586513997 138496969 826408681 117734407 551879873 233937891 712048051 768344501 314680181 848874113 901582831 8477357 822599205 154943261 907647911 513023201 939435631 832909147 785149777 516951785 605722845 22188039 677550283 962564353 26511329 798219281 100760155 454453265 862414547 382152089 548169645 309954219 212442359 436542685 315461847 520286211 345660019 318986573 935194453 767643385 374105945 947243129 974053135 371653909 177350821 640581405 307261263 323985799 157934389 586948125 299831245 89056805 182800595 471760773 191639973 431128687 581336881 380119943 515904091 109755019 422937319 24798077 251962077 123193417 773629559 733369069 592635011 378614817 18852683 243364481 407515655 454503985 564220597 297417483 982721677 104331585 625135851 868758151 858375335 180944319 74489873 495934235 765592391 822497989 255033647 114345487 649902795 342230287 141077813 245907157 866638329 203486215 620706817 434683917 616248573 605449403 802874703 936298103 704211565 278261473 204118475 776916479 875647557 114483163 677113861 934110391 493966571 860334511 836210551 198221277 752402989 686351371 954827651 636414161 919313473 288861511 879049329 210143265 454470337 941199715 461130353 782787711 157975989 902322949 606601377 611849159 169064587 549334143 284991997 406458875 373913365 709452485 244935281 305687623 613866643 867309175 87628237 746614783 696499879 681023199 226221259 500720539 747541603 976694503 300172811 247992259 102619961 407560235 879864601 734879295 869064199 673448937 736735589 940978435 818995729 80169479 528573767 587829547 393473543 515804181 149836545 822752249 724206331 698332235 989415357 65969115 857453 85173895 233581195 991314271 916712003 628787025 447656805 361161797 553755079 165374167 534052395 949502063 642144431 797162483 814028201 233290471 635546393 946819873 734007437 6807779 97413515 166164875 877879411 92497083 271061489 167965695 191696603 40677619 865051297 910639091 396102703 547937591 778918233 726672009 420812479 305525083 959635515 692022149 838237125 217158233 337372889 431517785 703810145 138059605 455734051 912825627 920712351 837419163 340072571 944610699 81866861 778082971 662024355 556748817 100764839 262189301 192969931 76084409 444827661 354312551 447390853 312177213 749905993 709500129 916038865 733117693 374821609 876218995 261538579 807601149 316405867 180132441 448972825 866897903 256899887 866584823 223604503 648909351 704915579 251768281 779245227 868517801 321729411 606551727 350987227 157269529 504504417 458067033 123451155 390928071 741868309 94817237 452857639 942880171 563482247 930704211 998899289 314282083 896072075 234832163 49781577 582969143 578434521 254433475 685733383 791929877 823740689 263055827 964421385 976852887 130801085 451020575 678205481 450937849 307006033 705824157 384402351 492438053 27869729 551240551 384371529 539435175 297594995 24081599 803613449 967147195 156808045 326111503 618604655 702323003 639699747 566693359 419208029 483419571 853209741 248817173 357966629 821623119 904519307 807819881 834665337 595102695 561625319 833012467 344222071 858372347 966242131 52241895 597976739 278062259 688899177 573308575 484016621 237594843 519509671 723234465 445518505 288238573 49081723 291267735 444883859 97985031 612036145 125893461 69885393 311943665 949594375 214596309 734352369 243956251 389948443 3244857 486567655 109609883 785257591 320493519 296179473 515266353 271464717 852468233 9314613 920478275 984465847 622432387 195055489 643495393 151403059 274613759 16097415 698915265 714263853 53072489 736579653 86766405 81097015 984905173 962267427 545362035 392041415 607518077 847261419 894796025 929269313 929428165 437209045 302931249 444627181 912115255 869077883 903746327 380373501 694754439 763259879 689382229 427538059 80946577 191426177 64692793 362340245 841307991 399264035 464820921 96496391 587150599 151624967 163003255 361428659 197280753 288143827 495374263 547520847 466479249 677667477 975576683 10818431 585123209 625638081 533759785 300351691 362962089 122806581 601704753 644739237 456721375 22660917 128658025 198031717 842894921 276043121 989516899 962526541 839644971 261619965 555574611 105320839 238749933 795015255 346106649 455236387 679826469 522930273 244900925 869587485 955342989 640783211 950194415 59782737 344032265 162796587 239234565 844065933 507469221 784406715 959908349 303365505 847377555 298790307 524795393 908141765 552729389 670882001 883043551 60252125 567822327 638192791 618904591 708094255 938360991 6809269 965856431 917683981 694987509 976276815 489446023 448310961 570892791 210276337 400963333 359985469 284569797 918764179 280244289 820485303 498874795 860371089 889685501 690557205 52803871 750049713 712720027 555693357 760543419 531235613 548900399 478715329 398597183 78870127 710410093 359817339 935319195 694524577 197297847 647765227 841476319 648538393 231192337 52498827 434252105 946525861 724552493 439964349 315655737 891857019 55647329 548160969 352058173 687360821 472869805 959208415 589708295 380722139 192273081 557946139 163783539 616625369 687242961 503345533 787856003 452283653 169166319 922593775 591308641 717985437 567637425 484243265 608072805 17604675 793320543 727828269 381346567 416424457 171710953 536490323 49098985 126371937 88934629 25452607 254407385 573743911 286082449 918369375 691675593 614174885 82009815 574165263 529273813 655314051 204108101 926837647 678186815 524284123 395687955 405220361 503828851 420901159 129275935 214667917 872846853 243945805 913006831 704389141 311563183 755217051 829753271 198791553 162499411 981381829 199689289 409177245 87569151 42231529 723239975 426722071 960877287 97496717 727972217 841924491 6342753 865474205 840805389 739235449 236314359 362923117 158687833 84491081 831506255 19613887 277353597 82711375 829634623 103285427 93504835 489234115 349627841 265728731 922606871 12394437 932093943 388017191 982682897 280250209 487031857 58338553 418365425 559759493 15530973 645602323 848519965 687253261 369422233 160919971 623088549 940644535 116854313 93784639 863558977 532223025 885753205 481477605 183992655 568227337 763884435 916261113 811622361 76420535 413297597 28405065 815273097 685715615 368474967 761535753 248695227 133497099 126766827 206742487 538857323 194293545 581801775 997667767 840604227 721121813 951235067 378814489 599888017 472675021 580575061 514962129 548483917 199965503 826980965 824114971 304305941 361891639 291556993 612764829 566417199 990471539 686774821 443300453 112029839 950759569 995582961 743097321 432195271 272393243 477199793 447301123 688894233 496208771 50883419 518988283 844145517 472217891 923670535 377835133 372048209 480383801 256820987 956056735 292734715 203779315 636198049 374622943 231867979 996405597 584200587 323840543 776024523 613909621 866937719 186919089 982354343 670798873 818606149 996116295 803202743 29515539 598446339 371864573 569354617 742078997 379867361 798632797 871450905 700036279 492181567 807613775 83231841 343133309 693815197 721084973 671936715 127978957 80583335 387629489 742205813 892551931 816959279 211928577 709748263 773337917 437571635 536944811 887337041 162300343 943304915 506957731 966234631 340707441 610847581 220615239 985775373 99494749 420752963 561296989 800176583 150285139 777757985 991768849 628082757 298397463 339228601 626015225 938297661 802999375 416611575 446091793 812188945 669823629 876016109 655710401 833230535 814801995 465482969 298068691 797150477 111572971 71468573 559033727 589798715 995656885 817817923 238295903 435969107 147068379 40349695 584644987 300900343 736308085 128815405 852226625 759734651 811270533 839198159 923156099 854923475 936181493 914547729 239021185 530965407 889981079 563467335 119516895 378679337 141669409 564081131 755817387 616738909 816240951 133177503 648772953 805924051 2066017 334274355 812292037 148108745 426690575 838264469 470457145 673077803 214037405 595228387 130903391 642649219 329053261 363571295 708800077 806406667 491624003 540484215 110249855 929206689 550562711 27254971 247794907 282985165 98071869 180010983 204365743 713049277 822606359 101059807 493743025 832975179 687373297 411328941 6603771 338732533 942447227 89947269 583947285 870256351 716241997 809065669 551135467 67691485 400364521 721155051 807560659 961867109 879890105 32493221 507430795 901206933 328885773 875662793 295211319 916729651 367854111 56291149 708445539 482313395 437369615 81707863 832015623 849750823 451013097 195498289 190446719 838637905 581208477 420376657 323579535 186288281 484720131 669505871 673597799 564776459 7611613 314946289 790151577 857096033 907592915 842986273 953807653 192908795 431395449 295712241 761965169 461606365 799889223 481557149 832115525 874266297 882624159 21481097 980172253 990974181 16768199 640318017 712929233 146029153 795314677 860697207 639157033 473351635 65897279 303138565 156262737 219929483 780730791 319758321 566037535 717265025 799283477 22946917 32035023 336053075 402612061 539447219 711187209 790059849 503641399 218730073 540488151 713281873 441813315 546638071 40609455 933068549 726762253 628303195 492489329 316633507 779144195 200443255 364016223 764011279 21930625 488557671 649482537 314602717 46121671 864634733 983348193 207776067 964154365 825640179 838316295 973967389 871700791 371054993 544957311 222645751 535550573 296879871 968550807 169251581 792468863 469069087 172108803 656438793 850164537 792184575 748811489 839992215 744746569 863069137 952148661 672121551 507133513 56854001 975495023 676317827 771027645 282778593 110879587 219488295 329464333 852054861 277760589 186467547 961629319 404295177 74670163 428758121 476075881 80599311 702831875 99808315 19613137 448684417 177081427 393997933 581596105 565453743 655528349 550664893 147499333 970737159 420530857 233920401 239402265 346334759 684855973 595493113 573306379 333130193 48003363 386359213 77115841 361151985 515508001 945539083 826629583 228158875 424469511 692583707 453843115 989564681 630675105 473003405 642986169 156246175 948994595 601669301 456513859 135266791 879330601 929649047 930727799 68330135 715344573 868740567 986262383 633142151 86201673 966978243 63825199 180048827 645972385 883609175 716757405 477684577 984650757 770738223 570836875 885890249 481553177 903320209 555756725 820081519 200817387 646265711 918770873 177115895 891797487 246450529 859985441 181452843 144065029 521165987 62898527 247253505 145712495 830239261 225646027 145781393 311275483 878156385 610972329 705268769 878525791 563648675 262552607 942637593 226335607 965840323 446214207 560454159 819808267 322461513 727630341 853622463 542910565 221119589 545358415 434408713 199529021 788966125 324581607 191281403 969914541 52085857 411337599 811321029 198260541 907674343 2839727 686771655 76217563 916523087 176583417 646361983 412564185 384228625 36922311 120977565 526783479 442059595 538869867 801385969 530942809 594216901 616339739 677929337 89962893 402597101 816217595 211119957 530928007 320901085 915634195 966149331 617435557 246728529 420129365 840748389 342642349 726503603 680752793 934609829 374802635 762575633 494418081 971071577 940478099 16810529 526739223 371265899 478993927 874244421 720835211 633262319 887798663 661652099 490654327 966826013 505941219 592746377 585982525 445862493 752446033 356521135 311869989 468155959 106023275 17703925 141728353 275016799 115461689 180300801 477177865 796948655 430762023 954771749 756343327 534293805 209090317 990293589 815281293 101610243 469134371 636801585 794649379 239930757 94142739 877411841 541657243 510428461 817693927 679515829 443522967 683578015 942469911 700746211 699262877 946850725 408346239 2314955 398113315 931233843 724839525 420705619 304550271 74424165 122548595 32302347 59282931 310818941 500840131 952584235 212129961 594532327 467202767 290391185 493338801 435731511 651506301 529996485 986458629 34121511 533585435 42453237 137186437 299859099 223825501 740227067 632634621 244075421 319955811 512038483 731058717 473405281 395546031 438195495 37848443 861148227 581945647 861633347 661134493 296334535 247522361 535037987 82251243 529336981 395925129 702857953 516548021 47228291 424412743 435965257 194771765 830753931 327077117 889791687 837359499 813524177 157864611 102310771 208792259 52379295 531091093 97279757 831761611 331379819 712358039 475038717 554423423 718017485 912292823 407489615 388554911 786593417 115581933 31006909 856720597 154667917 148601811 700732327 722438833 635714537 359155439 883190801 565442731 369619929 612741645 875171499 863321385 491766209 606207589 26570447 426797935 549473581 309506709 809277307 881864883 632731599 677755293 994156117 161567497 135583361 5240815 600242349 314993271 769822793 93183071 331696763 113088485 916318031 928766249 178111325 340677665 88939497 911776501 884412315 673227497 395959187 619708365 173516579 165725659 50817517 607198247 81010319 553913219 326147013 929890787 854348315 225330767 638449677 532507971 952256177 375134107 738374367 759420917 27327197 63922341 476139649 596592143 436895707 702709659 616847453 321370895 769247877 185422985 262274053 312477401 12923495 894037101 381157431 559737531 368003757 321926693 420766675 585334375 476355887 225546619 821537511 27080447 355349869 917684769 36684197 832686599 98309005 179287729 342838633 388605547 9739617 319052715 149011893 32702335 636978013 184821879 603202357 16285187 996595617 298579047 762356411 824891677 721515765 411896759 805128261 99567957 418372553 877756037 227190261 828820391 111871283 438521819 238997269 96007787 456040945 935371435 248543001 564597865 436826477 964792015 915519643 636477901 733644471 899493381 736266339 600792365 915178881 872534777 376449623 333848711 502319407 552647741 857618059 792349757 352010183 283495239 252800573 908930593 884770039 457327995 927758543 319058531 578112793 562421537 495096523 5470885 341978665 940131435 759227111 878006505 497984721 476335731 440853753 429467807 877642077 857775159 658537227 911403417 321517769 75876259 389531203 329195799 89660847 555191945 711158775 936315581 382785371 106493855 427140257 213349273 816494777 810467721 931116261 896664863 223834465 344906191 962531981 527318573 196024467 835157987 647998351 151094793 839180853 933702685 857370371 319592287 193607129 874698431 364706861 998093125 842378163 629262067 498217851 853516343 891184035 708179915 731464061 620797213 57482801 54837053 326978031 91757121 877312909 73147181 224006837 624542809 709512333 679923811 228098265 409142661 428348335 739469199 46731665 277116999 704132637 608196175 347605301 295185037 984211621 677931039 936435275 160483503 375528639 173706091 857392251 481523813 781042569 816862339 987274653 761806297 123940555 825459361 50035879 399311511 663581171 996907751 180391103 659550867 523479321 974892381 280925745 285176619 601808895 274704371 109186927 964693027 707316999 683486597 493334035 397580971 653637701 167495891 775268323 700629591 160398445 953650055 112567753 372645923 924051937 386225457 274768087 94781301 732258725 71610955 69283657 754361115 879539307 547946295 18978181 338065481 343529865 557933373 294552851 658609567 914129407 90267021 762134949 897933343 241785205 971853891 895097371 68440631 865413431 615335775 997172085 838369981 971244351 761411019 906307039 56900077 157830443 890330711 594805675 329306223 664251715 564697789 117305943 122610765 205316471 815963295 113675141 887980543 206254173 355703427 297531903 892938081 999760947 428519135 151859385 146073783 852064739 874451209 397962701 759522225 771663867 737461313 459178369 578475617 388645299 712035509 988400447 387349575 161044969 329977459 360819355 378257223 580088867 873753717 971252815 304532143 681331605 873571227 858170687 41827379 257619985 851398577 215823733 242481907 664230169 491143269 937015589 11176559 524482773 289466963 110839211 747311001 593949971 435248635 684839561 794706373 714271305 987676869 633681003 626703279 105799319 960309765 343363621 454394495 829881543 138303475 418547121 566843071 77630789 817697455 107164979 632169831 11797801 700208453 453025269 864824017 766455603 273696931 345268077 81926597 178447049 2654885 352953907 4000881 720852219 589189387 359066379 48758119 128786305 864621181 813692897 517263527 86202297 800277391 120249033 767701141 468002219 878614967 302157565 552034045 49329415 445223515 242798049 952552471 201158691 279380415 894487553 922741631 60662013 202222103 975630861 377806139 736848959 21511805 762657765 852455607 36637751 308782575 386137479 122661319 609629661 264857691 40522275 979435949 970826191 997491597 769809673 242035721 85759827 415736387 464330421 839319531 153123677 564635419 884352459 222115527 345748863 522706847 263372311 313110397 382082811 697552195 594782601 123605839 219329465 189978715 532224833 175840491 962491717 654869293 892244095 596368743 67830747 564958943 20833709 481514303 811073877 161716867 452704099 231784795 537395775 26423829 943380311 44309511 803549891 75703155 524415343 59247605 864497087 491677543 638502071 752885063 996581291 362692259 148514913 496471679 349277109 801016513 569998023 25269133 773133991 491509567 194008687 143045317 253740027 256105097 501826307 267522019 603259087 197031665 503197781 320743181 940578027 120044461 287436131 640283087 631509439 107287009 839678799 354140707 513021791 69261717 89701985 146140001 825516943 116859579 150994705 235609937 59284659 591246379 672810745 825535263 128569051 228518057 342762459 187108961 768201405 575220187 940333219 37646355 906968763 194241363 631024741 427743643 91747803 202471819 601488729 816500681 857505995 297974501 467807207 11803085 745235683 219523753 534300055 119279177 877594403 540757513 753452061 783449151 138198323 213707549 468212309 926407199 951398497 721542633 390424897 95853755 546167459 683515731 412042509 845580371 88624025 736369197 835813389 814645131 298794893 705301041 978628539 131658863 432911979 133956865 444767163 467888503 130951883 153848101 802735319 768015999 484005611 304077069 495306243 432827341 56261559 261736471 319304027 206374669 766651321 446641023 645458211 180391507 445755947 277426033 601171139 520409377 979006443 977850877 504394193 282340695 474942593 210066461 10498311 469844037 851622683 669857459 94399305 959266207 89277331 40671621 387491489 384502917 377452903 619224649 651251525 709513337 111720635 864354197 792747149 654069353 180194147 728197099 609134589 756494763 794242517 777427637 637383235 80697597 934824495 412543299 618686511 148619649 702950199 206041551 617433021 494804425 492280159 427304059 496761617 898257607 583729599 578761293 745813879 883736791 179462931 287996987 72761439 849006275 706085059 127123483 566611561 642399413 10340833 115342255 819299923 594767681 418196001 449343393 926683149 868938855 79261925 462400641 420965287 985908363 257582641 763685831 246488671 617066875 889081783 444482265 134567317 626461547 885756365 769324029 539161557 279404025 209162355 116144995 196524501 868407595 271700047 387998759 578696559 240609901 573455793 49175881 139466917 983614357 236785553 383166641 718973601 226852833 641942157 952909363 242695867 578044147 318668781 4121735 175799657 427120603 453056159 494394957 414867795 399126543 42668605 860185873 887722559 891252843 599690243 410165313 514159653 694645299 355087323 449962553 83235359 407964181 965306707 688416057 419697007 296901417 21668515 823473257 987150465 625935849 589341095 745178845 950767591 485059387 98125035 452894349 469473631 633295211 45370523 156391257 972589771 314945329 818016657 424300557 497161525 629906089 828575817 651299159 422758353 524669017 616820203 224965331 488566521 53632557 120371529 119240191 968575285 418790011 704636375 289838409 725300779 295442687 36166837 559951613 892933039 915602399 227301291 557650009 542271167 533221033 986929705 483655291 733063805 664065363 691331141 477772655 86091571 156031799 52296639 13412131 401139029 965724701 82683133 47902321 604870783 293638449 900384271 476522013 962807925 419852297 672322989 5777357 300240415 374025635 154170421 219829525 98782355 7298403 357334703 113311339 306420235 622982165 343360459 241666613 236649705 227897585 128998621 996783031 909949629 323936915 8445161 915250725 323794229 83125759 145672081 240100247 281772335 250424741 722488361 797833745 146380719 813197401 316097191 449428601 746699485 184003159 973389991 102382499 751852303 420772421 857144949 988863813 314180031 79739953 701401597 371718915 270998673 924487823 939840985 863542629 929920593 720677181 928171077 489233117 146626543 811662465 925607977 862598341 745566603 647562759 420598807 353791067 216055651 210386917 578942787 2415051 278528231 505628569 403666061 163341607 900082087 170780933 111289213 113226597 45360735 778826107 696134979 784938345 214992371 880254635 342021045 607388923 878545519 190991287 859576403 735690701 388714501 483966497 600749379 181106295 69002767 879566041 972971605 38650235 66162195 256986417 520414209 802138693 576969913 412054505 982546021 180599841 400365273 867408933 359550025 232165195 720275049 156305521 868716059 435050469 600477073 216065991 214955253 987988727 714306967 364360319 662385555 7609203 179912179 272046431 239848799 347870001 874275135 779555991 922487143 616300019 484743229 318607035 27435361 198722147 999367897 530663879 867560623 765354769 249066277 181437987 323515221 863148919 437514847 878381465 70975239 756560119 177804775 347048031 946298903 536364505 931258443 370974229 857122951 978088527 772741181 174806717 310621949 947082609 925435289 386576837 83131339 416370241 479686753 676779267 828484581 467485353 787872705 650850741 807412203 87590009 104456459 852334463 818982181 732576363 505422013 411384685 52900995 265075489 746040185 19058935 415386011 89895459 821690121 698403577 581506477 984378593 449284961 548186807 634433695 757203383 303826333 52798689 144048129 191246565 13148415 834167947 963034123 337302421 988938739 93805105 628669595 175540951 177039117 422977721 549469241 981917349 711532551 753556081 989870867 613774049 599328453 519894029 177977347 390583377 755632209 988906411 930143621 942886827 482310113 45365713 3221187 935392389 674782669 382901867 593279113 54425697 469275801 322356175 737608275 921224103 121185777 800887227 911370043 994002091 754998185 771305553 808998157 713392293 392837819 702536995 299092789 626654903 258573387 104736803 623544267 972879591 746019493 865973933 701816975 667338539 514603577 646457481 914259433 661450327 337421989 920051429 960839653 924452145 307290541 806102867 354003773 326175073 295853113 504229587 744186959 671490167 971893599 192730313 48421925 216315115 205672283 137922563 315691881 904888099 333895821 527051189 465528183 211180131 153323137 198055037 906999117 132359649 517968621 177487201 859246737 490959281 110518441 714379981 846125203 714557913 481010875 288254359 194960203 913188673 272750925 871463419 29130327 438733495 292946097 320761503 344111103 234374649 226100835 711755153 710249521 197829797 779081737 314289479 320740231 435723591 894876777 569263515 346432061 608755277 142435963 351249623 645104957 88713491 610365529 471479971 517713171 157425879 380256835 628854551 943786235 226791367 303203753 11070897 59857871 627764207 132989469 871659093 676845851 479413325 450446423 836729423 973857803 280506303 905558335 219218775 49877623 682725391 519522525 163163273 48114143 279918321 96488291 983786347 105180777 303462137 369858097 239265511 851278311 614002861 629424839 608463959 549455565 165746547 104661457 965686901 491625275 26498207 271340067 133015143 831655929 270497383 155112373 287194811 977251191 976053999 752559279 216343653 827441867 508664127 184615513 350079941 276145843 338831433 545360423 978892189 611965593 940504039 993725621 184675867 820940683 577688535 922213573 614201301 315219777 1929927 443320387 135223495 972936985 632568131 113023299 490261337 742990107 17569481 934592255 951139157 244978421 910573749 813664985 820677875 180643585 590672727 401057633 642301391 878225723 969351899 143575877 53186541 596377165 266696795 127871075 795156669 716466307 633778905 457447613 315859985 305670361 521834559 429308799 22343465 256201705 414956127 699602941 604601257 517185791 599309295 515659441 598122655 24015623 727490451 377729087 936198527 209063833 851474131 851521139 883374375 273407989 27122977 369982269 8942813 698615809 311495893 635692475 431192397 423732559 625005107 315536177 164280717 643572243 254554209 829060615 764038681 656426541 687887473 272906451 249279959 977708581 988378717 833653583 30163735 348830251 931898375 334984543 544631945 206581011 219440695 404842511 311758927 640817505 589705119 299965583 331742955 169954361 244547031 528257855 78558283 332166763 897525345 643012253 511559365 417369455 763031463 161317977 100387351 693680227 764009465 785410627 596857445 616206605 419287185 65703255 724030779 890073825 195298961 175069371 122754193 947309553 483282433 715212981 120139203 835992063 248510161 54964669 461181591 234476915 725814237 607931755 784248377 147019355 949719015 178734469 393842749 708658541 114287763 208687861 861830563 130558731 855842167 153317581 956062161 748772921 771390221 447577419 457583505 548090281 597961137 896799439 242573337 960726193 971653297 884633831 158101511 480181329 107274555 570785605 9468513 638837295 82214763 539255491 363538325 554555805 817996609 869579879 860644469 999250575 698228647 632163931 770110783 737278117 22418285 18224883 241058971 367583783 218235469 86987687 604376723 373024005 816167401 285479455 897364383 624801747 428927687 13017891 972925851 137898709 123082589 68204455 742922443 63086831 508004097 25268679 248991455 354904241 782833397 67033541 36925929 468891987 487878497 306713869 306375017 786519985 528113753 448543537 494056771 54914391 162219221 220631279 869342917 648846707 634821557 400559913 12360611 122327513 784297669 881733097 122399483 914814475 849655219 911659875 848775251 443249201 91667739 174863091 587386007 207700503 477068669 781017627 472613149 431565369 870236227 802359177 849876129 559089329 888703675 842760715 228046923 26696779 521181475 527936929 243858597 152115571 550785433 905400429 331484325 65854785 287871785 792027067 794379947 775125621 433697985 118132475 587940729 401461877 267590717 751406795 588277567 974931025 371131741 247382509 764486287 64363969 65290953 999935055 907939689 849923107 242243349 729386497 38901807 306857855 213833145 436309567 292197555 376705413 860358165 664267885 256763175 271139467 88739955 909033237 900575529 410583695 38502661 48905965 2010303 405519419 960441061 868822989 701379411 846517213 41896723 612889531 987036863 362311789 926751607 224482271 713819709 932015241 295708133 391818639 466632563 518705527 408074515 677122885 233126767 412627499 899861925 341459879 585317799 712581175 212291365 181535867 265841909 467486429 82541825 776853945 365064353 414148101 209795987 970854009 552934231 593667387 217717023 611155969 832876591 699419323 929908939 668200123 886931873 733700191 822404011 536621881 808445079 961625265 164316085 620202807 441492827 798972897 163247309 557224091 189997221 68596933 167518139 24626283 741276305 564561373 222879025 886654943 680672675 562331729 671251145 327070033 936312779 912606957 255500801 207586627 754384219 240883499 454733125 896514399 240704531 181629993 781564135 220004221 110777879 841770415 13409309 7563925 305646837 876061483 103374859 730015689 445717153 5785271 604646073 628445031 14462075 951998481 52030489 614008289 394915395 368169375 902396675 921754835 797474603 579401585 148356155 766724607 563268807 875932221 513413479 669045329 293068821 280416357 735306265 574223067 150176887 336708335 552653005 801625051 859811005 506717833 969447903 690683825 708250653 303071371 943526557 643850733 282371379 457031157 111501367 445779005 162743555 208205935 277004485 31254911 673908731 763561285 322353739 156337333 432398577 130467955 532125103 815689739 172838435 802408339 836561859 925093845 967953461 659179249 582645313 807128461 124758837 236500599 768849611 913706197 633887127 488697025 907750377 128411261 432511289 35402253 480193549 998891379 949977183 313407297 465936527 800441301 461061305 913503471 571869361 113950181 496602203 27609675 597975197 619172111 501988545 157339189 188793955 940511975 599774673 740915765 530333437 768865319 855898843 249074553 561955661 612856243 646172559 371418587 96687387 493282199 482617613 585277655 408002583 819656707 170567387 497549975 842737885 542548053 951579623 408807145 408004589 842338321 604100483 182330949 363399345 250047967 621722733 786517703 591679609 574117525 938159053 344603451 870288767 604617775 555229741 1895437 408020965 311975117 994358917 450313303 909464755 709520315 524692273 998268629 961465049 4119151 340252407 398455535 367697971 433125761 852136961 346259895 835148417 475476407 605770985 301025505 630870637 529194233 984233385 97865165 571215495 824840031 277059751 109564037 816229449 501646367 420381617 355425973 607539987 490522271 44175099 433926837 684078385 643939179 725392931 515965571 779985105 846753077 210807087 139215563 110935311 502594007 702615947 222238167 917543659 924427607 477481229 406925473 98515023 103377631 229025521 291260359 625843977 453379521 660628191 412431505 980291543 971000955 726585313 667087853 447176025 55818669 802693999 919439733 464364821 935810341 497253987 947891813 622065791 609664725 264030727 310878375 714342897 789349335 361125635 827208137 304564139 401420145 519862383 70306819 564881111 946535437 963654345 374916913 397264003 327786047 498325237 75072479 246546093 43424191 935381825 599903289 615078195 54874741 479350881 34444567 297006305 602966377 860939891 699312379 948578917 142938063 739317245 680101127 360002395 389557251 524282601 723248655 261573441 438692999 31413137 170502535 902626437 196693767 442034095 489397391 655347573 793140055 653362539 793221359 150985033 833143921 525821007 647600663 182919461 900487031 73187921 864827933 729142547 699468983 724920017 180220097 780532993 563458213 773929873 372793961 248079819 585272025 643381695 181615909 481750575 921166615 565512945 409643949 564898777 287234123 204470309 904676959 978432091 885464457 540181695 584078403 993034285 104678155 233951115 862802953 844357039 11650869 811242945 596103941 827865131 738830225 190482429 232046651 293506259 305523669 382369603 824906061 834599873 209665241 893906435 13092239 217252083 154377633 665903375 54472951 690689877 282480729 444432039 373396257 511053241 261213525 910396785 66089049 936254421 96949777 163302773 393296523 493030221 728120365 987078447 972309583 612789929 364618357 819358327 155822053 14064731 37665759 696065941 133001269 592877501 957140099 771125301 209077195 512266253 848060583 803126893 796883939 737746295 680242099 70699961 609405783 290524173 482600253 800530433 165977009 850493637 667975681 635401359 636235297 704154755 354861279 190062363 304783485 670273295 263310307 148731071 689656389 214125083 646096195 843329285 343694239 650194495 479199831 560045781 86485595 653862399 274460837 979228041 780159217 778955457 957393623 182592473 228828031 717232599 175156159 569240815 770312397 451752315 610387291 199947607 109159753 921768911 852440011 661529093 574335501 103616475 431744605 578034007 178491861 418022033 670045827 408074771 199228427 16536009 143791319 310949989 281664445 984703813 521276447 675355363 816236705 967437743 50957381 83024777 649830425 150580119 735174491 824856765 780232745 754471545 47404191 475054157 643364995 809547697 432247155 885923951 309245311 466968973 613631071 537158845 820057369 425969725 33927707 680676159 322358265 804289241 400533633 398839651 354445425 373210723 979583379 205178107 82333045 531321029 635211901 434047815 175280037 598312399 295350419 611460585 962193993 882672699 906248271 587692531 841841745 450099371 608750163 987015383 495512403 267190951 827326061 411530099 823457423 132665759 715884689 856367371 213211627 736265199 390318549 59667535 442524407 927744471 958641027 554921553 870906347 567557761 572645889 267782033 939830949 775863549 743760869 666035445 555236779 980513093 585252073 873224391 104825649 881674043 475029743 177446845 337362953 226481573 168105735 487029749 247186615 879477561 118088799 606670837 105447005 113225613 322589525 550880169 126723535 635476515 871318635 553901927 352556675 808628579 510755151 125118701 193536405 179525537 548799441 308074589 132900561 633561109 506838765 816292167 629471139 101640673 931001799 586102689 995430435 575133451 200373929 370728135 146555409 842780041 524406281 846645373 932102613 556000817 151219583 325785587 902488955 317931971 691007183 864304827 47590845 345831405 321833191 415228885 158557945 301560893 697703127 481595557 626580537 971271469 874121435 240868857 321808935 172929309 73432919 327720709 827855903 822755161 757810135 693561959 713316127 687753487 511635467 745618725 871104205 20331099 55456979 173007787 467268729 668760891 695967021 26077901 369889819 195027613 651566409 661831373 94631761 791975759 361818999 168406603 397437025 785761545 905083189 760630103 877760319 943972209 171990563 480001127 89304701 653010699 484433167 528939861 599945311 414988363 58596587 207886953 742267847 168083083 593033169 734642513 521622857 699800331 205524999 102033951 428085787 252252659 328698615 156162641 93400345 390984023 686275123 330704847 594502607 535757869 378293881 579139557 116323177 898187097 568740009 233672263 982809023 862660773 348200657 926714387 482272849 694596031 594618659 350751949 633260869 163945281 962075387 533007205 265709165 527561135 916482011 684466991 548341309 327654511 312528493 873632487 565107413 733167317 913514377 289966003 353121021 914601751 538365223 670860833 390198565 574081369 7020393 728894245 924969059 917652133 289639325 464342301 993012597 714938857 960660789 355235023 63395781 297041663 686909645 508997737 871668321 601144235 397063463 201605245 884494081 430716563 173102129 542884617 63055619 79869001 123876345 224563829 481779311 975938121 979430335 169152139 317879027 341545457 477602021 775058307 241957097 93116299 165710837 67405047 923415117 573980489 246916515 984165617 603566025 655884867 554260939 899095257 889731497 918993787 265433201 561476233 104754921 54593245 258630845 695007035 689848355 33863221 228350981 444993173 654521507 699595839 571687107 549403555 223513941 926511005 98333083 407905247 23415249 837539287 267661911 232044065 527699799 507955295 253491435 684179375 429017037 710825869 462975093 974680377 340666053 374305189 412509235 599952339 699353713 602925517 85305491 384017403 951973559 608624407 491014697 322643091 753992729 626758013 657301681 516588011 862972617 664474337 252870667 270674617 556362651 772055051 977454403 336887063 753946387 115787181 520814479 13428621 286969941 189077343 671755591 958203913 690729521 923576483 289818865 334751453 126391839 662126051 866577973 722341321 15415101 666372975 319939305 687649521 6613329 59191425 212285961 818384353 810369999 113758267 836978357 657491089 121853641 117879973 33443643 972162653 399671297 934559665 685761547 852034315 992153055 37989943 904069829 30973893 375268977 671694073 793664297 503860773 11034221 439357857 900850209 884833573 231511605 606518207 299109573 122544683 604020941 401843149 985161547 802228741 222406375 13449259 518999579 117797353 238739929 853499941 576672955 614377585 791948451 615732971 85163747 790632613 672823531 587511445 829094765 663291633 444062723 710871845 632543579 788524075 311562719 493973891 300825817 812075153 722180127 243008131 102849081 354084549 278436107 92709853 929971961 609264345 39885971 842432307 896664249 189091135 908670795 11324683 248733255 815613395 143055735 660282331 622299797 2176735 527508475 584878329 306441151 927750155 764345191 244900775 380909575 691202929 576695025 375565837 632483545 74576523 995265915 763019839 233389513 6052671 244678795 624859957 271756689 950425819 200398671 139191761 524353299 980269843 880056225 487186905 875306591 915592965 20600573 623266563 948288419 319834167 339499405 240470499 26767421 412392341 14723869 568793343 96988079 9848435 943819305 187584959 863462053 808396179 918743243 864631667 827729907 489756693 865024975 916494419 361679251 260337801 85985185 391345797 335365545 455138277 504977241 84824845 825235327 953466501 452769207 102025439 159874697 266682157 614420001 286603733 624836451 403229195 590843303 572972463 355448529 35549621 74851329 462499605 723635387 175303721 339077773 635060379 544949047 9003979 911797587 934066617 133252991 554739817 790045699 504303055 984618743 516196919 290584819 356394791 585611819 999938771 409615393 39277045 430939083 205907521 346005047 215304013 373469109 416571377 808409987 531883573 407842285 527248823 784454909 925486227 820429211 191719119 753815873 127637563 522807831 798286047 740817307 231049187 865316311 913997045 935019255 300932655 240790401 847070855 647556335 137472169 238339297 876248175 67090623 398891199 398747111 340376053 330524753 90953419 164933555 103149509 917310257 380112657 553036163 187788021 337762713 201768119 311820231 268441603 558158185 832994001 885122319 369113553 96613669 292655957 439075609 618923185 356270335 970907175 73834437 976097109 172134349 255896591 935805473 199745497 909280783 53783487 918088031 81865415 165772523 922744529 142521305 67881479 616171827 369330883 567010837 369264115 596228699 979208707 631787965 558108229 70374787 262948573 607987875 437551395 273825395 172250253 481907141 586089499 402136217 530321461 72110147 421252385 553363983 129150429 389493867 680757139 352525459 578293111 596380335 951218487 793560203 319432669 25724587 546809145 925776389 254921677 436045345 800359727 516306365 386038003 381459965 815497237 527094287 851959007 228109651 542342483 531659779 97276429 533134427 243325363 347566151 839881947 651641213 451241581 655061555 351461523 411934785 437523995 914819271 405437029 785806427 207898565 800317355 744298607 11172519 136487385 705746475 452481709 834717223 740927785 25941059 72105483 187118343 355122165 268387213 553061209 217620891 540401889 56997459 196046417 158591325 653490681 84033157 325735061 273174513 70757301 272421561 29972141 228460065 226787313 364475695 903710987 300412641 508783347 77078221 65346823 275552333 228674151 64552997 6302179 348718249 38934627 851973225 206667209 477753181 172744803 453769855 898100937 363688447 793786957 739828201 473685469 966656329 572858223 571449815 317343719 972013599 582385535 466157091 194985135 629289611 235070359 516852297 378575333 419407043 18313535 71879283 463467557 66690591 231125347 367607919 143884785 163737123 14797145 247774901 802772653 917053309 531180511 267488609 222771631 412691197 70118937 133343039 578969903 642362527 972901011 70700219 498955599 65596039 80459333 468849903 714904343 48964609 228811147 542682775 724127607 321610877 969645353 710068507 71238731 560187547 902868815 367986573 214296915 848083737 489087119 730274721 891021113 58330087 402385641 223220407 397233805 871054101 684363969 720775897 938166473 513315295 437324773 915242931 124849997 860183467 895472779 766919069 145784933 29083391 739759181 716600469 362210879 150246547 711534387 746118983 331204599 247859265 724742313 424515581 434607245 1520649 996480645 786506161 556512747 157334811 604033539 430847233 413016545 836208327 991314635 536845621 995200295 863087499 506998759 980751675 944136291 472030727 786323149 277218477 565820697 69663753 991824477 303354567 752493759 417262979 109819865 233821555 65831337 892013457 273831409 782238271 525742109 428639093 593542071 153252705 271385923 727766427 289803691 290133691 332669995 141213333 328188081 363182291 992668365 90084385 405713175 750179287 35174159 52595231 893319057 131644575 376692661 219295645 295582269 138514859 446057843 227791823 925695391 456869923 574576099 147987723 624133543 257807571 282064517 415014361 762911401 690527543 782025153 351963619 157373025 267870313 754037227 464114941 5776629 678494259 34263609 196908065 134712819 872002053 778573777 699197043 403752785 82692085 587285687 927741501 908844649 981992899 831699167 654346739 637534467 281561557 84669219 557589297 972280397 195477051 144853057 383837113 61419993 733521325 112873447 930013817 840176293 312265865 993115553 691600511 41937945 516231639 504812013 731076619 398524673 215007813 593087273 42091903 331064465 385703213 424004767 307363943 368787813 331955595 141313921 152311923 918577287 136471817 417029609 969788545 537758303 408565493 460344277 261559699 593124295 944993607 30637105 385891287 181674745 147722651 48772047 39520157 252161691 375589437 811234917 807083617 259300027 266872089 588034455 392240071 764323789 626539207 745271791 513283227 451052465 116996487 65419739 272791501 567210151 384468545 816986293 514845051 186505315 984817537 28223423 351785961 817089781 157739137 521428261 31045247 629241819 632876577 772667123 806406357 122877693 785710053 345206309 942563233 613412773 108493055 190740381 280177609 635343755 344394565 792547107 725519705 675715017 677868087 197845609 108224129 46142439 462054395 222178823 446229665 504088275 871142497 86056065 433332025 782428639 985619937 422788413 18366195 829006283 582042265 394665869 925148839 282849211 998540625 92447659 101438027 774386237 593534583 566639545 804742661 596373573 837493029 414681279 849725729 254337585 222544407 192986031 657544465 452737223 332721847 72190561 974045297 467501617 926008851 356447895 825148419 625434377 377708513 331984635 513854385 648836427 674911107 875643423 883445651 396682073 974264061 255847801 882909919 362569475 62438913 847811181 210223357 321682045 977821415 137736513 170603125 993954151 137565611 890803755 748140539 318510531 55674613 495995969 35533675 668087551 376766229 376151685 770929351 263773939 79576837 327524065 624803643 803309271 648010591 129510181 297453593 113448021 72031085 854481931 151529951 234864759 621385759 223471157 145593135 911033013 466054923 949146923 330145747 597833707 11946865 641902685 703514047 498121567 579607351 321664039 310490639 506992059 58821613 19569867 696841733 313963545 595379657 326679405 959559693 846568691 543052461 107544355 203140795 644757295 286675743 947829221 127660489 63754523 705674575 438754709 631523099 843580779 514623505 920085243 11183035 907229247 748452841 102031047 474345693 579894809 100544505 293931669 672085725 322568935 815721749 848062437 215307839 414659327 881465011 649109793 612943531 928074781 91198959 630552729 368727543 779659369 738490005 503264645 227540253 11844461 491238417 812905739 980079937 241527585 326808187 907395375 638111917 882453729 290145683 971119591 336281559 275253873 124980159 883836937 240554071 178782975 348464913 766004311 472225267 157070883 546453565 693186169 541002643 544102615 768604067 922432515 865324109 133990529 761083467 900449133 712667741 566074861 795789029 860689175 340509731 760754259 564674247 555898445 748016427 805465169 387871473 324379709 102338859 696688871 250720009 457203459 523366651 602749575 682747999 417407647 1893793 344987141 795246315 258252793 63179077 724645277 560619083 652327397 100973631 55933431 941041349 920563737 661533701 513875229 220970573 930640955 852144701 489601413 941759349 971973839 311460275 828901647 228279425 712318025 158455129 690838013 277335635 543428099 471047497 763002365 960151423 411712829 232128969 996605221 120509753 352620063 867046467 814151411 329757795 769800893 600397897 813874507 253985923 358266381 796748441 628519803 263499975 763215603 725894675 126048565 660880647 934085945 106619077 731211675 502919875 812408973 55833313 403890737 17132577 572811657 357908931 57289699 986726643 644208305 582322925 805513733 336174509 305830763 512603403 859385687 88496239 245380875 479231727 753247999 356406273 622836167 339282583 273493381 477521619 192300997 879521829 216032741 474127867 997518857 926481123 135189623 25100343 697815431 149363269 455888387 237785841 138434071 115379431 338156725 731607351 247323517 195741579 429957411 257757377 606778975 314380829 249461067 627560173 294710095 792615089 864332687 151986115 249826761 584309889 929065921 155481329 733492011 630154991 143845905 824196817 864571327 623367305 550541857 897512287 619841463 117664259 65935859 830033733 731359787 413696309 804127991 766255823 222585375 349122083 606132479 226378489 584822649 687841785 433311563 836926557 872944139 842496011 28586879 850224711 970402959 434873555 725243049 630299043 563115943 86430453 137244733 901369865 808978651 798499899 545107737 80885433 597227421 390623899 214451843 112177049 391490117 845490477 304855335 125825081 384998679 274460981 246418971 629415121 568476985 820606241 690504667 917133121 684656061 213798785 284833615 835263501 645109917 579714065 321166529 516938597 547584955 553570485 399440615 515489315 6943711 235499641 637682657 992768197 647831995 392817293 532159025 179767409 574436071 747156815 520623557 893010423 840121573 188672323 633129205 645326543 356531743 58902035 8382329 578537493 910555877 240507793 180149627 326492053 703223921 664184505 855042695 694005949 883771365 85192367 193775249 566015905 480078153 987969471 627132663 741431811 587035279 378098779 279452541 756626507 53655183 993461789 477493587 394161799 769665035 34922699 956931597 22855533 816936109 778859855 993578663 641603933 247521285 345221819 32150663 321802593 784835213 789540173 13687931 155454501 526375077 497635173 365575095 629579009 677717913 175742609 566557915 410101493 161779353 563679875 376095465 684352423 733984701 608031253 189325903 692757097 432225543 53134925 259314659 745400111 328677217 42324309 487951329 579950489 743771035 953579905 679670001 63263727 891875693 105082441 645581597 681533985 729770109 671371605 268046045 672281795 270121297 101705069 491309581 149267993 638088793 235855749 692123889 527192327 505576689 428065209 820985145 921081885 364975193 680991307 751977719 122638993 358689467 729358503 100159915 195950917 500245543 103175775 857748281 328950207 838282133 995911729 758108911 403060013 744732139 236609791 922264193 727629673 308668653 516235987 505857805 177382895 582285393 571659233 364978201 428199657 838398125 803429253 719340689 569732643 4455041 94311233 849673163 953572377 985073467 393237953 202423939 876346085 885719593 978044377 816644577 705809745 132551043 364422019 528628847 528715213 740224367 705111779 663785253 887233393 542717681 736155459 218347613 217845495 502735615 517403673 760795871 75083213 924489069 854316541 228783321 235387133 780698625 8638387 579088093 965835329 803617633 83193129 482302187 408551159 217094689 178926191 607335271 866429735 669261241 599020737 295691805 161490561 779410313 333539203 803078981 390928219 236015067 169487167 619246203 887787955 20042467 939949227 154293701 407508531 643364277 688858527 650810511 410751273 357198679 507941407 111242925 383666061 881283503 929155929 388680031 463450619 295973521 237552797 508605515 97975743 148223667 697729639 258570875 645159877 153630395 456229211 482133861 984127911 324770861 372028741 816623081 934992033 35462781 852046359 437888841 690513565 913379333 279960299 480771635 4258599 63680771 737747207 500872637 653767801 993226915 865086163 773927011 885035635 177555959 44804839 486392077 571158425 367988981 112500473 927633927 922454045 586485633 539572463 184261123 462311125 356699749 3268053 502606627 836669505 245774415 507249885 910034921 473094535 627893465 123102819 596411461 656686969 276775303 763967719 819923083 872571787 545269951 733124633 189253751 50569437 617722579 77561803 378628143 977625911 255132927 484726005 714533695 829083143 118584927 134849727 860946849 435428199 124550915 14621041 581097645 475683093 898615509 355015039 918065707 443475829 796640437 305097859 942957383 205393051 813627231 125327939 414564247 525036861 380655743 966868393 566920727 771247545 33850279 935313865 692348973 479243541 556666189 322624221 132182697 43083269 350792661 330624839 872809659 312579035 507507847 533045397 542960389 221694873 908449429 852075643 933966985 854113511 152279063 320671183 646347701 116646161 711470351 312253339 590344545 300002321 893552743 7060485 637337543 483657095 778051823 647464801 363408267 107490231 470417507 321896749 935713983 469216915 810456671 427183371 753701845 746732721 397291889 430105029 152750251 605261905 472086025 51776593 817280903 338688601 340853119 188531911 833886229 251474267 51503381 519368043 718573673 29944969 566449397 111394729 539856387 567414985 580359471 170779925 919347401 79389085 727307965 355537001 642143237 47614517 123240577 888481929 94427501 519989355 324428867 885009281 415077409 478550459 283175349 813467009 432610723 169291855 128552303 13658599 699268833 269646325 939421683 744442935 662041905 504206627 550963369 283937561 398652241 719508987 542679271 924759907 190910051 549729603 491094241 935193871 241063161 868814697 699926201 946058817 236315653 598435207 626599291 195924037 393001955 401995865 919658005 671117965 900474717 728741703 42288739 768618419 293111963 852898147 368457253 271533693 791024695 691399777 37417477 373255891 705445419 900147105 280363155 61017803 786448093 735078701 391553865 248294305 153609755 791373489 99278215 483818677 962131481 426231941 17665433 870568085 11366005 872181415 268254125 925223921 645964597 821995969 316135647 157464745 208039877 360199203 409018415 98653885 788941307 772555455 386419591 852095831 336460565 737224763 876999351 747368399 620554421 148370905 602859641 392223387 956094443 908843145 481637741 657006179 414707757 580682213 361906461 236566767 355782231 710623529 79732477 439117875 569146285 25840191 773263203 487434569 330049245 970525365 853584015 760450423 528541439 121282241 256191919 415066919 290987661 944617029 585792977 638162669 828660331 540037575 827675885 920928385 514939627 114041717 375827177 80376779 203946687 507397671 963760265 166284755 778464773 910824029 935132289 770923981 934050115 952097599 1335403 511757845 520583781 478831001 385254855 799291181 547064255 997376741 814604029 908063937 701428499 93296707 353202785 16784549 238428801 633040759 926303531 347571665 892305305 979997171 300562555 398081389 295325265 915042253 764174427 104157633 553943555 256013509 360840893 640260419 689702007 576229185 383301755 893414793 431163609 938378065 81942611 774722141 543372991 69602733 247328755 297739941 893319463 681051315 412755175 868857719 52030325 177594219 889613229 362409741 743121525 892176003 271036067 188301259 360031071 308655445 849381139 770436411 116562639 868842717 824941615 472382737 697763785 599959749 994396177 585427497 514184893 777282651 237233335 294363527 582866559 626933653 930711311 708494675 119992651 823148053 197658085 482122211 457354183 272231969 727625463 604806321 225852929 977629095 192257507 5575521 351043693 277716287 146804531 2624703 446834409 355795753 711586137 222499771 252747195 542769229 953503149 65658997 628441231 258849591 92647283 255688491 283077499 491196193 516922065 564904269 718114813 283774187 683330521 669384299 192792567 48515097 703653253 321302849 333253817 641260509 132427959 195945141 123517945 726967821 83578679 404996301 56766163 139622951 457160375 838576577 493423307 119581783 709133777 687866089 37872849 950057575 278563075 405363659 750110775 359980239 359884729 105939729 470559677 374922675 260852547 141209485 704971911 344926163 243970525 568785211 902548769 842661285 369480611 756398657 630925957 664037435 142636963 921559527 799217419 802936921 77202125 369186207 449706361 377446243 499245817 485344777 148755455 752514663 907453931 781097957 475918641 517437729 569415753 77280031 810148619 917304557 519686309 476700617 945858549 720301009 228307065 90700065 35678649 841486207 753058087 512767111 795837581 613143117 292271863 787186313 200027153 819547709 589115417 844177881 423937095 890343409 109662633 422566995 547613341 518911931 593583273 171567097 580250857 388075155 5998845 608281591 914050153 611677465 612531837 946307489 330419905 595915409 192977885 430730607 729541885 956655597 791104447 940005897 95926933 160467139 641640367 618208567 869356133 29726289 550251293 162608365 101031345 925992577 653580385 349456455 869188393 174357219 918029757 837547655 61642721 97809321 587096153 362558491 97665621 688221367 785876297 502805905 872380267 501238419 840411269 539652777 975666033 599167853 502361071 225610565 45775643 756839449 789870671 454812783 983557255 120255259 51243093 644685149 695667259 182391701 849393565 521498215 164852771 714542683 426407335 813060625 538921621 748474593 329237213 615022087 59659087 86834761 373948303 855391773 374203507 956584025 861451511 329202511 641733523 503744127 790394421 983219387 10063007 726516435 690675541 811585203 956840185 410341653 734680645 727778213 835250275 370714539 189179361 764897073 58013709 525374119 525043945 835613461 739303817 506435773 956828933 322008129 203540439 998056525 802597321 578151877 869247579 655599711 125199789 197591517 679707107 930346915 281028881 276865261 278316451 127991151 483827009 698818177 381408825 191849667 297927019 539451465 36712619 706591557 748330923 887345957 335809893 540806725 458500609 815162387 634016061 488118201 983408469 749087043 185194095 124702531 792355963 725890821 285077409 590164777 282283819 784331991 189350113 634615131 62138117 782920281 677144229 91497069 859326099 694143577 180606663 14769827 979097671 93918151 927241105 831657183 214223739 140545219 581746347 335290805 295241071 339225997 403622445 551259737 589813323 981382543 582150037 698242989 888989219 202924129 264671431 143387957 753741293 336971449 375067407 362843685 182427791 512736127 762477605 41681999 356182477 404917947 690646821 236559669 583534427 423993505 314023827 701958397 812453331 685197963 138292319 868529527 267014579 498573311 64164573 486839579 675308137 940359079 503489993 214656521 620129601 177947735 698954313 423613701 203509369 122129417 477758187 179144321 471680047 88180447 877132963 613883281 909465965 526918183 768568273 90354425 939658533 509077331 734590263 342570525 320438575 270787839 631949571 837359629 401699663 882855917 384286667 710914177 157870635 505163273 127451019 239924951 326550615 962312551 278643371 636705047 409816393 75768129 836210933 681139951 258569317 862292219 708817569 468861623 648642547 19290911 789612875 91827825 392749605 565000289 44189943 484721343 350385171 818953373 291688725 825436661 3392193 735908309 108222839 348979463 552875541 868061495 111261533 364920471 504696289 26878995 576664683 500503019 85359329 654420709 184719791 58652657 502443441 524430415 668266141 676381249 193341409 510936097 803383315 97126939 812456667 292580937 927855959 281242981 793155327 547707877 306198805 439982511 817944201 441898553 455056995 985046321 183002277 128224173 951001021 400764875 10630755 798951127 870246921 559869953 410045373 82308977 384867221 228057603 319219861 992858465 988092183 251545771 353162163 708665261 887945899 702820471 686787529 820671373 328115413 913569933 652889199 451147097 592440195 813409213 980356903 61455255 451051275 158193533 981089883 754729967 988283179 814310127 694254171 777659959 792183815 26277337 480267875 495145323 476993835 741227945 654899599 26805419 140975759 568504441 51653101 331142211 221635471 19410437 588774253 209011369 756982769 405719735 307992807 495971703 292712161 840369821 150193437 206795373 39041523 109517933 195350457 330980475 791203879 485080711 567988299 694535857 874530019 225403893 161335117 276741453 137482993 369118051 150113569 812651695 198837127 755195433 918551821 656859237 152735043 715441991 641364039 665772065 771872043 262304355 49285861 138584255 273845675 118686413 291153129 137659713 952498587 239523453 963265853 388605905 42645299 427302675 366564529 76346567 809999133 37821139 558721791 661964699 451832675 252955053 73958855 52333039 879235709 69662779 971516821 719287441 472238151 128777915 894593751 389947507 50481413 994187795 508808425 884362673 852341863 27620051 744106763 136884365 370556543 46990897 259935079 950922355 99855053 959036687 993220109 855786231 403599669 624989427 618326007 785023699 912785669 314865419 389502469 852912361 626145777 691927345 288821249 714147655 836354327 640320737 787468191 25119777 804327933 573615685 398038901 33715405 304727951 315972905 377572357 336088789 366058275 393560071 897986743 208056543 732119925 354566399 128575199 374504897 85317549 370387157 738426037 749729653 952042069 411191803 896725593 23204381 46219875 572746631 703134933 16816905 994969655 87786041 168408861 597366695 353188499 700437881 386817285 970220181 683073957 694977619 981324883 361494679 710326789 423285889 416912303 67315605 231115693 922265953 388506023 354773925 942205185 114100987 271408569 741046785 419870163 423432447 558349635 592445965 779569237 523733953 642036881 84905043 866464293 726346565 616426961 385117577 2926921 199998511 41633309 508664199 5661483 432424655 796811385 470263379 807478693 838383643 405327563 992230677 579734513 318338229 911933671 191725859 159648693 866771427 243292037 313499385 206309887 159386259 922065733 289802551 145135173 366842463 672054193 769122217 547139937 893689987 800222267 58018373 224932507 276420839 407188797 531758115 450665119 445995293 650438389 484637833 413955203 147510105 318003345 651455457 500057285 682809213 70355229 663810237 65507401 133673997 756926103 421381851 248340827 885171003 637393117 820791835 871651507 465563101 198469305 705486731 683398253 931499123 299799773 157810267 715941645 660100131 628898529 118255851 758591107 378869695 651805769 930405307 920523553 442839737 758075771 396833399 163913895 494111799 453647561 98503921 490040633 454820859 100492143 660738599 444546661 417400693 787530379 965963577 113917471 401078463 901792295 956692085 962649029 119869845 796862517 505667661 27592989 684131937 49072013 500243037 505524563 953382193 841613553 668540519 691868669 677584573 385342475 503468887 680159769 247700323 480182381 98717247 840173321 903773225 401987213 397215581 452287901 94507971 335685839 339691283 554661643 437183363 406554747 572133611 207090671 118197867 106423491 714090137 466580813 239885347 88849343 452466425 425115027 514821623 947135345 885699853 318468503 71281633 637777091 456762113 324642711 855379841 62942853 130620201 148773431 416860443 418037363 807082751 9419141 748066465 767578153 348146727 897157621 885789353 246226485 650504043 751026533 200320883 14372615 323993023 53822489 21250021 932192247 485843775 191305153 284783247 9036871 505056813 695863409 100764329 149306913 522979831 840697765 897904913 599578005 450118701 399314755 58783567 116079007 147565451 163502745 864258195 97575195 387395829 329838941 619159731 124069335 391225973 366826665 725531437 781531523 646211647 823514117 55081003 820897975 400712113 972637791 199317371 678582261 147557449 638395145 474296211 243256487 516883637 453980865 124612245 488776221 200162251 877653167 894454599 534587537 936797569 382643549 396414999 61965347 371994109 550722499 798165021 386648031 513773193 193014845 303191067 891729589 569866907 895002511 11723123 965773947 888277707 802793961 6512953 464513271 600882655 887060959 989987617 637561041 992361409 876490093 702119563 330314905 938317955 213153529 146146177 986206665 382933857 935332945 616723885 702980547 12648383 966563241 183560555 205118157 542311977 828049055 103187641 244322077 971828561 239145785 805983805 853702087 703925009 395222243 817210441 590064081 371876207 103191923 633446351 489868067 168836501 581721637 528063859 889776013 441504469 700339873 242187387 6580681 586965933 731923441 196354007 703660151 664499389 641962381 543667485 768564515 24064979 330711119 111815051 752523067 66813665 200301953 579819787 796949787 860726531 474512843 274000683 919266051 997613435 795853893 654340129 952120347 451511475 815603565 67609551 550767479 475812675 434651175 824370363 717152015 188205795 443263169 489202963 393102531 765338997 537685999 287112111 556554589 733499399 582360015 702552847 36367249 156387275 375394023 940558939 192032499 808776989 749807905 39560287 143574793 13919871 506558167 463977109 785391161 660276125 334169539 797966877 129895639 801309771 728369677 748444347 75605019 810235779 962231103 761766881 488381733 925252201 267853647 770203557 451136511 990106951 506354589 160418759 340730011 307785873 542951403 24040109 397749715 42668515 668291431 277187175 249907815 979004159 527554471 312966061 446275071 878676177 146019753 135278301 957197871 520631405 949015761 181900543 978341229 54967309 732366827 386508481 950943261 62335509 940241967 346651005 688818055 343185423 443244601 822481967 19181279 96005553 744019725 35333761 94350905 959363027 275007771 227739585 575604123 720374649 263398197 937512421 990046187 841602257 384674715 576638095 910148091 813538347 708092659 251640325 628414855 308679939 161204037 830367797 919553069 172651773 662188813 19616695 574549623 860379875 227713571 724845259 550534359 128631723 820450511 249504345 923575461 634373485 430643901 772399341 7101733 900205167 472013315 788736449 367044221 865599001 745524765 261215157 497102015 878455809 313516787 553063501 32123111 16252643 415317967 421227195 356698065 938391455 981994601 649326805 122166605 271618627 705362395 30594073 403526405 71463167 954965423 641821873 683899801 861630771 358923981 177429613 815864197 652116061 145666191 596741567 935081013 386297133 388309933 418671307 262204153 503111283 131319121 580478039 193985037 166628397 77680135 35697875 920044943 195328635 674111683 833195347 739133577 79023275 909068259 457745563 193185259 921169967 870795821 840322575 572562323 88445857 143676877 376765629 274036029 723536839 251584857 630945889 187867541 609437323 259590349 650998869 482868523 67564033 51013263 610989733 173140345 338087265 270543469 212385533 978854881 401164307 790681245 166774709 425907883 768009375 553792697 686996685 985701383 541286329 452200137 966015725 442300691 75437371 648019515 379896929 415054027 867227947 633133793 695304227 947733275 806055605 570984953 383951571 850070995 316687655 492696363 828513205 110509485 62855937 831316355 832764347 87427401 994528485 546138741 702651003 362155059 638798493 566653663 280191795 845546459 655583261 412295685 444739021 401877145 902909057 210607255 150417879 304627375 810686731 29718439 648074633 191694663 685996583 878507957 523683521 615059313 880831593 193878951 528236039 324356391 883543947 79609285 283531659 930099785 132683633 910483659 889932833 25659299 438747429 979748561 767496267 817996259 123739099 804234847 355959601 31877285 618726895 23971681 66362273 343969129 976394213 109627437 745615633 343590553 722337637 779840641 431837347 266632837 658439237 476908159 938130973 256108135 875646847 459526583 747617517 3798879 389176887 582488607 174739243 287133049 63080119 739511571 255214743 207776419 494520693 720050263 146100631 187080121 95840777 773531419 18674237 621229435 795009079 417634545 772288317 324321681 144075501 645979865 731926263 12602767 658171195 996633655 633415283 766875117 85696349 567922649 397552737 105660683 33276343 572693235 729693207 481813045 995297237 250961443 865790613 803831961 611066217 370677359 49644929 891682387 470166349 422982721 961033771 331331427 13423751 180657267 916948617 311291057 300601663 878318401 493530173 703218449 51023821 277190989 361075597 574676539 73964455 405941927 774194793 643793359 287431795 907253189 213190501 371715159 139575549 406091905 171780291 643353671 705799223 685383459 447861099 410141427 967093307 824071513 158070763 651948961 106487119 943822133 840471929 717228151 836383453 577915957 548159223 412043657 181158519 148130881 382024681 247574479 750628571 738662053 71361409 983304233 535295721 41340693 801392023 468514913 853237423 517983919 588538279 179308073 642960479 491206391 432387033 985393179 71781717 153408733 354363901 390526133 818269459 834390453 582371467 472399205 752940613 335274555 344724899 504338807 979883965 303178133 274537993 644799273 451170681 887479377 374738479 651270809 530982299 262269283 303331113 395591889 634194285 531190569 427364795 74589891 505815139 483285097 934997833 947084361 692545817 699986255 205536483 350773537 502369873 491284593 349037633 121810423 784483831 459418061 45483201 524335965 415789597 806888903 579796587 137067209 240734721 265721387 126733549 199512479 55430405 302964529 16936607 179896871 658110387 353864307 626840963 118267539 107657409 673658363 288176699 10486269 292873735 843725105 445130011 429804387 752672137 606524399 160034071 168908465 891044979 994851183 310090449 971047351 27106841 61349719 122068365 598476593 79016693 714539699 954080317 319183293 986731947 885794045 873378937 197018341 163347461 167557901 99437437 252057115 350946809 391721513 18007345 696263607 195516575 342547713 455517989 13869563 123591483 946018985 446192017 50154001 741682235 903324575 242690643 501327625 604164143 232381637 86291957 827782879 767008979 708022891 204107425 127434095 437088267 384239943 710071091 419635079 267413729 821729139 279967785 212957143 787401867 131927415 202900137 386254327 752784737 930986817 695101827 488571755 621012457 620755747 816761389 81594519 740305357 221499101 315789257 523687891 461425887 739009171 607618077 638823507 170017307 27739601 562347671 277218105 281405605 429106319 288485201 724446353 105761993 491229737 621940231 372940875 264572153 196630117 296610595 926120255 151967951 876617837 60116657 69654063 493950993 676438491 996155245 701910725 745989545 59829161 946439089 527887505 809298089 369015101 518493833 832563725 554269517 219135845 226943137 436759963 614825979 318907223 786186577 169863299 304450619 501963693 747996057 130306549 880047039 463332719 157353247 240935437 494366055 428924681 940925747 126432459 54217267 275185489 811021261 868218649 930981967 191380613 671398541 413638599 986116109 936228167 508825015 207068303 820208363 955428777 948370235 898917649 173756043 886396445 784524211 582224345 488955831 299025535 215621469 198598997 35967843 34443545 910871327 875459297 571470249 936427923 604027273 503990205 337297615 167675911 879952337 952315411 171403327 601484783 873060569 186848755 998656397 937810737 312364583 661214807 620954483 915232537 2887401 850656287 808461013 658558305 859193593 895864087 70143933 671260961 535918547 359823597 542979679 698125281 400779167 800757309 845465111 485695629 927774255 392243079 583367271 172208761 137153015 791806003 893203963 987065447 574671641 830058389 517015463 471868791 929252441 952493541 662763877 904205369 792955945 441564483 597694809 442964899 999968159 898109627 859762893 569661969 472012155 262849339 455710519 506635847 697918755 137355935 682789679 426411635 576160681 461352101 397728633 864995115 671893185 930137083 244719617 814887021 145172427 318370607 94547163 763072157 238419663 11603385 765364033 993885065 618843005 594173693 762372759 578145125 341080105 18578757 577129321 191222223 225639639 44955327 395756135 796986059 623892011 788019335 125531505 672623561 122631285 719625627 621688453 864284829 955700907 707774953 640128723 339400835 174869871 717959485 639971755 981735713 102636551 779817557 81958281 774116229 181400929 462339023 196292369 550955299 210050327 924433205 197034511 159195867 936515173 30817785 818312821 259799023 690683699 361861749 385310045 667115277 74124563 190664935 633701389 467319115 669765689 268143229 755151597 475098919 381235335 306553923 390279317 670023555 62257281 784789047 848025275 240601265 332581977 91815479 912501061 925486435 7812325 450382093 673689919 825985973 999699621 306742123 253821915 419122225 731760319 878539497 824665971 131884223 136475139 408515339 78654605 724462009 859828713 103168055 109671635 152123097 643357583 567391935 491292697 88587333 745779391 956828127 723952983 128668043 486952163 907877557 723760053 400626335 739022871 352716107 28310905 671549151 922577943 65936787 305242395 592833041 93864781 31013477 581724725 873732961 806415815 365059203 540800137 977624165 228765757 587660185 169731 587521049 739922189 740858163 941332151 364372453 8917821 404777933 643254239 249162899 155834751 116460489 958272221 128831323 650826539 2202223 624720191 498717399 284615997 554534129 330774199 590596623 247027039 30446439 429843489 814031729 238964957 459534291 432707711 323371471 587063729 74743583 307403775 952392041 970586491 299918877 951857903 557971171 591310975 263305347 373346511 382914121 704737455 682298357 350141249 775813651 603498145 564133625 797777167 733073949 993240213 17961989 948837677 995733165 287008113 138325615 892793271 104959343 187116485 419700603 286483185 181474937 995660489 699597645 946475075 552764743 794542939 900661757 589523267 108789695 576169219 446801023 214024363 867909423 489480945 128080309 484852063 196038989 20743931 933471083 246473065 683665203 863655071 994652497 741885183 541714025 243699207 942513663 876334969 548242907 890315521 185081335 134127195 727893215 860582915 35581603 542840403 577196083 874897199 528118611 319698993 126572283 929489227 278524481 142148593 480821699 123107525 524639117 531836343 573754243 437200565 216504387 323710159 854926999 894923739 762857299 253673641 56266179 595616159 817068693 919856101 921393975 315759885 908582859 999711041 143635333 431625185 310167453 774811821 27251885 594601845 15651487 285775417 252658963 307390419 394247241 234733347 97376389 33238187 919205885 977388747 801124153 870852179 161299457 459523005 49502921 120032971 285781131 518344879 766453053 598499513 100653745 401043835 7471105 394563693 666778997 258647075 7692011 406468319 316248767 378293713 33952055 69821101 612891235 693905885 792728717 745072415 649795865 346330301 13181431 828397349 286434689 907115801 293546731 580524629 102764839 900086967 8008265 970577389 468252025 521103247 450999635 327366103 396688595 117134011 591703737 53950881 994226037 169028477 636276621 833398657 741665415 630875201 140189775 618550105 313203997 592752537 368949219 314408367 917128495 613456195 541717141 673375409 636082845 512555809 532595999 98765111 54448689 741075005 671516569 499500481 20514463 178299851 698946185 726711159 219064187 376879655 299335135 883685157 692275787 780783059 985237999 582872645 119676279 505422971 785882741 103591927 281811789 57272305 441697175 995784191 320602891 598394675 577412835 597426639 892620239 378765667 431220815 577145725 129948067 38454987 492598581 972962505 674848379 742995935 510315357 152116249 543578923 95532091 322886133 567165821 974413433 830651299 719053967 889258925 597788171 681730815 321032233 389126407 185384309 289037157 562805803 741857427 781768493 275991823 582613857 660523775 835090839 943626335 763983101 711576485 15532541 599599845 307057057 334440833 610945421 520824911 943743057 731988029 244545121 294749563 512169847 209207591 485065853 246412653 143370221 704911413 730334919 565432397 511075309 635485449 267333649 830146161 135281181 859765225 507806231 498032467 402829963 190140611 296409207 746265751 681999787 535950895 794706363 474024201 205661533 777284205 591187541 352645529 158224353 76984933 496482205 176490087 567973099 387197091 722450135 574558641 474951307 229860961 244293673 586199271 308584511 324568191 39269797 111887769 369188847 427709057 326325319 78564483 121147621 386810777 161348845 643230345 647875287 257968029 957427041 456171447 34981605 67220491 217317205 50231359 721206929 372395789 258037601 565680507 964252363 697018483 881412615 745728753 642552037 637677231 423923889 85873483 590941599 575704549 45646001 91655003 789198365 125504731 331696701 108531997 92511469 693465089 619178361 659780279 506201347 783417963 835690349 395043183 460154045 375233245 414291209 659890877 989874401 158981817 506748459 793077051 112576409 935877395 683330191 387904427 789190015 823306145 925672673 268977657 570173581 611261887 404583857 729305143 162118443 819873145 250863225 661160355 852363555 218108539 927553691 415168925 558307499 60598045 991800927 477953203 744114019 211092319 357338615 67750295 568095565 72529385 231556731 876724773 32150487 98343175 188823277 56137311 371265239 499833267 3145527 659693937 929528715 51420301 483027753 764780207 862848919 696601817 631405949 297621649 317856263 114320777 617839829 772980671 156418131 737153075 436698807 99078145 71571799 56160277 446333081 813257035 400271961 267966233 245455057 785644729 485020163 168421069 511052705 935607693 168539503 507017065 223482931 253331507 747044631 769643723 989227927 994396479 62238177 235700091 135051719 290938987 316552219 205777831 809773731 818068379 605446265 611170857 945927415 243514841 339407131 445778813 382593905 595046491 235199619 806088397 974031789 761998713 767837855 45066471 924906283 127705015 709855685 425684289 698356309 951329985 228971441 138366205 155601787 598348395 345206923 424013791 226183127 161778095 578529245 192908635 63960201 946195377 897855903 19549571 178544029 144948413 67567915 213098009 3440385 303478595 481920587 739026307 532339089 802922209 674109991 45934035 900870157 936108379 597666393 999855037 974188575 615085465 713792987 504523681 161716565 148525233 714836499 128395399 246313005 24093919 515477453 910765855 818277127 60006019 45722177 240891583 323587369 212329769 432598539 380430437 798297031 267069575 303570481 808508347 834012411 345440117 367303967 761476625 755060933 483366649 14206379 918956889 242061837 78838077 228793361 783815479 226772391 291853459 693747961 449911281 31179083 708731511 91061869 414827383 920684185 679755919 385327331 280998493 86433309 795110305 935404603 533860581 704084037 466135717 562720951 57996791 711553131 86062517 284968453 469203489 202503635 703517969 67996731 398730905 17942693 384605225 808627415 869071425 505027823 623433359 246849981 457988253 706820527 950291707 31173177 447087839 634474435 809670229 529281539 616189663 29751029 541073061 207597623 514528793 319710967 656595485 585614939 953067189 903705699 346013213 838883675 528624771 718840761 712523301 89134731 205692411 221809761 595886305 935282859 50669373 245447597 666354981 553105631 261084941 745976793 120867561 705453493 995190235 311788291 36623445 451198499 501567169 976836661 380600497 239068291 523880573 45255265 435644785 745645469 632567925 403811169 81857841 630718365 922039225 671494387 609853619 656110873 97331713 117313987 781311459 767159823 138353835 587712099 534839509 27696353 94551485 813253193 106260675 104338273 125168363 958673625 219641105 887932863 410948231 82322011 904706633 522093981 683283093 662219521 554816799 110099197 559920055 568926693 298934127 532119375 575050817 190856709 366555451 759431269 936953127 753657165 497846705 897832831 749986059 493794191 917955103 113989697 300035377 593448833 778508037 783846841 711760523 578987463 766323461 684578139 735881905 436465641 651803627 719990789 440885981 954190681 777436583 823565053 634458877 250033263 244861783 768701167 423138971 465370989 279150143 771195121 983245297 663005565 155269319 635106687 872666845 550881201 756934021 995053953 162943977 384550399 286063667 821536065 772482879 659002955 471202997 184653685 707949499 396183901 851497495 412318781 590392283 247933413 787640713 273197083 122019013 317245823 810035051 3148029 882805577 928158637 598264379 956405051 993957085 493400789 921488809 258447501 43920035 366356809 522349445 268134173 751145057 427391043 172612299 269885047 657097605 71119589 426404513 877601423 185497641 99851061 244049741 982567107 707158025 792689961 921302343 611941079 956421007 263351191 932015143 517732347 869943495 964290881 311254451 693829059 48162925 695010257 102085333 702078763 269541083 26934999 972773023 953527705 464106269 458592973 628087119 364420571 110551519 289110037 106149189 938715941 45018233 495831543 503598607 42784791 469461995 893333411 575494495 474568115 138248667 546136373 297634319 995805287 788615577 657224365 219178789 137053961 928336669 223566069 39605451 68484053 608820741 726850781 197855573 889774963 211133083 950735391 988310075 365191661 833345737 321069147 367792933 324983227 431286571 568956957 848512731 802746553 442293247 917878741 825823313 642493739 610319915 844238553 854954915 987850945 92043325 245675631 852864275 824324493 442173297 198263999 633805837 193124111 628101283 846167513 329670181 173688619 109364059 192854199 195117587 86356783 585412807 545608761 119352511 926920911 16186561 469361707 682758193 654251817 709270213 770173499 598782621 516677571 184021243 140038405 656965983 759254409 728765749 52051209 518865403 420937169 236703719 301816239 666077465 487551831 578947379 517477451 76311437 852905283 563480029 643314453 377341269 707532319 434062423 784624685 146699923 472497379 358190007 169226399 876639891 758436329 97507005 199020377 909147845 683913721 744390863 91227191 222911943 67892545 84454655 696188153 733162587 119084115 577496321 671559239 543860335 115152175 641707061 116399797 241318931 118880825 233059491 400174521 989471875 512487741 740366843 998786233 443325731 800714355 974400145 870011385 241237117 581869431 206660201 240741805 80532295 811846223 827877927 629206767 472367449 193896551 89423387 584479933 989610681 119924627 3990843 228978437 784735887 352776467 589950505 816230803 58093617 237438093 672096299 611298085 202495003 320554763 746644015 349140057 887790317 174353411 876887503 569709241 824207987 684823125 56798279 816625591 644130979 170070337 65421695 627130285 646374549 314089851 959484681 836181211 94221199 901761555 20096281 976981609 499632123 86169479 119622033 100417385 180876907 923756735 985705717 527740375 463783579 656476165 421250423 816397201 561436785 812993553 16522221 421876577 496929523 963908351 557639895 477101049 298954585 450720083 881953115 808951539 510877693 662530813 582744649 819848141 221046625 234807889 786914073 185705715 196603185 3784971 630083305 636007095 76406591 790552913 112029057 953024079 909021833 520465071 827918417 210084575 677126703 139480351 148034927 539995247 221063295 562973689 972654233 969058545 130260459 926818565 448955449 277647677 110042127 216487279 221296733 50404375 746906285 78461645 604228029 166133029 125103793 721311259 363120309 835210745 695208749 103895743 767262801 216072461 287861343 38647177 248947005 416043203 798424233 98697641 644750547 888311907 264794005 17212865 452451343 849245471 370603735 21581011 515633305 855422223 35966283 316133709 918216643 686417463 250031091 694601223 385081729 794548093 620614395 544333115 65607541 441416627 856341175 12353933 656147939 419527827 778997921 974572303 285179069 90143167 166346843 14172211 754400921 997595583 498633909 929967319 537159095 721973507 407385757 880730433 307246333 179886825 185012785 309587229 778027771 465441453 751842227 377041535 244835049 279241339 555594895 24010983 477090213 838581347 626111577 821331515 939769015 5631839 57420235 555625925 350093647 931657297 607012809 489867579 221051713 621881087 761404511 479584701 728977425 102911775 454414269 877648589 889860579 715539271 338170177 333160281 615942791 932820473 96422511 783862455 586764403 973289119 417411567 168972197 722201033 77435529 672694935 994143557 255011151 821662193 4932707 28842537 99395443 447504121 853254003 495746883 774123853 977883815 989109523 135385327 245839773 996331505 658867897 907293687 798434763 700202157 684175101 147428995 166026467 167036061 903972005 235711277 420871841 392541801 248034713 320677359 31451231 437046437 895248881 474553647 221522983 186256585 300174051 825967291 374336425 629661751 148877269 17394887 329091899 390580021 166951251 484207857 743710429 728773113 493571087 93196095 519063349 434898841 951532003 176920861 521329299 397487895 196425941 340704865 830311919 476745819 572222479 369211465 329466855 148524857 459731171 828554871 422009795 496582249 450601935 577536507 840413299 394585739 549188979 623061579 754903435 681477419 820954525 667977795 280241231 316295607 774467647 829204263 341233827 422211723 532733043 225328037 671662615 59453415 414175103 170989781 748467937 938031347 387194829 822695217 437260515 916536515 56226289 66463645 699201185 974085455 438863781 170372715 293440079 151281783 487867083 725194317 67764927 886498055 769025649 79472993 176886899 328269741 340331465 515719213 85329043 924631045 714806575 295274653 65474539 594750349 702146341 396238597 787242485 892935859 648851287 145705767 22331345 24722883 715729817 285144355 705877827 729928187 356766437 500455561 986708925 543222393 387247709 604861263 316052821 812067657 61805647 598047439 962360777 446547033 22925615 24443601 198018437 775075459 193401493 25132161 735434387 682665611 104266821 864250229 463362989 889430039 955933483 260729003 618054961 997030587 567918683 101126023 701395495 360994541 962156047 519253717 906936637 586153233 854295723 942643661 684608461 234479217 515583417 837054731 145259219 864960571 286661871 21538195 859699705 161537161 84302629 387044309 710565517 513947999 639549279 501237413 176415365 861290403 642127819 933007423 775628163 451847721 466015927 400393545 173127117 189171367 392453541 569617873 421999953 227128001 869662771 615875659 501391527 264950015 110528813 220790933 536569359 431516115 136382345 803272437 477905007 841642647 527893343 604335895 964085849 301022345 448354549 92497169 695471873 312131541 891381683 345182305 463398215 263776909 987694895 363564265 741440693 812165543 540427301 429987321 15149175 844178439 386810741 568186695 929584227 629438325 467253547 450063855 984016893 139158435 829321597 852389749 867045225 525032233 38433731 180037321 602257015 589371529 258341251 434870077 646606239 641567533 370851687 179642769 127542015 958617191 706230849 785412841 921846623 764900461 429078543 260418513 465438511 236502883 38701809 276241729 174314883 883957329 771714101 678551959 213093151 443931689 402061645 278755731 70541157 457047747 231152851 194232679 45433705 370622945 467463565 344594343 600619233 120136237 44608357 443565135 482147113 633777719 954296429 447735751 930559565 962766713 957428195 796534745 320730105 181375829 436197673 350810811 246177413 194835475 102029511 639723533 811800049 168823781 113133943 217829841 169666277 573928419 459849997 71374709 683330477 834121999 295371665 52011727 489138499 262775123 150372397 384330525 821175367 14609535 964333109 482290691 665678845 958978381 983715875 966829709 486951767 427349087 858799257 111075891 208006121 71662395 416649061 954863057 461541623 681221463 727727739 872411307 887532133 435073801 154122483 977936241 479074243 628874387 531659281 479669047 294329161 115282207 388020801 979814009 975475413 933740477 491641367 382684701 662493423 639108199 893442893 166183025 933422533 358727933 258697669 317367849 336410161 30944843 407839887 146398563 841415855 66114817 972342489 9639589 837235305 748253879 938447617 52242907 884793389 23059695 988875657 333637979 862121329 888114193 678177311 676058339 158328663 188224113 905663123 64814741 35498403 310625095 841352161 991542787 569546183 120439731 923162413 185664797 540617691 666815425 279859393 787147077 732576667 974827361 121107731 143445565 806155631 649559913 437602747 809037109 142284135 500723871 973262461 795581887 554531389 393477803 923815495 129734875 209897547 398813981 161647145 862805485 53760667 514033773 479139423 628145603 911860189 381038849 798279501 919371665 403155303 893459997 34483839 884543477 476309047 476758775 586002853 251472373 323790327 692906915 955555743 99950589 861724149 637756967 222259051 712604387 202707497 716517227 794724665 361907939 52907057 246164541 544243545 366166179 283005525 945480795 908222793 163083313 451247747 198140259 693072553 805158915 688183125 60128225 458288711 770450931 73253127 418483779 916254997 267288651 54506115 758195685 42889005 588596403 651063895 658534405 120054997 687331139 576369081 195025617 320406903 392041849 770161547 720857173 156801189 256060217 679501649 776488335 397178141 352349647 257609277 262905181 771059647 23140083 623533605 79969161 198182041 53348801 740008073 876592583 998694365 297753021 188516753 849782955 345283303 982176215 14427401 734897851 43922745 321985379 759855467 199086429 515762047 893096221 604971733 80315877 746302603 505212971 863815185 85154441 875354203 134477083 869844361 632919917 203603727 413098209 287304281 505877913 27970037 178530781 618491711 965131775 755540609 523167441 471884193 384582777 678648649 314652651 773282959 659400901 958822165 835139521 231700929 191238033 543718353 324202063 852777107 676717417 93245323 100589565 124316433 419020745 878378883 256878229 728453865 879040019 355958043 946013263 21564015 979905681 54670557 692716743 201764261 900354927 125725053 628887553 739088691 412652493 69527767 548370797 352933735 35836071 494373103 635402973 288885047 337409001 199324909 146452881 601250629 995247461 64647719 305680173 670733013 633325521 952283415 580374719 786236633 446480337 746127969 658994619 88305895 938204909 914550735 740986111 644485695 316757655 792803157 482192337 23483081 534392615 330670609 768626909 704132113 693045471 398754625 590485817 506347089 634247401 692442963 422885729 729487719 894201431 315466971 413303867 128175067 635865887 70564245 196057109 201213917 241850661 371621729 566112677 472130627 481667889 750482251 513384199 38996365 71505907 325057673 183067839 376411361 988578057 840228211 165229243 559444239 323789807 176373391 101330257 353155981 291985169 204140933 769162815 10861949 839060159 310591531 885264297 668058789 684405299 737582973 17249563 285976179 186165391 30175899 305895565 487997697 249577947 207908819 251337051 552817675 341437959 555723157 145117003 332263419 753327087 97126273 325595529 325625565 680413269 672543063 598357929 220871021 772276445 818241537 90007211 39911429 624071453 237141655 398614517 855844785 151736717 725315407 148541521 323237149 79389839 566053009 989783285 812866977 190831979 529693155 23870079 629417533 817357137 300973309 802555381 604963991 202091613 331552953 306692035 447999 611727503 690064409 645727425 428689005 380169937 296749897 89692967 826600319 198385651 516980379 32627103 41396605 912581039 625980813 608532531 973447767 954267047 768651199 229563739 163977891 398427745 604536831 985307379 652380831 591038547 10392895 1770303 263817013 696031955 460122011 520190959 763463923 561175331 152676181 731042581 443724561 161241963 331975129 711119921 803658349 44736447 356263099 465689383 94014607 909467415 369757877 636486469 778813605 472671827 511235241 108456511 429019783 579074879 392326823 669122355 646618551 669208969 897155805 780619175 428756567 937508301 305608873 331966599 812380219 531412107 194078093 896279849 505330647 173881645 522028597 933739593 289174861 67953921 261848437 515099407 154658145 29262917 277857607 735650821 274435205 686490391 969233359 675853857 786377167 968135299 840887895 138070467 792795135 320595319 894008403 167928749 337737339 403674575 181212255 507061261 476592213 82913099 531376959 839033211 184916289 89063059 713323739 525053935 865727135 832052795 287461705 468641235 750918775 708216761 209337795 281522419 250078839 234791539 217235373 469175171 494875385 640453293 561726355 727269153 969756667 309731995 248627237 802237905 302307875 62720855 132265793 871558915 812198337 80409057 541171947 343371403 961178059 589159969 346975821 484828069 868067 18479083 401249977 558103543 520003663 530979317 574124715 794124943 480490237 447607011 528629959 149313251 362601093 634403903 17029849 344073677 837804585 675162999 337122513 403459221 182941131 573371109 591027663 276070375 873427711 678555853 415742225 359107289 49277945 937591893 738036999 490190313 327725723 366724753 974192193 561102331 62499177 651877239 981158525 745457499 529785493 429510891 352542107 651587265 197997813 131942837 114957993 480517193 539904777 721889927 87326425 960468087 295518711 202083067 265566341 107863867 481498767 730607247 968884787 795406055 606060617 191744431 24768397 269316923 466448451 156675245 913558117 732866651 474321989 47131839 819374009 672991189 760162751 23581961 574306473 550941597 958111943 484126099 928449923 474022673 18170139 529326671 476860089 171750903 37291813 914092053 465825255 343841147 23603955 103696809 710761679 519601459 579432251 598771377 767562333 154098717 531988063 313142975 993424805 778075547 262860133 786391119 627448031 276328061 455980283 777491389 840092787 465070585 691094139 940155991 587875817 720800425 301991649 545732429 313147637 654969751 634584533 220082871 593606259 802345771 71137961 47459481 924872549 359911997 113647953 968183257 816873975 446913291 78174575 448910665 529868413 223722553 918088007 524963 774196337 241487317 93677771 185863049 239495031 296987731 141825169 842494083 780811353 753678225 565085913 314312195 531413003 366522323 705490057 56351073 558125225 318768841 140405809 977505759 651636343 852972679 968424201 641633703 703922909 561100937 414467055 896962249 418019697 360826549 38702699 728028735 438456557 17877081 734327213 626235115 69461045 68416811 67093385 828350101 136095059 757997637 166592387 337897197 317594749 130793775 738213823 422366863 844766987 243503831 280725005 916345851 367348865 599377039 654866147 691664027 16331661 58124565 349070947 894231487 750016255 356973969 752608595 861730209 909545683 639568013 675268129 341985379 635260717 175298817 468544485 302305547 941748569 970018633 603566943 816208527 302676167 150094889 836651511 180483269 301542423 491022801 744755385 526373743 186797575 410111189 934145887 212951351 561643655 449395505 987169609 533379757 720390567 808165195 642983547 163011915 315858595 86174449 581448871 287914609 647764705 277535319 390226979 627526763 960187623 710447899 454437615 328543079 997136749 555002179 767578545 542869633 758614093 25780795 805559481 61160121 631710087 461138393 122135807 181515767 81611851 751952729 514092833 718473743 104204265 669362275 540552295 220568505 98282207 193618945 866814401 192737687 773128141 276097451 891219651 121158447 74727041 162782779 743688881 163984373 987407597 722376443 53028719 73064515 503216685 370446483 599001739 327021145 752915843 350342171 959875649 854422369 703152475 720555025 142404205 45347945 284178503 500823897 957359509 263671663 95519749 90328641 557174765 206371409 857112693 642960765 600930375 422393307 577234597 599646507 540642085 520833211 26534857 376473551 21383597 731830413 399626295 605538649 238169777 594260175 499892343 263274013 159565221 410842607 397449269 24308183 215644075 26642491 16263999 575509679 619608199 321884907 979228309 484926511 539925419 990777123 929137497 547957325 924932397 859654381 342193109 839670377 876685003 338149431 123068541 817472069 458672369 627422171 725944557 123803407 308085673 220973725 214715623 249129565 161439659 679594019 129295705 807482157 775477595 352104961 708943185 864205537 793866171 717754031 409871119 407939147 318461819 696860813 544092917 398705821 67568117 179641061 75190415 461778549 935224869 377690857 591674765 462775511 178180533 483557553 351307469 231835699 600187891 851728961 897052499 555202395 336597 853391487 142355271 766722191 395190269 895482431 817011455 325809781 37162927 85816631 870757365 879427349 890998239 17039115 156405709 47029483 890097439 461031491 738265939 975521743 555839921 139808081 850338167 113816585 384313979 129363343 943571031 224143685 594992143 693681723 101263927 296087961 245453217 623439745 853319295 161982593 77335569 55276403 492668103 761678309 101967593 185867015 743441349 13444879 843632467 532153633 544080479 949834167 220737323 315971465 205453473 783190263 907487727 229806577 532464315 168634457 460353477 895930609 227860493 793737925 387605629 533259533 531896855 94536085 795498127 854520747 476704643 863611777 936600089 417846813 427639593 185476531 680260579 173250205 332794623 554001591 402121309 591967565 349696299 764503425 375047323 626032949 111130873 440525935 970681183 925266247 494077403 900729415 312117777 347620187 711887981 177611061 901915071 793246515 167971185 412892111 547313695 800039289 615625425 272907793 7960211 160544445 414779557 486492257 996974881 870393979 852914211 649022605 393277815 903439375 645153459 350995659 675077101 188681671 415184605 929484469 19664515 816550867 725852501 865685075 346750433 137772363 997841399 367256851 803163219 870040881 330914501 504598727 641144531 286591855 249341675 800357037 369738751 85716437 151915451 101986413 12334881 827107613 190985139 256418579 285583651 560962537 955038069 235571731 829046689 574977985 589122251 368176713 969021913 538046485 619748265 96557311 905873841 820465473 523652395 762744031 434626233 998820229 968517267 562755325 570338601 360165899 473774157 544830425 870421215 552283107 320193261 18268761 146965091 972940551 523174445 979535045 84308963 135082841 919897585 923541465 522796601 599187871 622315843 844326829 120075745 959441551 930128215 277287625 104558085 86164927 407580297 514902809 58915187 902335665 752106333 214239987 197657505 688854477 919319419 842350099 393305009 280785255 640095929 123361441 513467751 766972087 98694673 931489831 377262645 433378015 487424167 555798173 666913331 652826597 929716423 453938527 621087005 555101631 563163361 77910065 344928091 783477057 569419411 107983427 234844925 626838321 510243233 237115175 571516603 470265143 729360627 445729245 82872053 144255715 920549279 630190537 433310895 682351279 37692385 951449017 713167515 816358651 988808217 816637665 78557711 965161745 266831827 616233951 534227977 795419685 526790341 999239609 654688819 295503435 964060103 482809561 19571675 338841993 407238111 494053913 835615993 144883911 989245751 702437301 528097579 432421077 742264353 886629455 65533625 961084267 251766297 659996663 428377489 670912045 590244035 962081571 809930829 358485413 456334059 152371117 933031721 615606849 127166851 866859997 369438479 549544285 853326501 59628385 453915789 911539767 825190039 892879435 493522649 360723709 66662083 454954521 830929109 525081533 759015099 179517107 825105413 443249519 303345981 23098725 270512027 875946231 555177769 310718435 439350637 87388703 315087501 408463179 511097595 99616405 843314587 397414177 703515245 635699443 188393391 789848661 486101391 253374397 974541899 206399545 177596123 919897177 858619931 549136783 469020783 545289755 180910577 745658743 203550997 581220153 99026379 77860481 459269431 605446103 339974603 928239009 790469617 913721087 409107771 165589813 318564353 707575199 401832335 149971971 360895181 155221905 363991907 250306103 955748197 301507737 104845689 583716967 857218431 372363613 110738877 712594577 753189501 910101103 353183299 784064793 953213541 345081675 174074949 388923851 740327655 773029199 55349541 609683167 561114199 197149381 71855475 144530415 363015863 108563423 339114973 164623109 786351791 99441077 888262209 374427017 608876685 363328841 393715361 372189013 792726855 830834311 556664873 144398243 420789119 697204027 593174573 668796441 630368889 801800737 798844199 172239811 863135527 196865499 800030651 933989403 54552863 309654513 129068979 382193145 293501857 958816725 788630789 114802339 616685717 809139167 498822857 697124041 479914887 198527059 331436099 405454207 746656433 986635351 446464481 115059011 242909681 515357437 347007027 590302967 140465103 837761087 362694901 601722603 646863995 434097663 894118923 636993493 118984907 285011717 74951809 89173967 491962173 115332611 74153863 891655521 450403579 952003217 701843325 174563449 139025107 648923185 77222113 468666217 447154237 372954957 485084515 492969457 348391511 28914741 356182227 607711795 398728425 948814883 809133613 152055233 888463713 583009849 421859477 644002445 475655641 475533951 920522327 134639605 607504397 512601317 663972837 579508157 601446501 931230793 327417561 50008853 473900275 834134375 462999289 915245457 760057963 292102633 143487791 536304173 390832943 39143781 825416333 851748943 127574595 572066895 723262289 377786565 537070169 590778121 845828059 754329797 891553993 609492191 956723129 454657257 779495565 867618049 125986973 61319737 787528531 96190855 909855585 693789473 385432677 469868659 293310731 489726071 730194365 928126125 482633669 979268729 441450745 789717769 868522979 85623241 315370081 496873791 482492637 423955577 742766565 914934001 109510747 994444025 776887835 417732773 194830629 567203627 399023425 226114257 942096943 470495059 803412033 79614155 632921493 558634779 659001257 581221845 936021401 799015069 645003953 603682839 799364007 563678035 808399927 607843749 756702033 108016931 275052995 507277687 66485077 775949657 991825027 639195247 290654357 589939631 645217359 753475155 168728347 129350461 132805289 597041879 211129115 319995787 999250867 185110677 29812209 820459909 382629697 243975181 471593247 681759359 235507655 453352617 166847827 205658427 927508839 197703097 43848027 104861913 302964453 209096053 928577847 131105257 544446643 266596867 373346569 731763553 944139239 106224743 364153371 824062365 566270273 689836949 227004899 131008353 514561575 289306471 797615353 532883163 949053865 797448605 767045153 280702625 770057599 810402015 852396361 626642097 791734537 694657985 486113921 911625071 366568011 197787067 682209029 146440873 900502261 985952301 94173241 65818259 204770657 774023009 723608743 316284619 515791245 707684745 238904581 103788373 67215903 646339007 328581931 196596129 959260517 375803139 193187101 82440067 155000411 698989885 777454601 830718519 853948317 67145793 214533951 924893027 913911411 92872901 806301499 502177301 897735115 443008877 711285921 711359937 30327101 734973379 952980285 168979783 572350985 644591925 998423297 698126825 765296151 349802525 444131079 87725141 287819509 648451263 208061589 89191329 957899993 352599105 614841875 355689547 444340643 209162167 427403801 436072757 511369693 883548951 360923741 798326449 875002803 318445637 562236103 387850609 78674941 360336905 988172381 810378641 513190203 431477525 413055575 858865051 567362707 190583043 845669647 414123383 767389397 764437329 445079301 229456767 570578297 316377707 320158697 388557165 993781149 455747235 942842765 241364839 163475721 478613807 390175977 118655227 843669805 608510259 873093925 864509981 868027423 367398583 142056585 840768555 567075741 300409773 721562505 521045739 626117137 775015663 509059519 424699273 80205705 481825083 317548785 287543707 699643067 372623421 825874441 489021469 80322057 673343365 238861851 585599607 229061241 237085583 479070049 187596659 730415289 112638649 404886077 150432329 830912547 230951501 48337469 627955603 163711411 539945339 6750997 95750233 234937617 942528097 475861915 784741641 36421007 680924411 753986265 187693173 900430113 245997109 317549813 854711517 654683497 214585567 196958275 973167845 462689451 949285555 288083009 272863897 195799769 34666323 293727889 428631665 320826505 326308167 441850365 224188489 920608251 43135233 92443003 861657703 63088149 877772761 87249187 47111799 434579815 146878225 685153593 400836239 577012521 959273683 274725161 162175019 6303801 200578863 993327751 671665457 361062431 600663327 269705229 994673391 470020107 979929477 897331359 429040411 534534097 131676713 280171081 513278671 312042229 179468475 804970299 471970707 823856027 575584727 703833811 767246419 507777427 968410109 818531989 958473317 698137427 646122135 856484137 705579655 46064381 44535029 641501541 501735901 312907605 608064849 300635459 806243059 380584143 977704909 305524967 392680641 949875837 641419633 844488093 815987619 686050593 54554925 540531415 648473181 258476579 882585821 482200367 921009951 847399567 93227585 874075499 862443131 315754527 219280387 644093811 405521521 206062643 354110643 843507549 661289317 335249615 296121803 359165029 474290469 167864741 706381995 945402347 234667495 236017931 906192799 623216253 417086277 363655937 661354197 667391691 316667207 603313197 392408937 525000885 224905561 17099999 637278811 591893563 326872913 259864591 161359765 947002505 986890347 710286427 535496933 582483697 877208653 575235339 504421129 428507631 938583047 832461583 947056289 982500905 26899721 523440635 38264115 309202279 943558709 764316435 879536181 21824925 458611917 945570875 79362043 23250405 980830593 796227329 598049483 504599429 226223971 728463265 693463501 123364071 101269747 983868407 904865807 753918623 56612117 436270217 512236431 825608293 362169877 381908873 649920555 486646305 522926763 335276495 271059119 404940507 256537845 226751959 808704457 911411143 500232051 839332041 312031509 520014145 885918743 985722231 535608339 186352075 639740725 543085397 278555435 127395089 801276041 875558787 203856049 309035751 458760249 538110411 455552475 520563781 763748307 166874009 384845775 52164179 131157837 93520133 284166801 692221273 63605249 694202829 64230421 820973517 963199415 410872923 644839733 134043461 958635933 340894911 915002543 56217995 689360709 767987627 386038321 570464133 94112173 276087683 749295943 935123017 400545341 693256013 802567279 136706577 63995841 677748665 9757191 274373953 935034731 952725021 854945113 963876195 310283229 854943095 704311191 975684651 282507803 267273073 927164635 878927991 148552335 687084377 456803619 16190277 694299155 304342821 767051611 777043139 146546401 910371447 310553173 398099781 812237727 827879315 841244615 152533573 669735003 372253291 611733845 749739879 881374089 205909911 439598473 923692919 600414985 388235091 144089807 556484967 387826459 368522887 589315719 439276881 752069491 910562757 91412973 112957817 296394783 760707137 821034797 927137101 757125795 865496795 538542681 945335901 866772703 107961117 553718375 489599333 491913765 340360753 283838523 891902283 580619813 328250867 757618589 170332181 208604673 973175265 430401087 513586171 901014331 76838433 464217785 31603797 421981891 966627971 707622799 958665897 106100203 68302719 297040935 680194465 52560755 284398387 970195 226102799 156444799 701438055 664540877 153748977 397215645 973119881 146670391 601328999 230612417 234131891 283371033 186733503 442470729 554849697 911519845 462202473 438188283 91146429 624157683 346552325 723022081 821419029 127122565 473138515 240905717 289107295 12238533 389839423 50316753 163203069 974091077 64406747 498163965 492148213 774522235 835061861 305605955 717957365 86031049 162687037 880246489 8413013 887775611 311981809 11811679 416444693 55764929 5535539 667419351 33881307 899969203 133157599 692192943 347304185 404717907 181122039 617616573 53392995 985266059 57394599 162191935 544463801 789490475 521919811 583480025 381936709 738590957 418304325 545187735 725525745 934145395 115451471 193571825 14625113 572139589 683398703 112461507 691548859 54970067 880902871 110357331 634980093 370979193 359217507 74625611 225532335 482262647 35847959 529940677 886335241 980889847 354693723 299529019 294302953 640017929 837744579 703385747 967211991 221749159 901673229 227258651 985831937 406510515 677059611 831829895 757018177 669646579 886947319 696926711 96726291 973587485 562008023 948642541 142710177 350610119 866082323 922188375 391504569 476827251 959410479 174861963 514771409 525866891 470037721 996853573 555968523 630981213 502508255 966300333 188739371 125134887 988589123 451423821 696687267 733233161 677671971 647821341 277079179 618353673 247898827 614593911 507083423 7483421 176998063 657711653 942717767 759721755 279516013 620236623 199522451 355719109 842298563 737934991 886523707 263457731 49666977 794596575 427561375 956982441 947730199 745361829 299883715 710823663 816294753 111806381 88299353 847163125 482882787 618713135 958340791 533581831 944642345 876341703 175110107 249202515 578038755 971990395 970980975 759387893 223407089 617889207 744542657 347280619 745123409 567719761 355415497 66930723 663778099 85222021 395390501 737978731 682293479 446294011 403698461 781744251 967989483 90109885 531399839 404207865 984833247 780083777 39503685 439180137 996852625 92109159 136653131 13040703 750777841 368956273 455487899 195653333 2559007 92027405 559620289 493279851 689042523 75181905 380907001 148815657 18243601 875888827 40939037 752026915 928472787 261097519 193984697 933009743 10395485 843683065 322672377 61844113 938887317 78277329 910651061 801639603 510967427 566801619 323077997 220370275 895083355 175036549 533159753 363978043 3182711 878528723 557724181 867788991 666454877 5768977 861967435 369340245 500194487 82920447 915298313 218004561 769569113 561115329 341749783 402221033 475766077 208717797 823006437 528671297 44235909 265284705 389262217 352530019 896426111 76509327 563202243 386062653 371101853 918003511 446783481 639888553 787877755 927157893 555336251 474250347 681822171 88413455 78957375 698509609 410828201 924452563 104541287 217705333 507539705 947197491 234141113 563044555 480792325 986188545 221837027 393693833 908783921 960205677 571097663 768106233 251852295 746267417 287517129 572659789 833336379 573577735 490659883 16238493 688044457 372618663 840352691 42238957 981397075 328697291 246533975 854155043 260594023 157663155 55954873 291778321 817545269 663854851 114758173 542306929 337709881 627558601 277383541 985729509 221019927 344060025 398786391 56691445 182390169 914878193 201395971 98398995 857017523 348977015 606438497 214453399 965142401 738160311 231390973 23057349 97057095 277028295 213286673 33373635 970987629 569061667 962306171 919062947 269498761 200194483 648742339 536716127 183481431 979500481 77976857 802902233 324151479 643365379 174948179 115653849 824023477 292843673 824509679 359716881 838085255 728562181 648452887 459787289 783041925 267839029 495947929 347334259 142310197 992192385 238813421 341469065 260114751 680798625 359116593 433102763 9282425 991509183 264933677 178671635 281141471 898186855 135124047 171980259 178866833 1804941 897572015 969046819 843793629 368033423 259551247 689017285 502955571 57315889 351344337 622693537 183388211 449811619 660991241 262725753 277357211 340543353 100409195 672247031 95770203 993920943 27447385 121541035 439964805 613160107 192516311 311252751 977703761 397163835 124634519 665818499 267082533 154837651 852704239 55225427 580723085 182790483 899470047 649618095 838628411 966427773 265784847 576216239 234809355 88274559 701364939 429276757 786951679 587766319 891230477 337913481 359399491 92696521 740916851 153797663 57898793 760564213 109573957 937050831 906977327 619254973 616933747 637054523 593869045 304378521 543661459 332819179 237065801 80023909 415229411 361711439 700983069 756703077 202443597 275870915 38406541 907210825 289685087 726996103 662953947 479034403 456596049 159365317 619752307 578107507 512273921 429180299 448487913 514492189 370767605 921742295 917347831 825653615 231267425 762080393 892809855 458658589 340958231 861809511 622102927 268544837 64138649 425521703 475525979 954927981 520535823 976330589 547349817 12193409 233460807 603389839 513484979 750319063 940866999 185579557 577811055 422572075 185534335 774808687 913176387 908865189 889987177 931757733 13383977 857458127 594086113 405145325 957539397 719983265 90058239 145723979 929427937 393189749 16260739 1119157 844467057 326376723 302429139 322469631 482877329 934323625 407871743 236874735 355475717 119055817 147545023 873394987 948898229 522611059 864548723 223992135 329648055 266580747 152008735 969148859 554753605 233218141 794860915 433462247 665107651 543251873 585332681 954960405 91765181 517134451 375308575 840031865 160031715 692386521 331543065 66493479 533830419 231852607 599941899 159696933 682601809 285973113 452803307 998820953 868441029 845349063 107123799 73448599 982786501 669668047 738420375 270093717 968871885 803276699 333304985 970287609 719708797 344290465 404995061 188387655 279857057 960490175 663833579 703709427 839748399 510823739 184727651 916735829 961116225 933021891 863432939 418332849 200593431 913707625 15841721 945272877 512869153 549140139 9802413 422891741 778587119 762418801 610414161 298918071 195963967 756050949 254614737 221191071 536227825 549263391 65372421 835600479 466390547 516713691 762781549 696746405 959680981 586092221 582839087 616652043 869545367 39156149 213274907 304861715 551381977 770225687 643328681 574829865 878055495 331026333 224240887 381105817 275187379 42911347 740504013 684877215 44987419 21089823 688751259 985775965 842376607 190068381 576554869 671588827 264421773 329480005 837760031 14958347 240888919 997287391 512357117 814704583 791206297 278153111 686998559 210967757 581104917 838218753 920190523 76278729 788303799 397620255 602684851 695910989 483700881 126183249 869535117 988993743 549203937 817974889 274004599 374607795 943067145 957648023 225765321 645008449 681447571 277798525 418412165 497638313 341048115 879619869 435255373 29764617 936214725 185460453 623075445 776290653 615023179 216278189 873095921 628150929 534084081 21671599 382165345 990364277 663026187 262939023 536416783 849947331 79855123 816244063 846018279 711686429 771776941 384306833 504797825 445433355 928591267 573600515 46286109 976730623 631803113 263078651 722155425 283888721 497690011 289606693 51962525 95253571 731551227 240341141 830997833 985556991 912033655 64607691 541651587 634084245 338826655 757603757 915584979 29310463 302831919 986791301 743861865 529772575 507748107 368578313 401094169 751808445 693193533 988074329 471700583 449148041 31233529 961421303 600987511 47519519 863340701 410436561 201625879 853363201 321597607 834094653 299500483 582527635 223668935 640666617 666559895 226485803 727437773 194457127 826534233 109096193 801831861 612047193 975398269 64032567 342929571 407518337 6382357 617707477 9488353 788790267 612263651 165623243 770043109 344559761 989934159 851174133 337418823 747000427 670439525 813323027 949517005 908819491 841602271 39282383 124354145 1301427 363146013 598885049 936841493 364281217 480901923 446615627 585799205 485066587 595658915 647154405 752375541 739858293 177767411 850565843 751114257 763303789 891330835 182965315 493386283 653566281 106553513 660911185 773533981 837139573 353937669 3785725 223987437 186237127 41553695 335985969 80280261 229439357 945270165 941008317 669858807 382927929 862901679 602665561 571376897 991124491 943626333 531717547 350678659 180283497 65916723 339698999 710898251 930871343 224875381 902140531 798986315 665492641 450466053 110967221 778975647 940961901 735205239 913780029 218770825 228339371 263857921 768358969 741090933 642405331 981344129 418907063 703522037 827074767 285375357 505493935 350668999 636415979 855803175 938508295 961411019 712702939 677622103 41420163 823119631 23433405 640118921 522000087 28312517 318138135 903883749 207948701 823870025 483682517 602522173 162056533 73342749 528708171 310729989 161485415 274231789 616961339 834365789 643480359 704971917 542142917 842529039 559300299 874650103 979908985 128053125 635755641 615149903 413131341 400972507 567381045 274307295 645672347 692668111 777431027 202713371 834023211 632956359 533342349 328010655 878403625 171047891 721640641 334087213 521257003 118719915 786259517 878281649 552925743 714447789 259150989 768956735 88702361 372150497 446337583 148625169 943011125 656867319 367385985 785850251 252954171 40358979 324570573 456143415 930726727 165598409 621154885 517232843 306880861 177137453 319495939 109552671 298567405 309947069 518650373 593202999 436216523 446297973 363198009 668072513 87189811 318268145 538917483 14696333 161412811 91226999 159210071 817110167 29745569 760499961 95383455 673293571 923280937 722473999 777943245 644219803 106414657 766763253 862462543 496663893 632823343 302328979 921488767 671026249 402207135 712275835 496293791 772658877 483957927 121248481 487481051 475456537 77537989 587250597 607266623 332489203 152920539 768158031 611942855 589931783 366170425 281958159 755882325 575027765 736738965 808686779 892916657 382095243 840298763 616107987 981567629 6996793 288753183 691345021 230875267 807699103 861266113 842822281 415531537 171040059 322888771 586662511 125057699 507242429 207416165 742904909 133754249 131206901 805120843 636771051 517398783 506533601 292343425 289189559 199915809 392099745 763363327 111691979 717687037 499589251 270201891 494637027 635786627 123149561 644356525 734678889 800754827 845388189 739048143 530995819 188434393 827956533 84495389 511969951 965384209 525901739 648290195 392695143 654446539 695036691 881508759 529370313 245732475 230408357 781680633 817095795 482203525 169701321 830919401 248963773 916105007 857815815 45885961 191909799 102990767 470915859 488342363 730448343 127847963 329275335 118065229 864440735 887953781 412108587 118749365 814387699 859402663 315585637 735829457 492190067 766831745 909887689 369212229 760626535 247440063 265202389 430936093 441190591 361708797 752644907 810535889 938970385 80630985 577472405 929301309 502836125 30920083 312841223 651972517 967736393 756477875 286707101 217165753 913592997 51153259 163579289 801891469 631815401 171041251 713975399 511410333 685914867 821275695 581856923 471917263 341966155 521948743 510357487 969938801 435703839 509973005 806602823 288302391 975576137 201946185 311430829 967932991 927998021 208473003 952548437 284016399 25952573 674238415 582498203 330918803 346895869 429543989 392922883 678965793 776324609 884693319 637220405 689986167 607264357 625414997 672229639 200878263 502709999 352203161 524529779 894846579 27552529 49949491 762793373 751486363 111177953 446200367 355534543 115251089 659281951 415323771 868815487 375752215 956702515 242131699 718326341 275467357 972474921 593927767 974227943 404158453 694116795 789786191 774025805 18708959 248593481 506514031 876267661 218100095 677278935 301699375 512385249 753712035 828942871 905930479 440317869 358659455 553877341 552320251 292091005 93407665 489308589 614440577 279569155 885291327 142957739 911697821 277526553 546945685 255712167 91785295 113565893 221094537 352921 764229503 649754415 105868631 292143903 55022081 768718767 56446885 604216705 820767117 217117115 200964993 415815597 353544131 20085497 704685921 351060541 478477101 817133109 1636639 527704941 29773885 28929121 481612547 73872423 626708045 96274839 130083515 709403383 714356381 291283485 915227225 948592921 321734997 307576669 721387869 569625447 585832585 762544361 25201579 213979501 121861423 850001791 955140751 292255831 238013997 887070719 994001857 4062205 271838023 276344951 412159581 541687775 419227697 516965145 621572071 12033571 727076229 216976705 335161679 32280219 872174017 401352817 213681641 216022459 353531985 666920789 904159345 344940963 515189383 593078975 8058893 169037595 347427995 270352045 549976395 601493139 803441325 154121537 494954271 923160865 753310151 682468293 197618665 250219909 652791515 129361325 290037867 646535461 583760833 241445269 834687187 58976017 763615805 74490431 784958391 992953087 506981109 192572311 62470419 180820561 529372285 818490801 159576911 370838285 53555787 834619845 354516533 386784993 32806851 216781115 650702845 532761127 17277741 79158939 306408003 856513243 637823675 588401819 730098955 402616743 951018373 941389075 854062021 407142105 411787919 814494727 163321923 218165607 138172351 863259811 580896709 892821489 230963431 154198075 143361519 409529281 228986563 818596169 14447567 253327811 268145135 592532593 64479449 125291407 196799481 21798269 909793771 430788709 723339345 628781667 452559947 304730155 129749841 904163899 836469413 80612979 28008759 425031753 565622287 457527665 156956463 649722107 61432069 317433605 139714121 850700001 977373805 700907447 398828159 885687223 800041109 531498935 266123187 528073057 822259763 927222235 872967341 637963497 798193505 432503457 195027487 821035397 654613673 445847859 764196257 951340941 911940595 873388639 743181493 973903239 315239831 810612125 93134789 135606045 482040147 593916939 557844257 389856801 533324107 827688305 502858757 208390031 428314891 935755069 632320397 160020107 908289163 452520327 912406471 320009057 318300967 786712081 64616099 568809603 711703717 169331005 81487609 225537419 634543665 293374239 111982987 539519551 210564959 127964779 280140803 43735433 14781231 253868931 70465521 123930235 591087367 784021355 20328399 955882321 662260657 688710357 147054591 989631089 3209827 27821335 882659271 975681891 627772859 130908465 999942749 388784091 3249855 389379275 478343127 329699507 121838043 748216625 559813175 177293041 628368357 749016669 490076263 707265727 34620699 431646701 781782327 600074863 829503009 799127593 346932321 828576127 702738691 961001729 306341253 14270865 373804089 549036811 961100591 828269423 944777631 664203397 545473485 519854605 757336441 222129753 403894459 692330885 190078327 567572757 880958777 212631069 92350891 588571633 710339953 146723649 641969557 204331467 334034291 118925439 339057433 40081961 319402039 373638295 876309381 324979263 130087587 333798507 92350093 12552159 363259515 482207749 260949327 105843339 994246517 523628441 565788497 446811755 12663335 686574723 523794815 98568013 673492241 191379013 475929903 263695783 535529889 990391179 694706461 455350169 215999781 549606697 333398641 396286957 715108311 386989337 527571381 183408399 92916183 559545727 900138975 473678359 128217647 618675621 541847375 800459717 136835539 682724609 926361287 28391807 298669207 938202667 601889397 349012565 987178561 280379879 831111409 293796863 16374649 102115873 85458995 468736987 349897421 190819565 812649125 501942259 293396923 494284167 207436819 985164273 851018657 521006925 863122097 178060337 336935627 671338193 18681885 19488431 42915175 231255233 622249051 345519637 701092495 381432061 878379227 222677681 591442759 677071747 731981681 233538939 279706485 489644419 213817177 916271889 250146541 361679949 423776313 510242489 26718823 389879389 175605023 182378343 304646787 26756183 53433729 790376109 320654539 995271175 169740345 105583053 10294449 252682079 570673295 273868975 653585551 58320761 876311343 841937631 149059235 532817307 193070383 894010009 918238233 576594477 508873997 462905271 42309635 94986183 94666669 108047045 453502551 386800671 89281371 286464495 884774649 670553371 782922447 504656909 47041203 309495751 273322533 44281757 248840755 811769173 582330849 655442891 23004435 375541791 48819187 172910433 86104279 710189227 240913069 787173337 862708197 705860771 237076431 289604177 669167247 679856091 744753021 6541969 905384465 608395595 313731397 495653385 834622857 939949083 757116699 893046989 177959169 568541843 556098653 928107681 636706411 411360551 33125585 762741225 158276255 701933425 64069539 420402357 26855007 87126327 56585321 256656827 307364693 134076259 192584737 693639005 759917331 130823433 247813677 857381025 274046479 64970851 392853853 279462965 175746221 15478227 588041447 377987441 357085237 292278503 98870117 97082199 494630873 164384081 680856033 465567113 129060785 126604781 636192963 280372571 582401471 804737469 424635619 799574721 55441133 717012719 64044671 377333595 958879755 733487569 104323131 634893683 346012885 488719331 679421989 220478709 231804647 987718855 788515505 77963385 256517327 329023303 693241277 905324093 183386365 510951511 458689421 955516717 864108745 145976851 319712209 614162899 534261109 951397055 513755805 30385513 183430955 379497411 865511789 590972109 31804411 542848693 322910759 10493319 829810399 459446351 495007257 323438789 864010937 635397493 34571001 522821729 567030097 805433393 237011425 490661337 507178585 649797305 119779929 985088337 650245737 921444453 490215759 225506973 975816707 739133625 899698197 391690803 845717137 934255715 973611369 91049521 326243171 798177331 12258419 354945885 292750003 738165797 669842365 809699883 882197153 875656797 9120319 297673645 871726137 809161767 704438357 280020645 972442217 346644211 50943683 169169017 1370381 697057121 338856377 290738747 313936357 37982255 274530763 317276063 591159195 760048461 399681781 31894023 137292991 483727051 85702557 774127991 5205195 953522151 894664593 378120609 213097759 959138817 275398405 987170523 195212807 589145511 557580695 738838309 828490675 224049545 81195853 306371365 615705401 967690119 53982099 475339051 790350751 264937377 398138943 154679343 726643917 521985793 754631821 596079823 926608531 911422719 39026213 869048915 488416683 85129745 9294353 724141993 392756405 341481183 800942537 872746091 51984701 47229743 866304551 708630999 339249329 120541433 910348405 50534353 427677549 465571671 195574107 76708333 545650607 505227147 408578545 236966497 392312997 879790593 791331509 803821833 972568413 80615755 196793995 843023985 670307281 912886055 683203521 486121669 630255073 28143479 928676107 453889247 42914903 190627653 53488775 877121339 332499429 941160901 979924665 630075137 81913381 818972499 865714577 91624195 27959447 173195377 573507427 544977589 185436067 504585931 911202283 223841591 133146013 153205811 561559377 43550803 181114813 985691559 297041183 333260659 533329699 776403017 204274507 716007091 601138649 20672099 782710069 850348497 90784721 354360937 102714527 311269171 76384741 518532087 632907959 34189033 547449557 652095185 30804755 459414955 939164745 421394911 26294961 685120471 499975635 903774263 758588147 144797813 60865007 262682643 560824491 738980917 492673787 109681623 274946315 713187947 292958273 647512845 332546737 197665307 33210099 995374441 210172065 676523241 478651179 587111367 484403019 277785635 295150311 796189995 999157121 24187333 351543573 355540413 824520579 325528427 952115329 181768147 854939637 313791835 443981545 563432167 826618085 181556615 114093035 79349917 567056073 814976135 122648081 157779905 435174779 834498199 303849421 331819331 36197699 108743839 65105527 783227715 208781261 331291953 39056723 839907327 830214447 37148033 666622599 671992039 891163365 642227311 496801829 442974091 914325719 271164291 475866921 377001127 966159951 16907757 126466159 310067487 86376709 338224003 300664263 340303615 501815827 372855749 63679707 76174457 152858883 518839513 289388107 564368615 719180477 100583567 241466515 450710479 247527579 744592735 973856031 124031451 267572565 584601447 684282687 873939421 77401621 376885615 121029423 24703441 613012839 709357541 981718283 440125405 843540543 155730403 560500193 172951367 140758779 507988517 741226145 413248391 392075361 799963157 972402979 849347895 834785437 765846209 734000427 976902425 28689989 330012639 517426015 652781337 879074133 500106961 670173265 379938633 805088307 932370843 845567867 535434983 332763821 614047729 613925951 257164627 565688057 297079333 8236773 357315355 20056753 286669881 663146397 350277873 664081373 276616403 498803075 228653233 135859179 962625093 17821081 461333597 956839597 321156483 648840643 525735201 104825697 769822509 820433881 91108433 509633967 964602507 727797391 640619621 161649315 237822093 759117959 740503557 860709297 16432841 606329165 227665145 99000245 635448447 282900049 246895413 288732665 216131477 937272811 762066389 844649767 569646491 456285277 790677019 149087315 597302985 252862161 695207541 37909501 885078781 80125527 500157297 468324107 839772863 949701865 831532751 148543429 941188669 533273191 64301681 520952551 884775505 625142173 15388001 100949641 198662519 45429049 434587861 373777203 49704665 138484439 534924069 498427089 997433667 785158135 714274005 900452281 645692465 960427267 207111057 301333927 140248765 171334219 559673133 263510723 196262579 747891465 411486883 904746135 570104703 643667549 200582935 916423963 47852345 746797651 816068309 391982507 475053473 682104537 904557645 254616075 273742623 945758923 266480413 952131947 960178111 487259881 509803273 871585117 120457275 637840091 271083769 370503905 260147953 512697397 118081027 546579291 589296363 405498735 952057443 33267097 717747411 425138921 592787065 327734991 957436933 905687023 164577233 405524379 807297919 847336367 119988257 523998977 639882471 989636165 278358593 782052721 310875533 701582257 108805943 663343039 488030569 6745307 187785517 838451753 575192601 934960279 746703477 608758097 812011493 422169245 518225035 791318343 685911227 293680781 19115285 189558913 829339445 533023985 424267993 131131609 958812559 973328445 922051279 682667671 787865267 731604421 500040977 968787303 4229421 876333263 921135585 914134881 136847417 342429057 629020329 169461245 406553265 561338351 478216961 365005605 253564961 116093201 983895967 337603621 7100853 1740231 595693931 854731953 805828421 957165531 50528877 178145767 772786769 526748927 353335001 806300491 474719999 7386061 178773001 476889037 523846945 970627267 631758211 213146303 292113707 746991439 524981745 293910755 30430525 374217917 741278759 783227225 456423455 815084363 756600861 184815793 324588097 19509015 438962683 176359903 461840569 558673707 968815369 754995009 388011077 252462713 783771835 429364637 406819919 791381721 964619181 872438559 262120421 156618767 207196833 749342813 413830335 416493761 495005571 409211733 546463803 484495747 949240423 769633899 426268769 497775563 432552583 749425003 287181023 964065533 570309447 942306957 867986447 868137825 619170097 394198379 19652077 930645289 362278137 969814031 80976675 949951341 572165243 61470689 207745533 990179121 920402361 4774587 35359607 602594395 764941281 988617175 428929067 616939197 387460161 858281179 330880357 954571539 200770393 811088595 936987665 148484603 498005451 409100601 468549063 55986431 644904291 748785381 795141575 281865103 905572881 753646877 74763767 224891401 642290419 295636113 628101609 74753705 44774221 982350933 979454929 781167259 797087623 850632933 157151631 742276847 747789367 725526313 335823275 979615137 370721047 423415659 915721813 621115021 561144331 282053219 141476963 46259841 567103519 339275819 592191059 52922413 287440003 350112587 437494095 818009897 475284887 163687345 855298597 809922807 464715225 150429615 5794893 823045633 607353593 156663045 465979621 661087385 548580039 79637461 307230645 460324853 74691135 385427377 80537643 865319735 233179271 293468811 719657055 206492267 391968741 131066305 526992915 141852033 238056145 924994327 822649769 252861265 714878181 473623485 956506933 408084637 544734177 640465223 977923947 704373519 696805557 621126321 194342573 666016311 690259569 205376865 335954943 530197135 884919123 569299493 601881619 937282169 454698939 991732275 398595647 505786171 536606519 157893157 513836931 3449355 444929913 477287171 157257605 501054207 567624541 7067449 574231447 290190361 51537379 129221021 131734445 34962499 117543739 220778605 810222951 155790925 180849591 13278283 50486029 849376241 527130831 822976329 849574543 458320079 565175851 878437335 886789763 888907123 816309395 872922583 169402151 75884619 359142139 650747789 495033701 693356211 140130687 731910307 533376459 293459435 865237601 739056435 391263121 420067869 844440845 292124855 574651285 96479577 565898519 285981973 411349853 216610969 366891319 548310425 630481437 340501181 339268693 177274877 507009447 187324305 539052153 930107225 453713789 944869571 700325335 212819251 513689543 696117999 865774539 151761019 951767121 388576405 777928665 951152261 786916247 129450781 570771113 12670479 18475955 587304923 743491345 315321403 413003633 67970311 143341323 634689945 662402877 39279297 658248377 52501279 173712431 984711189 564187499 385533225 517195527 620528625 968555663 914382459 130080555 82700337 703002307 34097475 729722795 514730131 867131593 152085015 433503295 166580677 590317711 7814901 58156613 540936275 32318501 828971073 69266885 261756859 246441159 854296521 284187759 530394459 372456409 567971777 224966297 944963967 126694885 919855559 987913281 541897301 261756321 49134047 608535057 407399673 164032229 88441209 16416855 429365353 93411767 139112041 193721355 991037075 23268159 40323563 9128907 819036483 15924435 578444197 625585373 335863095 839684335 687278757 890460725 131355405 326444083 903483487 480316261 799444559 645479019 67996595 600481711 133078639 158491021 744491491 644195067 110597575 910279345 392009629 233919701 881872021 224595741 758011383 452218745 174633991 188840251 331560303 942957249 751998761 315190173 176249575 43131193 603334137 296122367 158088881 297946891 687447637 20473415 915793791 512898837 184480519 867305851 523809133 873172431 538381505 883055315 758079749 550911079 901140251 871437481 380314671 170882471 551940505 942869887 275812165 255422217 255489185 778725121 956611073 312609707 586917509 267775745 792343177 522603349 508252801 794408573 759185003 473660279 65378227 315081877 385089435 746473509 598481957 995675543 887406967 406320931 838939593 19564021 831013829 955605717 750978935 92188491 421670833 216575307 356692977 738871131 389535953 14185275 304657633 462034705 826866209 7111943 55526873 403241855 20523785 866585525 932184911 502651107 658269267 409822707 238980519 653279135 374160183 278307097 850464297 745267517 519711311 469943847 16807943 255814001 616052899 606229189 657488729 1027351 768629921 826359873 707838497 910331697 330454299 508048017 528029001 568226283 706092113 697536853 791158179 743440281 688476391 73874647 440723173 273872821 301415657 402822913 831060659 503902177 915946703 484799601 516721555 500052205 833288821 811627359 321325051 800897991 336394273 985669817 728487233 356387469 702222719 922659081 64950951 343465345 850854565 705377161 905263703 260896273 682644751 862419735 748709987 232446411 141145763 424327995 988834753 901279599 259331759 737103139 879415123 586824671 454054631 686474921 207354597 996834599 313829483 204980553 704764967 894971255 486643901 960041261 195837873 646245933 393015499 13628963 938327045 942765773 648871915 907443875 481041037 863979007 54761179 112659659 871115417 823941785 541298367 309413217 838680163 913136279 882938915 113861335 141568523 801692697 567691775 843097669 965704861 965733995 20092591 936949351 827723017 787561219 401232119 893036709 907521319 681422969 314711815 913815569 660410041 704079251 976203121 27718239 322795111 171107897 2843189 947574513 788597445 626723459 994114999 158274507 473181515 618039719 488284101 747128479 747199323 566725899 84344467 86109123 154055995 262069563 258584001 506012983 994324257 548945641 994548049 513249185 233672227 450441711 66932401 49608529 625756481 861754451 800841653 568128319 73172585 773939519 256603039 579358729 525187433 82464773 306019855 579819255 425237755 919995683 180826135 799383287 634545087 367513913 253056807 477896099 492091201 76573717 431190049 319493175 289276655 788139945 41919559 348212893 408907557 478731535 518569545 993116259 645482019 383830925 777542457 798051265 776988433 743303565 525100439 770478739 309797635 952443811 139399239 857630565 801428465 353416073 383248277 10324579 463150523 972300577 518456889 70896743 884468011 967861625 11466319 812979181 40636661 444074435 686538845 202746397 366060717 363800667 268703311 277101001 577092569 327409603 117983355 679007333 425883871 544448935 354033309 56145681 179073043 994860507 534321883 882058645 970523821 148592985 477749955 692294497 278343629 104297283 623508043 617780363 576767357 93732841 260604109 205763795 378090927 942885817 22053905 323633823 569915709 906368593 741754181 387121151 948290279 305489779 862841339 634823595 861484629 208712203 647040305 842033153 192504091 511373613 18955855 924418569 896156079 65738515 962957857 535907443 878350965 106196513 402848729 192136339 294604983 701907937 773452825 921879917 187127715 958968329 818527205 45786787 821702483 873609585 457366951 638843785 676295627 631457053 242472505 805940245 963333105 841710907 672734677 809631715 142845079 234413083 424749857 520879935 527968633 790958393 978725931 359326741 272678453 982499385 787902311 876678399 649977685 441783269 478022325 435027513 775772491 303792435 476815957 548985515 301051759 602727995 676334073 859537637 311714053 594888003 135770037 209438753 830444595 861289395 255507207 19991865 870642955 83712289 445192145 395520439 542227593 182482505 792658789 202216651 992874379 412604427 246503795 54321227 20939739 945545843 76951325 148764599 207811371 835811767 23003621 723073845 41765395 249582383 681642683 662513301 599077141 79368289 954501361 184380495 298851739 876613623 232676679 800559233 778836215 893952195 960473313 333052403 292779359 322850499 672599629 694192403 722979575 463522839 620190847 136435963 553908935 349036045 939443157 132980327 451894719 678894103 443606803 904499393 294345661 548029135 80609897 303347479 460386941 364967163 140442731 719653663 886052011 809512581 315680533 110127163 241561815 381288831 898744015 104888943 194936443 896809767 564185955 570888045 524699385 725596895 816002311 455024525 788158617 765295921 742804315 992035531 892504459 443764945 68983905 581840335 989715181 995281817 218484615 591572203 543606715 946125711 20477603 542586131 964764129 548514781 235688691 114135271 992224559 320226775 156737563 99623855 632133215 323954167 35640103 860411995 761314833 252398815 178589583 80466049 166717905 912998493 413469231 23351649 130482447 544967269 229116493 692154081 62582307 10157071 12390547 725810833 849479503 56620703 512839195 43639465 129491389 682099841 146527071 31102727 151477373 650851913 316422469 89429553 231357833 637065649 62891547 120129627 804335297 26061467 66298005 121631319 838607601 689412119 650159827 595032745 224637639 152944979 68171607 288227445 346314719 701456045 550822415 978283657 517127609 286495399 721886545 385222753 939124415 205187311 31501017 705801495 655341889 215513429 770482383 190149239 90382457 893150933 534175933 414010861 544331655 149349011 252517019 315558289 292370039 570758873 581374403 402983203 190662967 361259549 307849727 301342987 405786275 783963639 460284023 739051861 872987003 444786219 426201285 420361403 55433577 439169959 872222691 577431963 414856187 6761851 860197175 248642815 733508015 132236259 646180237 417745297 537780453 270936387 448421917 270326957 768440547 76725031 932708739 919945041 32747229 357706559 894128325 931018531 401237229 709580907 364966479 9490803 494804755 898942891 702602487 876826169 974508599 699238697 878577913 651698451 269977901 891980603 404963069 983986249 478612397 750127453 489094925 177056713 590199639 116130095 500353951 448499243 180113079 546508159 72434835 393180593 262692923 902181695 159512107 239067453 440527677 529097353 61466645 176286563 690839809 457756067 462445159 466834265 673845165 926092791 337866399 370456059 743066453 454271255 45031073 620964053 851162353 504519105 722044345 884093203 60886369 900984533 47242143 162960013 197186671 794359905 158621039 271534275 13755853 348054167 900042927 896063963 427047445 85700819 100207689 526884775 646088133 109679767 267554711 853032603 586031179 10364047 80990035 313538775 262146291 4520845 533031075 615178019 793368059 789225871 426611733 342280687 527393153 736493237 799323807 853817937 409177743 938972749 505285275 224203527 487460375 570149323 918376657 746164603 357742579 248538565 829377389 181380795 538732513 345063173 767109381 437624447 584483469 426452337 427109271 535711269 21955721 92674845 646443909 564937653 986929483 191062343 776244385 445352157 69177399 560337233 488140059 528337911 755767189 886066117 997987989 948627199 566108055 844529495 568098065 426156703 501524823 172504547 305960959 610981155 526699475 155682669 750683441 556423559 858605303 407206685 236753383 41313381 791119509 472490057 730409925 685084425 153456483 922855275 795149785 493345375 662717445 820361511 852682647 971564543 541156867 588926791 182474717 877719849 572904143 78975425 699950577 877827523 50123969 234439597 940777087 525591903 24664603 676660815 998207645 749461553 818182663 925448725 384033991 911216665 590315927 489290639 118795237 301904287 825557185 410449529 20788289 336881907 195801961 109849783 798497425 805427945 954007637 970299219 179825397 478278661 503639611 860585859 75370991 227335019 53363377 272717727 259767661 155171307 281782075 165797421 422503367 316905725 127322687 401348821 144505525 295988159 889313807 605416815 947247713 734892023 308607973 934828273 113026135 69204249 730091235 727484033 566712971 328465719 33594127 581828203 532850267 569240595 474393695 297281823 940930443 198160917 441801129 41078333 606273355 47827275 287788463 187221381 26809647 195551339 312376347 313048033 646290483 554010071 287264893 80554601 954202557 641920659 671762255 881356115 992970907 65900881 408727283 813062919 162504193 536652135 49037489 828448011 962458255 429056981 256602041 85607191 813657927 20607553 181038631 561804293 195784343 108036093 459186171 996887255 889423701 286668541 853116447 831731641 905114045 873742049 998063971 554424061 904073847 469852145 558202753 411138081 616930701 168349213 116910105 988801733 631687543 531079161 582951863 597698999 695533585 783451081 491550411 161200617 555037599 183401073 544758955 636793719 866417617 458891905 916248733 499930787 270971065 685320497 521300169 75525337 227227607 502219101 71486783 407421869 948955919 853046417 138760953 219744217 752498607 624911867 930353367 925317183 91169643 790957423 203250853 702262511 689496417 943806063 928081937 958515735 186458391 884921123 120179639 452022549 803168121 997070167 932095511 615077227 139891677 733712263 722244249 844872133 675597055 207645645 227125393 875117303 141305863 531277045 268970039 727087867 381610367 851376491 594753451 91381237 146247775 739190855 867368441 428824367 800511233 584927305 975740943 638289949 933085229 644098775 188657609 478480731 720427025 165586177 516095717 389890477 978098495 671737471 762859537 521828091 401410999 77627055 667586011 47031131 954425821 27525529 854875067 999181831 479641469 444454637 925156117 690807395 969260239 156970241 403033139 753426171 798939503 862342099 442923843 889884799 128799587 21006349 982426465 575303885 463603223 820295165 63013259 78632937 575823711 532433563 743996847 620432125 651114619 771768453 711466905 891640667 166046993 849432833 161603591 756909439 235583019 271833859 495420823 801181709 668685119 658969629 300578771 629119185 627039019 911664017 999644717 948759483 360374069 658908999 847055615 613198827 544467467 981562571 827956873 595277471 840289983 711188057 737215987 203633735 865596367 879714763 356159055 985798515 331497507 754015659 704958361 105861089 23058437 976195113 846555055 862407025 475357229 377299995 275946331 719834929 822356663 705570305 125681487 857078355 263071783 573700867 554539811 515197745 90461805 680563181 846659675 851689553 587544027 840105529 58845533 223667549 749599281 314454789 41604221 979041831 502480277 209440281 802234609 837679021 880821647 293335779 818565597 434607375 713551899 416504701 124484937 289136795 588646033 250667429 644756775 741506755 224629433 687362497 726967887 342601507 400244671 712189407 456856453 352231805 12477751 917909691 905018991 149863613 442322979 718562993 961811103 643585527 702366179 340051657 904891535 199945059 540126025 977415601 816919713 306732905 717841797 138610881 417821 255552401 489507641 917798649 619344437 684841359 409814887 215925761 433148161 702384703 914975869 599729445 581314179 929073827 32319827 126183521 516393381 47812327 73102881 279619407 29570873 387720543 317134225 750010939 657963765 64970629 789505455 159130895 123308157 224338173 570971887 639213159 701796953 239218833 106228527 737438337 458834681 33932085 14293685 393963587 397143993 485451013 581942059 608097855 518569435 957744709 43205291 197267369 904450949 89683037 933250223 336521569 678491849 376335075 506512671 165825775 31775393 20258961 361438021 51927425 804493293 797229643 894186711 38550257 841515129 997154331 931492597 750200507 992084469 710616631 582647585 31260937 77267193 935388151 846042697 69490089 435954183 675464927 934942147 429681939 644428937 948825501 643641421 782713699 918093263 714700545 538566921 170496869 854681619 771391239 454133385 58002821 312282485 240181715 522727871 251049693 121097473 671748273 261316359 881891881 75138983 328610065 687369515 128850641 545001279 282169235 744942675 916019687 839758731 102350581 918996249 898132767 272009011 115156263 383797623 794240985 662509771 378847801 659107795 216949791 711573963 357243751 161703931 455205789 241745813 456553495 427828771 426147499 641531503 724701903 264728553 894230855 136224911 815976007 139315539 756258845 482654475 104368729 238321101 376274295 858262245 742346501 172356397 208610895 466111493 286747515 181216433 862077251 548476479 728078091 925835771 221476251 86757451 514597427 684415515 794724933 892025545 12213651 362086023 595203291 566923077 575382777 76663323 649765017 790384429 902917719 867657243 365042025 194837725 804082889 384364341 444688089 673619093 703613329 105710721 447187745 106934653 945535771 811726455 11585053 295046825 437464569 799351297 897740377 616168977 794826217 967966571 226124289 303839125 669273803 898945897 465145837 935770113 974956973 760073241 203295391 976528387 741236675 407844353 106223929 423235893 265619299 569598733 922773133 962783003 309082389 45588369 205363221 197539357 889616005 504909647 762540779 158826633 349900673 495818343 389383897 65448349 726661897 45406313 285783887 130937975 646561855 10911049 505579619 976043297 716158829 695296103 446733269 842317711 54360839 204560261 326714379 267707541 641953961 673333201 755937045 650855161 718173717 934576865 830472107 612126305 318431801 377150899 70196779 365107297 985598499 769007019 914681757 184141679 494465555 75316117 710679217 16260591 216620139 439526569 749342907 453054763 415363255 672948099 608464575 48148049 187069607 446485287 44639839 295404411 923042585 439084549 902644975 919967405 686206737 503982321 739355237 678083277 666681015 286803495 477226077 252450479 747850337 541355085 908628771 935056905 309213065 874760049 120142499 175955583 235538899 919873543 701870453 527158937 353135627 365518317 711424985 107285705 483592993 381302633 305944247 457971303 684001075 129538599 747790491 444998327 326823557 901744189 287939265 322277343 935652481 177747753 419660803 484788209 753101497 929144525 569066475 336416745 758041577 46957177 605471145 173549733 608286965 373698531 282456851 111897071 526551529 799313959 489442217 64653689 648873205 360456905 920041873 710147035 871562617 295990455 834164891 372330391 389918965 126305097 608565055 435843607 811554835 93337401 253194651 645236909 631784363 630429101 985832055 302237071 435557299 973386545 884131905 953200353 641688657 173071037 611876883 329432491 570199761 772715181 857361577 9924319 36285605 491922887 555208557 690742869 282898025 385103927 759083373 73198031 975861983 975100051 606096991 519146487 343653873 950224599 487706021 187875165 182421943 450654569 990271299 35250555 571779945 842043417 389812971 506296755 986097257 654087447 84429045 699989069 496965445 253692421 18420573 786431355 689213103 559321829 435957963 978492501 451488899 147375397 359334289 564410845 13496003 37347483 995321507 427395069 74651803 532105349 372481697 683869829 662980445 462515335 802019539 35103791 334725511 300894125 114204201 233437597 581319099 589636463 254971961 497870421 889280451 614292137 309175875 271053773 658005907 40453791 468558893 212334683 196475975 383711233 982606727 621790785 861655841 433430499 360321159 413619369 228306061 514828993 143677711 429465763 981567775 460159361 958967717 452117033 828364945 534334065 69725305 180765979 276825287 861883973 392448607 160818757 752611019 888336155 992328667 597747287 431420369 807380857 866108943 780191465 769741877 595251019 233135567 650124669 660638331 727234791 248225425 425943675 7627339 670138891 606530417 44937783 349649787 568274137 225252923 808045545 794109189 545741027 759517275 892465329 767399949 288751641 124676073 384824475 653368543 649181661 130890405 614284693 615442411 977140721 986616055 576499835 822237391 849211269 715571947 376260109 92500303 404320299 429542203 340707829 766548051 767264995 923662917 232323523 364294897 878286097 379631891 526695919 869977445 458104195 950819919 556716255 445673487 523585389 654106965 33928663 63803003 522604909 328555811 66623501 62227551 720283785 587170655 572610965 483899539 337443117 100315481 420809845 900347933 736944687 3959049 428446613 185490727 61087691 228309517 12511683 129582595 746797223 965577899 214495933 841965613 922219729 774949079 197729825 463413065 330863295 11867427 75364475 699983907 357134923 444200403 675706937 510647725 440311741 290238409 453466807 249524737 83495107 215959961 168991539 61712741 351725935 768241271 659313627 82060099 652884801 621730117 315156155 907694383 59995677 315875721 903675089 582640097 908725583 930940529 123315963 998908481 248755343 571766741 750569219 656698453 57511673 754369333 701770907 325366869 603302929 790517943 388069469 696823195 522259143 553929773 413747401 817322409 571008623 762224651 335104839 289250603 546454469 705981553 715320619 763092211 134077423 125861927 81549995 581791487 358543739 824691101 676725227 944699249 443602781 878319593 747434483 504073107 93669877 767190985 350757301 424823513 809784325 410724519 267255563 333128159 784917435 663424401 16588723 232566631 94118317 58829375 219600473 675246429 38988247 943195663 772108175 211484117 949530785 969425673 672495307 7657993 630239701 314335451 331391345 307515227 950362027 935697375 13705161 415559259 986509247 943787025 880353797 963954103 570129941 877294107 172554047 666276173 949863453 105284169 890252917 957795103 410143145 178385303 936492435 710979673 19440633 586365599 146132587 475025487 150974129 818022061 208821683 525014907 735261407 86495917 385533455 433485953 750367735 159267383 678832391 141925163 2772695 791471243 994356749 660190575 329118405 496227727 164731257 186883685 246308461 134370515 739113869 59143507 914241763 737940623 171141491 169355937 758304425 308871331 539245629 732382437 481510559 167695763 602751457 25898457 242678549 583653777 967407683 639515489 479968961 565128049 786032171 128078473 883063229 777079223 167744073 804908673 680635539 210823 132588091 681473961 487196971 647406513 12600189 850246783 783829981 886675373 611124859 64601267 816115815 616746649 979827077 200976405 752439533 962134587 287170517 392230305 963650811 691935751 777223821 630411387 948483721 387785231 285553589 991752431 779856115 371078165 785853757 422494063 381068799 473173121 12658689 345533845 962163929 152792929 597403841 181332263 714949397 35663211 102804263 610922767 642197427 756602625 894179523 98724447 966962201 734756135 386506255 241604437 739562769 444314255 464185709 215499857 387680721 72980623 516340261 946727137 999691511 317622311 314575719 380319415 617349513 47664893 755499343 924571309 799034867 449088611 384933853 10610633 606534411 742514253 415016955 970823221 802850575 29365851 20916857 697045061 402597539 193111253 587232017 170505073 173806547 462247339 988468581 419356001 728374551 456063857 219499515 310754525 714003019 939872363 860758857 706591449 136951731 449477501 957577893 599101297 268973821 85345079 220834641 286316263 898765889 881328335 707180405 414719143 873559289 506282279 512485157 920734787 502566155 613142469 372009817 983348857 699201989 366305239 667759857 407526955 40939739 950640439 759641529 291530595 832977771 711662433 423743327 942574677 777144059 65921151 516025983 923858525 385092215 737975389 478464921 394581245 826184501 336305527 649709077 209073379 674095089 834061287 791424327 854453981 286931409 231667833 716350823 642241771 962091365 929487257 689866901 38340911 560621469 9592415 698157021 114681075 183689947 21086601 665762861 517677997 684479457 68329603 711532385 384945653 150357213 562634839 577262393 183068303 265525863 694469311 612833885 636195177 129707639 501650201 18539873 907199123 587771255 550261101 924743099 378529609 749054259 517974379 737141969 896196847 550165471 326664041 454747879 215899151 515628313 763254117 911305265 805204831 205910757 612005385 394015689 737061047 366195891 361981859 780393647 79232539 700510807 937151787 568873163 501546169 859942669 111796029 140196847 363090401 527484027 809076005 357438167 690756623 349914031 951872463 381598241 734919655 243788319 671396565 791213911 372831029 717106341 852591475 229051373 544754155 455968393 569747347 942887991 161744675 278418551 45125313 789321339 194407459 919937413 411114807 509123039 584694101 387520561 412485845 769569653 165017419 4357471 809245727 14406969 136528833 735737179 819435335 569516809 481811101 989092573 153978659 621839279 516387045 851803137 646891571 571940829 938021841 528450379 318717853 954058541 105049531 56210603 55707699 423075101 559558437 639570547 384467817 467870745 835969465 465944675 426915935 530409587 163815247 12093599 218001117 855960929 332597981 671442613 274543185 354325511 148309899 142835353 131596501 408575597 971081121 967233449 89601575 907312773 773840787 125977515 425768619 211360551 903092475 228947915 433337461 533393175 530980255 261724063 623673915 466842107 496919657 642093091 961274971 857841509 844670573 773439167 121710043 193901007 752750053 383432253 244246383 111845787 117578547 601820629 231037545 170611217 157887973 436800033 241438667 308769891 709876655 846998571 275526973 582662825 903261543 6407771 699939339 41606375 337587223 38883209 191714353 961330691 738044389 999917555 10098505 386433231 172257573 411649085 98674077 530658053 450378581 62064757 854455069 524456007 702337559 258476303 515362911 859353373 164194869 822490601 406727587 254137847 870998181 150095687 223026639 279619635 258472831 62384857 292088181 77063437 493523207 541600435 925678535 344453809 159189161 735085649 482197931 236372783 601567225 3663769 133144227 355369345 388180913 430757337 35497951 416398985 163092149 331676359 775871289 809076237 186336529 554692989 322115629 429893571 40594677 468032899 63013093 585963585 146906559 936242629 597102383 181833737 928473843 961048475 481075075 971165829 756005689 329833405 373693437 704036613 141188967 180157269 418757481 619380675 517457271 757053677 351852083 205250273 388596111 193219453 651456885 80002405 590065397 304373601 652924395 418101829 196568865 72645469 494110973 837970263 748258475 538131361 604410813 437969501 267721817 939667137 24554975 66554369 221162515 64342713 16712899 338171603 592210927 129625583 833248371 111094347 497671465 281020465 725193371 389537743 638693153 668524979 668401555 221374885 162054245 264877587 323457369 249559037 124770215 860163415 345882777 749598195 443274945 229965035 423126941 57285767 62762425 341908645 344500063 636261793 271781817 333186497 291588733 747954965 324065811 760017895 789199935 736539035 118650691 768048161 635027859 841428947 329334767 381630951 869214227 782357321 721137119 894121491 512908027 821369707 796206855 74508269 703458869 455330965 427253377 737692195 783672655 302527239 74371475 334394311 564834431 234076137 109430951 98579289 675486631 663225935 893370449 270783933 891637069 490177585 488338505 917046593 111102367 889711 395482231 127305369 154034549 625876693 621096419 143941091 554513743 701374737 516186561 234209187 935413333 395125695 673355885 415154633 202526547 619768413 259199593 709205161 377355205 976906585 26844513 504183295 175317189 99271423 278038825 463361011 15961117 4837005 604737721 762615311 323012925 540160289 962532665 356749385 488243771 400359623 349853425 573185537 141459159 456236909 475372631 553200889 138081143 405456877 114956035 57829471 786346539 501453579 365264057 130970057 61942699 899296365 349396581 58998837 83790933 387818919 857985307 737111813 378621233 345659695 255340309 952459019 45945581 689581419 181663927 316499833 486115043 712869791 361867659 750021869 988921359 922286847 758219589 869865067 133307931 307791267 587864259 642143331 817946709 805578639 248155395 882272167 952100021 486917545 772462643 672398967 445024983 873629893 757691559 907518327 493306631 369001113 586944987 381879477 777841969 69001929 161582959 528107175 854645741 220904925 689377839 739830567 516316027 375714887 232679185 398327933 602117827 346432353 683062317 372423253 686949457 440987241 795254215 518677189 93299551 15133579 120010061 955511625 301116621 302218457 967615055 540769737 800539167 545619785 615222665 768551823 54509703 274814399 913211873 375380051 160089563 613614595 274357597 262250799 530430875 105028551 159733813 944050093 974009325 756794275 968213953 649169077 897878177 384941083 664053639 726844319 240330287 139733653 574393393 259266857 224027317 169644131 407470737 844258935 97195771 838094271 456771237 8618519 398969199 672198859 701777549 581937917 532111147 928655503 798789527 217352583 620236011 869567485 712201013 290247803 129469465 316838125 243552257 417615877 979721153 919186721 134960833 198587577 94415775 744976707 285201759 774821529 616383247 558572515 865645037 320857605 291743255 167287421 707013545 771666637 523859561 661583981 809503219 852682535 316726365 248098817 396560217 370239149 666173423 210751337 596317325 779246439 798751175 442015677 410564459 293899971 745308725 18427391 109941749 656805523 938697779 477086233 656293719 850004501 811318363 817680347 484593381 767866609 947352567 209310207 42266393 255724083 214508023 860755239 310701205 987712335 885010929 977008859 34504999 391838497 256055587 443289739 567530177 469943539 96568697 936775827 536846975 663224175 291255421 104909107 935196581 322489769 918768743 298833301 897405083 770054177 71663385 119318217 739418101 343481787 786736409 448907977 177297265 862689989 817884311 110106487 973395185 554807285 633728615 661980057 195064191 480240997 196480269 315005413 244001361 621520797 549086123 581801457 717877695 748784265 534847765 636962623 139482189 269379711 317179073 26043959 921319337 366637371 974212043 187117357 132373921 563619045 153035775 849894745 708752695 163326215 926487241 538143709 913557897 835524505 63400001 395357887 415221475 731990519 107360295 676582389 872796089 336287717 207384289 873465427 480521129 877752979 355579009 654481567 748193393 921097107 923460539 91290241 552574721 907040741 884365551 44684681 114206313 389468397 715615013 436096561 871757541 403981689 689555213 923462361 567261401 664614589 850345981 466844363 50500561 304267607 542586613 495102267 602540925 487835723 667536795 731922493 794543805 100977161 392359231 678113751 290158223 975534437 817227737 839038193 717208355 511270043 712187653 534101593 264924873 534968403 72540943 453191629 364029695 599000727 853678565 11535595 964975461 886485983 373985819 86518847 612946121 5213701 374562805 280658487 399355931 482260817 582979157 470410799 96180091 778648943 154923983 432483173 612162857 861938295 571270039 471333383 330888849 223236065 748912783 402381857 516753221 602561943 245495357 89471665 840382465 98937573 325294543 666696341 444282795 657139071 469193501 76494745 17488459 587781763 656320423 960074603 758816789 95939445 13309843 172844197 918820963 949605701 979825329 166609867 626311867 985872197 902098299 910907971 588076487 519119415 660109835 790731617 516896859 402721083 459997995 377359707 459328625 303025377 412257099 937641045 772659755 258243613 854179713 25093975 257687255 267757901 845497995 536727379 275086311 796559671 607934419 495295011 219078647 48668679 614283367 347005829 733801417 276678227 484059647 778766887 750739785 536450073 803671033 443636885 97526923 847456189 103724125 774353485 508362953 788086539 596327129 332928685 292232551 290618939 571311559 436770815 631895279 168242407 245227811 509010549 529733141 131667737 924740501 349985063 825480885 74098233 349921135 69360407 953106129 351099425 280197029 456477743 417314711 21776395 501373657 613326913 760290391 451835293 785125457 93782019 975554445 229222371 632262395 592136217 40432605 416008789 685241967 666365963 260221201 489983441 709595629 293936459 860933405 908993943 822849883 238576177 84222749 105749593 635854921 369922305 203046997 791381291 505219823 153247969 212005165 231906953 489423661 512882915 424691771 437488475 151929735 567229697 159765819 859223019 983432237 673921821 426560525 162471665 306751481 561323519 860576701 3172487 64326505 246697561 34143617 555760437 931923875 307950019 909845937 82663657 575180151 856218047 769628371 818375669 258862171 59480247 152270991 381135897 859517809 489174267 984905915 931628407 209196671 824381893 382063699 280803233 559043829 36661815 681166455 377832585 416519911 743632985 494597493 718221709 611287063 228873243 690727869 848890481 525508845 970934361 308360943 300134501 968328055 953043925 412249291 101449981 854617195 562705459 659590203 41153845 687131177 215644939 686370903 962988147 167943611 685201617 192785237 264662405 229322701 716004839 693169563 589744033 390299063 792004505 55367349 698133857 859820665 73320725 877925461 74246093 399168953 222405239 559593815 849537361 55698121 777556417 859779261 780166339 156621723 191142871 665737395 39277153 983742421 775758735 542782859 511098573 715887033 349770401 914242243 241145881 925489975 387362991 889504763 963831989 165585129 436094527 762054657 289088131 11936013 260835783 937669575 505552839 335891593 981615261 291079017 982841387 633317357 578071043 214130473 833112009 219039855 210459681 694961267 229260315 636657905 585538315 14300379 130437383 641009913 432711609 579314971 8814041 92565429 260584203 921611797 293742667 952685823 306640077 797379543 184094581 12442195 953889965 186298005 754669789 920955355 636366663 49383335 104095603 498111843 560951067 158897809 992011915 288197477 76812691 659613695 537493731 760139265 97958397 241657541 29832605 985698811 389252759 333450973 468350281 118069701 803793281 226282091 546210525 354078327 928726977 523852473 530950323 354711755 403043915 824460091 622303125 379124271 97016569 952770189 522918827 468049837 394796427 221338483 279265165 897220351 694070441 571425749 594885433 604214147 703509223 156409289 538717971 921595713 981689789 171414153 857799913 607970793 659152523 280106873 622146799 694649809 304992667 519256357 767823041 580932343 933370143 56131645 555842665 811631621 619047985 453555871 987718481 881640265 801110993 113566799 761502031 275221433 675822567 988561525 522736543 816312823 207406151 85945959 814747623 269498697 426164135 361259169 47173941 735820445 355539627 420646339 223169277 950023053 118002397 694356377 309978655 416594773 928750507 338059289 589566429 868568031 538275183 352637533 897447653 596987575 746954861 221717413 588451405 342522903 983428555 895600225 455281811 381092319 206495901 90922273 339290265 547170451 967580889 31337379 955682481 864613989 64640099 634460103 113134477 959305259 900374019 597742235 46714697 862804581 87659115 390321489 174265967 270288441 633372981 798958147 514249447 60136569 536055263 387331575 15857931 970987671 87723733 222005271 245999253 662152633 739422825 942060661 527402411 579617185 97801169 342986767 953905115 497911743 592023089 913984005 201925913 761353773 291381137 613991077 288410307 431073447 940154851 83021921 848090783 938067351 559470593 264870613 247516633 136308491 842677929 579402179 773074439 266677179 468137351 871849495 917848101 440389637 933782571 58677987 962112923 595098863 49219857 687673445 233709875 693478189 76881557 245630719 777747491 66959889 364971525 667412027 80577803 231730845 640259217 699909581 933618925 434165369 633684051 37008529 375130169 585298673 978707273 842691465 628599233 352952831 162488415 299523809 911311301 116266819 3088997 321570029 334008553 905936129 343457557 230583079 977214777 272951083 749899281 261014835 372765997 207024727 165655521 192138203 633280673 262055109 365457143 83619859 460873179 635104603 485968555 930440695 468224135 776108201 871165503 410854857 496458939 711260647 287192029 113446647 795843059 408630771 307005845 295961361 406158357 335020117 365391457 926655187 668579951 164952637 542612771 230191393 964391093 454999937 868705699 994652165 836142599 996016031 659845521 238832051 23172583 680329409 225477513 169406345 280243011 689898677 239801867 453801221 691096433 985320945 797050497 410413271 394394415 286735511 756253755 902797263 872358817 345848685 531020659 194954729 524178771 285146337 889580107 665566537 239820093 302901259 884004299 862014265 555210683 147861421 729967331 327767343 909256593 905804073 232120175 361791939 174719215 654824851 31991599 183904187 713179239 401478815 34698445 118095617 797359609 598529965 985546457 49633703 864678409 471161543 53416653 245355753 161115749 600062871 653179401 114178603 878658369 525201529 808022233 468689913 238342717 85003115 200150891 284509445 132980569 311192851 2346203 59291945 173111305 370077635 211348009 850396267 386995739 953720429 913397055 470096885 577479891 724284343 106185707 834624281 140427729 90150627 638145771 990909013 439588391 715470561 356931295 431996489 367347525 833896267 565943117 571699907 44251661 672056669 249563051 859591605 571465153 145769729 450184781 163039291 882137873 500011461 992551289 635584919 584773391 411832799 531869271 139343413 653159483 712584497 508983285 686891687 236878201 997800513 978972241 155492523 991587093 522336061 711395145 496634913 431528903 262971133 153647017 426929175 726290859 631275009 946319903 973107647 425945415 285220209 533996103 984209781 742573191 829854745 820992929 480540603 452678593 457331059 378182293 272060477 492206257 16186015 447262583 300267215 873365373 83570017 746741629 17473131 972878771 294676267 817365451 219555893 899560777 75639315 732520043 337102967 91110809 558657497 233909579 582442405 791073899 114911971 817832775 757219163 124399853 405470017 116198685 961111899 488848049 814247851 689398393 670253201 295722165 596995199 750289645 462125585 343116385 519905989 211613425 45801493 921319041 623842091 441370853 271721729 606437447 384143115 667911699 936428127 672449109 863155041 774784429 802173925 923850159 790092247 805617613 831107691 227916479 493244859 992038001 503478005 775413855 571842307 40183941 939274161 553782473 710124881 967857883 249221359 363695267 590668011 353686825 663874603 888775163 868308927 137530131 784259849 827040069 599611493 206966561 187798611 791772257 103353629 759927237 792892159 774647183 608789711 375975513 505086245 738698881 289585671 490665499 699468043 958006091 856235007 961895223 7179801 6042475 73027479 968352703 396482021 403440323 748862035 584649385 325822251 39115941 846601061 585428697 753541323 928771265 243781283 575208471 278459603 280267321 517852043 629813781 192637811 755697295 929111113 694295403 667375627 828123827 877796007 520876189 473911833 839641591 363112221 566451473 741377613 430625563 575473613 469300761 191232887 307738435 566807421 127762927 241205653 561988861 118376093 341073077 62420167 106417469 745655361 393162611 757031003 978787937 319418157 563404571 343483843 190778157 724137669 857557381 361392537 487755729 281358359 515050099 996806307 886896353 760000735 601361551 161583819 473062489 761109113 993047659 803713573 157270177 182847723 981758845 89440233 838769027 785803239 923482919 906400127 963368245 513546179 466540981 579801967 362204503 936156287 561858391 983296621 405160427 460057795 467744549 165153875 660650591 888117467 705270305 373436201 836732041 479294401 913928757 813336597 473456039 987550229 25518385 39710315 344400733 171951899 118829519 475134121 857667255 205801413 397826737 23981937 677632301 94484905 450785631 226666125 307823003 797069317 455156041 374675953 836643655 759517379 795189451 196766905 795663067 533688179 869758501 126274087 360562033 288347719 397823617 943564455 819964803 475012387 734786287 282095309 410336759 21663885 477762409 995336787 459244827 342188213 860028881 281611037 852416931 132673135 70633197 67103285 168964527 142959679 647163763 803909327 831155647 650654023 293859065 113894215 478306759 937689179 31996161 624778785 982614551 435328239 45097971 561675525 842245229 650174501 648352803 974098889 192932593 603801539 763916489 290837351 559601965 175419191 220862727 45617411 532400921 351148185 916325603 899117799 675938831 900595113 820645459 800290185 467239897 560059597 250969133 190659201 766028191 415362071 323764529 126216597 783162619 746867259 375125773 755831213 304753381 2888089 991777103 788032479 822628039 169812793 352865393 954632293 700165997 587431883 761972947 957308323 683412491 840734373 951497665 491189541 996686143 293539527 513620073 647122589 732481551 641380311 706309351 254733541 217969383 523800357 866260281 775193347 525995165 615131303 386313805 176151327 73003373 809980927 906801393 522526097 771725823 201526643 608005853 24302543 87110749 8493811 866629047 764062591 91210493 448761107 979775491 672870253 129156543 498172951 265452597 938802315 103973605 99666145 840648103 494882547 361021981 504208389 962747801 398329067 194715517 696570551 982917171 256358877 56098435 442082777 659200393 908500315 547830547 888877295 924906129 909794851 332177017 424676141 638125103 834101013 138523245 761615461 334658605 597449279 974002187 693826585 950964793 353031123 138708185 488957551 994473709 100691757 169706433 128200503 608773325 579105231 116312605 85772009 367828799 192641637 459911335 157957029 716201367 526604737 575307397 918277679 950385675 335915489 633684549 814706425 480790207 528426215 724030685 790821143 53544637 871713821 852598951 237322061 407119603 946688247 221861483 775425279 436338491 727211537 819661909 230438205 115970905 584206893 210910971 417360831 590249971 171322167 492506715 920807907 606645659 704455491 209295575 260992945 434943949 480106889 334470721 453915863 826842087 686354289 761005257 566613933 708316723 190403459 402882065 844773941 147958499 60599413 127058971 477950737 1660687 984053279 561640535 243392661 223374267 390168197 342525591 668951989 38783181 617966803 399175707 343242515 815526935 582929501 84471943 743368181 62862931 114124189 114952937 345954121 617981475 404507447 315327157 254287015 829765391 932388085 676139209 325937487 450440329 782339789 657093739 59103527 531456233 432729047 164347975 280752575 787500147 256888663 579975027 661953871 967127117 487433147 551697515 112826295 536586121 624424851 960358423 242254715 564958241 123525787 221455041 453546699 762885623 645862583 484064543 487444097 68675539 166911217 803887953 35371291 20289639 342408831 661571545 746034623 831715147 825350585 803500709 103340349 136794113 116142373 699153933 345113355 367996147 330984557 449348041 326909515 974789745 187749219 921229827 327540419 288359349 208271107 407985223 170260961 768545761 47095409 264128649 874209215 829356285 782462969 604150311 867107353 236616443 478504461 477559013 541514585 800596659 789545031 549855731 669824907 21148903 594323565 591914725 497164139 870604097 357379433 386045623 589457747 801563985 647403085 730902735 726048847 398751633 31309653 203726331 613640971 227886689 106400487 700214127 479335647 350274829 659954827 596905419 266509515 198591173 357480437 319017489 244896885 528510881 549521919 98599599 446425901 185383331 661278127 47625339 357172459 771590067 327916335 629103537 323902799 744708773 888015057 830798585 464513181 779768881 221677587 36808285 914091717 439053817 832941719 732365909 633801825 819067013 679850279 192498877 202967983 930900549 814865591 677400025 894309781 676598421 949639009 33207129 14866083 810166453 42913643 344932687 638722063 494085325 320162369 531705147 882910907 843561713 495040369 656455937 954423341 17089561 340204987 882625007 580316563 245858599 364051457 817249721 464234695 902400481 719370317 917090685 152518981 178250749 923995347 999408321 305251637 403855375 836819183 576806001 481491561 943903901 189718051 301793251 112058197 339353871 892358427 256401875 147782171 32886965 946697387 956168041 504126847 506049991 194149069 504211247 186216435 337378411 954218405 11940381 851361421 900149157 549395581 948752525 483617293 641836649 914069195 799266631 364814299 568756369 63028007 618039417 317545731 845133277 539626581 86269621 504680767 104640245 486171201 88545787 359820781 652336237 406651135 795958447 503979285 706875325 524503499 582040221 646836327 624109637 322926597 257429501 383323191 987820623 618313273 654452331 435856009 264363535 41781019 633839597 529339905 805235353 607368329 810118639 987322607 463499507 747750017 417191493 865342537 975515395 301888051 333631535 511513777 964060317 134982895 188867923 626908525 802176119 966918449 865796795 368669547 52186933 912116125 432287709 130357829 487335009 720848383 86987671 16107831 427352425 839876169 98301743 38191145 602566311 650860437 46802259 297922221 382360671 226752297 496694549 475805431 302505399 279940461 926315251 224328425 171651523 420691705 259598293 716204295 230577273 401247107 973675525 319508867 608634813 776642289 485541947 780995379 121502807 732821583 260760723 929043095 583849721 837264079 640699793 23318229 673917757 694636747 221911333 107857085 629375649 928236745 778840481 733358023 104460179 48401523 178900677 672586003 566853727 364452765 894887607 915554405 186320961 53171007 772224767 762660141 192826459 9555073 410771865 174494085 135060661 859639211 98828253 732706089 126120257 336019761 643749779 230736003 615004889 348173485 505238503 757260705 820954683 673128421 132001389 331931963 916597523 292599235 402408487 870086575 859154161 508620123 577654389 903634947 2265169 292088551 606798377 227377387 324374417 422563017 818291315 637106105 528060923 939010191 968998901 748832111 689631935 433995243 385242545 981235125 122900987 476724153 943282197 175396311 949984171 612485883 429735929 857183695 171242171 443178975 223021461 954959165 62171131 931521715 915630483 598130789 338837285 583884535 223132671 770633529 703940059 43615309 709174605 568740431 87416485 760851327 720374107 557073895 681211381 93507459 355175023 382377703 135282979 627687537 423619123 981253087 202439537 888383117 349535425 973636103 605678345 835721539 832252307 105385021 143820283 847335975 717751953 849480201 467616577 267730419 985747717 968643739 771381181 904044939 179105445 162180553 889650487 221148409 360150673 377761553 931603807 839124595 248056395 37923997 996790481 660409169 494671553 961956411 954217999 114034969 217646409 944445025 996601981 188810355 256074399 384256305 951866225 80326197 252544491 132844913 679320867 298858585 129136569 378706319 176183221 789209859 811576571 454927011 574687791 440904063 590605331 195227503 543315841 948983613 590688709 101047125 241545607 662180573 862774843 153163113 27942913 176271645 16037391 235518815 914773913 264093165 574963515 685025431 3906783 533936989 143407141 13783835 399570253 917796011 877637787 491562133 614892099 473978167 490192593 777280353 25461261 710003599 353342565 999861117 683880665 933543523 302432093 732475279 927330755 585840531 310473509 5047785 69735883 542707487 436329363 424262013 908701403 272933937 599194085 307003631 255030979 205874209 228095421 649190789 875271739 971022693 947021867 490596399 893605353 83504805 153733285 23216771 833622865 604037545 789282311 120541631 934144489 484656227 925857685 114542541 558813701 167899635 462948861 646467131 775895019 706602393 807196759 258062143 322556099 68282305 452519195 621925051 346070429 756617469 722477875 554579765 329546865 448537867 432042219 547986139 703027493 368767949 237554935 779671173 828519549 271955533 61305717 230471347 101732653 496052671 13168875 759587981 493140687 466725503 138356037 978643679 591128803 105053455 979591895 698600739 698001361 121059099 438499171 407885945 49795565 66232949 222499081 333093541 710493805 798493211 609633113 700506393 641797239 566902063 389489735 795708395 762824719 421221371 924378419 745885915 327976745 752091379 350829023 24450127 49055903 368476595 452014457 489213527 41913647 220068351 533431191 983352747 151918727 879844543 459375415 434568361 711973939 209938697 495260093 772401241 313419953 691942679 916838901 337597289 3593311 398336333 60990231 774930739 492938887 584378677 449667519 31957683 381974107 927156355 93810929 876245907 376786933 676058131 828094749 267231521 378375507 149956329 281992983 947408211 517912929 159454509 175859995 739939787 197122801 267089205 152256463 806915791 302420409 598685307 553054529 876212813 806486877 656880291 911492069 560226013 3271271 936387193 352418201 85929151 98014533 115624685 859444387 949485275 366206801 216153631 133935279 75766717 425279437 789967437 430402003 996368031 625509605 241193703 857163149 605341281 957778597 966241149 871612351 722258055 850242569 572216011 188594617 629714499 522807795 744344501 711095089 29841771 165411883 388231751 976393027 946986365 759130723 811063475 394360691 520958115 334724915 917017683 449482415 858313389 254037279 161436845 557257295 328749581 941216653 538942571 196994829 289566951 891645903 773423199 478371343 96386049 440831519 182294149 365976545 392341963 959641247 912050947 535818107 441801561 584669271 107784991 43864377 202535791 614978105 165950033 886485985 67292529 237060637 466278195 85002655 450410093 626644421 135044231 295886601 117990431 305989083 831965241 46100507 546572257 601011953 549252187 939546939 427062207 330656381 165214251 298867769 757335909 394859491 277821705 528687429 916901163 979303273 10544003 217937919 948848401 364801349 60359755 662111855 149463487 383260301 528547133 208930301 96326529 912946755 960028251 945072769 415166801 169237585 158180049 668454201 928399823 409563783 684517363 113913799 761445951 146842015 293109817 875353917 893328275 820369467 14149707 724090125 126912865 715526115 422085617 633511957 686313703 285449735 991672095 7370137 949262863 157952259 691545841 144864841 251060839 478225177 745199273 258762041 960095783 442897773 349466293 411416805 143219501 370518293 138123171 574988851 412164609 213815305 934733107 443948401 380097235 878074411 196481351 701295955 355465847 876085827 308480745 918755319 47762287 394656513 76093775 286532067 236035811 288247297 46466769 20506883 675797921 868935363 948989939 169494957 804768543 148516785 5387873 75520927 637539455 515760923 934537199 773013243 79199111 678993977 655398807 668004691 416111013 781659697 731952253 498301591 96759537 258672393 147857645 36716073 198414123 189189809 64894295 333216715 332529849 543680005 342319449 862810797 301396909 820352965 1173175 925802593 145540795 780803993 94777433 922392039 274820675 212550933 189682519 187545763 475576653 928036529 825078247 101730659 965819529 394147021 476142703 792909659 196897101 851553973 181904505 558083881 142085273 197996439 855410619 829012435 259375123 912843663 656670477 910045125 123779339 353709725 523552629 76847059 695281527 831200681 812855581 42407999 698654969 202664839 707801687 468356521 258224087 202824173 332822175 365175329 664699393 68339841 713471387 690043421 500800523 631912903 736662033 859524471 307917879 639012403 661276409 82775159 763310957 144550687 221264493 445735627 295487547 300583371 880265391 150663301 674344407 717264479 212053801 868201765 400356643 970264815 761202547 309622413 554244515 995622513 712486979 690117135 586606217 805717963 193497729 890775389 5594541 754046145 195628085 809520021 421533323 804487943 291105171 441150523 782240587 144387895 840592373 398161471 912618941 333756367 367459041 405590773 656046681 861796923 628867329 308224793 190594367 318524365 411736873 639022545 981261619 28039867 955686225 963383211 731841701 835673387 520050081 229244827 297526447 284436513 768892257 245101569 309907983 296569489 76472837 258017183 240248875 185377363 277320745 177310883 7855635 430115627 357428879 751649187 364833663 862699967 625327395 9852571 209743309 260266657 114576889 964376563 204709635 464081741 479623243 755105653 699877077 925035297 29634429 843811673 573682581 213096551 395712537 277750075 231680839 842891089 604968147 182379295 496706701 104461559 24573319 603989621 444965307 750880861 904385591 932236559 322574789 824275305 883159057 726156845 258811725 154398701 598615139 209914227 867799447 208796323 370309037 981214191 861983637 977506861 519212689 111989013 810435295 366383635 114747611 362188739 352416945 792478663 516507771 721644351 738135795 593617315 397899407 315622965 540929333 254247397 830465627 811268537 67956655 925983161 498966599 685690445 88191039 483845167 578694889 964384977 537785711 262034241 689044987 800024981 91195753 501971153 864289121 681779023 514024713 318040487 157665831 848430617 265947341 629729909 293626237 737736317 627383259 136018643 106597827 595948131 364483843 537337923 731288439 949878819 569570235 132793647 27247177 340973435 270315301 523790311 339536393 508359823 237917959 508499879 815056819 407288043 905702607 583716747 997085805 417768583 629570711 494817185 898148989 344031935 287638043 772817369 581448283 769014105 578881989 97080587 160678305 170680705 474852257 998728697 441906191 531694795 328699499 504510541 483002517 228796471 58144893 851138967 923422787 699589931 861012707 468638801 274747223 491697265 269339209 801085659 896417841 701825343 22294535 665395841 624926815 714481715 38107421 646589555 187974035 837034067 763663665 201467593 37257897 58295307 540860819 396865413 301796001 858197553 471834171 97154961 908409771 517749507 46943433 999820733 957260313 253367589 524547969 880468419 611886949 179680931 322787411 448870723 982846769 128796149 125321177 425064649 870720075 665375477 485210705 759371971 690599845 301163501 107108513 92329613 599572827 814034053 621403993 637788007 471953839 525282007 841407919 21004667 823775245 78520413 63774853 632488153 750773257 25012477 562119521 650535545 16797275 240514565 887593329 981633345 289662955 348048681 161465999 706618101 197325505 385191815 857369655 448030539 919658769 912376997 323197073 810435801 123556919 590682479 661930351 570655263 649116087 659181883 920492357 72617611 723677241 830466245 508705845 593835883 340822675 712348467 557960963 525238009 779563199 392087829 73851425 470309717 820649695 97819995 930855077 55035785 863209027 22912103 766010191 914721417 603218009 507314427 472068485 982509097 365709247 44815173 367855193 394642991 292475191 541371869 502306687 992941379 599335087 294279867 393158743 504414707 210549303 638633545 881020137 371394493 814661899 117040211 387094245 854496255 145306767 477911821 463865503 246836485 227764045 343734805 29401115 710744829 861782523 775528815 375098877 749589249 721340017 905278603 637781653 696715285 599110837 796290877 574860505 318369823 883093999 268173505 44752235 913366771 165873525 101323453 517634449 278719817 117188547 804609087 74766905 976939969 322448249 5127357 336302845 96564709 449918051 208820497 995161881 233336615 962433655 130400899 800670837 625755105 101405901 209936319 509215907 326714961 409243819 825211867 490907095 249875363 941555323 478186837 81502195 169750249 101952719 909742353 765275515 469493273 18124643 320618843 981832353 640004375 723496989 113150187 274139707 13767341 82535941 176779229 831406281 860946825 252836941 257353909 172712817 388211013 650564437 834987875 492372227 326680933 323259805 33129017 754057463 3621967 570832081 875318519 249217131 399305301 260507843 311730625 565668137 250403507 517934193 478941221 89165467 896231557 883779835 699386903 540108509 421390299 41274031 244625141 553663915 138494623 328458751 66108549 61980015 673912241 473378951 350887411 342931511 604981197 236061705 264752853 535534267 170615967 118777713 288846887 254993751 423093177 306930129 818751313 370604311 174388625 793116519 548219677 919041703 286802571 98638485 654972099 144324961 663806447 196858085 530604253 643861569 942772975 571571723 815894645 966896369 338730915 664796899 342554611 997831357 665560077 653276271 660495919 242140063 877174039 442587 188991847 933337399 225667985 636696699 937605695 80947145 331131191 729872585 247874245 131658055 922104229 783318887 662008173 514416711 681283945 266847525 914845717 844923145 629426931 791801585 490709249 507474547 628065691 314752745 433112033 119066389 192580259 436489039 901435593 754613287 933691445 850428817 372136245 442408583 982169697 173191997 642713867 385775037 768333345 632502549 892074905 513643769 819605591 910301173 653042325 334358033 211475147 176479215 830643481 303408259 6438703 485847345 493374637 880445561 403452955 448268057 546856509 797156801 978852881 481314603 615183137 291182801 606132857 317632015 16061457 127644619 417154729 353548955 616424503 260306805 762010837 282854603 774723613 102138429 654812447 238408895 398311099 895798587 484085907 638895043 636634733 803416367 381689887 586481997 169652215 816957313 551172511 60180469 382225801 116036925 11810515 108918401 804615607 230720543 753637477 467993305 29531261 849673601 682833125 7810837 14756417 814527341 950332365 601408107 206748369 562279827 667990141 898994753 694969953 957099081 488641857 490110243 708805775 377417615 926310983 881053635 814724449 868998155 82329259 785883643 543102531 577238541 441101165 586193361 968434443 383348877 362013815 651543663 972847349 887099945 116801433 102525735 884564905 273480745 301414797 907679863 178595889 466163069 427168499 277361919 284837381 261591483 902366549 876013197 119069183 671824417 212762151 592667411 175333223 221252249 211846591 256630699 254027499 593364145 453678685 417865627 472657821 13663391 209789231 270919501 345055741 773012549 789780291 50174805 231782127 420968489 97419409 678948717 828679361 994802809 713776383 67142007 482928679 170318349 439288145 685862529 421758271 236360549 848430139 469074365 906378381 534319017 123797847 98999175 839191553 703162277 903633957 444555361 822696943 474091219 311326477 180214775 782900243 81165907 173856355 396414493 66794645 394835433 563696991 71871437 145035007 740749575 34362145 171917353 296157511 218569667 493694387 833915777 619640013 501542877 462051079 70392387 844985171 983752123 634309111 689096717 30596103 33987437 714842433 617250465 670322815 583952299 4101779 466434283 982265273 310690003 472074105 24950783 383192855 229196781 481982577 481137175 574475115 568832935 808727001 831901591 372444135 820037467 371747579 50539529 920283433 576644613 119161609 792604963 104351797 861032271 788184605 615431101 835134843 478598791 512920629 74279131 320725965 625568675 91097151 983025835 544303467 70286405 43543815 206645117 814171385 47739059 748125259 311480525 353343109 867119835 620435881 102558783 175769221 591031125 435383211 911666333 252843219 17181793 868330179 271886557 669278647 325170407 307563593 251121431 781264093 77166963 255944577 365012881 916339803 43900223 58858641 115383219 516051885 417305387 994242955 765224723 538975931 849081019 568305001 345303661 127829711 60857121 274170637 431400609 809639841 894963763 433340991 684131771 524871755 363441519 494370993 129703409 30861399 264002815 80091901 195679901 719807149 462545585 818204577 418385215 544110757 830743805 539575817 723205767 668600573 237761537 203221893 653945669 831737049 456940677 765477969 544815479 503761095 741687545 237273225 669300541 120727995 759514737 15077691 282828773 818528275 858879409 487578455 705863905 950726293 785472027 610591413 849348299 408387437 392908483 950535961 165496937 202063151 84551007 417322793 224801189 177526749 656826187 431924599 295147153 827211735 78312595 23795069 191582827 867872493 11998947 367486621 814222485 740482389 777841811 931018015 274825625 626302633 405625763 665273651 64828971 124962033 776423099 805705205 493903397 121200539 439267879 151509607 478008717 221118585 604622561 872272493 321299341 129134281 780706697 601678815 793276281 937949747 172294499 137807729 335843787 197031363 492397921 583456197 35472677 482227949 806710553 797751911 908822871 349723277 225643465 801501383 339785295 839901165 977793883 404478781 477129003 475694007 514211677 91167755 111320877 78017791 793826823 918091353 659726529 802872901 864892215 351358781 374745723 391964269 706653045 374378153 597408789 638151621 28809967 21849733 464742769 149568771 888794751 977710999 89145247 882768961 76556449 288627855 974289869 197635079 720267903 577998089 682598489 961886273 512994535 522265733 133484485 173865797 29510479 231907693 568382399 317395663 667055833 106654737 424101911 920145671 669924681 253692843 815931337 841074039 848808979 549965147 421319161 133557783 400035145 314239789 922830577 241356867 859467949 626332431 462232871 67381695 181459109 286780893 496001075 97771451 60420931 281004631 197993433 335517129 74811195 504924709 647611655 192263401 713829101 137291995 260758221 802526335 127023969 402578673 890085735 534580569 897815879 72593607 684606777 394943659 840272373 871454121 286568911 707450131 828763753 213985477 6460123 903060373 520467021 289242167 724153655 689278113 530988273 629426687 131476457 837254923 955149895 173860101 748314905 963876111 195437043 903811101 326680861 696399701 258901563 650952959 458851185 471184871 417543949 332063051 127278517 127617851 213814531 689513355 601862327 317840689 306609753 409373747 338301801 306569739 155262457 911276183 470948837 426752887 219660401 38002173 757259889 704909 915176183 256939659 81239671 887882693 203233901 469387349 582295433 251431433 130716759 228040275 820255333 502703013 988736487 706507109 658186731 300670029 577823477 503390549 532744233 507813151 965945083 761269717 987217745 174087583 227742247 725109631 505596095 943074493 716961859 926039761 623764981 347294667 195844553 438162745 53898655 944089481 500821209 893925379 723411599 60408093 940603447 879910765 412588227 785366289 573904467 352809365 456610395 314922587 273139271 169419653 330672805 621015897 652546257 327591983 780638997 897485009 739522391 607206763 681189953 901543151 732950761 345744637 88392947 846229065 901868863 463104395 511528209 550920413 944465335 564538281 700646575 511457037 988800087 533889229 354093835 236218539 496799443 200691803 203489671 671515625 903820157 985163419 912189613 882737251 627969113 639501759 732786481 872490019 360780809 36295903 170396399 862962321 152625889 700653311 43796971 958495623 919503829 493428229 595094861 807434303 984855431 791486915 172571243 450472031 614879035 675528437 822993343 315225843 695146467 6168121 147854317 811323251 187140373 541976345 275228351 409332925 773326865 247634181 284190251 960423953 241225407 804473947 204595529 794756641 777671851 520957271 763771229 426572801 103686671 232441125 270576853 320489517 674442953 909700821 525577281 183963533 17133411 794872419 347666781 245452395 804670983 748785067 846652429 292132735 682732945 508277627 532471643 280918243 921723007 226153091 621661821 865584927 931641335 583705691 911552971 336955937 233010377 82521733 388163531 864068155 23749227 968069483 216209445 615467309 291829247 52461407 380362929 359630105 91277643 742341527 206877285 622213521 555549629 50839349 159763559 597934727 552209263 41922629 953745667 133817689 740567581 510761655 956977321 856419275 754667569 515186019 991297785 571635469 738671543 151195915 139665843 607804083 74357099 361538393 524723137 582609849 37568423 443955165 147507771 878830469 177531767 725766417 518995287 455507685 679580551 679172951 513484669 406480655 940613935 801546741 755355699 179917469 205602671 732369441 447947569 634310807 116208621 838216689 276283217 360315241 977181177 61873511 949432213 959768041 858470795 757933421 708080681 719924821 859512385 673400531 145868639 200158031 732390501 885306195 664198325 187109609 986947041 141246605 772913611 957494163 733919057 430352141 772466543 829241135 992700147 593379649 106199699 384364545 316402603 928797829 196382035 949481395 493643277 242882585 670856689 465214047 767364431 844099623 789579737 996501375 639132239 735429311 989448351 649927929 242638997 319721179 941654269 873707545 781982031 115519835 295439829 923100825 891390037 768409099 611189047 472193425 972088105 123472025 6570321 562855559 949636589 668182433 737949569 942221931 653505653 496003491 989614409 926541969 817066805 432533511 319753045 669398967 184682063 657926689 403292793 585046271 37827207 485321769 483126959 796056313 711860815 783302207 663309851 593157787 961720509 324392301 298097671 159375423 570022545 684988583 118684647 200184495 27938609 262434753 861504599 592211475 824496559 269574273 933913115 121590531 695685055 396792719 659503387 384072061 678729921 489073017 641373037 415174117 926774973 66472893 188557387 358578697 51585377 992785849 218598681 346781211 67710215 107055545 592872547 695365053 71981485 507114475 274103001 555771635 258363385 428990313 788630107 464697641 902349371 309410103 224725735 386362933 911382377 204990779 653103021 191329107 92550181 876094793 723710973 584489513 817239477 709293081 181402195 940765125 240253191 174806091 414948691 116961179 221442483 801381737 238914761 647257227 705938683 744603365 696288421 723511255 758444225 517825817 630536711 741648941 822351513 261520963 438353965 464987299 468800183 147780497 913453959 148200887 82883837 304478223 73294501 434183243 742284783 940360635 483892549 467162801 358848447 25393267 401630023 53121433 656650051 946858241 886123961 229336357 855179515 599767575 541737421 335754713 612864013 258714957 474005981 811325855 447820105 421559847 165628527 431092433 705499175 509985035 635792685 595221801 44467141 153062987 680900585 633450189 81934315 248100643 930639777 836659531 737926153 732182705 575349621 186691735 667549749 981959423 800668083 161873423 581766189 700890623 256990925 197116281 28211291 810095753 380855391 824713217 718899917 220936031 572487723 97576765 952431163 417754667 658779421 778386473 719356161 405698687 86685769 224866861 729358379 686941905 496206311 573813267 560158309 806709637 715082335 210272017 869793033 246452707 586803513 594962375 366910739 475501853 80601129 522038583 261440043 347545419 264773643 614703569 972192675 623437423 552265185 599333991 216386415 741725043 972691415 814894393 877666609 455054121 832444993 402183403 960588077 143711047 538323609 859233673 532170069 299656047 204267651 35638155 727764031 234101805 147929289 757321933 748032043 388970993 719829599 994614165 472126975 484436499 707903841 821375887 410129483 152189397 285030419 772895951 183366215 33664865 160451549 303056087 828369617 296641735 661347925 535500167 551613809 83382019 113412661 708468783 157473623 275532529 965570657 63424643 168355927 473230431 659691747 960585123 618050037 415424253 122861553 169182481 832925781 856511843 960308451 873556411 109063495 137421331 307648829 36519159 9484097 560414327 382164397 563423107 899961445 499558367 213331715 131054211 729439609 997464709 231852347 73801859 575235819 205669001 141345913 669715067 755443155 72886519 648530441 569562823 220055793 998828223 586657627 818474539 371548589 136375223 376613135 632616663 919795987 330347431 426835427 933746525 483119327 170004785 708578247 204392381 237807723 542102251 433945291 467418715 157514177 686349389 733308459 643198725 325505169 574564025 509879117 325981679 315708209 650720373 574918327 883016377 799431585 673649079 936220961 364335971 630216327 845249941 292842085 643394401 685664307 844534543 828378755 821574273 279223197 64387603 296653483 383537159 320964451 802714735 9419823 441697683 667752141 889689821 341044615 202426935 276583115 412693501 896490841 935932771 792539377 969527131 574144881 705906169 328273539 414026341 985274817 357539131 59298149 88184183 115373925 29276121 992437543 947526865 798274975 762588901 819860991 806259099 609432795 316859103 895089615 824181993 515190699 447972011 935315739 948687027 498974669 122466453 881656855 900734681 577727779 515260757 731152277 585839653 359243447 652280071 805573143 746725195 515459517 955820593 503805125 558616543 278230159 192347327 656651883 262536039 101311925 445455623 456215683 643447369 235771093 785378501 338633773 316627161 940458947 423564319 120257837 545813583 132512637 623100067 795521269 734556107 773806885 369708615 683258267 996839767 147668741 903416421 983765213 309418213 614380433 706192069 640444199 698709839 210288741 849180309 206146179 861677397 277074755 406667623 41694123 903827103 328351513 997212217 409857277 930306241 139212021 965481075 853840257 257756209 939992343 230197985 620842981 280212307 603577313 643150517 321284483 368516975 559086303 222389393 66924375 352614841 656930241 961487737 803649291 927200325 382063461 410409943 226804717 704768793 863648975 879619205 724953587 529701659 111878695 203505085 689223359 169109277 992921539 241110053 329406103 95069915 681074461 147762123 35251049 355024371 144923609 534822179 195868109 320716015 261877443 614570507 749736963 848713793 204032715 612698825 68922097 139268929 855939599 705872137 95264553 685252403 285685971 207387361 930060767 425403453 453649537 280335311 268288499 72978033 480737451 109800373 497806063 315442891 37012493 67149285 787998205 77063209 591572363 611180047 395709177 419074133 366234417 458798421 603273569 15908095 331652913 425955129 842641755 793685189 690566373 246687915 484439223 977728035 397793235 883724541 981699565 467131525 50284707 955668719 111642395 111206203 93470253 534890917 9414921 20590209 303100007 759035821 636019239 455197813 642220407 659493371 657890697 725972513 945023145 708725997 425497587 594168949 890517359 35181895 435924167 73141071 340462181 947389241 775651609 183290987 481941069 50193239 244111007 153050741 379126033 748877213 365858997 185431549 414153929 878247027 839824231 143362685 844896429 450599843 131484257 594416983 807084575 321165155 518249979 535607507 447079341 45965651 606836789 679800097 677230601 69086069 360970679 891829087 173998863 888446775 524993741 58779273 83426497 503132783 665847921 334731403 633683531 720462939 511441219 823660341 731211007 977538719 49864327 483944769 161575771 190302279 337936687 261776719 800042497 675964107 958293711 304881387 514544827 198040839 929033899 272556421 409572221 542715457 567164583 854818677 188443491 972118307 795006547 560920829 483735471 238995655 870513127 445132615 147475661 270871463 830552897 771956067 529524561 904182441 653543657 164268363 354202869 811991067 316235021 738896095 371852189 213108401 549544071 804564203 58400851 615188619 924692947 480212509 592101963 705159721 878125083 945059857 521030113 649712511 102520365 915118151 70976409 639058141 431266687 430112041 156519707 417773057 571013939 688020231 203019325 771259155 177113357 736513307 7087609 832377245 973245567 896498821 571512691 897865623 79365537 445186897 737154295 546064475 341379631 335041389 778892533 521487795 984669841 904875445 912717067 49880263 338143959 851515113 20963069 947591985 190522299 306908851 303625139 947701737 734606743 204436641 215234115 857219673 506805621 787264305 856131305 44237645 166070277 110173889 84177925 591865849 42998941 955760285 20320547 573839611 443928123 637406707 768747001 559612761 175329929 842511583 830281567 597424511 434819797 651806049 186167387 914842179 453114135 945023073 514475799 962696673 477292781 262163123 603682277 167656193 228865183 775763983 331530817 152681389 341631515 972166165 448215503 559005787 271513595 328841551 296208219 925114603 747901563 714114609 630822871 893457823 498018437 541327375 319054175 867980837 308401319 895671343 198918195 835894419 769398295 945273015 687817667 712254055 139765687 622117819 469149089 367975301 46134027 27934259 334578821 680776505 458905413 219187455 124647767 335878459 214733371 922256361 997779485 63256231 642473325 821814435 495809295 397761283 749980419 249227207 684821895 600942393 745241289 799272915 740293383 324433059 937387321 732211253 412760123 887796731 780222577 850095673 81149943 135174247 157246779 314307101 441717811 182813301 810501121 552660991 655196439 189475611 36493791 40527081 740560875 787315891 102799251 253925837 815647267 183937541 300811395 326500485 957585499 610492733 72521663 89106639 341707093 289231089 953670399 600113495 398641405 227442463 509541279 638209711 245485415 719612457 906424235 334564429 779869133 272560609 256430801 116415893 798888337 435959415 148852581 58570447 325873987 796127629 633473385 413539885 902535057 353149221 799758725 953913545 304102489 530057903 726154759 232043937 835796381 890789885 86963173 606211745 913931913 498936911 898409409 119419801 379573361 377240905 620935903 136687941 81631183 766001145 641648689 269617219 813616967 7706067 618883405 614148637 300862117 388324277 61353331 504255557 297102297 1014501 281388683 423823635 718828033 495268367 471883809 739450569 376154209 376236617 329471599 729387665 605076833 484361231 591786835 678605179 232829847 63041097 428712277 838607747 281323197 327873857 691170981 840289413 869371575 543119277 750200857 838246223 701398673 65599405 108114479 549741201 599989115 844149699 202500113 726528483 158059989 963726301 242544269 626186441 338332701 204670033 541857051 640776103 614824963 523760861 933293273 348433621 950838103 980746149 918950799 409215879 37488405 806328887 140179115 301399263 223119459 684313735 870580807 781617385 231287175 700028403 204163615 773034389 810781433 172424255 126562973 9199035 422799441 732717723 687889357 495691293 282336597 465079961 620177001 730791013 191963375 409474875 182543057 129915427 602922545 586929121 408957451 590972369 401240409 449203547 636052165 4178385 689274567 856279261 515470423 762654571 86510089 361501447 449283009 711619535 386773713 845517529 951664297 496091929 229630969 926798535 684013663 798027081 320044167 40856993 644750043 514852681 378492581 780021669 758706107 486801385 79386279 742709115 284178247 617653987 188135941 797598509 510857071 641641943 645873767 313279795 963436745 882539345 772565141 814656873 868510099 602752959 842226563 754655251 564820663 5609085 285502797 174287585 552679107 166248139 99676213 555269093 126662383 836382931 751028647 693853855 8613401 678187173 598884149 5275379 714270153 840486715 36385693 522214447 800872749 125185397 706002881 150339079 449802781 17272607 981166507 292087193 623178779 436163047 119553423 531730539 809601865 960001129 508350153 68182889 959715707 142635813 492904155 477844457 333489445 883555203 26637939 763808935 157744233 761505495 744590943 980550859 415248395 844796761 749488287 338016479 450233981 395791145 670633301 458093531 492988117 749803347 115894731 344985625 843795923 356563653 106350455 759755873 470055645 563776859 80787185 749707489 174398725 816680147 318996733 501889067 890402813 243433947 185065865 870682175 490522411 536153345 191494821 575552385 404721297 63205309 903437197 681789885 811936223 551909747 253387685 535235371 727318383 372334701 18267511 227374951 863945535 980576473 87923641 540391543 19298293 511795155 622528579 850706375 389077985 640805465 361540377 836763947 143281145 255600217 523800937 497747427 972578527 175582623 583784579 508947861 751987161 177589993 179078883 632829771 319671765 630540501 183119663 901772923 790061675 269456621 265318701 673564163 492469469 879697571 663220949 325345577 813434637 768772177 283245375 706290843 778484879 638085685 394197425 297079659 269298583 480256381 570308245 143605783 667267589 191128373 410998909 55709575 96160355 198697307 160352037 183443973 658334941 23435725 96498291 832935497 934317643 939765589 424113517 92232303 686675757 121390757 686990667 555317499 938677417 307499349 313888871 797679069 37507471 528619241 186263363 966762343 840993111 809605063 678826377 308131161 660430111 316271169 36044049 57227735 795170479 308295571 346071249 479329903 328291703 661334235 661676017 982569237 366170509 948730915 590686905 987159337 274635951 666463069 378520477 640254059 187121479 558738273 331615799 455358991 341968739 694997747 268102733 215945635 17308089 956154809 580737225 764613675 977353387 895593797 660833983 285137159 593631551 199996945 619441257 959297289 523311139 897470591 132223017 356346209 914817713 40692695 803339661 890100401 59547109 543507275 30586953 408147963 633615719 446799603 419556659 981354413 437172361 183038673 896655189 45349535 257403711 834346447 430592213 235055881 955874603 932962495 734247433 30202261 962873489 779817815 357482089 385649743 936194403 791224635 458744733 215332779 763838007 392452339 312216685 839643527 220567373 447234799 529498063 335690793 848646027 533039243 882259419 392439099 176565121 963727625 552398549 124260567 670479463 778611341 999756329 152834679 723150619 451244847 109687659 109417987 826050853 809499619 171678037 345771205 487850421 856063371 214605003 497540723 930287775 544163315 981439961 564481067 927546727 638420171 694028463 745787253 939499569 219255979 725397163 561716537 921819341 723955733 464663377 385307855 41122225 715889779 489225545 8385267 991764223 546516245 749513065 262975181 610738557 134626357 719154603 989933801 848501657 238636531 396006965 295479865 403021931 664084827 81456717 795335967 633408691 927311197 65709419 409996895 510975961 691117521 911655463 693361187 350855401 910316153 284565319 590000389 687722909 201694717 974555315 211279103 823929685 870407409 5226625 430721655 515773461 279743693 399912941 963150651 542799247 317862643 77468759 344873855 274989593 716581289 628794957 564837601 386382259 40878373 27843713 56697703 796929795 902525053 579230413 273165949 228825689 618370227 886592311 534525945 320005805 165727151 359383273 986678553 746398877 55212357 462611765 350972287 758782321 14239277 529870487 676566075 727100441 834935559 934393781 121386179 730924585 480729439 456809559 590863347 553537253 115706531 54062705 620701967 129575985 558203183 29243165 433942213 615039387 947980611 577244577 157021229 66151263 605039111 338877031 916840383 7847257 483671695 218909187 105442917 965653007 729316051 929641517 784053867 904719285 822022835 356813517 751451781 689122589 877098745 121271531 906026705 633459913 828135513 899643835 601676757 562438111 459928167 563411353 254642557 483316017 871489193 497719559 312217117 607835699 889457543 894102449 696865143 132196869 565224783 219358571 208578987 430112881 794764607 924621103 396367945 484170979 882902645 650496031 549194565 598099315 164102395 765018761 451014143 170820575 842849989 470128353 717799993 991965841 606609575 971907263 427372321 651399577 747831143 93761511 567172173 491777449 149235883 235270469 936522939 266380583 525993991 656117741 201578447 439935251 52540913 484536345 229015637 345566755 329882829 573691949 685012357 490558379 957491685 435735987 775488507 644364457 987321959 589635679 860140731 984453319 441102445 340015887 775545397 970158419 263015419 105268417 467323709 902913091 4719095 86997411 458622991 12950329 346386739 311716873 914677073 87288441 867139947 226542959 863722769 446172663 255329853 337285493 443209155 938830405 946113587 963543271 328927045 836733861 458153919 872493755 646899165 642472189 561311801 755913481 2236215 341603039 733356261 850247189 514215785 774985855 787063785 429707085 797453295 147855549 147926871 440345665 348607153 677169955 326599723 509587373 507329785 288275675 990049603 779676791 792938623 379088321 300382313 53717669 362482271 212090195 854816079 831090799 998734877 172354999 116747917 290282285 126107815 8389309 385491109 151155813 148014421 414866141 8468225 456166081 357332193 64074293 82654963 301452563 284570737 284696461 374215345 611347289 454214289 605195603 912719455 138862003 402702393 976408225 579069189 286911343 291235269 320849459 688488339 246174719 713207803 636149107 309635559 640824317 901038855 684540783 680700349 299171375 436912511 812322781 850478017 932946559 563360095 229069343 850739843 578514175 252176653 774560827 730257789 262785261 883463769 928567263 178516497 556927913 163091827 209306979 707507847 831933889 285407227 972446919 113298705 655531495 420045817 923140275 720053959 561992695 573513429 782574451 384042667 623806451 979191911 175739905 66257063 827349255 417986029 387059963 878201995 444442247 974607625 670746027 320161553 720535277 333348557 764870907 831048411 882258139 480571563 645312135 152856943 655965727 389478785 559619469 36262979 403710123 273077395 490643443 298451885 691499931 288423057 574349129 647315439 352623155 802623629 280164807 328187955 366367451 373361417 418743627 735996297 370217513 136487141 411316317 890732011 327682517 726565489 219953963 296885561 383135687 940039265 393832079 435887679 496775433 89300691 757840133 119657901 723648203 249287245 313550775 821567769 19213163 910608571 88578931 601847305 893413739 858589811 143730095 809568485 556043385 526042931 771638669 286722045 211384931 62255389 751713489 846273163 823258667 284902339 579601645 740625839 41354991 670911765 534038009 962458485 163311355 806014581 912865201 108219339 271777475 359268261 748639357 52763533 152966629 648807893 890855021 258576763 654750751 688275095 636911161 793421631 431464545 450182379 641267777 254336105 994711995 900126773 579356553 724089713 540270697 556606787 553232067 238852285 64867023 725261641 26001221 817951121 538045049 295344869 608501261 954145057 801709335 394619165 582648005 219920263 417442697 565661277 3134651 900774595 394445005 408194425 906776551 34271677 412201235 463644851 780552679 939709257 934155947 13030059 64766211 391591199 710058259 798355825 622145321 524175071 990359019 207681915 459149555 597507349 36343809 982738595 774867101 842681391 80166981 920250673 773955345 264375687 191399639 444793043 72740061 285733985 784911351 276968347 647595319 954763493 435698449 578690313 79899905 792464673 210609591 663009535 258906047 681462291 117702311 24600271 183802531 950081177 728594625 203306027 933278595 879890557 901387795 598878769 996725727 277962097 350675663 342357605 314762207 298618895 745343055 168262071 210507087 837422807 768539161 420528507 274690217 609423665 572148439 19376237 720383499 244025967 745621853 210245555 341948479 909341389 376256421 888203227 73031599 734532713 115335633 103492057 67330423 529278029 610202927 629303309 669060693 18216811 588144945 409319225 431036847 797988253 618804851 784600971 351703701 6954657 742231479 327477657 625311421 431163171 685439721 22496095 759856009 291506101 421335069 108105029 131124991 427650509 194065549 230228245 312191183 365008079 996733341 449489671 320596301 757819139 711198167 706784439 659121275 440895131 103264239 88639017 423609089 174970545 948533185 377672395 543407917 153704515 26367313 576420469 982746613 953679165 931425223 375182945 436761595 539863409 875293817 441699381 291215491 565389717 925620705 820759807 865585279 52095565 279806627 5952563 930080133 318973729 839446665 151325871 440023253 301018499 656379783 111259577 760548951 1912267 45841593 361891837 865234839 600268347 397028707 490991759 646414543 380213757 107334637 564423153 389596125 414888995 827948781 225433859 820422985 50299555 91936799 808388117 898221379 735632225 508351843 381321693 832798881 317898533 774143429 774732917 571686881 691376799 13688443 754760807 915248173 697135979 303570397 712947611 276523091 321659147 483547761 85333097 625475531 474661861 9337311 805178511 206866867 618440779 290543613 98571825 51754963 167688567 781664199 192556763 48744345 484957835 234882653 136601733 864355615 76060559 243891213 68671115 66759201 813817971 809830215 209930931 171363079 174554643 664981931 772505127 78794723 178010415 994334969 500087937 281227625 159568753 742790683 141698235 437444603 47969897 461465129 13535805 767996573 5739153 807828313 389651921 322430977 969346123 284115985 513310893 249198975 22963935 252631005 858605935 800136721 651121533 82993775 845445405 670004069 472548417 749755043 919118371 580947141 435066155 581731195 499536215 478984235 547943205 100891427 113777399 151686453 272843007 572266477 2887079 205217323 362163315 472579415 229007219 550018301 845320993 915803905 524499 78481473 667442581 428435385 333080481 255714357 754238527 841035377 69743655 604542915 313200759 702819653 292481037 1017209 709448573 457700471 706632045 389251215 341184895 112032627 177756097 641138659 944387211 86516173 975193327 46001917 909055387 642591807 686811717 121917195 607914383 648028075 596407159 204359141 621941811 986688031 967902627 65800973 156411701 912020943 289309263 357293221 497966385 452018707 235379815 904189569 795546791 201442415 97125697 983392533 641864447 10514831 523408281 409925763 252011405 334938695 425655957 691429775 411971721 783173777 502175429 468128939 478426131 261250705 481935641 13436141 483432759 329274257 866072051 5789461 581644003 673376517 459897365 715405961 691078387 614182281 297230765 614042201 442078503 192203233 929089875 191533117 271197735 744739317 746225407 683421077 174470279 413539291 818012443 787888229 222621117 815520973 862835571 241688157 704023855 250707503 115499579 993226711 76727073 278895245 919076113 816220881 955665863 992808599 253922809 567358447 274370619 515680811 254804067 637617029 969870715 36948813 575691811 68612233 910550901 425149221 52395125 480976281 632599541 820869897 616625407 427636733 127043001 189102965 948919503 827818147 799215967 919949577 894573915 806324003 56993393 185965459 448428413 287832765 266715747 374432515 383616637 277630809 347943305 105411705 578278151 148968069 317781545 945936179 32603697 92991607 689162089 64744353 202219641 794092303 223835227 934038099 439426755 874802903 491497211 358977287 820495707 88069627 381159207 384007069 579044601 34605907 601414057 235229475 918622649 500601183 406119731 593294027 6410271 805310789 897409375 677991663 560418331 905637845 920803243 978392085 223217663 123400839 687510147 186690535 744333195 228882553 164953657 975585335 839609571 36194163 679488515 948554243 639874965 650442981 303565061 1581163 837163925 454361317 452780359 463168445 386751553 781372209 238180027 779120235 478358367 536150067 634891833 886159377 112243227 438744569 394120325 46295665 785341451 906653497 563312965 303624823 799452203 324061781 382429195 261424949 727932387 577158227 125353809 348653289 819483645 992177121 601465 791285749 725228465 671154777 939874251 821482979 365203865 111610039 42739577 491032679 70172351 253200547 864658587 382627421 364646283 321397103 952945461 273648839 815717589 783308047 445647917 255904721 865213659 113843491 440998485 857071055 183649857 993492469 583467879 527441979 155561237 409297265 582522629 741209785 715015115 306349103 623048631 275840019 522567745 705089135 932758509 291816765 820946619 269594903 54759685 323890771 590591721 519337655 167992891 689609623 447611103 446668423 631478203 661674615 638201881 936447333 100435861 735198339 128988797 107243737 651947203 309805175 604244825 222033427 969575463 434266935 752230499 877229287 883455367 751864013 55809205 187571417 907014297 23592301 693496279 175011853 713825267 51242613 527450805 98660945 331974679 934563171 44557991 789150241 716882031 625129191 760660069 555917721 684309067 51931601 418476825 896371071 682318309 710053917 366177613 681990727 924364639 421022703 654848505 276986115 898237887 890983057 600283513 461934197 510812155 250415481 517574289 843701765 190773737 605745983 473041777 195630271 817059147 836650665 439302829 470249053 587039947 954258337 332755009 591579199 948291319 684344889 773740691 472913513 420713293 747889581 62382961 607834253 189658925 12862817 533423375 196572929 130343135 776499681 323515659 258748869 654589075 674654687 577250155 337958271 521483621 398086453 33981851 345344639 982212693 916882921 295366001 73555901 576702795 931488037 356789801 319280599 976474139 536877115 473932651 832199701 58243453 313807785 899326017 443089767 439415825 154376719 905891363 430845281 223261027 973627 284441067 751011655 466543841 839914783 122086113 145102077 471635687 103483095 361545139 352138769 307374517 65085349 297779571 132992703 748502131 432009205 11472545 190341347 862897717 279788633 118459425 21160707 515469043 623198863 463961153 382347089 515116685 279790711 428533173 451048101 921990095 551960863 147246747 406333819 832843111 415745465 344380279 5637371 79998705 232125089 202513465 246461431 234521067 535530073 425163573 772195811 705730243 770621069 675787815 183566303 835934661 583274257 268319543 355731893 849498671 162204895 398275055 177776337 329476895 960293147 124367429 652828491 716492449 378065423 569850775 110266593 76407459 604091951 312458669 994467325 73060351 174713111 524011439 587316399 860761977 72110217 668018997 119728553 337955511 795071857 343083325 175336271 978984269 337400547 340499753 130898599 517370801 102656281 197346763 345784417 440543817 773405303 830577237 609035731 433047129 605177991 828252517 759056379 859868437 959710975 105811967 872707715 746963093 821097655 553194131 817155769 436503773 386340019 302042099 397694099 106245331 619310369 964628575 98815923 656467787 88063569 366804091 278289501 597258747 937279423 299981397 644806275 626681991 2758927 225946211 614207677 487840631 395101451 346604671 2143047 4172605 339241641 479914737 678383881 273681203 726675457 713618789 36763797 992268439 928815961 287617521 698811679 187683733 336887321 954967057 455636871 343863871 612764631 858124205 285330263 878895499 274572623 949147663 919210425 259713629 11810657 262334703 50962569 407792253 57235483 469532007 95237445 251720605 682457517 800404737 826959891 32185941 352863095 965656741 777128131 686226727 960164087 522044331 422717389 789833085 517098205 274265297 786642255 63979689 239076345 846804283 53794321 215558881 853953097 672476023 699719809 79973961 167790573 430111865 203845561 86269929 740270643 561937055 963394165 713182387 8651917 558159023 593581599 424104063 400424855 639198421 136187333 659974927 591861265 208015781 655025437 538385677 625810923 792959777 290249097 717430025 861497143 228141481 457092879 294809213 11020589 591925517 446219613 172324043 364272437 407777667 383473867 10454587 674653143 623425189 84215129 241659135 808912839 752702587 81938349 566746671 770661089 77451377 811024409 996203725 426028839 487559263 222802321 207716035 12127173 496735613 315168437 406203873 307231757 380634997 500437199 559320801 331727997 104352083 467865289 45830245 464528823 30034059 461985343 359162355 280369541 255555577 50478703 601100545 423334875 298830567 479322431 995175909 971925973 189472767 683843647 723330785 977080501 300147285 993174951 778920223 700111591 967777897 649155413 978389423 724834559 532825375 908254673 49034891 649452727 451497669 776913225 433807763 65460723 157327377 418412183 70540691 523890621 158774557 262310967 187267387 342915913 450068081 321964371 279918627 265822963 31589881 944542393 145845709 912613695 595408907 839313887 864856737 373327829 192622691 281089511 579811571 859611787 699867433 904411797 831472635 738331227 551188967 458058075 513318107 288640617 801813141 573405263 748858265 843074303 738690191 971295537 29217323 437025939 543055257 231573097 855562597 896865981 123711201 535095299 348498957 813707587 843552767 360270009 843501003 49075981 122974189 258570987 76127279 2073393 420383761 497131421 343444401 59045865 126247735 141436801 992648375 957320091 367799961 471483371 402588805 234749389 411086031 703284703 539506257 483374647 432170207 732329217 128988719 149183921 626706745 745456289 634213413 633960257 535514289 84066487 313112347 392540943 711626627 572630753 828634079 243134323 184443479 262228327 621292591 933640163 446198583 393941559 763737001 316057605 979559065 349853675 671775449 550519973 141918301 940645567 342717485 748306101 795497157 325187997 669830913 753038415 200451967 314154769 219305619 274779577 65167523 789520471 448872209 858334813 374752681 423266889 224819335 323150285 790476411 597900403 4464627 271104711 265146981 101845505 8079411 495161899 469596443 879955659 425409297 862747143 519120825 754179153 139254849 615295117 538436041 855643323 676321367 695381785 81792053 427350485 454138841 280641837 898972753 149526553 995533357 468050293 458091741 773654949 722641575 926282947 802490623 795400001 763770749 421617941 385743169 20009309 659008723 444565645 26149529 34296591 87322545 832655989 663503717 659210519 144007433 444527169 916788843 97512155 116661429 384128141 802767831 347874155 394827379 974191131 626894399 602761853 584006897 650191575 38775713 38687603 403055291 481333973 785244255 426379859 904373069 683098957 714551883 6538443 118624265 217161639 903948695 80167221 706897209 372790891 192991711 525905805 7382283 973323855 815614253 371982973 916468889 87809835 597305065 493848147 104342757 163548419 664743661 695357957 685734873 508246275 830821489 336686133 504810823 914377343 385774369 262046759 335776229 84033009 658197507 172200141 509189719 839411709 580308113 364249533 383487013 68462189 208838057 382022711 625757889 454120759 98610315 990694945 918154371 171263859 869043177 139142413 135614381 846257253 2597591 213815599 207675241 109845627 828175825 797113447 33331401 668626501 935219647 231128381 575400387 21691775 337514731 112955361 600944187 519367693 514088973 217728809 855645433 160775931 543398719 247025043 741942445 665915769 747151113 554211913 277476597 137273317 991252313 560047129 783546701 126588099 739323009 818363003 646744609 425224125 129754689 244326541 829982657 920471717 439971003 410442263 155680615 203739767 543502209 771939975 511842357 754389079 654616197 872568821 817093683 573078161 316079909 965846563 955697489 40196503 692037413 66376563 195735147 748662019 850864565 727928825 334911043 870395035 818945129 542521449 475695229 596178761 202548797 226004261 628404399 706913823 707151511 978962737 100456275 256328539 912309317 530404159 536836805 329168733 710123133 722462373 646654035 699052467 518875097 818834531 45798187 196045839 750688609 210808865 705302889 680071499 439283073 716225323 282086157 441312877 134905103 198392699 737749249 945943967 145967177 634522287 932747797 720373043 581913553 982093583 890991619 327052967 519326137 999165579 877744237 734987165 994431089 643146681 12540889 837104351 215586779 707452119 697021117 353505121 37664825 307366607 90282095 583703357 628734779 358725167 174047793 914535099 79646965 726481455 830490667 696492865 275517153 55955373 68869233 250228323 674016491 75739695 631715835 91947743 458210393 692570857 211318185 847163799 468210405 310593453 451663687 587707029 374397357 85683709 225357443 327834125 425516081 217742337 684087289 627504475 581085027 161256839 757806633 806985729 176432279 349698309 572942461 207370411 127712907 222746267 656752707 264174637 736716385 56483603 866500537 37869185 200881321 466235609 31025405 333148107 214758489 422795525 746734363 720714069 428067275 483500119 404416769 465644181 952291785 911172149 919199883 102642211 143363707 528814511 731756409 118140611 78156409 584532093 98799731 557427297 293265345 121348605 153996813 500392721 952264887 249818681 165628351 301672975 917111591 212981467 612246249 981395643 630116681 628092479 664351189 269319073 648238777 929669729 469038261 627107701 492385149 692381675 94624931 990928405 569003777 76149547 875061407 397962111 971092249 84403481 670447761 909295331 420752647 115283539 750352973 971022225 359000683 70451745 461477001 350610949 777281621 980001649 836419049 798809827 279674937 684579803 250765815 878849015 63247095 445097631 713623585 392338739 226420177 43918245 105071297 612345777 721447797 295087739 862494747 583750327 621908217 500206935 558019413 480985773 181477595 953366553 727443331 709656107 679468541 227654475 664726683 621438695 848968369 95064345 836553345 139547847 639059367 672857691 711559677 890448087 262690561 273717137 185098689 534121033 829728067 456969185 990262631 904148857 746297431 995900955 622784109 683000551 964293783 515583927 568990015 475311171 573862333 701731795 16423471 140133727 776749551 135822903 610179699 502423859 311095995 314691667 508950319 163438823 339714069 31923259 975883883 341295811 506274139 909411251 319523353 125759803 793378387 552091935 992842513 134667753 605419561 65002639 823837719 792248979 82712691 345601209 417753297 786023459 15722541 183212543 116621521 521536429 152967871 593159015 3467411 731094379 900408051 878060447 829991027 723430335 119783935 940625407 708690367 745792055 448813699 374218633 348504487 19835013 52846977 280933855 437297731 715991429 396269929 433876565 652318615 980000313 999985933 631318751 926491273 408716495 429629101 408921885 821019627 6331285 403495661 539030873 147836791 977344523 985800153 726596479 978879695 24076755 509887977 978755623 802669179 587180983 987869945 45184911 33447149 838561453 158416719 196705443 869203837 637598925 219862167 60056045 366035309 584858715 543553253 42134695 825016551 380172995 876915131 646731695 599185403 506595225 187902713 523546253 7461795 399076759 514348527 238188143 213353153 879887265 914782289 804976431 720091933 770011073 27916607 3983947 461832295 884582957 422364731 634811879 742228795 5431869 378349107 73796567 956024345 349739895 568109693 66686609 309255275 615282819 810856407 284006963 200123777 201388087 243969891 486001027 628718485 777853069 175133619 15626997 262671561 934509993 118026169 267141531 927509539 508886743 680800211 243708471 691976857 367553927 903468741 115881009 439886849 750023769 42034367 950087317 857721885 947185675 917383251 816153885 962831767 46460045 261449089 865958697 424185599 254120943 185682093 91898045 380352975 444551023 726095269 282171275 353070951 916067437 724621469 32022505 225545235 562782583 147399989 306814423 330278401 685835069 791303021 43139579 669968461 802821535 587658935 224170149 924582903 57223837 822740711 167097549 737667303 283704673 999099195 587476753 788296945 477822787 851991893 344464057 46031565 541544633 238309447 349412021 800824093 840390251 534011265 905624217 223643495 153921057 818671589 923065257 564952351 204732877 779721909 708313543 797830815 24235151 756818593 744891527 66950183 820380071 605530299 101357599 430235361 862473601 158704515 52197485 346956763 765073071 341033949 499552759 623429907 301186287 342390293 411738863 247688295 922564643 894115555 252916269 209821347 881512277 349226595 298901037 671861365 977499577 34177819 27280919 961542521 82598315 383227639 590291645 316051757 346691501 838578765 441840019 227106815 642532715 853460697 504901561 206835773 271787703 500481217 48063225 548450591 789468303 681874835 495686845 223840201 451441173 144857925 246733089 606103621 389347219 935232817 181398499 692414081 922474877 42434847 166032745 932731223 149009263 68768315 78709699 875947915 216920365 635456029 650681257 708762307 376402335 478368701 680072569 958796947 576904155 580932741 839950907 663018355 30511131 660068671 284528287 985308611 763559619 251486499 778023929 568914125 222297949 989091533 262119245 285307843 145183645 533685059 928638015 662881981 18538079 264467695 97451037 423750079 3617959 952677547 456581347 74562991 659867293 436745393 883664429 932172129 546480279 268002727 567977025 878601867 392611855 494528411 226400529 783448273 874523817 807021825 196158773 592479419 123009329 669509559 688524521 435440827 145603735 229846019 748968213 506048555 963848443 745589649 392290379 2786889 981446299 258908279 641805247 799762241 708643047 580185651 951001169 955507493 514467695 624031399 920958345 907787499 903764719 542678821 738837143 183853431 894005323 876460381 368921425 910037137 466283407 483873905 798322999 797060587 719035117 121402851 901805679 232456733 775951807 91514019 755433673 173967275 387919755 688309251 527923389 856576507 759002363 996563139 441248873 103133279 115797217 388646919 87717525 652415761 124864825 317131357 569067439 767872563 327505961 420451001 769616081 228907213 557896439 627291513 951460023 191793617 814792475 631783777 754890443 272303895 799823663 360898721 806427163 177419361 514553333 29428685 817039965 254592601 685660505 540370657 933965555 424895887 935344493 445020741 249870307 218690943 166980463 541053891 206768347 388257157 110534847 417896337 1352755 948818415 399482859 518686543 362106859 231079149 246042021 222814463 737781929 399750039 493677001 652012047 799292607 174231791 47170137 977077333 494511393 678816479 620547713 650846991 972288623 910873399 565186453 937547745 585332209 644854961 484103693 571429335 772808343 61708783 830805137 149811305 172476919 839740025 265750249 597219955 754680657 364969407 689199369 717874491 836152459 905302045 844517901 748655979 604393781 249311699 257353015 271850013 159805831 511561227 882231029 621107659 541479263 64101333 951068117 717013339 3352389 775591723 451118487 337820955 365721959 716820975 3770397 102004159 30103199 428027111 839377521 377793383 22877033 764885705 64154057 448197267 797757679 632630571 948507261 949858615 314614269 161720207 730841873 663677859 771328015 311714909 214747441 677481365 650246209 654405609 497860785 530576181 606287449 60228971 817013899 675252749 638029769 303884805 582257123 630648853 306306215 4751805 699626245 429463207 665769651 291965577 651159137 95433101 29882965 147941695 525045141 814326255 27153817 27843231 502633061 49224551 25480505 824578135 516068281 988318445 710761365 159460853 280461481 846874603 574378417 476231667 409381739 259962157 713333823 992947377 903276133 151514599 370173587 4048761 675384609 349604023 878883761 759758207 464143189 968729251 964982077 97368281 877959129 592120855 299963015 161217927 81850291 275770345 112651655 961575543 756357901 601734741 560175067 770795127 746098233 623893505 777267659 578688319 171539123 314069245 952782661 765098099 739387937 38747065 147981027 428424349 345829193 3532311 97862369 171931691 586632995 997036121 313962025 277812857 310172617 49565229 183936839 177819333 68324733 940845481 195692919 660350269 249058217 628264011 578534803 393769455 194589669 864710647 251723047 803743699 366582503 83062265 690172255 409569741 140960151 922551817 21391891 607928743 782446077 126881091 160955075 817149711 404360269 105603373 817786261 83829919 63804897 128991409 959521883 943453403 729123903 253353769 665463177 55507753 856583185 604617551 512004927 112736989 994382379 738189385 168993349 566286893 910983813 477202085 582320395 146038077 941900103 37204825 956740263 756245271 789370297 466694847 311838679 94588073 911058255 579187615 217223687 967445965 74376869 94220325 437382721 59870279 782063229 682575591 700646461 677360317 101735107 448265699 721565533 663465409 28433803 491450747 85348775 335313103 393637391 501693311 681930441 70064965 341589939 162010149 379129629 349923181 265467649 943612681 13530783 688377209 312857261 818487855 144269817 786513025 253811859 440707335 475976057 892610439 873706165 413125987 621825045 302983799 445701697 140884611 864639597 526507293 562561669 960430603 289375691 301345333 926200835 645916937 366737179 796486241 246700375 675849457 155872757 604013865 345258067 712510113 410364825 516635647 201526501 640975711 574263789 432347451 781236267 901203927 663931011 26991905 863319401 271468319 522712463 824462551 927029511 543119795 663198449 808449903 403003803 226280057 519822129 80007395 211230943 795969473 833599103 284794133 187876023 408648763 961108913 350859981 740796463 934817801 470628677 911937725 940723833 261501869 594679909 480582269 706554863 206160149 755395551 514989455 399401749 100419223 263250219 771221085 648728985 227775985 177448807 899344695 900334923 621228359 376157275 612654423 907143977 612732455 809498485 171875807 239433299 57791621 183928525 16175319 321900309 468261821 870655525 871958575 168849893 641328025 809042911 967661765 764021341 196952899 391580687 283020117 95185469 66488911 120154473 627498379 710708853 263567295 253363791 489524471 400487445 156912371 894824389 696989203 752703835 71735483 222490237 318997823 94826663 378235979 138109389 218548679 530333063 462325827 66047157 151338203 214536621 175272355 854435037 910913683 573548021 999366367 788278673 657220337 375412577 165166279 331670731 734618845 915026971 711431577 785206825 299335467 38673019 670944765 631075315 668659603 330884601 57246205 984117273 873409975 118014007 218988049 280890673 33846813 145926147 763568149 247180153 619005755 851673167 956388429 715920347 27804263 183141687 277525609 127794917 391292131 639785725 875947131 198237135 758209751 97227021 874698243 823525239 645837911 187390715 55173349 582024035 423280731 546184575 276934767 280420039 883381701 208927617 143485525 956291445 435937371 634485001 634600885 48565487 183112147 891750987 640854549 955728733 911335105 222898851 491730017 943967373 733513131 941925781 670631919 185273077 722139641 663770569 207593339 749070517 742271739 23164949 260656685 391998103 615664361 188418675 517313679 614674183 463472617 595404549 35805081 739526941 991358207 302888219 837945253 575770009 357462303 709931555 810294139 555237345 753198115 145830075 68033865 106158341 852597707 431220647 16041889 174472893 302779071 551584975 794365571 69255271 994509715 414745161 86619219 74634763 343190975 799009615 100135133 248143193 678929059 275654469 331181145 772386983 459708553 755447477 684622947 914705907 926125475 919619157 780312833 354149863 949438731 921813501 634991517 843297489 635346881 591591347 501490193 279158697 856026541 966452895 177338263 552022285 579808419 408503319 187552215 256508995 214259033 793701527 195070427 111148607 427418739 403137215 652339481 958796435 167743867 111384155 259604079 196828801 429414367 467374945 421085987 424285681 467449 609806057 720795107 398261359 612953101 866222649 416369601 281468471 109584193 552555451 758945595 523632419 96087209 685479937 48950585 912167359 803586107 10051271 808802309 127218231 776907227 229474291 250011223 477050211 408809553 919456397 97722443 590795201 848696399 123720647 175003749 668427389 18194287 320269825 522714773 482182753 787888943 602868155 72555821 390469351 409904123 220352673 236556781 860941101 838180389 59719301 415642361 535453435 229252323 781940325 315850207 291087809 537630553 365809505 539850387 507181459 700331407 396523975 892378741 107338293 54096247 624129033 249047365 2190347 577838571 637640131 403278901 156901157 231486889 220313783 223214297 588967481 707037789 36841425 375413807 379564457 716476311 844049955 288613785 314733179 246137811 533493227 717909991 433928029 417089903 498536843 360953423 114985383 231451061 731152525 569470829 177847385 827069909 216179877 311859781 895630619 692368365 373643951 408429893 232919867 709870585 303425965 935974213 269878959 157420773 881366475 574235773 248271639 665724289 696995165 572371863 735374013 296296327 996069341 605832863 372761485 234411161 330973933 224453641 926047775 577896255 523135837 776176563 683414705 988420075 531190299 5809123 82671663 505529333 309455173 485306435 609236259 559932575 808779037 102113517 987079879 232239123 739031313 576666459 364213241 191884897 50930863 400494453 143947329 691883651 831420089 867307141 902873293 475129179 867048971 842288193 671118711 923319985 56086711 4860359 742522813 483247669 211823851 693148317 593230787 406989443 476570117 320973745 231107421 899174939 401950089 159102549 276784385 538359911 35934751 568686407 337934541 801137847 287721117 26126767 851151239 192201029 707975423 140242969 199399841 953889331 714837861 944638839 222004787 673867401 717645595 442832427 696676857 575244599 473071511 320904441 765144667 123382809 174348145 428538379 110193259 88609007 651095919 39980539 420445149 238234211 819877241 279924931 921056275 48063237 686282663 604911305 246783761 540336719 936051503 850066395 608781961 500899233 779078519 999731245 322837201 497520455 693299979 434905437 231954921 413125999 990183069 333969777 932507767 734925621 25828871 526724053 54251211 434001817 454626127 714792031 458938333 329094789 397208991 778573387 116930123 712477641 69775945 646180161 530876765 779887133 172348363 872212043 780993537 604429351 704526021 250308833 209873361 918463851 323328261 994503647 464056331 108318559 889914493 151901321 430685331 197613655 76613191 504244109 855098109 917248665 33822633 440687619 241125247 143312205 354755341 745653859 322658293 979282819 622389511 986917271 910009579 539426611 615853393 60823019 140420237 996961347 861040589 274651155 612125109 169647991 399491465 955570221 707026143 205876611 558893495 111250623 692591923 656311809 572282547 743025077 278627203 568894577 943534847 135541603 169564483 349194555 424735815 498890635 108362131 774082739 515442783 650003533 547476029 259737615 400802369 9772345 638148779 996964469 692313871 600931907 18334457 134842857 371346713 393298123 841839333 474734687 972629709 281013395 744222933 430356657 975939529 110930633 343148249 810529693 422412239 755469571 150544809 688452305 868553163 765647935 776179619 434438105 316230353 642209761 590891983 550583091 854960411 892899509 183681757 106207037 284866317 280287731 679727137 129785665 391654449 326808119 543392415 219842673 796453949 808999557 801376763 725548263 246070793 181318477 449222531 883663009 663921817 757049699 378073907 790216331 210044955 889683203 254013095 894852983 73279199 30587603 41909285 226017051 222195297 784840417 855494047 551602971 386273861 931442593 68907949 726743041 415125333 248333553 149531275 115771 353552007 263952663 315957025 667954467 952616435 21794239 849922561 946858491 596847071 588432127 424616543 676181229 119716275 790866515 272812827 407118347 643852549 838991267 592790973 289368139 379025553 669082681 284545909 530584721 262488375 842221005 308630041 446167717 420684035 708406651 747337513 312358457 285712427 261205191 81288907 529634789 208032265 881073311 976486607 91530797 785403933 610714715 834050989 664114295 758126871 643489461 309413763 26910229 721967559 86191827 977605913 73991489 578282027 881425217 673807069 865654301 746190435 34373367 752432617 698752433 462014397 773627985 532674809 467995375 481309099 917502485 557706615 368329647 779459271 965684335 301806193 528572339 401659351 567076853 574270877 746469285 271146693 88156323 314589789 432662039 873325477 592020703 437015221 892614783 176819119 36693111 552671321 288920127 805786699 975224737 775273883 257166243 952200705 890250743 336666749 656934619 886679429 465494913 30322085 195944703 143302833 299787693 415683429 86517009 395007371 405626445 788922545 680677115 582572349 445800609 385643049 33110669 993595675 515927627 681377045 130775681 787116447 392631389 314112613 563953017 154458475 733765705 191137199 911559933 969457231 566121197 785173043 476610685 293401657 208118157 52991447 878562389 585351751 431351001 807865387 967013573 42471867 659042787 390712167 618156791 116566273 411944237 764705641 737079803 296031405 953128855 445023929 326434251 974863993 736568689 732878213 293980233 654352967 891484015 165406375 997654587 553819943 600026543 435402907 302246487 870387783 453659831 216219275 952100403 225231365 731271795 432932675 332480337 770494691 776017721 22251071 635684891 875583631 420457159 62099609 717237985 66227417 161628479 478606365 251359963 123127997 9633331 80528951 492970799 969933663 627040147 661710591 612942817 784805129 75172033 453910581 578787559 410315313 799752063 791195201 294252311 658255471 69426941 183571759 262535987 25812871 531024589 878321081 744345827 260452967 418269679 62719037 173856699 942309407 369249223 254000581 653868595 408334059 122888995 461637883 962675883 53511983 178756919 924920635 96575599 254957687 419822753 285903747 400272045 831594101 199218279 459421561 251682689 857249795 323790581 996309101 200948969 744420903 847165215 230778967 339560915 684898057 788940583 560412885 367928589 428332287 1891757 276339247 967533135 233279365 730406593 262693459 303905599 703081531 419813593 417625051 514036321 749494767 279038415 260936451 799639593 666157459 532388843 492457653 907927537 527855425 197188827 663433597 522203897 515021631 465373873 327024279 581827433 431769847 55954157 5586141 543706453 23839227 69336945 118531547 784560563 206128393 918870415 896238269 33247079 981572353 769077497 33766235 476565051 160045553 826599629 122399541 552272349 490901003 95063695 535774321 213602023 577424043 106357039 250267361 599398877 686124883 456614913 935104761 415594021 83799215 638469569 917466841 881368339 339244945 833696661 643802953 415646941 459833335 646787083 520019641 665756583 445072897 806349335 434018879 577630843 193533693 154374681 635338905 282922055 804450911 89487569 817737009 35267813 100307133 618755187 945364757 58387993 20904161 511147407 15000573 749042313 489170097 943595043 82477895 541298887 914745409 584193175 572023035 221761615 992993487 496469173 860694215 681934463 790155197 65703093 49430789 601333153 804436373 937958963 523886001 60143079 649635083 322307891 50952053 651404393 619567611 30088483 508796573 968308267 294813801 180475355 551165477 536227091 185359741 460787349 457909927 6618867 775005325 727725815 539213679 435211909 480681491 962613775 194188137 608291947 914278067 127074129 428851757 707589677 676483127 113477531 689211643 362514237 700246677 476516915 703627193 684671987 169910501 702593989 82297849 734745747 177629291 128335717 723367407 834228291 652147605 156624789 708055931 184706069 688259315 12879669 324339493 110600707 483635265 424206485 387547421 944274927 380230499 891967083 350140985 292849825 94219107 802659537 527783159 402824395 341782391 498760273 751174785 977822213 339324407 543145171 617351077 720528849 323357545 581756591 862746587 734660761 166609269 68763043 18393153 323709101 640546291 488824787 339969693 796148039 707426265 342721739 361666147 965320073 138772045 686207107 17852837 745016187 472905627 481933911 768491559 936400655 691928629 789938701 876157003 145134365 442390453 860057807 535590949 287750247 502674401 339798583 208690793 622670999 394775457 927891775 413571961 701877565 636543501 381636941 599633497 36306643 524075355 784797487 701983163 559400377 202184179 790832155 16550645 401799483 721489243 946667691 692379911 273757321 567707979 715146215 959566743 727611323 512834717 871320635 536826871 99760339 791363667 988391549 126103067 419096249 959190169 705263339 549622179 863763011 862264257 562678313 887020247 338669859 413215561 374851 519225255 727582465 217167569 59463601 256320681 967877219 32824615 508613197 727523867 358284217 466801469 193174113 992449767 364476511 917915951 692181397 938873243 842614677 623188799 596652035 514589039 886775685 248715481 323253029 122320191 90516029 105952657 532484833 43909271 81514683 807295009 643761285 943499429 271716319 859995501 889390021 296987453 333430639 976396159 161991103 560306145 910563105 376801419 585501177 905835705 291270537 895723501 284456287 156846993 16698669 298019111 971771207 782590693 434292597 845384421 62182509 979969743 155493809 291682811 583635447 768468507 48668697 389021795 354782837 263434037 416734931 775174721 24832215 803109173 959402723 337629919 681521535 544475 374388543 342568369 906745647 213887373 467933627 384698197 389889045 141526619 620785693 106116745 597578953 177007869 972168971 295929147 241641283 271446737 224823577 119286655 380599277 624786399 256599999 804012175 897619603 390144983 546545757 895283663 469865 659085071 676721469 230816203 726129677 772191621 552490131 969972531 973977731 52052451 396589427 950794727 284528187 418458231 529696483 354782181 765914889 520223289 27257033 148769373 946997289 228480455 813080313 199050911 434141505 41240679 469083177 76614439 141747551 26502925 736839423 196751513 906429945 752875851 544000767 360537281 547999721 117253731 111474589 991125391 705775223 730721853 3480883 263289379 410474575 999644773 70790655 103664061 537168007 587038487 246995245 73228487 501610397 934646317 834480591 689519575 982782069 667718195 155069403 306606761 281227099 41608531 530145077 409560861 939379975 452974699 472919719 21885505 157770645 548213747 77730015 336080199 243184521 624525593 933984119 674254473 126358739 17724583 970472433 49812109 242549189 600339479 925990585 548834045 402450975 957904007 366640667 84502955 962507269 975968703 904823635 260990357 698153221 489429295 599419267 416301019 137390355 680450795 227516085 141970635 861520781 242841783 884100821 240683735 987566649 174333175 404418243 246024091 845557315 941046715 352798011 925224153 543159617 412213177 319242217 724211581 11346479 97614675 842475615 871081115 734585461 116381071 213950739 102588011 727576797 852494619 125086313 438213461 251602079 885476687 691952553 873085153 266295381 493232427 383424005 799757507 92459785 857002583 627839381 208038871 152433955 817985057 144248411 430100767 82006395 296973951 908401473 44007623 322781263 748606225 236073239 144543523 890472515 898276385 253245847 803206061 533005157 3293081 534829667 985015817 133401129 242001429 415442947 641124097 889393773 753814483 985582313 850778505 190775925 389225403 244621933 824643517 130700785 899066457 880417233 240527841 205308149 811705575 726158655 681767773 154699517 28129859 353121991 756023751 420706287 276669941 521053027 888183257 283514137 974637355 992449525 821914231 442167345 32218047 952321093 400100267 280501329 898468653 211886083 129045419 685705985 974786463 990499277 822692815 442269997 894222563 275589663 543716251 191507499 61730673 150060131 814033853 324245177 699733861 544341997 691217669 641554427 53279115 941840629 253592943 225068157 173233231 177705373 300253983 334060343 981054667 298513133 410316641 762644101 239298491 752560597 683167141 881956651 178796679 516122161 109606027 702929753 863390785 796221377 393372369 123207073 678644381 280234799 83348071 970232323 731373821 220083979 754613085 481400549 521178981 881310927 889703663 99878927 990376327 395234267 791836803 11874749 900964281 399425147 832418975 755278215 445097979 119656669 806945275 361008501 205966067 274132509 170846833 342162675 204406001 669821755 735456257 579587031 747133677 201403425 833186267 560179037 925825413 961775263 258857297 298938157 488159233 514335599 926252251 758571089 133012815 185687345 201565985 700374593 757943049 684944239 636348393 853007319 556222571 945897373 876978475 105440347 795037535 529754129 656310273 258107003 454110579 300539147 263995821 744562505 522688735 620040121 421218971 100073285 251611007 555037993 89813341 320187219 530628063 938594131 178160561 98947521 426355755 270729245 850993017 507685187 824914235 171160651 926033855 220974583 676760465 755967633 133914551 195649121 536223823 117086345 199918523 739752561 554644041 427787187 227811923 19635323 208679155 446956151 424118565 572560443 954893165 34857769 254334981 24647129 175750015 812756737 530345969 15917791 575212185 388345631 131667979 141192515 366919889 494037901 546733213 371081315 779408359 506720317 960246299 870909447 445066817 101119497 515489313 879655255 145958895 810302895 983833713 373410795 344453033 156063453 879405049 47293121 366744013 715689247 68839881 833597755 407521635 481285875 512676893 292061739 296211739 756361911 368485207 138949315 825518153 709523381 378712327 859877791 34891761 329227039 881483995 57387465 591411125 642482447 176280497 696203179 501610729 5720963 424771725 813744153 340166531 133749609 220893079 867834195 617023775 676816269 602530597 366359549 6802953 881979309 14395569 260122149 417783853 245513575 971702751 514159169 506100259 467923781 538420603 264852011 237788717 586616249 333582453 880204331 302361901 159901723 589116139 46774765 280428469 245664175 55203105 777308551 167381759 279888027 822149249 893674101 470888933 292901105 388737693 87656095 259237873 950056875 981703217 948752719 733988435 537453483 31815201 836839485 717098721 475365561 890315897 547570307 958206235 747791495 335388523 980567467 580375847 325729199 76429905 950962333 824168149 903781039 835335345 82334897 573321885 847731443 740906803 205653157 663618717 901339083 27808943 226111389 614085533 998146419 889048859 568154151 543797259 954034183 22343839 241056567 401839361 767586453 525550721 706379051 715432251 484433421 654083129 468025545 329081891 807172679 630470753 62651453 588608711 110513927 518301115 606502939 741342941 222665971 891621425 838497381 996558279 440374429 467298779 897955195 901622153 468058495 588232177 334360365 416320981 746982651 31958485 802174897 476932355 149420377 637435413 606850209 769522959 625171145 549044067 166184453 458948257 333238887 122763163 802212169 729528843 712542515 35654847 422562885 494025793 63716119 339769339 566693937 51884515 866057699 667234977 148149943 664134713 810328659 20164399 165757155 417666611 16673539 438028871 787226151 461998951 891592065 568970675 852628837 835800341 923859261 447656807 516760545 142341923 294371471 180055167 11460167 365096737 267491257 942234173 522653611 365838663 821976547 606957837 96181389 338525555 91973153 817930627 275053521 571618347 77211243 651780441 238008261 376608163 322378403 302665331 702546207 350757549 388347793 366848987 388695033 836388301 240932837 546697413 316702427 771227175 790080315 603773839 423610801 72355977 92863763 463006391 686338769 144879215 322308567 363238379 271453687 887660275 265490903 795255551 508795211 142634465 653365837 661129965 897832535 285288101 160847449 600940761 370300179 509223255 354693639 671093519 171253979 604434359 673548101 561333247 798213491 923014701 299994863 206809415 638814729 589806789 779269573 268429483 574939189 583673401 670749039 830745875 135582961 677923047 728582529 800564117 715877795 30115289 707258483 61865581 530353943 579063737 854956709 448225275 851364487 126452707 453900131 367588299 400096395 74949973 536867291 945679251 848241705 205555637 709517865 229958187 223210449 242476627 592184397 909388441 348284503 156050727 318574895 829724935 287953911 869926863 982536611 334485959 730752857 784749203 140881249 108254293 323135623 209370977 395040777 640832087 397447671 243523793 514941477 969122963 619642249 291531045 303167015 228720641 879394175 903303487 260163945 831905979 977033607 673740211 24340779 724223745 729806777 193071543 146568597 519931971 655963533 403537447 329087163 917306899 578942189 686418063 343652243 250959657 162768677 778078235 6078211 452198509 456200169 994285219 780948175 605685733 151371349 594185639 345127083 989609929 806292979 454769997 278739761 884723059 331030445 973916519 15493855 23270501 173175511 541373545 950311201 606329675 490004529 981111923 555843913 751223033 435936993 340651085 710094223 991282535 97294705 773031015 328561683 142518461 3274455 904583639 293577695 127110211 303320945 356694363 462748133 471100269 389819909 405973085 834221565 872675031 575403199 119515115 95984619 25125699 718283317 650897341 546423381 450503325 926944357 566244145 436715471 333155065 743639985 239814735 715196367 517256081 64975851 765670597 236967865 324657095 696290629 333083373 794666453 534447147 344249179 887002307 467859541 903417707 713028663 711036145 598602833 108946277 617199937 721006531 799312589 992985627 915634259 179893301 595621295 238078649 365047973 493532897 397138633 36549267 319007713 177572115 821070039 398218275 266339091 759283127 399679605 716029965 879058863 7602277 310670641 590318109 212689045 930483293 90976379 171034179 232815877 391287685 644477101 544072605 157694897 584698223 291079685 988918639 924576173 16369743 268766127 719236641 936191349 190610949 966299835 472020041 149030897 803160345 923212067 389612961 402427755 572512699 616862409 262270989 81458329 440943295 580988021 331627673 820724123 523904681 904457433 244106357 728276211 618602141 12424589 373416449 340437137 389089643 373622803 791169467 826666183 169648267 621577941 4342611 912684885 488870683 190192675 491266713 359558749 862893281 945623865 147763337 957354865 628689233 562381107 29816905 248717955 363563645 15074847 728118815 973037809 928070695 61543405 695505539 151415935 915345079 972887413 993568013 889466973 446818363 656690553 978044291 754029087 233778025 529158051 17025231 567576769 531387555 234469763 356683779 801171369 126227693 248798099 157302621 516120485 640953081 169878069 511569725 178917865 510307869 601361071 547910961 280824597 788185945 668744247 564297451 385362987 806560339 461888739 811665221 866705817 600048221 218287797 866303301 822783541 999805803 671725719 259679509 312116285 95696157 808663385 176431369 277439059 347093435 904263349 923177625 566571657 969541941 865208395 56076141 200612175 834043935 272307367 235088461 461665927 521753277 93723703 679965229 686253171 188621299 791250007 872182569 368206531 704017489 359261767 333836163 521722761 726383375 559518769 153841319 927845957 52484361 476463653 983667239 981051611 889235403 21230363 917393089 769018009 638302337 563540985 124988247 502763827 819953413 303838851 283832819 771073481 986644179 528718959 607229641 959959515 402646549 396734035 764779829 165826139 123524759 491330223 37339833 154334877 74386645 335648497 98264067 391640927 777860329 423727207 450015201 881745859 887613855 854205259 263308371 26664537 61990755 240443837 51855227 261596695 42955597 581873351 367295651 945639255 176282653 508420445 180267329 704422115 504622393 347304787 700320237 179305187 831399857 793138799 887306091 9337839 987658557 144788313 308849577 737786885 232107323 184845983 806903479 473084297 884909491 766884799 643217873 324960839 161313877 138093079 969971803 590591095 138209655 49956851 281464543 752070581 212540695 803891073 296900627 767858183 806123487 233088475 541348815 350261977 290066973 897331717 714928665 661994495 716231881 454547941 856523801 945396923 821180031 483058511 597309733 489994925 291171979 79447291 269196215 634215141 941373915 629819273 711875189 867406039 711364611 286441091 274106149 370531683 208740933 318610779 765239743 998518219 565663881 74422891 387592027 794584765 990207067 867183601 435554111 644203855 916992503 582943001 776527829 667934719 616164663 566954229 199084463 404265391 132142245 745012093 112140425 326827697 926396017 663425169 375329865 534131637 947197809 692684027 727422453 706569949 491510309 603343725 384421061 184003245 510103987 870281087 54778131 24113935 537178349 204244661 446228833 126642781 919148871 21894517 136419673 101317713 705293793 868790289 34963155 554273553 788186243 355711429 533964997 520096299 109962395 355484591 644053079 771899283 79673411 629148633 449604561 499072167 174572345 764233269 462524327 732034349 664932323 417829787 229870451 161411665 464176719 914463437 211265789 567769001 240985913 322311541 857042217 236210225 871673597 583242533 706025233 809187665 150557347 908640851 25238253 744734163 916409561 327093603 693237023 304146669 173537527 564439453 446092597 557762879 761427453 444086835 378791651 999634379 915723667 489951549 62592255 140355841 347895045 84678333 357292691 57312691 369953871 239846813 778399685 501068321 206508299 595082413 163429611 650495215 813810051 21926313 867503485 95755817 692795303 415661101 829961507 451167303 490710029 901639367 738686629 278213413 228626677 683156455 509484793 601221385 859509061 735256293 498403895 540970399 30510991 509436163 169327779 773359867 217044741 539526251 501713833 28257951 567794317 626774317 419757789 952807531 110320041 490679365 661807353 153166767 700422025 362598543 350514401 511259679 863939591 736594393 531808929 268317403 717942943 469269971 400239721 980924261 44772219 304832789 351508375 59379371 156574825 849618465 646664111 527688707 824578529 899257953 124800857 196796459 941372927 76661541 202230123 556794437 922758543 985432231 499615199 341957347 987630333 44517127 289258203 725785847 212938595 13862737 968350117 156760799 59836285 217784947 515067317 109653343 443767475 713096265 445908899 654173863 304619031 506293907 157726261 653119305 515955549 297483771 4561747 845131077 861347813 998744849 421802259 923459327 268495801 84435791 571792561 80863301 299094661 429390357 245824397 22184267 427519649 255760815 284768309 96867761 75760651 675433037 125172059 566897527 122782575 674535173 830007001 105857039 573135127 500946653 37687477 476547405 428711421 974815165 982877721 738565231 699722431 177089909 709776983 851678999 451612837 923005631 591692269 76082263 449947805 648970299 223470971 847360927 793352257 849092469 90592463 895645137 602960077 365009883 677126107 438752303 933489707 754563529 458505657 202375017 612767209 787745663 821210543 228269713 326506557 353492517 76797991 309594151 687915273 878422223 644654005 194856207 170074835 718113141 340871185 397731733 596940233 857308663 878392611 420183665 357467331 233349407 451218931 717698495 723585601 242185633 846494133 18002949 332951403 186066705 422957765 29201711 763059469 456122101 31984549 724125587 522045603 936643507 426924545 394691309 637550919 896408479 308942765 180444515 853637315 225811953 412751779 352337027 917188743 948572617 227298053 986101827 281711273 575530289 497027105 424271869 262821609 581273627 851780459 244772729 616704429 189754209 558354043 124743651 414262021 601959875 34639125 5462227 717418409 778513129 187670053 755610945 267486711 472070247 357231295 63336087 912612087 696095411 180454685 612628895 524384599 138055217 284810147 109691793 897601137 782371881 877964763 7803657 195746627 808897485 298945913 593387789 828256625 60952887 661621083 859915783 363111503 808570983 693501055 401215697 770013139 575641669 283723027 487449509 379858329 59667363 930612075 355895593 958281709 960308797 749568259 377467243 167743163 281088945 373028219 479160031 831707803 172155529 760753567 969242979 566688205 33034039 207919205 376570685 109662521 921113363 247952357 325073433 125547883 200767841 645737059 446274061 810367901 364278343 91197773 997328023 124729007 438143959 256558643 844098969 168269861 295628557 923855825 882465381 564302641 801744069 29175565 827987115 201216425 46746831 15001581 414842765 215770893 873667797 512438441 569927821 434163587 603645815 320076953 507743387 203004123 24367409 289722691 366561545 558854541 272909167 463459665 682700951 785383351 654755713 823673749 394564201 998361633 874338211 801299469 400245517 118961977 442895857 464017625 239874423 386483737 66928505 360151879 2322437 508126077 884267307 850341065 865745787 686516431 334011103 2848249 321148425 863315229 99165785 617993629 984463939 713777693 840618559 124839327 73957413 954372913 377875235 670916625 761582103 997103197 745799295 487635505 850479075 140175187 455245237 508673375 970972095 947313259 69699341 529619497 246768971 200257953 361351351 452382529 669548169 163311517 908130255 954899587 821102311 938815665 511146839 406572017 285253179 177680337 628024627 573828279 468428227 768039325 50614587 712094249 285693219 400130397 947077155 502253249 949885287 787172865 976484493 255915297 84438023 288833311 695778821 430677783 898840543 609444855 215194619 962652311 852280371 596061807 412526791 443424439 553334195 227309079 772883115 805671105 163731827 935961381 325645521 386414875 632795631 512826235 522915913 54327387 887500301 661232543 454785805 134117435 492659227 684558785 950070525 404995741 832474317 693489333 499479781 398086289 708047427 160418047 731192179 306304325 178020093 578331585 689284675 822996759 793246447 577601487 776066773 291025545 217841257 692008607 686296467 362413897 190953769 839601485 95832781 924526887 418557271 348292517 215260605 375224095 102455421 871656723 47010691 762241621 731077779 367748527 831397419 470581523 324612851 514711865 189280675 710930381 514429287 902136343 999838407 911075361 461198103 643296859 714801751 244320205 517281693 447568057 192377339 235855297 863013361 731832721 493158215 907406605 606092669 636073963 757753011 887545837 228392717 327616119 171558047 648258245 211436501 776590987 960332375 579114785 889797235 507206951 245363465 774360753 622328301 23348209 708076753 959117397 442715823 487736889 644019631 163955467 296817039 656396279 968068747 81636099 104446665 956131017 456476729 560423053 702146819 318765813 682870385 615025959 10629709 567933039 693646547 576267889 356917527 608873929 68684265 451554105 326736195 24195911 631184935 516163695 455638803 537913803 854641889 297442867 783062581 836465641 695345501 455471301 244301503 314998485 347203521 927380369 665666607 642336625 514947617 82941993 106833513 365146947 6410613 123199819 135664313 112316281 215795869 149832151 891338967 459510763 99876707 738544603 685505503 182173209 496591737 664479113 529729367 618908201 280224633 284372539 599508521 864163821 605387745 902634871 615212975 647201241 585392671 479778279 39252131 265870349 902706047 311117407 131068971 30546769 138320447 949979353 441586901 400895509 604589181 42802039 117802391 28044143 125539651 782643079 618966219 885326365 867160451 437270651 463605049 649759113 809999127 221339887 573260557 874903745 860188605 68887461 559843549 183727485 807836193 24769161 381391013 336273179 698660565 126735791 318222029 381883811 325946191 863934033 402478367 858934467 17900275 655680979 997343187 780624085 655452169 460642495 970963589 813293525 247668419 592937929 215698233 674238573 185885755 14593229 983475551 780910313 484723567 875998671 756352201 476895301 221005387 344912887 768960183 888151835 270563999 473183387 595820237 370462391 602865959 416920117 454378009 507527685 26749569 244430697 415600655 246222493 730226743 674308609 871345549 708407231 30632379 116052465 58099161 248720209 391691109 368705623 630343583 122353379 87048567 256797809 790407669 791215789 202046235 521044141 849833815 421002895 837814113 402426783 78680747 995147533 483424837 171348227 81666625 605310553 680807843 418940601 34284745 939820871 644330057 42074061 252746341 735240795 737915623 980534133 971127703 390839993 546206997 307571721 364406861 945010993 328112215 524720143 358862045 437265211 147710737 358237999 899893509 241302515 175846811 102143295 439649513 455614757 79385897 343190843 449433111 290169407 993003229 61838403 965786243 150030677 598575811 779639461 137524617 396950569 621186251 726933201 518147827 744177443 165972941 157922407 394720235 710720593 245188235 705963815 235428357 150746217 645100719 996431867 495311939 320990157 397082569 373855227 503624197 908472193 865880659 178992989 71992347 351731767 283422895 164722311 345358265 430240069 61281827 993652485 3916669 854771115 591987685 753163913 81358445 155127567 761014283 552689647 617212663 197017795 962159767 477882425 937759213 840325307 552920691 587675539 307466125 429563031 275380335 196655183 997345407 806404767 8942661 610042859 554592973 580502723 292131221 68433415 156356847 116874135 832953579 379427185 753287361 533708127 193098421 322940187 392819847 457642751 17151567 232526625 109629425 344322823 652862713 351398853 442727185 133625517 658489565 926954099 96682855 792489683 978782219 148100799 294050007 306608383 639164797 807126371 153481391 123377247 347102227 130581825 190512291 261620429 986212761 696617575 55195089 122346437 217953213 526896905 354153919 481258353 39800091 966944895 932336473 707237277 571057203 612410445 601331701 344096965 1240173 58909983 776512079 834327299 903448861 108645321 432622479 349611811 840582779 726243909 625176127 941230479 994669735 853114551 305210709 837265253 10933933 935129193 45282609 350612317 873035131 868909775 785716373 925325541 887330541 632107141 934799281 962193159 665195713 219779663 216730391 301432701 978072997 629380629 445748935 875411877 394353701 269454317 643215141 807388551 674822591 983939345 457806845 314173139 916175313 261518565 943573895 852800991 613467815 161694197 750795103 646680745 376208495 829201649 267385227 525817819 316199493 626382775 852860789 347586499 846390567 408976459 138571511 554660697 988317443 941349845 96868683 947278137 820577701 369531309 456777753 762248879 248662475 570835529 441103467 19856551 261944851 173093967 779830711 667716283 891904007 149187979 297952475 345004071 628592409 591367661 986261789 301352661 772577187 549238421 527410987 21683281 863504355 771176129 379301911 942237397 430631687 755714785 304260703 297430081 388156443 751736197 457861355 164433177 68679965 789340779 305675269 108975503 734867947 583069555 390914661 956472953 497157967 496464299 717406759 235652695 405840891 643758149 847706575 449750607 908519815 329357723 572285773 103850803 163177335 693870131 128933619 618283127 183157809 409614775 883574401 644952379 431746055 560747001 516777499 302923591 830415925 425451511 5564239 352933385 844808665 916925649 262811665 804650395 626239229 952160469 232067521 590349243 496434067 666172021 385417759 531679437 572359283 379874637 690578013 81552613 472344159 83238175 573990927 440681145 834517763 94428375 131611187 296303783 419389931 401063303 932266539 620930997 580214675 828051309 934521031 527939223 284758621 123935979 219910973 841241247 613604753 144668043 692545065 192402639 24625761 202654977 108688527 370225871 96804581 199823401 884269277 820566507 139741983 962652677 89133547 727065631 732814841 35592385 414255089 909522693 524357189 139965617 573278617 617860327 955391929 698999631 922009839 626451381 191272953 598990911 862506599 286594053 84095371 433495115 833962463 831821847 38851301 697935975 5432733 664806097 967869789 687265455 49826123 514599621 397852727 345681255 667126531 262981413 245868439 432836087 605547583 152640727 187943317 429951477 590488295 363186013 698013477 23575067 736920133 138261991 353691945 178497869 906657295 63620687 444873069 241222037 971721059 635974161 555389857 849650985 288344519 27192151 42447453 10986849 678350377 102559215 744462371 753250753 361747931 848763985 121752157 485119223 176949147 44885145 634956379 320662483 58519185 230598547 592564311 309793361 804286281 112197547 614394993 280350357 900085941 987331579 690669493 224550891 210998071 815983423 134721811 24718787 807545747 647874783 698717283 704592059 891366899 211255277 856028007 269531543 415259889 327900189 37351623 793384001 187184775 55283919 313888023 889774283 450349851 961763341 950488527 829500017 569181307 228095363 485075025 561178265 273716443 854067593 391028963 705677257 28920281 885571101 895952315 403344057 757581691 472795113 323079663 217626945 590203181 409639741 325962881 217882471 893235909 472558349 260514137 117020245 879212415 166357497 451563595 377693533 875498243 697828169 568946703 478636285 12479067 938069995 30247749 464256981 807175935 430965113 137943929 43409843 573552585 597599535 574649369 502072457 829746179 628348151 131839361 169340787 691847253 512485471 530689009 434880947 781905881 33037213 656873617 534370741 351268615 941710483 154663029 114921483 995506377 926577607 783314837 125011059 547443051 279054695 213278673 699013837 949691809 907051595 375204339 504733735 700438921 423235315 45861551 260554163 719007145 857549447 235135897 330075597 659153901 377245651 798188599 958318327 72212649 901694035 603284719 339014365 934803869 117280545 625720853 29427027 614063343 261768711 687151329 941897043 473111081 283427957 297524339 957643265 134963521 982126721 271161557 615729063 689456023 749702123 901362683 843884217 485439725 666640665 120864441 434836691 605035121 973636635 211679189 340393911 937610169 105153961 434839285 272574035 433487299 902138913 373100973 113968565 460822515 540028555 435980403 495480349 900122901 531232661 93830571 364487149 114997345 416386713 822575775 454362801 618229875 868038291 324608125 469043737 12950095 330989869 688480095 66153219 885043813 372416949 840542537 66350193 557797767 25477667 176305953 759649937 182342135 309416979 815973817 581528499 1444949 852361681 164760269 426144595 935632049 581003593 263144955 314392341 682030975 190720787 306151373 639543747 63926429 509499759 937339573 867702867 640955985 370422085 121895947 875588829 420597319 896310561 942902035 127989159 336569493 174224957 101851123 588969497 118044343 44028793 506341565 754750923 702010005 388875865 22306413 657662835 500679545 603326991 31320033 459573239 732120859 206965873 909941475 875198819 424215703 886657277 921575205 641106407 89528177 626534879 474945343 136102627 748940951 625530593 46808499 430257111 666534241 493188219 865380843 981389165 184858761 656741073 353188665 899914365 228923189 491377827 510875603 348729085 631710193 159356007 802375133 379263251 871349685 665461553 638363231 158361099 177983709 158384063 11170377 15450455 273952815 957062011 873004921 77151635 640719831 621892465 481542571 136690047 375923307 587610461 518528907 369573131 77100007 932339355 4175273 156420681 632873649 7580465 287380351 321183345 259669655 647588561 585863791 117348075 553841615 18363859 231925441 104213055 498870259 510116915 791551655 405876001 131344139 223698073 358779193 393637229 658536581 993258837 180402553 535152933 352605235 757558623 104403793 854972277 135587157 620694871 799540369 322566063 89587597 944796289 804584435 12781137 822170093 38968271 27113495 491040765 160412647 546383063 931538569 133086333 395125849 578792663 388778681 640037829 12203655 246784443 193339647 531918577 121323809 165854477 173730205 233541955 352757049 71473413 732816317 949226279 298325329 496205701 465331823 362914097 473650249 633112339 134292909 23797531 561106545 283611103 34663255 537249481 338430589 729075389 939975225 347162949 411753099 743991857 453841665 823709635 547084065 711793501 192427851 809781919 777380907 131592981 466126487 386500189 484173823 557210829 24283471 129189 447964251 229568935 585828803 385099085 27843937 237491049 74965293 150249807 266490019 210712449 172367021 893555151 67527697 166256135 524830287 336648471 201517325 633328315 688691713 244665757 450339161 615420419 578265247 561748729 166761509 699303409 394797289 658798321 583786243 74634553 86727305 254493293 382680819 468310075 427552013 366232195 529029977 805228031 755872499 891337581 562013443 900009781 566116507 684770705 421576485 857025843 500182347 343908981 556700253 562448633 781449271 87655889 315372465 312772653 364945273 597695101 793866637 840585759 965036305 104362367 671731397 269548741 869100519 801746687 902428059 55355841 511102159 211045205 636912303 194143577 536489345 213305335 130365457 473235837 975370141 542055051 931763255 307965121 471146415 874712029 821329659 431173481 851981349 309048031 738961573 789617751 400388185 410537387 460593379 482770463 66978191 698500743 390360519 522492917 296866285 647960285 92241617 540717243 55230855 788945983 417532387 61913591 879124309 864962923 158464591 247435479 780329015 509673281 571847623 105621811 252270583 749659087 552031593 842035339 887553607 348790599 616063161 883416837 781859265 733380357 118353575 484759665 654075109 776740491 216950407 955127111 656637211 930580101 815541525 523579303 739711413 818318277 205764983 604116053 98568943 720319561 352777787 924433859 903722727 744423475 589428309 943365383 525166759 762740941 378602021 238666463 729253153 929740171 893235819 56016053 476695087 557057801 392254811 809038743 706790799 187115017 291688325 358825789 750968813 849974391 769367783 358029061 667041755 317542503 177014761 462221559 325105871 659050769 994690133 653775041 897401389 793298397 819927651 744644797 706136637 947903315 387348399 184004839 505515313 236928553 105691709 311293927 90647587 859350071 721442171 48288271 773828113 800415617 181154113 539713107 134142695 307169075 717359817 608737109 198505079 578786465 129258937 463765083 163779959 316185157 175743775 133586515 363677835 253748419 331962991 268614357 762583355 704907237 651161735 435417377 169317113 226372001 409117357 168810269 476559901 449568015 184890765 757063769 454342377 300615539 957589563 779064589 366376071 482569019 174090553 957643033 124093449 17041143 835710823 768332545 637205349 430763619 112442645 984167157 763521663 7041379 757281529 954106319 271669791 575376131 132264749 507329037 584016117 405436019 437299769 833625301 601239197 128924177 851742731 118225655 88024729 946405985 591479029 517879785 798601039 304987405 470227127 357138125 8049937 584102887 866026357 379661673 975616793 307203051 641813691 956418349 987644553 983079485 776463489 776541229 686846823 730519849 881784355 263978027 117783465 401966881 843428711 728869775 88742437 896980415 655301495 544866407 480449437 810849481 890113517 795308393 158060987 881511209 83151811 316690165 748656655 30687217 438523999 269653013 598840595 586071391 207486607 677220725 742578473 611904979 982439305 688747629 195554201 154234587 954550247 982488573 759568787 793745449 818185393 764980171 33022259 468744855 455045715 375979303 119827065 341958443 851007395 655712265 533160015 244041231 346284255 958384657 856612229 147454359 143749803 101353347 356462549 933522235 412494611 66973263 142849247 987419299 841648271 479997711 996911919 484540055 495962873 915500033 904565557 577315339 721423003 560732171 562300999 783618329 70291741 960753597 914402219 956061705 570336409 86647885 517980553 981002305 836941961 852545693 312180721 577006421 355618515 894699571 751158237 739767299 827610309 55731261 159432237 782293805 390624275 938429077 249799341 304245981 427833819 324113591 209853707 780178247 828326307 296385229 733056995 321533895 71960151 342192803 549911989 604408287 285705037 934522547 66352617 303570491 746125121 721338653 232546259 127215535 711844697 506368165 876362155 691906613 224459301 960694205 269165457 187517937 816327829 956226939 288169105 182459437 667808523 711796383 641074585 225208415 313918025 862413457 371909253 291328799 145850493 910256221 634036499 557566257 56513599 513851837 390224881 185977475 887325063 166824463 612357549 930908963 350001855 86411099 952021951 92461651 662254003 960984401 933331341 890574705 131643543 53909573 700793691 876647689 591035657 374960187 15649629 965991377 568064781 521617879 323316909 199055777 445103635 148741993 946290761 113619069 33909231 722985959 239749663 204554131 446248413 163679731 98649083 479911987 725716355 919968979 710609563 880547545 510911983 238026101 207905949 522695721 187753111 146860403 796976523 343132143 11593813 348542473 250412759 980710429 287550065 890038559 587937499 853473229 963752343 865425479 31704535 950523461 462614749 342717877 402751731 145339885 318350529 527816011 512352577 405680989 997582375 222557069 253449917 939243083 859251547 156863149 371883845 318236829 917591829 707749761 76162979 678828895 744464239 937271433 396234889 327312835 615110899 398109419 181349263 5771813 818655627 71497081 470915129 924684037 892752779 942014373 5901549 343569939 428293299 88525461 782886399 182846753 576882983 961577483 987502757 649457959 737292917 17560951 908428803 393227085 130075793 144089843 571909153 701476315 86513881 168953915 864568049 527634245 679852819 661434809 873507147 436405029 892409451 130360187 43580915 836389185 907176567 556563513 403161231 163867779 710752819 25432657 149092529 359076863 302509831 661881033 640472275 507952111 803739069 649602133 541138775 171535541 621890957 399960647 322730885 234276319 689117457 467333025 90281103 939823391 955319633 381248523 275536013 582765393 955612859 975719121 558282627 953000311 156437537 615593965 157270613 816962495 726350787 444680447 395437531 118801015 140427333 216116299 637780425 877022495 229626805 579379139 457443267 615218521 872304263 612850173 438561873 762324463 387715737 5959993 111917027 657973207 120482863 437679709 762068437 715505961 981940985 972941305 317548393 178427945 268110603 659586373 317170373 648848963 603298273 182299423 281020411 413657355 397756257 813808399 557868037 485030715 5868249 355229765 613341123 31513015 125713919 658140823 826787073 138479753 205217773 189132163 591254383 250309095 548591659 957143347 15417765 518902057 906772901 465870197 954667557 965298133 367142321 896191167 272958553 180788883 144732941 881724723 976731025 16736313 322821853 157873559 691162631 179102401 285169069 256662617 117353437 991647311 56334453 443198609 250901017 731200559 912199057 396516609 335437745 618768851 217251269 237787403 567976571 305449429 374305601 378752451 961093177 883330809 545872023 509999837 238171027 318017837 278956999 578132409 275224861 702115969 751278391 4720737 630946895 339176499 649518767 538939519 425920139 209249699 958313579 892938351 839282711 690222943 659402243 405073967 236973353 630511639 917987711 865972325 67991767 225324459 277148747 612420451 74026531 893369883 548298813 386281499 978208501 917303441 556638865 472570163 16031009 447961701 1743599 162620397 535852895 555389453 225812577 531278137 784592463 387743793 354064991 324366001 48337789 381832345 568061379 832957841 322529367 153467191 495938517 191601603 331444537 663864107 200939843 574804181 280162403 424355765 287417119 612673789 433322237 117394753 962914793 571407901 196998171 38177379 285701765 18868411 860548533 482315987 369432385 671439109 957011883 598313593 452858065 470420435 975453897 966078557 202734419 941377957 967429565 879764403 927749963 234605987 277325859 908405975 105531561 750957721 787182969 28182091 407741377 891382785 932421677 356697019 162418767 286624507 839594123 65434873 761919097 901793099 505527249 472051459 730779599 344493667 814958365 951329531 927856705 286556761 772259451 894424875 722323247 508765933 840786905 193461767 435625567 961091205 139184657 636146475 130583295 690950961 305901031 735066203 215719585 762475945 731707137 32446079 812715077 685393995 28049139 151998637 215706957 493440031 412227123 53651231 969869451 338639315 756679973 458806841 266255153 534396609 124510483 622530437 520724955 621475301 62757675 709552823 211510163 210023145 471818631 422199979 103791811 568732955 820796459 711418469 151879743 994993777 525838333 949536781 958184007 642030221 197658577 61209081 134425471 475114933 728770909 383331235 272093173 732169175 326179909 528975023 756312093 266849675 336624401 91949033 679463383 799231761 838138419 444195393 980367717 426755409 701472517 86751703 427823221 923877079 354527429 372078825 68931357 789154525 545488287 770589415 484159705 227391043 672595365 561581409 66172305 639344269 236379085 994154771 603657871 328199405 823465723 569301217 106846603 811553593 233682679 970468567 758970783 226024687 952270195 374805287 658975317 72969787 332599047 993121579 471051925 286721767 855071285 999909481 236606903 479889771 790113895 161392011 711773305 319977449 404329199 346369379 24898559 393825575 425618947 745789421 884447959 125547925 142869447 767608143 224276981 958634567 104372035 403170001 938795447 435365889 568554345 957086181 155422435 287901223 399528465 203884843 510844837 470886343 253696765 357587811 967451281 177466013 994729687 895053433 540554153 494894083 138537519 706631807 860260685 406083077 603130495 46636723 47645517 170439759 2470185 448950901 512429535 752227641 780730997 255779411 932400285 229644483 731269269 47874303 416882063 489310613 72131745 790986325 275818017 500910587 870624155 277960279 163396139 211585263 113075565 274956337 363847397 637073681 514501095 744257335 301759993 934461349 936862147 571267553 260793459 927082397 614595491 26328279 559199173 247970959 505775885 623480289 313264849 847753657 132960119 281463027 684364507 176302341 606159159 670399273 189845135 242533379 741470351 964298693 31040257 982001893 365730985 738466613 240654001 658168207 792710805 981766151 828150915 64840839 952661069 392173563 384318149 82056701 433763249 874304243 637315629 154782917 609207181 324662777 943416021 692525923 499763857 902069315 265103173 356453113 970879061 302991401 732319593 438786139 77135963 471312943 128667543 892254461 420783883 242497025 63220107 69722113 942212793 536170867 13192045 730982189 181493917 939449215 613821127 921804783 506608599 752162121 890560401 184416351 27347571 210553117 947591463 938551357 476290655 119957355 739106637 411006959 520131191 189646289 924409649 804563847 956013947 406084115 359925355 300585913 651940117 485502747 597209589 191469285 850583253 409091067 323639093 450798099 703351603 881258735 747569399 488959475 950465685 708539483 413304437 579643867 428077631 517370315 290626119 152046283 861205863 143975151 454033779 133026921 97195553 989107367 318419049 459846149 214143091 898708465 101295613 123175829 611766085 991433469 97635435 164697787 859615589 501833243 16653915 307533757 815558289 532747463 190650839 520528011 964644455 792018087 797701461 605404601 69423987 206081665 224945845 715789705 623778851 849214797 317780537 769446627 707971027 365925157 403589007 303553621 629709761 913366091 848972495 456335637 278635035 625189929 942866801 378692613 14459117 662371415 514794335 255772329 837885749 287279499 621366757 720825907 707027409 257370285 654304439 719376507 807890571 557693381 745324273 179631869 168703767 977367815 475349533 643131361 834952201 239968717 85090085 868884727 174177767 927278493 591592797 868204215 739077655 654600481 399416197 565440833 132888557 943561005 716501187 122816345 569979807 157016507 263860129 813252465 516228945 85116653 617526037 959456413 824492043 149367825 697726333 945752993 102251199 884838553 611805599 951795681 809683783 290584865 411285927 897242221 742422881 944416363 399874091 461134589 704088507 665667171 612672297 615051503 751056609 39096605 479542019 773987915 684283983 390049747 207707531 792136383 577309543 909374441 346848497 66130595 82314355 300858345 991818455 119615481 296131487 234505351 957870401 950760291 289768971 816245151 202468249 721127221 945595571 203695923 848434105 465888355 24545155 985518705 604895961 802128271 873076301 589927591 721502883 623491581 57823687 405981271 208104483 672899743 976116373 156588573 102905037 608745229 954906687 440490955 712824703 395292803 536154679 423259471 724545407 763032809 458367189 71773639 996266361 379798479 784015963 430682743 786536067 890057069 74959859 526241223 347293465 930801571 629337775 383107149 34899491 41961205 41612933 239211971 375471595 626411923 542741337 192413197 717676327 10235479 62894067 682379319 543144951 355651007 763837699 722995571 566973661 661480689 950431783 396466715 269329353 963002557 147462875 957978803 577913613 14615193 179407755 870068457 3271783 198350247 552760455 287306381 784656383 675403181 763199753 974966429 288063841 417616921 515997235 71465529 81080961 241355013 471215629 452728749 162534077 277224493 625648263 687062383 329712089 447758331 866313341 190344473 900367621 304517243 508269743 306538603 243304917 242411625 426432199 800788565 344299845 583367711 479356501 730061287 684941499 943121577 98712019 905145183 848508165 929751731 159692195 593829149 141298007 276558741 658291981 774477487 561266257 321943631 726662465 474134983 311410421 515446919 515115611 223377729 601830321 116773773 940132955 626630687 190796123 983699801 792474155 470274699 742766641 559640459 923899035 534758109 488705237 428076647 60643173 122243213 67687769 563809757 722692139 956279101 1493037 17190535 640960883 246426555 529805107 621295779 706478515 164287225 269518509 241031959 836238913 951276819 45184075 584984179 675640415 26981963 765408287 175904237 319528501 840400909 975932329 581955687 780415447 68268013 870026445 252180327 643368509 415767203 292181209 23081499 178712135 215837975 729108353 697389661 143714753 126923601 293429733 907357097 754083929 20486533 373428613 592675879 58383019 965423887 620428115 702720937 431478583 756304243 991491235 548202659 276850021 657653081 590575155 600796983 656917129 406657431 296533285 958060585 880431323 904430631 556993033 470371307 165290619 653565227 703873493 547843475 925481077 362081779 399032547 678293985 926015927 886006765 341737469 403703869 776415261 798292919 301937995 872069555 465517415 755722261 613716325 550119933 419062845 547356911 225461833 679819385 658120499 112808539 52454491 605071663 579129279 636097427 253184359 255298511 1978695 747594747 936576933 402651309 217332751 201271325 371720881 218372045 837197899 755685039 424627345 232660947 931835157 962078601 908424369 172930831 545291629 36119729 416467173 899646071 128552763 96742735 789212783 437355181 598434387 174058681 919120623 630857463 548982635 107272555 330860405 640360515 742906151 694817797 266446197 392315947 908563217 323867219 82208207 383518187 931785367 144983115 239516613 114027883 720936467 585410309 167959557 472654909 122577353 412561863 946032549 969210005 582311135 338150651 37956897 446630485 444256359 288415027 527627617 225759745 974456925 753704493 877310129 927136203 371827359 627054537 171325379 317398665 338109943 154016533 641411769 411334331 665408279 699520833 575696919 770216839 351100825 822882477 299398087 84320701 391364347 441449945 540786723 742624981 804836265 355752561 46657765 757724143 488683509 550909511 51388467 505030863 955855125 440637017 948204955 474922725 995392557 521714119 73509137 727475275 606271813 30800607 138745331 137813181 951986255 543049235 338437639 932020901 985111075 70540031 705614457 136692241 773969285 784042341 972929247 834411449 326383131 125483057 696390197 414388731 432832375 512629877 938736099 605731293 449999379 891034223 817013427 474113041 588964433 986812545 501858779 421320687 977155449 819476021 496665595 496702579 707834557 69865791 854066709 888372551 853283381 345282683 336777881 41465783 939844069 95407339 357810265 974299581 693244595 492662971 32961941 757863673 570825585 794772031 653676785 205743023 892463577 339751153 637493881 386948561 168801165 431955059 755249317 24534005 312134933 932780949 471061841 594628699 979679457 751054661 244341443 750440937 817841231 939654561 961474215 736696623 279638683 427108075 607114001 928023397 677659121 212887697 19650435 826204521 560462433 459207713 788432349 770410179 577559269 788802141 170339183 118911651 209147999 635208225 546166253 853361375 641004181 22629247 91837047 992314613 47685437 716906661 171720847 689853711 736332013 814186225 131078435 630388987 663687207 915197927 926880649 540744495 697713749 737731119 449607807 314308045 638331591 371252383 106692391 885658011 559853495 741097267 807533075 582107911 724042055 431714315 634026549 539635497 846721149 911038579 375861739 49063617 454054479 934061025 612638713 831005495 5800083 188919533 241768591 114170265 988373259 863218269 120946751 757262237 408078433 686787611 412049161 703881379 342279973 650686009 584741201 750780083 806971089 948003827 798551269 565047165 543698629 900624045 97873913 324864855 814444365 22389491 737429037 54234689 394376343 145538423 503359873 31899873 595703743 776968723 247613799 140230023 553789381 621226189 510195635 447291691 858699409 244398799 455942051 585330795 903382007 465674603 82921177 951748751 677222063 772181279 784199271 145395335 16376667 295957643 322525629 7522281 16861057 463209341 449924029 592814067 177381525 441997799 4659113 345304207 613176561 277516517 93489711 100757835 127734485 339179959 634900071 745360989 5080425 910093517 531650251 997726119 911168961 592244921 39071809 75744687 325462997 834839349 43901717 580843683 475797381 323028515 927479807 403178331 334498717 475519633 308450587 263812695 217389259 378625969 365823215 828830399 274454187 426493407 595985255 417819999 387525307 253906845 143846617 43908017 759409513 795898519 798784769 687424725 744762115 937958561 940810245 523631247 159636161 298119861 768330611 890566737 402164167 896347637 713898305 884737073 261113887 145718449 659459785 817766895 482897335 696137559 818428371 668326897 369832297 321755013 579844491 391784007 791186937 693773053 945907593 635676585 138089229 835932843 846245573 511300725 576752185 523502499 765911209 215749555 455738869 372536863 268418047 789506065 149016225 8994435 366330367 583134441 231710599 118250073 143829829 246924599 988586457 740163415 443354839 164816037 998871983 393308245 156888351 470620801 348876557 635011671 102178039 266621633 385166041 94881675 179498137 665242887 806457831 175069249 6245547 732230553 766160877 961222133 415803195 396357733 586616463 40404555 377719997 743804931 610670677 325575693 527311631 399088819 393653169 999368753 683737719 731356509 179962877 947521743 851293345 9725581 685993591 667228717 734413731 65741181 448585547 998678963 102852347 15081229 471745163 304102647 9631371 288150209 643107629 95062709 692176805 796954571 886044693 853811661 39452665 281093121 947469579 850698827 62782121 779480801 325995457 767975525 739538743 817603221 988681423 788776821 820386451 989562093 973384377 989922555 169339919 571311707 92458725 709258663 373670507 466677507 984785061 543325769 179741899 177227691 888156723 607072479 762282941 26751683 54131633 475824009 258796085 464332639 335708199 706225045 741918353 706316355 729261191 321129589 682482069 416151249 188442281 563607747 130554225 966515741 771419215 896509253 194777273 169314269 906012195 809604581 456435049 496921965 1252533 993791671 432435689 956088537 964144513 229766899 110185475 461252045 116454371 504515585 979213293 699441313 220486697 759264873 655325511 949637461 226197635 478007007 451723795 860566161 315516937 730040637 265473471 941168289 349174205 662388105 385057825 927750271 564710281 694451949 907596407 74594507 57555261 932326589 373688933 355267785 846707603 846531443 34385655 547207531 133751085 145728433 225874341 628078151 454050195 908508487 214972235 418696347 776349237 688577571 846158125 687566417 381100399 434428771 122735099 528184055 278111105 837934665 29313225 628902085 127528341 428293953 727282195 428470169 650028219 978127583 224117951 55533051 285539053 550719709 552561435 296711195 304463373 572962079 367188443 197561549 406548705 910599855 276322589 291305619 899589151 36015297 481810279 107216021 857801053 100852145 945077925 673066913 462936093 857281027 274008877 650963245 480956615 225574239 296690365 21519963 662166959 488669083 160830329 979714289 783346701 447792561 26670829 205179997 669614339 897398469 609544977 360236727 239828631 365291809 109486911 588517823 234400959 422878011 993250625 995887067 770684495 184435883 253747775 595750173 654826509 200528693 301629393 670686777 255446945 597016519 468588789 196386703 132285595 959509361 889121551 716200999 960776053 162758255 540134125 877114545 167149199 160789797 519167939 935173251 47431475 503543583 349284399 366353051 629742741 722373647 712589623 653888165 842544329 515490511 348577607 744462315 589856213 963364965 863964469 745972837 316731041 191680761 704778557 461122485 112791035 67371233 253686277 684242465 514280353 161718169 109859229 493965209 607060785 649271489 648524405 5033649 920164663 13007655 958594159 541762987 14865441 498122173 499103181 100925807 306548043 469808285 646274109 920424075 316327923 688776205 830808533 826597429 345391687 332269943 326261779 915631439 337537619 791550573 573206235 545394525 629245205 72525229 554829689 419690897 473558379 409019927 636063141 737719747 815852833 63236025 678861435 450122095 461050853 913175237 577895809 702065341 721895505 743069847 235962785 211513213 340111081 106257585 412597301 789485607 467998995 938526655 200588279 843805915 429676579 477197971 539884557 997918301 770927183 363055403 548461829 827406109 621795259 253316007 281852373 976048181 184717167 245646167 862668503 323503715 509697119 538381737 321324243 774728973 613508191 542228793 649515509 335994691 672688947 85268687 320130259 467072189 115079559 109854289 13998953 432542937 700678119 83256787 394365471 670594973 904771537 793533587 356412607 206410941 511191203 13980659 539751809 696645771 997907623 474323069 653106177 920473867 126490127 625045733 697796163 842867935 460644339 818185479 618053047 458693723 288033109 822785255 177352239 343924851 742630943 881782189 287497451 725744073 806522915 290933935 763778447 15653281 377729047 474744423 439707433 640262893 848820383 536387961 92606765 680965445 693456707 537895343 967862393 880850403 238596981 798812927 341516883 34852533 6975885 41080961 898624871 822161733 227890127 205582201 518044363 94586317 410805601 146349653 56046331 189338155 448195413 439213989 359427805 573485801 551651749 608681253 521273025 739822641 175559731 970064569 32883543 344195807 216862151 721939307 219439297 855940465 257683731 26817137 620461441 478349581 25919919 687267875 673985925 243162243 130071325 691386631 841879843 360650569 476186567 249790149 929827865 76584577 237870589 151849269 102272651 844488177 100700409 949909837 150788615 583563015 778836957 75239475 408624767 574983133 544037553 878487091 245014869 944640047 527617893 958740927 999582285 677124199 623803095 418644593 769140883 216279697 235210691 69175823 691568059 327768937 867972563 712845187 420614343 364884809 378319005 694989791 671760663 422995261 786332821 723073887 630513531 481908721 77821469 551720041 795630887 346195133 624253569 898687621 662671033 433807009 679667441 744218981 46403895 567267139 513787269 669042153 389771023 997327347 432686655 628653329 526028563 652469417 91790343 567238921 732781441 179212547 609546673 463468067 342984961 692263755 244342517 926365149 28480413 956709227 747054965 298127321 670458829 702611455 351430583 333085407 856720237 503720773 957573681 675510249 224496833 550208547 359085113 981452043 658465657 608427305 127562001 323699853 238613927 862306189 106977505 97967577 930897611 89901617 328391613 539386499 491216073 457077403 361832093 107436357 347456751 742687225 531908707 737759491 284215025 804615717 307009749 254145991 74498541 417684635 902362535 362514373 579385193 114779011 528366451 427481689 365199441 531553967 509789369 759854853 392147451 887676563 678082787 688368245 309508899 454735697 925028159 746361213 833098993 705894317 20837387 568342551 415508463 700634137 871770471 969373287 697791251 562172843 494136921 896735671 525284029 788181283 670504917 497186171 861632943 696379367 195839925 273307217 892540953 53151497 556718521 558724855 664843405 686141501 392854153 821843291 862339851 388898531 341867705 358739857 619648501 7230723 237304769 650935507 306245917 18928717 404852481 833612421 490851509 201291029 206175939 30128435 371648603 947582303 766929721 887846797 463148565 568401871 819148669 28227443 844387661 318653621 143520911 613937891 4891613 592248071 95079511 829287693 409831679 915144039 302496425 227260737 497506907 540281115 326831163 730922491 79644411 442169105 22532017 102065631 30276693 938050275 133568661 748228793 361958727 571916749 831376469 775256185 810518807 575757751 790222667 550808127 324000369 24789043 407560635 57536843 489455725 31340917 992065739 768183815 550711171 893695327 278516111 167696137 611561117 751624309 778181117 884974605 10370565 507955433 353071097 794979571 278567539 311855505 472820299 442676425 261918723 703892717 13795237 674117313 220860217 930782243 140358049 587954485 421145605 25759235 368300477 855471275 117394105 922724357 945886821 241444045 237870869 484838727 336767979 485413741 966644029 854035857 283459461 222548361 281288383 754433619 417054807 170246723 552807823 253580195 262317673 991971299 534385933 995839295 371722157 379386593 264139513 939849617 732802301 142265047 170442885 746258599 390201623 811380103 287431493 238592825 492259239 476575709 760064055 6520227 350194749 84734701 560277693 946599153 10530645 555119343 900248999 784121295 90910027 900413003 491848235 646890391 650095469 345601161 834178789 311499589 81760491 731575645 871196889 180992129 947632607 459446179 308754549 757526173 12624967 96693341 321519761 230336397 802177807 234901943 459377509 17000179 2958087 83873285 534379419 501467411 952878569 837344961 782573887 653446111 220610903 363277199 545909445 615421421 991658457 562536249 94944779 740901757 590809569 219021491 264912725 355270005 364859591 85016601 82902611 607343717 234986957 371906479 844480793 897980293 918936861 589115101 511081763 783472563 90791623 253907257 47682649 532176503 171899845 566050685 670857221 487342337 378658553 296128653 563826653 496292647 637154347 24455283 805822719 591129191 45691659 603370341 328553201 269458155 547834421 504033979 377960097 99613825 285170729 184127481 124485473 134262687 842395729 732194253 672117231 34220135 557131773 183600903 696803187 5091743 477263207 610369955 864623225 327943605 614148273 208089029 422470643 55868865 109649123 136477369 298380867 371952771 133731565 915962863 695717933 275225443 996599979 826010631 43487195 683279213 933920733 953671103 515961319 285339741 114575149 348793095 270052427 996967309 633802539 808753647 700196717 253867271 398955345 212715445 331160859 238810747 411593983 816204217 465136521 272242751 760632449 878150791 481546325 414812243 413854725 48053973 259390853 580546397 694189223 45588093 684059781 2148269 224089959 138397055 137834283 453644347 522208815 899612939 852154035 651478949 395665613 676439155 989612741 590962995 957131263 448017455 285438059 4768725 761569893 763297511 367186205 304849697 959456133 455983201 780855221 580050517 296984789 459762325 204648317 982341467 536319145 56177821 23782173 332016065 995029831 199216059 355600301 811557309 275286999 56055387 795293099 488628017 400861543 904620303 930647035 494920355 425052149 134316949 751053035 514532417 217176415 987784143 730205487 812657891 360749681 613071047 170743013 85890313 287650777 260808625 72380563 935642075 8469299 272499431 896885795 842166821 42991103 938271985 923859439 441748321 339593893 32797045 112908721 921775279 189107577 177028167 886638481 739511251 138099633 373344357 219714329 831445055 627806321 421323505 253157951 295571977 638604227 532026933 466620515 945421041 30662037 428946597 426236231 384759645 467607235 572806109 172937753 823386973 513846283 520800159 533777519 689123753 431482139 811559641 675937095 794552479 448608639 802193051 591533573 611139911 627615157 158613793 910580597 486613071 703317531 174864589 637191375 843776785 429513723 465183535 916085423 835626633 477400199 579164661 954620441 655594081 626460121 831931901 256920957 297155559 682663919 424332363 626895277 977066769 814702517 496547591 441891049 376151425 304359933 147627655 858388439 639976829 280171133 798510149 474042497 938621683 838177497 821094885 650112349 825941627 424171929 967133235 28480585 512396885 791788847 484615711 947494283 566088041 847290613 773138887 725232335 955334211 299116585 302661487 14005291 534186525 453959415 857017985 391365915 635898325 387416433 250516111 117039495 873712885 869425293 872958549 206760633 657561769 516855087 858883767 36330601 282725575 630100767 785254337 919958963 973016275 873311247 944347557 810563611 485466865 725584535 761486781 54721167 348129009 285714747 742239631 728125031 940310859 988597089 721882051 50580061 198491677 331416155 281135921 519733143 842789423 596218467 676712399 468011681 143666673 6297499 153625029 174280819 22034551 254339339 850004057 822467433 159498373 16833445 633844995 548103753 429629821 44289345 916889693 169196351 125391987 661986209 737165609 253509345 787845405 691222895 981429587 697240875 742093527 351331133 501234925 389305475 241205165 42544769 537886517 403320503 332800843 381382813 884048267 256614397 392465929 414414301 389615741 536378351 380509671 911964785 924558525 930347669 776601997 885946225 724603943 588805981 452653895 825732063 425382077 666946585 593529871 609212325 795148715 861997065 499200133 710751891 662063171 346787535 373226989 968515427 858092291 920614781 644335417 219522231 441715853 635197317 810606589 674228247 516351659 90103749 865848189 836463347 372582737 645811073 392051613 717708711 510148507 565241193 794158573 404903539 464246987 468756111 871987877 921347201 461782861 735262067 236868003 12315361 889559989 386908923 993865071 978893197 442133949 716355953 725286967 85267047 328745289 184183691 213015765 940924469 463829859 75235175 406513093 334134701 199534913 997125003 678604849 404946021 780432699 823175651 897742055 887433183 847183829 844939461 976067933 91371139 915473595 117895663 687056565 132294309 182689217 437744003 904439475 898827645 619484129 848540947 30888139 921524781 86544959 163532943 263835919 54115003 793337639 123276121 741364545 46373661 649565961 525803827 846855623 284211241 917709699 913615181 718572211 697282721 927314521 275781433 20650169 605454381 717559923 420087287 607307321 122048097 138958055 133716715 685488699 829366709 373022705 455547107 437058927 229542025 201336305 21387539 306331947 832488489 157828211 562243609 646422637 273458627 191841069 216671995 745647327 18063731 900643575 576285221 733640143 921915703 175982807 588005995 504841525 394222077 403865335 558697999 171922607 923579027 183392169 428586417 520407173 875130545 610255465 515915617 860141221 277238781 137443549 689631125 70945705 19763963 562461131 853349415 351653325 683463711 207162923 170833759 664890363 596622019 677688343 402742507 954990785 326855207 894850511 196726493 863993685 370148979 643428547 788325045 260715673 88988603 974367365 485944405 358620177 18715893 502048205 869695247 701551343 607916293 690270595 14477461 67026697 325273525 466361773 646503941 669431263 64585395 680970883 513626339 565633433 725081241 969495391 948365343 315629571 855972843 176265667 533290253 361258391 179200015 597840987 509152873 50259571 157383769 628684795 372652889 419534177 869458175 184111771 528996459 377136331 31332901 958100579 722416275 191470541 527809749 962708635 689440303 371274533 184685053 698044599 176043525 561419321 163028855 432297299 177319491 612225049 544855815 464728369 828961659 900814973 321247059 221570109 16677291 195070659 44720877 113226891 970429755 325585649 446570321 545852757 216967157 230018747 281267677 108150781 821563409 348520563 196521179 593057043 940457771 698021403 402023037 816703301 481227079 777454683 690733531 148778609 210910163 159488385 840876025 394629273 544892071 160785027 609135805 626434793 168851197 706293251 750324217 927412405 587947131 686644549 378021479 12311671 648220719 780667707 907180201 267031763 15948685 249438587 295203399 114348437 47279475 295486277 375058099 864233645 818323751 895230593 672631877 933052217 306130259 684674235 126692673 525559421 572780817 363045421 216799949 666351841 558811869 163009205 615062523 432474875 903429529 922413787 533932741 371290245 610431893 951280335 280349453 796283747 529869191 63319911 342498715 444901537 433920393 293482787 276053793 820570479 98196515 340417321 490034999 500068397 823045443 312459849 889690975 748895065 386447163 638464505 3648003 230396067 698771403 524645211 330366323 417313243 135673623 456968245 296871145 286816765 43807403 244437493 275538311 853223471 99174015 365619893 387088725 460660407 146195951 194165297 436725829 294037517 166072001 995303635 315497775 612697545 720974367 626377383 37264085 121636273 990319523 716261993 730496225 626589359 854981191 956317811 405512419 567588309 118313841 742111697 902671701 976530273 889473007 226920239 519379095 345906099 475930359 58329061 986786805 442516569 97370915 759132403 993889439 682538757 747770235 99255807 667267757 768771217 750044779 416584281 215107617 54845955 374393545 19885049 901587427 186497413 40590035 754832509 335422151 149065067 828455211 910182959 131959941 104197933 323825123 209696505 940370623 446657651 652917101 510419319 245220861 311861253 607269285 176166375 795429039 242246359 884327637 60572973 420763185 898935557 124230309 191412189 92375491 955568849 661904175 565476141 933209485 278117287 699978221 776013819 80883619 378180377 453139141 338258383 672062205 796636645 724409605 682648535 807268477 492809965 502970977 226734571 608931305 406632507 465928695 460956045 14932215 579291651 805924173 787212511 835464763 425481121 213350223 793469877 959259707 247451799 460617043 696772739 435018335 41254291 303600661 555636587 992328695 406996835 137896635 811326769 806402875 17711111 874147285 411537479 789450833 733441953 997454931 548245443 35721277 868385149 272640151 49852005 328794099 465393931 336380259 956912531 734212429 7510761 526755557 640944735 203178507 240733657 765241269 146606717 58969301 868601801 490588107 328815949 123123775 751009993 510593937 466431191 607708609 624419349 187535059 184267465 484939963 329530641 46561733 631589245 991824759 728099911 579168261 93135601 440473129 701340269 258489751 19192267 252586469 681109851 85641707 245176923 798789553 404150039 106876117 778716567 930383219 733178057 343903121 333820449 842697471 4742087 22932933 215278911 717783819 660437643 825380479 158247391 801342525 618324411 843424565 898927513 327683097 913314077 541214913 487965615 636647443 493310121 218073195 476637699 636490371 915163511 496225503 182600745 38475181 24927949 504512819 200017493 355285175 528700693 603469285 307804777 49527989 991151329 983778263 839013609 630205853 764144621 899914587 107098631 882773331 107468831 57246499 918069913 89218721 543925885 579271499 920362783 472026165 344706623 589754461 124010687 331069353 279083967 1483329 899754569 546012799 999209855 625644369 445174069 444277539 316570409 621640007 811711137 653490657 456137365 759065161 860054613 218815989 229844665 780558821 526657473 262724737 907198653 276827151 531757307 850991501 517209321 700470309 200655297 386995979 413167537 479542765 33060989 951249877 151827121 225603219 296245053 628008105 743332779 776931245 424951481 378799923 806950795 34594871 917034317 399868165 7955299 365822361 827901445 862520981 556497265 278836893 661762445 69388359 763627541 574593659 528677695 516309347 737341151 959366605 771880983 929027353 233690493 141379995 428884413 385721223 358606541 144382547 241433987 905851561 244574673 326020807 211885917 963586923 114346165 669606711 518672621 302609053 680941005 854074439 529623159 232331769 589393555 574202373 444437997 508136737 151402665 408394469 769736677 833266333 978813661 970822341 997918367 13595359 432369699 660035561 884730113 222729535 816645267 670899201 685846939 245923071 481914993 891395873 210237861 494913097 250731817 956115653 43668477 526464813 5705295 548038867 997264939 618009765 568442013 188067993 297398111 719157139 449474295 547393997 783758189 864353727 823388009 170718089 702014937 355581145 853561379 498433877 440605383 911298941 356546179 844942365 787108359 813664301 335188493 513796919 250630159 932224077 980547945 401842529 613428993 200187699 944648045 978799039 816866211 542148887 231568405 949684445 254224483 898069531 320298881 492385715 430349913 380755783 19163389 846468765 193708613 907049355 671635455 699068511 786919823 515750595 567226655 89071401 692625219 84236463 419811107 986775949 789240093 985414649 762171891 255147403 201695863 480662321 139008935 966720393 926759259 438760401 809661813 322995535 82557305 21892921 76640963 551429913 686636327 702862261 152070173 461000319 906772069 811419507 566342709 760941961 540983769 400581007 263575781 948817315 46348755 773963017 181828147 868450467 83777867 588958667 914448713 20306885 407788767 774043557 274647929 643614385 356853719 878377807 362296129 788607601 25221411 124544367 963134785 433123451 340250199 363924361 26027335 541672879 87484087 660136211 128027461 612908879 594571303 471248993 515158101 986877963 159547959 973617081 913747389 280249589 191721245 847594563 648541671 551026317 644701371 580855055 743061351 233543095 905192853 14320149 982671349 841919681 380796895 329204027 219700089 98066527 515743339 73196869 908419835 44308655 983344571 577620711 320430511 68500021 458470645 782851515 313940977 885183201 677239531 897869633 222263363 271493895 47765265 98264545 203449425 364759651 651135113 28663791 432290799 736333083 119484695 338717345 283078167 557087423 76926509 332922141 214247915 714883391 508283361 87020391 985571257 570840059 229734385 866918259 477961717 511829689 988211913 566664731 420116535 848571559 631469683 910123037 340564035 615128919 459044265 320092455 507842309 135123913 359908041 313138373 869419921 950626655 412962523 819011445 818872353 582140651 512095885 22893461 278025497 771124127 118144825 730884719 219244035 205780503 777420763 715597621 946246805 990555997 151620637 62103553 701104039 265776603 96580941 11636945 76648509 714037861 125342049 814609043 925715075 589241147 370824699 823670803 74748109 462907137 514108255 324369677 64457879 185315269 134078849 17416483 655440257 78374395 367801587 824738015 625255511 424110467 102360567 571151023 970946063 60569247 862999411 523061741 929170113 554182397 681798137 845273563 28879537 888180915 134757565 263791269 579573069 347840829 669341855 654962775 728388133 392152195 465021225 90910701 378994165 938634191 396196741 423760457 190548899 765665497 902695311 211075379 904919861 743979195 122042565 466067037 257848035 743384829 51405645 645831265 39090693 500235405 746303735 685067197 819962401 517129405 220136507 763113437 324155873 562279501 258219319 791661585 239573015 570778721 170557619 648561299 339104961 674748295 596086047 229381509 758362111 110740147 710453135 602363887 727564063 47668803 443567303 194047683 241627539 275315453 894622761 951481817 34225141 756512013 623350985 161571573 504417035 689956103 308963931 568049851 919880383 185796845 735480385 597970883 781586211 198917919 434975873 417950081 408111989 651998061 537609417 789542233 178517269 956465677 672286577 857846673 861526161 144805017 523123321 774899295 897223835 8511769 326742153 341197017 956742415 547894009 753998829 939005441 124018671 146811921 297427871 37635009 138231911 502081433 638626877 105953257 598177227 902730555 633705745 95531315 385348245 397662723 913130757 847626305 78624103 91983203 440102837 201869467 744107023 671205437 601643103 1651121 135128193 710905301 2774249 465716193 302289363 231013589 991678179 52510055 982715215 649530967 621400197 359877997 333222235 822542549 112090541 102875399 364204173 649891637 927737571 579203629 497507487 526221253 276075605 52884161 597942131 86098747 368730333 111707531 145263641 382730161 323433719 484217659 306363327 62321583 435328973 274645357 20342979 662666017 757015085 974271905 342773159 83762781 889794957 156672577 448251929 957636383 608173839 259842461 267878377 810030991 946554487 887016173 48914963 12867895 599175479 283246423 588489147 183051791 943800679 242431201 186790187 425031539 494976195 405625211 466990809 469929767 731155891 305445889 839387741 833682521 989571143 450336563 600278907 636770465 134974775 60355769 976545569 294077177 138410723 659334695 571477087 887336135 912143439 370223093 569229169 658947287 660993581 279673987 561852603 22314595 93913555 547941661 875231177 657530883 672542783 167659249 101236299 391399101 467502363 750377499 227216673 692597505 954978741 938520219 132802377 662454179 518411781 195101017 408205555 784682719 183615401 663519529 184993903 73285981 832296169 832059843 637556539 856875815 472501683 330835143 699265783 315327667 486851233 185635519 651982961 800538593 989048303 817478685 38309017 41007347 674800263 577668155 834487695 587601815 37900535 253303897 111260051 567462885 688660597 295209631 211735569 498028373 993444835 222755105 727295131 837661137 54886597 232203477 967775727 656674469 34507341 6871713 117219053 646639491 734176849 795334217 796314019 291925901 383167057 980699009 344233027 43296839 388549749 647546083 567729193 428860061 385245833 545477869 418993879 566876643 277024007 618544907 739361527 734822105 747731981 262421647 539074401 570768549 449121381 664843697 603553805 579091921 222497913 514463889 217073437 728526163 35136869 305419833 364443615 754819465 226114023 590505371 309194693 947263289 339432293 733106319 781611883 202766479 931451631 765041369 836310419 421462561 968977467 941306655 519204395 441991149 66043563 3475443 911827777 307006549 322568261 691354321 494189077 284122411 504903865 990404887 372787721 803228831 212553307 592591119 782707111 671391315 462158125 288040683 438790051 2641481 74040791 717683139 630352345 112286705 892843175 2710683 476304461 710989085 885355667 834216281 541427751 694820621 10232381 986529231 864586941 944973669 811514601 31815865 327763593 602274611 369675657 656595635 821377583 818007531 28001203 786668363 877900153 332921451 521951911 94279153 130722907 782547961 237052493 834749695 852932083 873067841 789902385 571992243 829580159 822766425 785444493 285502521 999639917 722063037 581057343 404456609 310516817 631496277 136645839 124870629 778260967 113598571 938880365 953951207 836910607 855730101 283978223 159307631 620187093 321668179 234973907 430475055 69205103 30294727 561178947 304594623 992833589 662747903 704519693 280162721 552900525 675077459 580722345 127716927 947943039 971099003 453150261 336467689 895138945 731340193 834623097 719829211 759947439 558893905 489907427 796811569 273277481 442480767 422617997 311313913 721404221 122280585 704581683 316706083 898642011 671896371 708260157 596197255 272750371 275473325 881033917 111439847 639550805 305928587 653669223 431761389 620219355 79707081 901014941 879756073 570869197 522774989 334336099 569080341 252373857 970394725 136342635 506777875 708060927 976023749 975547661 920650089 450270765 284869005 158076741 925017165 367635619 711972799 461059259 692115413 365980987 715369929 823815871 227715075 962728695 645569665 333231433 401895873 218847747 671864355 633410039 823765983 696450737 426720599 517205777 136801815 705387135 180619305 908982407 718547977 844601613 813491467 944455407 318727233 740173609 603489247 601837191 338659629 225953733 247494375 814753849 370561577 769808125 357085651 306248339 299637 263025939 254987957 695998669 90340411 84246899 700417805 399660997 42161547 382533553 290120895 793880835 790926685 584846983 633367833 730168757 602075799 77982935 241581007 451018163 389043965 973364911 61067265 292330623 332418629 195576387 154576687 465204283 91238661 497326827 491059787 111583931 22707645 210337835 690487977 857899635 353773019 62363311 683076359 194057093 86640813 588982091 267402375 464470197 635371117 756549113 255323065 543005301 208598331 373439709 973069715 704391131 762650145 879638849 226916463 181251495 903781395 17408153 929269013 733513535 956841701 240828289 283995571 610771381 452164189 127122621 281349339 506906299 36123939 795956789 982704781 183625143 120637893 781991423 184300845 985384619 961435585 592637781 502382215 503838023 764210293 945934747 496063699 124465637 898780717 890262877 153460653 365445763 373839127 185215819 86026011 844300231 619094605 853632835 763433609 731384319 380001491 733636425 432029131 146527783 784368271 310234245 806207011 250289371 731282773 761147471 536811825 420834659 506048477 675216157 935671301 234100909 884223687 536582549 761545747 817952849 748511645 577500035 181691451 544098705 796712913 280663767 20471743 529684047 109471677 603851953 159051085 417955871 766114207 44149327 351618043 445632821 754977443 344186401 454693957 999098225 151426523 706407607 678160659 646407517 367459645 633398735 845761201 531316005 408475309 311258953 684141521 842346913 496743669 397517363 28036245 516861265 601301187 385789887 933653889 885442907 55883697 754750023 806782079 999809679 667763011 774417489 708868585 33601637 605681119 948272007 858961785 520304635 705837527 163941819 44936533 563456281 181256295 56916971 918172939 410943791 442729645 771261239 55963791 961293907 84265651 469445613 192687935 140594243 790710379 430978687 827362529 98515305 184674477 420491401 210831521 252492243 734725691 64055245 436966421 819135031 173567167 494292791 652803129 450045175 481568715 394724825 484767859 982989593 537387477 371448305 698812819 410330443 726681409 436784609 391166665 287607015 759593303 449067827 881666743 258648297 504436553 715003803 679668831 391761145 695200559 825927669 124652081 703226473 638170891 725226307 999581439 276812077 938399175 722306993 959769865 969529063 413177395 921073043 734628083 896413147 955222539 713945187 649342153 124976635 686521579 520473541 958168835 281769437 4185441 688705667 339834749 508752321 316324829 333454225 257362045 30749325 561757623 150294283 649109423 413946065 853244977 456421685 18782503 574866885 347890549 841769847 771995751 186291783 932004243 102420327 574667087 63833055 150832517 8034239 752430383 427244477 408824877 701276515 302746043 161740725 371718483 849698397 309552659 580131147 38110377 1275619 372828601 708710051 279948999 850262605 448139163 777267597 432621103 530455071 887889167 241685631 251783243 59040519 159075027 623902619 394293867 924101589 709669897 562308007 562819273 588060805 265513283 121005329 755493253 495498555 112435571 23202033 692587947 452153667 135623413 121697287 818194985 957539341 896559251 103205819 957729499 12230711 287103607 518557977 725821313 185984645 899830069 664484827 229247173 735762145 539318477 702634337 830777143 133824349 663453091 823381935 436715089 586024757 259768709 139258487 537713523 153285583 369614503 118582287 864093929 508514737 254075047 240527991 402567907 509585811 343640459 223694421 921955959 124604749 62554303 452742649 662247083 599044325 761465881 144785499 490263911 209829765 235432663 701613593 901461627 206421631 316535451 185236091 55225505 543574609 370862199 431100529 731204217 898009499 354834907 758270351 256787343 42297899 473960873 518510873 484866897 838377459 497284387 374365427 968211995 640085007 936548599 534574763 523841067 732832705 940093501 146694269 634179759 121589109 126602607 724871237 955863221 935578045 92220787 935359625 459877941 861320791 847404181 96966525 379038485 313271075 558542733 338356723 251596313 531514671 791854711 822357613 108891637 651095981 614493657 983183889 978521667 639493369 677948831 567241649 105488003 408660373 599884831 824820417 811411741 564416813 284624149 67532897 291182693 934290325 277010087 575265883 471269267 980563399 713886307 707640347 137390535 903746791 619022911 861906361 797690123 959216959 527807893 478143219 476044625 219704131 388241453 955478579 603215219 663419535 766612787 632573321 706709553 747798757 296078911 610319783 171351347 343754547 246047305 631098609 729282059 708961415 913223355 654055021 680961845 179406113 269255263 648603851 189521679 588871011 289583213 387928929 370834147 74924761 902735745 333491501 368932835 39568179 336018081 122159065 833453609 844240719 584949815 378420403 584638899 649480239 162705181 778863025 625168239 444013057 737799565 346872949 786257449 180949269 840126509 960827715 72828831 688206567 177546507 347781647 148252527 515854619 47774363 172712299 578568227 636203643 306042043 21605273 620158509 999687165 210353073 194401663 26882277 431369145 81919785 340408751 515449231 844657141 88256313 397655901 392242769 459675673 509137759 805490537 228327229 5920189 309042557 669784413 533469517 944844695 397611749 831660131 913596771 864903821 503652679 697564247 149574983 889125547 538255301 772167351 533795499 242272801 957095393 439937449 271047721 569558607 354453643 208229117 576053311 804268213 279100181 822879531 632189529 792842237 318480959 226866257 311932871 319568639 380316973 42120503 614259909 158515121 695868525 263681611 73902447 768918073 737865459 249450151 130918099 540486115 823468829 336720647 374381025 841572897 266640815 539209429 585907825 266118031 271401177 66938655 205975623 172936941 469529391 957360027 274825737 903225387 384535725 280753067 491144777 327218011 430862267 420495189 172548225 226345397 521800739 888453191 623667731 89470113 971123227 481429721 884323143 10194599 289085763 198471435 980311629 214221947 201712541 932048261 658149953 59876857 624685207 803955859 378029093 785691939 303178759 726920495 589817309 534045989 692816171 349265911 875021633 686789457 852734887 593163829 790804741 747304997 713515143 679482067 712370123 349441603 80028995 640468845 524775199 949123957 468777655 799280961 711102065 487415215 489153575 721143861 175368729 86927373 654720579 302160345 192882265 422239697 43518495 727915109 875941977 366069607 846558775 423642039 827449647 349687139 46947697 485947991 462119119 548959103 153321499 755827315 645818139 555430303 429582057 310758117 117757151 604205261 573121529 27866665 200599241 450104893 7002065 792424809 479930997 388613707 700237405 314192755 397423971 415744891 394575859 825323453 572468221 790022005 264788561 677414249 721862803 265228815 304041371 556493883 295898719 979775555 282256733 229905317 904340609 561539381 966891407 269735871 996104965 358253359 381535627 708003397 805572057 961225383 327568155 346741151 839888857 330100021 943620455 284653021 829587397 514669727 592254983 840335799 217778501 622115789 232416761 204390285 773403629 788602837 639115937 309385827 4183093 217732849 366687949 331567851 40471677 393115527 863534513 509804667 257970193 630768925 883817963 655570961 678612511 349231467 12589697 989230423 968164547 108429641 89971167 438646171 248251389 711474621 784867035 33968341 608949941 257292527 927124913 83231907 404666303 467526455 959837959 935663949 559140563 882314251 230982381 917257409 962600337 468945681 210368467 157619097 123726467 899244821 451367323 306573329 245964317 832374025 177397383 532135187 359740851 66539271 525525061 851014445 336985739 217162069 34071787 650930581 984548555 501353821 1270263 633066285 803359367 309497521 332625741 361519993 76510391 742018063 946226233 845369771 78801979 5448279 439968371 355096985 574637277 133550487 798408983 726871747 90278991 17654273 576962475 95332177 310402347 16311025 584523033 214308623 771948527 876899305 657131195 649387127 250487305 948374421 688335691 107163559 502294725 237953223 711352303 677819751 555327073 886160253 191993141 713480231 481071867 338286041 670387217 696339197 149066653 361983781 54686947 707508905 259738425 709189333 208338541 316202641 128283559 590863237 206297821 960472517 799615659 755585015 233876169 965539835 423142635 691090967 273017901 600860309 335952635 561366521 513292657 835085721 730349137 724958423 624488543 963458743 281076305 808925203 788056879 411139651 330749763 877584443 585984381 803680831 890488665 599973379 777535821 932529491 48056235 136448835 274447887 36614093 52506429 95204863 112878997 734795427 148673525 257236323 260054815 894980215 667644837 767167683 396915793 256788621 902161673 330040473 959920185 571381719 851625663 602993033 982580299 841069035 784307793 535713117 105092453 373708809 974029615 399930379 91967693 662755353 753126839 486861995 544171311 37853095 895478821 838020737 168022945 622625005 810500517 50568187 103748767 873238985 850773831 131546025 876995855 964596419 999600391 661712199 390844225 320465931 934354625 77915833 948011493 823054967 336465731 118258443 685137693 675250821 701250877 985942381 677068139 145605471 892696135 972828221 659977917 183162323 35710435 714706431 821419369 491061081 273683067 958478429 306265901 95417615 744319073 944525097 95491629 308270269 908523211 253253983 800315895 810667473 902283483 374092835 377596541 854816357 678872221 233201089 199275809 343577653 80078337 619393195 309443495 164133801 651271135 429619835 481925435 907369683 124178169 157401335 393811825 95320679 330161401 583026441 347229513 74949319 350952815 817265603 304990249 813402871 906910421 487277411 209248987 812956073 993140621 797999177 706786453 379027509 310153437 837601795 953192437 601376149 69514747 339330627 142971393 813416823 816495357 133256163 516409639 627004197 498193893 178738153 336601145 711138457 63194525 965152895 991127413 291396977 385865973 30657529 328937347 290366453 381726119 949522383 217750125 18591765 395954515 806035881 887263403 269326951 329111173 415563343 446258713 513741609 195161003 868473525 390808315 864417605 378786849 319375093 981190913 874030921 913664295 954397015 579236925 604206189 502597351 169426241 759525423 480090511 346037617 359367751 125533883 192419895 124200383 334312231 575107887 713086355 34259633 227964611 408351551 333514619 406015507 794679589 803074569 337799023 325643667 864781441 404174099 893403031 569042381 770858035 875208009 570291137 575062337 801549245 45665793 13344355 829510487 507812811 46555127 813310367 145338211 681641777 98223187 777109049 896947613 639569897 761832351 34961571 898834981 68763159 183747793 750471667 426059781 12460805 75469897 900325097 978374193 209175593 522178249 533103339 958719101 384015899 63805569 159111945 829410479 381472159 178579459 802823419 71688559 582690467 740870479 808210977 374831435 995270965 219396295 318530687 389711297 342520471 736500797 490929605 876099119 273793063 271321059 331998285 551031521 881498225 612557655 465888789 792590341 977823275 461253791 534077377 186002101 718824749 949645605 565197221 986256885 48894331 947268803 784185527 157639597 130679363 661710003 921969557 489535403 852662997 371005083 322959751 314926765 504329133 589212555 73945979 307145041 620146031 799006963 330635017 832641313 397622247 264206259 203964273 649221007 178200839 674465041 756437147 588581109 72818665 257210809 981561877 682046353 844615123 562016963 918449173 333515409 17453869 500540583 936052347 678860033 551540367 429103695 392538065 665077471 504724911 788878341 808516163 197849097 281741427 46470785 311636137 603806025 344230887 171433951 598804355 432250705 711102269 351964323 639153143 746936249 112665809 774244029 560062677 697971205 603490595 600332415 480037269 805060251 162026467 808777641 972591957 511635405 668539619 251635807 585506781 538897623 647969563 627567151 487921821 397079255 630294451 230296845 770645931 333337047 80387315 857176665 563727557 477309385 818379087 800500691 843203669 668772741 38439521 474901677 320962153 326467533 487898607 903336571 906155959 55085131 547509987 46995515 20246177 435647633 758504017 115801935 325084205 575585045 517542003 795633287 591316233 126491195 540978603 624815385 195817101 264257355 576301959 439685537 982659003 414377335 954570681 671947555 939913269 2694359 893732637 52085261 900698959 638295405 826364599 210591031 372913405 607158819 9834159 763679961 67179743 595623883 319236441 957131165 387909439 714726427 371224627 626880399 880245257 240964277 613735135 999604003 314585557 561063461 130014759 212926007 296860387 567285979 283733249 124665615 725377049 731232303 451530629 632654683 892605447 768581987 45928951 317694767 812517349 641330337 125878211 85517319 910459025 961866747 461553277 840874443 920486803 457553511 46558431 454655429 533888539 685207751 477697485 797554091 707446781 618430183 782816593 917214875 421272253 214287991 690888097 431082523 467720319 585476111 462835733 975009561 803786001 965755953 941039155 330284775 390865135 307703367 203144867 533396035 637609013 486889377 732444731 876601941 481856425 937517689 645139701 5868457 338527679 296816879 323150069 533208369 392493449 796281871 217926023 152687951 95022537 219879625 180321821 580134599 132031975 417528053 792937297 707959747 477175023 34596949 636930537 921049309 126726299 593443217 128729037 225260047 534536779 194885949 46338323 19208639 117278211 364427985 808089335 507576763 640792949 541277103 56209625 521598007 211120887 559791133 833009991 139568337 997838985 53124177 806581489 462730639 538133201 525643105 331385783 678049757 9251359 347780685 16412057 774760849 204526443 325701891 236362177 482115047 98896211 119333713 16853383 459854471 361738527 690985457 61699425 800832123 667911615 275856259 851872247 906565947 802429127 784183699 580733713 79181729 156909947 809338767 102013603 886384375 273974205 706108883 416586183 637658597 228448545 968353951 565755331 396060035 946355677 657798427 568459009 319204943 868445647 920020571 549414421 420944685 453452157 607691863 252570807 67325547 170305305 694604015 835364559 229048509 687316859 504872685 832173413 967564353 597766431 861766917 337371565 100215677 814239021 719090891 116673539 861684315 395610743 699556293 689663209 962428725 616158321 84194393 961307659 542536645 3258939 533211355 323636029 364188211 557289375 793293443 170770295 743164425 813253641 711417457 587876321 665393981 645149071 662454959 684671171 183661871 839746549 249916207 731208849 548373409 463868319 310386379 743597287 746152897 292538527 459466819 337238409 682744613 158532519 163782975 867812191 380761803 83069723 997783379 663446911 617759255 648665601 454435061 818036771 436549589 208468745 105997961 138560943 405499197 865015687 943223639 597176749 264660715 244378751 222776979 219080657 116638691 727948693 357582417 224375031 546645141 780852247 10251415 678815779 191099859 885428225 237503563 241725309 731444701 421009647 623911999 972160347 983257945 996403495 178089007 129467191 548978769 764913307 536015289 306349237 252104507 915346403 861927271 207583905 924453365 404166971 776903083 513193963 694815429 192857995 759255005 354854579 873238871 502447973 131852097 329665335 654958529 23914493 721364477 731292391 172883327 812750899 992162851 419716435 751849081 967056783 593838767 493007159 195048953 851155265 394741375 607596919 567776695 334473503 314846557 877693983 826844367 349381289 247832315 952062305 92833989 686159365 464522737 540981911 943555207 126824195 842640065 147679559 917690733 672237595 170858197 534245403 79597105 86465899 709986687 790830565 124441079 348104123 421240053 228890273 144234321 77339513 60323163 23026805 374647601 837355455 761969593 771761833 555813877 676520777 491441407 489627823 394921059 870310785 641531147 203193639 793277607 131990901 842465177 487202513 368734039 299386587 558921045 920171929 695638127 113179413 140564175 510885777 954213973 542137385 996537217 429703159 498441943 437341637 645849805 687230507 852167723 190562881 638476027 550315195 538466795 296837021 814016571 94799449 904942111 331143807 804647851 907549409 70930997 81922361 601641543 446833749 84889599 979549375 876943355 124672993 418784957 478470577 410585239 712227033 758858257 827678041 898795733 723360693 286101773 877288097 439657813 547156765 424794403 355737381 379018659 308882649 224404273 981774883 371754287 940645085 248399483 440045953 516529233 678858821 310778289 557209295 687392587 383579731 540815333 571991109 842995527 773203317 374297495 781148097 879658837 793635897 842154925 416910795 883671407 847710815 957727857 902002321 21161845 67563465 562244249 266048749 558960179 890986369 380461635 206124891 643451991 305260733 151730677 414087941 512302973 982958037 983671195 393347769 190599461 19065165 130261387 35963373 824299961 777354449 529517443 855722947 725089161 234453045 706891173 56037375 373975503 826587763 209283 422810131 634882475 753938607 145579277 470097429 736660265 179695925 138412453 128517573 218986039 508790901 231882509 760340875 542340017 950345743 711819893 120872819 262241367 384838081 856362351 400587319 855219155 493234811 367926523 399808567 184101811 713861453 826977917 610567287 852598389 195841651 103646403 641496489 354478713 435836497 827267841 535695649 676052741 828486259 660607957 95925731 711306573 475647625 394782789 70543251 97534827 447063411 810162365 2689921 381363039 909267503 284026385 289758117 97209873 850961645 171565699 277933981 219073109 665573885 399015603 26647985 409426915 624370397 266160305 858947023 887929435 69083949 409321203 946828945 300749895 921918393 226845011 618133555 46246427 360881527 997590553 159906719 882063147 628830849 200409843 725493089 59333821 792227609 157924851 460874421 500085495 455801513 697218713 819331701 886285805 57578697 633818311 48023085 256897687 405609519 538613199 12304137 241122261 781120451 961107811 776797409 523391857 207828365 570393249 596853557 343502621 64199105 465313549 960311853 576938867 682314169 621916567 716381589 760127217 951290107 7193491 701531623 111339781 741763121 258761149 110587713 113862907 985991215 671011131 816386155 639665425 125878511 100179099 610138069 921937253 911200403 517177041 903977109 800848641 258451561 285437499 542442347 116954327 313713635 712493471 48978365 913869505 980359069 686430507 195254427 874827389 266515545 932128113 687051195 984443063 16385539 792321135 962929791 451350017 24533167 988045965 926101741 834649553 555660183 433330581 238589619 965699467 717083167 377955263 195330091 924405623 422439121 321885861 543582545 545508807 809948257 961668177 902637263 359247253 719592107 478827563 70198515 338522591 578210737 989852685 687028915 172729489 514914977 549651249 97310897 195337085 880761547 284672829 68860977 243584345 88988843 908890943 891543589 947343049 494801123 925061291 42740259 605091669 154688323 335572575 613891435 52471407 473505721 74678687 603944931 567943791 9376611 913473819 900392221 778655639 870229893 79543783 255045453 404484369 442080391 671883393 708544595 749176301 843189503 964258251 35062967 704602151 153248935 493715989 722918057 369614747 275073891 343230997 326603007 303028503 349185599 548829669 779981879 708946251 364900461 538950157 158920059 806091727 178914375 162003067 512208281 719726631 947157585 238607745 401632265 927088313 98572857 144110303 62579177 359626711 915632591 365057209 909241089 291322555 540996625 641257627 826067135 852094599 843660319 654665853 881633083 911287617 218720325 573132731 499486263 100642015 362494713 502325275 839719445 845070903 583552981 979552967 60646121 691592203 39725721 650534745 296032615 313772037 593208885 89855179 320955377 18304949 820238265 483778179 921701259 986299285 858035043 241492303 919792871 180749319 347394451 590700645 489693019 399345235 948302295 641461343 940149735 692108713 86230497 456846405 155274291 167031333 683816589 886396035 155803531 216022471 460908253 246587375 990825449 766027641 547293947 303537351 546020587 264607243 957100863 357485485 144391897 271001399 125483297 362628787 14156195 388499101 593822787 38342731 168744415 333020361 665253747 556587089 875084235 73482793 360432547 722818319 482389073 85175833 93072623 501088301 225920511 783332825 480698265 955901381 700683277 52030867 878201101 584993105 67119449 338444631 687463647 834478775 653191529 487723551 266128329 460471621 108539249 410655947 249300141 919739567 660982083 119027495 840455065 686325267 732903521 115615969 530768065 426051319 705878259 901081237 74427771 682936391 202772167 99263171 892711761 618710871 147056723 677384915 424168681 495225065 814533047 234449433 56225049 506966045 409673149 169244877 350655451 467816837 57526481 970558223 657146193 709245969 235517451 887665643 980038859 823219235 335083563 76115023 857408951 568845949 622481559 134322199 557381299 65216333 182960735 801287425 559352451 703754025 199683387 493930427 337127183 47648783 356944521 124070611 592772717 655787107 528833107 172668353 311183831 85155827 197551683 52127209 904073905 444559091 795686069 392695701 706948485 406088449 994299301 32868595 998923017 78651425 117595581 921151775 919144213 306094531 815947595 366842647 897962415 712016827 789231431 780998345 286268415 894995781 795186767 859896833 653550427 506673671 668562345 347729789 517109311 683289359 593605705 644796379 682647883 730053587 979979201 606593701 961226315 350474029 580510035 522782029 457888565 798597221 520100071 743681581 956990753 384737831 345284619 117961603 446187861 966441353 348738293 464355453 982539835 769275657 838871941 247121447 593793637 569975177 765567557 659474047 449475985 379785563 625832289 698435939 4886943 910948145 741794225 710806429 263566749 683264807 331860403 355243487 704696507 805511623 860429971 596240833 920862041 789857017 344334107 670347463 88694775 413684503 37790917 348087639 154142785 611439579 70153391 346908101 499960841 704999275 957537441 130174791 306945101 961794901 257324043 795979521 343120429 808167821 769166081 780495611 503413751 240588145 38257479 428602663 942852125 711989959 324817729 127634525 566170683 357549755 658971391 369160033 900045331 282158819 111661879 210915801 625697425 879674939 641303115 60279639 861025479 268705323 758368065 499492949 701254899 384623997 687882951 360520501 47117175 497508201 174746165 384929087 273929181 762477705 734780045 383968677 21894617 133268965 722473329 716236927 926082119 558372843 343374901 35451343 135192105 997383021 627857613 739830911 687856043 907139755 637889753 152198497 561229601 942936137 139997347 744280619 490373125 434228309 374782487 716028545 873918969 397323587 63502285 970613483 100281805 301553903 34998787 724187609 653702767 559915939 540924325 721590951 736108029 135115017 452985661 63301783 539659449 408869175 573007877 547731405 396388369 304886185 86118107 860443745 880988053 111182405 986028359 653499207 486007297 735267417 85430391 325459297 213937209 939237275 686989893 944053371 463078983 176986405 181111343 765001285 575811679 844016767 342667865 810786135 972291551 632115861 139965591 707101235 719977029 813927101 331417951 974503491 689623103 635031477 226516175 424385751 929833635 955174561 636968877 525767209 386173287 673032717 786463341 111793241 530408113 783246577 308412961 23870579 518061515 713674153 601433483 815514983 575798827 392439545 140197907 879558413 98944105 850156817 534760645 407643431 696995147 725397123 870972251 816335453 758948539 5601103 501073717 212382531 78474955 432744923 571925591 202545489 143168183 971236335 40197747 315318761 76895203 319727047 215302623 833044817 20119259 925960443 308222107 348389311 266510929 103139219 213885773 889036873 586629663 867185915 314889285 339729393 981969995 566729481 471121531 826073759 85800959 325834489 557569165 59522087 490270349 405432947 752886211 348707137 235676275 856185473 20253963 914087053 297580625 213262489 177525247 32887191 219842549 637639579 184919005 621386701 840202577 826894025 375190153 235185547 539840897 454044883 892904343 817827601 141929415 778367179 500846397 402486151 13122701 986268465 795629399 798171649 822645867 373213417 498333297 414307447 347391257 852717121 99039415 953638089 661372025 286363117 199638787 852016067 390410137 544723979 585818577 337194515 182413227 495529759 25897033 85993811 543708427 963526425 576354109 764111623 316836923 62708813 623874593 111706007 60748519 758204535 299641365 431801169 429844195 134796733 276755683 843738483 97389353 108040621 4078069 375395611 485197019 793048125 957812583 573156435 24864841 264922823 2363639 672911631 398034913 544492307 391203595 214323235 451345217 656610383 837971891 485021781 413168683 410925581 408825767 305080139 208540555 851957067 959683397 96686233 845309557 672987505 899949461 260782773 680474915 9928523 325040455 965566467 377358329 520709645 240647087 332363213 710689409 711058515 181332433 643397953 452746353 527339815 438252881 991309945 283895457 902170355 933016957 717186937 512623637 197293707 572705361 601449255 200611579 575848495 590331241 638884437 852769187 682430083 415945483 334867135 317381001 47154069 50012457 596613635 580234833 606315481 979928155 132490411 367133381 571698991 102671069 819224361 702093275 231029209 140231063 249337557 424931755 602625925 199590171 885466867 123827323 209024073 253286557 124169129 687754675 756321185 791267069 661178633 938492137 834906485 895257539 977279503 774259929 250825487 402137631 763964825 144276579 105578023 199153639 935875441 541017493 493541847 989226651 139251529 921012383 740524967 244271713 867499449 431013089 944419973 996549385 308542275 721822169 516423619 60684555 604339025 944744503 895601697 699434629 282047797 443711179 89823427 380162111 48641829 294364563 103025207 566918311 77882693 290019503 41478513 194030807 947168413 143616877 710902479 291492235 598453791 412570431 593249559 325557805 623408547 785890495 931237493 715502027 776644331 601756339 942916477 379864603 458154657 539436805 521284657 326878335 305239893 705344969 817917681 102100221 562039425 95563319 178214285 526732611 249402759 203028407 252721211 631633321 633713839 137217233 890335381 528633903 551903787 758202937 573444771 723932027 167636755 732153289 898261457 375819743 598363753 245417351 330207735 733752911 228786711 310391965 835402829 583145835 874188781 99966047 602261629 212811387 512236197 632521031 354370449 832437359 14244577 255206393 780907777 258781 81569831 890284095 918903209 313286917 602666477 586915853 376990927 360890061 458546825 644608127 973089053 177476549 577282621 425318103 262601645 833572901 873729075 159491457 493390073 24430539 703964539 53742865 129647079 699236671 390340623 516329793 410090693 683144367 326970319 710246901 900985927 231355637 53279111 475041847 897653901 622849165 834368487 785566011 526623257 415868577 94344837 251789661 578824409 578431485 498087655 113850657 814533411 784062493 217840501 675848239 772558003 35642395 176769151 876412509 984678321 75488707 540578111 824004261 109199783 728836737 914881749 323995179 248101517 764303469 715677005 754170169 832248255 854403399 959414421 896273989 905970945 858815351 666571657 260624103 178530689 254519561 304159465 105004259 526171863 462535351 151201887 17914151 363109373 558462177 560949115 49620675 341085785 728908427 156437685 919583731 25923767 672915045 714425459 550343963 126445135 862828489 857330681 614230983 125993407 614529973 692261501 268577705 954058759 991797199 546522643 446272411 775310233 686315879 75091649 22935203 438387017 413448821 429845871 541290217 583041875 593986711 68214507 464934595 692554335 241133589 386159859 562669997 290848375 892819165 531769125 52991303 366744081 529153417 653736461 646199391 718812429 596485205 987126809 865672679 679939501 729398315 844624037 66798585 876677023 172366231 961146095 706576091 149693177 229590485 5281573 778475511 721706809 661423039 434515283 59870943 436470339 952301281 170102391 170608209 45191013 192317543 151369071 879435565 416963153 666419241 580134917 108643201 730908201 248271783 271443947 128242559 827956849 898968839 788912571 94605443 157668373 95476763 283401717 565006351 110651497 255613783 956004353 285710543 556324397 740037851 744051505 992643989 335389831 225764207 495971265 357291103 976763903 32264579 16747471 662971215 58204049 727725613 11902053 16193967 442952085 619691051 404285045 169676531 42120915 454745831 14024153 779958709 542709111 242343281 46981199 224158397 2274839 538070907 483157635 473870321 402081457 527781481 980023559 374596965 890790311 760121409 394967377 491813463 495848139 852623537 506878661 807846953 534570061 987006483 808639403 122927461 918659535 682725475 778149941 997512897 950030675 594332747 89416573 433193491 907887177 362414615 950821505 772846949 239538307 830559939 116540717 406218717 428576577 584194793 791402835 800788689 50685479 713229269 849329577 633166011 217817155 255022195 329530579 960621631 710144265 756916827 36307545 202754343 475497303 645895885 838084013 452584809 887945331 133375919 68680487 746879005 925709065 209123987 972315913 185304199 208191535 72202157 209826941 788082453 292939873 106665181 912901781 692560471 747295879 916590763 905973063 384476169 491836651 354014535 416824439 4290063 449251395 671758727 548303597 722151283 886030511 235480041 834892121 299683691 876252849 905579927 117178201 528936015 525128759 745926495 476500585 562071205 680552857 505493689 283026165 633825301 445115023 306542275 670534989 509322871 156321603 797521733 936858283 267893441 143810369 436866477 847020593 310605849 743309949 611907091 370719207 849416907 440689749 620892729 51682749 794916169 982677645 142521985 712779407 884983597 227709013 567469823 549412125 530557501 191252289 381966439 689772305 959161187 560021581 634623259 251846139 341519793 958340319 263927839 99429973 1833315 702581189 68671013 202595969 806509791 140183091 100327555 901704135 398537645 307899081 504871993 979197783 866745727 668650633 836277999 861309261 620956981 645926881 48392177 630044073 815544783 593730983 230670137 451191637 385750905 743420951 693863525 831529761 990747781 592942041 616195005 328513223 342280305 644207863 850662705 420614633 701908191 181680105 736483671 916784909 696851097 995745419 418873453 512230569 234120339 840980257 310269277 309334547 636336871 951002459 693077685 500803723 550255579 545325387 515631533 81971263 683772121 183999089 389546787 802494269 993873781 19683505 493456541 868167807 712857705 209338713 274048335 20025061 277703321 683164189 169851659 867644475 540962319 4680221 903634771 583222831 718294271 519684313 48306255 558654301 535875269 411255619 802973645 529604165 235834083 373528751 200810051 233195087 977613829 738284505 769693137 701413583 212635903 370237929 363367745 961085437 744519115 995176297 841072383 714034681 626509453 919769425 767923747 659369935 454271631 157521403 484882797 609967213 188886343 831534127 679400515 348446127 462128973 957576219 477770677 474426709 824343909 471584337 922176379 230089223 217918331 5734097 513879283 469028953 827635107 371586559 20031013 392494529 465426711 914443687 735965889 36309413 427745595 567358465 57027869 47760969 620915355 231954089 62118711 799591905 476799463 974359973 204823481 211489671 618581759 605176417 963032817 989635129 197655521 384667313 259207127 394283493 227607485 781096407 597677321 414864471 819482083 275679091 222626253 457955405 442627791 747297941 717941015 762315877 77328677 209313969 180335737 276759593 215596209 11247271 487197493 105744653 40993635 840581049 252278579 714953573 592696411 195917461 280476159 234718583 578281689 326333009 476697045 580318825 623153991 348530537 666995855 669448525 661177405 364852933 984228025 836877343 69574513 499198641 301621373 468356285 535956169 505567199 760798393 495959537 685211985 126749809 1314789 751610477 460176955 914346217 263796015 206763979 866986465 781785399 886248289 729181065 251398857 382190511 199406581 130370579 830481565 817365005 465410057 118903227 179197743 841442423 129982821 494036407 268496253 973909625 509331321 430140715 367533737 10038797 236524633 437199903 679783675 958864011 542451657 539034245 600022251 524162491 430217773 916573493 974249491 908063433 801650581 769364723 14846517 89615691 390982839 529134949 156866621 763017277 308806133 656208413 985553727 791465221 836323413 448538517 449194355 741503091 302810757 911574575 285846337 710568887 206084573 425021747 466638897 578070387 555037533 69926867 175386103 668620457 139414701 782582823 655812975 394822601 79498011 318603315 68080027 748991397 169312413 97342685 997870759 224989821 739007699 215207159 572084967 574675189 58365959 867256891 950204885 280207641 264089125 117557835 615101717 595960673 212230085 409100207 46347121 436793257 746624293 735700695 266100701 570634295 289823537 61991201 259014261 481163447 776947827 508398537 226835837 33546557 967436837 410424059 477201501 556897611 412385573 802836679 48029355 389346497 38998267 844958247 787598113 95042799 328811733 857573885 516027043 474308489 587641997 226872847 159850299 442092975 285639073 930875923 300421407 902069475 958584373 477505183 266347943 36085779 809949213 421006901 738894423 712787093 655304143 998047807 634331101 643497255 492274537 853708301 716686089 112443115 508206001 144914393 486005719 350185587 285119257 251454917 416286315 882942129 918963385 536555735 356196369 404397569 589071693 188008453 481327673 316894509 335138365 729260325 280755075 322791007 887795355 610817017 340851885 850144299 292744219 235228971 485585831 162905233 927447583 531698507 64269441 243454965 480484011 332741585 327863929 546526245 449734513 442059811 806310639 665395541 972112583 298804871 554340463 772432163 283118765 325018925 818172335 190428053 860920777 689531697 404140169 531013655 508278379 986352531 241701631 86214271 212943755 21666875 909265979 161240075 404341191 524720381 982858645 314301021 4045927 992467601 135351683 15104133 523567705 801483159 109019821 929552889 127077687 909802395 206394585 591432085 706447933 950134795 25425407 877105309 570898773 114725699 815607609 270188991 128462861 703438211 10899913 728839699 71007901 310102003 958906907 275676691 64833761 984450983 412451009 392973989 228482917 734728855 38153081 444033045 809536085 193616547 247581733 617704731 991692939 662717079 735911887 547834323 182378627 155739425 270787499 522027715 213063525 801813981 378049555 569976791 873292291 93630025 482381711 133990757 981662161 490067667 588730821 831858473 79418863 253938119 303589513 965886281 414295589 871104611 645259993 331885907 369780707 278886341 574148055 222447421 28352831 11570681 612532685 147411041 714065913 657550573 887151919 159948423 333896311 859246459 937097113 727142107 725676233 219618407 390454479 476159731 496398759 253122391 144651705 912070605 556015983 326734303 187113325 678623437 81005865 820329077 54093861 325362367 20202373 260070271 447002179 737565915 496513495 311983681 40665943 790087101 893930275 6101487 400003343 574136425 12783371 322539681 566731849 454047567 353475811 125120091 977340425 160255299 668875937 417680387 391338615 695786113 621737953 673032301 858387433 59509167 346301167 76086607 421210585 581407963 678710711 234349645 250560491 385096313 50168019 746391535 322458347 788405351 850125951 515924135 808226249 877730027 669084067 487567311 177999013 954492337 652416721 496960677 866179005 251572431 436104509 123856213 152963713 77722563 730603975 239644657 369169025 511643247 822861815 490594159 121165433 65717797 371810557 429644467 200591181 913896597 249194159 881908613 318404873 771956449 417180301 277847447 503049695 10737291 849885373 343266689 128257321 84254851 730968335 567278533 389283949 638176795 920955899 379009999 439681619 356076051 167422879 615676651 188179891 42491791 208789699 484643157 849912963 775037723 501510613 6782255 707116267 937732017 517806063 728099201 208332849 215325609 309645773 638063933 846216653 973701577 61170905 695821371 194768473 165722177 903373345 295013949 671141015 558516133 774184795 181176813 689475187 314870257 555576297 94883291 283351039 891048845 854823375 858739073 379631737 235738179 79980737 606482497 236869953 254046793 936074513 484986467 785081061 904899903 304789697 189339673 133230615 842333991 540512375 834576507 826333875 469007215 344914565 527548043 747557051 997013485 87072735 556017715 233284955 567515103 109617445 547881283 445426661 194161897 564762015 595203189 134567127 405540887 59725373 10820203 527344851 102483681 928131221 838819501 451705251 643671587 915802599 801738923 937428795 681491745 307271705 551667393 388906167 996451979 874949307 544055599 857765721 740122997 893118981 990898463 147877773 941654619 2349013 565846433 487700455 583567395 851143859 537644719 985907233 861443355 435686093 720336427 358872095 973286903 562283261 491049179 406703339 149199061 964352447 163717493 865008059 391991867 991644733 888387983 112952551 123413013 403068227 173729451 182749939 270592185 262678605 657734961 621560203 433748453 579145333 343888757 960371331 334584251 56244615 753758383 865902293 772860877 886951663 474796545 840082853 794406413 141575877 935575921 483327295 899115479 633732297 290077429 90130451 261838579 400370019 508532577 231499711 982975119 810658463 271968635 679967751 647548477 580482359 703354091 855248851 240206589 385492873 283017025 839023673 20388915 388722847 336538869 206014837 768976557 498921251 902603373 177863143 282520991 993538161 285086445 212178715 998963623 592185223 756661675 686945991 594891211 521741835 142265531 418902979 916591735 717636941 629494819 229614869 56086145 172969797 77336779 219075815 475749413 199317905 425171841 200706443 142189577 484809849 713738755 387120253 822392379 153730027 199449071 444296035 587522353 297854593 59464657 500852483 877961413 794767479 726828055 708205653 121386305 873173175 237860893 396196211 648803405 223308237 334948641 958981789 519534081 196831989 253532497 703342403 773388763 439353609 383915193 823809783 453888959 733278101 931450967 309324401 795904761 853510085 157667593 196873369 475719489 999627633 24178841 736583543 274328499 816668697 754990267 444094269 15582677 245886435 818650115 270444875 569172113 855092385 455935223 999739169 700737 415200455 419766013 225754987 571634335 267995765 39785833 219095293 161992145 206645363 633067121 204027855 425571685 149979953 55769145 302677513 544056399 315587525 994642889 477053683 223625455 477331181 465403923 393276929 779613703 270622227 994056433 391380431 264612805 888154181 192512545 783056159 290111167 734251323 837488209 171869661 974797041 629655635 390535693 283799581 279508163 49407893 92462803 551431449 707820031 848532143 477797375 843016243 980313309 267415547 316990433 942902779 774720249 231009653 984806053 980886303 967671383 216556999 454678885 210159997 642546791 692145981 357279523 245227799 990647547 742285523 411422153 791819033 881414483 682340643 378152745 662276823 565535507 535774073 282446841 622353099 844236105 287192257 752747229 293442969 471812969 808014483 933645661 627195149 505684561 292221487 429281515 258434327 389545799 853485435 695003615 454800597 884461815 444952073 337832061 393040779 855015543 215319565 890433003 1966497 114801731 796843367 837626171 327799725 550438721 947528863 330062439 597578089 436753345 601402341 523524945 140955833 32786547 324705805 681215681 757804713 840857977 856713115 999139689 874858601 488895829 690042291 668156129 70279257 686557173 16913701 639228587 691395319 859875759 535310697 647169329 810871795 239052865 249531805 63646915 75756829 905700303 704957319 273499803 737887089 941924325 792984731 856753627 343303189 812776571 735374059 368111755 338922319 177767149 285037113 665851035 2730391 63533313 429719277 208682727 4990085 455550435 184129813 355040305 805527519 642726183 428069223 816555549 750043791 770932173 29618757 840713281 664374695 337429819 462854835 496309015 514569573 518420539 803005795 610775803 736187433 47519747 82042283 282436923 352231297 851364145 385896075 6601477 160445215 263754443 906588073 136532085 447317981 237785919 343976023 758905739 120298689 656486751 267891849 238464817 132087285 427029353 22470623 568752695 637527501 747107845 81782433 796736599 289820609 870281533 832911551 387565363 512771449 412095369 57282765 726987089 367261117 244995269 578631439 469113127 150481281 522619189 800752233 931121163 75500769 835475593 547298155 897323327 213057567 959207635 169187149 354852075 879470759 793917843 787637995 973540131 965902859 146183341 72652241 790925023 715727113 22999407 857582893 989333759 38822531 145652109 167526099 700982607 695248515 291234341 575469637 858510717 490838333 146342589 255270315 164929061 693105165 266728001 164842193 220369863 813121141 513259015 568619571 772487629 993555747 356276939 660824043 73538949 240712933 154580405 289584837 961161005 325173691 537669455 35074861 719017187 95997383 494047375 358000699 192822707 157384789 783808981 606388399 153800331 439423701 413280227 671173615 516213063 637669861 751009001 710339851 905132967 501820487 498696569 356786107 129076819 734415849 487624595 313769309 288334303 782165211 346449305 445022713 619770819 951917145 829694813 559209279 9839455 264945095 702906641 768101765 721111805 329055151 189083219 969695433 949546703 810568391 313175337 815795125 324344815 349016807 158007549 93860503 354762077 804536341 102969769 52420199 88034561 46451577 475426919 895384003 25534639 6130281 428986077 851676657 729297693 530600287 388075033 191943653 524841711 387625217 242117009 756120369 570174383 457829141 927857695 867030295 616139979 729165715 367746315 675026815 172259997 614862739 755100417 447909365 123885929 670824539 481461529 793363125 174478933 82884693 395226571 329535897 151068789 521449491 428515329 506485547 923636671 726821713 97123333 163278235 844572183 561433589 247228559 793543103 678769221 718863109 346520507 293480471 361533691 472175545 999032333 923512267 70005715 39714411 115372405 359691175 147416139 214513053 849695301 577932581 347002575 977286393 285495357 350390627 615251377 475514455 858146689 544239657 178468903 66761903 306899359 973872357 388872021 562356515 765923467 581046705 665609027 352811009 618020773 644512331 900992995 866924475 909789357 516581657 989875725 532726765 175730389 906316331 663839365 546653273 850927537 998935095 197304561 390047211 649973823 566103455 372309219 884783541 53600737 361591657 124970199 48733685 91661671 108169795 152766761 997877515 177441799 391139717 149228327 899251335 245714525 405129775 736978433 194100247 873951597 950449129 909252559 875126937 363956645 208526335 736594581 682548495 162974171 346103917 859724601 941255077 731939917 196798669 386386061 576321199 462607775 159283563 197475403 260757927 912360415 442900017 640302613 280014895 50073473 734927803 633685107 355686167 740167267 394941511 900309463 611040077 634659529 364516539 862487449 676264687 585407587 315269545 465688315 277063743 932080453 235557445 991841831 952097449 429626603 178312559 332923181 760561089 739374395 97171119 728153863 573454401 334244229 912001843 579349655 810129165 10700665 855385813 96901541 123532337 416460855 169883921 252023777 697999325 84585797 769670161 38856679 113993071 273864593 197618083 760356407 450313835 230004333 815903807 304069691 314030969 189663895 67104257 532361539 182840687 635079991 977156021 884678537 398322761 760768215 705129415 364919599 579284519 732182639 174202705 136687933 703715413 211701339 656265487 331220131 432210505 816275297 334353513 951045949 928995483 786172843 732759665 750749387 902912529 910002131 377498331 878904823 946647699 689287635 378094855 663572817 915197497 320414225 306944767 35148883 448592441 779412059 92244079 785132125 254527481 211725541 603946415 110741435 791516677 257267533 812811965 328192667 270746895 709523865 798758469 74839577 666497265 732377397 478881425 737450805 813963185 171478519 237086363 532703193 217615481 33167643 786051841 36211667 159328411 338451017 862125835 586343905 199348373 935639179 102713767 812220579 989243655 513881 885567599 441450911 127935423 331442573 723865247 313100361 587986607 365113969 62509601 5554427 118934769 740376237 57176707 187071989 782463947 197826393 217167869 344036961 839848359 454930163 695749739 803703117 257419033 95004767 982250073 226015415 276592089 132054507 500535283 391763069 178936783 399852619 179849745 485648235 329075715 360247197 442535733 288667183 106164137 398732391 671157889 938948197 408886045 798106771 50245833 191251851 318245601 229671035 62448001 123924495 511367329 793271257 543657929 316935231 64836657 123040981 61492585 4275027 578717323 177305337 930738641 271964783 722589393 662447163 956570903 169025437 798998865 438030331 543055611 347436235 104763519 536943099 759703523 899955925 470903795 297484137 80716767 210079865 43699057 514246619 137347495 306050915 745306085 693922895 996312473 836802853 621422179 63551017 566335165 775070263 465500965 137924661 256473027 182753529 917372559 688101803 434436095 466908853 511795755 220735783 233291381 206837917 839906735 161502125 31382727 878922955 275151347 953584557 671369289 552184125 420934651 827869689 232317681 336544991 165983731 746228945 161625691 208474755 84878895 296613595 693159635 225119199 79648811 378637855 605995077 394814615 990253959 93332249 690159433 170343731 700268303 286030241 900184607 705094181 372920249 941925375 531597231 3101895 48913309 262548959 362919557 489055831 77026561 933909847 863335901 3503873 120764749 853817315 629364369 561886935 620210199 486328683 58092587 539557583 455333403 260119353 878460891 689578445 83085881 490086149 460260215 82445209 999865469 845369833 59232895 305273317 821904669 143582063 846621465 413450569 290236273 339425919 944158485 383198793 312139007 66986611 656104683 668876363 295818865 451629059 532716217 998060193 874841241 850015321 134678343 127487365 759286645 943965185 512516355 837802265 983396133 442651119 828029191 436794981 98200823 945347201 209692687 133814363 897727581 579949693 865481605 944723155 899948529 294734863 892085367 564457871 730282105 701589453 997485723 475358009 528938463 188127155 174802771 148888161 617659445 222552103 93466787 849206915 239669433 267306231 209347645 700337915 550554829 279070297 755964537 46477847 149235961 280061415 626166611 652400647 918484469 277433257 980788083 133048291 584277915 564602125 297772843 78229165 861029869 264345573 427498863 179372111 703696407 540340593 315304159 943907993 703767405 797130579 279737539 120811589 368635497 798177949 73947659 695550453 186242989 924533441 972808269 967737649 179664135 730227869 663035593 887516521 93319787 70894453 780086629 765240057 307445999 855283193 950662065 39018529 119888349 743859003 421536229 807194123 352268187 576526267 444146143 688607687 513453247 237797471 731626021 282129231 498627331 671857009 247788267 878997637 170241097 135795623 836481795 481195055 35788705 997804319 925985521 132446979 747770425 248269919 616704983 146698391 314346607 203938643 451209353 370851949 648159429 22151761 614542461 150169837 281116905 192161047 387812047 843247211 716873387 492510663 739188043 262016543 596999943 523601393 977784157 164701995 50444577 304442251 411267357 297236373 470219587 5282801 555351115 524522323 996563939 313031911 391482191 252705083 833537177 354310045 826989109 11978253 404976425 216030117 206775 399751543 604081793 132038655 894566451 839956231 314120625 952995855 323361971 334384439 171676917 968261283 492099041 1677415 759619249 107398383 619066649 544143843 358111857 938255761 299113817 40578777 90704357 622781327 411051079 831518053 448492525 976276821 16241971 182836613 116509063 346288567 465792533 629778471 365050595 675491063 809613451 661485081 858174033 939077557 244262619 395404563 215769423 889744897 236928249 136046779 976178045 106223697 747735927 394712981 882390953 415749759 416306329 633124373 549424837 29966035 573607745 996757 392656107 841462011 269731843 81277781 599433313 409715977 3379733 306758013 703602833 859442811 271343187 508559393 327148301 630464825 818793545 937680439 282975379 881465487 943337251 156788387 869147651 114085937 853629113 374957359 530958187 323683645 728034955 624701833 255101693 908563767 275395775 59122763 148764693 2737935 789175079 281311737 118076469 580994585 472765495 248488953 18527751 133506321 745784847 647991199 165249123 147042077 931066231 329579297 581054273 948885195 193656543 448885923 728305347 63528719 147303261 619824431 184274487 323852359 243373487 643984307 920844559 268130617 114107711 128826889 234418151 931555347 808523035 828118517 397237633 871628135 261048571 384739869 679100363 613162291 252091965 553363731 534961875 14237151 138335465 198230611 940547033 144894261 278324909 990359355 542214207 607541101 868504547 953829397 878469775 468352033 479745671 740853011 389380477 879899995 669727043 3773773 43650789 865267843 367958627 836865989 903130315 192022899 450457315 387147367 473022551 473645413 358718813 467832063 540001503 861598207 932703005 96947785 486135005 906591309 92783887 782644967 486767349 155144137 439552203 383879777 135173361 397914443 717030289 573777449 983152325 377893401 905430855 817289879 947937679 614848739 379228543 437090287 393685133 781457597 714155627 588675415 988086829 225100325 328452593 737614817 696534275 407568381 585843347 762584455 514094283 398088853 82924675 777519147 260976485 920802467 282197653 891586197 335646173 386598465 869601613 702636919 594094953 927639543 987595727 292188265 711750241 933303731 190531819 582396141 527330123 710355911 384654873 94994285 775694287 315575283 83576439 745696313 264581571 340057179 142234571 959812747 305247267 388139147 333902217 731368837 100060687 853331579 660359107 376203567 448626133 220437383 51083835 787263867 952393189 647859573 408302425 47832897 103044063 412878703 727167275 314524483 177959299 710045967 389671015 582197547 564699579 394127695 621149039 984108681 251049375 870061461 952347463 588736471 913813349 734532271 144680609 308084597 458035573 834165203 766340819 315274415 614455637 221042075 24275677 739560117 516187837 667276047 65664101 110285727 766194311 183084699 740985533 31319919 381475765 353571093 221120473 949026573 677100659 788175547 828424537 847816013 121958675 822232111 976525701 550257639 667049235 378326403 386207309 234942589 229910035 414342953 695235141 340919189 944342241 245990653 617049009 832549285 761421935 176283977 5504373 880720899 965038297 778666933 829294113 864390129 749289057 187060827 892065515 34134423 169581171 2824373 609809077 916104457 392396963 627799209 998487813 952218431 616336811 821333381 746346249 386183963 138689133 214622461 809539739 197840483 613967609 130296879 883950391 993198285 91747709 195436705 780970759 592232173 554339671 156429631 82324439 114892105 376581641 181676381 372127779 230033737 748756543 758914493 530211333 587685437 520743117 736600447 18698313 867201117 836753325 178475827 690037083 976286159 373661443 802285007 794012755 239160215 752239129 988411311 468760049 420063913 835799139 837112215 514787227 92352735 785208445 833452469 196765793 89458681 156390187 980698783 437754363 708067487 54308949 895500883 321051079 982146405 529632273 399123765 968313293 945722819 267136409 206043411 890122685 66545433 587537489 222915105 359827437 566418353 495734981 436656637 837508699 187651007 219476389 250855595 859965361 527046231 684505295 36470171 268724797 699903615 156064327 926345889 376991479 182987293 483855157 782701817 355790971 84535557 587756785 229166153 311659541 15254509 740294129 374250911 120343729 207577465 726656731 132390513 181048297 693228851 335722875 251954585 362638585 92129929 33606081 998637151 451034059 794501589 188986573 426123631 909384683 297022811 752716765 954034655 458036627 679657025 454993249 877378093 76379299 196695963 421723113 384778555 71716767 184821599 142757171 344723803 77805241 205334897 837093663 492580671 938323143 278225561 65038523 495732483 83577417 156278665 133782841 209302833 134998117 609063387 776880371 948978609 708352493 129594125 469723759 528819933 486043733 594104717 901445463 266761839 275974845 342172583 499837821 781462157 710994669 722420887 296133087 894200517 911445587 112183167 385383325 604807947 542795017 896284775 754202885 414896829 912641741 888278337 710014601 412099489 401479685 532910823 203129285 680155875 388482239 608444951 680134267 372725273 291876279 983883389 924082071 682402879 708271433 227915177 961596461 774444221 178103421 889373719 625452661 241387613 587123201 345743909 154118359 129133143 412115757 31793437 86390491 493437253 444699905 981587503 36961333 883932207 95157541 333449081 897757633 507531139 778703589 427689207 975865473 158047763 115068477 787903893 68031137 143213599 999321287 917658147 370315893 198917707 348439245 848756315 890781047 719377571 976781375 939405791 302352203 974098847 315305907 410567479 876166843 222619931 892828009 235974869 921324219 460026717 226735175 823068689 303099239 661941265 869428959 766417453 859948803 75907917 377888867 164997459 884211447 160447629 774491577 515225491 636597977 275600823 519984227 118926311 185176419 64227353 722204049 678005553 821891961 345253737 276979485 722872633 913938213 274333889 259836547 309845935 113434269 972452265 511536109 546149167 1917241 72659213 216535849 369882683 845478013 509353539 986073775 357022775 263681815 863112713 753169563 167522937 708584407 289112963 344510393 442789177 908547769 107577149 175324789 913285273 737519585 189566511 922647529 805599649 983358107 131466421 931025617 7926593 945673815 652843923 704129173 229841237 274552245 439333113 745489479 413427613 648298867 331662201 580120987 84668099 61551489 277377299 836555249 956950871 884397551 532698155 524336979 391955155 232918521 214972047 839866733 755925655 302962437 980615285 592050839 63673583 36276633 769843575 898163919 643725321 142967405 696567709 637367489 551523585 896542555 962262611 424685239 820779223 564355171 190467951 521473963 970366837 751903925 856910893 379223099 926372011 974838177 228847669 322305967 813002545 677382053 206551697 383066869 332082093 821175137 679746231 106579367 235251107 341814435 308806535 221463809 689080457 619984221 38118979 383169773 466955443 956094635 928957339 159949561 130101351 66418639 426124449 29336411 347177677 339142965 210632661 528199157 650062581 314214767 42869787 807535437 443685079 493799483 567301057 388852625 696132697 321790841 450734971 580993433 690500159 639336503 835631975 762154469 66094397 363044265 146721801 294571933 219980013 213286437 934931793 460969869 971070159 717142579 53332883 428066097 79715147 964714877 82281099 635228067 827526325 63746519 33638495 779360429 611366979 91124795 397866141 836871103 965472027 969212365 863191867 150791919 56979265 327577303 222152595 467600381 175732905 307773901 99088237 25803087 51503661 133909067 126475767 940793077 72519307 206870547 32330947 936301479 241362289 618384403 749437647 994752451 526607979 841566041 616392579 918457425 845330423 211107365 843837867 46697983 465580659 700012249 64603259 865273895 861317929 278964481 21480079 460600261 501295947 731380813 415068913 663828099 726831347 612308379 912855049 524875695 537670687 379394541 478591665 989670721 948138939 834447729 331821347 87473877 317265561 646183031 704516613 362209975 186233455 452920443 177347941 316534995 272759009 583709473 355525559 514322881 990677113 118234933 375003867 575790017 984704933 167698855 541715729 890016187 905995711 693690005 31337997 781876283 651709449 865723459 295876063 774733947 815994031 953779225 501849093 237879131 572810685 378920367 762718311 789555807 940010031 528429499 445385807 399226553 440537319 816895267 810855797 789941311 825835437 315156467 647904499 460992113 171706419 641569371 249628241 89707893 360443153 515106747 847205501 909421851 109700299 362013075 775796425 79249371 390633671 449142925 481393653 786385875 965544535 413664641 517655845 329864651 66893749 996815973 342286567 369028145 570760963 16845151 396758575 604440607 824392009 476081595 16465243 239260753 138930041 913498347 293872945 5289521 64077675 372438923 98203099 177604813 991093985 933722205 816903667 625158107 79030917 866664779 423618933 638415037 807162089 81025645 91568323 461890935 933192579 531896057 58118061 376908219 703124919 564219991 819120231 42867681 831596491 534310671 294617745 613243877 867163125 153341909 453603885 73831023 389745995 717734021 256928425 893661135 308218063 732846881 740271069 852572927 838688875 282811605 678210817 936980121 633879023 420081395 871684031 703618535 643073045 3545081 130080545 500478937 532545919 695720585 782068383 429023237 674715061 841575533 689072405 138251179 778544167 966817689 292398025 82285745 179193137 975789865 212905829 655322279 633095445 231548511 104541443 808320963 516203255 575475623 785122589 480092135 977989613 608310677 416667289 978518425 179312111 186095075 311982021 266976521 130878175 319231605 796374869 400517899 513024389 241798229 928362857 83482147 660608145 237009079 945704067 185441139 1925023 363750391 766641297 726796751 643809839 651064985 302477801 212581037 950490795 380509765 888661575 883867433 172026723 966397137 894873043 455136527 313852815 440856887 815502359 611645899 424607829 933519515 897129739 981703029 572882873 467198791 586822667 957265869 225455537 462413233 492200667 9460537 93496595 336787313 751888553 359286731 960432289 593353805 457350925 677038647 898273795 752676653 291043073 790824669 601800397 287858471 968818155 745532613 570812279 103943287 849169047 674331807 374835809 745875325 993877053 250786753 698682071 866140613 962345339 946173227 739449351 857880325 633678673 128988291 312762893 557438997 765925425 220309273 44212457 390437371 716103919 460873957 728481155 331291871 607041991 2866565 148694191 772435225 205084513 544798015 74659875 618907679 420317127 507466247 826761093 672265623 967340911 742377071 605549913 638682701 633569849 133857979 765265939 750788403 293582951 463265229 953637645 961352803 558167463 352349241 441445255 207601699 450013199 649752883 208802217 833354205 807178013 198171037 762390919 487387427 380018869 687901949 414696471 423236275 622780453 528871553 147043389 211841389 248519455 494537217 801203651 281776479 463282885 117912829 531269719 615705275 916955291 612528539 741508243 46311133 425694093 101736877 233432827 501195591 935055599 181175207 777971957 719632549 112932225 685120937 506041301 920944073 936950377 589139067 684264913 812513969 450014767 923349133 366747407 948419967 576760783 62351605 509928083 569633661 149579169 926211697 652475729 979157535 81026669 12767851 222878497 129893377 742567519 199930353 309589959 802142181 302172173 103918779 453179881 513952183 309292405 950489127 167266329 800325515 263538937 89867837 102982611 276145819 993298027 544711851 678000245 487371337 78413307 921706955 163274825 893481763 388931915 549412761 742171009 502494173 962091613 503559359 722619701 755993679 237867169 528474505 958998633 893565565 391479273 403317491 544321283 481332115 890366837 50617239 401854677 89635045 399389929 249896641 376526489 12947693 952354643 6723421 113530609 423517775 534383143 586524931 224624485 554355925 833518659 512625395 250368871 727874677 950000365 472546067 404888399 202880071 600323793 783305459 131463009 155885455 57483525 299869387 797627587 959321787 481270789 131249275 536684679 746391131 292314297 570910855 459570855 205377579 547007339 15397151 276535045 820640271 521161937 70670109 907956841 395428115 667369739 80075519 326714757 431380071 222599835 692632043 960130033 201248873 211608431 809442993 630161711 492272029 165772767 205294793 932173737 783966637 584838051 60069711 504313775 306340971 75676901 260301839 124680315 154299603 415891249 259865207 90745135 448738313 684409467 16345755 595360211 221328473 705286689 906338365 328440921 550108213 578371559 315832261 765412761 251251511 38402301 773002049 983725653 643614501 319459575 692419431 584325687 190878441 32746193 422879895 932448975 794873749 635305969 645626331 327232663 205527399 576307493 56213983 837579759 541934271 713050017 904717307 884526627 340096299 845473797 100298543 74024035 713028701 364585811 363666209 609707719 490292015 694410745 278626595 456895825 476726951 493121229 337640745 882524395 672354543 952148491 638504147 321670245 129839707 308957275 906627689 942130551 463359587 197295047 225415643 157496775 577466031 702345927 744116669 815228891 695065607 309161783 668162131 440630819 18335071 399430491 487798913 277225979 260451027 404735715 750609111 703568035 157724325 601349601 624533643 762634821 556986433 527448533 76708479 404261105 490343225 118473379 390279225 458336671 626744907 215696281 768176871 268252469 183334489 276849771 763033699 398296439 386615149 644897335 255067689 57079835 336228795 657918595 370056291 362189751 67548831 406539835 879049437 277007051 498355099 581920437 124966931 642145989 769137499 466488493 189057055 830526195 133527219 822073675 321717195 68411277 253588381 530457369 45369223 785146041 767553085 804622095 804859499 121377659 140929501 348106119 610073905 162496713 604790771 805039945 947358535 1025143 725566231 95413379 22949815 424483915 832016397 463899591 321368635 705393899 97014979 631543573 629843505 79279851 861894985 628881617 182548897 761062339 737621723 229716679 490267195 968517843 115145949 678964527 603899989 617733733 835648985 963023781 956869101 149532845 512704645 132065839 476985261 907053759 267505849 483277881 275547107 525187489 399250553 112162199 629948807 529559865 990424307 567887753 305606965 403598683 519520119 906539445 68072505 689968317 100266625 773942053 598833535 265595909 857729205 885463375 339787425 843275959 436823007 263842067 138184411 811997767 755964401 890517939 302354455 122886415 120826373 494496221 145805793 255763277 544334689 814018215 252203635 478347309 173516397 361971853 645806509 320081601 300587457 207272055 847439379 277491455 149499667 772902577 893241815 767989451 238327881 469617133 320546767 664019183 13303919 128568909 177535611 346344985 529565367 275787347 502196993 375689187 996328317 938395631 396566579 879369169 559044417 943278453 57432965 776322121 517857203 611068065 245284375 677232029 192263333 987552153 781196209 664840969 900814095 198931945 531335105 91298217 695436313 346126731 709963873 781834637 156955659 605695447 504976719 113923743 625430873 233546389 442089711 610544063 144928669 470627569 414502741 329873833 420088989 60612225 824108855 486498825 956786499 993124929 739938035 182994545 858108067 502496663 489527695 453035351 696920823 355819859 531358143 324011807 375663265 138311845 79871701 256513297 883455791 621124655 234418643 768994399 72959061 183932659 563447905 172758305 96803561 346657631 9104843 581365593 244785141 422732363 774705163 181528049 780603295 823333873 862261441 171525561 768522299 495405813 821970481 354023021 179480903 158352745 239823437 209617833 415293541 573435839 448167851 496908795 704816223 415739861 904002187 451246547 157383723 824060913 98977235 173406345 95019489 625372095 650969621 712149855 845610437 445503827 154828931 973735039 737706307 46987309 678880771 414265849 953379311 472098867 854894615 123564231 244887683 914423471 697836015 271470539 456832995 44611415 519564133 444350669 790507547 839255371 691039221 815285631 80522075 146555405 347934153 572223097 699108609 519414923 181293743 73300541 667357841 53460507 508614941 603285043 50494131 783107451 421924661 645351857 84269629 951149005 500895165 618517227 889469737 764240291 446722339 785790979 199042971 915747311 763655297 354679301 277088479 979704589 241876627 271352799 658561127 109507015 642862273 660637549 617602253 600919621 652147741 765735535 620974295 900667169 646834267 770720655 168817773 799672405 38096603 521544029 164755877 638803015 896138151 683293011 886875067 399171781 385760875 397941457 252135439 573972483 768373119 311271459 952987439 418126751 249588449 257058167 244015051 205776287 516398907 386912745 497500611 292551535 4956381 866007673 511233815 202604261 864161977 254365969 723503345 87371071 31208309 297381249 85060265 137483295 730466899 936006787 8075445 195444373 879422531 705561271 769147837 493223447 84846303 326762407 435577225 495304065 791546723 235854023 752236557 753898519 614671801 288408685 82518627 600796807 208133487 103450329 531925969 944979433 887972027 222662969 890827457 391181495 821107071 28243099 931492807 150833621 263846465 934217975 42538651 810357653 972714287 734135859 841983781 187252393 721559841 185683731 426577517 237723439 716968599 578903627 964200871 145925037 687249081 316278645 179412271 217140239 49154131 167308817 400955271 128690345 852471007 611897991 444568667 69436221 674812797 642631979 530862975 203384299 788137457 821263669 527714283 226490947 228172205 739165637 472325319 114433595 710816967 328039653 429975131 926812461 465967871 815726215 582255901 348323553 958803131 148558725 256415907 733722243 661166603 63311517 55599799 34988457 908842919 947132285 542598719 801369937 145898477 185286577 309791313 876611295 811359205 382657463 808482599 608240927 652881981 942057453 65315109 678973257 761679439 679007133 147244501 671187961 436013847 674846713 563032299 820207155 969317439 44102939 361366851 783680615 243649301 100226817 20819425 621072233 289761167 303837849 158873325 278366069 105930575 960879279 338677437 875402033 70234267 82287361 359587531 485846187 405579105 993643309 3340987 335786071 496817209 844936125 313646937 107559443 660277603 303427363 24337813 334809125 616138183 896237751 137120655 995597881 480568817 507643837 701361541 69674085 290434843 733825627 697066727 430023719 374881829 866620579 562800453 395781985 735539859 388174735 851998043 131331427 411245463 620580865 238246927 843876835 34033415 742092225 934670183 473421309 57486433 638417025 905905051 808220981 794110929 696832731 861417987 694538875 650901281 691002189 700980261 258194209 422611657 299183939 655771307 666174951 610979053 635372557 184937063 383300081 104077901 710143463 126765909 523498955 891352927 495924973 816028571 298914415 405108533 103306285 773752449 705971253 116295315 176953495 129344889 278760931 577450205 738810883 962743587 295802281 136281377 750843957 265172543 561346587 692985115 619949011 451240121 124039989 920914983 598519663 46205091 76724575 962807371 782818435 633175867 683821667 215568697 607130225 159282145 117253239 47834439 865357697 595634467 936918331 446752887 768741347 536404915 296407729 19544427 342316211 30954349 848064583 800883829 897511667 809505363 313380307 220602509 735086727 62385553 16923795 232064083 899843399 369657979 159749163 2416395 835616231 58815369 469365159 964693927 557776137 639214435 568950911 881070525 686787129 785750993 962302863 864462475 111956199 958544583 494229019 586109947 814090091 789630817 645277395 161309597 768555527 212608737 233798859 194697635 730616291 242498997 424878719 369112049 247229971 10348139 154058453 160366349 476187279 589980867 312720923 360253223 333584697 791814303 21224709 80313619 725144281 964484361 273899441 303024469 419980319 297673527 104344741 993272591 825950887 410091393 449236941 822819605 906696177 964563563 635284351 609590491 73922151 295916961 82705273 199088003 887661657 59103479 268535261 944973011 328598785 222060393 411168829 468138553 395037567 417419797 92417161 362749389 773973983 116037453 370255907 236847439 296358927 684330367 1798349 21548325 505837803 292711499 404867511 753774945 844023091 830796143 297758835 566308023 616679055 199362523 739461121 198512519 357686419 282735775 856478149 969482969 876725687 119355895 858249357 409165661 224360539 167791175 573990797 50258025 932497355 711281435 380156259 614678781 809475893 357463587 942122261 665461439 832240821 239345215 27807503 138848511 342848587 929050733 255079975 294919603 673092319 718148829 814794393 425473149 659366725 458457055 11749643 103198115 754745653 525676273 622930827 450013461 996024911 675804083 905955471 776581479 978819357 456689395 72048113 81458397 790513169 144072097 390075899 3877465 966603909 287984093 533658197 272638575 187332537 773223399 141545239 85256275 431650261 266310953 623772607 338056935 910445805 392859451 706306609 648826287 358208503 772221139 820112313 668147679 725716953 651116761 547205135 879941449 762099287 479561557 636286543 592162159 535450405 649635451 690933757 591868023 549226205 602530213 745116681 296276017 836527101 482002009 625761735 653034261 882734067 375635265 219110387 538355011 850796043 866467121 348071859 182069119 915498115 942027299 712653717 988533307 219237241 681138233 753443981 319314571 296473079 5543617 277583611 534239539 184364783 205059373 809732513 413271447 371202617 788048409 887642285 258856647 34006937 981481031 358248117 307682939 781140917 835076515 345750965 998835217 521824033 443608129 486423573 8257937 478841171 345157467 457334175 400216233 242558383 688559189 824893579 788652465 679893629 403146681 524809333 150424747 214322671 778708027 139808097 507891769 579059485 921244599 771974847 63156399 482002187 363544623 67541601 288342273 913231263 37157585 706097031 434557905 282400427 266335981 31416789 243300965 974680811 102693631 40604761 363937195 961242875 268027817 24924295 672320827 551691371 1970875 563118909 782916693 677086885 413868067 314345409 46688991 8045065 624358655 716330687 608404073 171743443 289438867 984142669 772022571 540045359 349708103 740748263 164672261 619932461 245128113 708875635 360697467 856922567 854247307 414411327 16662973 928506335 395852475 720195841 797455781 809569853 807612999 536841173 183485617 791424403 590897511 703378751 699543047 795592569 46553715 749121837 457598583 345917809 607589873 938747381 540988791 473418213 502315401 537006421 601236521 435653925 431578897 429357937 210107475 16602733 639313797 488299477 651502947 185985241 838092805 765706361 792555891 617937015 409381085 478452921 709451327 73247031 462845059 767074395 859299889 315708401 908570257 372371083 27596119 379784551 806265031 286635741 411261543 300950339 517871637 648776785 439439297 184422677 228411787 942430285 566491247 533663063 907281255 199847323 840899869 931225707 19043337 675946353 939254563 54372759 624674047 272817261 824822145 146064913 829509115 780801941 859792349 51870191 812840409 523071829 295591303 763832115 993254811 883274373 855699575 209950919 538328939 44237149 39740493 71406971 5306273 509018759 478291277 676110089 787762101 724916237 305523559 870622993 707722569 71437927 588151605 326180895 887289643 556031857 764465397 771711137 582165069 669897583 8853901 111073779 558389451 628289553 642403725 246103381 488351975 421782889 486727723 823431409 206363149 596126967 126686793 272336087 237494737 32026783 35604845 415568385 318747885 416416175 280595653 703141199 428089411 599491547 704186923 950439051 563079137 829410369 234429211 581229417 706863099 893516391 348072383 158221439 240954855 94966073 348963811 111326287 340515631 977382925 349807105 883343425 630946937 658514847 499777593 509238697 878455451 338821399 670164303 73614015 660588431 86859007 262153653 435863459 166620535 889339469 870281345 599649119 45681571 798522209 158340723 314706663 392279937 599970045 176322291 97987599 468471727 735922511 966269197 676064925 503372529 733841647 232319099 859388729 320671535 149147607 984452251 739773041 322540159 84667499 261272437 627332547 141264923 976362621 753315001 118108813 19635559 314111551 32780475 259811611 183995629 166599503 47228287 752230811 38154595 522629555 46627241 731696423 271046817 929163989 303276425 708555459 561489069 609261199 780178965 218291797 657914031 106016795 121867759 24651697 567671805 23163679 277889117 26040207 970812691 245199529 492021837 384166031 73831057 165001775 295987545 166454331 7899715 635814027 606101693 223970821 997376543 491101445 651555937 16184391 695495997 913989705 108393943 340835135 74578659 772526957 975425875 703884827 212098427 996891375 688732343 726453223 524772759 519812019 573030023 757164193 878654197 681478661 296721141 739955751 631489909 304790173 987294423 974757187 793860133 927867799 801275565 842746023 163192885 519050103 200911261 732728299 676154373 430891053 966995577 490703507 84740629 436915723 383616691 789262085 193661969 877869265 809198961 827163539 82821067 742888099 196241013 83398009 594812993 983698703 324235567 535143381 650823827 90724873 481840569 34230961 382711055 45592303 699271119 431084031 989694503 507293575 405655003 356930711 439268727 596433149 91367403 144752955 70803137 259939559 251476663 773095829 77965553 834577475 84834461 616618807 387265305 906763379 29215907 466989207 849997687 70414919 13972349 580300825 932906093 947590901 486677117 588080901 685454213 296551705 915853477 465467021 81148531 489519543 525097373 254317769 34270227 734185277 947973809 446467003 777023847 465678977 212560347 91972685 739572891 367907265 773677755 49210703 576355843 842714529 416276373 117544061 296120089 138621487 588040795 276913011 642467201 422259679 407158691 769487551 279436805 450088079 281089453 683702481 971125145 315180163 263105375 203424001 887909977 809410923 290538313 23552657 933336711 541987675 566896803 479974315 165651857 216040911 872007243 564884063 328919815 632110253 281470409 147842473 213805477 376571203 915008077 367094373 841628239 896575815 558804909 20003425 13567247 234254803 599034215 948716365 962227225 795791983 903895973 339218369 93285067 530245641 374231605 284259391 197644451 526744563 676001165 678141489 909940815 820639979 645337551 193670375 399734949 198308889 208281537 579909787 716446619 643105799 168797649 92834157 382485335 520164269 716573975 936090729 477963555 803511143 786119253 115358847 106174581 469171193 187156205 227847045 898584037 751373715 999915507 213791041 385546809 872877257 921945371 795012187 136649563 358867351 196454853 116363107 608383325 678635619 706470395 700901843 27447675 527276283 721683815 113531661 812631833 653957011 264346725 67457367 956857027 951232457 98143987 624837351 212239659 213038499 935242167 138784465 462530603 315771021 708130051 681787931 511161801 645123165 653140425 816015533 573981999 709131855 359164589 781101655 974835631 695705611 833516789 919433683 551723463 90050715 397024657 608889281 835701783 924742519 884018199 323403181 356507757 880790905 837510085 641769733 547159227 541062123 769518213 200029221 133133853 649414005 973080549 968491341 968652245 585123119 463981595 173117861 408293965 443946391 884612873 972640833 646814749 572394897 689532213 73262873 414152957 511743851 58870477 294089229 725486287 376118745 127984809 571085799 630551201 420190969 702842697 208425819 874583461 76644689 614926293 471072253 755677239 821168331 578619161 573556563 391052505 518177729 598010511 266267075 728134455 494061037 605281623 899696033 406281509 59656055 939285813 472399909 192428445 835850217 74691995 622989935 210367427 645672249 745484959 703216777 379188705 697633991 286229505 940701797 714796139 417812565 197292071 255986397 39185149 578576657 878509345 618700465 603724121 448467089 420367271 601885065 407240299 392605651 984060951 182872313 428979527 863025723 328205177 397823863 554037799 767104149 558188155 53699943 44440943 753180185 934511735 394221073 681586857 68717923 310137449 204337321 174168459 981904247 698524667 67940675 545612013 78134981 645737595 138882533 531384275 943831583 850191327 883158389 799861867 429741509 94475209 202331845 796946181 120043101 22407807 437166481 378978077 932057583 298431983 572348791 862711383 119895799 911287473 618937089 964428157 674510157 946907909 618970273 133463941 29240633 632974803 793434031 154837639 249805415 191185319 77012335 454060233 295143661 751733179 690263559 832865715 645519431 320385775 158025609 559668955 98826845 375099079 400405745 407900925 519246457 852935285 707376411 252658425 206120019 449612239 880331735 588163805 325332741 855603283 946030799 729604313 690695193 234161707 115076771 936364621 207605367 962543399 61398479 191628471 777571705 969627577 730325951 261756103 185488855 578463749 294731203 568945485 452209851 399158481 36376599 533532231 330660529 839545485 613112537 688997845 109258413 180090957 554356499 244008773 18784013 959769301 301109685 472559113 287837847 839725449 354362525 441356987 856366967 665109367 420657031 750520865 831040067 776357467 725865759 31250469 871440119 586739087 452803061 595504859 107348473 350655775 88282499 280111483 339682071 358235319 985537323 345812845 135115399 192746671 181814581 937322297 886788579 657238279 283211729 696985491 671154483 658093159 787770397 526135893 119444453 498838299 14500117 228978565 531488203 449260061 18470053 82958927 250614819 356433421 254046365 627272705 702739093 231563311 81621431 313844507 354465837 280874357 285678739 309712959 290509919 222655861 919896253 608773943 530737161 424934765 746932645 280215543 13521007 953361223 468448675 554727323 525272641 18817681 606257401 912100197 312176273 790293379 763637457 156151233 53743583 430383099 111621691 376744259 13534993 606481025 847889713 251955109 84471919 256040773 54275475 44277451 218207925 573136155 77179949 364757951 708214267 579449477 740680109 433433525 164373193 54208171 341359535 850568969 308544779 673929819 842520499 720603199 672940311 178497803 535688227 163395327 504578731 465250269 436119887 234574111 700099561 650094231 563792497 945066905 543523425 867125415 225552553 181098385 230383625 663245349 972220419 279666513 141468221 543194833 230648941 47874383 564923073 895502609 85163715 270846755 772600005 826994935 218611653 541206161 433305563 623344951 913360667 713813639 139795715 11678769 896751193 931830293 864990625 848181485 193607159 334456695 229931139 377708571 692281429 586209041 719894749 639432465 539965119 878475887 670556493 464273615 36029539 658957635 263678681 669603067 507537757 106543719 393613803 930682597 926560685 328589537 181419357 206176387 113959995 886736601 594868587 434268023 154977243 311589543 780425399 534703623 549482053 404824001 835062609 310005283 469812505 429524941 906308015 123994207 861617377 893830551 852707755 701667581 777154065 201313297 617414541 767755493 98735613 277724501 682541827 242143397 560251371 765390249 635618335 121502067 839277057 655542903 127497823 261462577 197115475 850486097 963784107 300237923 754888153 251539701 794368335 308621115 310224243 212108355 576786687 695058577 297722603 453043017 427003865 816007649 877869555 1267257 931002721 368128339 474220325 544233583 996736647 396935351 274047743 51738477 556766367 462227077 898574063 623036383 852715109 287520477 149311553 792170647 907200255 660734595 71708979 54503827 649150203 320095209 886556643 935025397 382886733 577801763 550726491 214230023 413298259 494953973 413380749 14235197 198434515 52735683 28528979 619639347 685427449 891334045 997421931 560114347 115847003 28628539 996376449 741759889 705615351 551501307 956944423 256668407 252480305 845890277 725555923 884184603 603612885 477744295 77348073 736746079 919207195 711353753 17094321 952214605 334651293 984157629 903515229 916624027 278359141 531926965 361066759 951665953 129407707 759925717 915042221 50013155 58473177 433269521 524164667 992132621 785802649 8080907 621714561 845393651 799091905 959310343 274591035 124705551 769140573 670182903 421116167 732389125 281395943 931421043 391602031 895619743 678112311 120207287 892093413 432716755 628192915 349913771 596108993 787935673 326706347 506259423 939948613 224273301 613325203 391456651 309002139 252507093 980584905 927767949 82006483 610689801 391647791 584000623 611698921 831542509 300119829 764817499 660329657 571556197 396084529 698542125 196312081 221504891 378364573 755565667 888162209 875803237 91568097 303748131 170458881 995564667 841897195 249519677 173439925 885614659 663573005 294346279 785166369 537114983 201853191 838853379 857029789 589428665 547067389 493300375 63949405 764746293 248351867 188417105 466136707 716880895 566843513 507893835 925710107 534939491 796139347 28624961 994454037 657059539 928028367 916527773 533388873 156144105 63045143 956790123 58562169 670710379 8139973 501527399 500530255 324391235 785105363 85520619 229680475 74162051 630383783 858359043 47968791 315486055 130029071 470294619 192332005 40139605 354888001 330998347 828739853 42177749 512510167 869096403 381315519 115001753 511874009 133885081 964424471 56610945 710824115 19992557 81355029 637878925 502999099 842712519 991719587 396904937 899282095 619164615 169079953 134670567 544282801 7270961 575568025 39715589 819311187 102162677 918884955 54373349 206373383 902012589 930422883 488499281 398572457 869163415 894078239 814370109 995206531 611297945 321487339 353075395 253356861 186539075 93046279 440460073 910246129 769615307 568892317 70267353 515524121 219626515 695430845 961417831 72728731 233649825 939240033 84273037 633821123 170805923 279096681 598602287 380415307 710205939 894346657 703172695 97313867 137446413 736982711 18857017 602733643 169219353 211504967 142144817 727756855 995565801 330985425 65137345 861651811 39635953 169807805 860106133 564836497 324789331 270748255 836328577 702170849 954665683 640791023 631056255 460542691 759669731 99088013 408597683 827669901 949374105 176838981 129356135 625988923 241571253 118825733 724530961 445444273 468478109 187783081 244811849 543945245 531728483 950833391 615449555 926768149 976192699 216908677 534116763 970110615 239762181 372823545 993874869 225491463 258409801 935245251 223706459 51311667 440827191 678436423 601526257 910133071 786940195 56387535 366048259 907078393 690345233 529831561 185904193 997408053 528673189 977854865 508418187 616842099 720730927 888715237 379725535 366485383 934261413 989022067 227378797 791738029 11665065 49874439 576791173 440582795 296027777 987547231 910172067 795887663 195087131 317846809 539295851 317110029 463998993 569668543 747077801 938622981 349655711 606332355 969557583 128483417 580431021 844772223 128819319 159020215 858949581 823676209 183442023 480423477 68414003 729725959 833944711 759188817 713241025 809945357 622802799 347242221 886323963 170319937 991508181 421485403 316151827 449158017 712102047 755775821 644871135 580130199 286207449 918129887 179830495 215719733 119231925 559141531 425018937 702250483 564258445 483284073 764356797 47634261 768695015 422866595 478670819 408914881 774468205 207517443 380905673 469018505 641288947 4530095 286946617 167227369 612782449 472385589 909496477 234428927 119405839 77140105 77843217 734222293 584848403 272201225 174306385 272923485 179326709 845859963 409232071 127384431 236583247 816411915 594468481 318494925 637076195 67786575 589561911 141815587 964789917 929515587 457140295 428504061 772080529 817155919 410902455 942007767 21356025 610563901 347297593 196388627 737389623 438163269 503643173 620357881 766888409 238707713 349161335 386058939 610388625 405680249 739817689 695713393 544535867 781160219 985216919 511958045 468308185 394511033 26619307 879137449 306055065 21839763 329639093 793598695 718848969 243093069 626980601 552625805 50222825 297146611 506102889 746107199 836670107 435521021 286054299 994503043 406607273 917505351 457611983 702144463 433558279 470588183 52196587 262410105 936758481 419113753 880061567 112768965 592219467 456413539 554359491 847176407 42276317 485879665 762539157 441667783 740972573 810604841 587289981 887984265 303987909 960484825 12651691 963188991 121029305 287921463 352291317 609526261 312874499 744155229 290195161 950763803 983821529 81945299 804453249 599844617 962472595 422292869 810454459 357043777 778281141 611700681 411930109 37007917 298653165 385422429 405441641 348824605 325715723 206685797 776398789 425723979 843164171 937932397 101605503 594998999 66215697 442312557 860116399 1483981 368461161 658131905 502857237 832403741 805740675 964416045 664062745 616395679 708122879 569081569 404376519 223964181 976941979 914218095 561741787 785296167 363819591 537011927 816701615 261184873 399128339 170570877 137914445 195231827 441566013 785512751 11111525 775365959 746251301 353046307 31535949 177377419 182570071 177640947 924048133 31990357 557336201 763533223 794314291 304663995 494343317 403289515 193472807 316893119 891019389 286997973 866333913 874509897 994067307 988187489 39613927 599330093 779191991 465572343 806504857 26846499 46435031 248935585 390416607 916242123 604273779 689183957 208893775 21498801 991637841 428009331 242105383 235437891 45635945 446294973 339566929 281745373 273437141 429608035 816077403 167493567 216590807 697931895 146861435 811232785 804934619 465596537 277127827 48221671 236976243 452014413 542558761 706786105 500126045 552175423 675229803 422506471 318007419 425196809 907600945 746079419 711654615 236703939 885445115 694842985 888310181 199192819 382060785 116496005 569476929 384732041 873437663 403392661 810344493 506275033 217480767 348495105 140376085 26189983 618663217 165190679 809966795 338355457 264136825 813275925 619406157 39763341 986742153 646889241 231067837 96473145 183765623 373838381 877242725 81268831 206139139 44076101 81915833 330139591 47233427 388324917 932136789 590709663 819427895 354799299 155529213 199014777 606073767 692668821 410124441 374554707 103802433 18053695 131694655 364258197 142981901 131798327 974380329 255370251 545265849 104331489 378101177 680023783 65974943 481204359 286036351 462741707 934090171 944428887 53396009 145409211 850395575 325995883 657759381 137460513 360281057 312546503 198805447 665072343 738376751 267158609 758790119 201685015 879372867 942845659 535956299 321072007 354615907 774756385 730681709 143907125 9445501 134335937 305065969 161525653 731892521 360289861 337549731 607444615 817988775 400649247 326852979 922979915 111809503 707638951 53043073 717606037 433793373 832210209 823107595 763852661 868699739 148255155 115787393 266093673 662928313 631165039 47792755 935860569 16456443 562347089 178000029 529010575 381303123 998722103 286291939 754677441 892725911 409287147 775198289 437247503 999922757 44725023 885697049 486975227 34891911 427249771 798495893 54247029 467463469 703828561 585966411 417451471 362584233 558578747 843345637 449047497 440677151 360349563 65593909 591954311 455545685 734284871 781379895 436885399 563595195 982394051 54383633 497481965 187969893 389958647 19141641 642260455 77562647 744492755 358826135 322599755 709101619 14761781 278400085 89507139 149476301 816716505 143282181 771265129 99965339 135113835 535150995 648896695 670641401 709919867 392128785 342963861 808016883 821193347 140015549 211926477 216655925 711015909 5228791 534866581 659364887 524571881 735348045 21998733 125945241 636136897 743751025 562770871 608483683 283885957 316054847 23333249 185511361 348218167 147315385 924334017 926535597 779378369 555903755 764895157 37824455 738415603 728980873 472776961 958098259 935100295 87638187 613377713 484460355 51709471 880587545 191308349 217942829 681974593 257928347 255576193 992867919 541766243 323414821 708052163 966345875 982963163 445614035 908204461 810291591 947321323 230268391 350274649 975566691 527443389 49955277 939217729 213278725 965299297 945574425 909361483 74314741 430834129 184005765 457623749 761089377 620874733 952012533 34421347 525038371 297673089 391409267 965359685 778939319 303524667 267575861 856419053 322891847 740164791 253213843 820487241 633882529 886020469 940552721 109991087 172612923 701713887 949057627 824316379 694513719 485414981 423866693 856177653 491252313 968447969 144015305 966133383 69104917 236545491 682349835 310332809 402095229 59463719 770689879 216915029 564127315 411162827 40145693 614224565 457931517 905377435 352336891 665139665 224656525 101338711 609766325 799276867 683862455 266329001 493845299 514288133 465147611 589028383 48088971 184005501 875745537 651846199 275853049 590633079 464151257 22169681 861457373 593305131 410065849 55582131 932675011 151507765 756142239 315060625 20772961 793269915 302152501 456239621 62702735 84969673 994755787 865210127 466704723 483128469 912246611 922590615 128880343 90629179 846478449 818158705 547313517 402781795 735965803 802885461 886005905 385151255 272624945 852939747 247504873 63218381 878391127 310591655 628030011 687006565 957690143 374373391 472877183 102737185 97014129 639956341 877037775 398781359 2089691 161251869 173838699 142903589 707795091 373985327 285343683 625018113 787121531 977370553 358665065 856720679 540294423 130127289 903306005 755876579 337495193 898877197 201361327 834617837 8057305 466227583 512874815 248912737 215439955 729862849 33565175 807983301 976406575 508434285 990222647 258461445 266951485 959644163 773506687 991461237 550526965 161290731 47122043 833523925 684454519 638447735 78341631 721138761 846471559 661720035 304143107 162814559 157445013 668010061 608067503 425228813 216012219 194655935 149002059 543566253 927327927 512365611 163145547 718946311 18978287 819531371 565104715 95719751 354095219 256139581 512715533 10698243 611062779 846256973 811756925 90552377 762858469 112021293 612261807 910139979 177335351 695118419 680156893 627399179 709688485 534394403 632965739 433579433 940861313 609957605 955893475 327451847 650446031 395049675 836002553 542540647 955437361 524877551 70613129 82561785 508245243 187274831 980365205 313116495 696406817 988305623 36984651 224646569 567325253 461724761 371901177 453380011 683553195 240334219 927671583 95499363 739742277 367326481 570869855 377529669 197279147 642223219 352530565 330148143 218341655 583737123 115752833 629704039 984657527 428877689 499369585 205353113 77392213 657189303 279737497 784800731 658247147 417702151 982138465 639112617 790040599 76919931 320385631 904194795 108851811 108586505 559316557 735035371 886741753 30125461 94488079 25093471 890299573 206790631 97500849 925992295 551918613 716848559 661112163 656517765 280022079 516864137 666639493 717585063 958064643 436886519 338677397 283066917 898546391 891680351 93712195 839347383 665462749 735941139 591330911 36052103 679932123 625799757 64735973 749101857 190470975 542040623 782131195 257068665 741516067 410521023 871000039 504483821 611930691 115160819 338441505 682790209 673862409 654150817 844920641 620991909 778152833 746750859 831684621 419258029 89378407 80179035 508766319 463973205 485368853 737742241 674753913 188302595 614319511 572398295 247197545 403336837 427561369 583059295 46448287 732609295 701900659 271807105 688128169 993093441 212895269 35464557 648047929 872341021 646169941 174508095 885150505 179806737 661867603 428111607 887222655 280049651 187113239 407860863 369076325 942058495 783938367 677705127 32899631 375709405 390218005 164389929 798548053 468143255 579357827 487995301 641046655 211009957 198578725 94667943 895207797 266830819 125329977 346337695 657305131 263261589 337759653 308969443 241159357 604610667 423727351 656539833 183654253 166831223 652697451 752413257 612861863 403397433 464709597 507871395 49931007 484456085 352889301 16023233 794603053 368687577 676711553 242702723 471735833 305881785 927587259 108304053 237166795 272151123 509726975 654386181 105492599 76008493 868594293 975263759 959210105 622053683 22867439 409886035 244359765 498118843 836740577 956954937 913246387 355931521 954649709 582110997 96985191 549494957 885978199 688830239 839836015 734687945 118103057 4834167 801535981 478211789 181102769 133765929 704113453 706770195 458093815 909489443 999153311 43472483 22222921 254823745 645211873 709474539 496704953 424710979 203173045 648352573 238959355 986603985 306067465 257379161 960209775 728404351 68785389 629980579 877186333 955895235 652258973 649828839 775644597 112104963 571403389 719123549 398840203 921897603 226043159 591913121 826829987 399373687 184237857 772411577 123026337 23437305 92396147 857428497 606280405 275346183 710522643 461332093 471148341 452934799 919228457 780466493 651520867 521194589 732232971 490658295 689527461 948631855 638378037 374505909 453021161 222224803 256663623 775258093 907471561 849243971 491062029 743021439 362177153 697758081 474157181 959928235 811033849 577999031 56610735 593424677 288441795 856107301 780208105 699149565 851374355 997729779 713213333 916364721 79798987 485337139 542304581 843061289 236249455 892607457 80946357 352993967 48732465 642623707 825873355 128895483 990544103 499128299 840163725 892772393 298999569 316027331 790773043 775990717 469939413 886334973 278998295 451880103 552470787 703488535 803107771 954527547 74373395 770121853 226388683 159467829 281088035 39726977 269042201 388762811 384130555 984960089 258665123 137149273 658195467 269426217 430322057 645451529 16876137 773650169 995074841 140697891 678153939 193110715 570848709 271829871 399933363 936443463 507436841 530552089 850926359 868240481 713642247 189242807 323377079 780220079 907578443 829862981 672576495 988683971 945117703 671596073 667424971 529125143 387789945 602685491 784300791 365519373 769059331 942576531 162787277 947205869 522765359 286199019 95012937 957290217 439734449 827850557 557255187 33634329 189605989 229852407 878629501 146299009 187251277 708841713 984811387 833632007 601043605 99327333 937307311 776229501 1417105 117893879 470351453 12322461 730668731 842749881 179192951 632081673 21530549 7525917 229844883 48733769 814578511 358618113 466064369 574860493 487038071 947993003 637534327 811119603 257318731 968060615 750699957 170783479 982826509 579321705 117736163 427709445 20649513 163168017 630489823 408625453 107038515 831468965 71538481 450278249 267100645 397137007 57839369 76141979 781450531 596385061 465623099 851969929 888504057 791472359 429746763 172632809 508269463 424108343 323937117 695858769 74772059 872436483 173329729 824920131 101024457 92365217 538558061 434786345 562683273 6783951 274204931 278384467 772181361 152372911 676769737 374333947 764597373 851516627 765966637 821786179 498033357 761948973 333247559 362247473 970293165 710279193 289905111 826412987 693589139 988727393 921278277 921274807 986657303 64166957 241880477 202372839 959767807 391129111 611044507 659774451 829110067 436800537 873338777 885851503 628335819 933357209 654461601 77639379 985449725 959080805 835735907 846048641 592747823 42951857 551187509 334309311 455399917 966084635 428676887 584462787 387972073 602953129 942817967 41301155 525845757 626989255 359485261 930675553 498331439 376557387 191218665 861164005 254496169 918159475 219395873 563798019 683484093 317665249 225507901 341939315 442439657 740215461 74907693 672627157 248235213 441176117 832674437 558150069 99344439 707711853 809756297 414758785 348802585 318337425 456937501 83803029 9700749 886112591 688345297 570867249 714707417 643819967 787387611 740660349 575038311 304529243 308791325 178802573 230501067 703956743 161275163 381267801 782763455 582171925 29570057 147825601 725134885 281069623 886330297 29140881 839836427 241445515 550061229 308906871 218602403 834133655 293109773 34498319 949608009 973688391 637178021 621237207 150517631 745351151 673743343 754189373 168050929 866427217 265837323 346363533 912210547 646729357 982928829 92391941 813103871 420966195 874120567 61966275 273631671 286270777 305329231 222708179 316750569 223341049 494412803 328817187 60136201 988271931 156253439 490822541 16414639 708829739 539697485 518944981 416328351 692234847 241423271 98521505 30476997 580551381 739947115 761378181 820818229 390089457 108657825 406446327 66435113 409009535 516381431 235981915 37203461 271407031 376993479 524780795 396889171 871734837 578094349 611202565 860153033 556858365 475090291 235340691 20580415 174244735 725971783 409669545 20350905 592931727 72947327 106186541 396773221 18971753 457719997 24278259 241506193 498813619 433827399 688232625 583961023 629702779 74503435 874355211 644481421 205682229 863501217 954810761 119973319 626858431 698004553 25276317 666476899 912969055 615915497 458458529 787238521 723672769 530515731 433652435 448426831 636145147 881087739 980813151 899415373 828607115 793101953 931457879 654224393 320704083 147704111 980287409 24540223 771979427 763935281 322098513 945178831 286389041 260711773 548905983 396362181 983409433 616949303 695769965 788362071 966854623 821333219 215230003 935389405 970708595 950570289 612838611 575750621 851290663 705048473 700637879 396778753 267590587 299269689 179666737 55169307 868047443 924631513 202111607 254704681 455035515 114005225 944363181 810171979 662958891 387841149 61762779 61498063 572281537 187620697 740196851 835054887 127233021 213144287 584803789 534815725 664571153 896441891 875709995 298512871 47947409 939713243 595063735 412041471 149038713 566227043 78553857 928449351 891880241 798881991 252645763 188724733 786268291 653932979 775852703 258180739 388732069 459505535 688448669 363630433 441477431 392456235 933462447 895948113 486753339 61581407 918122733 94384167 451744031 340300391 357504345 172806635 689032121 810222909 48099037 922788295 604600647 653272961 754617161 49044239 990631277 947005047 959102295 39977533 793572663 90247441 541137321 935274995 455656989 461150947 888964549 431339007 527703291 390761265 74226465 9409109 16497429 697818591 617431059 259011597 858423579 495990397 3820253 315630699 699470369 11359043 35752105 598069211 58353315 438003727 902911111 775044849 396064135 422861161 301183089 628317031 603340571 493242239 411633735 90924831 706896403 633287467 276958933 615414569 428687501 416975593 609461963 944919219 90981135 624425443 625333185 706701339 913228677 765984487 190523193 337256931 889253957 383966059 706840475 669343673 891821837 309103249 12084539 157011309 353054207 89713181 381000017 942979067 321986733 214071169 807773949 669417095 262278407 158455509 637097035 170627931 852799599 457781717 621765419 217534701 642604711 236844265 382044787 397167317 371008223 403562529 527420649 50313943 672621225 2676791 802893877 728234977 815889669 863033221 633720295 863561987 721762135 85012757 73308279 820852857 285363309 169732503 6241867 905078951 647273851 53400161 602892455 89016601 943026975 230824561 902257857 512413055 536910943 741924721 205997741 190472377 434079655 79825583 227770993 50215877 78923725 881573411 288052469 695115987 528906509 249135467 200320263 270530611 770488845 612673743 698066021 728419171 80990939 532093501 390484141 272989187 181058029 124510287 322137707 516193505 115570973 172469057 659496973 610670319 494714037 34281981 990768879 640397895 827180637 123759377 291897935 168174383 754455085 545168307 609301595 988652305 644156323 554785477 324771103 604701055 158675619 258115531 290728345 358681399 205413497 582608375 88960167 344524057 527603933 384537375 17244179 39000883 805939435 396318915 221476753 271287223 510772263 161351435 574521781 478402049 146918785 750598083 178310917 698801555 483686477 731052389 835851495 754710297 751118151 950424591 144999087 224884069 965980565 219840651 203391635 485406325 217209285 80768323 254891703 118895209 849647819 363873107 560294435 951188623 193950983 258858361 124478921 758951515 764753723 578798875 899453315 924621411 317549973 143106889 36408591 874210159 828344491 920824763 359563547 964484971 73574009 607408589 515869235 763526757 328478055 185173899 778240467 769163165 604341055 737992867 7011677 267672693 210039353 899057001 672405787 249381751 491560433 560217567 255264057 765128023 678045291 28653229 858465495 570731505 532487959 446736929 406838001 421228873 489865671 175295793 225362291 433412743 417277883 259130495 494545455 330699521 146273431 761910095 845025243 761307441 608442217 608055443 365525787 76458427 19168165 404890081 929048951 909921897 500044329 70650489 670562913 324878127 176656955 143291971 876727857 453839659 997518471 383602891 534651177 595311003 439880227 132721739 478835827 751480557 223065995 361115809 759573281 612290997 861295013 93730901 774448425 989305263 189808319 709830551 485434991 250105019 434188687 890126141 809668539 84904933 853524529 378474439 889010621 749980259 78530345 52439131 907205139 107164301 442042469 637502409 929846329 569043689 620429371 735553927 269464219 478995231 299392617 42009783 458990985 496998149 42279187 981203231 840074813 843225495 453668293 857910829 503006169 653431797 646778487 532971515 263697509 529652845 39558789 257766981 99615185 874474351 44906421 778930037 402084089 954502299 454350131 556497303 880594591 3538865 155789459 549247847 218420839 849708955 347883221 353163583 198258663 433068913 754622303 977789483 177088919 408892265 664264955 495349463 125820377 78167019 740630239 503969435 558332917 426962557 82855849 297272439 73752347 88085719 48087135 985527313 509258599 150912979 442093421 568946361 523262681 729516147 603460011 665868903 219301979 295313635 597341521 540196025 678374077 924512117 235744009 361990135 445816761 583335335 520495837 913254417 412966129 610987801 700812101 503223197 576077547 835666073 692395549 846870233 436011549 71400729 62480809 769587887 363443677 187180725 6723993 275063725 657251181 588053935 512788479 837007115 426876149 888244083 676990555 321818535 893797001 181301141 971478161 51359497 171309857 952244431 941922799 275450463 772140445 12372483 753627689 733023617 632389577 664622401 938231389 367196145 394196307 140827319 673069073 490332113 381189335 340634563 984418865 934366965 872256725 630191591 679858195 725070801 409752247 256036815 851577459 362354311 560569803 630646863 586569337 525559259 906423375 740613473 812605103 747695167 803106913 934897449 920721931 234114761 682845965 552431345 147326189 525853753 518764353 101262381 557344279 473132533 684549337 310624121 431541175 357165327 674646933 430123417 744389733 134730043 316872733 154913397 712620057 419783129 925264645 99896355 338041661 941331697 370442691 103272925 727945117 800738865 941083581 110169863 993177453 939661811 599946551 179188269 80798283 936900149 706036837 252402175 841604667 329076125 435258977 16139867 13253805 319705211 216707627 871722821 312961397 488381381 349868971 875545063 347234255 888788509 540791989 878576531 924354913 633437385 361764351 114697925 168787769 71067831 782569005 809371169 604139725 921138559 142281417 527911795 20789495 226931299 15765313 612311211 834176255 416119109 475662319 933928169 392133009 228474809 889435415 4356459 738792387 354952179 111548895 173361825 26368019 107583445 376959323 760587547 741664613 900903395 769993089 927873175 117486085 992689231 578987061 548709109 472273579 260300783 930610751 625677635 585847667 614899523 704868945 792065203 140348641 529550705 187434501 867760031 794525925 984578889 662807769 729992333 624902609 774734915 828742457 975928615 984651621 222419325 986144119 624765759 212384709 818610367 785096393 767113683 321491583 369551225 849948755 981114883 85411207 288161217 744869917 185872925 377603131 898633045 685062169 950847123 807787617 785263775 319290655 521880321 608272165 386833837 640298995 604786985 670173213 698700597 456768059 403632631 668440135 924678041 275202441 428875391 130051333 822583263 640141401 595523833 921470247 407117493 110105863 939457997 563182051 35734389 803635425 697905283 158014931 304013595 784662807 938175695 61531649 377383247 86180289 633027469 592335573 257352035 248519907 649710527 815780647 685121867 425935203 746419601 836238133 593778857 778708499 229475671 128590755 741498817 961154733 847495819 693804671 152232581 60296915 630742225 942645821 861988747 459144973 719994611 775332539 260613395 139942349 91995109 745878077 762260995 788775531 215157699 481438323 233614059 438907945 813483729 411831665 316910851 385034545 385065079 656111795 645293353 710148499 225001547 58196511 751990501 950050889 315201799 486790403 117643623 584648245 368671119 918292757 86585987 206515999 60147693 71094639 333100477 564500663 60329047 172971417 787893049 610166681 618274853 197817985 316168903 571855429 908845275 351746937 458938077 87658533 48083239 735585599 413530013 399079049 709353433 612491003 201048013 294300587 643983597 467038007 520908251 533779885 267400327 558830315 205642463 880096661 946320371 955833971 685339033 40032345 406563489 603853459 465723761 7279567 734878001 325081467 238590323 16414649 78501473 269022143 55309657 866331329 931293729 340796763 759971459 629756791 130040961 827032245 19589365 619219285 206794429 243245467 708846177 548062651 113921083 86347329 715500829 802502389 730162049 705940549 31995689 388200241 632945479 605645741 580656427 436155787 20514663 288948709 574985587 631273219 70043617 162130115 245980921 866517377 447023589 765042051 455415387 297329881 933318851 874294221 17303265 727247811 588425465 161689259 665807227 554275553 351022887 655478165 640028093 259364793 46014747 880585573 22186731 98277311 429140167 494323045 604450025 285102925 806907719 912447037 651684677 150564003 482864605 433388293 176084027 574090987 452127989 818179643 939042215 389741875 575016225 71655107 994609679 172870521 743483423 252252907 219089831 147784091 583026127 590834023 881057089 319643237 254335295 587571285 682490207 961630853 249512867 311069241 3231015 357728151 113400657 815687939 583333739 260800281 543519953 279764743 40239007 798060409 417533391 334106625 549925605 940396805 713360409 250361881 357189377 438631157 717725871 212381401 706877285 317268589 735601331 615396407 518500903 210957687 690185327 670502291 719252741 587827713 855147095 705242287 341922411 398148325 331873287 502869177 265924707 556419303 570790209 333730631 572194213 426108333 346496243 32836951 675964565 381851851 249045035 779468875 428901941 61708985 766874921 153926901 143605045 881129431 651880015 749298311 139706095 307719023 947872553 834817439 802820703 460347059 553363815 470538561 451937583 742729659 707687399 939795421 961884845 670057099 182195629 116443717 511253199 580272649 194543329 306376889 126099255 629262601 838628313 535900127 815030825 411032385 867957263 427434943 388340633 327932501 443306279 757250773 879244825 749595853 450015213 264340217 149132267 612353819 693663057 177560691 786893813 745881753 91767153 302230255 582316745 353734277 148923025 823206019 19612571 950371083 67015705 810555563 299444043 722398781 176847777 838009679 888158051 880132369 878169055 757967289 358352653 864724587 784136121 999122337 409617957 117220883 780385083 787361825 551776809 549856699 312170645 411733699 167302975 692119547 405594407 753486959 514334519 792012631 203438193 872163455 109624969 620956981 27986205 940251051 606592339 519225063 917958659 148058397 397555805 538613927 407192345 468290401 610568727 448511127 964928133 335632747 439314325 320905151 503369107 214793625 417954201 631895313 427509685 173551281 388456843 859993701 90790279 600720607 581842041 123372413 661203915 147143353 220805145 433982723 770246251 663467579 718315469 128808839 757091199 273359819 906859419 482903173 973934653 147393335 192393521 52717401 465440781 538740917 844219111 527628881 117760375 714470879 38530237 630947229 82374959 838094013 756009819 966847573 264348433 305727677 101827341 210748795 461501215 544228785 137611469 845881593 404022405 694062807 239039289 455157919 533583509 937976791 654743451 827256103 19550669 364194749 133675741 918586675 176829135 798436349 425995419 157322315 555645285 789216115 192842259 202606047 430296451 575476585 689964331 751266891 699137093 859383945 547779955 346678223 179011821 130243047 167549731 81123221 944081383 858520067 662969369 659367085 411754951 687393731 280917725 185285905 135597127 471628143 250211741 883131555 216788811 353047491 543936307 513382953 985564125 951867095 539609627 279056985 379198769 427857715 733583743 668233929 788100003 362177731 423990829 900317947 222533047 354573789 835670939 207441239 820048661 856484925 449833195 453058609 374103443 396948491 126107617 930331841 166545451 373688529 862008815 140013609 710673921 25271943 561809709 596961903 402663777 604811401 382294871 655359369 76179643 902844059 538204373 469451851 666351021 999745517 709936567 744194427 457583099 407727633 945183413 61317825 195694733 767355399 209963567 290281389 191196281 197592883 909848361 878831289 906128891 60157539 567550037 307172421 577402227 343003339 260677385 126458267 391807085 192244489 739439683 753823727 802353823 809140771 859210669 592987477 632754913 72634499 704453269 512245715 256260153 776942339 241824499 671786577 586820305 642999775 468504165 484094879 106787067 304899001 890647347 468460917 861205043 251020449 624294731 567644535 948709405 55160589 16379719 542837807 236244869 20690135 890105699 581195787 386216285 920483399 921673865 680330855 104203199 891385099 758443847 783435905 918002929 860813109 163823315 197080199 459827805 892604483 83701775 594287751 206608789 283469853 61410431 531886969 659779927 293054991 221612373 297888321 657693315 803285453 791126119 409953961 171243815 101496437 613803829 703916127 68360053 320769931 667611623 74491901 136611017 48540159 411625545 122539015 399762597 766264099 226987221 847989731 621535669 305658297 418164649 836535525 492467915 108267233 551850895 966312259 462044645 254364971 29989105 826888993 775559973 735900555 980480235 398778249 164033493 411547743 497939003 773263209 447534441 867922541 349697607 782389403 809459325 250462689 574466591 274916579 98627027 54842193 173566841 463535847 538464599 766412475 529971127 208909625 903349533 786635395 333397215 656082261 638646879 610086517 75946657 376907417 522283647 30363849 947570513 358109007 376542221 576092441 4782833 9207209 103116215 259734383 541412393 219094207 145694043 841516851 883966791 733084051 280381179 247114815 847861057 675687441 872144323 989429197 631363769 881721349 967395591 329250691 60906227 942161963 64235841 265506413 789917921 161235237 952208661 869977605 88221209 389180027 155339341 758553379 559885275 490218911 100976351 896633613 257422863 88877801 927421923 596721779 966047297 904024221 481304733 639491689 785273515 695028193 584504699 650132333 10497835 283979719 23967501 715933281 47818313 275381833 723431183 425537429 612693045 703995721 323863909 731746751 113878469 305346447 54179611 724182265 400901495 795017165 936525665 318431691 276157045 474130843 696262807 652985379 932036493 566412411 418213179 489822803 349127223 523676887 659076861 431892507 681167761 53043967 836460461 762930077 248575843 955274797 454484551 475356779 390982939 250322819 198642671 444828279 290585299 377081097 673315057 358081311 243887687 339692207 650717119 447026727 49300959 312371539 36350451 843491007 509392301 486271921 191072595 674551931 716848741 512883059 356127433 459076695 163850345 690815023 281671015 518992825 673082557 573326937 327177579 539232111 165859859 833990227 396651829 891367599 77746115 51982697 473818707 791235091 682898631 973025995 513656439 583847587 672434893 376710289 816931451 838926539 250752287 795520701 760999781 691432801 508188599 606073399 167955807 280868515 585547827 423009747 605885629 615029043 819238619 243220297 383470839 203266339 477942687 708678715 287311285 839889635 559021333 550916399 816966591 677172821 826157435 172022939 409077257 819488701 649925051 133684693 847154863 973276869 832474723 986678815 532816371 689358727 852745899 875359137 79166273 744509309 900135281 798112879 572515371 947615885 577918525 92285313 727966063 683471875 614991933 575273401 416478191 700362137 922310985 105653981 5745077 338201191 665527011 307617953 658657013 974801909 889660717 941869983 4192011 311863087 224524795 311616087 204837753 370775401 646399937 334316083 234529517 341869413 299740321 263115395 47796789 390514755 764034911 401365375 118811985 487025299 938183277 313855309 125771363 935470923 178085089 575215345 986470069 353603271 273375611 110454623 18402237 39770059 69930913 461372017 550263315 499110533 19141731 696693735 561422459 880805259 759540089 844506217 529754339 19424475 473367107 183694987 169514843 637853401 683753669 979664837 13864735 591504723 38437039 208873335 628924819 624650877 241352283 705484267 770233665 772148725 431483335 145701203 909129951 351707583 576922009 300779721 982360133 566265675 469057567 811899725 719888759 109449837 963885141 590494919 787056035 476624993 989924567 920398091 782073369 423347405 174151917 11152591 307436885 537298111 273574277 453952183 370789883 859410859 748518967 945620045 634079703 43193457 466931267 949216511 595734747 977781843 937871761 498073383 396586017 209430527 159952303 314715401 576263407 651242123 489288403 564256715 238361517 656185461 55519453 468881025 695596275 376419999 99017815 348956961 724145783 305229147 184968557 5275535 746962977 322427739 91156215 294595219 283015415 560576699 113329525 883192543 977478705 442209797 309337613 857815053 829284393 47396129 525015439 719180699 151614303 187902057 491402611 309552629 989200771 721879447 456293079 326096749 929965671 211297489 851913603 705557305 852136195 548783525 653875431 236137085 400410239 626519047 537369 429143873 269332771 649185621 284328919 251232119 114946403 467279701 392718731 230212089 361057497 398346035 668031555 361362821 24861515 206629509 560283317 769086919 342243747 877553735 747755331 289316943 155917557 860639713 900177139 114997657 521865595 253589021 528079475 92822531 929044887 992265779 633857309 783508183 737642199 402313405 946899437 533930821 774188271 651458755 849334411 569909611 17702581 619917491 639945801 247333189 23785267 104361823 724648731 426012095 872214671 956833543 415767203 163537833 627543325 516666959 977335589 461728445 579004507 897339203 909891219 755185821 696971243 916597339 857158531 222132177 150592663 408788851 984332853 815491275 190784341 461699281 478043023 14983907 535580733 173340705 600599585 509154651 834693523 224866681 972533539 182099037 258910403 91506261 215617907 401721337 72614753 784991387 107700377 194104617 610022439 840800665 660164549 316188367 78657017 41446661 190845131 722280627 917300963 116116985 716695343 477572229 883347733 29038077 950007573 44263649 70633453 485382653 383619149 122078279 773883119 653237583 695740237 570657313 40652995 630838961 805450295 767899071 227070527 53581639 838832079 694446427 566232413 217489309 416933513 850415383 281340481 802134187 145948535 767447547 18768439 501256397 988001115 107383543 69900465 383149255 444581789 89018343 363541065 832266441 531621705 851049099 197237189 333439845 879993369 742271885 829021965 531564187 211867501 611649917 815719479 139774671 816906057 91066325 671371391 594037711 92517215 404264437 619328837 325261777 296171013 786841129 311485207 864913519 144932155 898961567 101437605 217817521 727863719 756556915 911257039 640919299 438988185 757907621 343101589 592558651 188414473 750026015 612190243 693288085 475408789 201591727 193406411 296489399 356940165 727745811 853725193 761342641 677910729 734849515 496073603 226839795 104669941 792813501 119708161 328475999 983306573 504024575 37084023 712412983 684027829 25825541 498943 863410475 16167867 247311637 840411103 828078669 693409179 924215127 939530369 693151517 717253937 964594905 628214137 519701119 901555971 637112217 283694719 443134143 41501507 878961013 997268859 352287381 828282569 807407929 945230709 358946847 858465809 453449107 365094305 471208413 756629571 928386079 218820187 87166913 766173745 885474397 1682469 702519839 288867151 965650101 94170283 749449395 312256189 923828091 973642689 816752035 307670597 100493797 47280223 467062397 685258579 733188889 946116525 432966967 452764159 879727899 399198195 559338795 858926599 485355487 894684071 443382817 670969813 534905919 779787359 501471047 164463993 484363001 42817509 570394671 323520421 144401851 67604255 393914327 437127357 488742417 528808227 321018791 247131079 739582585 551980075 535644267 910099827 472252241 773935259 515535189 335803159 995739619 384320509 900147463 929705905 448064865 331186693 371820165 421032171 136580069 751403409 356251705 586581523 531459437 382121375 343231741 61345055 980026597 623794781 9320203 872569265 599656223 252355103 743104777 984812045 176592849 461484639 865542405 25561125 809435295 315103425 150285171 863861393 621423635 14637073 411216947 194828685 879469209 188972865 544406917 786990081 389514641 23671915 838203677 800739967 723188279 675098579 706537737 694858811 690707639 972172007 559892685 641837077 478575395 3481399 551785033 615331223 958105201 891579775 397816015 222589931 34977669 990091941 49455631 596520173 804496935 118303919 442451755 939947547 437545481 880339413 830640037 398346651 259927491 46501743 190041197 763795773 535383001 50206467 33909973 988404601 655334833 262889275 457637789 464295533 86202013 854379753 547828201 64430817 432483543 733817867 89512007 932957507 305749121 937282753 304811947 190906029 679287971 597550169 266191475 187022299 952168495 362968643 34909541 553053239 944360701 597201183 567303851 992091855 846204623 805001133 914647775 928697177 570072655 878995929 884812283 801922359 859816975 70940597 766543463 15043695 184087941 351864959 182042605 174495407 414279699 448173463 57118403 465583695 555521029 72170379 128814729 364515663 544088459 411698957 242868545 711802965 688351677 828144633 827997785 598789043 587948445 40793169 848831911 467522653 92434197 31108929 889210473 52542195 122086901 376991261 646675011 427194047 623255799 866007903 402398273 599858347 929578685 659004329 874274779 817274963 214083279 448589001 850101229 512058613 315767453 806829745 233729981 144192631 344781955 742580349 556333045 506816105 247333057 968929137 824025007 525111043 976760961 300870133 17283941 718959651 928287955 794293917 227297277 106450513 988473777 528927015 943202245 239775675 773357821 16088949 919457649 843672891 726449021 372320401 679016225 842192205 583061479 783635889 597678423 835206939 821646801 466468141 505564161 132488051 459180221 318263689 98954613 130850763 227778325 717098611 379302255 939956037 75323175 724790201 944920599 521187749 984560689 528722525 644609783 922715741 202956627 664942461 299130887 310931333 711282835 809083749 780368033 725999833 185230311 693115529 187330703 530282689 583164453 720387207 301153017 550254413 68286991 536887069 212254585 757160757 49293645 905132859 630160649 920632025 868493171 373621233 40381711 263472957 839066361 418026875 730341463 30187795 947374143 439269437 663227929 234746289 920654993 346632643 429242609 962275349 894363421 669650365 915460581 413722089 25243135 643031819 42390369 87713915 667991349 82105515 855639099 530732995 843757997 755043021 549160111 672512351 41022517 870536129 197168485 885641111 637955717 154139909 642781799 144477273 99816003 588742201 669766699 467906111 729853427 354641451 62607505 852646277 617823241 340842443 857884123 861183253 408631263 293245241 676833719 7107451 117298869 413060789 963097147 794475507 1296051 822257579 497157861 72986967 730825709 441627565 106204057 958915891 660405593 18659703 870278051 201962675 233525211 576069103 458502331 14581679 693473085 589033757 369192445 584333735 648002861 668131125 827900655 129256643 581185093 92688785 400084093 983728335 487388425 448529335 162838011 740870725 653121247 694164049 197304873 889838915 249403163 201127987 315054123 433642129 938659827 498836823 758488719 115862687 84333963 467010015 163743819 734481027 452205805 629379353 431471545 362515197 221495047 45607031 421938593 658726259 324096947 639412373 794002479 314972405 607977653 630957109 706817529 474362169 306571955 171702595 32528125 624664993 10405439 3458003 333556637 205613619 419869397 315659039 70096811 185624733 217265107 227000971 137609559 448031545 871951747 463021729 799593539 933789699 352759319 479279125 623235185 522786725 403775143 617828547 901661521 889266797 624851511 534001837 132678837 631775057 540399789 794747649 455366621 310220019 605815259 237147919 453790317 345525399 905886843 786686291 245387635 320769839 38696239 661940337 105230947 490791505 109390207 736580659 957838363 209059133 611436765 536145549 946898401 690253275 435704225 615295643 648210529 6142903 216615439 86236065 684684465 696874763 789548877 984537607 717494605 766915509 325684333 323172963 492953373 368827965 867418473 123495537 511845483 931761875 903152675 652435985 983967725 489019981 602235235 654628943 272017859 134681385 345881563 14866529 705823855 485829265 769393443 540685983 526850015 614525267 20556477 488451471 834064491 941361895 849411859 599182553 787264459 714713195 195151477 549813331 343971881 522419111 510348317 193417977 396903185 349671945 53168941 986137579 871680119 3579305 352064941 353824631 896123833 198747209 319770511 624587789 792118427 551704651 749364651 70067533 666870861 692613059 110606019 168889077 440513635 957576549 31510657 286089205 340439513 981421971 594482805 153124191 90167317 322970961 702594841 588913003 663694821 341358929 969215693 452165759 586658941 805948649 457197277 453899815 256323709 110313753 228208249 293749781 554927335 816417673 23103929 726621989 992959017 755529093 263532703 278427737 121909017 850777863 739167763 476772829 537031667 626641837 94245097 11090435 405234527 368166335 490551513 188347977 425790311 629437229 270397317 813262415 243707011 510963341 776345973 166332643 351723663 266517533 562407705 40830711 772890063 30437575 20195277 536321703 119390707 837186329 476069073 307164213 616764685 409984587 920547919 829660429 322683549 78645563 465210453 431523011 357259911 650854767 603827681 324788241 154363417 642791451 69516755 110215129 463569671 453038865 106895857 350030377 346818159 10579411 635276785 303356725 391262167 991097993 119566951 897852499 391845419 106390785 611931097 310241549 774010049 294229425 15230895 485224969 946071125 398140601 456290105 28208157 898190351 72927971 33179311 847220547 71324281 800322715 417280567 373685151 81570955 442427129 262524117 378642043 201865375 119118525 798037375 516071243 483208061 619025229 270217737 175913131 692110163 448918457 367286841 931481951 723524787 329041849 188220085 658531663 589010845 275332781 672771601 760975505 278874229 38761113 345104837 51347039 615641863 831196973 907760945 608057373 515825035 255475907 862498463 824452695 654313885 20993369 174125635 373667773 237320003 596149651 297393969 804346925 297897961 713604037 400143983 692479915 569443683 585135845 205100003 625012063 263801585 982151569 112005985 816985247 89301049 657551633 459846047 227076583 667770437 266811987 811064131 524356567 564476043 734673135 585267665 567942715 261368809 665442341 126208189 935629065 59616165 868149725 494964319 780025179 409154157 854226341 463637243 524829297 96399187 404645299 968543671 711025339 773831381 353363431 376395175 824640201 182236635 989072587 705661633 651696217 866228911 13217419 189161193 706091851 206837769 779350015 269296361 572060333 490759685 379061159 181114735 970300335 652325159 174009513 969873429 31088305 497506143 297339349 86186589 499407923 876791553 238452387 689056435 992196577 151764935 404934193 865291107 424223629 932495837 994726983 395870633 47871541 991695561 301348949 158449319 666647289 318405767 663871087 718313573 218964519 92031599 112995417 385037013 311012913 862825033 458971767 84773585 64822963 830444353 511060697 357096727 269113711 904728811 974034485 195187027 391544657 89673 736370925 479388951 819574123 933394107 813427207 5755609 513553403 183283987 920798257 216465149 478531427 571413121 528780995 890751179 456086317 848662951 54658751 990465395 307724045 553319815 253465031 832604435 896599007 824671887 945999663 152348071 315781285 903367063 692339435 594789915 100309899 586402521 170172571 2771263 1035493 234044665 83550857 508246733 845298221 662175241 927800481 722591847 653911303 562920571 198550907 684791445 493848125 979482669 789334359 319982025 854415555 692912485 476808475 480182107 874603189 377478607 601920343 572508301 36192341 109480831 85123395 461719433 935516945 467491829 911925181 736773215 686996089 716122903 147404877 468597257 663106889 678533679 812726819 457981289 457187429 822938867 625410835 858445383 180683223 929951875 135176865 972603987 331252179 642484833 25246961 91634729 619939255 180926843 998795729 829873227 457184513 780873511 352531389 519067677 946696801 563535907 141550801 441835253 816198823 762317201 462672339 853397771 685543375 775984643 94480183 232790657 248932861 862065771 583579151 14670431 560049787 632875813 334939933 680663957 311405759 489904379 475352521 31286271 702505825 84238869 446109983 803870045 51414311 421139213 600234201 196760153 160301563 120835037 92949591 282017667 348575215 621042923 929506205 293957717 747007039 846984197 979393629 47202351 801480783 541472095 724117741 911313245 444633259 242445975 358283085 522178573 12695045 194198963 3446307 560281947 80652855 284465695 90115007 819744327 464516423 445854129 116060953 3257019 482012767 208125863 845318863 848193671 119419089 445794723 521009193 145716835 437727515 127936693 446144535 181028597 976375773 339571795 931398701 14186433 567194853 622135641 276381103 140480061 154152997 950002443 827790463 95450815 636354233 512905239 604361265 833061767 917788643 68688277 318793979 104236995 61216783 777842173 142472891 228206209 337721807 441714745 409370103 790790585 756160737 805335189 234265313 480373585 604020517 332143557 605143121 400845837 613041065 409241575 473852611 285309601 59978655 234087809 618528607 408803495 764607331 255009919 359583991 929997215 537336183 656947509 373451519 853079537 684718983 962359141 94670999 613970417 223087463 611483951 985320841 326480085 626354193 938576419 308996927 270381507 72523433 438799927 507406293 471560895 837289849 155091653 960992009 523854781 914119413 165912981 320704321 965960599 989946041 334819795 60894349 149085451 427144327 167568661 570348965 620833223 571485515 506155609 447166695 42018135 883120153 734071555 767014235 630708793 759450923 79038943 598515121 22725323 734015205 483562021 596274493 781676631 921370833 667097201 938523907 179857935 323377317 266718151 372282023 483263501 635406137 645238935 938753911 593420367 797265297 892526005 200703855 246244803 865773531 732446045 412815915 656812341 467971175 131714613 848860145 859500129 464515761 461370955 932114099 25220841 693566557 830305811 971378953 336493399 490875445 308628843 388233007 254648857 385209647 671215769 958319117 619028617 497165155 374855497 516945973 843578345 205596951 976166801 437028059 784387173 79047091 964179695 339528415 25275913 932009165 175337285 628408777 619980753 46634273 12432867 723205833 139693727 408311695 344808063 907662773 779467323 619231269 292867125 87835149 530171991 547308819 864712329 259112951 500532109 746716601 307064427 501938499 256599131 969605525 249221421 555533417 669252653 848567639 639528335 444347271 467270739 544205775 594150581 917423973 281963785 688267003 512459051 311543921 105829995 924708091 470384105 421842885 879009671 66266909 12804429 323349533 864820557 577761491 703766039 153602275 693662101 814617783 463865465 33223461 801025059 764830095 716900103 758397081 160769435 265718085 796150205 980456609 21551253 832687597 539992833 767295299 926781061 579762879 684453539 823079469 143274703 96833315 606024403 984715191 207205817 702320545 663820595 80826337 188897145 513232109 165359045 419312465 879646501 9128161 919605239 670321241 666531263 877824389 261235615 897498093 228109617 314906111 644944891 420490413 686752587 705257379 158139055 250499041 491047625 128551151 86878919 943338617 669447751 84854405 337800635 288573963 556086611 647388719 852970087 530648023 111097181 240144865 558587407 953388995 547194557 964903607 723173219 674133343 157091765 995693555 781492087 883604707 634841965 273303553 272463047 643741229 504835833 989905781 399469625 237808581 616965201 538884105 548965403 678749657 640432983 253637537 163802913 579577667 405464787 305370439 873869673 490391679 252619637 413628463 519979897 823686839 218220761 139005109 819310397 894530743 900820095 226714461 585858315 702684667 654421201 437185487 499084449 390603679 786125855 730063841 493638177 186667881 963018147 264162957 127551773 296952011 727061117 870400247 13868933 625238491 590490809 851791209 174393019 236968025 234477125 154415193 629228161 510004909 976954877 239392095 624004615 390356707 355045537 891997761 500843231 983873461 125214681 524682215 827574281 418769795 37875513 223783783 439778537 579751761 135617337 583667963 751502413 750360529 239708217 521840391 719336809 265821271 169278853 817930519 672496859 639871463 860976203 73226973 451819945 755105317 30416039 483822387 744841791 568299617 4103321 824506143 643795827 875966611 684510985 910712521 91265921 986911321 123026123 948089993 39481103 904371707 619856791 835851221 234900523 646600551 121496845 45884499 239313227 453248311 469514679 249820879 542715465 133874599 17536519 425941563 604885869 485373345 405341527 983156401 936340581 191872945 534798567 122439799 622678851 266812691 784382687 189403895 336339847 272971937 98393427 337837507 409475349 609555431 201676089 426220441 497223993 701310993 673024375 525813593 110225323 21531383 326983121 312576273 82757511 452488729 474231803 595358451 382854737 102028189 906675855 585053787 279458041 260853077 985994763 597110475 577061587 556138933 706661851 438264559 245835419 126322397 141106513 620572057 882051447 456354197 928743077 989216455 522311669 517547085 736596471 330465435 982738185 285485083 762161745 719638623 941079315 971559871 873099941 489499015 599129301 533450399 38670539 354919087 506938493 680721867 91896455 745360025 279364769 928283897 806873727 313298737 393718589 225730443 739619655 427569803 308634809 864786823 640182869 596167135 649954527 580316315 810819853 853175957 373805543 121808161 367604151 924028213 620730733 108866325 442193029 412349557 633857397 992810273 970285711 270742573 264159599 541006739 181240537 89867873 95400237 795410785 439721289 831697981 90122223 553117995 598175665 915245845 381436249 63189563 409828557 187412323 735819385 595789693 264074553 88576459 329229507 907334281 996584067 250229271 898848021 781306527 892509211 441073213 56574645 283454373 66425435 913153877 934924879 455110957 863479681 429967523 756003577 667087211 845405881 975550613 983101743 350573631 697924883 47468987 345853911 745809457 106076297 911037905 500279615 345132401 880260349 931343547 17817629 431407317 129390391 346649987 461279883 515286235 641524201 369055583 971336467 46165165 45258923 379295911 120455581 799489817 206371583 792089569 766803073 235885463 142276431 726704823 805346685 454291781 382495723 867600635 221820085 124512747 753795599 184099241 741678517 173458167 642002647 764159461 866385525 591885441 960873553 314495483 209375825 220230219 542304365 121393245 812317455 53384375 718563843 607114917 554674139 42317785 489327061 471470233 969857097 226761317 362893197 349016355 424278361 580310205 99426491 150823765 717160561 131123685 575665113 421219691 972595803 155196559 605123913 976382411 219304013 269239825 838155857 1446909 316728037 250767723 505053223 677738421 676892969 177187397 556987617 432952269 544919429 302351851 346973313 449899339 514118863 521818199 798615537 573842009 790606149 840443687 653554689 825924937 728226699 34079395 481499755 106977177 414965165 972024507 343199439 622534891 16121891 162376709 728117177 321566729 547122889 11538111 445257623 208502247 160402403 663305683 722964421 910696607 958645537 980097487 717434243 71665271 796125845 559569387 845520635 133571803 819719103 957493509 369677373 445628761 733848195 458774179 102673985 212966065 615252527 536500729 32024045 229297093 780725367 471703769 275165957 307618463 377560185 127830213 557546303 198656883 863074747 949358053 16803121 329324445 670162217 74425351 767747931 928607903 332823065 781163937 788295467 174306085 945239879 170158291 137719791 242616323 524923355 872546919 20239329 301197107 648681567 103206089 813714721 405793497 28713417 815405329 957188281 741621311 978441849 80514047 114092957 291365083 230817073 968111865 505564065 607367493 619636255 842976015 382992523 694844481 228922331 418626041 385833219 690858939 694904925 689602837 391626647 136454599 720114191 599000173 147922885 961360289 106200765 111411115 320481515 48601255 678673051 412952363 105042261 186081643 586988359 406806249 196741937 754683035 483368645 296213903 872299929 475259415 570481285 541779819 969961361 825928157 470954075 560254325 984737535 370588957 343534467 302757451 98178487 519367463 193825187 779330355 962370161 952501367 628321225 804810529 419556813 263573425 364925803 12540839 788259669 396401825 66198883 995664391 764771451 23578425 887130361 809390121 845749657 549228691 866747609 783162777 317190381 579468277 485892121 301612179 56717219 905772999 126161719 730358001 613253325 676243105 902547735 909416767 985559649 492316217 441967109 804830633 988250691 891421813 772600505 551831815 454601021 142116449 520514383 98407383 869387261 855096623 450110027 727509829 656258589 861333305 791609757 774922779 138310945 956535557 395154327 927531475 581450607 890776637 4594681 370950539 861675353 748148917 52516583 987933451 284405787 478393189 993729519 811704259 56895187 237620597 40758021 96552903 213772171 155896109 851765127 473479387 930593845 44222721 726559547 751266147 366943657 304255115 953854797 782789487 293940905 531250065 810336083 75153333 213078751 260957437 587971659 125349015 975330781 882091491 786236311 996198683 92991513 337315965 217356807 856316399 623063543 909525805 693423825 641943659 779478207 708637057 335669903 307579281 230086051 916810539 602298443 529356035 761654459 232749831 838289517 113178133 691763209 403349527 500288973 365161147 812812919 842147465 850234025 84287637 368462549 855881387 411627941 846216685 924081375 234742781 206172367 571012783 677910065 234742305 327135899 441221491 433452889 7694305 899385575 510167671 721702599 34281521 327421943 151886503 123593171 667082029 179291003 149633677 579832255 596623641 276345223 5012835 96908469 998664541 611377559 142883335 599957189 626795407 915598737 658682369 708986089 226120809 491728067 752982143 127955971 819845327 879740131 476527451 664126427 939790027 96908555 715049491 700287011 638352019 423366851 688969931 573392243 324741503 362358009 185841495 117927501 641468179 417149695 251467821 678753819 42976765 533323155 173668715 538130477 156511501 94660061 972232663 579463357 386312255 635768935 613089253 680723947 178742711 117868073 7312551 714564291 882324673 637021567 845128415 103546931 366895309 395932461 585601523 339140119 863042171 390608739 759432437 170416175 505127049 907597493 722132889 686718245 374232295 972069663 377719617 870188425 981746597 849464071 1250289 789436629 179341825 847536699 241615707 529415273 269420891 807203567 471549909 329588881 844300353 236952769 792527711 303544701 184936803 220230583 717886623 353893955 452571297 291470141 426866661 165042665 171233787 150214441 117424169 366049367 866835611 174522039 412498953 809633117 495684057 944520079 855390925 825620917 529895979 629074107 775752547 656409599 375366201 58367923 773798757 530901959 86599625 442896209 14358033 935226491 692575955 5504735 407978827 924607607 639849073 326309637 897168551 769186809 43383781 866331867 893976667 316781615 620000155 639238367 994268739 685289511 241100837 511839221 197176555 129171419 181907265 809506411 595093631 938283307 688738001 767433973 387374041 229526241 77014495 882573233 583739765 958160303 137321887 449954083 363702907 751760175 88596589 256419131 606740413 257247457 52232907 786378829 736209071 655442221 795553893 232804885 379647089 687875175 692238605 651869883 191275213 664576455 579021249 859846089 598469421 958790765 264092579 862395189 791266221 117532259 585980669 294860895 704230411 196742043 760291907 835164937 758882989 406364399 453558545 351689313 172784547 166699807 728570155 290734589 678075301 153543635 747431289 682250459 411224337 540367517 834479377 148024925 12351215 915804153 865567789 350277461 111117295 84643909 802513713 654188789 603324261 720671435 893778343 503955419 800010837 210901181 428607811 879836939 774950499 80235061 392018657 728896245 647542493 694717745 433933189 51819115 47959487 678574751 581080919 601043373 34384037 43616075 111022765 584361823 423443413 231911667 575995649 833807759 302220609 409273653 721940983 131366579 935835009 241901211 26971739 787650725 162867409 916759959 652869405 966536109 573705753 604730241 398458461 817755511 652029931 726019997 430668377 133212697 776321915 993843217 40710785 150211855 382082985 25994991 179418213 583767105 645679101 672561459 564428481 402080505 208683431 587250105 234761337 442785519 10186877 501313617 303372697 812337981 720916479 367848101 436809299 924005741 383671379 627035477 864274433 311118951 342840137 249693405 432233513 772451717 633167705 887930025 550176629 365952383 298584737 70122505 68237495 983763327 326516713 185811769 945383915 119797265 96317343 438506581 46348599 861778985 971603677 491337323 991483361 151027237 314685023 782814827 307704161 703148747 807604111 211927085 342703185 899501639 192165755 804017013 395747187 638929199 335622617 414723305 669960883 979531135 989186059 843340059 415087651 43680157 456774165 212273541 333978881 421750103 480603563 522437513 122005677 317936355 113943839 696605551 202260405 188220891 128072307 611066727 786090187 581454407 317675597 987930253 980327371 763011477 804859135 6877155 999988919 739320215 704948605 43961165 696982203 65466763 719919719 182044835 302709035 863595289 880604421 403746457 475999359 195304781 969360455 892752849 918199135 433576859 844177347 209853911 30038419 668061407 232903353 737336347 112788239 647948387 309925135 728881397 300520175 364003025 581849685 757457575 988719221 603179837 683741379 359532635 373746191 711688743 858032695 713855265 536152139 178427509 944051001 847436531 227783401 169633391 184976887 940936113 205853643 682853073 457955659 569420327 65242107 219265459 290138033 268034819 901501103 916353949 114059859 939390433 664190015 950170235 714060797 309274689 960216367 928933539 523072043 682463373 296235307 876828113 634066423 972069653 39571463 779002925 162917165 533307667 386361021 226268481 783936313 451823015 724589681 398985989 793439283 117389533 753455471 983724757 713597915 66320035 426534439 251120757 654679705 296585173 484378679 308036373 866915449 741227827 408097635 789676103 760520757 706839141 63251091 501454603 409518635 767434495 674247901 714088133 951774565 539135353 109528701 459610691 220269197 436783667 975891923 424774329 556751103 226957433 910259307 179716805 332898745 858136441 82587131 442309483 992885345 735129935 998542683 32837915 484902471 719097851 540982161 419867305 335903075 844393573 585775303 274989139 989694291 622290273 683584335 433058491 32397407 237535911 776115365 885497841 716875381 348082135 343764591 149068395 946565167 518983035 78175091 172471811 527051209 378306055 413037225 169009921 136358957 960385231 70073387 455858449 123256295 337498905 616773179 349715531 401484851 299735819 684654147 66628135 502390251 351447737 172477915 478449807 261299867 432818459 445220793 564090063 257047407 254959377 412444357 495929499 658985535 239983205 541946119 176314129 45287051 773041865 913520307 695173557 510444153 452973271 630966051 312327543 746498011 322455821 417645533 802009001 844761381 643896537 670206859 511148813 400096887 338440071 831600897 566249155 390996121 35319125 78345271 748630363 465414651 834709089 365453653 973154249 892074419 259651509 627354531 526186603 342504575 80789059 715540117 452205063 830604233 611036131 717436103 638628553 227933855 312660057 886826747 258540359 221301945 11297867 182156573 602865023 897603957 676207693 847926593 520693205 894525147 408248277 507222177 835373077 201451673 30241351 291263137 50411127 510399241 939371499 133480395 728367253 949978151 982426355 421060307 866462329 271003293 15123575 926763925 751734155 618070199 750510459 804541971 613803941 26244465 814004709 304946555 49111041 626514277 781113223 956847899 333470789 98499551 316522781 405550451 104404349 369007051 301480773 516067621 16732451 811564737 606965641 754148349 442783247 790602753 911205721 317922795 981899143 938949489 351418131 106110477 212691515 904434339 176306931 822810023 384694591 136621515 295420453 351318817 594837263 900780233 135611321 144482577 299478675 276990501 828283819 447859505 460462613 299816463 253691351 35978085 651224653 877541725 256502539 69995193 564740949 348646029 763789815 383145565 845599157 142004937 955020851 420384945 371004251 780433119 396801857 51010099 631883417 315176519 7429515 6869139 275790639 322128415 702193507 139983265 183590719 984646703 224565247 670218841 92418651 942970853 46768257 101082081 538827381 463828825 804900085 376969343 434423531 756921933 81606987 278420651 521170305 961845027 174255195 37160447 445609319 904730095 459706599 582970939 138503217 539985253 703630489 332658767 552965339 605404647 884203777 506819915 769491659 531405945 433506457 530574189 912484559 329769933 524006339 419564821 831402013 380020025 259037637 561794001 981885775 144286653 289445845 154229075 374862701 104390399 224602121 488889975 817974499 819847249 483592803 281720381 795816583 289238951 434764749 230343893 47263895 44180641 583057687 975421585 65610165 303563655 39436795 538817257 490191859 460691529 232414745 38243205 841888705 68317053 863905277 260078893 855211265 733975393 8477717 563998421 459864567 411288799 61598141 285519513 225779789 882817157 311824437 415028411 378748445 131188107 113224615 704222375 251832033 296047823 165970467 523295729 431836799 719965143 874982051 185454417 866401859 363192279 691303431 969690031 978351591 774101665 770159643 488649491 843905155 682504119 605500557 408035761 509846429 389472577 565270009 537026277 934272549 751743755 82136799 931562547 950867823 39938961 989308583 237759555 458639417 717443821 603629221 600990699 548348325 523835371 940657937 634941221 131445315 77205751 92910603 521110035 967234313 726433065 820409503 157371909 319475283 576021313 632490939 690678889 984606949 923597989 262402363 665447901 480719597 397794917 620246237 706566435 892092161 252982841 885229903 154163753 919156511 100744575 790746909 668707583 420583339 418396735 488382405 350964961 28250227 631602729 209125541 951590195 545158571 185990547 347551753 970842239 977624817 128504443 959757343 271422331 245611593 577531787 523022851 517939199 695131939 322403089 509872819 967758353 762823507 157613573 669246493 884458201 631117333 337815813 929881101 673547181 8529167 876330839 201391425 922333961 196618575 692813807 33989207 61298061 35005513 696986207 341883609 707002629 429463773 160479721 373385785 780849511 27654221 953964661 100675281 800403403 775216455 86889871 617130207 870622071 470583521 740516723 722878353 735996629 210873241 26324987 384682995 87452791 981300305 428595635 735131139 727424025 922197339 237903557 730468255 579371937 137130345 54654479 579050897 273711637 93444759 257167369 269088907 725471917 856642415 265257953 878788133 888050115 576460761 302483041 909263843 954431449 685807663 392846595 873304619 171698331 839823915 794642661 752179535 141323227 127392243 982481359 38766219 848671383 317490453 975122225 491101437 852535279 253271941 407421727 807361199 943058481 475037857 593207645 330104723 391610831 362478127 737358927 142474881 459983973 698248027 608283141 368905275 217097653 799372219 528521525 420389483 618614955 774020171 398672961 336083107 926220377 719395443 661198383 847870297 339891453 290750205 928376237 736058097 381842681 760135457 955035667 214382259 599853015 181295993 856266337 208995281 970437451 693830413 376467007 414393443 459505713 403040331 471135483 114421867 292795787 104292357 751164555 850046163 467880325 173103227 335078031 222086253 716085875 171283025 401218385 942669551 137759183 857769363 914132155 645059581 172644155 363428025 208628587 114698781 388130695 589506975 888879001 798492613 681775009 73262731 204242995 935654475 39350183 32105769 45217731 713073393 796172251 406448527 971955075 850099681 862188971 530341689 487991889 226626861 228616869 387174413 60335029 201428939 921187721 610328921 548003037 333462173 482213689 479007953 411336099 888953711 924378561 440530325 481276291 81116145 748508497 542505255 865694375 472442043 792234823 236238453 328637661 390852687 668677415 226485461 86050973 804617751 564965785 659464453 994416645 643457891 38360947 747348009 249101275 860821101 412673201 529321165 793067665 723715925 88373107 529680873 256627519 728844583 878650117 509574617 826446497 899574995 463147229 264523105 931549215 287440433 264944019 420724401 677107403 297440515 712917997 458740315 240183385 950478833 279652307 786934879 810483243 494911375 327223133 44814113 735363653 968214869 45753793 901539439 982407257 603955877 895528037 135316605 259835581 546038725 584918997 187483883 748014449 49519339 247474883 401343419 310321947 404721965 209078537 844394075 928640523 363220363 310778541 64547487 999597369 749073395 208227033 457443273 323788611 17258547 858256607 663247225 526096753 150638341 859301693 742936769 112240305 307541257 866416275 688043281 345706653 549350859 805075631 122276171 960371825 687191737 52974979 155801265 847160855 482645039 176480297 377012211 845810973 506993773 347638247 401554467 748201403 464987803 630813991 724709825 762650061 729979341 696043645 174021553 893772767 908286459 102604707 516232767 631250461 751445765 827326587 775573027 171728737 552560565 456772627 632611193 284505639 682500799 981176733 139885255 6161303 988363703 818183541 857765369 852360323 301962787 88386077 204462437 689814623 567831657 42087233 410690247 718064203 762341597 620677813 554194501 486547471 354245303 319803251 403541869 823212315 947978007 508300957 43831861 293565829 179801095 867939971 414718967 366395661 177302905 629853587 653592187 872366105 690786375 30610283 11432687 675526841 913197873 131763661 746523365 772860837 930095071 964088229 294253403 633414459 464403429 605898247 360539065 135596675 186537913 917582637 455133899 359469 560803775 720142203 949897667 48194445 226716481 345849467 719646019 245668775 137658733 486185443 986995279 679197725 565725277 684787851 178662225 761190979 443933205 460224375 320724259 440331279 918326651 771093717 569569791 853987101 601924961 995963125 1754251 434381753 578478979 195383123 200712405 321063887 147306367 133406611 328156497 911257593 624490975 9514111 149674975 191488115 934090517 353410317 216730815 274751013 986356345 513109333 680483747 297918367 492207951 519918493 969243295 533390363 952854461 731391309 645812017 828355699 946282453 423975419 260185403 445682737 821108371 77011043 477600783 36543621 564865749 15220069 969396573 289823045 19151973 550672141 533959239 504416241 421395701 312832913 598444623 327763631 340932893 826500681 699215461 670381903 988567391 1192123 166478811 743977545 877361957 4216721 166239089 9041339 71365057 106248093 302825035 993428077 722140009 189050589 344519415 637267149 414176321 200190321 378884201 508835829 28173137 975808167 676740863 699104929 639759241 360471537 25515901 432045115 774016199 403306473 654139923 854306257 201933511 561846613 517492053 55895321 198921781 430244895 247201087 221715829 144446369 600961625 745653305 257023209 611146373 171246401 188169741 959843111 424437827 285490233 384696561 223937159 57773347 47450059 920561285 567367941 216029013 749005995 6651083 726412617 810214391 375163059 139650353 601417125 606544901 33653225 821862797 388443405 279827819 688195447 716256541 97669665 309115897 235083953 274774405 663390761 445046377 628385809 86240721 303298581 345015131 571643961 106680185 248248699 381775963 962925303 267155289 911641499 882833625 55578175 479208119 55472219 859191597 905889065 893873725 420420427 89672089 87485689 640464645 126110371 772561223 736748571 611499401 210693697 368584007 371622179 828248751 153461419 235405715 787482059 165277381 846618133 343566859 38577141 533770367 5242705 297557883 600725681 30152701 526716643 249872017 502651693 236019649 190652399 698701545 729670599 945925049 465477955 308188675 360269057 660932155 75519067 216549961 200108681 841792259 392055377 830850571 174305327 937944121 711463153 114760835 710866159 813944167 583914919 337896657 847098861 863851141 445017227 73241345 966942067 694762733 493895517 584240897 415676919 545910377 911419525 856079789 15846161 702022177 326154255 833909189 919154821 594935727 682694325 452046579 889486145 485135885 906544341 247334597 717829717 992708257 753154425 350841273 812664829 379543607 222563147 851461679 542135453 890929671 278133159 97617773 179532225 250788525 892476299 542560423 665692953 773327151 357091485 667036151 449712005 427490297 646532141 471883613 758483973 701542369 38210099 24080833 790645955 225618723 507126349 200803319 172882965 209318503 815668931 305327031 793494391 402367927 319326595 785415329 805496969 502889865 332080933 943944001 628207129 193016765 114997739 8541189 543970585 908478101 566320311 3947591 748731811 868584383 422866461 6832971 194321405 55392081 728693587 899723575 592301969 985649353 930676021 554510879 443946481 26434571 573072719 178710779 476625883 682231907 756375245 756483755 952571951 933099401 312674695 11271929 297348859 943723161 97243389 955890071 856926321 345743641 218770261 23114015 459806189 286151667 234609761 970673167 72208625 280941185 890174101 510175701 376304681 453284221 402747409 488329149 624566887 654319629 948324765 246565893 270236073 340755135 539650985 908172491 769446927 223786633 393727819 677735705 254621927 182674373 713939265 598301153 540443045 674137915 347557109 606502653 906635999 29252375 272705909 667348523 799834463 960456687 168041081 829008407 236413707 591830465 24852831 699684691 166966263 608611055 758819887 695674197 245819233 411552075 382450839 167302529 652875435 479772933 675948273 731886111 976903775 401300927 158501177 420180321 314592561 537060219 667848217 386514529 279565565 625174441 198826973 132275229 405931975 996470811 302200705 873406593 434903223 316916753 677248415 76938591 436729635 282017071 788298115 700625773 690816389 410221187 436627993 7015247 536888449 2237313 617833209 27308685 306201057 40779527 709633891 406202009 857764763 272126043 549624125 969583051 290372295 375029801 485203481 836600421 823346345 281872263 605553195 42731409 845365167 948856561 966908755 793644129 971906153 396747087 591168537 529306827 635369107 443941611 764357805 669363 12562449 240837243 114624995 2561759 114230253 136584223 911008319 743308805 680423261 538596953 77805797 939852219 830956217 454932247 680914085 436650373 457413255 261543601 732031223 511309769 696236655 518817503 159551225 950913241 777374281 785316299 945245297 60578287 946681611 852877569 448390867 228120109 745148379 819019381 18696753 665406873 814242565 297787781 906707021 739618857 292322041 240747509 514647439 361173171 211151703 799029493 916521989 347409401 618769887 812447769 792326245 813143461 716242299 389003357 130623249 429427527 854190403 975530791 966720781 397470553 913901421 708752197 246700811 518079549 522424417 714211307 419465825 133835067 350078885 910534073 581737487 717457795 682146033 14589873 177869243 433981745 977085215 452852801 527090359 272934981 651541809 125839935 280707831 938225065 866758483 261462503 654052379 954807853 384612823 608541153 22056043 688248203 772747835 997984823 750939095 952924515 203632671 225892705 151728883 949909569 548326481 226680635 576903171 491187349 887880643 268732425 26567147 445637045 436422801 15270267 876505915 910616807 916924669 985368995 825873707 366476371 355588211 137807361 502976663 508546569 232211591 44915833 623033611 266274563 113535987 699036249 360769973 944125473 57042329 913540437 727887465 640993071 512301449 39713931 391040169 310213595 866316785 682267521 175707293 337808065 648797231 271121699 222741009 378812513 652010949 301601479 883672961 373172259 841768287 186430249 611965191 261709659 663487441 204810609 318446959 713323073 62017301 413888041 182890277 545134837 318134607 755732041 954736961 13389443 228502473 691164203 913520259 766194649 530725367 488764055 443759185 106041555 60396661 55287739 899790267 374586671 420676615 139725865 817568377 314163611 488508053 663946209 244025833 398946981 841069109 69487943 80559123 218474949 127595041 568017447 84930215 377072735 617544125 187506873 996472315 153762493 22970773 95983257 537650701 278669069 442618457 449610701 879240583 106826347 105414631 734694337 834357431 769165269 145364547 992866889 483793045 698979641 668440215 701068453 225128383 700255843 935196725 344629883 3985275 260603921 676738457 431741141 146131133 40144097 201481063 289595689 441593623 281698909 737477483 921915989 263798219 170082295 599026581 39479711 23927489 639155721 519176965 959677365 347852677 224829139 17125625 822185 811369043 469138301 935219169 355718649 790637829 794370329 355709517 562955149 474892837 210407843 659455995 358466735 349382627 213168377 525716683 247010327 865468181 122915813 796019147 182837217 320495675 881167641 675030573 81907345 382159485 479662637 499400267 199326743 62943911 552372389 214978219 383044805 315848755 59198183 630243063 507356251 499263039 103275847 834290433 994565887 890085011 368731899 692844999 776797753 991849117 601591591 379251305 655764997 166596215 980856787 393055541 517539259 680644063 547303665 729698461 212268323 774427963 895335769 981929533 822463337 205110425 547916239 639979991 917702177 460300469 585577977 473425495 990541901 381101547 812062569 114720977 760727885 242291523 981678233 407625597 859051507 219113323 577861611 866389699 993516399 970391995 908941991 865516587 334726755 141773619 823143423 717977449 842968529 844958075 507379723 369068377 450101287 948498399 609802445 152219389 703383613 908727387 176968495 739651201 99402315 158874249 336209923 378026553 464932091 64310453 857700607 552778655 954442841 22724809 740463047 311375959 126355161 765379425 605307619 473987371 470856281 59504315 909088451 858867983 998208287 377020349 35458243 955947039 320848085 329384697 393412645 394378399 890331029 977431459 765137167 519935479 461758681 526750363 870211475 461175741 715502217 831417193 342662827 209524907 535112687 956337979 962232631 570968485 417582273 986398699 291595011 214906549 664743455 560361717 406044095 306096657 889310603 189489795 481241603 670903057 419195891 520617059 122550353 110951737 711506605 208119565 522906643 678846775 223017079 65183389 464994969 842034139 297501811 64287199 377124893 88769825 120717619 514087231 2733759 576323885 66681769 290619863 108133771 930476363 476612145 406904931 301842289 835977451 678069141 711592523 270664777 729032877 783682045 865932961 411191765 829329743 270175747 959972633 496178365 35212993 138442657 185873171 196607893 638143251 315402557 305389209 801901013 783359361 494705829 364356951 202858719 279808369 427205133 630473637 705295097 842463081 22136595 216567681 695216729 719042081 132529597 271103895 270543381 274043763 24157559 493937201 812863791 799965535 847247383 321401929 182616463 307493653 451538651 546158205 93894409 572360677 164033893 468941845 384332373 975146573 537641157 449758719 948347411 443028205 583740017 582117333 685989327 139337107 461224261 927883987 494789879 147578929 839566981 927642851 559043047 351492579 729363679 341257619 27472095 559966187 795536235 732244251 451994375 896471221 531953313 236224343 277054835 760756435 932460907 547059411 965064219 170502659 576033813 550513595 426767071 595691557 593592147 65539815 388938891 913226311 342193475 151883993 729082829 795726749 223417963 541836979 181973055 991716477 705802423 459236679 917984101 547547503 144463995 367961103 596434343 501010975 345918841 523109413 804869459 59079771 754873297 312534355 233921447 972773667 383483155 883985673 788532161 134288281 982413619 943274845 259760555 435519495 70355345 515689999 78570841 198811873 515124207 368144773 474026399 691665859 833655163 95214031 876037955 761141359 120407499 819073445 129011691 59533267 64919517 827916645 373066539 839492349 782422293 331381783 683878777 101327405 29064767 988638827 293748537 808508869 883105427 912575413 133794741 193235793 562840749 845206265 625884699 104333953 312797585 964352473 955778693 947064371 686479791 559026601 670806775 882444651 926481883 206000735 965661783 386861649 533118033 868721559 643026809 628721467 95692727 787364253 312508435 312071587 600075291 824013917 604013513 251077933 925560817 871805551 130844963 415912613 516224791 87486483 444218515 728673531 120797139 924214321 472933745 326301773 877647825 384744277 33640705 942439135 354154279 648500411 953536873 214223899 748606803 188556093 449632955 873630099 908861495 746708069 761844723 326122499 859387171 983410531 780404207 765784655 182760909 473964557 492677753 500952195 42040145 454259683 221888835 119240911 119102259 845076235 625130213 162262163 378430049 398127445 587384289 838555471 454573107 761333561 162254241 966805421 911380323 557750485 588241271 978272389 607811863 578587889 100284825 983531981 150187995 164765691 793423403 104350123 691391143 873018125 240653365 502232939 405957079 895068387 488878761 681431167 953774129 284687079 295051615 715707779 816231905 797022247 819995673 887988537 138131325 204157529 602398081 885090699 462620417 233444575 974329383 942934161 505949907 751650749 804559749 528681859 580005059 722872997 551113981 306910147 938782465 847156207 25276119 722387423 29060399 638809495 40439621 740843145 135427407 545940549 604790111 666149789 821917903 728299595 95204391 236407581 286874501 345010333 965996935 730114101 581897903 700579803 810407247 637409847 133603313 354804045 468445241 844464033 947420247 690144739 241186023 218560277 901159769 915138355 798888159 614491741 340621267 89875581 765620119 579715949 491041545 672850343 488371045 176703329 906818475 961197633 305556107 491724667 544209101 181104769 768028723 925889575 410226923 661163081 964697965 273111545 792880363 734071327 626839091 289332907 6547739 590040627 475735653 917647905 944548399 337809241 18932943 662666597 399434821 955730453 579462177 139853227 209606627 118687625 757457907 133673807 872431861 511575177 451916743 909521109 886464977 912821899 733185029 635562981 174590517 796347051 458623233 83398741 467129411 753057973 75494899 80341279 422987661 367451669 885543931 815339367 338478083 278745827 349887781 134023545 333513991 265680095 461525343 669195205 766377563 97794673 891135365 693779945 616015663 174548901 308567639 609837993 612673813 775014197 658978175 192164845 219962637 614988671 266712717 517289419 354709627 657877901 811703801 279935871 137719853 129826313 215706665 80899433 519640407 872050255 435373665 439859477 254000791 178761053 169936855 182496313 759411955 137117913 943720607 500877229 970555095 101432339 161490623 543569527 697985817 230172419 873920799 886439617 787033077 416686919 930619021 520887517 320183313 450323749 826471111 868343879 524014971 749716625 867480939 684906147 506176681 113636893 82455813 646243517 25359733 921170957 326343171 479686023 240877095 57120067 535503809 214754587 89125997 601733203 493664125 15652287 600566361 479154289 457358693 565417181 681478507 547394175 62553477 369230345 698334087 382779395 246155483 792745979 361463801 317581355 184947269 581396379 287864953 760319183 689965453 967766255 508014115 624282991 793084517 668923951 104358523 441972785 318593383 798385845 817558129 48817383 344296211 432425475 327576921 215047173 461428945 672413893 832654319 877073323 938212853 798860237 732421465 489283745 242137269 309023001 381865509 449983831 427122485 961075915 284709703 279223523 477102205 494497837 17002783 283164675 428534143 310602931 198021231 111874593 949230101 983461625 407523173 891901515 331883517 938411969 400852631 274602041 126992867 105039095 403944449 52296521 389192281 637827247 321846795 930700163 73041621 728430115 564718719 55706261 495700667 837505205 24564629 159954137 78687315 229244661 37946601 863952459 460372943 431809937 340129407 392286101 471404617 31858279 656876487 53122819 84859583 50086777 141029011 540951953 938662685 253070835 988702243 552673753 887317813 600497961 978039835 598082855 125187005 772281237 430937993 433065063 74984793 434989531 230820833 450041649 865031569 682840005 493785601 651347653 595529175 801996617 153809711 197270793 52062851 460604799 956608023 498452877 295667159 331821997 927567821 744789129 289963773 550950971 773939923 397818845 236101895 587945919 72568329 146309645 935494635 826330099 810787775 895319883 859184013 556618939 904069803 899289195 856875701 4387 30479079 377079281 269936147 935389787 20193533 858538753 362598213 109750467 608927957 785397867 659113415 143247065 350329031 269441959 88244741 811247181 503947921 379747283 445967951 429420783 753860695 166294709 920400351 667243451 495211941 599516097 515488727 264732117 825882227 65841929 544814655 447956873 294905885 417656911 890139399 548656457 574530153 538399739 994369803 99653295 14922883 603786267 588679435 63021953 867611647 118983525 708162737 688544425 245082077 390790203 233786253 305368377 464675715 640737185 708526105 807360367 116472251 89666121 660083383 255868843 961045435 599463817 706596527 530225019 720120865 893594721 214721841 40544401 730744307 157335671 311750233 510757831 371693469 352707869 373908519 565669411 722391541 614854727 78961541 194901455 148425529 427921301 311176515 329231647 888951309 86207823 550791963 908741515 317997181 27950437 339740847 142331579 152374529 967667819 862908549 855195511 552857973 444161189 261160723 302373043 184461853 560807159 685649327 678646411 660827815 762641905 884665243 447473473 416593195 583893193 68223231 920608321 604440355 858293345 171479535 319045917 977868405 356585535 263223139 799203475 443100783 886754705 198867515 37133189 784159429 189109297 936782403 869097469 608660629 158784411 561610537 816847407 670776165 933093881 436940169 612607351 6888993 990915351 532704227 491261271 648415775 305353585 685750687 631870589 418707483 545307425 288568849 750141367 200085819 27390707 916347249 497390853 588227087 69735251 341037023 224535689 764411783 459412825 218861671 438004621 499454981 32114627 38746615 577002887 924653643 35516413 20893803 613035279 832819847 554480401 923476867 692231401 757366097 328035001 590836199 751001859 912351393 812537939 35489835 35332461 195128033 878647271 848529349 377666403 330832861 933468453 996479003 517814345 558326217 505513571 207914353 467226793 930413123 164789663 259422715 607135033 199909711 811308931 711170259 170592721 770088541 386208861 436873465 805244021 109926721 798127909 864990293 173141075 708802871 590890103 340651193 959988411 293867493 738370463 873888481 654337577 230974041 89623433 893094251 686662465 313007113 361227215 215123937 84409807 404756431 307988397 253275063 279759301 140123379 31781133 191306049 930411069 714677281 226824059 531342021 158458493 607853679 364945201 899149673 887150319 537750107 342473743 47542847 479854629 451197641 907302041 487552323 949699547 410332677 347045633 243630675 306361335 39785671 929811997 704158265 399632255 752940331 684256877 685926823 78787499 266599861 152475415 1596471 853349077 426578517 760761069 621991271 340441471 199486813 240296291 735252387 393429843 147543693 616588185 232277309 57594409 749677577 870730583 52485483 434473719 253873503 62131211 298692945 566011621 187288707 132214735 335652087 907538491 406303955 774308449 75607119 734493037 588962837 689081381 870260785 660787221 965722997 158729007 267217761 95144953 391060105 355502645 306271621 903587331 489974349 786814357 542219311 260540231 390331945 763277909 34870233 468153343 318483175 220728617 700569317 565158029 905983423 858610019 508233371 259485823 514951499 434323461 157387821 58102665 355213973 694540983 858713011 275171457 192059909 473893573 906103601 987926129 216279155 675068971 964572557 847743871 44868637 322576515 82373529 66222079 13413799 322078743 312677135 998877039 705014559 381460183 988039569 264500593 120802553 675567449 662440871 961263823 664956691 994286045 711712705 816439423 519845297 12333385 233572669 543205529 669677187 983481903 332479319 380978529 810008989 970746817 314006075 214908483 993703547 539172069 705812473 831907539 674141443 169572637 187762059 183573451 176921219 814863257 132196307 701178895 363648177 698025011 211614871 840617387 482512039 797399655 915696525 264015567 925052397 335714911 821930827 558903001 288623983 785922537 427183699 540430669 725539461 601623421 708139535 21120211 933179367 658450743 649667023 477500481 400570047 538612707 646235085 748670865 322306455 596454893 637212715 651160297 628758375 367871599 355296239 750991247 704846475 885345829 73125391 712164091 799860167 552269431 674252897 845934021 259409227 642006647 567974567 889287859 948464555 396639193 891318155 278921133 838839011 128578045 914157981 877197001 120239449 474804461 390758485 188126019 711721691 499726421 378662681 952978043 524898205 55672973 320766511 400916735 900091709 737769875 166713287 289202561 869033409 219238931 38818045 649663963 13222037 261378647 853194449 896385043 456194447 189417305 167283499 615241555 21774827 406316471 851272159 712771821 668162385 789685433 490780069 426632541 491369163 823747917 794666781 278573385 409124305 136615181 958301139 27630201 21455165 209711413 815286069 377009889 983870039 491095983 584430495 261092763 738163149 35243529 252246353 299202541 998625969 226563705 710622579 150494785 208852355 24617185 831229721 682352427 931618087 605964743 855022651 287009891 750008299 270212441 292171449 749607377 278653571 304794735 48099679 505745021 736334605 180711817 829050587 264510875 550798861 54028751 174788809 227553159 147797875 772086797 848573095 433010371 720032147 622930879 825764579 197802747 768777257 755727871 321678793 127409155 280256349 599025815 851591319 772585171 972340409 990073591 100332139 599849107 907640371 549745973 839186769 921453963 808421675 10764049 564793655 544201777 91644771 774228209 471136503 287672861 457579017 179097317 730698069 801371923 868317363 62491557 937855479 872730623 717003871 409424271 285689969 228591605 621400175 632544171 648795449 934371631 237209013 328922279 126021813 338007569 736032611 117905373 146347049 480243749 462080535 449742409 50884809 2743583 982875861 90640277 68495021 560984541 994618893 199872271 813088729 578244957 437995153 412383407 470928179 609630669 556724897 845487633 529423759 823751041 347781857 379042177 787054243 744623093 249755999 996253931 555042323 328779465 138016401 731385575 937227879 683969737 17861201 404001717 36076561 730051819 395807975 163696701 575544427 853789511 33406975 525078795 481050803 98032161 19261359 241788249 809538325 662922983 166288243 341669895 891017123 335303977 413933875 207678617 831255379 653363107 48216121 807832641 770897673 101524283 59587645 588603605 270493325 414539767 160123993 295923669 129570193 270212111 725202455 141537639 701767341 179267291 845773407 730088795 349214309 115435489 780509321 28036649 898536479 604125643 130705235 926745583 977228077 534914923 5527009 903332213 188807113 303158463 269281985 148419369 875552277 57841639 768477415 433311781 571390233 182404145 685257393 30586149 862753735 317491983 540633829 582002579 229763063 981111579 985835951 635897467 525601131 58397979 756707235 585996185 902205133 962953465 37007555 478229577 672896685 753508551 202683247 884003473 174187655 902766531 672904055 112151075 945967031 178261325 61457169 935165271 932653195 112598003 783478231 104025129 318898995 870269031 413989841 215396673 468155079 786194565 591247981 135221487 691572809 345197647 553515389 543536173 4101027 633082609 227871295 965938069 87584933 395555263 540859995 940986481 147571721 673435955 846959837 414498225 806142065 732833263 172157753 678299883 958029669 581321153 621005387 530740061 13792341 367234203 320068445 653917427 466151837 107628441 467187993 736299319 386099069 460532735 145144979 528669281 377728799 204374581 84923467 409001043 15948691 478695631 106203941 605126547 388347603 445837707 44477807 613984337 904600769 418971211 751191007 383118689 812787747 720499737 471229583 853427015 467304879 778055211 867230727 322239781 188056315 504482521 367406643 496555983 893785993 329855143 377517929 587776699 247592897 807945027 24612709 679231749 643018231 697909371 922591311 328070777 843879267 310335825 926583217 163961475 884587815 197684963 52366723 283846971 548721993 827182461 865733409 887602273 781524415 692265363 815489615 280534619 655524189 718940867 628986941 698070843 661699305 775395019 778176125 573707189 515195915 160064667 359399951 249031209 905154131 185060163 348593239 818399647 162691643 157566207 489212963 434259655 72576035 913792051 523837095 89996535 944665941 846126699 207829121 452937519 465384709 11024727 526195893 383124757 691807047 765258199 174106035 949061113 36762145 4085993 516821071 850550739 274457723 54402237 374969541 724510271 883791139 943078819 597070781 132499337 743956951 708646681 767784769 732836255 779991605 604592831 143169481 855326485 939951817 220273507 261341487 618327087 460252161 872090101 173728187 941835215 194790713 944287893 442156313 571913865 390004655 669474691 366740833 183068561 315971473 478228011 511107083 342109641 829518571 626596383 917007105 939278007 40927419 495059995 623206799 357551497 658278879 614500613 48542057 977584151 615628323 983469285 163047853 162975713 45895477 993888239 671521759 744831245 322317231 885123453 813623023 273515883 437871125 241266965 205307951 812368245 432427469 544848225 648905825 44342085 634502699 435281717 737413797 724629925 19248997 989167243 185337227 246916357 792404895 948905861 645745671 268423291 289270241 428946289 725566583 869667525 854909213 842732481 315799457 980290893 93948205 418033937 442789297 991552801 592765903 858129443 425523005 825927161 823453105 126553315 270556227 433792307 144890207 223199589 358644519 993774295 161258583 622367459 80072629 563675795 187591671 427082945 586180133 213467329 594725001 964935561 327167505 938539357 729594431 761762799 311810947 284481807 947188273 996932047 738853347 378944553 357550433 464914219 466638603 130488223 629994937 380886833 638985781 989564435 664243979 513890609 753400583 103930571 853769741 728829351 54802061 573627573 840845155 683228471 767176767 72353641 155693717 881676203 953450747 199009319 757470485 602454775 775176705 124588245 397375291 302949431 141393923 185852163 594748747 77651119 143475221 114657001 760387179 312178375 166756531 503649895 27950509 419584277 70375621 280762881 3392779 41768277 621586069 251181031 986328167 124435815 288019163 237325555 838434441 726434903 100094897 962854307 725002787 532097883 901401503 258978589 945842381 714219211 880772755 807377969 438676489 240459565 780804831 480204885 924290113 147182121 661982275 713465515 163895237 146797461 585891553 38864633 342980047 716743789 473502795 776461999 459463041 108590033 369812595 714103265 104768739 431491599 733195447 558487633 137164261 124458903 74784987 570148967 728644963 853099017 791876623 722811953 430853663 630078245 230242791 765735525 37530045 147894229 673125215 100085091 437117397 202983217 435614173 577254965 317193435 788772719 941932591 530736007 143262001 121375477 33106827 791125169 972211235 78136143 760859275 930977459 746478303 68731439 238892599 622632243 676007297 753454705 906701051 745971075 574964235 311819543 213739437 838450581 908349793 45318221 132928139 901604111 553386073 144375909 277866039 581577267 150953643 945229533 317387971 186460401 168510969 587519829 236798623 199844323 249484489 46629531 775397293 718057287 386685841 878485409 85919281 176254467 610278823 787822723 367508437 462320295 466243661 475766659 233792691 935448169 91477931 974024717 539292229 351562795 569992149 752513973 184122993 519292275 861537219 814253365 9437315 118798191 52813909 405414767 976983093 654076921 706643799 468663921 24475295 941409933 181213815 493937263 475362119 406281045 384292433 26613441 339098909 260278813 26751333 491770603 194450293 827650911 681945885 55659929 565183245 559756091 801449671 121622431 811808519 70975093 229384353 974757111 258286579 267599231 10117835 129261509 192647367 379425649 717644875 107076435 141256157 539170565 622988821 817055509 746013695 145538473 221567491 324054439 311832917 438728807 852903893 565194189 530555511 470352633 573197363 151510895 955973475 421931709 150862257 795084451 477672061 345942459 940088775 547333283 392344467 519675299 529948629 482603219 619262681 724930763 64705061 839322559 649133035 720335153 477394153 754022423 302453459 983705471 312935227 296567225 693327611 697476099 971835931 384856233 882976313 27328435 907117425 789801999 339418057 812136753 482929425 712118593 667458897 544984003 535004593 44594875 952882143 558730839 56950261 980662045 820120295 699405959 578745703 515214387 259830601 56184719 951574389 744314355 67746375 649252697 956671609 79985527 993987727 905221489 458293431 604931583 643054391 311386129 44706133 615761403 434533565 821140761 358465895 236683771 200553987 773723917 2465507 319694269 248959323 438670367 610171821 206762785 752487799 355018533 512599693 204172597 366975091 804567711 4445237 859515691 680069849 401307571 106921023 867740509 15549073 279372083 442278953 753217617 769426933 949181585 96560735 427371441 139972287 458263795 816235315 870947663 230170389 545683995 108330971 188593193 92219525 985187193 962163067 801320799 948688131 874395943 233906203 469942591 876890605 271571681 707917741 483029563 275911945 539010833 363198731 937439215 758211459 986193861 133885171 886878237 505432305 349327285 359966993 798391729 114689615 329990975 965876981 185662909 276325637 137378153 239377179 117372031 953801181 706833639 827107807 757579353 189822477 651707147 196052623 996898517 270128181 704651991 757865563 420054951 545105751 394479091 295530845 260465067 970158563 266396075 252168595 387118563 741564587 168819193 982823401 263852667 24211951 523795069 942696239 586087879 938594387 789763963 601288479 636279105 446961123 945325285 274015579 184301197 971272471 152585553 462363243 688790133 892303819 827260159 574139585 915947501 526078021 981979349 59155381 56113425 522883121 449249123 421771913 635129891 975125925 772551137 540550503 641467025 252971549 53542189 567755871 557799403 676913023 784051919 373585003 124681453 156147993 10782199 440637549 179390075 713018015 282646139 637877293 711137439 588724529 618380761 850699099 147023245 769337425 109270587 486453395 113756323 290319085 217986927 17888341 418674527 462685787 498784235 396629003 347903601 199663449 765289937 74595589 504916137 334187275 323469799 246264189 477285891 917780989 210290843 207867797 321447587 355919655 147992325 161216085 302541779 600223973 99331559 27415213 318485257 682606587 10827939 782103161 966151389 756488345 971612749 284486009 756886549 218897233 116535961 54100055 750324891 170687523 322651367 457786787 946822273 89166195 887469889 5882071 287104771 29262607 440525137 114616659 566257541 671452459 265839475 417468259 855357075 510212455 902417829 689571637 6371551 946482115 994891917 686426597 29612099 883469747 829979261 882798707 346020549 840231173 392661095 263044297 462459791 553763069 161682161 40871093 234648563 37176635 415104861 742582517 463475311 672237265 859582619 651385385 965526435 109272879 723036741 991780311 946921309 493338423 799184791 327991157 833365903 147002411 319826555 237708119 780329301 287892155 289055359 383464387 396302833 832517625 381422041 33432033 6790607 621879909 557585003 726386367 698907009 34543331 818903227 244258907 634058437 697713599 288573175 615330963 275044731 128040881 296312311 19350579 703763633 87807189 527619643 82324457 472095641 852657585 538669803 928628561 863528079 650636337 153703635 648084459 185246741 574497963 237716333 851943455 909668311 169430747 488331225 630082625 466275241 447142119 667801563 746203527 322666629 223167069 332684517 433966869 583936399 749525811 102201101 929538293 197712145 355438787 309240851 27846421 342030719 756438741 806645341 46468177 498747509 752622743 752755707 793805159 966806453 276239259 748893605 544188419 412588587 511981791 202696121 162241975 525890795 6870475 952304447 502125819 832743471 885854507 803859173 960419375 49349723 730647601 636836869 328552605 532590329 255971711 209882523 188992375 80086463 72535065 527324497 731011799 369964421 444321897 911840885 60257467 844379471 773980489 887660797 434287119 440777547 715352307 721129611 513038757 497046473 888925709 414590821 586254131 952748613 478193317 621939577 835404893 279560291 240212271 344539487 210866603 611226349 776107403 284107607 667373455 719003353 399985145 146405961 712766819 51074111 181985835 529437889 426450533 336172389 705805365 723838457 923553985 901389747 615586197 687327441 625405577 487263935 249475629 666499789 794853555 561239365 664481103 637134623 184844835 29497893 387678891 361133469 401714849 850360685 592137059 865464261 786093023 649355597 878014713 680385987 853236341 945103141 17359453 579829601 678669031 984868467 937361633 66756887 131559067 322481639 114308933 577415431 585764579 686145105 322250413 328604663 505567225 831812015 75429287 818600535 61408767 78267937 270796583 858364219 951389181 679182581 560849803 413538151 215636709 265235869 359450007 642005567 382693519 729890995 541852027 157347025 195185341 697935101 449210827 417063641 196413977 522998373 953439875 520507315 239280437 175244031 585311755 237689701 700676487 30103043 72197165 230901153 421414513 89484505 405842719 328949437 104406079 292514313 582229633 322728121 738249505 646978631 896555093 225132605 257572911 839035757 519522825 430235029 444423275 387417475 109348211 90600379 433465279 539183023 638760401 750135631 62959611 653585733 888658119 177884053 566119897 954951875 263041377 221350783 716114427 697899723 164237079 772214435 595273705 691080487 918294213 637631039 16212755 638885835 815029169 421241405 582013909 914488275 639332997 526115373 82094191 13772417 684069467 729131585 385183243 365978689 193537965 413646429 907432889 525936039 392035681 44723975 775962995 98153069 639138757 725199471 897834267 417938551 181691789 967093097 698112375 414491343 808757977 34774137 713834301 40544425 939521577 977111233 3528707 879557729 906771825 64623893 368020299 753219195 828636417 63245033 254353277 24143007 532210839 942289759 291283181 257418915 621128283 758281277 958862547 294727041 258167255 353559793 954907217 622761565 705334531 209421203 151520109 448957313 308390201 637415907 747206173 852370787 895700035 927396423 974877495 831697307 670606665 12747473 260258171 429663215 427756005 854234165 379093143 401066311 925689103 342982355 361861145 243640505 984139825 429350835 935221883 912798335 359927831 29091717 914800157 311207165 835039733 143858591 989160011 493854655 941842025 165097217 385106483 810716279 148983929 384506193 849012209 35056639 489964689 348241375 996728195 206591325 137016711 326498977 585591255 356162745 234334103 538272057 902177211 364489323 821071721 297567213 282183911 114889193 752564487 273999533 887641857 998250713 98622695 351439373 863528077 497651207 561205481 110305873 298686975 382127205 184870223 682197595 451601073 842506253 731703751 553989823 587353059 316356421 393755239 840955569 938509245 864187255 772161709 714452755 210376787 423993909 557554301 481501545 849184411 445812797 977275171 174441703 773762937 768495215 601905239 811479903 247442103 724401881 723329845 567453267 143855619 66128813 397923651 162442729 846360055 437792839 951226219 121755121 554468119 190489641 177526023 315386595 989166281 929594367 841433297 246325471 924637793 93987483 776099823 416334505 787237397 764354555 433322223 280437939 303324169 40988225 866006727 149591569 556852039 70641335 484115921 490879367 290389693 372647633 301341397 860754553 126610501 271295787 34595327 247495671 736496547 312501895 580776421 217537977 246656381 49542353 345574533 553907485 905658469 825521181 938780225 711519787 291672023 133664163 733775595 838751889 935776049 21614795 177479859 958883495 323090109 889632797 727630651 511778927 282576045 933763151 206835333 843824779 671129113 467432249 942987265 545110351 878616581 96911583 751310721 929117103 268139095 448826477 713630789 544825421 390279905 731038519 589260273 352235631 380133469 990045623 239350675 783176451 699416941 975621265 35737247 489054113 506713497 20824975 990527475 166080393 340253267 120153767 694518997 532986017 726597619 512585457 694252017 318753401 534965437 909864881 170391645 924783945 246561239 812243285 754545301 423709937 93006931 935092845 124564353 143970293 408136235 643484853 466603883 578439301 59839297 1469969 629716745 116449659 436545629 113657227 19231867 894253909 839652913 384282713 511822915 53900089 61467733 322972371 746389071 630291959 398984267 231699327 136937207 327181573 804473981 420995079 962441203 582930821 482260283 639403581 136927597 944099645 756686783 159003933 730224369 889026459 910118187 734516683 209992819 892450489 476344711 526236307 177383761 196887635 462503109 105802215 234413903 127979219 99181501 561670497 649495965 320336453 89017649 734803655 545178575 277846885 398872779 172489987 506467041 382752909 878884891 359981863 488061497 689494729 225207195 94297455 59823781 762625221 289514411 508955201 383447385 316915673 704410007 678380325 760776437 554042629 559378063 964865487 323891323 333470703 353890475 677246745 689566297 114862055 415393773 657063945 758721381 9873125 606420285 659506889 49810907 653094025 924321647 644498859 897151587 54115095 602553403 982184493 504465159 361325183 803929411 92508145 463405631 232482651 276864271 911131585 614794215 712496617 346116111 268124305 989663811 616051471 500411295 959574651 169536771 187084637 965953791 111157701 767255609 674825 369505367 468393435 470185829 681901557 708354491 40051275 487565931 718863015 877057059 260164565 198308505 414421325 103249009 698628443 468720547 260249025 709245035 331206375 520766631 874459007 939331527 661578413 566332715 450496687 342639897 129233929 354696731 243881251 385182439 935230077 613162189 973235023 398070425 767712437 326018045 167027029 37212031 457703813 695427283 220209145 469780945 409081575 926349273 117433773 22513077 750428927 470896135 784450439 841772079 189027095 202383287 443081799 341950003 606316197 945302449 681773909 683436955 843444289 682319907 928885181 748854823 304686767 296051103 948566841 889000575 738107355 478403621 875877671 163299639 612697561 795233305 996763023 764248007 414487525 238265671 66391585 80347535 282748255 32476135 546036017 938056921 563503827 461650837 914700995 98781145 512592629 332103255 15436667 179450275 706693539 276807577 786276777 952508221 621146843 749251375 849833027 736031373 780122061 577497689 736221675 929784167 547773385 147078845 170734055 516553345 46899019 665581925 957669669 618008703 666916599 166077383 400162623 49272555 788268185 237760193 22362481 372432179 794341411 209809305 708975523 665367473 893275823 682090237 214649191 277121193 795510659 536128511 911533297 389843265 333930759 313569565 186077731 121273997 573823955 374588223 813535105 130796163 302072733 815314607 11903805 469884679 273143883 802017317 377075245 857678561 789654249 169059261 906461393 227091651 392230057 993582075 792851535 47902279 290474469 502413007 852915063 286179563 765123875 745234059 704852417 568412957 167610893 394797807 156066381 942266665 984249463 61366817 356341983 194833995 489342297 225272233 841646311 621946277 423356379 888052611 741212799 687077695 661788229 415698695 911467363 117521163 471446283 235447805 501524989 157604323 492001735 958768017 632701019 413331077 609913919 486552919 397104437 335253661 945588573 177377361 125838569 93330875 813615157 668611039 97943677 315523163 872851201 690910419 768601765 740655835 765261859 67001949 621822131 566261381 702957865 319246111 274195881 520526985 992954821 888976411 344745775 644970757 348234451 407050175 964184209 127924213 936999253 386863331 756879817 402713669 58644345 872272831 879243383 869614789 452590989 312013053 303765215 657485615 103677713 979038889 719634163 142954789 794919847 242902327 871106377 352170799 463144985 265383045 471304225 855105471 399233373 204296921 628073057 392064557 920489867 564877277 827650713 202088379 26951911 357118891 613559809 736886419 632550109 237703101 700574583 631143109 17632001 78273019 573012611 655719755 715224589 683121071 482512469 185354503 970484453 543942287 757216451 679750593 17503635 226027451 748781899 852705065 898980941 72342197 374422551 457715163 454264427 92123243 721336053 659014233 308785011 305954355 892589659 523146247 714800653 713592009 658182763 746444347 714633487 804129109 429101547 266931501 257983091 229554787 885453641 304451839 895237213 747025637 590077853 328243897 426970649 158625597 586938281 927488331 181205271 728832047 414319823 389720721 389861879 345295333 170848803 617030731 877116791 98099961 643839321 612277539 267300231 126103397 922464209 296056745 690092087 510361487 366227861 909328727 747608261 822462789 990490703 992941965 830232209 768261819 904013403 849584279 570665001 311165839 591756727 79288995 679730237 230185415 797966089 771146445 706533549 116848335 568557219 770580501 757162873 247686269 618609527 671017573 641417163 801890831 668646441 935702413 913280251 833134375 930314751 923947589 524297599 857913557 191675369 973575987 778800127 629262479 575863165 684293595 365139011 28523313 99700217 250936243 437913661 186742271 426337095 769635599 424512269 742387623 874045173 770891829 179653619 67690817 517025593 733626957 259133787 29498693 94052853 228004455 758047191 445949597 344354735 679253115 993440037 700893077 822411413 134235247 927778087 198916321 386659199 31233287 437996775 70411423 597509869 280300791 332216217 39492949 70021127 986206681 407419801 861071599 768935321 760293677 687932777 650678721 585244445 280129883 961571509 877138317 672826803 877449911 905194319 982394483 370323743 166258295 968249909 778951171 600457939 229446081 433765513 207887409 829096165 303039641 486963349 796778589 209518869 481790195 788950733 61772873 43732425 615587241 885389005 947943203 572478225 91537785 262244441 860355713 543161253 416983057 167370841 983701345 401267171 91345661 143309283 658165543 835107027 894903995 604460849 730074783 135846691 49550249 93312167 199497985 989780525 274273041 574451151 364017385 96362733 714999333 705352285 297341787 444182285 180531967 926971693 838110919 434652123 71221661 387667779 862192129 460014413 86983403 720772807 774550853 82678533 776504763 753509391 191691065 140474697 353610691 685720213 503246827 877216263 459982503 537114109 737033679 805043159 717960433 54588179 92355779 870877945 106910991 646920903 140849933 453690965 575552091 53526329 118375001 839561335 171403799 56661671 34522813 855048857 528334959 43086465 34388919 694449051 496162159 657076311 119756073 311777537 579058707 630585573 208958563 358519805 88960317 104522511 793043227 587350117 336486069 478807265 341491821 298423735 851186221 260784781 347332573 307811357 771994685 348374893 270581849 621679463 49650025 728545543 299100985 580033543 906672407 817738757 152286519 491793441 770327705 402184505 664785273 155096699 739256873 714654367 480978059 935363973 940745705 464642653 877077861 987654227 122748641 834410937 908998243 752831913 969528835 580609579 762419275 911364843 848834343 372802125 793890121 737720615 944417807 490824929 881567731 691853849 753039717 83615187 494480965 924714267 543070651 401026869 412331685 806383161 364672647 578004037 443466979 721067295 440060717 451678819 224033583 270521381 44905459 447148061 303084841 475649867 583418639 589704741 439395033 14285625 940886423 6739543 208307111 802289211 632725133 809564341 903215467 775220555 754694619 258759787 790111075 310591241 68907345 297369805 858672433 411377337 757456809 238213715 263781351 616460109 144765317 706234277 711895287 140914779 907973229 941380747 384137023 113430817 110529489 187282681 13571075 876745609 976137741 53228043 197155827 512063265 66006883 761240835 512358947 683594785 513661687 24607823 12608783 404341863 673546719 182590589 25032605 981147259 644689427 787949389 551629339 361660045 193425781 80389793 182633789 786999665 454662861 333693315 846586145 66467753 930577611 901308201 46529613 986731613 985823499 297247723 718177965 569534043 438012173 491430477 182637719 122219289 640035643 369886715 957353929 417811385 499572709 282919625 879538789 194637825 959393347 97336241 650662397 837006687 826960251 479073751 936946817 515007979 750637459 571830663 917687635 373771621 441921659 526032689 259789365 634791987 803481359 703127667 499714135 575381607 429909007 867890449 437334347 580962997 377979683 984330227 470753809 671273853 776671199 206491185 930354701 463316935 140067003 892370433 795386381 586392643 524670487 304304585 25917253 134943815 333548863 957032211 893618259 456807635 184790881 651074453 52894269 781356941 832408217 153688615 20139375 997403589 769587431 968484303 887354557 306329457 388379443 682518711 260219497 454041139 698092625 770403633 114052371 252244049 333813751 675437241 405765323 37745083 256527307 9125109 817169415 756003589 20411473 985469099 217306273 659798129 389291005 251638483 452655841 620322023 355737129 574462855 692506741 469056245 746124309 545006345 123364207 102633937 87405545 426691779 762269007 432830045 569136569 158279245 513151991 797028381 486766715 456034909 624959161 655455299 649328405 769028571 334729031 228633767 934009163 920321231 201310399 135051461 249262801 248610157 583040165 328876741 292730945 104877839 966612457 677930103 988119577 331588411 737819103 136193107 356864965 172704411 871163203 755505273 455543447 505077763 324058939 464061357 414663365 420008299 549775445 430220383 720464501 835822843 25249669 762207145 800787627 801033211 99624747 684876361 668583515 537191903 506843657 199934373 860797789 13368131 971906637 146659021 639510901 447034089 472286349 374638457 434421577 392395965 630152389 156947719 11404651 407482067 871077213 257479549 675124567 879305829 550261279 103775375 792792683 613096663 870689091 57318543 169180913 967189683 928199269 584533377 515711771 766029997 420194697 500414471 440238593 846583457 760263711 210886773 867662503 973472913 653439481 34380223 473317107 78327211 726903383 775361671 526456503 137810237 407415005 808495633 737645229 105131975 573344921 687086415 276604279 785025515 400682239 644175833 534547101 517000565 166730477 25246955 442291601 336612437 248970153 195732589 428182189 485205929 389084639 788125679 37941807 429222581 659179683 25946025 352138563 485182433 436030583 826989433 636498681 672033219 269016123 493384169 576588107 643467797 867705919 375320867 997576219 233944251 46576953 712396803 80264753 622068417 521942339 686759687 184124479 465931607 992152807 777956693 961740253 914106077 553044493 898343357 393877645 257952209 62057229 773233589 624403641 17902051 255228325 119919711 137479345 667465443 124794873 93200257 410020785 178349517 18943893 436941961 367716053 120951239 816044145 470488465 312150059 835243287 755019241 311124565 940469155 159655989 366449603 159002943 240134677 366763707 517451563 221938779 630639171 151801449 679302069 140330085 389818327 942071343 476900449 713739191 588346977 298862877 760453269 830424925 263470683 20345713 566882075 867469315 462028837 39702411 63204137 757498113 377437451 435516153 438861661 844105559 558409277 978319213 401820861 349049003 472023507 415998403 941914549 88521293 913844175 718287611 515287835 957303861 763268891 628778821 614297389 98590723 325205639 335529715 348029583 699958779 908832205 598934399 917219149 28176397 611577997 980411019 226501599 449807059 420798803 605093605 483020319 510300811 567477901 132234111 184627287 51481627 295269783 679086197 571455023 157516307 275294129 284018185 48671169 600223145 194421509 688008103 523916423 18743743 420892579 569476323 772335719 664548315 706519683 298668149 621069999 311014187 878167179 822291781 337622291 803421577 804795263 136154971 391395505 683408497 486654741 742987499 413995279 289744907 234636259 57345873 909544217 136696873 611581545 564610577 167943205 555224383 178960917 515107795 700858607 409405807 283042869 368868717 538642077 536550269 206611715 13928665 85660095 798396891 958937759 806154809 508083525 933069215 333341715 816147677 88782737 281924489 829751891 872076851 165164901 791405311 690400563 642213081 143311599 341047059 307895929 245120913 19264711 88909177 165999309 959891017 181308645 328746897 523288765 570478865 487204787 73941859 831335879 724769573 944244477 95944351 409766217 619796969 160640247 390711193 571574671 594586087 946250559 39197781 989407943 991513045 974299609 746667383 688623627 993103243 481831477 431494479 477990495 71192335 477725223 833500883 382019497 834828681 698073835 689853605 202498493 251279951 64588839 671052811 953443155 440648157 966872297 22393843 801146123 38414547 14544551 467782135 63291503 560406781 429942331 89273171 434393329 830462545 373763309 813386735 987256555 945844199 723718505 755627869 968814747 459609861 629414597 435266001 957316909 356078101 912676223 747424045 361325491 139415977 477499515 194253301 299407395 37477757 589086725 693626971 31076449 491475319 236498645 103314741 647805751 505895071 12862215 35989251 674944851 70021159 476486431 742143723 846609999 800160879 464634125 364827581 588430767 388491255 710874403 650039537 106668505 580260971 812250913 722155429 637235999 148688285 670644523 633522083 850943165 350215307 5571279 831754837 709014479 492117 986610177 192204759 176942693 115810121 48735263 681300965 207899241 76264409 80089327 343867113 549426363 175422369 206614941 435436273 712630807 269051491 670735295 334547125 300076585 644534539 930475089 777957521 603138691 256830123 825240763 668774289 204790683 150619009 45650375 889196129 343121877 149047791 759490221 169748571 383552633 532549503 910977031 712663675 111126201 564895205 222009567 775370347 844749485 31195133 553528733 76781431 910868567 224770761 951274777 557880729 703760033 113878645 714340241 95569521 234669147 761595221 734891433 650154563 903612737 869821667 348276079 839243009 900186863 829536449 39549783 805288769 217679859 611551679 34372415 709753667 742515389 627755211 963050859 513887725 572550821 681771011 530398091 150361039 564927213 145153449 576724403 613909025 126727103 771937579 74693471 8554433 559468843 18327063 292042357 135126071 610772523 65719599 959130691 707191987 484276129 851324751 653260927 148615435 206481749 558763145 568664643 914079933 701060345 993432331 414953239 55688691 137725221 7752755 720729575 98954363 174276187 262257029 518736907 125840587 833555459 578442665 594228795 798518021 832783219 307070325 747254689 207413743 405966559 645989605 451386567 262381047 37362281 90646041 352150693 653223989 907002141 377073245 776959895 416811881 886821865 646719271 871629921 260628219 361900713 228335375 233898803 316578295 442044189 814586587 81167009 74584601 603669487 398563955 278098599 902518459 829127599 9444335 543349163 965004263 910913495 135407749 516783483 731315021 766691271 156001179 947803723 991049027 310392267 141917629 231049145 45882825 492138001 417946013 295004619 947981701 389475253 23400725 204343277 76126919 565312951 516057131 926888437 554738823 191294465 902205961 271386399 774562659 586731619 584208385 986869523 561578659 768756119 388497553 936645339 505653047 506759741 200289881 393525231 639127221 181979615 468801319 188724521 583943771 511704049 701854445 910540753 592933907 859113673 769203909 46383253 450985835 147246247 79182837 124811911 484150425 714346169 341561063 998695463 764290943 559387149 217465391 839980121 230219939 835140251 137021319 299487083 669439539 305463369 693778129 728311313 572588807 564017627 707561755 828265065 256564639 923927557 818859927 261037815 63119139 480172129 427259041 545474475 331275359 628976239 671988923 942606041 808245965 5931159 130718097 262448189 30925709 210262317 904906487 621915135 46447715 950190441 312763879 983194537 694153921 46396523 708672387 41907505 420166845 740953149 131493915 329279479 869734935 369714385 441352221 201062845 252732725 432265985 828227367 383276465 864871463 990849931 991971579 966017897 990559141 453352989 325854853 573507043 829896205 143548483 4373209 953842305 793144935 828864635 144907313 695774741 176824161 5761827 501054705 433842129 338295893 47687557 760711843 223796307 259788351 105752787 136951549 381900447 711504585 244193063 75422423 927293733 56671041 634432127 265630005 271533239 376728989 728664521 151507013 48516501 46847871 990847953 108106839 156785763 633214253 92364885 292669671 653355311 606491797 33591027 544172441 432852079 377503823 215670837 401530679 507232765 417965723 312397965 875262647 916372001 718114913 402609491 697030705 766219911 736282669 376325579 429105643 806019397 935424825 496893979 911914317 310257623 463178853 378902101 822494189 388269093 742183221 999711091 953842823 182424953 329509083 541808215 522564091 594052491 114263853 252577993 140215893 522179957 320278953 676054651 278557131 833659585 657883257 389733895 46604215 161816151 888819051 465741291 98475417 548222351 380985079 969740691 726397473 474480935 532295995 348674127 593002527 909738563 444265727 458950747 165249937 970135409 738119859 803829715 824503447 957526437 489829227 947184069 900884607 725583677 886029803 459065633 370774203 152065279 417645973 193494463 30152677 821363991 283050365 530116963 352376003 609124377 506402137 490284211 102941503 352759815 665352325 283913281 683995499 953846081 653047565 547850119 992623749 272426903 625621149 174061543 445747183 477675839 121510797 608335273 351445555 35934675 854100957 730155773 926731781 207305563 192824373 24658687 803109695 609866053 90519777 535447729 459163111 653763427 874807515 408141815 823315751 256441587 204209859 396514985 872000595 611933085 807477725 924893563 781975013 917296237 54369563 358260495 631722111 879826135 608816659 922649841 279505905 990313911 241918467 985091217 532663849 72958551 622867157 27937863 338644037 495455585 755943447 969013333 842417543 760231401 961424385 555723747 683588699 390533231 340526193 298359303 276669269 988749271 683455471 942034611 757410863 842534511 680816809 238916559 682744011 281496813 968246649 221046305 289203257 677617515 713148635 397324377 444913063 38501489 526903289 866562067 265331059 978061291 784144801 538499279 847268383 963235887 317495625 599733495 861615961 449431801 647638547 235386587 543675633 314107505 967957955 513075125 833199075 686804513 3455437 461401253 814350675 566638081 249194051 136374199 717958027 839249773 664871655 478704345 508875521 101173289 981057567 556901607 73600333 225849189 202514429 187792545 103914035 442710707 880055093 460183471 508699297 537479955 468729895 578982821 715727783 265421289 713901531 718709499 392693633 140596739 888811777 685365777 43861139 728503445 335390959 272207923 331180137 892726333 17394339 880005263 320192181 252979711 863071175 460094785 84187217 806386251 935753643 595145289 946257475 645261813 917709889 153301135 804650675 407083321 869941549 822946535 495919607 367682751 492153525 713180425 490263435 936209041 909769927 730697877 960330511 343302437 683439613 766735893 1912657 659691099 819943059 680735229 961699139 514288757 738584947 77505441 676556031 128593697 819105067 518582855 635609291 766238839 489267441 926121493 699194385 428355055 887834023 260768543 447467107 368452467 774978257 760476765 507588223 896203855 277730209 762642607 641235269 334301751 135420911 535538655 61750467 881812553 719902005 21845919 476155691 918337033 689295777 644335753 484535257 57306215 855604477 733371675 227664975 978747573 677840835 871322307 320744249 267424691 973018131 763565773 228708713 838794887 449912497 119901047 418852061 327428027 696439821 273840351 51526581 903745093 885496641 583306255 623758143 277525635 49986827 752267257 862629615 924764475 795199697 451753589 705193819 444716185 885523363 707926855 125820237 826230579 692750137 424567573 304727723 517432583 917928689 691457139 632286089 384349303 924813521 992776407 526605093 66457429 410755725 571059109 921151713 747070931 160850551 176088357 493197127 737353613 567730323 474695049 597426955 347768461 343574915 222359529 247161865 843461691 984326043 432826185 651674693 301736561 73501647 976330127 10443495 133704809 528526529 465401997 869233477 69408713 929170357 9999103 323804121 424387485 99639197 496910211 404429639 217153885 661620751 855650723 197869913 283008487 60288075 691681999 53480453 766625915 954499129 573019493 386307683 170625483 305956197 195246497 194306999 440571115 208667145 108912815 714705519 967106135 733179395 582242719 578032411 58257143 248250333 294462573 583387511 604066581 849603521 186828021 107315559 185696617 312368779 438768645 430654965 291064333 916105401 199113293 280714327 782572425 795857777 779308901 294885093 657044427 375352707 687262927 322511397 789430565 191287909 99817205 535239615 980181847 37105465 977435177 461526923 755712643 227049413 251996065 539115647 282135611 611416951 331631231 606071233 647662705 967121513 632681167 460677533 21791363 469400663 184095873 372093059 23158837 259632043 276621933 658046483 445031095 474356337 261765973 295936525 678478237 659215717 368760035 64519003 246928355 926840545 575798951 123021589 151991023 604742129 83018011 494552433 107601807 37983041 863087265 864393943 345559801 615207465 585155199 504429261 343272903 311509929 819391467 298213131 377154817 359788903 968123131 642294379 295436563 5640883 789476273 262562287 941762771 808410501 729757431 23800771 71293567 935704443 298409373 22883897 402553017 535376607 303227229 434172111 653892499 381235099 665702871 274856741 441037181 945593419 728897943 96887817 100571225 724861229 349255435 712655981 747620971 115108133 104908687 842494061 496908637 986186439 216473187 813253195 818392905 84425545 200005041 456769907 698624425 761719689 362063241 967841657 802953827 314757903 465251557 141822231 197601475 986228489 855235749 211604783 799631491 950735695 222279829 433397713 459905211 904828259 644705891 493118763 718853361 488805223 761776811 630264475 551866389 151775535 60233197 961089443 642829691 686223663 480033169 943384303 500444641 978477449 425988843 944955731 817032297 431269121 948699187 644011721 929977763 950926345 348892553 894938997 743704709 374312375 123359223 660336801 967166825 654026955 439105649 140601793 398059289 100970667 738477259 780416369 654604733 461629545 286845643 541039221 895804397 56704953 552591641 634737845 347252135 45489659 50092611 331632199 12596559 861601079 993343943 555557477 115611315 360856859 201967363 93755507 145270277 90903553 870656579 937711869 262112999 214304743 674323381 239198899 744538973 257683827 116822131 549983093 610477779 1947381 67373441 942255937 17240351 485939043 456265925 814593351 156047741 169685343 43513875 658179799 871467411 32082479 647957539 544847981 104738927 567185089 821313941 678592685 490467717 546811053 527707123 948858211 997064117 779929909 346451119 465420415 998283329 454344251 301753379 923832097 602326487 769827155 275129485 317605511 172747661 562528945 659303707 185530145 208905697 473656375 182306521 471021439 662786485 134610537 294013381 468607327 211757403 101683065 390587837 446700193 481870211 769724477 72802699 822329939 572184143 178950453 618756577 797586343 559926339 494276487 275954775 84447479 548966217 348733955 792808049 54753993 719744443 678314529 26037909 792340679 12038995 108438271 168129301 603845827 784867383 708041829 505027885 996827067 896235509 574862275 372929019 571419343 422646401 266920751 304894345 284873805 203034937 140236903 652337609 263939751 122869219 773028309 202502547 77882745 140974507 330557831 997710761 578642053 643451943 236602421 852063157 853810871 326934099 111106619 745717065 857937187 636378519 763090597 37569243 648114177 473608381 141714463 307105487 359200185 549507835 687242243 831722605 590232019 764310257 691305293 425613543 265631747 38613409 565681573 81742933 332632357 212116347 472562269 670863033 837635643 952487761 229172073 467020541 500222321 94806371 759804523 519978483 857236251 739161173 845200295 444452177 735197363 464008243 79269647 970658489 21330909 976679285 929291577 696434871 161747299 381047287 165037669 655357883 262457401 579664895 990575993 890537757 585906811 343091001 518344453 221917727 150302317 785248697 184183361 182057707 703661431 881700097 847429643 477507473 648216879 612424945 548419051 764135181 209242703 613608153 222210833 234172987 257110971 17683053 133022033 976738537 474738557 440179405 360396335 327866567 724939211 207225723 118876111 748623469 602574333 972634981 554853889 157192797 970847127 894107617 71907643 783272449 464750919 431155117 569356703 280023721 252448221 749722605 198331891 471678095 795504981 675493677 400614053 586286547 506173907 251051621 185947341 630551425 875075235 41042417 537093931 958640777 531739957 813010069 406487335 503186113 610917417 902740097 794188749 695326705 23324733 534537799 923910361 646991547 653468001 438919143 707633573 405944757 867569061 647139269 857342011 862627927 818329669 478321071 365194315 957833731 724467367 171724249 828323883 354589951 523930449 429043171 556106715 213933441 850330875 476566989 54907393 99190431 443690367 388668171 200861933 485713241 829966557 646810987 879487383 674293149 866263621 827216433 925756573 206717753 612656905 180056829 115169607 959674599 955977633 856932065 136441989 355308871 633563315 586371917 327179243 461032933 495640587 664311587 655311549 909222447 717286299 406372261 951736543 56388225 500545663 203977603 901808609 903582491 524818425 645705679 962741241 588280101 946306165 796970761 597028105 335827379 734340229 319806485 395744661 548848829 376276455 964145983 567117777 507266595 328819325 243705663 560406159 116049071 212976977 215037489 610200145 113125141 25631127 247921819 711841855 81894121 311207337 461177961 433712933 518038449 559811599 93610993 869582461 514889171 32520303 654619375 394918247 185954211 875824797 272437129 17953191 636948569 590861207 888950605 814018735 205210901 866451583 131272753 804382869 955251169 883655583 29275535 738474263 124783279 615504235 906444591 209927329 912070233 768144767 997331007 796289853 287723935 631104925 579725905 926800293 951439401 666752691 824284771 193724983 107987339 631581135 433363933 251245563 254528059 91269425 717897099 700403103 962046109 423354171 646610591 414914173 233619961 306510201 74942395 141213073 446110083 734836123 102029795 98040965 919963983 487901311 933495681 646272167 399759715 595151145 920720239 286116845 829809317 684029889 72603623 380537849 228122087 366254237 496010639 627667217 916336869 403252023 556443765 994949411 792270141 33915187 12421901 275314375 760645497 89856349 842775349 367930941 822439947 765486757 614455603 401409643 884890187 236575017 740641971 841210851 103545725 623109933 171601355 195681753 172561351 100690971 390118393 462437165 817503035 781401477 878901023 736257385 633416917 402293799 734956175 18202551 850224499 709784805 826780665 728632819 70451935 693885899 847165567 357020571 611903177 116851467 987172259 475250389 689359823 458078719 658390613 765129585 340592237 957245997 939079655 983243751 375152143 693996093 550856473 800573525 377794565 809717511 113586447 616420227 293088395 808115841 45184087 567819745 350992831 986546385 301450725 314947203 535570091 301343043 707000855 231590957 336444479 691676489 572060593 897966145 930768473 412184959 823304419 460134355 238783669 856234151 698833985 256230041 625835519 90329259 409812423 76661743 921332935 516522403 968351197 241674209 521303687 761405639 454855757 287020571 16731297 782274937 649060173 13351157 418683229 899970119 829380733 578560623 744798955 167754723 125848543 780782897 947050089 930857001 26278113 193427335 201364179 663094043 549068633 777351275 594925589 563839973 432401029 347634813 898803199 623085017 779787785 532196609 212376395 126399861 111833329 520192233 521224345 177417051 203040949 889756617 255759733 2553173 17129009 25462501 88125263 767127383 731352747 561529377 997211775 337260669 8648397 388846349 481654599 277165065 779063217 823461857 534125265 486509671 894298065 831825019 636397613 285481515 777459731 969353059 343133525 318011663 871925445 949812423 301978665 690327287 125377691 548876673 366953333 579624685 745456053 370681357 725601767 884580389 945553043 492018069 299037979 232221435 153306409 343621863 532360337 132550131 403696583 321487225 448157363 995125941 849310251 943416941 235141073 150613783 181380733 409059207 449304869 396192787 590478407 463217721 897212367 77349069 114356609 991135899 712178651 49756561 329279877 788469865 411222839 587485903 861539357 742474251 488910527 562979365 418944113 359986577 89769779 432981847 669619227 886709685 804228669 642306381 848622611 749016273 318698859 584297245 649307075 495352815 621669691 111206659 902360567 129063871 948981259 270588255 344635875 675676055 168802599 771184061 487324197 868807797 196755901 366928339 525059011 979295235 858695657 849837689 600013097 801469839 261852587 657823413 29968685 928569617 650321387 203290801 800214539 971976743 229175677 56004287 773119083 333050137 63786521 557799003 91437655 734481877 726062431 986074409 882420805 997327093 979279833 63112181 300331541 614197429 471503867 344084913 617411593 669549567 966194457 293194361 664123855 935296865 265657465 757770893 533050237 830543889 807025217 965988701 68046481 488132849 59346565 269310587 7594223 612994949 495192637 52652191 172168675 569618687 821569097 101725873 687911717 378851637 110184563 767867575 297931217 738957735 992679021 872495849 772580205 398413949 832866001 943838369 729356003 388472707 683229213 49831265 154665357 283130675 227188159 539896789 200695845 461794219 306723075 55232721 26083281 854448565 181576743 246822989 849459487 249216443 433587529 696664689 650539781 957911257 245478771 330331781 714213341 414735309 355431831 165673469 308328047 613863933 524151695 816893813 771671783 79672441 818179865 383785903 428151771 567394553 254913249 724030615 409595721 290707673 175144313 172174913 638120339 647830565 396105303 931781607 306797707 272982155 433693407 7065835 639616609 700399199 778893145 422470621 494143671 52166563 265471479 407966571 384548751 913984767 874755539 772905843 204211289 815143105 433973739 458397175 944530663 485685727 987334699 46481955 909580921 960197371 309296227 410149195 727233715 179757401 870823759 494750185 270660259 756788715 875659661 117784225 789967293 185935431 667377319 770595647 491010783 93703085 776773135 72407475 224881487 591591941 190710813 841779995 632907705 472765659 458186515 695298235 755363123 33274985 710471195 353952507 896683065 161970829 495204933 10782833 5524403 506796495 108239757 594848983 846850027 808037471 656032719 607554577 583593367 152353043 231561177 880196907 761163991 277641833 565436507 622749013 973449773 412060555 886056685 794106095 106170247 184878919 603298579 327128695 432705851 134140693 15742769 588419997 97784583 175816211 38030239 261169713 885199631 266399241 830599057 15562543 863301345 801604709 293087785 48698813 224796785 311319361 910676339 395012129 823837981 829852761 866668895 529700051 987891881 307688983 453377733 406083435 781008453 13747335 718128231 770980783 67927427 29067875 343390703 318545033 129240421 846815755 639415533 4256011 91558731 934704773 395135451 702749555 248149509 347264127 335233307 424255009 162034375 761154897 272125429 390705827 893513265 46608891 298527129 353789099 845842755 305271331 549709859 499036947 782850673 495361305 881067923 406772961 657376395 810477781 386430163 435884095 315892175 50952437 625538227 931080065 482074341 355478465 190007021 837029407 342410199 896132905 442465057 709025217 791766813 694000579 497043419 243419951 289483923 798737869 349671305 490465117 677128317 669690417 219251591 644533863 860505227 193162621 100092693 158916751 757409487 163352809 148689501 187627329 300974281 789815123 296902511 203862543 173110365 507397187 669606725 660909495 838744793 797585127 272000703 173112603 702802417 258753303 250048937 483261509 900539587 743550549 12961713 745254249 250700501 553092291 436649843 275315171 317394195 672998453 374983023 987254581 720316627 769285919 936572173 619752461 23909073 856275363 582405537 446634809 407204917 684412549 684221283 983212729 961585033 985263671 842382451 324832943 368095685 477341135 663474653 24716901 473678147 917596173 283488399 348220753 97723595 338549335 291434597 848679435 64529547 666982335 801373469 167115095 762427157 896775159 146848613 31878435 959311465 360346213 562974155 388530047 60614891 132256011 350535623 933902247 537565799 83969945 338658493 996105983 759105301 717794409 878393591 838145041 517204625 330304889 959986851 235662739 217682657 697174895 132402397 499147101 734628721 566967451 939374243 911031155 505546261 195137523 408161251 221236483 456647693 673256985 34365545 244276061 318679295 599703635 854621939 138896637 967429109 97801103 723519519 461336201 948989029 880768357 469041015 670710215 611419437 447401751 515543661 689771695 360250771 943836807 868655451 531456601 783292485 438664521 57437823 398397963 697373269 784359825 99456263 965875247 469758529 674914111 678865407 216781143 775423729 23282909 251028837 496870207 163014831 443849879 106539287 475489741 176191027 373057861 852173279 669673479 290629017 620630375 679091823 557950757 453886821 703520291 187175007 241047425 812228487 858903113 872769331 656626077 415175249 641959761 332707665 599131427 254131075 36626009 741680395 170200555 909740865 730849577 525205405 152223467 121149721 151597873 643634213 123615051 476875519 963620487 962774189 990621011 553904211 275580649 363355943 530610551 557203157 966317249 942464107 349816657 101582777 74354717 585197885 22840487 151081613 349048755 879289155 701942883 398033493 719848421 549436943 729369497 129880689 404692409 45789723 71813251 790110131 137974749 995794889 127392643 179667787 386189739 205146721 440956455 307786715 950660639 728715541 993836579 754868325 475391201 823350269 335196237 424569175 730340163 246685467 72348079 659919241 598935353 932777817 99435119 19343155 168531045 387531145 125826275 986296063 94077707 693310305 407787651 253646585 624897309 369250949 803996919 628466069 157021489 374765949 501207303 256099505 201388423 200641209 365311913 651594899 920897285 465117589 777305845 507498213 852696123 4306259 41172783 193362881 794332257 356787735 11501507 366415009 206765141 380491257 124288581 103428461 641759135 512544749 896572271 728226671 205220719 253487829 323556901 14945373 616811417 30599293 845887603 134432597 813207969 802918037 977110665 689270751 87475115 273315765 486185413 164980963 882981255 192244831 477012395 96485817 492694955 127199229 949973731 625045277 851190841 615474143 760222787 208784439 343696375 733654591 39710661 796148627 760721235 241491261 859937679 523485219 958436709 959579621 583837415 647267913 665729773 786104615 72083269 297158857 879462739 208054491 939326273 260401613 201188259 604014275 828705185 13558767 177272727 609231239 199701581 481063209 321349263 956350395 517604699 990293473 396653199 274800855 832462855 791761381 926062409 909356605 545702321 913276265 718102803 187061811 131911399 594011147 722263021 999920367 376000603 230116817 557880445 278200199 199795687 211135527 242290451 161451261 136350609 254755043 510527655 30683961 864579203 864030019 260029911 727009295 782952975 924426985 116837355 280910903 15173809 806507237 128520147 555192913 832888591 742813869 293603619 949002729 143781617 16999197 16685855 661522541 704962123 772136313 695116715 911705145 313716791 869455983 477220949 790693773 135395323 470141719 333256537 78698385 908433409 871694313 731572371 361525081 247260893 140468687 529091209 196027613 73006663 755454741 493027695 657503741 118358567 281617007 807257111 406831491 773490565 494463483 3953923 459420707 566778773 320709183 191991641 744152433 627295411 254935847 891282923 461190387 363731809 447538439 962311725 412162833 863287115 714648481 375936319 11259417 467596357 480955157 615657707 184584521 806998345 139207411 459784861 846412735 765925241 226127663 150835309 727196037 495800099 42390825 803042329 420282511 158245563 490950819 613269515 299734449 504874457 240422091 72695379 648599985 304060993 226700087 836897187 859570229 788907231 868855013 506419297 593929937 957497031 115548985 12050317 2797563 320855091 242991359 438018525 760946711 720539015 530089327 90746533 905287279 546601037 345996581 720410851 392787505 287098937 882848037 354465345 154599287 897245225 889435103 302913549 394889285 843816731 806797351 905780285 741279617 209139005 981139001 900975731 141277693 743432419 921166523 610419443 648898421 896281481 430371771 817706929 930770311 140549839 570562989 173147455 349279933 216592257 699862127 744230367 55138185 858920597 542108231 656782967 261103427 217595427 965286625 186020249 73731375 927897199 752005203 755955833 727836019 244410599 742429209 911985143 696618017 41233691 56687131 422353821 5568053 187996615 957263267 261476501 542203533 391833041 159412841 106635963 548775667 99770687 421402505 544190861 498329881 839146057 627991175 94496049 662816151 411151431 667381329 864688503 378300655 886034623 794429503 508452055 569284747 587231323 21321483 48463215 513652157 971336685 272552923 433531399 409716923 437713267 19499835 484004621 941791657 139205901 168476707 431141787 330518927 7171081 840092911 97395309 825721693 69580761 194732645 449180909 215899889 339720471 699255985 995135529 66470407 147904137 645790825 166027735 17643339 204429849 169360777 543209817 274592589 271363033 624408695 335740597 675745159 210886919 365887747 817527193 430674267 342678787 870664029 188055133 390385425 277733467 611520293 359442689 32779995 241571777 81507 987102253 505072081 793206033 828911743 479830061 439126261 858816589 837459793 580393467 54884913 101769889 763852823 827453493 686989653 745015649 804677235 751545381 703599387 419662599 804929911 639302837 498795045 807138869 635654293 747898241 404142073 348254905 26297003 337776583 808494093 811939973 26401021 705234797 134719159 573425845 211150395 121871875 46199865 504449165 100099959 60231105 61556669 107528821 901983027 427611781 133010515 626971907 75232335 517964503 984400885 122001391 110452507 436676837 830153347 679044897 421625419 944746377 501308617 836186019 714864125 315313471 125909367 304876709 968631479 596598577 125451811 586080389 771050085 610758189 854333011 479223749 27733853 267887017 661811311 966725651 15930717 727371463 756784327 753381181 978026119 668889931 196451989 140587077 124289133 296922791 155300089 836442697 100050687 370317043 38154751 909512597 814812575 722833899 32379797 309216413 24751631 796864503 425139351 492529919 907128191 163825447 162019269 458865785 814111617 786453043 426845897 94573563 956105493 627340155 84442419 744763541 810382239 139994627 30551419 284068483 254854637 389284477 747995143 254879785 976665907 718386239 317708315 791667987 986335759 101401159 851123947 561300209 704315783 320063 855348369 943355555 904055815 633758069 18552589 989870887 259677795 936893921 349919047 940068013 454322909 577373985 518516243 136456069 42162197 611332989 978807593 388081965 789824539 107129571 556988457 708957509 478130021 192469485 415204767 307383963 260750797 5765847 899174905 760253983 990704027 464882315 721793169 370841585 504153213 918595991 468781227 500200017 575104645 537047857 893577839 170592939 89549107 103674427 679579627 421693585 323753577 130908217 968034333 713350337 893377913 8258653 953074659 56017947 72781845 925553277 407576839 828681901 153592667 746864153 342135611 201622697 17104591 790814553 721610521 661840745 880800097 840285193 361920801 660675187 939029605 645564067 230578875 65634929 610371223 273156933 911809849 775002167 113231645 978361017 997933783 366644671 728731781 28474217 900038067 79288619 45904323 339574385 529403607 813811145 986465591 676936335 130274613 202784011 120310179 982978857 233235623 819476365 203018549 285325135 556257003 495090705 354040963 693579447 663791277 99404419 879653769 839721155 802373759 220034807 621082799 138793849 395440087 591316647 337892287 152529545 262403097 692003575 210486001 917977159 781452173 879769713 7049697 867872949 823155301 545550281 276228243 540202107 903989691 15946971 914394741 11903975 338981517 540651435 179963743 377511919 536618183 337562465 748667019 208175925 339300923 296612691 21275551 136333565 883168671 47555067 470728105 763265081 807673239 98460669 3947037 341021823 115865515 182461731 660976089 699719439 325661517 314660193 832215587 829065169 660670677 616092115 430216615 59906129 868003461 781227453 954932089 290293449 470017927 77081479 911365147 252671767 229912301 798294471 255278701 377175491 462858413 920036409 537024191 748848893 861769387 80370365 468260807 929616795 247436207 619998303 315593119 107868699 254359657 576602197 235162321 101853607 4567157 39164663 376344389 500807949 295311701 113303755 934700371 974718917 857722223 373752185 757426361 847697645 106895125 587386071 111464859 472777293 274712961 662473697 225559941 617816915 931329493 316693943 247263855 492303897 337463321 800664231 7296949 370748507 191156285 299446561 103363869 480482433 425201949 51756741 275185105 186335389 657128313 282247507 244215147 555917155 91206907 302992309 376274149 478292789 909996339 935382275 358740903 954691863 150343323 572572019 803850875 176934331 11458965 579614059 144661655 936909433 142788969 548717687 347292313 900521547 191252807 52757065 643068295 474890463 744435019 239707581 335333837 76243839 797200757 618505173 769752129 611818021 622869167 106526909 3064609 561048175 779673545 275599047 478263569 577560229 102094973 547740529 721276445 408239799 256232043 836227163 373510333 79252795 952714271 842230867 889871051 686097519 406817289 297437259 390736017 886511933 987586945 571276895 576852407 280436787 347333575 80549073 546709591 657654921 913487625 414033165 969368043 793108765 179353429 84460711 296626265 131585911 896191397 238819417 164893423 102604997 486512345 552080645 433909601 403653343 108050109 425568953 836328141 565313863 703393023 553834409 180357817 167002655 11964987 940468013 113203729 314443067 739284209 104666313 774374955 27595023 704507529 669105961 971412419 794636733 339853399 783875361 886280703 587634185 511935123 296310443 903923055 781080677 660384093 804915691 170564867 201251303 576169409 700803627 194132253 440764239 535742125 611132639 436485247 130679299 554843133 77889187 323844951 453072147 718877041 47694907 294096445 945276471 106206129 849571727 719153449 367435471 931523409 293797045 979690629 170028767 575033287 655771367 866652701 197676055 692509305 746985353 783922213 812882641 619801003 310065959 571220027 908705035 191578001 619254385 669105763 555492201 122310469 644847429 336231949 914476095 552831429 594846631 831233293 349086339 618693375 795812543 174391967 467025107 327560383 563699683 378347625 129862263 846037443 541799823 623059321 478850653 372901033 569054307 44736837 294069789 503749371 834153005 553312423 315215607 380860461 415745245 787761383 584815315 118591635 745307539 920901809 823940415 177112179 131915149 144602395 661086321 180913395 670757691 962735267 789991497 175846693 743425325 619096621 668937041 435523333 304198433 904471557 817326005 105827441 683431671 266044131 550329933 664132147 927425981 431931619 346828185 356898557 136194725 8614537 614967487 823498857 718374409 610726341 839024783 562538485 915990127 210301673 503836801 692088845 196942209 798496181 698747315 145519875 907464977 711876685 323211245 330807309 341505565 562535999 61694111 601401423 396284357 678283647 382105055 512741329 805534295 827863915 236431211 415267461 953311813 644909513 161294765 903466307 961788715 137727429 192919731 611849935 717025483 69545205 807085363 859764943 737446417 267555925 138493327 854649557 794653199 195910989 36482765 650290011 657875203 450742951 840495515 431602883 613439823 821611419 838216019 337807957 180243581 499629763 760952049 967596867 588816961 975761705 784855581 956961189 942554999 822577973 709451817 596730751 225662241 411388863 204903689 391641527 871604587 32342789 429424733 199829279 381818537 188096939 233185903 593175921 987565141 165246911 661309227 101807695 620266003 499795381 52571945 719386177 187351213 661435243 31169705 907933111 67580695 587389733 236901009 226475535 202431853 638741139 364959601 273908869 978332657 11738057 34809473 823416133 938462225 356147267 785677471 111784031 534874461 358743015 903238483 561262285 460270737 333445123 304190925 729439601 656693905 851953229 327376865 126731793 581836647 175481311 818122515 537671779 164125511 381722689 517227399 703745789 657770383 684199007 996900107 983530081 352892349 517918097 962086939 201134585 260546177 465994383 617016019 306190613 791577771 70337155 534133241 299690991 584020535 725699575 761981953 583691433 450950985 19012067 819208701 106502729 935137067 702096547 520664751 482690501 904592723 505441531 6606207 742328563 633355865 496876315 922964345 103907221 214439171 585183127 640258647 699038805 546616635 986580587 478933369 410186689 571540755 732335613 995714787 409489239 964736967 933779995 64901191 724125815 791571131 613461241 321501691 850898793 630227579 594685493 365344767 776175197 43370425 420963797 947252473 912423023 575324239 213945157 458651449 290599583 291771971 699563099 315205047 880688853 518590143 127176787 753390865 130169061 41217301 81523925 142658703 175897479 876053955 554001131 397710625 681101659 510357353 287283213 243199067 672410605 959480789 817539861 652359553 687149227 56466169 575162699 135063159 514030577 903896561 107169117 529471691 70980095 41355263 239944797 976154809 568095229 911138703 720562891 417810973 141193983 3340595 455465355 259057021 503025917 239199913 144063723 885143307 143463895 228235729 779590559 318932895 635224153 89620921 639829445 243755957 763248433 416290195 338684385 697446517 9661435 353619387 863950307 707039921 602721333 985501363 16495647 819099101 302911053 519841319 1990737 506784025 302977167 30382059 43623073 110126639 132046905 24996601 86504601 11567755 529628777 864887925 145906735 208624709 538563883 900148393 505211585 332155163 339563117 155649033 87745047 939554167 549544713 359681585 760809817 740825449 99656643 24677091 533702175 556562851 484924481 360451339 439010663 592737929 741213719 795067837 489533587 329555233 195024827 770337075 906514037 933085723 424876435 124282833 605732927 347483341 348027107 516252961 465499791 728883765 440707807 453178073 29856361 360106493 775236511 377066449 726288957 775352691 809299239 607867149 129891549 183517837 753685085 207566523 70242953 314809581 811406357 754608427 803278821 717356247 523486725 581282265 193512703 849882173 403720657 187190889 731777613 344648119 628156417 929092517 319633321 800516993 28453639 217536131 578196315 945966723 111621181 356359451 64313103 581226831 818642657 513073075 757902043 667093273 625665311 235377075 23667771 571191489 141021449 109426353 404738327 279526865 632518549 62616937 50636473 117365619 95412647 584805563 868144345 95283587 856282375 618197173 547789457 17332095 497632615 799367559 226423659 661296525 412625759 923082385 514967631 571377021 642702705 627812177 258046613 650111431 187423495 932024439 236223227 257998473 684582771 449109203 853179557 675646091 727724267 737924195 685813793 127112251 626371475 701112647 818230371 498022579 783680627 22004941 539844041 782284975 279608445 21713511 192408857 739117465 853431689 933066929 528632447 444272767 299678041 91480171 176172687 41382167 993974935 83250053 923006283 919881411 863469011 620759057 81542419 348023689 692334727 427483463 601815479 850047255 527794197 17413263 104133485 896673221 267046597 550130289 661151183 727291795 700044489 137233313 55052517 532330279 555988281 802419195 909779995 668359379 998020887 612445057 767265609 81989515 818307149 358029151 944932263 371402223 453188779 893464807 557183199 811404617 252060395 611992727 585347069 456179331 566176175 403810577 122742901 187526457 624514685 23773727 289084195 291808425 253649611 648620469 696264529 246355129 709295343 203598575 876863913 496175865 233573163 253683983 263625023 642125217 32118953 399786113 869995667 857129103 831631993 368384473 265761929 667638859 121868437 190405841 319214447 759253251 681047261 224802125 526888443 862160785 53167645 537359959 918866503 652461169 868998917 98892579 77600475 905867981 897555757 724107277 597663139 229757299 247678999 789041049 958034165 768856025 965471275 382789487 610289805 840830241 417115581 872970085 550524563 368716047 532699141 780390005 221673105 123920149 905870373 249939907 52706431 675445577 526788643 40540057 261602745 506483563 245657077 999373933 262693891 911471587 319874159 952433623 140716683 480899261 361429591 767262109 212501225 834101427 386942293 243185319 582683671 707301925 476443385 719625227 878044539 72654359 126071227 498138627 294815201 742571323 685716993 908278517 666692739 384959717 783104271 248031335 928881145 345135129 517901339 871269905 985672009 805474427 567638841 687512267 359242979 131048795 293957743 119537051 912330139 420163761 423086757 315845289 785145773 392781339 233339561 781924429 476547521 703008737 802260025 859926525 249229281 982700017 639384819 801907551 165885059 252063461 960327011 241820479 791126919 27142905 142615543 571664527 300911919 397408023 163907595 634803049 871813417 390611403 839583453 433529875 513138573 369177169 358278299 196273143 799527379 613444483 416186193 702500007 602096613 706231021 994842109 660451553 39963407 241619387 335340413 459956101 756069637 751190981 357214619 674464417 562788579 639929483 481672715 997332071 472030771 201080885 131681633 825746483 727238623 415053967 533796387 931822471 654596923 177231891 336910263 764655375 196611335 508756703 525237617 477855645 806015593 2724283 958177671 153675055 159003627 84716311 852879389 797898215 588698755 289068041 946982971 566225679 799714959 194796881 411431123 680094747 233552085 109979221 973482943 362931623 766955905 399475749 199621309 794146421 39627561 996508791 458824315 530135665 629273547 129405613 392408453 148621231 91732937 852656845 962389335 412644199 654492405 161659525 330885459 575971073 361073025 294831151 37949379 290227461 375000329 186543047 483888341 109807657 777537431 712578551 158287779 609706053 345380499 422782221 836884271 335896925 607065047 657614847 654467939 274926237 506891931 419301743 8296465 603399513 214105739 615096993 421176303 471168523 212324525 43929223 858602913 229381975 112693883 70912695 287889071 311462151 465198291 180191857 256892043 471309073 455444213 39159707 652761997 326095501 737482131 129178055 106200567 882022591 870009793 839536425 243443 27680789 458522107 674272673 770433939 417876767 71597865 128446391 715891661 280489369 444725653 119049627 182289285 511733607 486795767 700278307 205897603 640138645 397955689 341370829 125681783 535364435 597825907 169694147 617302527 478474495 695217411 676894931 27208599 983815965 929707371 265818741 341493675 387031383 629141611 474974663 40950411 499888511 179447845 476487313 242903409 202894993 601834027 440169025 976814463 978430385 654115439 439044847 924500669 429985579 708754511 660290141 121292059 776443249 572028303 955321069 907146613 975696413 746652511 748409523 694879373 14405365 23010131 844393059 81181191 96059107 240467047 715320415 236043129 139412729 391459329 577924011 59927901 400430965 401124591 120735993 504111631 771696311 746493543 884927391 680428253 373471821 594430723 23853213 163322613 45517289 143622603 918806427 388473971 716760165 994642219 266849765 846970199 194513095 377475577 40612725 960767627 336592185 557586035 53022697 611710687 41725453 701893947 936479625 153311245 334540481 598285411 111776837 52595127 680090871 580573787 75508915 801857635 750226297 784021765 949117201 409112199 905095995 255703715 98649673 990286713 808420951 860044005 878655721 960273531 397055253 986898911 387981865 427664309 300664027 300918539 770203367 73938235 227650877 527957589 85481641 379949061 165937913 967272195 78939811 745354483 244988657 19989199 462642343 665530321 939750191 491841751 676491831 375728717 752141287 917880475 554540411 829479171 223879797 436305677 169542209 737617523 466360923 298592641 573755647 419124231 778272325 43115189 185660373 755323149 926898951 310735819 211429261 830084035 857121435 310488915 278301331 982584903 942724901 180542019 86035455 732196773 991719407 115372277 761607313 309343947 976246383 996737075 325056943 103049621 358157117 50684965 16379497 44446659 447900445 267317091 776712311 878548477 66599931 319407083 101511479 445320919 120702443 219796001 328331443 656521161 858795049 827819473 454498453 956320307 698127893 241619251 208115513 18352735 828934715 241677283 549339803 585621631 199155023 614304743 262735205 243296173 169150255 196721323 523870693 366583529 730648025 12433923 635261715 938280475 639114365 284826417 227511693 734829847 382702187 562203093 378504347 876729491 823404063 840259839 695446827 44662067 815380029 321760291 910617301 128671361 976405137 674906145 556571353 630750187 753514765 18976315 398820127 260145099 80694987 908673823 475848501 795011173 247571217 464783843 753036113 635982559 853831239 835719429 68775763 357833293 579477765 167434599 349669829 504556197 381935361 95684955 429889235 57151947 416235041 868843921 127462741 638248583 945405297 149247531 343343051 42545547 45025827 254225325 652692315 437192305 904589971 701792769 462984917 485760183 845177153 329351553 107190193 828957385 782082013 375420903 747223309 176316153 46182969 978390873 345626801 289950845 578167629 453316965 385780237 36940921 137670209 366949887 160895797 675805941 952282973 281117317 189963245 780844003 498499349 288955581 594634393 850888219 884363523 358948307 32476489 813397089 555417325 744193885 976107699 391117915 969229757 607042135 551538489 971136411 995390087 92522025 562644449 681973405 984121733 680897949 732439897 816811453 959080729 807886313 554693881 634660937 972016849 759342509 853681603 576928113 248731231 896215531 553272665 420292429 767041183 447898899 227944719 799898081 55612051 604968439 584810201 904025107 219135081 729411799 839068247 37964469 250759279 475467863 48596947 847803777 53857829 886986371 32913209 302827033 903831853 395038675 590101793 197008645 317206097 727615523 318099913 264624823 550852743 164374457 801346589 464535175 766459367 959951425 676743847 101205943 140425397 391680463 845882017 224759409 478388829 858075109 753600745 316804805 977344627 82637923 221976839 717090221 711368625 349143193 295745577 259312651 272618747 385798715 470579753 134383015 412342875 456158825 980999813 832118321 759527431 644309669 222071649 262053445 254206295 847430621 801136273 834118755 170626513 113272167 122370699 750942709 272202781 192883201 328221037 178967627 555968785 31118541 360782333 448413599 342512807 957391453 155413167 322256915 296816899 937005987 436910741 942074029 891321201 500895485 220871793 221240419 845981025 711726895 405417899 210037515 923893107 991064169 566062927 951823975 505900645 924374333 717427479 663784737 852864551 168744875 864439395 996782025 282515657 332275735 289349431 956891097 361820041 219258959 995513669 574297265 882210759 925401223 180019427 670602397 613956113 829481055 776662545 948129739 841490711 213903831 952609141 960663895 272986809 468979297 978641759 442575937 733690103 750208465 82537159 844529777 629603067 11305829 133575755 987807163 342608413 922956991 538514227 437880023 617502419 586633457 638678127 8238695 830303173 694539115 949166995 837647345 640862907 37713679 454121955 93554409 983513511 373743391 763433793 3545001 666778025 681981515 958567745 614851697 562046977 315529125 451763737 489291883 98010395 790946221 684472743 299164837 650720137 768995655 633542769 255557917 826592009 70940863 310980777 412688305 934869885 855040717 612831527 811179309 151447535 675636109 495274599 705425471 77835155 793243013 523625873 310556291 177827013 174209185 594477431 206537591 847516679 315158839 222936973 373189513 507015941 255970563 509172467 618541831 675108753 106407979 703522675 907705129 309564585 184923197 789230711 575251731 731713391 9530671 966972955 391775439 549565997 964389467 483949597 965976139 94815063 489215369 246472931 77066849 832813193 368547813 266520701 367586261 378649479 795756295 220996515 595960909 210424121 897768423 346729651 749040989 666792117 574136303 116980917 952561533 35612725 233342441 677805657 266696461 674783261 616154381 926693619 635056471 730089975 972572151 547433351 665690509 191997815 148042157 284741561 599975367 70267257 366196377 582150871 891832841 294635777 117243285 767641821 936476985 851520567 593859291 29201255 720627243 914749297 264213777 144615099 534304917 447647785 63726149 456527563 396833819 26635267 360689387 54423599 354436421 24897995 413546721 509033251 331318917 801763953 619661933 901524111 956563253 907854869 422646587 238374149 409647251 658822389 930532705 229099449 508865739 418136193 821909085 139172747 514721775 74311753 507706897 625037315 99912437 828147465 234441679 763521617 747397825 604285349 150842695 71268427 622984987 98539561 930252699 612500337 158961077 702143175 842711629 339403753 41311527 52420825 288094797 208824195 658026997 464269797 413453549 751022775 95049605 894558357 545021677 300633507 546549545 332873659 732073329 164100367 406119707 273013587 827819271 146618217 635634045 869738883 851113123 654554571 236126039 256977297 673480355 653504753 341264283 783890677 548509643 684762181 818738209 602980425 210978379 713578197 934459051 431439439 776036023 748132439 482069987 765824243 953312523 370085421 147486809 227914311 618893231 212832349 252232585 967928713 657390189 846655637 761657551 927129113 532273019 500835117 253551225 791593093 137454201 333156901 911902903 313219967 446519657 735987235 896810145 472300259 640251321 188085625 46438201 532270259 697393983 849998619 676245609 954055195 250671417 946451369 469524481 903973999 779232587 287851115 240939707 432461351 820687489 186131025 878954297 960934379 28486739 272291057 183520515 976393603 256626077 171337099 162267529 608500963 718338469 616496133 390803239 153154343 540457237 983624175 195595293 125628817 920500999 249088897 67540373 627374223 56798709 669750425 937489567 448308399 263313093 346659775 11567925 585540017 148730821 843908897 122332473 373821815 669160361 228583321 392221041 314374923 851394193 317596579 105117843 461773731 892510461 23769705 687746613 914846615 100030177 263925943 676818393 774846827 128376973 257573385 725062119 329047243 371711935 876849531 312289459 868579211 105095327 659485907 766798709 730123429 354786999 324325251 478353743 185700669 791758335 245556641 659856455 974032287 695657425 827238125 843957331 795245627 538585591 92772815 178615369 93124271 348866457 837300819 894048489 81559743 450260561 745750835 581631457 797563731 100411671 694043343 344090815 22343043 50981717 215590443 919001597 570472837 367250391 501256185 724307451 501178303 696936913 247021453 859365891 544318907 863118305 861194219 443738953 956275503 264563469 564535479 523218403 155920115 297779137 622996289 277546449 343576077 906642131 386429825 759406593 572120743 46626943 705743637 565316417 268142355 857365867 43448901 127319369 782856909 798090663 836824831 988132797 459384187 689805219 850781661 961742631 484093411 773749057 222429979 159534581 729709309 666135747 108727715 282975107 40580323 902870487 571924481 799245071 26852311 327626899 626937201 424839879 986547523 255486581 7007949 103492281 738782399 35285857 937634721 690942429 986396929 752963235 636259609 505398551 808992497 764811251 633485069 537896497 394710679 708800621 373826813 591663833 203485223 967404439 484440847 456050601 914095355 166709851 436408085 501926181 606243993 625011219 571635587 181467315 162879403 719828857 441075321 614062503 544080133 801172915 399061183 50486327 881730719 933006159 477483717 701995143 980675745 709380419 175553441 659418529 489670227 960935401 866131473 30967923 354066217 230446601 321916801 839885015 447950271 653476815 328156411 633746065 836523223 381033425 752087095 788410439 713595997 231467021 134262935 875090571 510558821 790491365 861421089 778113241 892245545 32759849 633792131 930913423 420768013 694172687 133226007 762307063 188668827 356148787 547759321 763681603 29536903 753786009 750634355 24595851 26697645 89695409 646792243 87034321 581079311 713397325 193339919 542002689 9693147 578904749 270096807 477827559 995219807 466754421 422320709 338344511 375044637 563566003 224155861 783007659 623667377 232115931 89444591 320548787 224497901 474429899 519413203 78944201 164134591 533242313 464574311 307165253 736259397 628092801 221737277 624084843 317032387 741393417 881593225 503772769 299011745 206682077 856529963 321997369 817156725 548615651 988379051 841960685 747560697 340090987 596735033 834937439 477549585 355585061 51025579 596253015 60239561 972500275 314647935 31051399 113284691 271425559 920039391 746332551 500197129 829160127 357343385 533213145 840417135 720282497 790432549 842019815 525080371 733665307 889937569 977639937 409090085 106460849 898795221 573605217 42310467 455242449 998589743 749935401 952982445 375365231 320633287 333433697 625262511 893965543 856614495 569595897 28687295 826534915 738682201 143946191 447953271 355277549 396893897 977176991 510974103 330560313 901039971 620492565 587036687 744060393 92209033 47841729 249425135 900008541 537752639 655306269 712933749 94530405 269842487 65800329 331147777 18667061 945750215 530119249 250050081 3217261 977274607 410173093 300031879 473137677 806796375 440221 593741583 862784137 806898763 689284923 431550907 288683953 344146629 819390055 897260469 404231619 643589475 423899637 564557141 565280103 218308717 756962205 417018899 301875879 482375635 26304769 273282449 37459451 477058603 271952551 235264669 922627903 491636659 604713221 154254889 270514871 357770069 927339889 261140561 444818451 600390559 129897261 448872279 459479909 4152265 273783905 500589735 122934829 881495217 45179169 320737749 870859855 147624925 808065125 415089049 456209177 853914241 927222031 977485019 198516287 701833839 681157349 866141603 469465311 631729961 491752861 394615333 523510399 741764823 872098251 893651389 783710731 672504135 783632373 953001967 445782233 229924079 125772675 63107427 529112485 601314287 295870917 76123375 976280471 257516817 617808115 639976077 323827001 817877185 988672307 37274207 998428547 219444247 754038153 979428277 233279183 8136147 657518825 969826301 531703269 719051611 441110829 740500949 24977139 553384895 645479957 531312129 527883915 547370167 262460489 192314985 512953517 357206945 973956701 951553315 69109693 310389381 267121609 518809961 787162503 376764179 592695789 979222175 605449283 154543521 218681107 59118415 568140173 663136813 257101165 613714479 38206315 437910369 283333141 705476375 208109895 473521035 479730699 875511821 698504443 441653667 577079095 12841017 242852289 382966855 358353773 665479921 150892865 331772093 329878371 721818289 106250373 372964345 484323773 844002329 315070723 374957453 480907781 984498421 966056345 284416699 782730153 905757499 391029133 458605931 14393091 2601987 691342221 686385449 173534807 355163283 189163179 380415537 137606347 779188565 775314789 650574941 148642163 792182491 855346851 284213305 894028357 792396001 378136751 899382769 297474853 659870541 221621825 801723485 263830235 483494695 517404533 775843323 757625369 659458977 220835023 172366327 169942137 786828059 22629951 563894043 726471545 465555989 194497559 354629345 219817349 370990651 663977495 793185895 40803055 996767583 855250531 709810549 121453805 506927743 837508233 333140347 219431075 335249595 542177917 579662989 933744153 3349601 230119839 524509807 483184449 961797603 92822447 913962373 389202677 968488669 463832543 229696991 446214131 842301713 691210179 110932019 421676007 885556587 729181785 493294307 987520609 845040893 69615875 16015093 381808605 286711813 927124625 895943447 224160441 494961381 950395449 517313697 168922687 911797031 105400471 208623251 282715551 222952063 522244783 540354197 459584759 122388425 812605679 325024757 395479107 98185735 629691951 386967209 649959023 692048741 184624807 104109649 264438859 717933111 800331009 856065335 861462417 125741559 157369161 215340871 277638627 268257351 409015795 563900697 454215625 918509047 456546525 504739051 928938933 946390005 680518733 195582889 998902527 65151583 86250477 299078621 668144361 517187447 363992023 338648257 724278685 455182507 870338949 510165299 179692843 659648393 749186271 496131771 505420429 922176211 267059503 118302343 71615141 307045221 703770155 73299569 282538299 307284817 500522225 146933751 97714687 177495237 357404423 877366589 230630797 923976991 561751899 688608791 448108645 981709795 94725439 676085499 121460209 510864825 557086577 257287687 581244289 724131191 557670169 534400513 98710351 178938649 873889987 710107483 157519741 286483647 947158369 941469997 969157907 165577653 440573269 373717043 525296897 132064113 567697763 522566613 296107299 111114891 642509749 96768293 733751609 387314633 286992613 795262935 241801709 346386707 319157485 742817613 655016399 433350273 958675507 989820299 188101209 990510921 194163845 769909315 742606059 998524113 750490135 236182475 380739537 37912485 577195655 786247203 261991225 809738871 645077979 893470705 109355071 926204193 577802623 111714693 375705059 788985257 544440649 98972631 653007887 468354873 491962997 667041157 872421011 761901859 379560107 290546135 210804775 378655717 553417461 886862779 991676785 795266079 499592907 406754507 351617525 725146527 948786953 115817541 909862185 287753815 94946547 993758733 460176737 998054241 957730103 296627127 44446947 426884611 117561069 140541817 35875543 972375207 940279437 362341679 699889741 846578145 525006593 101476709 179972925 437105515 605708949 627617351 793101197 293521703 274681341 395258031 612911617 907760675 874656087 453860633 906516813 225914769 543669545 974986925 18720011 778528205 532980063 308378173 605835451 261594969 516541517 26107709 818091717 422147553 137584565 224429773 865201021 641358137 506752951 35187383 870638617 134589019 376937443 463337573 952973759 815158377 327909933 654335987 367579251 376273843 275100149 646758687 92424233 771368103 538076925 121399887 127035323 194320099 52671603 286453139 8249831 969750057 639624173 315210659 490820699 186827621 447238761 593153245 107062435 915299243 908820299 697613385 225927997 44316981 379577695 864893079 539015815 342947943 613378013 989936923 941133771 342997707 5306209 925637337 23938107 872547863 542906607 298147701 45887985 239366947 260978935 651934781 71202539 371708147 457372749 495371565 751096341 801602485 147594541 811050977 821377089 619205049 605706813 207950495 914790181 784257659 779516299 712247129 514925669 272445855 671735179 335997607 584767627 241297391 112163355 363553477 801825797 964024417 374540161 694738587 915021869 707966221 894642537 369005755 498122309 543788601 890633705 972175961 361029239 855823181 844845181 605493845 292306645 623194591 488965389 818322487 624617557 765936299 820548323 267017007 975826395 585986193 684730807 240451859 427682095 920741789 392335525 235041635 944099331 320502789 467807025 933718597 540817135 397323555 893838921 280528265 607726711 557481591 763276101 513725351 517382657 820885169 118194911 559429309 36926175 712468641 76289597 550286227 782894411 717825605 468443627 182960279 499080039 764229053 6106337 269898979 429953595 75462743 57013627 890279731 824680121 582890373 905679999 903615217 215848633 469768673 244810777 999532331 428145661 202707505 701241055 391351703 330840367 471055967 833291469 978902935 835329761 875649663 465274953 223326511 336085129 969852873 898708257 440258579 603906441 543177637 886532491 712871061 503569453 417329819 438844193 117648055 774300837 49030495 39792619 327658783 675249673 565812171 83170135 227957791 973926747 774341093 56042807 981962411 658987653 750519511 66681547 888347491 607980375 560870389 622817717 936830863 224248971 79569849 689646855 634401823 311305411 61947077 358214707 416542377 927811975 674043113 139936791 688282733 522182727 493231123 900073975 768795473 729488735 477010785 206028931 945503461 622807311 388418069 302487245 552029025 771473537 643433115 148995927 705297571 844717765 233473927 511832833 533637939 29148117 208812691 369138203 889383743 80905619 121112481 684445017 869936033 836945093 346217409 845471961 826201301 685914657 86096929 733925665 536171525 509056317 136394527 215353373 647916029 585526683 868075325 592158755 696900665 845228965 351621161 260679921 796374483 110319531 551649203 368602281 51886231 377447141 814374615 448029405 388832753 303722105 972864697 238182269 540189689 748302955 282471843 783245291 253299823 791014577 192969739 805721065 98973627 75266081 295231881 990930599 459636713 896633725 397520353 573254583 305899955 479885933 605710849 522492953 711809399 706717829 884967161 338974513 2668095 940759613 617613061 628261325 807726773 176627701 654673545 169749793 815944245 910158585 535930129 918101963 910762941 533624951 304923727 76687569 217084147 258776203 790967581 641803423 867395879 337778995 659255937 341199369 603621457 410254173 9757347 654503761 112329743 466883543 639759321 306483479 409687721 597488217 736201119 654268267 863725069 208048265 714053525 25093315 372848341 176613099 541295241 458795257 34187069 898602995 895332717 674793557 461600815 608153339 313478747 325253 665040951 358881603 859838361 400072091 831491729 975313139 825709713 225370903 683995159 335702559 798742229 788870363 833856085 743520701 562469155 242705465 950727799 641430193 229803099 246547171 718932053 588673221 9626251 525751287 674033007 322800039 584074213 613794553 975477739 207305713 874857413 295196889 108359579 200604199 675182509 873542891 291193075 339282863 956172361 119418347 351632403 996041181 764028011 35562751 468063171 193747687 525142033 253535925 27083379 728614129 226121051 906809345 137995577 118360325 67136407 235811651 399847635 742623761 921794105 864217915 176039595 226919407 604905431 531929629 447716815 965262947 375736123 44184185 65387511 699406355 39520331 378863181 889047169 9430929 208285467 305022977 739657077 823258201 467237097 257894239 210871425 516053449 56596759 282010271 384726015 279026731 239460911 749937501 652897771 478032305 413405413 360732061 794020591 770242931 71173909 108642509 753266007 548270197 303592643 857868485 782742559 528995997 462786839 539223743 377718241 850074045 828259687 290952289 203371497 718367375 718450733 302120633 348422947 146539445 215454221 435944763 451229479 420235447 688983761 549871813 719751989 489204487 784721007 103257245 187101491 413360381 62407679 747296111 228552883 582514909 516184773 219945551 386856937 293810125 325111087 321804223 999003829 398354143 234209741 659961503 516480927 968442381 803555931 744984895 689169111 317582137 33078973 712687701 618873651 736978731 750763517 782317051 953247025 300585109 874284881 806721723 418112507 344437007 381914897 834991741 15525471 667166235 815055299 60336025 691291093 365487139 403311375 750069709 814297467 192987511 75217101 619367741 480583959 515318609 14345203 428773237 442998301 220384467 347444135 410316909 176618143 156617733 318715957 579899265 937989217 909867225 151289359 880430199 649023429 970269735 319474895 39768697 717246175 50844337 417902139 871955233 399777379 477599777 854123323 429940073 904034995 134529031 87404263 83076279 337332947 886998749 96939893 809973209 987799925 599320835 528362317 883664389 981451247 396302789 462880245 121809877 210877249 768389715 295869733 646666321 18189073 886826693 313040311 801646565 44120753 223174941 207269549 302476647 940535829 840046659 269263923 548673301 910741725 758611725 649509531 729895827 729764177 436933421 254886755 169524461 594640225 712886859 339943979 309304731 847995299 248815341 145213889 17147255 276860501 591590787 807399703 852756171 646249569 857586537 414619721 135204159 555643477 97516511 525222809 354992877 326816105 504728335 717207155 733043535 535652473 508299015 452053611 919023179 736817937 295866053 387237947 371714863 605179999 749016361 184769735 176396207 378303543 84430329 584687129 164601065 737401883 591577323 895435365 877620323 482362419 541831315 137874183 361981193 686565451 470847351 828204929 709531697 390115551 689934079 99859583 659247255 323118089 378225787 501256405 750483809 916009109 392967715 909653117 617051423 758835439 199109149 516232091 302953665 911274031 982764397 266538873 543733929 8875285 103809289 118136715 504159641 759332103 553438917 704966767 326135231 440438037 697898599 733883107 271404979 71874807 534995093 164209877 932169581 178313739 926628323 159105113 867024727 349997657 797546441 183511721 239433021 597379473 294436263 172198697 256161619 4758537 434708423 415824997 179219767 840892863 362289245 552496909 506633965 690986333 509750397 426854145 322662885 242824497 351111469 56832063 496624627 856766003 855824979 317271543 443118675 978688769 650125251 768219001 296409259 335546081 469047347 887785793 189661193 145815751 796258377 357975027 499427299 930609221 66335625 625847643 979439891 671951517 165410663 383674729 162725601 76161463 470301757 17300797 153388537 996707103 183093321 303722519 678154609 693486865 519633591 9521249 39984071 264631655 753500825 29680305 905621983 750664365 979588581 376736963 51645957 733070605 914599039 990243447 791605489 99548005 30184753 891512027 989044415 220062765 781927593 73098529 339587059 8129171 384593537 34660771 639094909 896534881 198765627 199523047 140546735 798950417 888930883 639332503 94966345 489056193 826097381 228996741 249188719 46066233 603498845 602559919 358097839 924151529 289395405 728227637 133981437 447759333 878911295 370310501 870822583 98721521 785509023 830306993 498197667 416204401 53592525 603831989 262433773 130804853 707310981 992543539 16711211 157850547 369197427 85269783 886412377 677940365 453705001 456038773 205375967 10329097 281212701 562570373 423851911 643337941 846894003 491475631 941424777 647513673 824903219 684152187 376409983 377409893 390974927 170917533 689033075 736008145 773320863 390733041 958454477 109187803 812186277 111417209 293696613 328977017 210501323 992236129 993588345 512093771 70923233 827989501 994104237 261793947 286692257 782544327 903806479 693261651 741637549 566339427 226481171 657679119 367785613 908417947 798920087 135188493 669677235 435781475 143343839 342621493 349697399 593617623 761414555 153059091 866222619 568672827 379465183 872478433 84407497 452623095 929799463 344422269 415157137 679155873 242526553 443991663 203372909 484620787 716625347 248999141 353566015 75556305 422838299 152490681 730893007 406485061 713011579 32363367 104768973 771955589 922024299 817695513 532131543 974790889 213594327 273395101 409980521 468860917 306566421 726798187 768102893 663359831 797485283 215418015 869497527 385903583 116533605 296314373 529207551 67628425 899150119 356951049 850064103 847619705 599543585 231730117 468573047 549422075 397393839 927342069 217888671 100199295 347222933 385617921 95529275 605777317 350757635 121626363 146256395 193092907 449542795 808006807 531160761 766731265 301278765 457346103 15245781 576669239 181124175 621370847 894858969 287926025 173376697 910415169 392170277 551610333 401074599 40527539 785167109 26856249 116627121 284381749 832743079 646716885 588833759 379805805 916273959 306977163 312811165 166436267 479535493 14733915 31102145 563594471 926345131 426086773 733601159 500626623 535489897 664321579 303839383 334569595 578365817 999164149 941572859 776677129 906619515 159514235 246493739 158966787 650908153 509428867 121512193 220711589 713842023 779874565 177447109 736999129 323592475 653156635 408831013 135132717 870437717 775347719 877799987 833012953 410471235 848652853 846128495 899249849 197895667 239055415 397641405 411273305 651919709 261710283 209980523 812634597 962440039 580610259 745861421 12779061 169990357 519471193 611203361 805827019 457405019 73750417 431172811 535856073 976353171 23239893 877465115 621600515 765035005 949618861 803582309 592500461 943290369 470582975 86670949 245612199 549174771 279291103 40811843 947545081 568833803 384909323 125666185 63303251 683701353 863465829 40096045 430767051 468396055 132623671 274443661 568653857 622389255 622081525 256914033 570812347 833605395 585598267 332786433 216136361 38788089 683161291 591573 555301283 947000423 409149331 570055403 636122887 194349545 353536163 462077093 984673245 136475901 272730167 450993877 456866517 144630273 749871281 49568429 638520643 39989823 279665569 402308297 415128619 120952553 573369525 819437107 749971247 239598105 317716171 812131157 613844899 836372941 135838439 539313923 194888573 377573619 649123633 95971709 187137625 895261271 203073535 908334951 804013699 377735095 220766923 968808143 682607079 703587505 67867961 460248619 924294941 315545551 495448597 417389397 737347687 627879299 245644879 21183637 478817959 797565221 421746693 284329367 304282223 685117945 738604923 139324529 537103609 714393125 12600859 338888351 549654303 8615867 493706615 702969865 397801579 612408757 968424523 318770681 455690253 377982709 845491067 156069415 330227163 499359043 694944019 227898797 550180693 93673041 589269829 811251221 419085985 423730873 615312235 128696903 580435855 605965049 359970059 151802779 41786007 499773053 877187789 895137487 205326295 503151765 968181129 471986951 434381335 906478461 235597621 990352593 586127813 96910673 692634617 482583841 713217019 586617119 199686939 96390229 629658485 792118743 355042323 846312755 432279965 729688913 944187771 700505575 378998657 375762769 89509397 617713413 306309335 57460349 67148235 84740751 960957185 787550055 646272181 199314661 553049091 735631753 938775051 931100119 33566095 857920581 285695791 349716379 783831549 221985763 681642159 844118987 671562057 213314707 803145533 589601903 687117339 98383729 425927349 139587315 276411077 248362877 476630809 31288623 976450107 326503073 728597909 557415515 744957725 200932525 220340091 428837921 804738227 585168477 333603657 149762445 725852653 719329869 589771681 5789201 444696161 63779851 474071629 680600207 416872783 362519303 284329793 90211403 954989725 575083929 211122585 228378097 752138203 17730563 642811031 659418773 940441921 756608877 651803303 174853815 282947757 177647339 252404829 45202747 566922405 601472117 122538867 331469935 582810973 925980141 743093197 91184393 603103143 397292059 273153653 975927587 44457479 351571375 346877087 452092741 756568481 442919493 546716329 451931 265165123 307000157 961440529 523280315 459764841 922092897 886941573 426583585 611564589 137556641 990930393 187526325 807444571 673396823 866768647 973556993 116661343 61219235 598908979 220450557 898379857 444735633 889041833 660952581 762936305 699862287 979132889 976105437 226999719 15326713 119255649 706131379 523299199 335111695 908850437 687600415 50775603 978819321 496665773 281234203 474779681 823778891 829996143 60327693 338070099 312696957 756101255 602725313 794445683 655025135 929606485 426716785 782970077 520306157 438002789 522373045 353998223 34210213 876138861 506387091 163093807 891898163 666266949 732558203 553640205 673171607 653779187 904522049 79789345 855146169 399935649 33551393 720215305 309580909 292125345 425121987 766779149 916521323 649100399 736135473 189219099 244722515 529291697 566055393 792422347 490754735 970845485 138620083 716067167 248239601 10889691 403696617 388076729 249496691 819065301 479812913 300607597 520570741 631776091 351210659 222593969 763093791 956764125 536489399 933457249 827526021 389815021 695774295 293052681 88034205 481109315 599901135 662161877 41233485 747522503 707668947 213393309 378791769 608706687 606987647 676090337 796089973 143212451 701639261 8774855 557259835 245937293 729327447 814789665 283601193 181095103 543966657 918826595 146155691 841286885 95540315 692778925 437715987 817472467 385792075 390804679 145943449 238108545 23903259 493570081 821975389 132733975 551190721 545555665 835710569 610784477 140869275 513890709 69941167 439225159 7707247 879782359 289829639 714870769 711924329 254123685 370093621 676906909 165323039 152062391 511041503 966046263 363063439 377298027 905140889 84874195 794851611 370459337 189049817 813969323 635739797 525803647 907760899 74425633 316428079 830064103 622161503 918063813 15033477 392241405 792250911 890725189 353106081 743154283 782175067 454883455 994748651 230638717 29243671 479616629 468676413 694195759 636697401 375261779 662880975 709136411 637281171 476780909 487991115 714195341 714228961 50588733 897132477 102357361 933953471 237478759 959705497 870103903 793339835 172848311 372855743 774538903 636414021 434204189 912687983 219243775 111527863 880102583 868994395 510911529 653956175 798828489 546463383 206103625 683559737 199240123 472416671 180750143 504217989 206597411 29451611 880269715 770471725 630407099 78843413 723746677 257633811 155254631 914752131 110127545 817896191 181145395 201720005 902191843 725679267 312996943 233830237 968370711 672919703 511789339 359466043 185065509 282908765 920061461 773068209 341321349 816540767 508481773 818706815 379830869 294754541 618234227 633939399 663250267 786861379 943586467 275993627 203837195 708554365 490955171 99049581 705772919 704997545 783342265 441862171 772102753 345074103 511732829 645719273 222504497 220786303 270377511 549927431 526007541 121929155 688774621 573442825 876832099 549616429 316292713 140478187 394660317 515438157 876362461 669032723 521109351 756739997 899187575 883423311 886426291 947216767 95013527 504089043 203917079 651682105 576913355 840029247 276294035 553026049 171824325 440027285 902630861 694901741 238717023 913237827 787525399 176838911 108871583 816925471 888158053 322384929 514231471 654920295 160099927 397452323 401484259 326645181 906217525 16596671 187350707 709539123 104071407 307091861 322806983 200481081 401711897 309738289 996204263 488589233 747348727 788733441 824961031 70201053 306202989 61912417 164995139 555360365 366023435 754629777 915329501 174557299 476109577 873893307 774417473 958553711 722240067 476605679 129033985 547548229 460769861 359705893 764760283 684883267 280192571 508535619 173387953 40917277 697912831 744596237 415078541 709316339 129049869 735958585 728145059 680713797 631561103 240687453 614069839 898323973 936382801 503360249 263081747 173363591 286551759 746893435 114963869 493418377 803422755 469443889 812781243 518990637 948877337 605020501 939969133 93472515 741613853 374479623 388163797 644191745 170947655 750408529 635529021 443645057 542022231 590861095 647955739 316629837 883529395 415408221 12123911 973320845 763440235 17885881 518680005 224058073 745747767 904802531 251515203 39488047 539333749 643243369 526178705 892681971 440829997 809338825 119185387 661306609 48736783 643763041 877063605 907130465 899231857 580870781 144318329 123517663 203087185 606103883 354365933 834570353 161614169 899428581 975742185 441431171 790533847 739050575 421619827 296272105 277626563 804805487 284422579 570723045 263058361 191679513 655115775 510482967 846286085 557799685 349863889 868160399 639375765 16435411 530669519 179645121 991922941 492373261 487998399 995360909 832123519 467140389 587888537 380750901 383606275 477603189 409905269 239546471 588230933 155376699 813625241 933321273 482774001 583661731 919501167 86134825 340702321 276095423 129019017 453682969 787885855 17268615 557011619 937563483 438216747 646514139 462614435 466013087 957437547 366367621 629854351 998733319 781417567 316913975 789614239 119952663 934755629 923347081 524642861 9034425 934279591 286165759 349857723 819867975 992949569 612288255 13612787 928356475 616797467 909764315 973414317 707200123 615921405 335286735 48502495 667111637 128863829 977292025 474912689 781925757 763444541 592055907 616610411 819167185 70735219 881747967 660417921 809076119 748986717 798343845 931789453 804039675 671958281 152548631 190811479 536365715 961614131 891561727 937016003 801488987 810618423 389022703 461461483 459255995 979451677 390958173 928239367 387433085 227590291 237107373 979783289 413008087 807367153 777360935 274023887 231108201 400067639 567460349 290785981 361306165 899946253 898189895 885808665 397519019 619639743 949049607 392060653 105633437 888320585 535486247 370233183 461460555 69154885 880171895 676792261 247943769 692116477 408144819 833790359 745185491 942307169 829322103 231771773 471937073 546109703 814497105 614156095 765680207 361559855 914866097 150289107 620623219 413745855 216908783 417938257 250751817 40163401 936752461 174038781 349284837 738340095 768093173 533845827 924017865 946450375 27467767 423685559 856862677 844097059 225760335 389602067 899130969 225226051 522580441 594248763 690543625 444584193 648180323 790401339 396525573 592961753 914037661 896835139 997383631 967576309 628816927 55131825 120099413 349441827 22804587 974023177 71551725 207244251 436734955 435478259 24305237 244897593 571035631 331638341 404446639 357280777 318017713 273360889 125389197 35867831 109259857 988790325 683470049 36590685 71838683 645463103 187368969 650906551 172371517 166071695 342246857 22137389 473098579 758384317 84642385 726538449 655708381 958161039 667885107 732077399 629045637 461456621 816775535 973488927 196219355 324462061 638500969 6843443 357296985 340481227 43638511 460002879 224828255 21858535 470024501 245132699 148134457 116499663 136638683 262890565 697040919 691288373 81312225 551265513 298049039 629623283 754924985 631241681 922457383 438330127 278652471 873430519 865660231 653918643 540934809 71620089 79193663 295474481 856824961 246661407 513678025 28229639 929795329 523430487 327756677 45204693 410000777 850350395 531844607 641507689 827155707 701882631 363786661 842422197 479023257 65909669 673720531 377591507 99634963 724791971 834579401 926785033 666211707 508608055 45900207 119590849 955863121 835532867 178279321 775778959 70968441 721412429 627943807 483225643 653892159 603492739 667732289 671527037 915677787 171699645 852106153 516266125 738947305 896711291 269103467 295843215 845607023 681521893 426683931 300123615 384100569 998478791 717846335 624433151 930191485 4593821 414196541 668762011 72750359 123599489 757579881 819451527 845513933 190516541 430660091 13767613 664032045 669756993 806416659 154561119 965523501 344852899 774974395 160901819 988427047 937454371 229156837 73803589 839142371 942850343 142025323 986250133 147600781 212886975 75314189 762916719 754579389 16215459 562127475 425905087 168842603 710462769 81449777 504001433 892986881 522604913 515108541 768104247 612729929 586188561 45700475 456395517 736628603 964714347 226000051 284913781 53399091 756447101 802357143 363966291 693200247 809989355 118822465 798030453 881540017 396507913 256318129 883780825 290821051 694374349 696453071 464750765 444662735 43978451 894716525 762218565 694992019 667662439 737473607 225924381 849461269 852276853 567635195 846595285 710470345 622643093 193352467 695471673 750234253 72975879 467702017 127700543 46469031 5942451 723285533 64950015 916380099 845681701 152581035 831980221 127397623 753570199 142483921 71221479 2692801 371284457 138237089 543983885 443924227 851566751 58995479 606381035 939436815 216744683 891926543 99410535 53174421 717287075 407776601 621220999 550934199 274356551 438242463 751791747 523220727 830603005 681996417 304543667 420389445 13072789 946774395 452912541 372107763 747295623 907702009 879835883 636262081 810292465 191124043 300428911 95258579 287908507 695759789 201687591 296856503 706110195 719392571 552941619 351264609 3856659 268345859 301548513 667874095 990613943 177188085 36676259 644276709 708387401 335633385 146545427 486645171 467560919 284969635 426256887 310995757 777947671 990197193 362939193 870606927 410367083 413345261 792920299 210732417 965477591 491771017 72577611 530727565 969036045 576238847 36100281 353788329 485411685 861956503 999738051 632076405 824929755 454507137 855063835 251705587 774144791 903858905 935225757 291450513 522394475 549743521 385122891 571973925 110872523 239648957 739924049 407970797 73187031 589794821 846579459 58837133 66622423 587261485 683512539 208898577 205475259 677717463 717779579 796669937 420402201 788777103 383127985 269499657 649924145 500280773 22680689 565632157 77002217 717068753 700855761 151210845 165842641 190523125 917708059 223054941 375682847 926085211 856325301 111424537 242522805 731440403 871831349 7883639 895441433 104188695 347744341 215928005 71716219 413621319 585473015 75195575 544455087 161541999 265132331 165720429 77781305 73353533 567914783 256996711 160249147 621985101 63655985 221696665 829166729 215724319 486376675 394241363 218579097 261326621 891196131 129391955 634065543 771565975 587798017 768086721 146399263 612699591 592275769 335123751 528188109 541555405 922655663 848446077 428966057 760613045 136028589 764851741 104218995 833720685 239807911 952706001 423963537 243531729 826208571 133691073 425726229 526109345 150031911 198901383 944745651 966507397 429009755 338624539 807712971 184924689 780956135 233859815 964185701 275782333 273310727 36678071 304314417 522687977 186305567 330955199 940882309 463539425 294843323 104472477 640991585 260548307 619807371 969742423 42659179 540170203 694524271 782631001 960169203 293333497 504282981 344495225 882349041 145458197 103770781 18610419 825982979 575527683 321104231 985334381 781178223 198238843 990303553 971103479 827658793 882840605 818147787 817576705 322896579 951777395 750154195 63401581 710630273 166153201 147390025 261393789 870531909 26611179 573093709 854913503 989654179 594914215 683102495 332348841 620893903 251129163 253938987 16151129 155024555 343998699 429501699 700388307 204344253 310126975 23665509 145457507 188334899 831775207 378247473 406296257 844262117 538265069 622222965 365987593 395924051 12037955 54957411 300218305 328980899 138118275 155174229 367139795 59196583 865080363 696121297 839422105 677720019 527819177 984405889 938289869 156099911 175946825 605345081 967701909 237780939 825961545 225156851 446904703 226933199 682410951 538248401 902150529 767394921 83250125 82961441 82054645 865953879 665117517 22558293 952859043 170262275 243224097 837901833 162295479 234305915 895504903 74447359 239544263 707119479 560620971 421628963 277724367 154414165 201614239 452828297 599370295 226856989 736517465 489175659 241944521 220532861 149536829 655157549 229389757 472018895 116212883 999423833 669468591 467166223 983114381 279715235 476600739 806976487 318683461 811247079 418868489 627597731 168662457 426993705 614280627 554923583 374749653 838872977 805805281 821256277 590928233 186390389 159536183 821317425 520202545 621174351 425755843 820885439 480705483 333429955 646933497 700166039 166897345 452544155 924199607 787683833 798856069 734364619 220340291 343307467 71530607 585037169 467603785 130613661 769071041 304443083 842127071 959025831 465581221 355435591 105889153 421459913 554368043 502077561 91995157 708542855 794528847 719457565 573082859 498180115 102633709 608888851 259061939 461288513 148443859 701203047 383864719 548309141 286637233 352193871 172801537 575785011 855391775 457851171 980046839 920232427 4085409 467252841 972127687 113450293 90787995 746452169 379414831 898183469 959992421 388302361 697170515 897228703 166416179 133976917 939377857 960708089 594202663 541823901 961511533 606871119 750797645 721166143 206375091 627671139 249015957 196090539 255565661 926882461 250809559 681291137 405358997 869915403 147320021 388643201 651719407 107664995 895449657 111995285 307981421 39030535 920341139 548863701 77724015 301788667 334667357 176853879 659888837 509136881 242480121 71299041 811461027 714455103 872043181 97735583 415584935 443747301 720284591 826567779 577824983 150543497 542251285 112646409 538800289 136570749 380016865 142662803 930616023 733784245 907715069 223474477 19092919 499339729 412475193 35962153 238160361 943806233 609772111 802776581 250358647 495338621 643931871 655565153 215873753 103329425 981686645 217000459 168028651 156754329 563915391 149293813 520305393 380258937 249344345 587385403 619894683 533522369 522417987 79246367 308713467 272682663 434160743 256000525 507157393 20757517 365321941 149562777 359162945 499048825 875677063 418938749 836238681 757117465 913643357 668988059 59237005 388054983 710771235 856876801 978368763 352281599 575587719 836605667 2070569 523944171 361637925 441039769 369105155 814875223 765138045 9641127 510735071 322285759 42514935 984154809 81599609 143878717 96833511 271367843 38790905 956299165 771826821 824871519 246335209 706136393 634218993 251569169 511964991 26850911 98555191 808624387 228379739 265270167 162861381 905678505 902207231 418695263 11430903 432466847 225816923 539002817 472839435 911590569 281965057 374575991 999636271 562555311 356706545 475021023 353130223 605398727 904577679 465980929 702248393 472498987 547534503 773807757 803794203 795364415 869815153 370424537 511352113 258778767 499962505 160647395 905583673 418437323 417007605 49697109 129762127 106065617 926745375 724701309 853227377 6306981 585009633 562542931 924625549 835217775 80566645 802018419 836037231 682356359 474788739 628975913 389381077 597002339 910378261 658888289 608965469 65139625 249586593 92865973 195607697 398617637 875020293 638646369 426595043 311010759 373200775 863760463 287057069 695725487 23204565 822243595 181953581 913771803 725142785 898539215 633857169 661754491 582295177 428160379 741784293 558470239 662066261 434740627 254062375 165338757 216091311 632664393 420116789 643850957 302006863 491762547 351621081 757891141 339888465 35641489 282635717 303638047 232309305 137085897 328917137 465066677 488753911 210752493 22382017 527863437 525979101 189936753 105627579 879047505 723603115 837868661 618154705 349984979 145055621 639614401 984420927 29081105 628696057 737458115 252813091 443164715 75249147 275819157 665533319 674470255 322319083 418818549 274355549 648782415 647014537 29365831 458125693 632477287 27358727 199380895 628236457 441905017 176421625 178066611 696975501 219507313 726849117 494928865 753441973 503424609 960653717 836603439 772144541 380643719 683520881 550966865 417213351 110661189 177048359 508246937 90475035 126746149 978419027 657398025 777412139 122378459 484826873 381814857 951777775 510396227 761490055 494558885 764463977 826804831 53508821 773562393 325588867 707799643 72381467 472903231 413538063 959177611 564098819 942142817 468295107 277910889 788786585 926502255 726404931 587668889 710520913 32519935 440932373 533778149 768798473 497758289 82606767 861436481 940008967 852612171 309563495 562905033 417655541 701617535 660653185 32573377 74056685 876500255 238283041 462499729 910499433 785169937 141399135 511252175 775819345 995633111 379385135 609944117 24904431 925148577 466391155 588770983 123856889 35824457 553833975 898342447 665055885 443626571 56594795 376378115 864882737 481723089 42313063 763156603 897894867 240378025 281127021 69336091 713325253 819962955 762641383 113020049 997959109 37311443 742849317 941622445 777371643 17991181 973963361 770466411 746365939 105885029 335952827 718560751 688759967 725212917 281819199 526626949 806379617 321720697 92157149 86141853 186376701 648597593 823292781 339430357 273391005 518050471 78290865 366744049 907431387 271520279 804358737 760045531 558276785 565234185 357975521 510763941 729563781 490612359 837472217 704909963 479569701 940999485 284081051 110816243 398341317 861814403 974012269 30574691 916028163 851290711 670381957 752634515 107440101 377556835 282775289 605891163 266474711 874949111 573374667 506271169 834906543 886788359 920343779 543091695 359827369 646478131 425842965 20584503 370378349 782767555 570753049 724605719 705818373 462049189 291057807 796540207 704994537 715386483 421976067 418480205 627432179 912399721 548044771 815766627 336808557 932740721 770358411 807173261 504558079 127405337 268561979 11638285 894424771 419130775 725684251 39356751 947049265 780816333 44213055 994310373 928682547 960177729 954011551 472490637 288477205 678287137 877163803 851728935 21161867 389417797 797866109 597776577 701491891 951546669 142046329 805928333 47284243 416955393 331529891 877723879 990088599 442954893 608558721 897341265 420083091 704604749 775716985 982797431 535660999 280616539 688112351 492383277 656760921 85881473 995066091 16582509 36050643 372365871 272736189 846752603 214075179 205946235 990248799 213460033 202936001 791680037 705629637 392476307 127477079 243991187 707094979 767867885 947429915 802797781 903885343 983619601 58031779 833152419 395108991 75171821 906103277 590604635 976603255 889193615 981134173 814563589 303308413 416784951 970559935 985181519 145022197 502718279 247227467 360273811 853792041 454263115 745970589 39945933 964102215 502748659 769183417 468109991 391081577 994043421 451596815 338615919 409937299 493186251 690862705 180861469 358082731 839795243 37546017 189762893 601348227 410579597 46255039 105613387 637508311 19319661 339849051 286822659 421436229 341807727 46902633 815266317 94966871 348459101 761903559 914539433 269964927 151518765 978562235 327778495 392171797 772946935 594823153 504233947 731757917 283968513 885654911 732674103 587604349 966165427 552988385 949370035 45178759 281461925 305518591 368223955 70666359 592377741 703967779 788084169 995325227 663327569 242175749 377296747 501537133 429329917 484471233 133046071 568246511 452443585 594667483 92787545 418136649 233118717 864899649 680909723 113094141 698896945 217265227 964017269 76968309 114629383 161346227 356361227 849309699 969881943 523225247 112072989 429364701 599463703 171648667 892896801 366343975 173846125 60681631 750213163 406145257 393721509 877925383 870960633 793879059 444504881 660806297 349437685 428159619 487597741 502774145 821437995 101491701 768520153 327396693 782685015 286486805 517080229 183005201 481503701 531978355 807966499 608725019 634154923 225410953 397424267 72724801 708743307 571278777 684845637 90590649 359110349 38431563 206815961 81514269 458996333 843057777 843135227 891413365 378578963 298752067 906997383 200576559 514595343 636393411 928238975 106296605 183285081 658908891 885290767 483314047 429940369 466681691 795774601 664807671 879457019 194605053 567919211 695937687 878513545 51606369 139986775 155289041 347945425 539390739 638944535 58284419 380767505 434908803 980251039 534814961 27718453 705689097 572099595 89204939 547903431 583454183 643037085 533679139 657313535 892592967 990522049 46339451 142433983 900231481 730856459 433757107 746964877 793329591 126613301 553414939 743746457 802463393 634222627 514658919 211389879 729581763 261905887 318846901 271710315 771312331 723197341 989846411 222502103 999032917 845178809 226355157 923872207 225792225 455214775 429269737 816587975 947444441 920432191 799905413 396681441 518567565 401964583 127595723 210660835 734304055 234586473 645147981 413593915 414936567 282282281 462247931 531235585 887262937 665204657 941080631 255415541 506137035 641964407 988303299 216987005 714167209 985627667 322897359 752375467 85739827 476564811 33405421 814485299 331025939 121202695 827484445 194592629 869740503 969897309 159800003 195263097 960405245 405400455 445959085 649664751 281384421 156444395 343667471 690474541 504551381 141720335 203520391 323375923 878393345 33573803 772254747 444660647 30729859 368455063 133264183 956244697 746594139 797969881 409891247 429416639 170772337 532704921 324904389 246860027 926712217 70831663 118024729 178704851 795694987 679914001 507741883 434544951 777545447 424380901 173963297 519326651 35431993 26575479 824980517 331781539 310566383 846161081 845340943 960632785 929934179 240617157 159851661 234172633 994055129 722143457 563195569 966658543 201852791 780369527 671534331 698000373 368746065 886517529 506981709 765374577 806536031 701682053 209319673 126001809 310853505 548140187 558372273 637530669 834798721 729605225 207191187 379141829 391138833 443039521 280866595 500875391 112656075 610790431 834299473 165209387 68242735 501952229 433366385 860347201 649240741 970815519 527696703 193946337 447593599 397353631 8599777 830328015 632045305 230421091 716298981 577162109 190122033 801930125 338931775 232926721 962815793 26023783 636145487 524683033 452722923 718702437 623728853 664979503 71514937 154558499 312270085 183716433 887362521 722900067 923735663 835631927 475898231 265433617 414447377 84318271 128179365 745155393 707271507 63289713 146821337 49589547 861708031 808348283 524116343 799826231 793634381 681257911 94720199 788169709 162872025 417254689 105353979 790584323 716142759 535203681 365686573 783610705 383594277 953222857 475692123 62538715 653589035 932785229 593570929 603712717 781748979 450851983 403129665 22825851 867645219 280683733 879206785 278895711 366172617 18802701 591681493 915913245 963350105 826083791 747298757 406065279 355552689 121293659 424757955 786338171 842703127 811029143 972269351 162839081 727092023 38880531 429493555 462956493 577930021 86334215 953078801 767341781 728956259 860441171 233387219 777828817 291539153 630097787 706710895 552125565 297326015 220247215 820767689 790017725 212844771 489240777 637032617 361268125 592485975 595987527 834220223 956825165 764330659 605064783 682839463 608261931 232908725 164715953 914733283 468960443 300845535 859960291 673770713 723596967 102228193 611710983 694921179 205899969 305728735 684168163 372800803 939786245 172493157 733988071 668039635 68424087 706558059 209910055 485345777 414221763 830155085 72896613 414595443 580883707 23002065 828886793 74877743 172967129 74454305 984614177 153195495 641924387 811874519 817409891 822278469 779821763 65270253 260876847 778636505 507789515 97772489 822787727 912963869 105845625 65274681 877815087 807009907 428126509 138327923 84690279 540668451 599335797 678045457 983459383 645471069 509472771 476139803 411059525 546461245 8440753 711052285 669182945 31225027 886807941 981367949 596044291 485619161 467659689 485069577 635109195 166182479 67910257 484766229 38667773 629766111 81519957 129459645 834008073 729250345 71398397 749788793 936044553 560542137 913667377 57371683 238085691 515107071 150894053 611618053 620597637 350067537 287478835 243414727 988273271 112510453 6709859 138963843 656802375 67581203 105474523 796098227 420769751 649035451 21075503 818902589 639233197 360133607 151766045 736622959 872830967 262137719 397218439 138774525 355105167 442136887 930287479 205367045 833087729 641538773 45061409 823604749 904160327 606178029 636044001 501531649 756250973 79895551 930470969 694589495 19987629 331700595 643419093 13372267 506388567 616871581 676406409 596556995 529414431 701695413 299456591 987987663 412457847 268593883 115013451 575964799 548658805 179368219 748171975 294846517 477461209 61942115 7503929 133733043 982329867 846563727 726564921 512850471 733410071 247718749 306391435 700986153 63432631 267380603 246943773 337220017 780008265 695682679 299203069 352684073 188927957 438845897 30382189 793895517 4471051 57264855 407490251 576179329 369900863 30009317 414535587 296903731 304370293 315459879 673509291 700152183 555138385 878145463 870348475 80683965 704593443 631835795 538801367 721745113 449318369 65703337 10197805 367298567 442922285 993902277 924716301 350356717 840589133 398186149 648720627 683917465 129214255 660145127 425205123 415094401 758367853 972364309 774419593 263551 204467779 741161121 183859703 407918811 128098969 287115749 211089639 499423553 359517953 304065569 624024735 404995527 141371823 992461949 610953095 95451883 375865477 134636555 445530167 435998609 448680967 544974023 333323365 947814405 413612135 143340687 528961527 827066623 809855611 4935213 736019449 46048409 558468291 470489171 8260509 287669597 389894757 862607513 774663487 425520949 489774131 141638275 455422815 602724981 472390559 333846135 653104045 321572061 454877647 218254537 999318011 289619089 848990341 790363823 778948417 475773727 659732273 26285901 81740455 764096123 555001837 700736683 5793397 525902339 10659957 927065787 180959519 136138621 614519603 268634709 386011711 382706197 649230901 861066813 759661467 641968481 472089651 562935321 61269021 504864861 555630475 926034299 865192665 437939313 315135811 435544285 146904585 426927207 276499983 110138529 624820751 806214519 141908801 657593359 286625401 166500411 889940955 207229017 43722489 844451771 51904901 171287447 877715563 801675365 533917067 567524813 822983121 876169995 231987175 111540191 485667673 712405997 139538489 922944677 420308817 543791023 438206661 871411667 95261497 593244767 1861501 677963533 657659059 866221169 851834615 123869915 114124425 229284291 216540019 891373997 811064753 160236697 129990103 557846751 94598723 766667939 528834227 389815731 894779011 944321013 817160511 428241999 2233821 657188363 850145881 120959685 219095013 3152075 805795209 480087567 136546645 4787587 415839231 892861709 784771345 169804777 892838801 26652555 400700707 812463383 830479293 593196857 863997377 234062997 805298349 575656623 756386883 43991375 210467887 778466415 36490799 545605787 378072761 201237987 332485677 67906871 335458925 621798491 715759891 812429383 630351377 305353233 132247771 845259863 608467987 709830439 225365417 644843103 137075595 678819491 804560073 421138107 717982011 30470523 557505453 171556911 112694917 531551621 109484783 286865643 52381309 580887683 863832915 534621057 923398359 624601373 881401543 218411505 207083763 319777255 47050587 264023201 545706715 435648089 228394061 77462873 515993657 211514837 418489597 548698709 491436393 886788257 714859001 152696621 451471977 568263411 639936497 892265449 938078687 257398753 629967557 559604213 787021341 711256685 946464885 58772263 931405845 821196927 774408235 294479547 72554093 916851691 213913407 5529689 108899431 132771177 218391079 808076043 278160115 310960537 116574603 376037961 57846187 237244935 668013363 913224941 555145163 775095841 381940497 198515775 119798589 283369027 576828997 687951085 823876495 272991917 58807823 922853385 253563639 481617031 881081051 677122067 523707735 521568997 662407485 295113711 396628277 886154687 942007021 183358443 954347199 628210421 867952595 589793467 491855565 86512467 703754999 762571901 426449887 757050759 278506893 476385717 346099997 533091629 862791665 871865427 428400979 564675 780674213 395943595 765974011 393776567 839194453 435885689 728822837 137440597 657285075 791351267 263943621 920617435 637044509 303813241 670862365 121642087 679245397 715764779 302755155 784902405 923033029 934939737 49346343 245737891 954620897 324371657 711795711 13670171 89923141 670982313 451709419 20997681 640517813 86355851 781573027 753123979 605979161 923695727 520410501 130226621 432638855 335272119 773769881 221399613 35828025 800202037 666690957 575587439 30578579 213398811 345609659 107162013 652150815 189974277 296613407 682007285 59220113 942822397 73979491 584026769 287891397 503805549 539626965 665690741 380425919 667193129 243297387 243006855 425820583 580807281 930111431 87210139 764665043 673924841 493873199 260949351 60663741 777448095 360334737 791478671 286685193 34682887 176837253 367484827 901251203 933658881 4084555 222573053 969006107 475171279 426702539 614792207 21883633 943817759 611099537 143315727 793857859 95085063 184486103 33346345 871147137 287401731 863410557 854215279 33707067 171891451 546444551 163775447 268014893 703074617 757425831 405080133 382507579 331006325 797528115 530270593 208766321 903267529 671856937 305207613 225021185 205450431 540222901 734674449 179063365 959238207 188986273 620115071 849931971 241115297 403528037 762473969 808003365 580615843 295883555 723606457 485482045 402297705 797500833 206050317 103770119 646694273 376859983 208414481 743782569 801170911 791765313 742113741 258683755 602808033 218840123 524585267 224409535 169770317 92548001 692193563 87652421 828306255 747689601 342026055 459748797 632328059 74893975 565044833 458026515 124629971 858420541 713553145 64166233 501601975 732623999 507132553 120235213 162422263 355911689 895579251 643030991 102666185 826809395 375398655 17570029 912839 984689405 475874399 277054681 553904121 939557135 140326827 744466799 459492299 441962677 86768101 851962545 702716181 761546985 384374007 725883339 468542735 261543499 574034609 732635665 587648867 708739615 380314061 937053179 918230301 669828439 825751789 38802481 676022703 51741577 641628567 119515259 27772411 132415987 384434497 778821325 744958789 888930943 800742465 289837123 166963257 88775869 357382361 138146847 242153963 926558431 678887987 737589455 426968283 112951497 128482143 85631201 237087725 800617217 924926551 881199125 634711919 516231095 129982203 764733517 56671255 139381183 410849815 843488403 878910975 432174493 946395739 615880733 99860911 76953203 835366751 159829315 481312019 193485077 720727205 470220425 41500289 626718455 986632853 110706587 707130805 330675003 456640387 963460173 531637463 630533031 586196647 388091801 307383665 332863401 711307041 536610979 61159803 314027353 306461437 459118007 445842513 374662775 99948585 861609797 575799223 253696361 252864385 268591339 493869275 319788097 380957125 312351853 117360469 214297011 20702879 822274229 590186015 340560415 547746207 209766613 866004639 944522893 308048189 29678345 585641889 203080621 884237279 880220597 447587935 423502549 946755273 783706213 538506097 961821957 23817009 657259209 408332253 419258339 600780075 941540801 116662291 700689599 931983549 241659467 728978151 668790671 512146639 407591575 86760085 49232885 435188271 637171445 124928453 865048119 472896667 596745953 444293249 784995397 114549681 961553921 730035007 774974643 789328381 597650203 254431711 371894211 450280941 169174823 633376931 401521757 78557917 127837759 899169593 664809743 438660619 909466789 826280889 969958671 659108773 299704771 910844827 372080447 436607927 277335857 709244617 394945827 393101631 557272997 172647055 413580269 776266523 872269831 242147489 910526837 419050261 61638239 544076315 761285943 874532065 361899233 643573895 149490011 113078547 261269735 508200143 217223089 537821233 641044983 879639623 219574449 256284577 317399227 213220783 27585659 10160823 983850503 504709677 939454931 133269417 347848661 915265611 74115371 635375259 881130055 641805055 730415511 455740053 582187691 508574375 28154331 375403145 934304883 841943561 220668251 450590289 15344699 941775697 589284135 991905707 186873029 72729877 223569655 114822981 15849981 465861459 431960617 315192235 573844983 167499885 352786629 220738649 462009837 681257525 751324793 733337777 808951619 851191003 879663005 172633341 649182339 193144833 824265779 785559913 831486049 877676971 708635869 292054805 125012153 850229059 875818479 999105789 763458957 314285731 506219101 494279949 692246027 746127107 445276873 115813143 360349057 892965389 557791863 874935761 863403121 487013069 141614681 721954271 149262199 513256631 251254791 261579465 861078629 348246697 699409085 912019969 272157481 448647657 285098083 944886751 308687585 882641187 126681225 975951525 183652049 174538605 88104295 168808317 698164065 250267459 337515741 285223289 152309543 671003021 333096815 62535823 721295837 593568405 926894413 159063203 744864103 13132049 600803153 772970109 511158481 262149921 201857529 819049165 930046797 918916423 770732651 278873905 830538549 465319283 212019063 228431653 647066893 172356599 64357523 461096213 525645955 127498897 942638305 697236817 130739559 605581161 773989415 355029267 655919287 208262155 203278803 899757437 528550291 674268267 393532415 800483479 375626823 339209191 975467623 634715217 752185161 860033603 216405365 937725319 655717939 896949423 916841269 575799545 342838469 689707711 961396835 98561617 278353391 374333807 884958041 640227103 505834689 158062117 168158499 741636061 33788281 435551151 775110253 773798125 77038711 356844865 236060815 422250903 357103945 355437947 806801545 104918795 709146017 629379935 554469889 244220773 539319899 771236187 484820039 789372069 237033593 538084421 132288339 517538229 308416037 58522203 154439365 620048741 712809399 248581183 916622049 489885039 722525863 145598467 194683799 577928565 593934999 717176855 574529921 102952445 814455893 877113949 544482013 180914045 772116691 420950295 309081745 773622603 450973229 349565941 752912685 416405673 166811813 765400329 748604903 518512575 616170919 533068243 501776289 982203041 840942279 930522679 419742177 637953607 645617853 776233347 804984789 270920081 374175857 436108139 625942871 577743947 715768299 274106639 596431331 524250659 297373535 924147695 397241249 187409845 967183401 382548733 914195043 211982721 597710797 209477005 782710429 540183791 549388019 159728221 283051121 376997203 228314737 658830479 849297571 664214757 577288769 802636979 911081381 38188485 996099717 395303359 584887949 223339263 466845837 339440141 16157723 922225025 180210119 3665511 611036599 905218855 74978001 614349045 252694125 739603889 327942767 446533199 908353015 36302791 832108169 793274483 788535731 490163709 860730165 525179845 373148585 119394761 819885997 946355217 963567497 285882513 124540245 269279631 558776743 281474713 326282935 673522139 54221319 232126485 347866249 738220795 527140685 702355999 31553699 274615387 919159241 173975991 576179467 425124815 95746673 28129989 311183081 696913049 512478695 168482077 927288723 768534617 356688753 266881397 344669061 957408287 975214589 224019569 313919839 459451743 61116197 729547675 733519597 351908601 232470053 329383521 187954213 813000751 659441893 18987293 710541855 211909551 671919863 793150483 673798177 573415055 771599503 562614889 800106133 483040075 493957007 549300529 438339597 629492427 569083515 966166119 312187463 193317723 99416965 323979241 873720611 697327021 447190403 225683073 513029551 791013347 515566325 860777697 577982747 915121793 227835649 767646371 900959687 295257969 125099639 317906245 845380659 693436685 213237967 602616627 601381387 171139343 428769577 437442239 571060513 457688989 984932169 301101855 12112499 970949701 215549599 438233975 258499873 958349563 419383109 769376719 243314553 276054813 414461687 752398361 914881005 898005105 801373727 364026157 513657881 398725155 948628683 877218255 29263295 149702601 388947891 967451557 711330763 977908319 997351221 806515777 9012047 790314317 618717783 613088285 523433097 64201565 16007627 38809499 83104219 342605765 219725545 353988099 669313231 804790053 948815533 52347527 124321561 745682047 499096769 563725631 660351381 431176259 205061233 667327535 438115653 741492547 681711031 713632317 295148629 225412543 647053875 950763067 745984281 78690395 666893865 440866275 694338827 966354211 943502731 878748375 995053005 213726863 447642863 919957407 152735791 978212475 541361813 529072811 779735327 707930925 869405027 661747545 328259259 502845009 143422441 905159397 49878341 221963259 500587871 920534395 27276331 111010733 250560163 440737067 165228795 303382343 864216893 814025455 651785335 639043097 234688093 219407273 488795003 445358039 682768345 106714399 736784921 662291361 359379759 63955719 4067967 165166329 982437001 511239671 342531083 764951245 2443701 748602993 917944385 951402099 994178345 387809759 140441033 704112809 360607495 264873873 324786041 505843857 914156053 471196609 323997517 154549949 492578497 521159313 936872805 451607071 760956963 295386375 962254093 958235413 258149627 40536601 636109243 461077091 31929521 111969693 548593671 24610873 645628499 339420501 373774007 334996777 511374231 717527019 813344693 969164083 233277917 601401327 476908819 59740347 55221037 832984795 177218573 212452239 297247031 110882831 236360711 993321955 726711889 210963927 473981325 116404055 962755195 546957921 581478737 121228779 193500251 899313865 704049453 886064913 215631937 794941967 914960167 788512925 575142181 539142171 499875433 500306381 86622117 244334273 522095685 623822915 981003017 343678649 768339257 834367249 16241217 902789797 588744677 598404007 941379299 585069579 507335191 315538663 734028845 673036383 462210497 212371475 118941193 652419067 262120959 423716313 175492101 880072991 797707793 692808529 502944343 797734131 189379687 123133685 554215649 184350859 317631891 84526507 668599337 90470367 433445199 390083007 349002333 778478799 595589501 448538601 415514197 27483687 884533035 185922117 717285521 554812565 226286475 752961881 944244281 873569717 694702841 266119441 128703001 927574277 696828407 791552451 151563179 163982579 323682865 213262635 309546511 82102221 15018363 865569647 456548105 746262731 999227087 400756253 466006539 903723281 229451087 999578411 325015339 460842153 41972555 449679347 928842281 822253441 136758577 452410429 873385835 246233203 623494303 367545653 796293889 93091395 747448663 295481971 697190307 814696599 617169989 234823407 384891311 151587587 75938941 204415507 73323053 800799231 741775417 916981929 712852427 889491435 900304861 147559401 893374435 990037009 93714675 822988911 87120241 921312675 701856561 519618369 96861215 533833401 403373423 140174537 347270971 802991447 893468337 18911713 248583867 821704291 113624357 508259523 552568897 14290609 519311131 589288469 498009619 251299319 698201103 661528549 428827679 171999193 414407589 187734183 801131773 187171039 261968039 916705849 475647213 274197371 941620747 654396641 525212375 629856007 16420841 578485323 668270407 679780545 531253895 736162957 989021047 422012629 968918861 853372709 213550151 159551317 658855377 927181301 104516923 334032183 964967631 976254031 842028933 409951583 153430311 706440675 235056891 252644757 279221989 49969619 86583579 419433867 13385791 235942305 267371023 33618905 320543887 610481213 340286887 660328195 178670933 527180537 459843157 300017775 835692353 73586837 140575293 341322607 918992163 138765365 824752677 133611581 458740985 796135015 217540733 655487739 980867811 951975455 967991897 317835953 208595503 658533819 743159933 372204625 483551311 343496191 564256331 932278195 767530973 362786075 41768663 302111385 175130015 412360099 520413655 163176365 634877823 687596435 866320039 256687999 233761169 938307923 263596371 598992779 737491725 276495533 372616071 831875373 801110875 351661015 430007707 197359283 96367363 848939121 821974415 997622861 975041209 403973757 237879307 986360595 150344791 149117801 493445467 170799111 884201443 19626763 353265273 266462483 362494599 348240545 705798149 313519623 731938199 389418447 720481603 698400157 229537165 234341281 384663845 626057847 698177291 373237647 595440449 173226525 601292769 39164533 257938645 866375167 819013629 873972631 903338443 561512569 479957629 978518949 320577969 74193867 243030691 990304179 282465471 68492063 642143451 110746173 763700947 400261509 165193145 511121961 394747509 45459703 862723831 409824709 186882517 553270615 433293945 467946437 435761607 113757035 659183945 699582023 724842189 569869289 620979867 377922001 79273999 844532327 404806859 813190223 701312091 734239335 962827869 763684887 611832103 573985361 838197497 401485543 268336533 801556089 502828661 357262563 556964203 817905175 817126859 793987479 425990679 690807373 673118751 575195387 877142449 730180897 800690107 535340649 850293753 997992585 385844501 737778091 10886485 993778521 645664197 114997737 354570711 327360599 781809551 335725243 329707059 752782635 250684257 648970527 609095369 537761125 433128011 542123641 645830305 140576639 792368777 91182999 337145963 763724761 918476415 754105773 831208317 845292477 85238201 367139161 126038229 122452063 979470313 883989921 546294815 957841363 437066729 364516081 421616805 508410399 722040511 220472351 548269663 409863723 259489939 129980263 50328815 583075013 825539003 487650159 556990107 582898091 550323635 998617159 543548755 208220795 282463771 110294111 354447787 509348289 610732481 592895385 144873445 423388651 367310231 43088439 954416873 402667605 429491127 987474919 903174469 820229181 534295143 701052095 160995887 94882257 866042129 450812477 756764297 22171933 510419783 781250117 871598551 176112415 802496455 955319331 228721995 935877813 776798577 434331023 48981181 349173675 716855379 790120869 558281641 223487919 644818591 448582123 318959671 721263963 423358385 415534923 838352951 217147699 395090699 680867615 748389409 693787293 190339929 575405601 289238037 690442989 565253485 452255607 336170711 18325593 432152901 75769775 178361559 137605893 664796417 779947967 680236847 663859705 584258033 805801473 504378525 785869353 434864003 831044925 454828679 74413929 600820307 429712287 647489533 606214525 501291817 753480125 796136631 275980049 421464043 714530195 651198483 411084465 482483885 849130889 798573079 639429595 983683757 485792617 981854839 530253805 983053645 183836523 248994693 384005425 177538839 739598635 288034117 728650201 741284031 65747117 775448153 673641213 17517601 1234273 284847381 607807391 856634689 484961049 672253037 697098665 624368967 854354709 660922115 121606893 444566921 567358201 818653211 651335713 223384705 155879891 883986087 206979561 625951443 891029271 159833151 206578637 644363849 763482531 704267805 649504575 942257881 375307453 897633839 377835159 127827355 118219025 345236991 850714137 606009299 163198389 815112135 605843179 822060527 766491941 291477861 804524575 393277567 545678919 36271971 108997551 597807423 651049835 176600043 85706109 49333267 957207361 331449305 746077777 30374405 785246187 61269931 382333661 766490699 905908715 557115015 494733497 213356349 263780143 66083645 610114407 603837793 640057357 339690307 878054225 758973535 424747587 92031931 353542343 273747983 733657077 718668395 960574211 825552743 509803697 449209537 729365799 490576269 684076649 796259543 998117691 887415501 289226879 313651817 402791727 787029913 489758391 266746849 84086753 570425739 982384189 722371915 551889933 786633321 271719077 24638307 321926493 206433053 667478769 915902083 3801447 535815353 977925249 481317815 762166431 307420025 525791781 864054699 985388391 587915715 99045649 440705463 700586763 346056479 286368739 294575323 183485115 974446399 753111969 639972541 43564175 317616387 821360313 332239533 852974217 181569899 408902653 461146275 482988945 346092707 984356779 353912893 375810171 75561213 241406059 303488965 414528255 364487159 336765511 352483621 914399423 75971891 572596151 813075193 66592833 716906873 868395671 99400063 330138107 83971523 946785579 78274461 510446915 983043109 733338915 817825763 265349979 139223271 569525393 778805639 438809195 722570099 664993525 262379883 728833159 697495389 287713331 200013077 686770855 71263071 686042521 501034419 938302381 615957085 858656987 816494879 986839391 362179681 127747863 478368469 225114993 947468703 884585939 867452669 97277053 912997747 338335739 22401897 874535171 882986335 37378789 543189645 533445741 48113679 759548237 106086539 614070281 187762775 111256155 977405991 767179797 692950577 602631321 321800147 472503473 493327809 160316669 85596325 373594339 46610001 947976167 479688029 976804255 770192213 564715033 442960225 162770623 708593003 909212611 473204675 295247875 130787153 594597239 903831095 643707923 177213685 597368117 184656925 776994691 782352491 761458015 422381949 14989771 47043309 139926471 703106567 882961483 836968927 850509983 768999439 599287629 538770893 147849605 701511065 410828547 241651559 686971519 456055625 698891399 223102093 280935671 327151471 228934873 744807741 182711495 889817857 952772065 889293479 763545385 387723425 676723 465362971 991893957 113089941 369609285 943601173 328649637 642394827 976819963 494589753 908632127 876741085 194193183 393145683 381090929 776236039 109807135 945074771 925580161 589908785 751507029 650027353 36106267 530801389 510580741 493020069 410946391 879232367 546941013 732540321 602494893 331808409 549854809 903628771 695532551 663979759 354567175 814432807 303634607 496829091 349321539 134416461 611099229 211613323 323303125 950346083 608321837 422417191 594710895 926539931 545809315 425683357 595785899 62172751 26129327 760932541 764765191 9554181 681566627 255723519 217611759 569487975 642853183 532469889 423086773 295756359 675615399 497874443 55583631 963226019 748174185 545791501 167901089 422199709 776930169 268250269 173360371 438871677 828979767 608491385 414601079 765788347 946160483 938068235 279482887 45345265 124703279 272966497 813448545 375127009 335423535 354288947 89048369 187638647 868734561 944336093 363892487 747829703 327045671 600317803 845231455 36836617 120221265 842587529 755321493 516671397 888573461 313322129 73007095 208536867 851511311 514309503 38773941 442716983 904084291 773550587 656743657 821336765 410338335 897897815 193098385 498639031 158127483 300728711 671634073 677226833 27138447 301069869 799243217 750657247 180083973 183192973 290479091 4284123 536039913 355712409 454219937 632516841 667988655 264421095 295907939 677349331 26527029 845493687 63991211 180120717 761444287 652205807 30806481 329967411 139766781 765963551 208761879 86580233 827206147 217749887 468555943 661014647 979658573 266426093 45636497 447023635 970714051 479121137 897552847 847073687 778260655 849795259 333760579 845593575 618701767 372240417 262238901 576987405 217952297 986001057 640207061 30899519 538565467 638170725 960622911 280652245 557785163 281597243 255372915 405453395 784040523 301528985 187837915 302041447 307251225 864594337 319000775 858539489 794474205 221311001 399419249 439663037 757415715 509233519 60206075 562161951 778743261 735822011 352973677 311869267 12524909 189851325 415701687 848217545 517713047 852970205 600173493 998223137 865526661 784720935 460520999 281306137 34736337 11866199 120954551 544582305 613742709 318832327 961858549 882645705 857135831 12829057 1090907 928247759 780316613 798048821 623771209 864949523 864688499 938308409 690144011 382374177 385434495 86516365 901318095 676890799 249574383 702575831 185401265 51492247 556973103 879412327 633082289 139664857 682522645 795921973 224083897 819398821 371956957 245587167 740666775 618879309 847567919 155024301 296207369 333717577 143256853 891601807 571945391 386421825 395497223 181363739 971326991 354047227 155966687 41353871 639766687 448160879 706471399 352736469 547371443 959255991 767166663 833987195 780346257 538649109 35021975 727600567 936025441 946934773 133481429 831778923 776506417 608124393 860484965 934570781 122476543 787961775 268722069 480095739 185575593 320096553 945007897 148109277 229704443 489928545 705594895 879142723 396018083 724795787 898090749 515845461 425360957 770656769 630697421 487550687 354007625 957621067 430109913 234299227 691493935 162254095 717695451 735460841 249475651 735874849 836476155 233746509 319474619 987969663 200063939 958044665 648924091 946126411 585464361 731378947 790292557 212051151 174189453 408435499 638144351 15924351 54822321 496004823 219085 519015159 556725187 952578583 26728021 719277049 381461849 424755107 656809637 306559603 921092465 128422873 300140617 623002997 377186671 87723457 982989759 531552059 656869919 897277449 989529957 442543143 751033017 575193099 446979205 523774921 64517593 271623363 868417105 799647695 924689539 996980699 349049571 423139607 701946151 91202209 660617273 448684709 323959447 614837003 274205503 264321697 55770899 763783355 864708807 309101921 564398913 194543095 602761351 682091103 629053227 677484717 508589091 449116991 121520967 551729525 131317795 347767501 12436851 472301199 382546681 610690041 994077173 375488227 427800575 532190945 12405881 306393341 771371123 366276041 711035669 27181079 917064321 783895579 428910917 297877775 786475067 194024809 575143665 820981615 807342231 434901615 314730851 629610595 726840953 701744145 225570899 255482817 8224169 831733851 508886749 452516109 151550937 581529471 976581253 369581163 597362081 145137879 435256377 39337387 928793477 856225769 278600529 365184325 734950123 14066013 160550535 642273623 169514277 779354123 309748993 955799721 481636973 458837481 412702027 465442219 117447397 483601695 473235037 947540337 764831125 316382963 630918291 641220799 491503471 568325341 935208115 902707447 13208651 536961911 895178985 600669485 909397483 839010179 222839243 514765591 699597049 275575533 735364949 189255697 30972935 680468935 368815085 861894695 11320459 976758607 209182049 871118085 72967655 750053605 200248807 649952003 247918183 148864279 724521753 971713569 214762555 566406807 597380351 832299783 163547259 527855937 451914503 337348097 766428201 591069975 305357059 466046985 96227631 937206597 687887923 619095487 906933597 329737501 111529529 551011943 831529837 105152285 122452519 477563123 966962177 291482599 302589807 393392375 579809441 252719429 363727087 570796983 799275709 13056811 429821419 152733463 67927729 487827125 468605715 724213415 185195709 986588965 498282361 207034527 383647243 686866151 775239069 63159005 330862507 746337935 50507365 867704809 710446999 493240791 639852059 673030129 750066097 925360803 45768053 216901583 737676479 459837949 924977809 135512575 381914999 951716123 203958773 533921707 817515887 668786773 509005197 980977569 300038697 936330287 640182191 854407511 605109261 828896341 732873241 820797935 631393647 660679323 151465709 901668653 157285255 295951867 29358013 663025797 793447287 610879897 943406201 449036809 529618245 501637569 526030467 250510715 94713063 10292963 197338013 485996865 472092467 557728413 705887991 322563949 172287211 949989555 434878499 996428467 5275575 775079437 956789281 765591411 500267307 862993857 27106389 332022965 477800895 160714251 768870285 654640937 292960211 712437067 766599933 5861413 93510835 261454093 108922691 837975207 429987213 369196807 743962981 585481817 638602877 237169169 508516303 158232201 964839297 526829361 462314837 485969711 274150279 39449745 768760889 366861289 802164573 860452995 507925275 869771519 529967803 709909635 618769419 485322847 4150087 120290359 469812607 462101155 542587781 453297765 731698513 93279239 237925353 212090885 962379721 362460533 901738445 631648561 48926869 50231163 670520945 356168745 799207879 881064783 963082749 952582237 109708511 551168467 660277893 153456991 136819135 913621131 561343231 18186727 869205945 408303273 386971727 867757789 812145791 950231043 665247295 296358983 529634095 905671193 97735293 645724253 516011853 334829843 740248995 856119417 933697481 112993981 580123701 216611869 621086711 259910545 818192281 115558901 613897875 960936877 365561635 411270357 378031299 201549787 215139593 867729589 861887765 129310853 567977327 460980669 713500285 990272199 269021023 524264245 284473689 961749343 608691655 207923857 882977391 574895539 337463425 551937645 85689837 743720147 25827665 940316043 871146085 538788983 526870749 291113943 733465557 16019965 226081207 553379173 621239973 164126571 554371931 351213935 60512927 193096821 17730343 203549015 43665403 801069421 472441189 37606317 200648277 629552725 90897479 329159455 26045873 806888917 588867813 675444619 618043773 728996923 580766275 779525363 884261265 929456253 531800647 542163587 30763303 64758077 351859395 640703375 222685157 400110527 411717745 18621585 551468761 580843253 261708787 629931565 631679351 196365429 728434897 583587887 582078109 940293503 675373693 359054983 950778257 730428923 812322639 486269011 207727869 875965301 444836235 159956183 314388987 57881639 286939223 582105723 545130247 152083951 766322373 747846101 188682499 17720149 111165647 193648287 701186623 715862153 937658455 878302909 512298353 899091041 694962725 559182139 296854707 339893085 504377067 149695817 336320141 550079651 283198017 914680647 745362669 310861059 512594857 761669555 518110245 708185075 179990413 149571133 433812469 712312981 861533757 985086133 486110337 849022639 428898035 444105239 130171221 201708975 997902033 283641737 845866089 398275503 859510751 61677905 756542233 125969003 682558991 771490791 455405355 166257741 229014073 597206755 20307913 208709473 817196831 687660043 903259789 723230307 970383467 342772809 778039409 67888557 649458605 649912495 756049627 205168715 685841247 522638203 151322265 936335593 224959457 401982733 586898657 919548639 969537663 670751987 710471757 16489261 358017129 374877407 33220069 247410041 891246007 246998443 313246229 909871891 351257707 197040221 922604467 829902835 672580973 342832415 806965501 341205431 266286481 371646533 654397077 95919785 236105359 937432391 510754957 382011571 154571785 131071949 940548951 44942449 927214215 67860639 33123023 455979041 630039673 918234289 606710591 90421415 909828923 249255455 548575311 924238487 260393485 503615275 351944729 457475367 701483799 607424321 660332055 93173045 243896429 388618739 65061423 997820489 741528839 640759807 676378543 839145361 451503559 857248327 493709387 893388517 598922355 830362325 940534561 904889799 634056897 229656541 995357623 640340057 618171717 241587899 156351737 284883567 472164485 948371697 842714173 704478333 656323049 485648173 803441215 786696869 564950721 354140733 641533989 453665195 699282245 440903201 881215615 994603521 332123035 315776763 430116925 839048381 680755911 500138519 936466369 286511263 168325565 893649125 689722829 985021709 894079575 637138435 6537359 881870617 260516437 869467187 101552287 675584631 827928671 210715491 41102325 532808327 384476425 907143075 930594043 279974737 806791115 619288111 330640253 846956675 311106053 545810027 161899439 952133239 478780929 347590369 58936111 776784171 547446259 173084231 1648641 481534277 126042863 447190645 590630293 827070741 785233403 302276465 943347647 929073553 930169085 255387235 432162235 215496027 993693641 494097569 250754863 95934905 149802261 105298085 165244201 5288857 382656903 251165461 306684703 687995539 692308643 68023 769142251 649227241 890397661 855843459 594397397 411357565 855051661 425239185 225271433 477318371 207149559 811104551 739283485 725111887 959158337 542806191 131382287 328213923 171582847 190052283 539345729 952101731 565181351 911412231 168518661 813626305 547291805 707085177 335097101 929046419 386075435 996759319 282353269 735137625 832461311 728433177 29978823 467764281 299805875 295763673 683992043 340962563 566252233 669826009 740128315 862194991 373925037 514498755 176551793 17372123 211090603 113501039 89365427 9083087 892243967 936231635 869538447 89938299 715549131 440699927 969982457 30573045 104015383 925713283 210684239 41334267 236259029 580520331 602675287 441145847 559225567 482208203 310442045 28720119 225618675 571855877 75052183 553639091 234904765 149287717 729267297 700699271 788328911 484527165 767465731 574184063 552811679 273974667 460639047 128823623 572535697 375785327 555506789 224519737 349147117 460209529 25653495 916897361 891627235 128664407 514580485 754595127 687544465 204087783 422066685 660670525 582587635 771625003 454856625 216707927 857051893 633279055 952424289 499710503 549476711 769425575 149707185 944007409 543108099 955125933 511123631 483925927 239390315 704258051 323826383 395945183 718434599 904609143 786199535 631747801 735248553 322464765 798615635 640638075 65526345 714449325 121723307 308514901 841421129 455900875 441038347 208399775 424674771 606845635 270310127 366663991 590114807 152811817 418968125 728534693 435930799 704273591 393534275 208616217 943785181 42095185 675582903 757050983 832790601 770682371 883886259 325240851 972641955 897391101 345212351 337279041 726843015 357814173 329569223 500212417 883256951 131409511 537109025 2663945 527055831 154301187 176455051 9322043 311487485 226989639 794161449 262573085 359609633 342995503 27485063 487777821 326788965 708770523 595429277 311214931 713296849 815752599 561811911 512443007 148938581 711056857 923857609 783251721 39940045 647970873 828774611 555559933 710045433 630392701 649578615 230461207 453599619 934279565 144262581 917604273 801308667 637016705 304126707 942774229 920612827 98467215 856703993 600090931 793681027 485158941 654126851 368238625 58895423 205946039 948137385 233683103 488130365 974587919 202864115 545591635 493569177 845324287 225107789 907946637 855347539 477141645 928877965 101352261 606823253 995564771 774397935 396802585 918094447 150898771 367477275 497488465 244882777 643597147 221964571 649233629 363434681 922211483 822973541 30356305 533117971 34929121 475579097 170964721 123514077 261058335 428014521 723107745 638089067 543282543 82139061 280265457 6015491 130662935 190290911 897925399 30713293 288296833 275152055 385126389 383646169 601129025 656870689 113788431 229167135 538189327 580374379 444826009 6593669 907827411 325270601 815049061 592547791 809507221 414493657 128016885 601746097 466611593 61505183 245743727 321114309 888880395 31456395 559212965 313574795 874869405 835330033 746847499 871917931 611469291 619218573 728276931 906546873 529753801 90159237 97187729 760098475 77158961 934658921 536130023 797254247 697131333 583305513 101002459 494263793 176582739 74224933 295562283 477275453 97294287 214443811 637344323 759596325 157115729 107939409 967300909 258151527 740671645 450412609 620111267 158501041 853887647 466023923 645053955 185153423 605367403 453300937 259874133 778743679 931765307 245257109 311139399 8695007 508584051 536236425 842186291 362298617 576572573 163232065 811821077 488560895 422097007 352957895 764245911 275916043 490092225 811773317 409598983 786897691 43342999 620669775 400434523 951372317 759672349 238051173 150785845 710518493 639966631 20608619 608779737 548772631 941474993 298909295 890461499 406064237 543096539 880536037 34013165 445479785 605489905 761478317 666802737 25974393 157802985 391154953 549841133 708614903 465330651 570252455 326946483 890482725 768016139 599150493 239233207 571383343 309922535 140811623 567238105 808546593 907416831 179786221 294509987 160311799 479809551 629346937 187243327 653546387 753097469 505367747 115881609 256190397 75414479 103562213 785579775 152249895 53182653 897674599 1567431 528426859 711394591 930574391 679056817 19029511 335118971 938636199 223118389 813135207 739503483 251219063 672432753 34975963 737303281 271210955 320502061 357921437 377876187 228874289 60488409 534746831 970101081 744192669 99571849 825197689 484140985 326935405 271229697 424099981 415061357 937364327 24887715 320424675 917280527 325029559 690162563 219301695 716511077 610074097 872574549 41294405 829219417 89219351 391663995 727016077 486596605 81302153 710099707 305658763 634003343 736643607 184837763 81460387 781341295 900524023 609037931 731959835 719810859 496393155 725217459 882538537 159818869 469751171 213170179 709019619 989776425 29699235 572684967 443073099 170793545 218301179 248648089 613508427 559849985 62003139 558340471 96718003 600809125 795395237 485959051 444293949 592455855 360232109 634153151 773855115 231323841 127745357 389630127 588412709 30117033 92857191 363807897 982063995 761572955 560731711 359170147 160682219 648886509 530742911 71034269 380928945 89197993 416951105 859565695 228006135 715859701 277882111 141595879 604868049 67140967 299190943 258351965 175920183 724485817 94930543 2582543 338741259 406773965 437232933 119816151 592046613 894754483 938450139 359536433 473415429 692656025 668339225 925222727 877928567 289603549 95893707 496815847 83059179 711582721 674061639 197689223 975611851 458981299 841645897 991180873 452373095 386145475 949634809 234697969 553350903 879350317 485651937 773897457 639105697 37885205 156058105 18932321 887063403 844881861 793732253 622871293 952816453 401924787 267511697 565887789 342606091 514068855 426406915 270505217 950953341 941308373 931002763 349660465 546640451 703854267 356014371 233779741 994205425 611797305 109575217 206769865 261203455 891518347 193908097 357318119 373852109 302300181 6525005 458834637 456103335 647108707 602463021 197023865 312690363 785362981 943939367 296531093 341547301 475712571 60736683 309480047 729982693 542714787 963156621 839754751 45802723 219165325 649035529 466244323 514323955 957394249 786975431 409595235 436963789 124262229 813058001 85949293 987536401 908727377 23027357 491196827 945694537 982251787 202429707 60699177 731982823 945357939 869089629 907515393 976273221 509942441 998133057 18037169 881034403 484441069 511288527 430170735 735695401 23487915 604262783 44344093 714934251 243565429 830921531 179937087 655082719 587233289 133672783 420424199 957028843 690926663 872945517 350707531 425425107 709775421 5262519 349062283 848479051 8991261 85974193 770917871 281594349 337578819 508484167 544644419 150977847 267682609 263174861 166228737 453691541 378856081 319306499 24715591 452245849 12767291 208970767 365966047 292786107 817816103 886481531 797597235 696111579 868182647 531256637 670831711 672547011 65067129 880219827 818725921 385488229 309431199 271609763 847668447 505561497 468359813 989122105 655353257 7563555 128805869 331774731 146534453 375631529 723198917 343951383 81823717 809641661 569351707 823220159 913438399 766342875 770633263 292159445 257191027 547792481 591088483 673734281 197003093 352376729 935041089 445026173 849683815 568181941 404293501 803752115 771777873 604549837 690924787 473053595 696702305 786886373 978628263 290197511 555239565 609570019 136357313 430767927 564390263 848498329 604430743 840107215 887278435 599514307 678698659 160999389 857560899 111018493 44125577 279256021 194305197 913922005 975847955 75299733 179658465 507144635 443815477 152455267 906565063 226736137 899322637 206480619 960535787 799559421 455289817 48776771 615974535 824786883 62523143 623486695 58642041 624116075 573707563 804726719 86107977 905968623 640423425 514115349 42906919 982592305 798640489 505371039 129650409 698867193 267530351 69748093 23526157 566510329 283845705 830201137 353569981 306598857 442289999 496568489 890041031 670096875 141931015 228687933 722637987 792194505 953999897 295045541 815640943 727431091 504335707 290318603 675738867 598435557 874884297 2801147 730313373 334282875 485158275 89650281 17970823 276504195 761344983 348059059 920369261 497115885 82089013 19680157 263078071 146924177 6111805 419746647 30601591 918543409 50718127 690446965 311989089 932008311 995767157 847874035 55097047 546204659 361586855 92150583 833828573 343563807 197012347 758692111 885181477 984354397 259951193 983007407 944729095 874179571 896141511 945708727 114110847 713372183 578914941 194308649 956624949 494786783 410116181 169033075 376540025 413448781 400329553 947579243 186356547 907493707 668788125 121954893 532516657 192700073 705966987 498841281 89024395 59398689 900185241 115622611 639282241 903261523 312545895 735985909 825187305 852043467 74923459 792305417 876909761 29289719 345914783 58433361 987123635 441561395 265363991 590265725 164077389 403613887 720041837 203712415 425394887 350380485 214251789 645879095 463076095 771784277 131299467 446191657 591704957 788899175 806287521 248017859 656193903 458135009 105108529 608422841 994082477 992791431 269176649 655627051 721089209 102281231 797349917 26256281 59524533 972233743 150083077 633093621 85521269 778258439 836323973 418557331 559050349 945128293 618109001 171436849 597363903 987143031 508763173 486009329 510363951 149213815 94963219 541700195 809163311 26930821 70984247 874395517 274657493 357239979 909395419 591240089 564638177 130910685 187424371 541978495 93955257 23305711 381949595 686250845 393761903 281648807 108590871 223258565 918621365 806653101 852030927 38264503 277809393 763095695 137539801 21280407 119469861 586024395 33101679 414275377 926482689 442985919 141518069 446504637 239611615 82662583 946790903 735906519 50706621 97738465 481027877 137496453 812517697 670242647 277875293 386160691 787735225 711775517 575465891 245810357 601503777 110225433 440967199 268244045 433084437 788432927 378716457 397623451 351618013 810771431 148765495 526270639 919467623 597116945 885673199 17789437 490126667 130798631 612149789 377263461 563363787 889186203 712872113 686268457 726225353 478839495 321291211 364400375 402439897 145256937 357465769 508775141 809313583 711443501 914099643 747268207 322995371 978563237 425106321 434047613 1994711 255067975 504534505 19386203 847520991 185562103 57052835 286221243 6308507 714400639 112666317 966263231 29461387 5686925 196883865 167549931 59563221 311841467 520463713 325665321 39075657 756077453 138013355 102387411 525196383 676715369 871956769 212073379 305701173 589084321 844773013 306185919 849375635 769134705 285399045 678544309 937657065 742346231 172822673 716679289 405124941 743631677 755677319 78399081 400809597 771040821 265280601 881096011 77849827 849016247 444110755 595163723 672692365 20290181 153931815 124005119 122197553 463927881 605186257 102392419 971582513 749344917 681350835 139430877 633406355 267246047 461968395 481677373 776982277 332995723 511736635 855822515 764177377 296914401 118824397 755757537 827829027 857558291 499939189 292737225 372773491 773713977 541441295 918182875 712454435 845404501 544789917 799555561 147250983 39850833 233972043 135596851 69240865 624217853 778536045 768650845 794774101 13087253 595622525 519530355 402747317 719458357 123325727 755415277 106822359 953736683 272317725 387791015 563842555 329722279 918926187 237031655 877330439 414681793 847271973 953256793 401723275 284570235 456100751 744448529 232935359 952351999 808287505 690657425 950904193 728628829 89515073 892021433 560942169 235961743 795181529 105257433 198354295 176447863 633116861 813868965 564593327 157934045 988262135 783122749 204117381 772203635 538366141 654386723 704793629 211909073 42631527 876800325 213001799 165521529 78017657 294130169 500636281 860879317 752823969 652146429 596954837 299324725 280741039 962409331 518502945 49497299 708839071 107302381 598331595 21240015 675712149 972384093 565848555 7875125 16260573 21080607 542842433 63276019 460443111 252865789 260405045 876961253 548854609 874151457 454112211 895139275 566538463 205187615 691335637 582449743 731022459 253352695 414161051 178248705 232394295 790433037 557319721 272710747 594423631 226813999 806597169 322450621 508088105 14759057 968066825 121075059 78494283 193889745 824220849 12312749 283751277 966024693 272264143 91146625 608387175 671902825 729417907 749744885 544719167 126608131 169871445 197002993 308147999 683175169 516276563 297900357 201967449 285216261 183444725 453268139 357759083 129569057 983801387 851947459 950381813 245012933 303734921 66767897 78161605 665259219 296061267 393523995 882421709 644844429 122940525 774304037 529510697 552601249 875613541 128004725 183546395 509991719 394377335 233208377 16278799 935263129 574724479 229073279 124655767 208079069 193900803 966060095 414705265 804728127 331353911 380550239 114556541 697703287 463413997 425452195 953852873 157249953 509959335 382496191 356431239 863255619 728844683 813095757 797273619 705084745 586865771 369668301 161418223 770160905 292331195 900348071 217450695 767735615 419771291 960563503 156881519 173613585 377689301 145803165 570737633 948043021 810574293 899302673 631736385 932153385 542724787 644466581 286891481 466241215 919190829 722483995 218669341 953859223 483750829 230379133 807846825 250345181 15853123 753288315 115918143 437620009 648654241 507332797 747417805 951223923 939412523 766594261 946558305 271707685 502995687 18964287 939340091 547796233 728049797 499081817 548690621 126165591 265978971 739922285 458207603 257224875 47225703 968142765 237680397 400373003 338237779 722467123 857712745 691281377 401919341 251694077 734963337 888011271 442595755 853366009 379894683 189427127 940869039 393577203 206741487 849587607 227305405 912704937 765232385 418638773 313193417 169754297 420488309 918450309 120600165 587332269 3507477 755671013 962991571 563216887 423773143 844113435 390385913 1456623 10575571 876184275 61090409 697530329 845827663 602140707 335248215 967534043 499555763 816383881 139850915 990801927 716532375 555957479 123773399 918332759 970974129 130430351 752831005 607483053 323587047 214016305 423142225 455725009 740021061 8239855 511765233 182801013 72720379 298698315 797399331 48953139 737087849 773315125 283588023 934620297 187490063 821006335 155287845 409092067 8243607 516070505 323665291 695212177 173126617 609309847 971279281 861222095 480635851 908728087 652154885 257017529 158482835 24474333 673630625 540520285 203899005 332400711 111897921 684498859 139958267 992609817 257848911 547890043 618729129 141816963 506728409 168511633 971213127 60121113 99941269 696404883 104647621 322171607 918364389 702800659 734451253 415162149 101371343 582271115 445828559 754659021 365784577 849640285 905045499 114646533 148250579 692575185 933966657 562968173 212003141 106896407 384589397 305499143 700010751 291134283 119200019 193588289 38591821 189254767 9617277 707301617 508161833 728975207 662955199 856197461 80438065 754856459 200825387 3073297 990820527 219358991 171359807 716310321 9491085 142071061 861903773 854033197 297990247 166193065 811479567 378204129 740881275 641808955 976790921 723454097 5468591 518676771 419080999 810178029 12775571 984045731 879244331 217303817 330069087 804193763 822385409 886175841 847871217 855646713 365677629 111185115 554337489 808490201 158381465 126093509 452607533 416136805 743887097 989951699 560361951 756109673 543947623 183602979 562582115 935253139 527338519 321823803 368727267 287074175 185101157 639712775 192516653 126048685 300916181 389037277 194473399 180072839 445405967 406875771 150495907 351611229 200219369 359016709 647635637 554088553 170751069 805857287 318590303 598502347 702377615 382398841 515798713 813974927 112457161 654901429 646156927 715018659 527195777 979921285 598699289 619857635 946529871 625328401 904356503 90565135 350500089 409570545 934667697 384570063 405655399 868887075 547970759 739422391 312616111 918927883 413487837 321687615 170613003 882135927 578527397 199644615 539356385 285783963 471304565 817379995 576956855 566749461 524620875 675549673 887406917 438719723 669350609 432532429 825281635 472998793 624117845 933066823 647347735 641714117 446844111 314916927 279368841 204617179 875256797 732242057 802161169 36601457 372598727 118219997 253092389 209407895 420032123 702943451 671403115 984375229 586725011 415577869 285583791 435136197 600272459 854232039 817990371 61187825 111565453 565494973 499229729 758738927 146790887 172436693 849483695 808731093 458132367 46498901 731828983 342681121 806752871 660728657 48946571 876350647 798900211 863105729 90470441 69627107 332157285 4099461 442271153 593439325 336654995 79850855 276796465 501829185 203866365 126410265 558863835 149421077 542703819 328205877 525258251 107223235 337316297 703097913 829994051 690654629 980976241 456728467 206666543 520446837 762093793 887869327 169134497 480905561 771259873 649508459 477901207 52861407 892948449 752023109 14584627 483805179 809666039 146218535 638443967 169817613 502805219 450894595 675715759 939073239 480582155 682737329 401104543 48591495 707524223 367605493 750986321 851618739 544577013 569632885 296360881 999382615 2980815 280515013 612708563 563380955 399920659 956502619 559441137 564904201 106529905 923819931 916509549 745240857 268742973 938248141 414593237 161595559 658841209 915748643 194970589 973727159 459952845 398081717 287313501 467314617 496529543 624754055 481337433 61677695 48172189 370759551 968135421 919335241 955957681 594086511 120076189 341420475 446168327 298419475 171921075 813354211 519382929 850243081 451970275 659218997 498712805 780523739 468941815 394796687 825758787 54324473 707740645 778751799 917900179 162283713 232998853 777800409 79852129 186321519 50592987 8186507 220549863 293356335 296321941 199771849 970590979 53450769 108937347 837758585 630111549 869055249 447841 380617195 775577541 69076491 685737491 173456847 310329201 357678029 394657701 248044103 807519935 308915463 552993095 237798357 272043225 877454161 663701335 745048167 447827085 646012973 756953177 106597459 926807379 490656773 17868279 977967447 833278537 918734123 62040579 411866007 50279223 717686997 2729337 599850145 755913611 109228069 654461821 944415335 584315231 140939559 508572251 619466827 145437807 819234251 685280389 965045777 674264355 843317481 348602261 50118885 935299469 882108227 359962449 619780699 156310113 274745987 123997347 719354739 172603905 704334905 492823197 534729107 810200433 266751199 37019005 872778629 83176291 346238167 722663331 859153535 27619631 8374119 7166621 531199775 327979983 385621957 365614109 251430507 707198193 91389447 539806461 319897809 421636575 537549871 259023427 821646627 358688915 606991655 205719577 764165535 985195179 397936063 294003411 776987885 409650287 597200817 302391273 69741847 198899663 995480733 943508227 413465237 837520225 897728271 65318633 387083075 676097379 715793269 728471183 9988965 741719743 445894955 396935695 782055595 988120067 825743729 197342641 805817127 512252007 857484401 527859931 859009113 481270985 787084347 723421473 545438757 810534065 234656713 788942145 910774745 10214733 906181627 384672285 999637289 794755701 918076573 49528767 857334579 233340329 50282845 884858459 677785469 680747793 851920599 987480909 495768307 158009467 436662667 648665111 28300011 560285789 855277281 611679077 683312673 699990233 416993325 451020299 350457789 277362355 805666215 629460995 966750793 405917277 257258863 177580913 683488443 761584877 683865231 577503135 899140467 442079523 516756987 887333891 3361075 267644005 705692551 772885813 147383851 486769603 55211257 883083769 335193325 318911221 318213881 858783805 940708217 394162011 31601685 436232719 843227697 234027257 803653579 725600433 885583079 574590847 91018617 915575169 785588685 993064263 316330859 811832587 227362433 53823055 458099151 564598277 369890057 49936699 598819775 357614663 329343695 808159327 467399743 711387093 47979949 705163953 403611447 666443229 666439901 896879823 187588213 364826543 713146885 345636865 206014647 152887751 898948661 609278261 604955291 972511945 687536861 56335875 826633131 637067393 886786269 383321515 315166041 856530657 119223675 666631701 403312639 554007299 817330019 957901007 75696091 151966253 840601517 692165135 117000731 579943623 487456977 155974581 364930507 676034921 584351161 271624779 689296617 946563017 626373807 335973373 711673683 760224717 521633899 89452451 216689619 177567361 513721097 710290877 513794331 715944727 218834701 565789553 3775683 773733867 708482151 508513167 658399311 126961021 642758505 788486031 602486821 137657213 119966163 529233551 234119319 139219389 942361545 460148823 806101217 195053877 108628185 579642455 697339937 366810893 767165175 782155429 993088609 971563917 877234563 845054207 221914515 367421737 804006973 315937231 762365583 961869691 498473559 440527651 453837847 895958089 878847845 15294385 972717525 223467133 600285797 881230811 745629019 331116843 213487801 151597735 519951647 307294349 348475185 749582019 649048965 545619717 182320387 315012999 989525973 339267105 290495179 987644405 431489857 386810771 253607309 447162287 41875937 736178231 239929271 391941641 110775223 524953361 521006113 740670199 100575149 651513929 872776451 366495769 35268245 122124339 158781191 931630521 113722917 325232717 898736697 288321987 729436159 152582201 287771405 610445519 869554863 578015937 72441697 203954973 496597157 920897755 374662009 584780691 68710201 444702879 839423237 437001409 69969325 657813073 768238617 172258783 514534955 139568477 68009521 308197835 825187013 755531095 213760309 515650061 113485937 41407225 653440623 356399573 509415953 215652135 710782869 410794231 526019441 369549291 499971013 886827767 748948033 487620475 46975109 194914809 698213145 232747311 926685379 34042827 576068219 706838157 318495697 908050665 944210385 554241085 794224237 199460719 228924011 929763093 364731839 870688803 277390979 281327887 370495571 780818809 323246649 181103695 887823131 749267075 568741529 756123169 377174137 400022531 972704915 442771447 147382577 731098977 915780095 590985835 20818797 557241257 72107167 543772227 478068167 370907797 306089755 162752359 403445817 142742917 603417607 331982317 74551081 20970621 738544859 562785041 606556261 349959983 373198073 533743155 678034977 569740273 311763623 715600353 290910203 559505603 399941659 593431243 284748793 381982795 955014251 743905489 789371271 182961881 705822871 899473907 344172667 808572773 716386445 139351899 972293137 511614605 332077595 718206049 282459633 549735833 14095355 205274491 763355429 520679801 603135693 644304209 376495909 424887745 709377565 370776491 757039307 239142837 676865369 934031485 864926049 573775159 35944669 373885665 123286927 681831899 717237993 836779037 124342381 717031895 847677093 564917403 851632761 199105801 398398245 126331631 658570903 803705335 589187169 60721361 993330453 296242899 883641401 516189225 8888999 500022901 816697719 332148223 87019371 540451673 9020111 487859079 144550887 449474727 453057493 994577181 519494661 34843441 546960399 548187971 818568735 723032683 82457059 536245669 603084783 642234229 208193957 437736471 2610077 636264985 195406477 173675921 2821299 451941315 395079099 507222331 852470055 156347017 833256249 466160477 315993177 847523375 687317241 115421803 235400715 23626009 256274389 732221441 733743979 495673177 709148301 140264419 149714959 645583265 300932297 475413753 210026741 545808981 423534621 169074265 330580865 661018747 764751103 371332157 969747583 349761219 653934547 414153481 812078887 828261505 233964001 332603463 945868309 649087161 682468445 205322155 492053069 598285071 925905755 968389649 91778111 706341585 133018337 349982333 643672765 159436795 331048405 716300055 735701511 320036393 806069513 45038133 362109123 186005409 107864633 552822097 86484219 840415317 634671363 113958415 611494181 596742365 553270769 398725947 826089759 333110133 541917557 350955461 60987695 178985221 706828519 474127821 135257345 900237855 664909195 239633809 811060395 485689335 38781319 517471873 863833513 586177901 287184109 128806957 956572131 326546441 478142137 820967249 28309155 794473723 476383689 548926673 337263521 913695769 946392551 495945913 285697017 66100963 73764549 584003899 640921903 22370175 31267579 50570673 220367921 527260605 499280651 575413153 368971863 375838741 328937055 815637941 184947803 757873829 506699849 586728127 601680225 807795253 270165247 750484667 65125371 581393203 925226661 937695183 684285211 518233273 661935171 78265667 343708959 820918659 745028297 89411209 383851213 748773627 491109909 462129217 314375761 656912943 983276003 338555691 538392129 592387285 513840351 380128563 126850713 752896591 879131033 87236715 239470527 80597667 693149067 369995281 338876289 636799359 950690839 712134533 504776213 219154235 855293317 336081749 493493013 423894999 223977989 229768755 960896137 432472569 305875125 139482107 596360671 43634675 53746321 314804399 29724905 42643641 472915333 56866683 354540775 212610795 863024481 504048051 195080059 692887507 1184991 750804431 968355255 708307035 526682783 886276215 665764109 173084703 869354541 364221811 90006619 474189405 688017657 349781175 656149733 813682939 991643483 23272287 790365019 329827209 984573333 187683501 490838223 989965375 134965969 730928399 457555393 201676027 578874399 8678163 990689047 674907205 44057977 276345977 383860507 341462091 900111551 222157091 420311171 645871591 248855741 347169819 804554093 730448789 977927713 369498775 904079967 528630911 997732487 513244911 717926213 421835123 983361903 417175463 667674229 747369447 515127107 472872555 859363245 900837117 526804051 752548111 816026895 111560825 108512217 524423821 623924269 197864397 471385333 172730889 92049655 629371663 681549747 646649807 485358287 298635263 815371265 292309583 638561655 180843269 958646971 125162281 941874719 390472237 27366561 71784987 616960601 936976433 176943965 589904917 157910309 593175409 294858877 197500455 473982951 856359665 481118847 216081549 588627309 40665955 92236739 454765483 997176555 955671579 70688655 786780941 259491583 201567773 654636823 53356131 884505775 353072909 610040949 428778637 847310951 330258491 302290345 257099401 785479931 835933087 551971739 401306247 731626157 480415959 886823711 328824023 447959581 894667307 106659821 615475959 316127067 143072137 746149285 731432071 918993629 962078603 778689233 690517075 542303357 974689901 903157221 481894737 546195587 837370137 549261877 135908763 535800477 228932635 546805511 270201715 82075869 255917231 67992193 661385283 41693379 426932143 742052535 897166755 738141745 668668071 1252513 620339273 58228345 501023427 585860383 967056669 470980941 165149147 686678523 86917671 732298187 186522479 172154599 68371867 116407671 804901799 982606461 657576147 47056193 814638671 820964667 946003285 687562365 927336929 172139663 765173195 88310759 155104891 849039813 551107337 480508069 897991909 384063771 481539849 863310149 585484687 915399343 498686445 770519739 946767759 201937803 317320963 149148005 22380965 337491105 123490237 578339849 501202231 664496075 120666295 924408533 557993301 572323527 431717555 456342107 709334965 847207489 989382045 922070681 763030969 679122635 936588169 651432951 446415719 105497563 504567217 175553599 963954285 317968597 180845945 740475817 87470373 674173953 900508523 219088847 57887115 649608593 620951099 162046651 11064905 646857887 637639109 553092053 258062765 143142441 844729355 216834295 985151149 615460379 838804539 891114331 856617451 220486215 23181221 297720487 713109163 652379491 218322117 46079977 20852703 344520723 436902461 656392853 413359389 363799519 240349661 341517705 281990565 133916729 251966355 807063049 76423005 7417721 712159357 806168773 885649367 756943329 546624991 142966993 81234759 544572059 187856417 20841643 377939341 268591799 711227865 851342133 167949105 846391857 294747329 131080895 310558819 653690085 115499197 454100991 206797305 699423137 511540441 95477519 677673585 412409621 50742343 289741431 251105525 777712345 547972961 966724133 757077587 875080817 209001643 984076907 882527235 290601539 7802835 913378569 597516067 761793697 598296233 108186147 423078267 154769605 771844651 845716805 958111353 822999505 548833145 109978727 667427381 524527563 875842271 707351781 258797681 732265129 187782355 673824901 876611471 862414657 185177327 20964465 858961315 24518229 739809523 156229187 91906401 416354703 855988687 815750389 254205739 682790015 557082259 572921325 748018693 705409951 569265533 539103737 22520993 964247377 411213549 967875151 440358997 965982941 978843761 305551241 748449825 800399219 693899195 680918191 369420717 98126127 709681575 98044973 33153093 783497233 659810615 113709785 294698467 412385027 544938133 568438001 345636901 963086037 650722841 269927703 83103571 373397313 192808763 881420637 246047069 146624487 158166429 597489205 405913305 830467923 246652429 418334587 825784325 928669683 307744637 58833273 705362379 512239395 668762121 448617943 967648441 537898531 284992499 249312943 419079687 685742877 500804775 7414139 607640211 653805089 433186233 316231201 441886179 894641705 331351523 386584047 968280363 443254805 122101767 754641049 791717949 903249329 491110451 839518013 696802459 358949035 735529627 710700897 838593133 949689759 181106837 950938097 476163969 211727117 607721387 165530177 710210125 321541213 992279683 748780819 376095473 612006115 561199091 812000135 406052407 596565207 198596085 879808559 195106955 673112153 234066603 715994107 968477957 163496053 586425701 155534669 517163621 250434585 510604177 527608551 772887569 745783073 400572365 469350135 845767449 748087627 646974685 213861395 861910325 810495301 680073897 380810297 745788867 219549 586042695 504745421 378086605 80586699 373134833 221238941 543804413 897677619 168501259 721694429 454503855 623904287 607082527 931718699 786995679 273194173 933490403 214325899 932414775 289682473 568988719 902126957 317413381 151206241 737434121 118829733 517464897 720997459 663831961 491716463 163787145 712442571 646820405 819635057 833937443 299608967 547249753 641843129 870926851 262272293 685053093 330293693 271291067 276651311 201973989 338780759 231085965 685854487 849234703 631424207 305331297 777689399 878818875 528794065 915053765 90035661 924020143 915307635 344059631 378455047 744178645 739066163 855880383 305715953 590978879 143754995 680237759 704795785 258523563 460131845 666630427 983233197 572375289 39132443 986324651 911932455 11597879 478910033 934256621 729076649 370182293 204911153 410517517 208771275 974305395 479196323 983413205 66806545 658037841 953358337 204860095 765436129 88805851 49619973 409680361 53443215 637449443 544886997 291837211 380298577 609400423 622908927 515626949 900922955 180972935 641388407 689606651 444741509 625211025 563907739 352335745 82296561 802185207 983927089 341754555 645549415 826180437 308893285 789028793 663019435 212799597 864800717 778194225 640311651 132655659 996029541 33244549 847728673 476968353 957240725 512296379 560935007 216942861 286423591 179085441 764266623 867445457 56454995 568268591 772571593 456292471 758921139 76631239 99306863 577372083 882561103 617856235 600578441 691966817 489314197 627758831 286767641 188738691 427345495 354829511 809189897 555543877 417906901 618767891 914933803 896054267 621833651 80396573 78452277 903153695 157050623 104674769 574653387 106104147 15714605 581487303 121509237 148927079 431992345 976569405 304161187 920033865 578766349 574533919 727600561 471281431 823485107 35958263 508220129 530129683 843584033 975674879 463591767 253758379 810572243 128623637 644825387 838164591 558771631 20498369 354661201 194616347 299626243 740786737 351066795 934452627 633482117 433112383 567059717 593973985 857974351 970194025 904266767 509146169 933032681 432674259 407895137 576645369 566169663 296002385 229060221 880458911 283662759 858156377 522913229 84473817 832531423 449059849 328107425 844791165 988315147 799691303 722944563 675053953 319347383 966125607 813523875 823445003 292848347 120052507 557097725 467117669 916421843 211994053 640001841 765202949 309417827 693216653 251387927 705765251 938124987 480530815 946553201 716636581 843697517 374250837 72403943 969017429 816853369 487917167 725246989 898470821 495873861 396690641 528957787 850733265 541896345 282188845 818593075 853606205 536310705 14244057 674052059 652089205 338127397 620268757 696710537 652556843 204215293 894781639 463080275 364655417 948881573 167079167 71840827 278351525 69134323 285829237 794233385 649334169 727876899 59338695 183058161 64838503 511199709 651793981 481376075 555476109 772336939 295308997 781623767 536201131 872050819 448426745 547720737 860057743 261419717 283988503 712213911 517023531 475719987 857917955 272743061 411848347 798294653 769758801 215984475 409709601 94270901 16151351 786296081 617408551 291761499 328288401 524989643 963849029 521583187 101681899 764645505 87198003 386635499 718102129 544305171 398182355 205410775 340732413 66685005 64014899 168050485 274583051 922013661 535396229 124413833 412604867 783713885 647794213 540543171 436770295 408843601 218341013 623884599 292261915 903786785 823528065 385235105 6797647 326489627 902348733 4526375 503218525 977539453 420112707 32430167 489645999 614014053 592476725 933493799 460773473 841895133 696937699 580197873 477930801 224930009 514773435 722801533 152867973 372464941 200290395 496844281 462536301 792171679 947164805 701852407 566228385 17309909 226652965 564159861 468871295 465756003 504965455 340215003 937612303 317324991 823638845 257146869 659436801 734900045 726067027 516458487 330855081 609116759 414897947 297964925 768010763 887226635 514142795 822920081 124230347 183687043 15352251 815785629 362071607 329900483 65537135 686753653 908821579 154384561 420451989 301649497 866281123 729600799 149179005 740291565 681017221 248071881 883572131 40949823 828141795 815696717 57200555 952946115 326019413 870260533 298237791 213874777 911194391 260560627 129976757 998971971 428585233 54402015 401423557 980668719 876063189 632903485 349236437 86767411 281010327 248072499 426806093 700404171 314887223 343112147 412442051 906030303 381883453 775197209 670875379 464021433 678730201 378177251 334633917 953359889 673786593 196412411 782497839 110177537 754960597 595448595 650511481 514269713 600997851 287444675 669103099 248098863 853320643 357743501 71027763 785672365 886796549 438151387 88635345 847432267 846512575 176616447 648843173 14349869 301572793 393059631 152715181 490797281 788127329 658809487 615789577 922999131 2541009 811923751 299784199 57254905 176489413 9613801 370581273 393995137 525227431 14879405 457209305 672960543 636682885 10347829 272567565 710812775 344406549 720326699 174051999 965689435 750145465 194887199 217194659 833368155 539911031 439069835 672788561 684560439 930274557 266319569 203642129 442624549 473826979 853139769 640850283 866251711 251176041 758832117 743772179 960476429 200393461 301981725 633716451 19450235 546566297 426096307 53496801 715310305 830018121 576129953 302769719 712448119 511763621 703271095 576214841 403790823 476760821 472438447 520253281 184483387 945910313 92314667 187364179 508014827 138815447 194736305 575375577 610110163 257576767 638207415 92258791 917110585 685736519 539893651 917405593 526616775 374438015 115229319 223285041 307520151 519199263 533526973 834236187 259521315 222701317 698368069 934731755 321397585 78027193 668337689 270236507 338881903 475896425 648272153 597358415 485987377 492715503 789788689 474369745 594720695 148421831 982770097 303703317 325606531 529521691 852104079 362710135 857670787 68208823 389222705 81729403 564256269 289556503 475354367 958848457 49011933 373981013 664040777 154058551 47529243 256777277 55056713 115656383 412009553 31069243 38539807 197187973 35155063 58424679 492208599 370642899 302072041 447994753 576459359 663722015 975568747 190142193 364474515 320016897 596164907 955459011 197601587 639644989 258262465 491785905 931454953 224221889 65456167 493638683 970296389 489462685 964390339 978288389 279952063 623821325 119670113 706252319 295199677 28472949 72222777 783046851 271170691 390177377 980575465 558339055 265519175 53227907 125518961 628054345 291144989 539685045 934980931 48004641 257327883 249620733 603618867 844241007 817380601 536027267 484006269 278818257 101337013 333760413 613233609 761873039 815589629 81189319 581271329 449290391 132035183 351676577 631254011 291930243 621358743 524274937 244426807 87791247 606270947 118660033 801951767 366792101 267824559 854836499 73093961 485043793 134873401 506135349 952059363 703540175 263122607 636058001 819056995 124643065 203297309 56427449 420050349 387912027 756708481 458187883 429421583 395122721 69399737 871314567 182793275 332499747 986500239 450792987 400595795 81872353 746982325 242142553 227045083 482029697 65908421 42240925 235059135 540361941 447909951 897401449 816776019 306822481 55340939 280811113 142162007 656099861 162551803 658589807 904516081 277049833 484629963 443324025 802034857 105578301 467469081 38604969 830895483 451298087 291354863 3792969 924671167 795912293 209081919 879532749 62250813 536066657 615119075 567483599 635734817 711765035 728349337 735607575 341552897 164984693 716491789 201035147 694065371 507307427 944344529 913745983 666003217 987232443 5067099 52165745 499241845 992052843 192842767 394169219 82364983 365515533 884655669 48116223 425986297 47683741 875707391 500454043 943571901 95334853 737824391 84874029 331950579 409485009 911469259 686132671 644257645 864745661 74473655 198970743 211071851 233339939 769625117 499100587 860999569 264177743 164191667 896786133 397610733 757148717 638858781 582358937 294182131 181763925 861102307 356972481 366598273 841170695 134783863 988721475 95167197 574505257 303346225 502300983 346898611 158317389 971769683 681837793 283850009 868936103 481572871 650518703 54710411 368780823 893869919 918140721 349676529 558614309 504075601 645889059 936670613 855628545 474422721 843700073 764204077 516321921 794306935 156903437 765203929 680038435 377940771 981276997 905567003 124896529 849573987 492304233 209377761 752444441 801075891 219959039 794905731 363752115 977056895 239729583 190416569 300382205 924623383 463263569 464993965 415401919 508884149 776621275 512044011 836639079 265420155 437159795 46036583 795249421 438726769 385310565 987534207 648781939 430138759 855536931 450012407 47428091 739398553 315570247 501188095 147810745 721765223 485507223 995844139 193725025 604648603 141284605 988470903 415109717 561155269 906031243 635611209 81148569 361788511 260994429 503703151 485864927 459767243 595995705 650757661 113423229 101633617 325796935 406855667 705994867 503841057 223208281 916927731 532172905 333096535 772195407 425613707 80351403 239227891 719576105 332419729 532118323 913769695 936979731 249995841 371704223 660717547 581540703 399013187 305521719 801294545 621083275 597687201 445263083 551443251 288672825 83391443 974842961 227554711 356213555 417648565 49941159 445758579 154744941 212487563 211128535 280331549 437372417 684429573 834850671 422538965 83307061 334805557 615827367 468934601 887697523 568589979 481048157 787169287 297711695 163352091 665329431 165591177 654611587 185260035 118107913 256573487 632979955 431040007 951596549 518070469 213099689 254889287 426887053 858840057 694252249 304861507 167130057 957998695 268865503 85548269 953548423 696970383 815314749 803191193 812903997 499849689 216542111 68001795 607713035 809041305 219586521 927112531 897639355 971368455 887278053 253473811 646338745 324635971 258044391 42631483 25263901 256820313 538771753 167396645 618415015 984140855 583499553 697113753 817120701 708886201 905961575 671311301 367749743 886012831 374937023 124160827 301991285 210737041 834290965 410938107 777509421 838025507 259211389 755292009 853845663 277853131 532438321 796377169 646898811 965828847 901330069 327047147 755363863 518791379 157814069 537838547 370703729 169613739 935605697 775347727 180499763 309645969 15735833 706075147 333615019 341650563 800618043 186043803 126910417 502736239 653543255 728657409 371608131 985820449 350687933 758501085 683044935 355117655 581567209 643201343 757929169 623113135 25836671 130370715 899155827 216926387 603966795 644774865 270819183 919796439 31354173 490713635 954312877 152215663 631166837 203404863 344736441 529003457 403041587 324391227 555520975 689393651 730262241 350493075 262534601 655446551 117565207 376336943 395351347 386765865 392151947 171179867 756821559 857847303 479475235 904916937 412267955 870333563 604837355 715499419 696195615 400753719 372817941 754867539 368521897 888645845 869190907 694627041 227596315 895392211 623957795 908601497 746217967 642067357 340814903 850938423 668752707 553276037 279558665 619467745 256155103 911058369 353025943 693543203 945856819 23301237 893234179 48204279 227279699 469787305 639801749 864939445 670725635 435537999 526988997 143954469 443189671 342274623 486962989 836476531 424157775 563434301 998676623 888494645 776292529 654272239 581781463 21416551 362961711 144266983 940890137 440722543 568470735 682379167 606942093 631492893 378711615 547705 688242843 400708513 215186135 69081533 95103691 589576349 535843223 287529373 440612817 895165203 54632487 405613873 201008777 528224627 228915669 912673405 823862261 797028495 707331223 336687719 348466241 306342567 413088269 574502337 205227457 639412831 137723521 730647109 668592111 32976323 327437279 799673749 426623087 923485515 883527359 286892089 782592011 297517779 623732063 120188577 347082679 667958945 69087915 330575915 463405967 700432993 119689005 191334931 772338647 411352103 454795807 672535173 734637047 45140853 701232735 431935377 664981893 700614699 854027637 775327793 347249979 193890201 119102095 708750151 685998077 788872051 17278343 39722649 382255573 270610649 589758427 418533341 846290681 253184333 692403119 623347113 501651137 711367101 373723863 418529919 470505649 802836351 53492681 522721225 39387511 647097681 276571299 363417303 825215459 119831637 716781099 673822179 933637617 848130333 923344595 192403727 910787525 395871387 517683635 5490529 222170283 44770091 696702343 888195535 663553555 663027095 302978487 748579887 792342173 935680009 591292757 915557443 940187911 557935893 806437909 329276597 668207425 366073531 894503257 584158229 424232283 333542239 268088101 565231067 134618771 347716303 526638379 351436141 58645577 841680703 73273281 822890257 432710921 614339149 956158183 8564983 270309257 418902527 130180931 301776955 643665315 332895169 460653349 946898909 708746073 601036137 989630853 41727941 339915221 233996341 596736769 712900551 496509551 611822023 595378401 819187355 137435037 643733295 412419091 773194465 850658311 206436835 498253873 18384421 953681779 330049727 13863543 888432085 843112921 275639559 808002255 154562125 108381779 402741097 500680903 485616589 32779811 421340413 962642583 242652541 308302773 523149885 161832475 694457969 704451995 761707535 306562527 628849825 975553427 284462271 403681807 749830637 926375807 395645189 383323525 83824929 310363753 263050493 398666429 272611563 712264069 233987885 93523679 757844711 555151661 405946241 966532285 689541779 423442409 128925775 552815051 849879133 626307423 254538579 345751849 632763537 20496227 615777971 410908831 510506093 553738483 209540093 893738397 217275663 635742513 634920743 974908473 972290179 390799463 575310731 549446707 948355767 732993289 677880049 510065137 823685253 473066675 178868357 262666115 618471601 302184745 310728669 365919649 134476001 189912915 676126199 303162025 152712873 168206407 148597303 775679395 627206271 343512127 575133033 29660479 45801673 464376733 231076549 575580881 168793803 330294257 41541863 255115613 8050105 302935785 818092243 256682117 852630955 201754979 24677113 588184477 151435941 759278691 415325741 928997019 24049549 673596433 602494635 815933723 706542391 845224131 106001177 737646953 566763865 686623731 389315973 650463089 308608407 983394629 28588131 922851789 834183289 729780101 929970065 139804345 557237873 472995747 895783765 10983197 343138521 637385151 497857371 619213195 483973871 53792791 169615289 541861175 767906527 401272859 923208685 495412993 522594491 895003995 578918873 187942001 565973369 552887443 708147407 53569719 500082685 106870951 859145343 780621225 835797519 90199971 185607691 363185863 389506401 976870329 389049077 978444855 330072715 360785987 173649453 825518537 43275279 426342599 445078789 321410549 372020057 292904941 323301437 272128729 582083509 568927373 23411961 163368765 209045343 551078557 798605765 152029071 158098041 320948293 889662875 786163433 151687691 60997835 468919507 827265543 61162759 338901415 665686579 504196691 633293125 535370099 895957483 412322523 955331207 628305137 533757071 571651413 644131191 225966093 180616219 764995875 289462949 317211353 425668855 353368137 91128203 30558867 867359469 588668027 70223755 150405787 60668979 43702283 301064429 794049919 780172905 754073339 517918179 26229233 399745937 143424497 85503365 834296269 354870041 146401087 64629461 142509333 661685975 668340697 719093181 911522549 315530761 834287711 497393165 252867263 790235731 909479449 887644799 388646641 22745793 766778871 814684085 758669869 514769099 609532815 49242935 682673213 509267277 913542689 590792309 424976661 313787787 514514835 833290187 317304785 792835637 807380853 366040953 945659315 18725983 888163839 792436393 976410919 559574149 990002959 189159019 801017025 607509901 93008685 407678649 911919675 171359685 293884551 338356085 445396345 484263905 746946551 347571557 565813637 288155135 793262585 279896895 603425685 436650149 326043575 392903321 310565377 115765695 246158845 206509813 306909005 781479331 193961543 656875707 288549669 125211663 872535471 371082815 874528605 259743013 994999297 112539833 17307887 393997943 608385705 338947915 224505599 150766583 321862079 727727611 45826009 361245953 542820611 372082367 428019693 714040669 513456349 321308779 612237529 347038265 655092057 447579589 409580129 840620839 144360753 826627189 607962989 194662695 253988547 315637771 1449747 118520221 692494617 549090559 620953487 640403287 887618269 130432439 172021569 493656969 165316971 602622327 943059381 397776081 865157057 54333813 854984353 757708853 433875845 832664517 10454749 478278689 304955399 526378093 511600495 604781931 530145599 581622357 94974081 467429455 677625547 866938955 751040613 253262195 700035827 939726349 878859927 522186469 994187685 815230265 555764925 155724059 550438779 991196251 994463645 543412719 492715697 262057441 569099823 656108459 631880753 720658215 21579917 755544567 126667911 118587243 837469431 980053227 391454959 684772059 769309405 92015621 249188931 629629827 453267409 105701161 435686415 544286305 295429771 94048675 141779839 572646483 581207027 406099243 275651691 157087011 278048785 620713693 966093395 681453701 254233367 481323071 258484061 731848973 37288037 296897595 658245979 237704513 546776443 161818155 453195969 852196487 629314821 792226505 136532911 876358195 162317271 99854139 969891053 340412539 987770857 490935311 512770283 117602179 822774627 274371641 171773631 456054355 890403213 492268057 361475367 188181981 889210843 743002737 842937229 629597691 152312553 971535727 365319935 601539179 407133561 164138921 597496117 744987099 619654007 298444059 99732877 886405847 36554487 706363437 905465359 405661405 869549363 731233961 773404777 770925385 728344461 852171463 174059765 493167211 742941845 651020323 638131119 49803887 933108985 183612609 382096193 519207023 391981207 576286225 789932023 918255469 862110065 182211045 83983565 368021331 550454451 974370685 232964701 233103859 92927409 252540029 855320051 268250627 636898021 936062963 653131899 418526247 771262707 218177363 858538381 179336679 696804263 741304699 377012841 505153205 609076465 740963761 834714869 28456169 699630575 182930081 70235843 503265991 467056101 782211937 143981575 187366773 127383355 167851117 953768609 913354245 87368327 297353387 559559449 688072817 895029635 157457515 438695327 209011867 856310803 750862941 55787271 370871115 21339971 921985699 629582293 416008499 28136003 926483903 368704813 45818859 765239667 128800671 497234399 987390709 212221777 242667161 342381411 146143931 799378317 129302635 303849687 622994829 357804023 389022521 67619329 148147877 80880523 933295759 591743061 346817317 657619311 42340965 477647845 365313301 609459689 486021143 883592819 595178597 355513713 965492075 834340455 719003633 770597791 130012045 618388943 760793723 81210425 535191057 587927393 547834279 297317417 190467575 438785407 649212171 343579265 502383269 902679853 186407201 578560895 872350949 555343645 965789765 8683395 710666221 609399461 599122373 673229339 545064539 572378821 871253199 151699705 255922485 536063267 332989823 570764023 934294761 311989009 973715925 495840027 815596105 198616195 462007483 263604111 943165843 599213849 862370561 301937831 936297327 862976795 934460513 516356059 127877095 272179321 155528317 59169491 864450419 347636679 735570907 71925847 686417391 491641673 634834161 511313243 939752863 540880867 450160405 727558139 933780531 519859749 319949193 351826553 743283645 103014215 499175541 170776641 10107325 331181093 191447021 995264741 800108567 199152203 162831593 330518819 517130777 877470439 643935817 642955229 355356535 531467213 221721561 116085021 448523599 669715583 311226183 414439191 870322471 521586469 808538927 549427495 806674923 794174859 306041873 313902287 905188593 870392877 145104727 750135485 931070709 847193893 954510415 216534975 692018975 642749247 447936311 969323477 101636089 810115815 861835309 838976289 42643577 600590133 885805629 217019119 640158975 763265257 241418325 572032175 274138701 137460585 519161937 179164927 832681107 548683205 115226097 691830945 603362403 795441589 547720157 360469379 543851453 463825559 364282537 409391029 643812099 185547891 367061453 170309747 515814407 345948921 458590377 4516129 263806715 847208575 735559047 889160265 624006013 985678595 262341273 970059937 679031187 293581103 36618489 101080577 403005095 926096209 967888807 637884527 138212499 220976737 958984331 257014547 643256977 266154749 819453305 670821699 920971335 68008555 875338023 404014457 270625987 946874271 192877625 48617051 332330875 773383723 374493753 490843567 965455689 624506705 705340565 375370093 34225525 515499769 606819751 856930989 94420139 488618671 244934067 608893109 838331907 296942255 72572383 331969519 888724469 105179859 988126015 912972525 666679147 566407589 162069961 59949931 230168239 404259157 193122657 237299023 346980985 594231993 529986255 786459039 606841061 391972433 670922437 988287379 9398903 735222085 705730781 667570053 821658911 4883041 997997205 276285943 271436079 306131231 367221849 910124179 364787303 429189277 701117563 185511729 713098475 393471651 527263793 849490121 424798793 250447519 564736671 952351357 917626485 914078891 70646733 776725659 925953743 479005317 664476077 747522965 716738839 387485843 977658647 25361159 429997183 212782821 402419407 378005683 475149979 554853937 82544251 169687429 99715689 354365657 415343021 826277519 92817227 814238179 244869857 285309967 429205009 489960957 380305011 559816293 206853105 467652223 233683377 590455585 621067143 515885673 430827979 225905649 605958615 816688995 155464921 577037747 278799695 944169657 7139551 727078249 138706117 156039271 863099075 161199935 433176183 575721991 966410583 265124745 932357385 18338277 64510549 790810561 334307977 441278955 275295 137767305 105903979 421434549 422351101 745981873 389513613 989030529 602901921 674081575 829630259 230688309 458008227 146381833 803977741 19354211 241008453 134942361 631886895 849374783 185209265 816171075 368828181 905010857 251039223 504184475 753624229 554657065 481774353 780656219 136495151 968483565 179750369 905488487 264240995 120881615 693638191 123375819 741292385 300166475 232887211 613746615 537102255 479516043 447091953 836117641 269353787 480257117 917865089 49117893 729342807 717243449 818153413 825286419 348148929 125308219 452096525 361902153 705178273 572836399 228780947 141988451 578744193 882848129 759190649 571313537 37415001 721387083 434859975 333441263 48548229 452475721 171538541 484218403 29837259 168846819 511385159 482631093 922066261 95045419 744976149 258389611 696774333 883121365 884330369 538590765 923604477 46554689 888835099 871956755 456631675 398640505 878338141 851557971 800177925 725252649 263500199 39315795 846239439 578775209 382265925 772159647 808408695 328802039 860553829 555355881 255399939 398663103 909264675 624421387 132911327 432502603 80284031 927603211 547057889 727070869 198709091 242597907 355618117 90779195 733336221 78956917 727281075 897201029 710195691 910418607 855726389 206936417 212789741 820412001 394020675 407822697 327759401 778801753 123616439 131650265 22523411 312921737 541566171 206334363 531133957 559692811 949762647 645950269 216675391 34376229 286095939 766132727 949053931 440412993 813298461 488345509 830620183 466598899 122377161 696444115 557448897 908606963 918227093 380890541 537693639 967123241 235726901 393466123 887107573 540629661 216650951 608052591 211061241 103029123 323519697 215791611 226688367 165063223 771495485 567819139 952447445 355692347 737789285 107815291 645510041 89678395 180515843 81321731 223170313 903105803 342070335 879060451 743320413 459392677 647456675 975043979 124229049 495841835 186250789 577394705 535386151 701125099 267086629 869507381 231393941 36023385 994565733 811246429 555183583 111049485 529617683 832220825 333843651 329740747 202077893 999987105 420889325 964036479 678746233 882477779 563990511 690333501 715181459 259271991 396643393 988129087 909863135 542567805 438220867 950690793 288480661 963232505 677688127 823612613 596102225 680110255 360879719 461335433 953902103 294072385 230192597 900696333 640591703 22858499 136916359 27447381 637526243 766734059 180325993 546400141 302246139 756025237 219013453 828009737 240328773 252545869 468209129 541304901 570600649 193076223 367521761 326234337 61894915 250819139 612265917 900959145 976281803 862527577 200751087 271153043 519710313 498490153 494185425 427962551 550216585 401483583 528722081 813356891 31041089 627612119 941613707 384390375 470135309 407768523 70022561 554245873 338731733 753458853 486441689 928220725 791145955 686578581 960028951 881734547 731842799 90247793 853411875 38230295 45082387 77533369 705601455 327072503 965763545 788780691 31478355 304672907 83964969 57931727 849908371 213497177 610582877 382220005 705575893 654881803 663416365 615728115 370026347 17716083 26118083 454640577 415851919 30484367 62692523 792891581 183676515 651671167 364547033 418130945 193129199 153422225 574583723 671061577 312638501 511598135 481832167 12733183 911659997 586723083 763294137 180312369 505754585 269862611 382702263 960091797 23586499 763812217 814960605 780987533 682635051 939911439 5065105 583932701 40035981 880422611 193117601 134306807 944624709 792693287 131648579 589896051 233120417 519412627 514054417 874084237 256481233 305424335 323883539 51403501 914731245 324315317 384053943 101378021 658380535 429366855 177432783 715405161 171326425 795010993 157410203 728050201 868215139 608780871 96341693 636410173 749601359 135382659 601585991 676670405 858415423 64013063 631103659 648886599 579013051 393277345 349192647 606249219 173868851 730481221 114024927 911492831 131630595 807569929 362923939 929690219 469725803 255051831 335570469 366738399 634963861 541162293 625214437 822758169 795195025 255674777 292973001 887369375 637729625 512869661 822261787 72494245 298287567 932110755 181854609 216411133 641708217 90936379 858143817 839677227 960190669 292980243 267326665 33746769 992013217 445485961 968133373 18991939 869960887 404531487 83178811 312866935 964336247 478416003 168062273 237828617 154150197 33922949 418766129 596792261 768695849 814731553 742559899 309929239 393516149 532609147 429150069 639101975 288986143 125064669 928121115 270932101 585077533 551658429 56430929 328094409 134136389 451744179 833717063 126043375 503992919 925110147 598807695 550544817 639957249 819326491 807005225 297956205 120019921 255960203 245639545 903161133 819951425 794337551 376217933 547282331 140992433 36188171 13129945 973593107 539288173 259537163 520531131 383206291 626582691 818577343 975997433 469996993 822503023 914700039 579212543 20699629 298919375 630241249 486527137 611249167 15689649 328682621 636353313 83999685 845617891 377042219 669780767 135489365 541675805 587815785 458273451 253395635 451764741 367325399 946961979 540931697 893635103 428306499 689439145 452154067 819187679 775569055 646756669 965713083 727368863 361444357 916863141 775413949 38744991 733295803 86280179 849863183 795887879 474975275 448644261 200200077 445310699 466467303 499363491 539317443 170788417 514954413 262437689 628198109 513015789 822382429 228187163 490914739 828451769 478311429 96578151 794858693 155942227 937926359 280258977 229614137 621671253 240874287 190862009 552172001 415090755 355688591 335893763 359445041 488439683 156736417 738664763 988502857 236356713 271745341 952167047 47010801 349654827 738510171 4153205 567115417 626382829 979377693 651022585 468317783 147686329 169694929 18650993 206819305 507885437 370264809 484399011 219183289 102409491 705012481 831355837 475904469 178907711 720455131 778932817 701876981 141343655 233945957 317256541 924874615 973869021 267703725 181196617 964591971 509085277 812937715 647691743 180150375 865521285 603508633 412568919 644536541 824210079 478521129 172988747 470353089 167264477 967331159 927347653 951635133 386989655 901933055 67532845 588352797 912787983 100569381 79023197 611751645 526390769 343861745 225846671 702845079 353363913 460334009 154016617 362099095 877419091 987859703 849170167 214559945 138595889 877498959 493072307 567584709 354062059 916680587 736903285 592399307 933373427 914680991 12296323 758975169 723955617 298813609 660024461 462046777 692160057 50797287 58719143 696895077 385223393 172991431 618726479 272210731 651889323 456986077 617675111 200609549 354929041 694418661 144474943 567023165 894933365 618657471 351622797 360667023 328488735 634537079 838595435 682935687 617495361 685951299 682094177 586473801 798582131 234296187 772774237 45716389 877800759 87541669 380757681 191342099 702507767 523319657 990005789 799947185 345052419 641116317 197070277 812089413 611509397 279013437 641880885 833734979 216752335 778585449 618840165 413396157 905680313 950828143 219781809 531432565 421314885 593916351 893034975 764470483 45964363 631403769 127555353 736536549 227147149 61401053 709555705 538367585 903791285 273630549 734430073 970122409 95835987 401262713 431290111 176160193 600103905 579142015 519737689 534251099 495689919 399025871 258990013 439660493 752824633 885578223 567822021 396665623 499099775 318680727 901862265 380037599 805326505 248289697 375395909 656692599 766374329 395935759 431628287 352569811 356745879 5543437 883816165 16224403 930547223 626367469 422749593 711484927 536902129 47889709 279784493 391334407 444078535 732518765 436513555 669284671 530781215 370312059 765267495 413576683 444567407 738907721 257188275 446799599 131780365 904886259 180568415 644284635 112589883 679259835 685418309 410841829 709730593 985036301 809461983 967734767 450515 332767101 461339667 240998271 283099977 751000517 993551919 313440451 133336165 868638151 85196519 677826453 653253357 699627411 602815321 851278705 366798487 19820887 167839499 236545665 373637111 970762865 730945769 911606929 33487763 94726755 794278983 225477661 883553491 529046489 157765095 196188479 96366343 342396839 453644009 112904899 5408871 128614343 627091933 36427541 985042201 114082397 685207993 473683277 912167457 232814259 740533977 370173483 776005747 472783933 532552193 60958997 331853801 861134743 143452511 465431323 242872899 752199045 266177417 857399797 449198121 306681327 942496893 78725377 918898223 238505707 569063583 896549447 448475085 723865523 146674621 744178551 257669731 479093163 374002187 801219303 188643387 225366879 169532711 162464917 998097801 546548095 90172181 881627435 157032289 647350761 884929861 463675127 539086537 806310049 984430475 597719281 530094503 915814095 639202083 924976565 255268815 553342411 118262707 325671055 175047671 964821003 292747337 311408747 896956099 977092661 761633883 8838883 426061757 569766933 862537923 276441395 80648787 212614555 410186441 1394501 581168351 780973031 547601177 647734949 218816933 681054263 398440649 248268173 140681675 692888827 920747095 753320413 628598885 915790019 578345637 241307161 696805225 222691149 988130309 936338035 26535099 421751929 782225193 639549377 670646563 537504597 776408109 477703811 989316435 839877395 289069467 405009887 272030437 886259213 96980315 258963111 638527831 97670857 565576135 907713615 196245271 472398065 860173465 412701175 814280817 405983319 442063863 854735207 306583713 213828601 698897775 339196941 315052233 106567415 589734133 38712323 328068337 898913695 413219303 764480263 672592651 11139683 904733707 941886335 496949745 181743327 719639693 690034553 625256545 825903829 21332227 359656881 342885895 94188849 492402281 422149763 450093683 185311495 932343335 393015543 79310369 557495439 904951047 466314171 737044335 351532081 687819329 717422631 150687143 567551349 572382831 577429307 955722745 302240271 610890905 184382111 87334531 22320859 843047725 992595871 699392321 485589211 80646397 418555959 739285791 414224955 453379145 984148481 752646893 778575 682785717 139536711 612965989 788884881 509101389 401186809 71722281 382782117 187472265 468853933 114216385 717020501 530016837 916052387 111037599 442357909 251170759 811515329 49120539 595327617 929109947 6749593 967842423 916201309 706821687 689613405 653468381 381626513 9970871 840102131 756593757 273273267 191873313 781310173 469710321 596313981 918665923 116769611 1613435 309534419 326746451 539718167 877408707 67736511 964908011 108305597 707571065 285057655 605794323 658278759 571587129 998332499 27588791 110062563 780976773 658752727 146704685 441368745 35456961 18418865 54948915 986341845 180818243 724559025 141606637 78614067 486577987 163857619 175265255 194625583 214216675 693971259 6787609 989744867 296856107 583408437 333702623 726941963 322097419 43910193 43455485 447042063 215691871 495912143 147528867 778203905 11758567 235849677 626652259 299308949 885963341 978940187 121823037 98442539 389250593 904848073 213573013 782021581 919242973 788480531 684480825 100872487 598286305 206715999 912660575 362697105 386232185 915699251 88554657 678810377 989846483 556111943 767924231 438851643 82554891 369372789 10746877 861510513 640386337 902064829 736425049 877101477 466295551 287343695 68288087 868174709 346545013 886956155 728158623 133338665 298347323 714077119 766881083 193656495 384650999 798702779 909561505 992511137 792815661 333028669 434030769 340230971 434060371 129127223 592557741 74454631 482386877 341343685 554924357 566853555 621233841 544940585 809717643 977911637 689022039 37710543 729193983 327518511 618059199 727599177 808305029 310189511 806474465 667263061 758580331 37375307 645883811 985750739 953649509 777979027 256288969 104630481 882521233 478475295 118693639 681678723 602994291 725014807 843538423 275755839 95037691 893872199 461466905 736973453 93806205 399479595 66669781 580781335 893453493 755349213 765723519 80207537 430911945 579266343 514417229 81279573 329943367 122716025 705593957 340120871 877236005 598229481 183790539 979238769 501663421 357015607 576498803 201412519 294415319 934234313 880984375 384289637 478762913 628003247 365493973 924053101 371437997 304143777 303345915 217156525 4326649 911960317 898791221 584807475 579430637 360975563 995259905 403714111 126989909 100425145 925532605 925720627 791022181 56397089 729661363 529094043 509803961 184562175 661796629 547238439 254440283 166944253 373705725 485274805 765537715 184654953 194409577 858273351 152454555 831110971 794206533 630174475 286958925 863521295 228488547 313016657 154561391 951533873 374751865 847074453 982532623 710454413 468597803 818899579 728583073 804724923 141539075 438484431 893436421 931989499 558874479 356224385 58142075 933734709 806504137 198974895 702540727 83717365 708973651 216637597 941968073 939809909 522589753 250386867 228745263 870687381 280114823 17220233 9355217 566526169 822759993 479250901 333410553 935277683 175431217 94424701 958226783 679872825 478240823 117111949 682976285 42583211 715069437 654017077 723758267 887233263 904249883 867837141 296186919 754572245 371161365 304117229 374745011 762726357 244935249 870431271 336854047 440240909 957174049 495113307 968365199 66014277 103198655 754169983 315022737 761218027 564531789 916009657 307791385 157025561 917580755 170628181 771156101 656019083 578031939 825001157 715273115 488467883 355036789 671323813 884066693 137132935 137025835 112548535 923573981 734417877 896511503 946241765 390520223 533388279 603731891 158564167 141146157 806175217 966953357 189178643 327417431 430293365 471743745 482238897 736826449 234803931 392912469 762716073 56245691 150791199 80466879 91052463 68516503 63981545 356480597 917063583 588949587 10511497 486318873 941463419 860692679 8500985 424396789 874158703 794529067 348928467 337020089 718731213 773587241 823564385 382123551 369915411 468475851 190380435 969029833 986316771 921712265 671227135 571334207 534854919 581021759 158195685 895916529 819459955 885151795 889173035 994198587 484407875 292194575 863418721 116824927 889914553 908916205 445960637 374313601 851947841 23428935 851237153 201058999 426201199 641864707 320102931 605484537 15784445 352173167 130082499 804776489 633406927 396687679 206386693 281123343 690004207 38739091 683530333 114533979 645840529 428648685 136957677 81568937 515371793 342938171 740463241 823351417 386927859 932816595 539844263 583791669 724756447 608364145 712216163 271191085 563299243 192097597 982908297 323239321 42066257 391131841 45497733 52319647 570255349 399291637 708917871 358274115 420962785 310115125 790466055 528992123 231290251 606220613 401299635 748205597 919680651 105488979 304471173 982954731 661352103 638940151 965154353 259520909 867220679 145883435 330683415 992710551 185558017 364566869 463256383 513372545 790197905 842953537 168407641 58844075 891366615 793245223 649958075 675029857 75393119 187446949 263092069 528402897 322034399 196465083 786577917 27545879 874678575 989090267 243481043 943412019 312362581 637888473 445415647 9164557 528978041 176318961 683944127 399875961 325704691 934328523 153791929 505061933 17581113 906878065 601004481 406333135 229089521 210366809 408399209 846602723 153026791 504543075 989563125 235370461 518629133 721165521 359703367 577880087 410828157 762105681 651863283 667228113 892902525 712494841 719545645 649351987 456452471 835868999 266727639 244544593 603462653 665045023 468307831 631924257 287530701 135878863 502346811 68688775 790806727 565513993 534850811 459776077 661721081 541153263 883579703 411073569 228044949 573515525 259685653 718281117 600969719 72300343 426152039 283138885 896277409 662646745 548239777 428524159 909641791 861506475 903594723 470369439 537992355 448640979 509614325 910600155 849741515 544485081 88920647 523311705 397362393 630539705 608550383 878152989 333697559 439448779 570534059 622444827 857996793 988449495 521539045 8928811 926787867 884543497 188784811 456507409 946239 671991031 394293429 652931955 22693201 853197215 906907489 487276771 800079973 480222819 867837623 595471325 259195061 443880213 725578853 818730431 610630051 905072613 429023941 321902803 430827965 971203189 785333203 93913419 292684727 330535111 542575161 599463487 377692521 287638091 592668739 3204787 557559511 403153619 545591533 460252301 380499245 60662687 89306833 232585119 385647551 307356243 420843835 195895459 88807687 905562621 306041623 484336699 194056105 543299089 723253245 983658991 14212463 34725741 600277805 757092657 826801743 476494679 129592461 188362329 396056929 851570299 634784685 219955115 862989289 883851247 507107525 277767757 460613717 854706223 762901429 314702673 94238005 634971683 239216897 760676017 945464901 77924885 628259033 90307663 997093737 103001275 238807575 446915827 456891821 249085493 245001017 893414735 928710209 903027461 963043685 889812219 107766147 617220889 641066347 616595321 977866743 322825929 224196291 122652467 668114759 32495053 159685257 67333753 654323525 915487311 578602121 737403525 725289709 510983643 122599473 716262521 958366563 124651109 531464085 832052317 391963891 384767307 340372599 401964067 246752271 775870033 75379007 734818979 467525201 72788135 138925563 428414623 491130751 445186017 691851617 380726209 198749315 992412923 603683281 210808217 293056111 902430043 105258581 544361121 908962177 662216655 564975001 490983737 618313753 98594187 995962101 917367981 648298949 424313647 20936553 242041901 383589431 270827453 294125211 397374929 587936329 551439267 863219677 45915547 16103681 99232695 711581475 239295093 344043657 386142773 518290957 937301295 770310453 630422981 47183587 961673601 435273853 800951409 278359957 961657617 512218121 14017713 673824439 370347109 638847649 775722081 129651341 943246317 378855737 223529413 971513339 734732037 275558893 389727885 889986449 640745197 636240127 842198219 659446405 383677903 333359579 793963007 679760313 679729595 398551059 90548749 90052787 932171177 368236133 414786115 304183457 91862655 335163315 7334485 707114845 861782017 573867015 772391265 996539491 565668837 855286165 377271533 757170141 866395329 370262457 64923109 390239639 182378261 781142005 195133855 571659789 290228815 710420213 918563031 936216409 770955197 986496909 618277045 498218565 161646487 100246967 622572483 564684097 394588675 972310935 340529913 373442917 667938821 479214199 574981809 267664235 120483475 213046733 534102451 905629889 241953153 551534129 692077101 613960817 744361109 830200935 129232049 3004469 482672245 412474973 18092863 67028331 611583925 999693859 750822459 630710811 374085581 569969909 303326065 483531765 465932829 625581111 729858841 329726287 31714543 231828595 43151055 372242471 81801335 602906207 164528793 793841447 519113161 827574739 514180067 844852381 403503083 513157843 212260481 944614273 7120067 440286349 862869939 965230703 104998437 252894801 612946719 801913011 56530119 403123355 897298895 237673273 420617551 463990287 372394297 139488667 517769025 258338425 316839485 109374741 554200593 943709643 836112925 723985809 274806809 969817375 166018951 653689499 81828247 229322171 134935441 670340205 96346551 196729863 705023671 116068071 671513483 663579291 665862625 458912909 666106633 592877357 805137243 560835985 35822101 18804643 857746391 903824585 191687545 687147273 418645367 238675125 147332067 892537489 914443453 682342523 360455405 23999127 987475865 933526253 440628763 229098395 204156511 813312895 434810323 634010957 187000523 460616529 869303399 761451903 123162371 81342507 967835923 160049449 739724947 531968379 184575219 514190707 953251701 111046491 654538263 408904357 643191553 275221897 133173353 113463603 431037183 223447657 444368585 456356535 173794971 303677967 659151859 56722167 282457963 445517617 383625107 535025373 332296811 690559021 208487227 121387389 448436993 218023433 896986977 821451025 694187517 210037625 512281705 675446779 365061775 655739343 593823643 250566601 401746777 400761869 877781033 867775023 634566493 216909787 917781035 850591747 91893513 602307205 298527139 396149327 200790325 433641989 965409147 349039417 672109595 934950395 415330435 107025173 782367839 116559531 489833591 532591457 655599123 272727047 678195443 185295807 323262377 709495973 299518597 843062009 140036863 377040069 832500637 13369861 230550107 264262989 504415635 415931643 520119657 942718159 673400745 686748703 846827581 796161661 650839049 784586973 275233367 265875261 192990403 950001353 198986653 252275345 665555153 656468125 690478425 631032745 532389653 213718845 473742145 710732895 340664151 365085365 953907829 449204271 74172745 94533429 988932727 443657539 108393347 526200347 312251445 766638441 952084103 871549675 608762117 260145431 219982269 964836941 228424101 21574767 256759931 814117655 904696119 705636919 135905013 383640899 960107085 319245533 728131405 296363765 973680601 572301179 453194383 874166649 6693431 109391565 683545513 569407041 876209201 635447355 555463799 233903591 340781039 717631703 532087993 317559089 492850699 330905173 671480601 258486279 123675775 794472469 904667687 425344127 293572529 771643425 898788189 981475285 896403823 995955749 877763611 451300713 2590189 975575673 458776749 697640905 553705673 486400795 220977985 252589989 632878089 331032757 798528243 922005725 858414873 526560663 845923011 848431985 7400911 426685107 464709275 206169227 356589929 605445295 594454603 166114179 245802377 658709709 667336333 926781135 265444671 408019453 255457793 488584471 878005249 25520601 140588593 683263523 832045227 103253917 820429457 102416871 4981889 895183155 858052983 88261501 231362609 325191209 500412195 473756203 532488915 577410229 194864323 193456731 238850785 989490873 791684965 905397409 383055167 605764795 512341249 443378869 465079359 700530921 752138621 968228991 85930643 533615643 500807581 352184071 233947737 876116689 975812117 481565057 922658327 745781299 40530047 464298057 732878265 699474189 540758619 579616737 139793811 971566297 8965649 415542261 653320551 559862967 877222389 611513945 798073685 22213227 781848383 543472645 88895213 237514599 290800911 617336353 637890085 146251713 518896495 968454389 415627351 699790649 767535185 914205943 710592331 526655029 446849679 83482557 84629549 355975365 149666535 380369681 454608531 943271329 721135879 958181337 375622523 405275431 826634875 493743915 59649609 275421279 125304257 587192129 571521481 66778615 649766711 659860095 430987059 605681481 679341095 182520943 211188003 38693713 576554947 630148293 135787165 865205689 871073829 987813469 970953745 993162703 392889675 557548603 67734099 899094921 345207843 286034567 511090591 665200777 37217657 225277335 850948251 330234645 391174411 892812005 192784725 387780891 446848631 194570261 833024065 38083379 307819079 660541427 392891709 72160669 170213613 98705775 629179535 667869505 509766081 735092393 509699043 347775659 215713287 244333535 703001935 308142357 392885221 652332161 735899217 344052063 167066477 252642335 175441611 336394509 210899353 187839861 835717645 447636305 213891403 231355753 35651021 115096065 750362699 646536705 983084839 94391451 248470603 772910453 824816543 317937483 470013413 648435485 316363813 538555355 11645847 150725247 222115339 224833731 684747981 935792197 804540945 27186727 101031127 261788993 427274075 998695111 678366705 926661999 629738101 406997785 52210231 412977397 517742169 252391471 127392951 604645147 54517599 970400973 30185057 685757779 418719821 668517975 947835661 960694333 747754323 368685531 426094207 960204953 822297861 170534165 890659677 992158291 779793247 296186209 102212665 465542013 472791241 202676421 433423501 513560405 465523981 768758515 634829755 639179579 598614625 49607233 275773451 418523581 685544549 695635633 35568557 611398029 618571547 791127269 207762877 605700231 331887601 123002671 187152189 834847917 430111933 106449543 808077841 9637163 400378045 424658829 826118673 528838997 393067925 337467269 578457073 281708451 682494033 642835297 241861715 638700221 811027049 321100983 52728003 814568555 415768761 622964933 265414833 313693345 425581701 49992565 791370869 923380859 654036093 499535447 228962897 271137595 99177397 805775261 982914413 232225103 602614953 223785771 611978461 199971141 748318783 319492999 165947545 151241437 821678789 273399521 706391683 834741753 374832367 54402061 455638371 652582819 503741147 490490255 653940201 746573073 369835279 530068105 614350257 318449819 716102519 584458703 450204731 975980741 153592937 317110485 120400881 813814587 894993315 496764605 758107939 411790801 845321543 885192525 853839115 532937091 692253415 305785843 755368137 795238767 691718771 340662471 536984681 215554535 592599885 190269321 877111769 142922585 35293495 29997727 707737077 346349925 502090081 126533659 960970621 742722505 357583709 44033201 163328537 829843829 652641835 775901377 893677917 13255545 784569135 396580179 280388033 485842449 606776631 542681367 77231525 358651297 765522807 945906019 364474965 24868277 946681485 65485111 844651775 24793597 443202431 852881977 625631167 374068057 630051001 602440121 658372245 25550023 806750993 40695725 322974313 356461687 451849411 585134519 721383951 803471033 168771701 771211805 353770303 337418507 905990709 812132047 574199705 865199373 459861625 776299617 145980839 76744589 589603099 478212887 988959195 920504187 647622245 566031827 612442511 604588279 35048447 377624873 655413763 656726593 599050753 120638541 408625503 247193795 841764841 548915745 861657527 371688981 777332635 240432169 153599489 115665133 44317283 531812249 956566819 741810739 446003193 484666435 809727713 618287087 68430713 888443305 88500975 487553621 61596263 793861105 833753063 125796543 309568435 783684331 315750471 210999987 165347505 722119439 828379517 824017627 980529181 214542461 755004117 580579339 235686685 658393081 2388621 876692029 904662079 838240757 568972995 213948819 882614391 243043205 218721409 694571355 40990757 170564973 944823481 689764103 188247563 547373841 153698627 228394803 150260311 350628225 310773731 112701089 500201375 788856437 907505471 794733885 188829663 130912587 305256939 66690843 481555327 669128203 636428125 525820789 605512777 171251299 683091705 50228655 802935413 778572459 900681479 674294867 153630111 233233125 816079289 137454101 557970891 755847091 543574567 452680401 308484201 572725609 348858197 670539913 402931019 983044859 80276265 691869803 163916209 649768715 392050549 114474951 763009855 317182687 546607861 18626329 882908419 622241637 500756037 13922563 143103089 269576757 403173109 407001429 205524583 864296591 65687151 856639997 931972139 78686297 142753555 866408985 642049129 710502179 238471965 513429229 489367607 946039589 887755705 853315297 382524945 975214143 894901239 536685707 23386333 833861365 870897105 420034981 198261481 240246135 71844649 567524885 412861163 806579359 754180295 257325281 117704447 481446635 44200797 89251137 619399593 84282241 332541059 834063245 299856599 747618609 57615291 775910987 601623775 463170417 250970991 259241251 397122431 566054755 816703471 226941931 980689115 628685005 774330487 484417951 593657471 778199837 465226787 355271007 259591267 701456493 446336257 164574071 716536291 698745977 219449601 681504861 226516165 483094955 730815739 950040491 784801845 471265809 989747121 614433057 28068295 713261153 346070221 740806575 277105787 463713019 364162527 960561253 234107831 13261033 550595937 855394689 525178949 959847127 785177013 697706851 861512539 89163293 576034849 116277145 13397911 835030971 286478299 544584149 258253823 678299479 116141817 622026995 504180991 620962881 651117437 233994741 327060335 633515121 409302609 640219909 575434631 383920519 963724357 419565179 750473713 656144839 912529683 676939727 19816631 7860001 423660635 242026659 461586513 814770223 430533289 605783493 429238939 612108079 908710507 912232487 76493785 876240135 369069821 624246245 545156539 887611975 496427423 691859265 185060435 780057125 343703163 449713063 380854049 157336451 593292705 400565931 931612681 524856295 515820043 933004039 811292249 387089535 867640473 468692893 319637957 175894309 716554517 648430203 780794731 821936981 489238323 873734101 789056721 127594809 278757257 456662273 305617635 733571229 747259545 73942409 909865207 731095547 180284875 239281171 742793673 989946227 735781491 520084341 942908033 500409289 75658441 687720361 991388073 445388655 569648365 131778769 678300727 79095675 494190569 448248381 259000459 763617453 388328625 447739739 852144487 118142061 54002969 181763785 378099449 80172999 307219175 251210571 388134361 508160117 36661955 495726281 454230529 702722517 381219643 894879577 67202005 980678127 363773389 564842549 351865127 606980211 836432343 325396673 113153577 683780021 879722405 93557127 53341305 675238329 849593701 939277629 66896925 520574755 629424177 685238715 491292799 28380739 70304013 25056007 770545017 940100111 240479199 972513353 717947461 362925353 761270395 425151191 275605129 602493655 483862425 678188845 152397139 180211207 928486361 912877547 348922905 228982867 547482309 673786077 480009653 116637431 933961679 70818809 280362351 576159195 417850193 947811927 594920947 807516817 626050441 102727997 809258071 772785485 953285029 867463957 518092569 323693041 40686769 523070577 442467101 557573889 906902699 122244367 561904815 665399983 548907889 83717839 630706823 554642385 231716301 935018175 157025985 70750951 415721073 649937423 154870753 222377751 813206261 299007263 139899351 82841395 78271709 853730927 830508277 335603885 688075919 411402667 366003451 995160235 482984541 201050789 782744077 874428655 460034435 341908571 309885369 679194857 23380767 153660397 48772083 359537331 720739643 588731817 692204569 390525449 659251657 251146753 428812785 298899285 945032609 880017553 422647463 178778277 530283909 374746395 14831057 758728369 212454687 869881483 752219757 984352215 9342977 866555379 599664605 22613277 758999201 432952721 833398513 803266871 129457507 101440455 811249375 554741111 737851279 904966175 298465859 606806239 452691543 462330957 563383329 784562967 174455763 144500525 237924583 402444139 532742661 45961153 118368107 568199125 191817175 967020085 633759723 715672565 796318745 209410781 772073227 735478799 928550535 951071539 811791577 70251541 295855805 988039899 257393609 108481693 444970825 520619679 520966073 566281703 485765787 928444787 766251757 640597721 532920331 264209267 671483669 218672643 188929755 206124769 502697029 289155741 349820213 899280683 982886905 701577605 444882217 861935073 69168151 455644739 654952883 472662975 243157485 389438471 300073391 753755561 681937201 130235559 952651499 265824169 932862717 568983969 402486551 875455987 857338585 520048927 860547275 137495013 500735411 363548399 135284873 678751485 438271709 295216007 536696763 711106537 807969045 213040393 736912305 609837439 451950467 54082619 575005349 365603253 426514609 86052747 300753079 87570097 607785367 18086417 706225395 688707517 943784593 146938511 779425353 296524879 811005027 590796903 916140687 706333951 871684925 118847149 661755275 247995027 80912307 903114005 269663205 785039605 220764097 809660159 774993965 986069559 916406221 250600565 258899933 217471893 691464101 633343265 735367767 364038259 68636541 180068191 624914913 243631453 72594163 572566317 480024753 283139845 84347405 624922929 435092955 754834757 867414583 916088253 506433125 724808739 428444999 763811779 933789239 390315721 905621113 30327271 579244833 281654921 132718453 40353135 80725981 738881505 608440645 655269195 588806923 54390641 253466465 511136017 56824375 887369479 469309091 353797631 629857999 34440341 277765717 681022463 798312751 145812279 624324895 291287711 485386647 370368047 805786137 235535381 369719599 42202087 789638593 442739267 925501195 67237623 991088379 502415791 870828835 709334807 789785109 287686791 483868503 80397865 160050115 596877219 238625905 863304507 825113635 795813763 223112485 476675455 603076027 872996687 899097863 109813585 331770997 47931859 514481053 605504819 869783723 325657225 77556557 679690961 130151447 336191121 653821547 607951871 460867809 239232431 785076271 260493751 378393235 229237589 490691001 305927453 407264547 210683289 732031763 900479099 855116273 585651771 887854127 362017861 846577855 594985889 386934759 829379607 677915835 772426203 532670715 422079411 258220411 872699809 801569043 555757573 164688381 887695697 247237571 520538145 55039909 35446771 737296769 65170497 759297343 53446197 624298161 184269001 439381507 353542001 411037339 478386499 119757453 983044771 369881203 489120101 382799329 858120053 968537677 772372999 68399727 787073845 101704239 293372461 182464265 679250393 414387967 105291781 579285487 158160131 777506703 669693407 820131783 404916473 759951771 188555575 590047897 880556457 26707137 186426289 589654753 975380395 978846603 193839639 305722487 545731903 632738923 851017567 300596131 144550733 4474041 812834721 194823185 934884449 350504889 665022755 635392983 553259445 305895825 174006093 699289201 227492905 25595987 477499317 80867783 141090625 526952187 865018135 798843683 278575 603403877 957923923 821207613 464086217 257613921 416513911 598119983 658948749 246944409 747230899 688031363 816504229 481478573 4503399 931954721 84210657 74432025 325460753 715571811 752491955 121578825 247343713 895292417 248019775 448522893 937264167 518685733 733243723 821009953 462925921 218672987 780734023 65633315 279794479 535435927 193006919 873188253 767633375 411511351 32666383 902191999 269431779 584630529 879935235 255365543 694759381 433770785 481516081 779077585 147243643 35247917 83065429 43849897 650147775 675408673 633817801 107919551 123021237 578627427 237427609 539709837 230432149 503216065 602739313 195973237 854483655 609369201 866253225 334859711 81912275 381262605 509479745 937283483 675642221 899610525 552360929 316803879 913066863 214432655 747417557 859980639 957045215 954150069 996213271 762722351 883135977 471147597 631763271 557307751 994262747 756962815 643616425 593127361 779702069 140925655 839278895 21404637 74917785 773807177 911317103 229585223 60085201 5082931 233121703 620011887 494186449 302644441 885809345 82431149 229733557 213313003 498813259 607259971 137172927 27534203 416575357 713718363 295899995 639310857 70674229 951770373 695442973 585964667 633954043 386243387 451873215 410980633 530353919 340095197 582338085 344282271 996444693 73664183 798807641 226436389 66486975 378843511 508913039 932095283 807983653 142109369 841853987 324314805 375051029 664613885 474469529 859156481 308040965 59705773 771068057 278880981 414726423 872848921 100389881 515367251 933948689 489378427 992314291 109043467 710143073 762802163 476446955 425352179 113492255 896828557 321443819 92030823 107834123 602208311 363590441 716934443 92011147 428296653 52129853 953191023 638968241 644088335 353890027 510154949 512315185 538942117 476870177 861128493 928686443 791928099 261551343 814913291 796222311 122732545 117430161 192564525 153266645 858829215 998884459 552958663 782875147 201485129 852782857 807672439 650542345 171793453 5396253 492028227 838686325 563513447 735639937 424233877 906586527 974053879 767071547 442400839 874570365 17532357 812510323 178168213 674088113 762578597 624794497 974331937 893438081 911172687 176983003 963919355 242792925 679797347 308321063 380200857 319305561 138865515 416103985 476207829 420915511 208494043 171821035 314031095 327840863 420465927 308291695 240233645 344111455 604352053 843673091 16871177 173278061 836141963 131492881 122809481 815170923 61685533 158964779 79215893 864427229 722485731 580192015 488529401 664049909 585027261 571874205 896690921 316026763 328450421 787318243 972271363 424347163 138401725 831144979 624873931 466209997 250479151 763324809 118266417 418715505 627088713 282061255 577705353 924398719 23804537 775598457 95379599 322482711 207503627 779793265 719593577 554804477 23263549 512281517 218190757 754999715 283829549 198468175 316172087 339929885 791872997 615690913 579923837 125884975 947349591 691317271 666186045 264001085 401514077 149244237 408433827 567980631 618142133 500710661 827948101 41853493 53462283 8205611 906203681 460812597 947586289 89591249 815035547 131941215 432732893 528399413 798172031 30456929 331274803 684104121 367289605 815577747 594599227 803998951 589001927 105363447 388493351 130951285 654833871 30588207 187165713 829607483 321570437 606893199 408586743 757353021 617132483 312101643 536367045 908448679 110125507 121004869 864650059 712553933 963418155 387958401 783054149 677218089 439258631 78983089 463057489 800918111 117944017 740522605 510471161 212275513 281332065 617020401 676160431 805845421 766189309 798628389 266030027 515628243 976194645 280682137 797990031 441082863 885869181 283570565 408774437 305777519 230449139 219288263 708291741 432469987 996669849 723919593 822007027 429603079 676648895 619800085 47851523 615407807 457981723 299969831 730551963 786682901 307159495 788137117 41119083 422971967 271391819 853619101 88586251 220452245 57369749 309062903 234570751 913108637 560996087 341443617 223191979 493008129 643343153 150832189 270212967 299067027 999922535 652893969 560725095 30284879 122824997 710333963 253468109 127607129 953674339 561894725 239346085 601907197 642123389 884306555 67701727 574181549 558006073 36272151 278689107 229383427 603332545 660677669 868033219 496359621 803553711 737795425 97964505 498645213 430880765 444260389 524904997 216725085 145655825 813388157 638618657 654598529 564211897 501516821 110234159 907599023 719386411 281851205 903583639 923753839 703363585 160385549 118293897 461102963 178680387 472141331 899343905 714622363 455246429 97782951 190561631 46876903 103117605 126421441 918144045 895448963 987046105 858481409 72832347 328332737 904768027 563674795 622907555 343177503 444688125 944886959 315286437 954610495 113273841 766794663 468501229 77698283 146827475 994982865 580079337 871327511 892892653 604636179 384082165 556636637 971527399 258770173 100817489 545405315 514610651 602361797 282949927 507811187 277827139 989000525 865914247 145733441 979249157 263697179 550400619 658249639 573267565 449362013 237823155 174744457 888236853 640726765 266687019 533457137 41503605 292182087 857488001 719539731 873502389 272337555 12731985 67353163 539974625 154651555 202033179 425650459 432061005 516903403 419202887 982326063 510486715 988710797 817639721 32997723 313181771 480420685 666332665 565878681 816718221 908913565 21646295 481434125 77763447 729606547 13404111 622908417 249750629 866426863 862962383 685051627 949454107 25547287 222732979 52000611 101064135 761062173 226985785 588873773 298744575 597556917 969116943 415600437 952576705 430627391 977778371 168163471 617473905 377283 559978445 675282293 487556829 166533361 831772561 169508171 536746809 515458589 246075481 884984989 68835875 312436043 527037523 493498395 842455455 381347615 455808155 282791845 289177885 203209193 998327855 779463993 497547377 391270047 329749245 912774151 650298071 845796835 385629393 264504159 318482421 663228155 11056233 638705597 536223961 414584021 986214499 377508805 576931575 281606411 550761033 353328451 332866351 1111769 848028557 985526313 490133699 349258791 389713033 170901905 18274913 650372743 901762939 321134273 432009503 106893869 324187537 37586465 917902715 635120379 821729239 543432265 462685271 225452405 855094347 241883375 498887173 876911053 953081547 892910585 988324663 947607257 340292641 981635699 374901769 139599641 534665471 915233167 211298565 149703603 592100605 748744615 431200787 590346103 285680543 513581889 968345485 198214109 552163147 180751367 186833709 618426371 442954835 65903053 967803673 684428211 741231091 934693771 761918687 510805079 971992393 363154025 695729779 473920523 229607007 541448365 586265395 277565579 804496167 681093327 989934821 336512065 534124665 952973417 695354037 772138299 384448279 75224381 383933497 973208625 16936621 517730871 184477805 86998913 992498375 353379435 635928249 710967857 556502497 449177619 377143783 319099635 21049949 361186705 778032943 455483167 57014659 225243251 160511275 456746929 756273797 164449387 421432035 356605011 385010043 927332437 793214661 22147153 531265127 312675635 411320739 530791845 179437107 629282099 763104701 272197103 907413425 113350819 313375671 422628211 513254551 513073923 485986717 509513251 768753289 224708085 555003367 588755605 136903181 178458179 623496305 456019721 78868889 369171681 755217793 512830565 355268227 874503659 716912835 456222009 696376335 883169189 585614925 108862653 974125153 968712055 319978907 26194895 756660625 106444535 96621715 400155127 654771347 796564191 376965763 929376869 910986825 245227539 329068321 55301871 651907711 158934685 495119751 372990739 633651941 382779571 690357053 512484603 819992595 780186541 329285423 805318261 163331723 883581199 189073587 830016503 201782199 202252167 673613447 423155107 88331495 602584549 779593679 295987775 792056917 494140453 67732759 845036601 222348321 675127915 168727895 106327209 926702423 929125891 550922475 958555727 252896487 862107229 720684183 340656275 572583081 263707161 939271307 588396161 908419679 591765493 867855705 121008597 607750833 537382369 806230785 7928297 229557811 669331437 780318183 272818887 509907037 224035159 495122905 65044511 693067921 945962367 192062733 407094343 927737621 268365041 214466333 237655359 992549407 456942691 397707281 520425389 849512645 91215279 280459605 99425249 550185481 448009943 657951423 976985299 74654163 820071685 760217483 999211809 642329591 898288529 669554017 153831955 212144941 639327985 85143883 860266649 650864149 498661325 801152703 573259337 88689211 532892139 36191901 854996577 251208461 316781891 507921447 163064523 212263143 840399087 798161933 937008917 77791241 254638641 870406497 452362613 407175067 976694133 59123363 997403085 874034865 271326029 145641655 987791011 78604099 76091255 921937385 66872869 638427953 488097237 413039347 784647979 240462149 458127217 219239917 103748661 131346483 341511039 964811613 180921963 542853007 379305563 469179699 763317913 885774559 416903303 46724035 295959097 467536011 919349679 63270601 916623979 583665377 129233829 745130603 381272307 251956511 946350951 140911671 367421251 804638819 34520087 585690659 609914737 415551671 638243839 965754249 873249597 29844495 810790291 733994033 606983949 356039487 822741615 616433481 633644785 950750477 634878551 897428579 338207649 91945759 18793523 803830909 433139067 830119177 897240345 694999295 844721031 132458305 125022531 735839413 612881011 581091371 59789587 729649873 221416857 818097937 391707161 963539445 98930677 338753313 673012739 420594981 905399089 184710773 580828079 270463179 614632091 159631121 72050721 424399297 828927529 62160347 38995841 727411777 929430397 820895653 152194085 474426609 601913053 765735467 32222599 921864159 83515959 923568395 228161355 863098751 770644003 510755535 536433725 933321137 196290785 784542185 564552525 489978549 244613465 700168625 626937499 253417535 655559703 235043179 758890085 489419871 25493589 613989693 758926875 236672659 399995635 980477753 780123469 669137091 408454517 996824155 962965175 433116729 531622157 941252993 880160573 922829483 412060049 920455797 156800747 402839353 871797375 300929769 520839667 254027621 307451393 980916085 944263087 579718175 305101799 323869851 580332453 238123193 757791907 429946821 920941695 480100339 375221849 766191685 192274191 59842289 151248335 228857937 986591569 566034497 421323125 595581453 695857515 859732695 818350687 298092673 741556899 257121553 680377681 127660701 563567217 376294837 740219821 791721023 583761263 141146861 441908871 371897635 409103967 937901395 568046997 94414837 378347821 359930081 700654131 30050117 204271083 28243967 93009517 957934733 366844887 106076279 574179823 258040111 719119441 201053823 935792401 894672755 707697639 431235511 482606547 182005643 802517835 896560161 257137373 780101263 12191833 488336171 842508923 673194369 925383955 971584171 295978407 669318219 55840421 171290591 527146753 632767165 899329635 376115307 87892429 818352529 352846021 911887195 934768381 402993001 998023283 524933159 897515047 948558283 688119093 919716779 452314249 237990957 392785151 74631981 109639693 417625317 98645229 34376023 623566401 583406133 917948481 635297603 129136989 350247239 426682215 101530987 121145151 614569259 279346931 769580725 532545135 711310811 168901791 471112047 288592667 84138295 862166607 251620429 319716381 735087627 8178957 120746351 757058033 679612677 26464783 915348311 565609921 498009025 464708013 35487219 175546971 610868159 23380075 402389913 475497269 117444457 83274229 29033989 196850545 232213263 688808991 579285343 690190547 358740459 544271331 455321393 519067855 104566045 251543653 120140147 186573175 739712689 311113201 474676607 341558925 718342805 569301239 203410207 944517751 684301221 247706389 517117307 187998535 579131041 209205775 92191789 855012785 564885811 125732045 503136303 212769813 697756393 863009381 363838695 625730427 700478017 262782739 645839137 902429843 15984539 552777527 737259541 732490419 360818749 654657629 728643167 159831257 765516635 213728827 58509061 614281903 668330255 742558121 712881267 794098565 217627993 133167533 592209279 365155661 682934561 438108273 190115941 178097579 604551483 5155911 832613837 946804453 291089247 714575019 118654401 796759787 549100333 111765315 185821367 191445073 702035249 198842069 175301263 601006425 602524633 804869209 727913355 586217707 522070143 657309161 591755097 472418197 285924455 213282245 347458575 698114189 394848697 762419549 147460907 755571893 89020035 763173955 805533841 409281937 154423235 64000815 379357069 966132307 141289047 126262537 484220887 576455891 253967369 539720665 76218507 617795725 331083915 22811089 733655855 422408617 780533879 530814545 105984175 654874615 511185997 981086937 222476895 447551471 949570421 810950165 606732031 89831857 884858689 515921113 657351603 89474561 781533677 12250909 748119817 299766095 147054999 889168137 951604727 619072181 648230217 828319717 692390615 753411825 554593269 969817381 115236977 169303913 257431925 270923621 627898609 926743341 75178887 29069159 602567405 898619381 308490455 882011927 518079075 461043999 233527799 711854217 59290549 549436593 135863389 874878711 447319221 235588191 156594029 52010437 431126419 910707323 847774575 184821117 846564849 821689609 318128789 381843667 486433745 566701739 806603769 801119139 689227427 63989685 461359769 683599343 823769145 391069467 29643361 762252517 54705619 179537279 761601315 144080851 69611285 808220197 159759765 254046521 282991373 310678527 945930843 668161977 712384815 80123557 631560957 86870303 182713945 912032081 617636589 946385243 487111121 601407473 228054659 329342347 337460803 305583631 981040129 366326515 253900997 900158949 163066001 91130875 375530963 454562641 858560325 139283257 289217621 957292253 989654547 916867175 693289109 675212467 815682783 776899945 945711945 125797807 104572529 993754955 371633809 621189199 743968633 852645693 179568367 455894457 230344595 305281439 595878993 679154365 821433409 401790703 204012303 531429073 575184361 685341405 501443809 345280279 805427421 801756473 828706289 442438997 755152983 666833151 852053451 409696505 581248377 134197077 145951843 212579869 512988745 755801217 7666455 46153341 30071485 130472187 792924075 331322499 213108139 686184027 577667919 352870971 789965269 851261543 168207767 310719073 524484837 541425673 996623743 70597967 302303339 284559955 65957997 50084369 740873953 893433219 4706607 682185043 779016361 869084665 414828793 794950253 194389771 105997635 93582955 976774239 583111991 92070163 628056711 255493327 864567113 308110915 446391739 983072525 904053569 931373529 525990109 377333009 954887689 950201343 345238569 220480633 106482801 62794505 104592967 606172559 676944947 782231663 703490881 864558653 291677935 203280345 824665487 443804447 660515633 82329103 639945485 310770291 854809449 917085189 551592447 327984927 129944813 728745431 583448085 625070001 345413891 656932295 41519969 947010405 434169299 570789185 602639715 754252055 801350509 21872089 946765311 495181391 732136139 884685895 132198531 318839355 500208845 879480179 910998691 478304949 971361087 18957157 258444157 533779257 132201935 336564305 921046679 567270895 760776985 850818963 905266397 668585641 79965597 288788655 606009765 152267227 633230019 465476173 151998891 974795687 783072223 435206465 186602007 149009617 511781673 888921481 411938675 424865227 229756097 158497095 909123255 394650539 96332723 905289159 782347325 413654833 837731053 579901561 698872525 245345731 962751563 983066107 530319509 272212083 970030989 288181519 937053735 256650997 617342299 400038819 86143363 344861865 810457673 910890439 801283341 273416599 772515789 748470967 486562961 855349615 383988045 287604183 902032455 75812485 685471501 201189297 778497995 344062685 40209217 655646459 57027875 105745691 855528707 954168717 159586747 738155919 526796113 803775853 51661671 976562479 296179737 822254019 174187879 380815517 670189863 896943589 432291169 560193311 730843449 4706895 706830431 694821283 168491757 680554913 249768919 941905859 314892749 884511143 437124265 875745467 804880715 728715863 793522709 875917939 740641217 854911177 560683727 244057725 941169519 904403523 354566119 352610061 1613693 372217647 171954651 489144325 528392445 861198367 350333331 381794281 706461163 484426959 377183065 103660779 166201893 202157349 107379173 600117217 356537461 936696359 626455891 431020363 65365389 473505037 113842727 358711887 239852807 531176497 98068561 459982269 396051553 819954709 440868389 73556749 812100103 377600101 499394911 162705245 725751883 185524979 64429605 72354933 940309091 711777981 430288899 406914501 179971443 1493731 423110899 272586595 142271875 258639795 581577293 384927501 771874949 198927775 948080601 403015469 465417041 116106307 160819395 900299217 759430315 171993441 905947809 505568177 855978041 727603173 471443055 814220073 877800333 95320289 225345939 845607237 650082593 917377683 131711197 130119857 389341015 315013981 777829245 929590471 854727031 476862665 467638293 930357891 983964339 933054603 95110567 393261453 966516003 281737599 808557729 390042935 902676171 202598567 117981659 269218677 518364817 406492207 356264847 772451817 701051207 333812331 228655201 493762263 186934439 138702037 306109539 485247025 393179731 628480271 900846087 705373325 722411731 742773225 159085355 889841707 859967127 876877905 85352469 513524721 970934525 303857765 571014769 875947631 437052225 588001383 896186963 366380765 405804431 277174723 754080059 109675033 782782455 361796621 755420431 274412459 370271603 250295295 831913753 18434243 653890277 294166141 622040847 162110773 298641939 64622483 344605201 816897669 828425395 39720817 949257633 755547863 679186779 462497141 585360557 74801659 791536781 417029411 834111115 207347815 499823027 295932707 55200249 53055549 317681181 472132171 944101913 211399235 876779013 923452055 787071869 347214055 672604557 358050855 556395799 975988545 147172283 87451207 404884803 31992337 747118469 382353005 367508683 92460223 38885569 787096881 742570967 972946007 46975281 503413081 178831105 970045077 714524541 614801101 162639427 363778771 617304633 248912805 344318467 541523739 922904285 96618775 673476623 923965725 213468363 788041353 496308379 608218415 982194761 726657159 907419461 3174737 975076749 292731331 19164179 456677417 838798765 924306455 588535409 744876039 726466987 165046665 653800501 873298915 917591407 877640515 425607325 769517659 586402509 381238935 957974347 524895927 34708093 66743299 63157071 537807335 16319263 285216295 125365279 676567935 733022271 866601681 794922135 719798467 82381131 990325235 203414011 524643223 830019231 226939559 116710649 914089867 789185147 445916723 557081769 488733397 219407367 841035009 614291845 732538199 202251863 645158821 691689585 690687893 930419043 195897817 503017919 485100995 834189579 357166975 902060577 623363763 354475035 135769509 970509749 905337575 312041281 989806973 867149569 264462727 643164697 771514723 271213553 729069919 269245985 26143193 784263385 674502121 775025095 271462539 293543803 22872645 352843095 995838285 197856759 779150391 251120143 955313945 719952349 962891057 23354637 380525841 112219939 263877961 470335581 703904131 994706723 130786365 677884909 457175267 676835749 859574905 359664279 223040201 230880725 875789319 20018975 912987385 708546377 885059489 881369387 605356639 716318975 686495141 834734159 256928271 178215515 556212507 671374593 302393411 16987177 638311601 772755365 207002463 883498913 490482625 365729669 437106925 511850335 606246727 38346191 550815907 255189095 176819949 945703069 187304793 618900265 755164673 704934387 181299731 362442361 176307833 759003831 798075135 799347859 95725047 469634493 487232619 4988957 6782657 471131323 224299481 397055269 951646405 733210453 172572391 978372127 808098459 669745171 135164001 106762473 646266499 924107623 490189629 384717257 1648483 6390443 783089043 899575915 302241741 179929885 105606569 286846693 434915573 771076329 281322727 55741621 150611387 805785633 377501923 704771005 728119721 316738491 693739097 469509453 638421995 935302299 313648681 916198171 626158679 497556105 956892767 930337859 458414193 711304503 37598001 522795081 364596317 840652605 5619191 646085661 114792427 403804957 607096887 573805841 763403667 655202369 532834459 678228453 800891763 461728763 997040629 867098557 32755795 291116161 942306883 874619173 960165027 821742071 969217957 750258453 267387767 42663269 709921129 868639723 331994003 349750717 214045441 145909351 986488921 122211031 448521479 179492539 155896029 892082805 490263105 786118523 730552021 260042561 156427929 525986467 881262493 328128971 492112417 750968475 224375617 378296205 128831511 169883437 435603309 693700073 353737693 445893775 680106617 459583271 10573819 994644065 735495269 345110905 621336875 765178533 36069849 864984055 246047553 45611209 187160353 315828131 886875205 559911587 453987127 378283623 338094945 895456113 317900987 214041619 190160361 462769879 126755057 389040993 311108183 353943521 623968459 132147955 871836493 838650375 703082973 586869327 636916377 430936613 504069483 268093163 991008303 258547071 332958553 876881693 506705703 301192901 834053943 428839207 813195973 872816395 563152701 804677683 768160117 26579661 334637385 215668049 480206795 42600177 533484515 97695355 724380545 652592581 465445177 275483025 139553401 624326653 140587557 758384991 331028419 800219063 667619619 167774869 273215629 579906425 987787101 353418443 234398005 505411375 749767073 561911683 105360957 7521071 491892581 378131237 536676691 986318135 495558091 632869381 997526599 302659945 655566999 830042459 133012501 613309271 52423483 101052487 509033441 5582577 438547919 547413205 6204405 56992665 639515151 497773301 666258631 978584849 884443235 670158205 253457391 943670409 599203547 202342707 783786801 910325139 608352817 838787007 255655291 540654383 623741631 879655089 630576605 851191489 379221903 15359105 867610771 182953751 633072465 801306517 461555713 950459237 416703835 206141233 414546867 18517577 43443371 291575435 147435865 157697737 939380459 758181303 127659475 708580689 894116713 689152187 121105951 525593271 460250141 670042751 525080685 792850743 983680165 609804753 459522317 754904439 837000009 316891759 579849597 588055429 710430199 77372919 589608797 732308951 606111049 601689333 342116731 517958215 631876987 18180567 600210121 486724895 314500983 446412793 77459809 294668807 794219467 770611353 225608073 400456471 635413933 428076005 313688235 452579789 359683583 717734889 691752025 370107405 892770885 445121443 147925841 636679971 906159537 452832753 891390067 996395207 61749785 156039325 614289357 554515989 313882877 308200795 895834001 387931793 296526469 406823103 67711771 479284011 286108285 151495503 60085741 354016055 104696159 471158385 566573235 104167793 618240329 143546233 579315263 225053951 853543173 256339101 359968399 107311215 11436285 329298945 893586371 688799925 688865357 410274477 995318569 374272049 762053043 479004051 991276597 758942117 9437333 295798925 653488509 647947071 33462275 977422681 852319177 729218965 54161845 710408869 574804229 486888611 875912455 913054461 716300607 493461201 95157253 546596829 361226167 808471529 248719965 220626087 35364303 305905187 596422243 344447397 121390097 34285339 383073817 839586051 989760817 618594005 683707943 779796961 881019147 602954433 842515675 376081211 467635107 561618097 847172395 889878781 63625761 511922661 852588473 5214969 355176411 823516161 333914057 359391205 367603531 252026899 942702669 104962661 259343125 410222479 993178331 83412481 789162755 61319507 152727731 288015915 729208585 252001957 969843645 169007931 703244357 481674289 257072517 418798451 608508917 124708621 295880261 53769213 763029127 495336373 829383131 670551531 904238735 464593679 282393807 920319795 612404681 779084649 913747281 703262649 747523605 822634873 511012919 655998021 739966079 865310555 385505281 594332551 52773437 784110483 476976085 189951261 826525607 732969487 331265155 322230915 553774403 874517285 106567553 681910821 502867641 761075859 391754737 868314707 974591967 254156413 798455193 76431943 509098417 543947887 436272103 418259747 542387023 416624225 762350837 509806319 788673287 778920367 351460991 198947739 8308553 363919903 955620079 659190275 470876085 56581853 774452305 901338857 393489931 647250813 617558369 283510769 887094069 526258431 356391545 656325809 96629835 364533449 645608101 697302945 799019907 592698789 574949521 334581027 442492229 349677257 310664597 812118655 878146327 142279379 135316145 696499941 105961649 31501001 907684235 138435185 775591149 399756055 136168307 409212707 884752589 634011285 795328097 271422949 916433021 775300987 365473267 786028935 377151567 421487731 569710193 137247683 744261569 14084487 362123723 547585595 892047475 519749935 409893015 353672565 827282227 859284807 813123347 451375591 120515315 470179859 88914985 946908391 865877967 304564035 976896615 61462967 315662857 446777065 643690757 789991039 393258253 661956229 143169761 224889683 527379567 188617211 937597315 176353067 354940649 288347801 763107865 482278119 718613853 475211795 765835387 170141267 544239067 135542663 452074539 263557405 959117457 812062331 826333515 35480545 704702685 497476059 848161711 675089183 945048129 934337277 929660875 696885313 264979817 256911517 340299713 859901077 987380521 559392739 457054293 420314201 750796155 159715161 343233017 74178987 461981315 551623157 742875075 775523223 197485451 724016663 524274291 605093643 939964423 982278785 924719983 249433059 394754195 685027169 750738377 933434847 794124787 849370447 701094709 899539879 308206607 547559491 770628371 748847567 786264317 316874407 973338987 263442381 460759031 253700167 725438443 836066055 441484385 631936343 606854381 1767361 526667975 170677109 950849647 204605999 773623257 755793061 13289239 805466475 881435509 524214871 822169909 173912181 254040479 201861215 673902015 879609653 792707969 915349497 4241751 836748671 807310445 829275851 519652675 897749513 974694111 262015459 346811505 520325495 585321851 192894647 513652345 276464467 915131917 483152929 494635165 492866827 572354693 347793769 49022143 140497657 165336579 345862971 69475443 665007457 581949893 937342125 480327149 819412329 434049083 137683517 896418063 195072549 944640501 249872079 784051805 187352459 280966321 966929071 852913161 165492607 706980431 805798549 338094313 769758409 919821789 355292317 529784701 858582043 717843597 122815307 324691179 598663439 914847417 487770255 275701251 783870243 665563367 891408059 924493373 483111107 668575425 333459855 588942007 358240321 200525849 448785199 539857721 305768659 558000621 86638889 977834803 267196829 236025693 451377521 445271227 290323623 142844599 814726501 100944271 174421475 762068077 35386059 615466009 564540969 459597851 748714191 29101671 579867197 960301443 456794887 430754095 36757957 927509905 865553009 709363923 634254931 324428121 258081391 801031769 571156579 23384851 262239697 668276335 597518929 293568295 682793421 368818799 365998955 354317597 477556477 169206613 681900257 547201705 198444139 773861065 446624971 350618279 316672127 24692765 596332845 593380889 926871057 440829765 388630765 710092587 487314783 513019363 429155037 266145329 299002637 854570043 772961975 416321701 310150441 772570687 893568029 222984747 39041063 842559109 258144151 531750285 839191013 10821453 187796887 693404607 935008423 514477437 319142261 876549341 148397085 979841445 601942131 370609963 824953435 891397885 398253755 477738513 62172381 351648355 878218333 835940645 49319817 386639711 907742291 295073569 279609261 604066081 356264319 446350569 537563903 117803389 241456553 63345287 304862361 626181623 107815553 610271793 454160899 874270387 660269731 832910655 185074731 606206849 262718095 612001589 866972259 830262999 647001007 347238081 123207529 965158103 592531283 418898099 941699173 621653063 236452789 37933831 496880097 951612309 582050039 153941985 329901269 705783257 589088799 466805901 31234973 905324499 24867875 613722747 795151101 292877547 290422489 516427851 61511461 298145837 354885123 317349563 909960361 965362003 456971851 475433403 282105221 621517245 748459585 406093147 648313887 520706415 179051871 263301335 421790277 732433947 459687173 190795157 772188203 315901463 412274047 42753563 200055151 358379875 72272635 129369377 703448599 513965221 670280341 366884481 213337487 41389613 494116173 432995387 655283117 721125619 492888331 313114495 766757293 377505173 932746659 386178461 380167991 840201051 811978701 680908563 730213717 432882997 140245035 416595585 110928767 534898359 306793539 176557493 906186895 531468581 571603337 737103009 512469967 847551075 731509335 931322977 874517991 2920447 600557805 83681847 807122927 614527029 529686133 318420623 603027557 437639393 244034557 546428411 782730797 649969289 373781379 790294073 303163285 40597345 937797861 383129385 633949009 229395003 249841391 826946009 642144127 186379673 984734287 215681405 331167907 128589985 213064865 153957995 315336365 888877605 408157027 864658731 785985009 304530841 785051907 881124201 380426283 777675807 569116111 857412339 615200131 173749627 501384959 881773769 578634115 224931103 817044407 903280653 916866081 461281057 668608001 669942537 497663165 106333503 924364235 567114801 997173529 120002021 61646831 401867553 459966051 15914781 987813169 380822427 567494705 468585375 66953527 434934413 454076289 251364303 690481045 122100485 813955509 484169391 765845699 175104835 588010399 331490543 392534305 477198249 122897009 782691305 127149561 359406019 373100233 586308249 74161789 611136321 671438251 842159785 189231301 214060801 865018759 487111527 627606229 388191239 214796079 259124425 684948883 624027771 501279459 834009713 856029139 890289843 303488841 45858979 460277067 233535017 532967017 850000211 889617823 923670657 919715519 181519635 913490775 377505927 357635107 559377445 889527013 99966251 573230301 176873839 853324707 347370123 467009177 625194371 597308111 293881067 188017517 12240789 949654677 394263475 582777557 869932677 566041863 947901563 371394233 768047581 892470043 518557177 827901539 438964935 2966965 974998803 289629579 252878623 157648029 537509333 764924747 434724451 478572933 121750127 775734061 13998265 163211013 16924737 738647065 597677553 968008097 448211147 105628521 872894083 243723455 19008695 480285653 576352909 601162673 261532893 706482311 369933527 406027953 723505459 347223563 285969361 144960993 937609695 286770005 729410191 438933065 993924141 951498435 405974483 391490779 567261583 466829083 646308101 51378543 699796129 218156169 409892659 934657991 784497701 655890339 675653651 808748173 792338949 875244645 919948551 701802065 658786905 564662069 933723669 71889039 133377623 889902561 470102763 555492003 409558887 826179743 280956385 593326811 945356305 990547721 559456503 832031079 531215113 440065319 688034005 539295071 377596971 487822439 560255431 827617221 988530041 548357787 97463495 809326723 461916191 89507585 90613363 164076905 531465071 58339649 635767317 397924657 323307495 654828135 532253847 373493885 288832041 249970151 861988245 171039957 793508863 100457117 750494285 988601769 210122589 113195475 158203045 309932373 568197471 368562739 12207149 714483225 372460359 861270737 569398557 90727711 823660417 912153645 149945171 149201271 65780385 549483821 94738263 91877147 659979873 605941785 268689239 472249837 690917541 579815341 925241901 923312307 236790903 879289857 664353877 643764259 863414539 955885469 558841593 951565779 478833341 491420269 442428647 952482117 552874001 977105607 730153877 728335585 566818479 300123239 392298533 751868667 966638189 702803317 400129627 741719243 652415045 216957307 100390825 422467443 287607643 901113969 678769191 921323257 560096763 924350899 390035857 544495443 791749781 484145925 798647887 151246677 989620423 752455575 619834481 129836485 321666645 600354555 326637743 428590667 235286567 986886193 294884713 527788663 787265363 705855645 89534371 427961539 809222165 858468109 367077903 117590927 175482061 585357493 116691971 151445029 108354311 515902003 382694013 355471801 636786809 394581645 992796967 660204127 264042491 872191533 135267663 347021341 198472339 469793261 877456109 269466587 853645931 821213193 968315295 550905961 793309141 863069987 170227629 401886591 822452301 991009611 477511429 288534209 894134647 63269111 528424513 594989241 463599647 805571073 66666397 104646613 680067895 768818353 564357123 64314225 524245209 92751029 230610433 710677195 280452427 958394911 515378893 698257425 138882551 745858157 916557129 593249105 742582895 657075079 93434617 520999811 633959793 342171321 431587087 817456523 122587613 230053815 28984161 374230835 971865025 469941151 648150895 19929641 795102543 348457461 243277665 650972935 690762723 145242025 106363139 72245841 91197183 654817805 708951247 214815597 397557583 407464419 249479907 391257519 649748901 709373003 28084745 546436941 649381375 199075285 230961835 761089643 920801919 206486901 388788197 529655827 419809903 911897481 279819381 4003123 162342211 8862935 401901505 21671845 187050391 137927563 563973337 602336557 415451693 53697595 493937011 287998577 604972273 34943717 89985265 215494659 775172087 756426733 823029081 346093407 544175225 477921567 173076059 326750691 815068633 303972531 123773003 938801625 269035175 11857987 790378283 579455347 712669585 276362713 701127075 374074313 951887477 245212893 421868545 141272029 966022997 378494249 658335035 437809051 254136669 927640055 697063411 517801679 540233185 676611309 532078957 935960117 207352667 234612503 780299419 215356527 687580783 507234287 432757523 772930309 95605479 487901261 41989653 315394921 845385913 29219191 335542665 578883571 221934333 191775261 86370043 211871463 426726647 329023827 911445157 394088299 4668181 37235095 944337509 238913681 665925607 317445579 37573315 870034515 578530601 704172095 842668527 687814803 103184063 316744105 571985599 703304729 93723573 351410723 947267505 332392855 817473339 705068597 230359023 100055205 2402225 525460429 789981767 240103621 81904533 395711293 209589809 259109473 671578263 152525893 892349643 896692169 48117383 122753799 752273885 712810039 800771169 12327701 229541077 785408717 91382089 345004641 499915725 70426003 513127307 972854345 479010945 58709113 892735897 763895441 556791129 981287005 964089613 80324201 91776103 518780923 8227245 457379173 673895519 382735101 494231651 332474497 126399907 786174713 465881665 179817763 914207543 919705699 548152709 553579545 261945805 98827165 479112335 626283161 639853245 231014899 985020141 277993789 77064961 894015637 272794705 874383629 478874183 248599451 849899925 947030133 264538585 715648263 613833663 885505099 807560625 347266497 634614521 702008525 581004141 944290461 657716119 866739357 60490581 698532691 748343057 114973133 452821337 618535301 754091791 703412429 49284623 724236729 468949593 396686207 55181237 377813605 423972835 425979943 939092789 663616735 513470409 49482863 456503581 550528617 981651021 411370609 623632037 574128427 47391451 94178727 854870187 380923193 879243013 409074167 549354679 570236811 290109833 252043437 259305463 362212099 888111433 147519875 68917827 502078311 779695183 975697809 302227229 902245483 120995023 726408287 204239527 418720937 987039781 514128089 7970997 751753889 846951379 910631507 191885243 535902141 607272071 525385103 546611675 584472397 779358479 197581741 635956185 781135753 305702251 82975037 484323879 365826199 580321213 264889141 503179739 571915643 281975119 190256625 506165173 859424041 710607767 953924661 681170203 357638011 517951789 935049263 222290205 2670641 970797781 120723573 326409587 964107763 538876541 328940293 401018237 82528597 277619765 733836355 983238975 722956239 69393721 35447805 110219881 880807105 341734125 508235367 120400725 749660789 627329499 934236447 834172929 65921309 827441337 393995305 4395283 683529683 287947615 164496117 123555545 278897559 148614097 385381719 990895695 691223121 565190461 798114443 973494289 627747285 950763251 80532023 647365479 374310105 448569711 30661481 475284799 837563905 375760213 650871701 171074865 932315351 451839601 733180827 860149373 360214217 737195701 591621821 369467147 558631473 617488187 608994729 188426345 875284307 493252937 891452277 280569037 169115477 16855879 792141471 825418263 796800843 921254861 904734729 761536209 963865387 993302673 738775557 41997607 509074137 573219707 620100421 858805745 188880157 921091473 235211237 412653999 775001769 442366987 38135919 822416263 621312279 587405123 67190475 690744393 482846693 592421305 433613139 713885549 50738047 369603357 769128385 789679121 8433719 931384129 788369467 246922749 376558403 717052189 655367247 612719265 304902087 335637465 189898737 630495763 745472971 586676157 431337087 703369745 856252737 986269501 154818495 621489925 666165507 14264819 688195293 85666045 793609679 334368677 82339695 294031023 627221329 776546109 499628145 657441405 931382041 144098255 941860171 139761517 620945315 284768661 694634183 776470573 847865677 558205681 124959261 865437719 304309089 12493681 609768935 623384615 335966479 965814985 437961517 848050181 951960693 977390543 129117789 674854147 220816783 371711373 936574537 173292821 431545161 961450537 461412657 610613213 992947315 245447671 655322041 401702815 265540295 445905525 126034413 266219085 104930279 741401413 834211909 573444221 740495963 52481841 494888093 252481135 430132373 299826991 431323963 558317321 680777197 658659159 73219019 808615643 492609957 939320813 633799779 214115613 414420455 334052445 472592511 160783021 996911299 925732923 42327557 215891219 963406643 732891713 870128195 573475711 795262489 598260563 453374191 188493253 529467709 594411901 789369123 927347049 472326735 38293743 445177959 142983311 746147307 208173319 325952423 373349639 341225617 340123465 661627961 520918343 398218155 112285789 996899035 321365361 559807113 113617689 939440817 178141257 960797541 111402359 271299143 888603715 10755169 771880347 859449493 15573105 413653637 448640209 186619895 997011349 960387777 253312139 816200497 969473815 12119793 452390755 915254387 640859139 537753301 298696735 137234511 493443091 343229207 47734439 447191749 755645607 262416455 795038481 570417721 273330627 369575391 109984921 815711865 123355417 543628095 454743711 672824251 781193983 542476979 452880305 601367449 115225973 90596457 246355583 315870235 242005281 901734781 121660137 987514029 767849555 251719407 168670959 210214181 207941635 10701481 328827837 768251071 790144719 304186489 868265637 687099681 155179519 388416797 501343267 735327067 51251331 998358837 57132765 2406109 562600943 725945415 119595163 641252489 983851399 997158345 358764881 592353697 964421423 766465551 708980761 725869269 145684085 483860831 187796537 980944183 210202005 950701793 133336091 2382663 482210923 384479651 332827219 333029865 323601277 964209059 101464217 263341417 360242941 797821631 902655701 836698239 419625923 526448067 591026191 378260809 582860875 1074013 702673275 566851655 667695549 333988137 615310709 957853547 297009899 266927783 944780927 634967817 448393033 332971583 235092037 583887069 202230775 328639045 645013659 253707021 776270527 71381999 259869305 69496615 644236045 335269475 650513671 998932769 421542137 902210469 58514573 611209813 897775681 672764329 627709313 537722507 155508559 997169993 809143673 352977137 409282611 889349443 633117759 110073113 44115359 126708549 475145913 449409537 952505335 246748891 305703933 740654865 541812289 656840323 679829573 435066133 175580973 702075035 140770805 489943359 669667857 687181421 373742231 685381681 779655147 282785579 513412063 94460655 361644133 212750575 854325419 811340771 209416909 595593143 109096441 490111463 435241241 600922735 817716727 267019573 671063275 881301993 166781177 201344115 514251911 676161499 99649657 68103599 83377631 509213161 924187675 781948765 275131787 127808669 230944427 996369245 378183623 629471331 234695963 943421935 222983547 830381211 344572293 280390343 716344121 88227969 364664365 403603443 467540021 792541249 681528961 806883063 266113871 796086253 708309521 373276083 66657297 650438267 239412121 889452409 410388901 921400527 598897151 720346617 489043431 940809905 988145993 29629525 465952853 723743699 836774319 201741327 189212949 170731213 995439753 363450903 77386231 540707875 265749341 797496767 18998643 429767483 836095701 5535687 93704103 822380903 75589571 334983507 643342171 82415841 175862821 887158001 620070653 864542667 370363931 19341717 933317543 348617517 367005939 902606237 509685269 716171257 29862941 32026063 756280753 854084103 457892921 156682325 810444681 367020825 207116295 913656265 499387219 138088921 984339827 91295781 381148785 20659417 666984591 569483729 864914153 830452623 167412889 632230039 840266857 356347229 417299185 953744557 869775177 90722447 807636005 587165107 904138121 859290965 170502375 187557803 53194703 779914951 749812499 767235075 860294765 206120423 967294123 304868497 84715095 983697055 237648603 447580307 573020205 943903935 288467703 443471789 481454393 518632193 528580473 292722923 874933861 102748167 943025923 3455429 788581197 317526361 105180515 618647831 705563951 147230311 441712267 685262375 77231089 686126477 439579543 300836255 699181859 182093579 25669579 781205657 938398461 120573963 617154447 915174287 877207901 740013469 873115511 324113255 485365451 659439547 397753153 741557871 205588853 532045383 981585103 474734939 841264181 539308039 246115627 40796747 442611591 908015025 61497227 543718849 283744405 143689435 236362311 930716075 796193837 115775751 387288035 65053791 623460293 482768031 840326157 410287513 829941375 906524145 536239251 695486337 425527327 42784827 157262455 618805153 162702359 808306845 745574615 27196401 716589695 52770589 315076607 384168907 221575443 941860273 561529955 733639929 855402555 552170287 357470113 992760483 895601159 438117977 887896951 747752547 255645999 931924183 253403349 94269235 50957843 311676989 975191243 596836473 370402231 649571587 24289685 589249281 177543885 97829769 545847191 872960515 924724395 841806107 720134237 169981979 927160911 212894439 469874583 365110351 115139939 911087881 174992421 706749707 146691893 90265471 662020869 924422437 85216701 550657335 895498343 819595481 958268057 688815871 521483419 228649679 262241809 480024719 371524383 254928145 454018067 299006861 929354131 444353045 761712953 448134269 480448709 99410875 168065471 930210771 405900709 291266629 797517967 434614505 133036115 200095585 472490037 467050751 146393359 420852005 158659053 368854077 702165317 734988047 825822865 789122743 303485063 439996163 130589101 78281571 974282129 535327821 899935853 122893093 425886537 452354213 854851753 786826695 581438903 287186215 226459617 407409911 83581199 504643417 297759293 905954639 48451243 310420519 619137417 456890195 526943761 208404709 82473023 935444073 871113707 216782419 666097789 924217317 218088205 986915733 913790731 939491325 205520753 816143161 308332121 101469909 159249209 755253813 267871101 347445111 602860979 591596259 434721591 833002193 538960977 908672011 194392813 709911229 392944559 587319257 595140015 835393791 462943887 942442723 323018035 678050877 241746653 624677159 548081883 250559753 371803309 717262599 616146605 215513311 561356089 540355157 351114327 647123741 101708773 907619137 34258483 955338765 932385083 477183853 44465213 472850913 530582511 264797403 339506975 266830257 356696541 106988283 650221863 35901569 915708679 453436319 622612811 293656119 844643483 876376071 150250029 410579109 825241065 80375255 458147089 272646789 263130989 418481693 47815913 732185209 425732555 77151821 333856075 616056841 174640845 24173893 282700151 498701479 387015271 626213963 300941653 196834475 391684533 113011211 384959089 982397529 311159803 517709211 537377541 386648279 540533153 268727671 468416239 667332919 491587901 530954375 491889847 94830451 7102091 349267221 669753997 507328877 300169579 554491863 535665479 145865709 395807465 93669101 1826659 339480485 650415163 673072345 191331851 742604845 41203641 30171017 708545549 890172167 7549929 859989 922974433 91808413 977716851 235249141 568776101 626976063 82045229 870913939 53815841 443357223 546307859 729349563 579684291 122705015 649042245 691162721 464823459 967072311 501645841 444644067 296491651 582127449 680920039 715948805 551378373 484384949 25810023 177538039 830935165 488600845 119376207 4196173 144612191 710233611 72260495 77774851 155054797 181500735 914814009 350760319 769103307 59116323 897635205 932870799 935888651 495195159 600039385 346997863 54654947 155519335 60860097 629780903 371729235 592254019 560531439 171757393 138840323 902580419 314201151 129970131 107903039 952586473 176136883 318804995 181959937 353410973 806636407 250650141 803917543 662358963 308875997 442597065 693754425 783144163 83355747 224016401 151003367 809856719 232144809 650341997 635624327 939435007 86282621 972645305 650335319 873242851 78336721 127027769 151343169 971021015 156706753 142877597 754789843 413660955 944119439 26354679 6970437 959080409 398379175 86354631 358273653 983272735 345663901 321443313 569386473 439179243 851924523 934127299 455401429 677042973 233238323 425276657 644627979 545970811 455082691 413545881 91124749 109022651 885675279 544457281 915955203 833151857 586435437 161784789 361063355 543739939 985741159 268601771 812310955 15761721 958022051 657580159 985830387 833907715 721109751 268224377 346145117 172358841 938035549 674963235 608192597 583871361 641699065 419126389 745239539 47739231 761366805 467396553 77272823 252919625 409058085 675558375 841748167 801461011 233732549 188968189 473282675 164753027 562677689 408000925 537154995 738285631 960251625 422400967 381364711 860959963 946619243 691048415 946977043 942796751 20529273 966818737 771255015 980815483 579321719 193089397 627380669 322943273 287158001 228356807 533614995 320035341 575067543 956561325 398584077 876664379 756798791 323144083 121710207 350917817 233480197 251579469 905468127 650728301 360111353 977897755 144964299 624720939 282460537 338052003 169595275 235181481 795666433 849801455 415167501 874765965 524727601 98459253 628009961 18518619 22814933 757960467 905366623 394757767 15850723 862140431 840717655 135223145 906545269 833532951 851617887 253503301 547595979 277824573 23215021 944824129 444095573 283212031 885770529 847328881 558799267 339765061 182278981 1583307 513806963 633690457 58561093 234422323 257163429 667699187 688687353 513275763 470192455 9302831 65427425 435189561 731641737 701013393 686026787 859551519 937011147 782569225 58866831 346821799 792728717 300749291 934277277 410588221 967441275 126621681 777076075 71972909 437812327 758831943 925395137 150963 603454543 608630643 802262543 511938545 48571987 868174449 107930473 989496047 582607553 388126105 350340755 849505439 718370827 29476019 128078321 895408091 870288845 438615787 15188371 435874145 8546249 8316373 50729007 805892317 173040875 515526771 372632103 78963169 316063301 696528421 355913857 160034531 527622677 944734141 647417323 803055687 149123773 736360555 939857853 434350421 486659527 702882001 853562617 141599549 967949543 128201713 605736769 420239901 535152889 398230073 739471337 384709617 944923391 545163905 285751525 356820901 281559845 113399043 942712789 925761545 376620991 360114787 980597507 607658199 806781511 962583219 391496795 212979121 737040993 81692261 512449141 816049439 922639575 137120599 877511569 945709971 237472413 342586319 397224597 584996965 255875535 739443577 454196753 649853655 454701743 653014121 565249341 507186451 19830955 292004895 287409911 23514409 249188179 848778369 190006983 763170323 425994595 874050777 44949981 498879155 894647743 166311645 41321485 441987793 37766257 382434733 454908635 342453789 848544685 332363979 596783723 638314803 817665745 505004325 400372875 30643349 463982939 191021585 263263671 319469479 227576315 666883661 693645323 636237759 355681153 703354619 481041485 927411989 818701801 732228781 798626033 838921163 519917399 994601045 513753353 773030633 746141973 507182159 725512023 375819615 656554137 962722661 149814595 778324233 125358715 563082687 607631833 52912039 200969601 296382967 788016339 111629283 780803989 470145031 210983313 687989837 797542089 389770837 682490903 355504223 73785945 50506415 439187991 98726777 871369129 40245577 665211879 825959911 680769349 860471745 574061447 956124631 692105183 311673373 840700829 39725157 882306385 512629705 293074041 748563601 339215265 387053211 541867795 492280389 264807417 995569105 735172617 632070481 902276011 510117133 635842723 266819693 606931765 565716831 617259473 755285055 209367863 924743229 122811687 717513291 693325695 801067651 669250025 217338887 76063743 771160949 486729209 485133769 604905427 735115201 942901483 489373649 197226557 490174079 656216821 565462349 88594345 70819879 185430005 837852491 951982249 606664611 160512113 257220035 560499451 854202687 712067739 280905371 910754431 986573743 130557771 793219735 298472515 442594577 319814397 921373291 244900729 124961259 246488793 839097265 202958973 725901865 487091121 178754537 868775377 505112607 179529465 964578171 529675041 753829775 18248657 419042491 188158529 310558873 557792259 979415263 213674027 715910861 190855929 778805517 481047043 288433697 433369295 482087753 32037395 480970735 953698115 886819207 15480015 201449983 373599419 991864993 115946963 139070845 803144007 271450965 264607457 972081151 156914079 239158609 435413221 655270019 674929185 693702177 740302579 28346477 752941013 474747971 702913349 313227913 432587627 415266325 818814527 737176079 543168055 520069857 515384171 978776987 276640573 569205721 516053631 829757489 204536353 953977623 840935507 799108673 551221297 507925145 221666283 586460319 422260585 97021261 740257141 922370951 783851365 497889791 831673665 360028575 948874347 112987755 590878411 220324597 187662445 205850163 308330935 779508733 63093763 659794913 262824143 845001877 347300201 331845603 246799113 212365059 302223239 867745171 140262525 314579187 496786159 954253363 436347761 135237755 151145685 172748783 676571981 273956633 89485849 269992659 37506471 64872623 402489411 466735579 838165819 684620941 610728579 209559529 491888873 894610025 891215023 905195717 748111551 128892255 568024647 687442465 707428589 672151795 856047473 445091479 999713491 718021653 937799677 835039909 631850991 331905559 904256611 69777847 629633777 424456633 805296321 362243357 400394409 859405343 153673183 78261523 402364181 107284437 911430699 741071285 814766165 737282003 68401855 283618833 911130551 188161655 52547671 847334679 948244653 373566081 523841629 625319071 723502545 903653411 913770975 185223789 32278505 824314353 306825875 806528293 471978719 55675879 419234267 103963999 410105543 873742955 712134589 524054159 377605337 301682509 188039655 858356249 267413117 131009725 577996465 395888707 971331643 473359453 411551259 772070211 228762823 882003503 220875979 554686511 236236283 194965409 46031123 721269257 260626911 487837833 213797351 111551163 217439641 654771749 331064295 766281749 826392189 761120793 309183067 604661459 586708233 745809777 106551859 664404369 597724127 753734565 247025413 52850141 159476937 547223441 952543761 132841255 607044027 593291897 803059005 265261511 345713617 871915789 486460953 103108095 391658573 634184289 119900893 797355255 532351899 593590513 65799015 382239171 80035407 109921699 633649727 466479707 188922403 180277957 893987219 492345505 177395963 836565259 654324285 924848477 768185313 838922899 697743545 161988927 790236681 423849443 466952753 173017571 305211855 299221223 275396977 836343497 800803255 504631285 364869621 126970459 373639529 97424587 239749337 363821801 936873659 298021259 592260067 41991597 421814951 871906247 439604357 279477191 631177297 502750575 660848341 414493507 32533507 111753189 351635603 252574223 642568755 459202795 241053735 117663495 396861049 13359025 473240989 623683307 316445851 98897865 51221423 527311715 148082561 184530995 76458173 610391555 597235777 892765779 365242315 211606339 99672853 729343223 437054347 593604483 903297121 906581843 831529297 350441487 234828209 298719237 818411553 50242069 425754295 203953683 5868959 508801457 353224781 852983785 446950683 227980003 509019513 176973405 211199629 975056019 131370083 84117931 360700307 206167445 449460579 272995961 719245429 844995489 515945455 708249813 124619553 833223767 658643373 99035445 160518193 328351297 540018025 880739187 839913953 272712657 258783765 522870743 347060507 957816417 739717067 292076047 431915627 931230513 513681105 759264813 565773581 792234089 66671761 956830129 256914907 549747229 291959453 423139967 201878113 702610755 90502579 827505123 378278347 196623041 407318195 460136341 685849073 613774427 993786283 129280689 294930515 830884293 875962573 547955387 204620055 753646489 858551157 61764771 438508559 419591765 649016613 89261501 448445359 798011237 812649097 232282309 859165207 440565275 83723379 114158305 281670159 534259375 822847713 152273567 593536519 861864769 36596725 833960691 165592853 896189147 257659641 229380157 525601785 318712431 228293985 220631359 303897625 45443029 571347913 895666727 733508229 253543633 149338355 950800779 47505651 28963849 773320907 239166311 524190405 777260561 768370533 245044259 648052737 425951327 388605433 891551113 715227221 934797911 195804655 368939473 860339739 727598145 476320719 709060759 855748431 506101327 791401039 689329119 807788699 845010841 148857671 140545817 536655437 399191331 754151611 804576791 188247899 368090323 866649047 453293593 888670309 716437115 695041007 785772739 577616053 333528279 323374461 42582307 190757687 230138499 757749029 475117229 820375939 220210445 802721457 61020735 748572889 65004517 155746327 191212831 58412319 102788965 377991791 429349881 283930087 591749067 401287933 632075747 443556709 344653379 993567791 747763033 720796537 861550557 799170197 10346817 693244075 440673939 259920363 655337961 12846891 908832327 803806229 703619591 698292175 173502401 705587229 355820469 5299477 416029619 525586233 948433789 544734759 130632117 519998401 13472071 670907859 315184457 932976187 213677419 679900561 366063321 446761041 850111399 962876031 436731573 777236949 995304479 844991589 165873177 980361155 858646111 977396401 399840801 74189631 214280799 355847547 391072987 985936021 261585787 72619141 202367031 929251383 772346745 407138865 233349389 327115711 98024837 338153107 357621791 202053875 812922163 95617631 624399639 289313469 194466179 677180407 281627525 85542447 246880219 644160607 536372707 623233925 366029061 259810377 665714835 75667237 553920567 766956299 120128731 431383191 216116239 391072677 645876209 748226959 938675091 946780607 927515627 781714663 870715183 594888357 967843019 988033445 322944953 46193745 59821435 93100019 666131823 211179105 413315787 366242851 49768693 305900829 205416053 558823859 439456855 231787637 316300313 289582661 865423885 663715583 355401283 725094051 938881523 980893433 194858337 145578945 641096781 67780941 278661839 871592889 978711243 612981385 182620109 82225361 92334975 323907557 817859717 988712053 465793001 753524287 327544071 844143155 870115309 485784861 479403595 132825803 365058265 298851251 604951863 60539679 515387489 279723987 641383311 480027961 632368547 783478015 825028361 897533261 556647461 346390879 270716987 280028343 57073875 521516225 234500517 993809145 331004675 843290523 652132021 663281855 943591793 409793037 135515321 73304285 177610053 59143905 812357611 502509389 719373065 64828547 248777323 954166323 103129523 547767307 424447811 127689945 952344995 365607993 829767527 971645109 840151963 143571059 556276395 491572831 636776905 990644681 5669077 424820891 676614341 309749235 960406157 201300821 400953479 686169679 424049249 686662817 57586041 567778535 83479503 391543739 3843943 701188453 128377909 864832513 938592901 19993637 875284959 511296005 631322225 220869411 832772347 825683061 369052975 634992905 242134179 220896049 311275055 305069093 28680667 56677431 868913989 805609327 369309321 319552695 849348525 66518917 689728129 577691649 233183501 961905069 163030139 864672401 838766195 672217307 87004439 145343243 139958613 418424993 552558047 634706747 128244365 564252737 335173189 928558867 607062371 74248611 540135587 308583853 74790531 240467539 80140087 584972367 747321603 379171981 288911149 210057057 878395745 147492907 372014999 394835323 888330881 495208377 436920939 503766611 421810351 930512227 498630029 44268495 125374115 764240385 351869895 437587195 752394873 372362769 340093383 388823817 560666805 100362943 565647143 121630803 801304903 134851285 819571051 107985247 606465153 899230669 868334329 787053015 75974179 392460997 566684707 540288911 557354065 496027013 296391717 41794943 879865497 156776317 139408925 823585999 826283759 396479681 33851413 703121351 420652209 900507925 408361983 864575707 271877541 82343645 326171827 818365349 339711735 864406057 523801331 987633643 930776637 246112687 290015337 305771671 46069365 679694801 516321959 533653181 540904705 592905621 719841315 39320215 477164721 773317545 665370945 797996167 970049211 154666341 230367561 990747 305053625 120925131 653974381 802978053 164600501 687015549 148917701 756742177 235055127 787432655 327816787 199705713 371869367 444593845 105254401 621470243 158497491 455200207 838371743 465080709 544284943 377326183 613649641 727577111 747208057 743652457 352212859 533017979 295405189 214629485 942479843 178998395 297477137 499304113 811855505 158247435 975802977 902996513 731790557 333251655 992388389 427614535 956133897 496423795 743454321 175514461 549564479 769040631 638166977 140197185 82802063 74507881 942745339 377975931 883639539 185412739 141966701 435374649 474464077 642057257 233982157 472084053 797936741 413613925 87471669 925305421 69401581 104502893 406157101 160189509 29229693 88713369 347895971 80195601 445134487 154691949 838161897 409137703 525395365 739675543 542873533 183648421 408496375 525375463 400495943 1876561 935567047 903966297 543745297 741220255 596048693 706104593 344795155 920185761 68542797 321658203 869185705 817809689 735341053 340675239 918651799 870503277 94092577 236536213 314606349 763720623 16030841 169672931 583013791 705883027 799990959 193031809 513911625 671583867 65601107 606490239 445766257 912692331 937615583 531568667 902335717 731941141 57017779 331125941 656229081 500416207 578186523 381749979 495399915 855365529 133653831 985350973 146102305 339123737 112346445 351534011 450501351 925629087 682721331 561956949 844194323 700828707 677464033 562621493 552912097 598662467 608513063 143881907 821343481 628071239 120816063 607128133 699564901 465833757 165582665 46672275 242120093 440973919 778336337 315350627 827730043 991060555 219979845 571032237 206156105 897294533 386545537 254911371 257054895 226176865 169944643 422282815 404778437 42581589 97237433 618232117 794429193 916800893 228483825 231903487 407320415 319181669 619425253 819649371 555435285 133018169 825552501 573265451 671307487 68495571 368632683 188523641 688814811 263422383 306832249 636481913 155229581 980519925 690209849 945325959 616048357 342558839 518122795 358524709 458853687 460801705 695095991 380285439 30606399 468085163 337508657 537521639 111591973 148618567 884050385 858223579 91574899 184654055 826896311 972292349 305317151 126246055 880978157 403114903 653597577 371985477 658917733 526051357 891323251 131452455 889438713 891814443 388179467 732629597 151258473 579577221 729953511 172376991 711482717 573803795 803450629 252432459 119964007 948394987 225531335 859944809 750985731 591094343 268017663 585673641 854007183 72171659 436376799 214050911 399545685 418572865 690864901 698187407 299690119 98629917 772764533 840099805 249087807 427372539 160527007 150702999 673697659 432720351 602428245 458429369 524106281 863343345 892108759 399666655 68294677 399934343 901408457 845349967 4193021 917773083 908003385 357075707 395437695 818318161 178046621 229116027 676676389 321012981 914477007 98194187 654872417 506771703 148346903 166773139 665405579 40642935 843034401 178064037 436696039 558919859 833712899 883707765 433607579 373237787 272587065 39165155 752797113 862031167 159490987 784280695 747136829 296680155 714183587 406542689 883831555 379622355 600221913 426020727 500949211 778246707 66125415 576995897 660621935 797191213 666310615 238505933 379263071 927388955 8921617 391967747 615354151 828207235 783339631 521655635 508591155 266319631 787022249 522331611 397357779 445403025 225644777 261870179 722518339 138105861 971165371 800487257 4561311 749699217 520347667 163048919 405138677 468140667 153858895 581675673 317561397 848671035 594486581 916304137 50009399 437063531 828931569 35969077 855636927 4461517 344238617 203042771 912137331 593776205 161527721 119286085 181044197 740260605 226898183 247900303 234881423 140819227 84487169 736261989 44767955 550868999 490452685 467763737 842364921 732034127 517863173 441409197 385866033 754411685 158515889 31242695 250555799 659196133 13727039 186796473 840940077 315025681 225977473 291803511 223176407 801568341 866496949 622164385 742428013 690331653 241606787 575413119 30154915 816696473 262074359 212220929 973927707 955980473 745370501 361222845 164298849 23299117 37833225 313933043 462951909 97702121 515193037 647675529 298097151 152610313 556217467 34817295 638385393 900355279 370555431 425074365 434275813 422392745 214902865 265091953 990657515 394933029 341818335 698070963 59477757 455540995 683200793 431082929 150504699 674386213 902337723 241558597 159175857 213069973 717272285 766249451 505606349 424647817 986131463 464138189 701881579 552898905 944203301 233793207 627250827 35946889 999421325 216729637 556550167 671591621 801372667 223816497 450112479 108636897 476506007 341724583 227073821 330024663 319762411 721277683 96119025 632406475 138173167 320897837 907371367 926098953 534138367 818736149 909801581 710873601 153736415 423358483 972843743 778871633 854501055 178332979 823290237 492495805 469459249 968180271 812380655 48736813 440818997 376013669 733713865 585962935 262648879 277723615 654520707 681596055 605682413 47875655 208224637 218739501 797610659 459058681 381792003 37518085 731682287 916602867 242820419 753798613 986416597 305078747 400099417 121511029 53163717 374736129 428111429 626157035 436610963 383072605 603076079 32955489 278789757 53091469 764949035 792721449 67648037 557506777 439787697 65239743 978899611 264433711 606580001 704603081 292967509 228681513 411905029 910166029 690182445 754968067 790374865 369979011 770638187 785295783 223329753 599275845 941637307 149599393 994714979 731790485 474752821 916223533 251475605 696564701 999459409 498884389 930606979 685759157 601224185 495907605 29958437 443838419 429031289 215097641 926379099 912147999 41202309 428351289 314255599 767832993 400664635 989105861 351109267 116107917 957738527 7994867 116702177 239863869 836033313 67974805 434252119 619489847 869303955 209921311 428764259 798412069 453610807 801677745 6329937 797772763 377773101 13311251 719946591 484730449 709749253 736050613 931513259 151344303 582616499 280283309 927024191 526422077 991961493 569891513 214872589 166670959 47778417 57467715 12679405 662698977 142383731 774530905 852838563 39243093 855276593 772473011 258939349 588542647 400208809 582747311 315373847 628077595 89230143 502355797 958053855 693235899 897605823 317424211 412256145 978772987 350093409 972684291 870529653 205470821 96865727 344707169 664647869 475137709 825332963 416454679 256328065 380894895 647963957 330370417 629727685 218297453 209926799 392529771 101464431 360694037 232910891 239032991 837041745 694726133 55375279 346945625 501784871 518181773 123816487 14368645 684933775 976618623 535628045 725770683 611912723 37710487 49577273 852041787 923811107 782397381 411162609 800326379 257058333 696166183 324759013 674252125 550597949 136076801 92789801 830571973 761177007 858060987 160944953 361431043 634804355 185598955 918159357 970947231 983727541 58525003 572390079 379211209 270576417 899550911 950831671 816497751 514756501 303590739 871917183 473167559 592670657 57235511 921007135 304576579 345571645 117396427 822631173 210693017 889625995 400196749 857363843 83491393 806650133 445851181 556567897 206425945 3010093 902956667 641892521 46553257 889624073 706359923 223074565 102279071 646760395 824618811 143858783 452658259 524717951 709311769 458724373 965530247 772582677 424316549 425991147 301381277 353297765 428505881 600623889 549588137 41443121 680162965 800767259 252045663 432412195 154298857 524920581 415994145 216467403 781976101 707126837 572217075 182378147 943032199 778959225 965145991 42864397 236641903 709140999 177550899 248387151 21278827 396250745 354990583 711598495 85253933 771086295 593116793 680225043 335090577 980825229 244055819 831279277 627688087 5548401 48574369 347042135 675251311 253611713 99371483 868187105 524652907 690503455 563384833 198785541 754075395 328967325 641123331 793008995 420351199 272646571 817268855 848914055 583952327 186721835 770826139 641144287 876578479 795839073 850651737 525762247 553378227 1273847 832556351 458456191 966602005 110430983 985027973 793282865 512749121 350251275 210056201 307428077 472050891 759359465 77090385 96684717 414161771 925995757 676858257 452774737 95663881 445775825 350898587 837431973 345054125 746157485 985146865 439895 570747787 233286151 129616059 714322179 246872063 987454415 753593797 528133417 553874061 241614937 687877003 20045873 880196573 912749155 30729255 726155119 626294469 162084111 895774821 560655131 503136575 128552685 494669489 711062869 526288237 866972915 49728035 444139817 274001567 940469117 490143611 712482693 924633155 910481231 323756063 896944709 992677111 657375383 159763743 401854247 11256189 592489451 988499507 958736601 10610115 76843849 59738809 300611047 349861337 232207125 899569337 936743887 919039739 51340061 643505635 896677871 969104013 406905749 659869325 722149523 254559001 652126747 196284597 9564137 678917461 86714547 203973381 576950541 853267737 200771277 742964171 300707069 364189291 785200189 788860927 296356775 843793523 867367999 774418495 215397079 82063495 747087481 480754641 301802315 495237923 304906233 470781353 569613729 991875303 950642739 67249497 630245219 525247391 106260999 889503267 279874563 977483585 384679607 373010927 152783323 399166181 406156017 126327369 977333033 625244625 600992715 438450029 694449947 638197871 845193155 409118005 354928317 197120849 224575419 38673453 346040845 385234995 573785605 575180415 560331497 100374779 990922579 492283657 484418587 352962735 917129153 190604355 880082005 498479751 108491737 720582491 692378927 939491037 479702915 341742875 754935341 430904883 523774233 101289725 508490677 605644341 766575701 587741215 469106713 178909365 210285917 819318345 753014933 746081457 402508223 765927659 37388359 528539465 653464943 895430681 830632761 589990091 776080843 631625111 445342045 391339945 195055769 891790793 963957131 778731903 740257029 449860287 313766021 46234127 75454629 536025903 27918325 773581381 634141813 472678267 373370733 19880243 374190557 174022825 601586531 936403223 918344615 817203559 567803451 775216723 287227659 320722189 286222141 881204337 315142307 875563675 760003483 968545061 972276087 381280697 375197037 425322315 381862901 807616949 368271541 603643877 413735151 178515077 147324509 162427679 721996965 376255433 973663031 606690637 389950907 608157131 996307193 787620329 398282301 397290101 528474951 152960661 860618915 372733541 715155111 849295393 576836297 491128787 558136719 723096443 209840373 408710061 641277781 436223681 935568083 60029565 542183227 943644213 406239865 644402557 184371051 285078341 628836195 298644363 948848119 618679167 507853175 797572655 149692373 753773987 174652419 752457367 490132967 566137491 162777275 618239645 757009913 221515867 548154047 294210493 303861179 639450411 17247633 808045601 131994053 969286241 522469407 607792023 58600601 565286785 677533631 241976471 992056225 823804211 624515375 363342655 694339629 703501389 556771219 741851733 503123063 281274059 438327671 356824139 743235743 629455565 579723219 493452345 862419377 196900767 268511491 273260251 621859485 242005175 275418571 338974617 644350779 615782573 668342363 416185221 303545165 68900935 833883973 181284947 626002299 853134701 100289161 881752933 334130265 364442167 197414027 847029439 677452639 929487323 156399385 694773267 761488367 835047871 473383015 418240439 312565327 150899311 255267349 139869611 789381813 926236317 154784293 637691029 736740919 52184611 812759045 504650437 914058709 274355463 120414601 962235187 66857341 23576691 886143475 587705981 386021117 667858873 842061027 408455659 983772943 990882135 785884523 692666475 315548243 852996589 309678843 940475799 934936149 102897993 591478389 532548267 804009091 764937053 336014107 918171537 610881337 874822467 185207709 586993111 515601079 592379457 136385805 920586165 568782885 225576129 901990891 166332167 651021975 649900375 409140507 27379801 777174021 480836541 8520937 531385815 408986703 166607829 358127117 340771931 732956735 131642029 90207907 698970209 667436681 671534967 457576241 653601553 729526465 770180751 625747363 387999549 908677229 836425335 10867279 144492121 420132339 273680603 973672177 563899781 180192167 813067663 613866415 750912137 914170561 617077645 438449175 535428309 910513761 153903095 878055455 609011327 589695633 154295069 975228193 781092167 3120963 116841325 749543653 725993363 225074001 918403717 919394457 645504371 563988347 292378151 438592975 106086303 192522601 599739711 317220229 399194741 895568047 443441889 940962595 467520253 606905283 811615047 635405685 947170791 570392841 641553621 340083629 65034375 619984331 118576917 950700141 904452577 559096119 809999805 648086201 839139223 796563815 756538789 527286523 637002493 341753951 799778769 636600845 901611529 771759877 377259119 190942761 994960983 83673643 377492431 836770805 219947059 763083661 668699501 169130367 837052809 502922441 178291437 790971707 558450419 244138601 622155033 445934857 174966957 666839775 256454887 758888745 868299679 342454659 710766703 250681165 390824537 726540697 722117111 829317001 75810837 47102791 715044583 630083419 104716717 378311839 150598869 651848869 290057899 418061469 306368637 188468409 556379711 122397727 688259775 44087623 179704895 777186543 337991079 964358513 808278059 653711551 229792619 765104313 781750825 785320487 717398371 442713103 344416265 995813801 196761365 654424773 624062019 492071599 862009131 862683035 987609333 455032459 590902391 130439605 379203815 473681779 596652279 91662753 337743495 715083147 593793739 927650899 987447535 455275483 581280065 265896489 105463003 581103955 957920203 747497959 141103029 112567249 488687363 832061373 843837067 894957329 859104687 659999295 173494035 432482751 807869881 400966505 824582319 181742187 739756851 677894051 235688803 243067023 894170971 56292023 237457121 907869069 268700563 113336539 670510465 45100973 44558949 529156527 174443327 327268639 847078533 873366837 803815107 254468865 11851213 825084635 771026015 835064399 157884483 707363959 997171975 938794741 431602961 477404999 473543003 495167171 356089227 566604527 155707555 948096627 707494955 139829371 526867407 256194725 191166355 632991587 545523829 798011109 865089425 190912131 843314645 466172579 125401625 378033953 803452373 463534135 375579715 708540391 286434309 230194659 981687635 751760879 713732765 934474449 371500469 636546483 794263931 79020049 594604029 643619353 307426597 583886237 149344741 730014575 135232975 714830165 108713295 199532137 659085387 961794053 570849099 349645095 463097117 140329051 767886599 371259947 998861161 871968243 777650401 802864483 25137661 862983245 584405339 192754981 22284885 376666067 621967395 671521581 263732619 243475157 581559049 907477411 184607595 607297677 656151817 904847889 507454817 297214491 787953479 992132719 685960069 833311115 457676301 916565527 601144727 167724747 262582737 650918099 699242495 482062519 183618091 864960459 348062921 712416783 310267103 854974617 252300975 735458941 383377627 355692087 193486351 941098383 864898863 536397323 841197555 800180163 527750167 563274977 972526341 784233849 412754935 348912113 79451297 700550647 993528411 726580695 602536389 755869809 122483443 838131097 601649687 522698497 263015071 699746211 149123303 170586535 301149791 631089355 548634157 144430411 551304285 999217485 41575815 437214401 656167663 33958353 982201149 258604481 188669841 575185505 828447549 633956843 81823715 650651507 640875551 635826123 447798451 640226023 466367013 551485391 211523827 922473215 163890225 460825937 137531581 644283753 837084887 488750485 200523351 367921723 791424845 679843521 244913963 100250355 951361647 885645033 402385099 637228917 320900553 636930821 536796149 840682765 477466247 319511029 956472713 52644211 339434113 176620419 454354325 224367555 333948727 199672673 867495499 494748547 443494607 576999977 329266439 900040605 711548187 794903641 190372171 33082219 949823119 462988127 54837699 580928423 844445003 88567431 389822785 953853303 708891671 484730895 455947715 92394345 76825955 481064981 922122601 491043443 151935045 481534883 652018561 994838255 806180731 224894379 589907839 32758181 892734063 116677127 377240057 936566465 324753967 210227829 586686905 31347417 902479475 995730849 795736229 450620395 878123673 794741789 562914001 537998937 242019497 903046495 921401723 753784309 961442897 311906507 161199109 513240815 613304811 717672617 185230073 518369001 102138227 943856939 749824779 247670245 14707603 297793387 225836567 611155 639419031 6479975 45091873 318842629 803317627 994383371 828598865 190773819 458756825 404255273 9651197 409951385 522081789 810783607 815858079 491066669 623378899 261195417 546161115 503247211 574969843 407619863 57088123 551558193 757268893 473021539 68618101 964859589 958289591 509374677 631321569 624355283 908174035 660951727 235902723 960779377 549199397 368526619 756956489 536539931 598917773 602387243 649715523 569684153 672386195 569957589 645100205 91718549 276110951 510419965 564336491 53804133 297101021 539318633 899374215 615245641 161033849 730089935 518836535 551618243 56725087 930137797 811493843 104402113 972104543 527589839 191346401 575250331 986029297 189559123 120081929 204522249 781902899 652162467 270645027 528504117 399383787 863110137 779087653 986267563 684261005 474304887 468703541 880227935 803842347 268886563 313545631 163608239 252978823 786190835 252188371 399980127 300835081 858768317 10096753 615005855 511977663 967270979 139399737 972307203 389357151 492664623 745414933 902472327 367086155 245474833 945716765 220636305 867520903 238101347 93188999 807117807 185245381 349570439 344319419 974375381 558577499 74791365 694984255 898211555 54349897 514539853 650153675 393595419 137046837 748612155 817744953 322187243 94611313 30972559 691341195 875266345 496638705 685551923 443887853 847930385 166104917 979409655 409652401 555957579 901577957 56941973 598251605 691304161 983296913 725181613 767695737 317530443 70442989 177134795 699632363 547241061 462693437 221023839 42858909 479158899 722453349 292694207 807751083 125173029 44161525 542733105 185958231 941500557 50215717 228680157 623560205 447421483 546602961 987446995 727784801 992931299 352039813 397311245 497925133 246371075 117774703 38954347 654193907 252515647 714199907 302849977 959787555 877942197 532187363 986462117 378862539 454746091 181110807 976041931 264105289 749423309 389962955 428222635 717430815 494020529 48609659 865367469 143725305 855147347 780345409 372369445 589535915 28963547 926533097 644663371 983537455 96260819 256742623 680097855 546499241 20609587 500665915 157437709 692331107 418612053 58245821 654803875 614417361 639770369 999803339 217943517 147801487 560373605 177120373 459940217 177039969 531103507 549824115 480647461 906569263 23084043 776060195 10422127 829614863 324108465 534995597 73170895 689433147 765851857 949702241 167422889 713300759 670253219 387992821 496562503 112024111 279119811 699956807 656870103 72606771 794986551 245176577 729339253 877269249 353963371 403186033 736414751 174371997 248766771 243212943 333503171 74915889 127119055 825567993 723010861 870351631 211625445 191641589 915061275 236564915 615824255 965916791 247984171 656798401 194177811 228067857 269063911 281982469 972314495 824121861 626762177 263760751 532125705 528348731 403795219 813219359 592493919 160932415 746202397 697313107 309831315 171442253 64579335 231844731 160656419 740663871 300782563 383600423 152184055 270640287 164843949 409434133 440649561 679698845 876105795 591322149 620993025 989187599 49528943 625501797 758202635 335119989 256617187 564279303 323389691 81338871 791499063 548557157 754965441 263492961 297203951 782856453 936128943 503316013 627692145 448692881 338778245 135842169 976934929 703834587 453529193 396918029 678772997 660518369 58780899 129449047 125241969 321740739 989283311 123687793 211429469 696079311 600036069 812408345 334245051 375698551 351277453 323663029 53498467 242597719 270436115 57522515 421881369 419343409 838915851 585350319 317742467 124985841 421602423 986406693 209050163 6794667 805139127 302934461 165855907 335413655 903730333 211024165 643345205 1366045 970116441 530294965 256027953 171606725 502464397 88214381 424927177 294920003 446664251 747730165 336280853 453599347 470344145 848267929 934786327 273622871 760309031 315696725 183706297 675612699 938224245 471891395 703175373 555651859 207885925 168714031 459385609 496949177 244244739 127527555 466198289 740114353 881191107 361947739 361554285 910940613 916852099 295545589 201627277 993991401 761771401 495714103 22485453 691124537 893655679 562985395 709565551 376034041 142490239 723273629 165001881 101396881 151573763 862895573 686174813 380099735 838305779 747982307 68645045 471791301 472884377 583915253 82918017 982471423 150564523 275584229 368323469 481677647 648277321 877035311 406075273 388210667 465111541 54804477 238037773 57541163 875548573 786146589 284691099 567393171 101183383 814132487 825054621 996845777 312483489 685078999 850244451 689449141 579357149 891079257 79537703 694759227 609734621 704978681 989852169 307573383 548945811 12779729 905796629 674992101 811619675 809809053 858403643 296873669 547013119 522542021 413510995 263788487 694666663 941375323 381825055 343644585 134022381 190640403 447612999 279502427 682672587 815992397 893737055 964797933 43472039 548465939 965727199 754985371 408990031 490273041 794359849 93720267 453353463 489865887 763663235 652584451 538488893 958118331 199198243 42531835 732711463 765474577 69658399 977417357 851154209 928638699 200900473 632459705 763528961 944273475 981196057 388727471 569781509 369787319 546129875 600196799 143365327 32428175 639898207 68161639 431512431 222618553 959740765 921329223 261403227 975415503 504282713 302737965 884223599 287043853 7588545 579044875 617485551 741731933 708387057 569883389 164821129 976571469 738415913 846996037 335858773 859596053 653041297 524532303 80108747 902500497 200115261 444048301 526389461 554165581 516180517 795282973 684110015 824500085 949066793 446556031 763419453 293953505 204668181 67580129 491405421 492640019 614713751 33598839 573723861 270704685 909826889 5432727 871182945 396271617 794193327 204229065 993391461 714106889 154911537 115721145 833958307 736955231 25171997 364957493 913022267 524659149 27827633 314823485 800549309 623294147 469667595 312842483 337689885 280952407 790530101 397668001 471869627 868837449 772583715 583474363 789657689 214913791 243505321 825503965 192068901 666833545 56463757 988706505 195078837 972736927 579391861 300970861 158567943 230423199 219716597 577110487 483907199 198439569 283475331 10699847 230717673 189149221 868246659 267671839 80330365 616529071 536013375 540085739 297402839 857134387 294588389 138770011 461737467 260852563 543160207 911084365 411460953 528681059 530741057 439726533 616732357 999091801 481292257 634081771 883909755 566830801 496463427 988866581 647720225 158223895 913545245 63247293 512013509 932394007 833634067 830982279 943300059 34293609 939473837 484435775 330702401 130757709 316418653 267372245 42474045 560010667 709460603 995556199 452127099 337573391 945482059 805096761 913617937 676759733 467143923 576220597 63175549 395322487 321638277 120196717 614991777 338623199 475218941 139541533 18317261 187564317 342673209 733384105 963682231 409343239 492575491 867540765 108414587 397413405 547598605 769224873 669036445 529917061 475338223 506618797 336537611 589091855 159872043 300615081 499001117 614528819 365055787 112567623 52113293 602266127 951996481 627244895 330779777 686748523 250639779 513099751 372086917 582740405 393099637 364652805 29910673 800179719 655483071 382839813 331248385 922751773 760477299 502770265 995889819 115224673 318049385 638943389 402521995 773089505 778592867 579919251 806298215 843897427 175187211 632649509 466621227 90521625 335386353 592442731 95806013 840005175 930284943 613497245 711848301 94335071 799684679 311362333 832652523 847352553 747701601 743217273 666420313 431646673 711261455 324982371 601417657 328431039 714137705 697426103 410472057 287154949 282097777 226662775 60708975 897761943 869590289 618401743 762527961 741591317 135716889 78309649 358423899 216077767 852246083 569071547 746677505 966314397 786409009 886718575 541543747 43447341 450826089 51235063 867661053 944084663 240917345 500830023 330041203 471799073 311818351 889670267 282656085 431767291 569076949 254490581 497953207 546203771 210127805 703132609 425508117 202688387 732937271 917123795 168823381 739813529 816381501 282321605 791369669 112673773 462031791 475385723 264666137 604171859 822010713 371209727 179645295 774085711 166077419 494454149 139033165 956475651 815926525 137431657 461706399 593120067 867699217 458509615 907832507 453948549 363308431 139665279 258288735 902226917 429999051 406314799 137930157 271857455 140715005 44914489 380729911 288830415 424314693 846061249 54895085 394556381 674088879 89168915 276003889 976615193 238349609 665179551 982369989 126397419 240754831 171599619 683959513 747757663 78007457 894176259 292271103 748334383 13790985 401034631 301204791 823952569 722195799 555514533 32315877 968884743 488525827 403976601 938091223 813786563 44558707 46185667 492006209 973883721 80448235 907044271 583300545 197648791 476302753 720929299 244467549 355807315 763988393 801022151 663656065 108804301 704248585 130238161 38863363 356196605 539915433 516961883 199858719 323249793 4568919 964831671 174176123 300045215 834369233 815376993 125032485 711395915 630749365 62205437 156328083 200427799 996510095 360521559 750851743 997567559 94649805 624231777 806027921 235024061 70807755 720051253 204043799 295850253 424452551 799036953 829311811 841196139 130219759 295499383 266381205 603911609 299514447 239721187 935937265 856425085 458985189 531106837 272787619 232456677 493947791 556389109 701367395 685211081 301199383 603238281 484184909 866028969 446368815 654883337 569040613 255767979 647128177 356139471 980993563 753109921 325261149 634316893 673156675 540634111 475715675 748108895 314395673 490144997 274838207 420029607 9454275 249999643 636921023 420381491 92939983 855272721 40020607 947431461 638998321 39130077 891754247 605833927 634918985 251900989 521619785 15231117 338860249 136748443 512679711 826241043 657114895 230844677 621250119 527109147 324808065 413943347 687222637 143487633 432843307 265204355 273861411 116466569 221192053 741100541 942089439 30863933 355865385 818909775 266297349 923985935 930606975 794017747 3593949 780479375 653395987 128903813 560253337 484895595 582416617 392385295 236735827 907038081 680435057 123067837 168155913 671994323 388690813 218666891 487199911 601352589 901400653 404232979 340388351 774843907 411558789 679101345 454797767 636950447 442645555 172845601 294379171 468916533 143182283 722071595 924301851 927755359 77463851 696818943 640218529 995927331 949315993 835252867 829087117 570113177 512106433 766085703 604313633 20114439 66776247 988935299 659775623 4674005 671730941 383657751 858947537 968315545 408868211 66620039 455395829 450737165 163329129 201772293 725203671 562975253 78737045 846407013 975730495 602634173 849540625 764249131 849880029 524638261 169869159 875441275 16979535 879872989 35221119 308897573 912085521 728821555 891050929 50889633 119949199 16462823 53943483 760831245 471305497 239500745 990013377 644366127 454448617 382869973 90699343 693392251 672297249 164752175 242822749 398621699 506382537 251503139 641478471 913232521 146673361 199453475 896767187 402939765 524177941 102705097 70841389 451928277 220648789 303153115 954303721 232685919 222915131 661504579 768465927 654701429 747721303 90225171 515778797 742778907 525407779 840433033 786475109 522888707 308759553 438897413 922292645 121922691 13333817 137954837 141501771 110073499 780706555 102364267 582021213 38796273 70393699 192710881 996809543 665116119 226718833 356129917 911067359 448764481 426212623 341021545 583414627 827579087 639168013 6525945 657418103 336748489 312808741 850549669 453878567 803229983 947830265 64796181 334129387 517013861 696197391 689805841 31383199 190531295 652084445 476195981 459343495 84665457 509642937 278437 444885585 630171819 557145573 200348059 496728597 519989955 236298377 375242715 474033485 923560859 82309817 118780407 224773087 28921529 487571821 135781549 817922841 808290123 260261253 871843551 13857455 626703659 77715661 643920023 902480319 859627989 143337715 146121737 221017039 955075443 867950739 929884817 779739083 625597905 109183533 56618929 171744009 849186155 712802601 320564759 941264453 50740315 891914971 514146961 724145317 622941549 333970811 319069983 124780217 281934093 556728105 553047011 183403889 859676755 707467505 284773415 792720175 898439165 299890625 857710433 909898421 498764663 24329589 786805289 134736945 239195083 826166221 256584003 149344315 988217011 153892209 47829661 941340875 100084109 602941685 798165063 432561739 818431585 173920719 139840381 872326791 662749919 333927269 577811875 451047347 556955997 813473787 448572227 970968429 433262041 649552325 806894355 838534073 138374909 86246365 585545963 372416007 585262871 914259267 643274447 438652459 556655391 810522079 942881261 373951329 776872369 544945539 897714581 78275919 961091097 206118123 637855299 830598915 732671299 516936373 133614747 576406515 614716617 85470315 262261353 698184953 301187047 824063361 999105439 667944797 372895367 91689035 6688599 988603339 5055541 17924367 231105751 824186201 548541739 422055155 14968969 972669061 461307721 953525513 722031871 516131379 930485523 379558221 288865781 382473391 152359099 294521757 503081297 722934449 191453463 826956995 656236569 138322517 262026407 680198513 560209797 516887071 256893073 995656513 46542319 504042495 843791271 779573169 286750169 896925767 68171101 720518445 392890605 872681655 707260627 886837767 235029251 124526963 789839825 732231541 379496721 72568329 738035141 363624091 62011967 763752557 190089929 547438465 244058325 148721149 310546075 457908249 613275975 523892863 264820639 719913275 659882799 578509087 683803113 814073771 300667987 746380659 819733551 646535951 898575773 840757879 704863439 102945529 837025825 373213587 123057359 944066531 643341849 68778385 387615459 623960623 857417191 531132329 294757469 724608805 617018137 184981621 789865535 134630391 680775011 773649151 357168689 739689661 34802587 602507183 418909055 36970363 976714443 749410653 812975141 463720215 461888281 231954503 509008317 509027939 587697369 590273809 604947601 646387481 33864073 392375753 999931025 394971 27658955 852969187 985599571 168521265 331418985 738533949 636525079 571381131 221811289 109434907 796571843 395533383 242362803 80745005 857577193 649265569 82815931 932680327 241815483 963442117 211841501 272922789 601357343 419556547 165691309 638372461 417810839 935693205 82092517 956542253 757586771 841065757 317221225 353922203 701193517 210676001 693660229 211384785 809322145 427762519 704710313 621083735 345628633 449883733 711513587 203630361 759019171 827503773 613533607 363465071 289424759 719040409 844086381 16490001 139928689 813584537 564019483 284608553 621595741 592736727 229331371 150183489 426121639 916612981 159088707 332219729 437263721 411090553 308213801 75287989 85149279 378581465 911928021 375193137 218574833 376947563 120992479 302161653 364940081 477119217 738381069 140316821 668191187 473473301 921234759 372794125 329187127 623049319 199416227 503202499 301123943 483599455 924534621 454345093 350319119 959011939 877980629 138683271 547239815 555467961 891947929 734441575 900908493 358469521 143418715 514997291 152573837 78941703 530456821 748148287 856860433 642346779 954112109 362641529 505251155 750253749 168932077 698989077 801297649 950897833 844839879 987827899 956448563 62306735 627402615 405078901 210747143 373363815 14976163 332818363 140012551 282701405 493378323 456587367 367495023 818553087 994874555 369628353 679964457 648411817 385973941 269283703 756198595 340023195 505481287 773676955 880331379 312516349 718941147 596283309 555062299 619711459 561974277 912565905 528336449 802028101 415238269 532208277 699494163 833081859 998053163 525243501 933831529 273074665 285903639 165179959 339782595 539032229 46474101 842312311 196538697 73311699 279364769 169940253 122157767 139091185 773753117 630654077 722442169 974910061 393164437 470406227 289859385 908350611 133286621 436437191 30873361 763970209 75534573 820863331 648497841 653919157 598381037 983010333 840842799 794426331 705716261 629921365 903937355 469760257 592920075 214118861 895139435 659784705 223941431 725808051 133802911 474994079 981885805 414052253 958742431 580297089 566788505 169865865 230101193 52377915 42730703 44015065 486567973 611599171 185273673 389923935 675155041 479533055 511368555 289150797 841187543 451046067 427919551 48934721 125941379 120706707 43864825 289023295 984568591 905949111 914294519 564358071 864944585 549754403 829186999 632370555 339817641 652864701 54291303 866102475 932503371 88269401 919855195 935478347 906644987 458818733 860613647 684194825 298600101 112005469 800018979 790103675 40869857 528881393 714433891 219985275 108640239 971383259 670785733 75914065 703637943 885515637 721858145 781083049 128312773 395084029 677978235 246959769 498166611 456164511 199770241 680583069 670351169 126654061 978774019 924020381 828134163 24897885 197163965 824123619 306916859 252521555 240643733 975976487 491628495 696232215 156017809 31388547 890009615 283422555 530180585 737835137 928167137 612091319 413851637 777340425 749109781 931243695 430497339 700077427 785529891 573921705 834364773 765025149 408587561 875950583 934717509 122375499 665064943 41570259 101012697 314720619 65336547 508746591 361290049 915921617 970406687 457411491 134653131 525664731 580655967 729037201 719037161 631606607 686365453 121185537 649288245 38830425 969879861 373941173 201830773 379771021 789643667 288648791 217728659 820924653 601157507 391949687 560494497 469326553 63560971 277181585 846493661 937896993 59419101 814042881 970336423 840242939 830237265 864602901 543590541 507938561 393750627 694117117 817435201 687333435 744741563 717022161 529210783 132219927 214580649 350430355 377923241 944406631 911245863 755402029 803532939 996897897 983214287 406518639 222216857 778095045 212983531 476484115 70245197 441183623 164974443 249839547 335625545 245272355 200053733 849779183 49664603 330308469 319125399 295665695 726150773 818927559 775797357 512812711 491602611 683690691 832102897 986722247 849205849 550443389 533142107 864888489 621129679 549802101 920121741 876226141 10633129 471956623 923515405 902416093 515759013 688616985 972210699 650743819 640757157 855415753 722870875 58302125 194165939 291138489 155331969 484827001 928151045 80332913 111756447 606153221 20404211 157417437 701560969 504277459 909824769 668367955 294713013 241253195 121508061 821643151 330440767 326997185 2355029 903765945 335319283 776339821 210320747 500975707 274688573 806850161 195234365 555960173 136422453 501415379 923629079 578208331 94246555 785923977 594671469 931442361 301235157 322823783 303315421 241168871 894472181 176437043 129405733 76372839 932255151 125387157 230233141 590046777 981591907 156591389 991401501 949092289 504715801 361553989 478031641 255008461 354305665 721163629 560256909 919178897 473859569 995729375 643390213 969616811 981200233 668845775 978378033 630544159 27777167 951106641 108630769 46901597 772340403 347230827 281521475 168583993 642979277 260009989 761360983 476319983 5789049 9383917 643745917 389009191 236858883 981415905 225202995 846300139 859227993 902287231 840207897 904817075 941749263 140539219 975558653 553648217 491643497 607773131 960523215 249841701 451391305 172367427 252009391 774759107 746476867 393833465 286871517 120808523 66056587 885682459 201904581 795478581 215902979 596475829 995651321 680973931 829807409 482793157 647866421 755804729 418486595 927356713 727993951 784211795 432309521 976342701 603466623 704173783 610309659 32337151 431170505 240856649 488949895 319030457 47294615 285454489 225840677 208777823 412884335 343367449 565276527 212811095 224277755 63724683 790101119 561880821 379259407 540800015 117195807 155657071 822679717 614696501 651576511 779029737 834808543 585593329 80833397 609332331 101056011 498019233 316473599 218525927 498587547 668094475 116562631 714781751 429495851 904087387 99348955 72920089 314538621 102097959 232068595 781299003 371345021 399244909 317463661 443340841 80593983 127501969 763076433 226660449 997459197 489048671 292534861 498798913 977718811 914538511 996069819 352281363 825529891 789782331 545483159 149465097 429279177 113985005 279073417 750549819 7593193 49766285 560200419 623921067 955567493 248696821 496885145 490584387 129561291 930271839 213263181 47107029 175659019 750910065 753819461 586811415 539698625 465772855 57947247 589371053 618770065 179351593 590464099 248732447 117640773 69391909 433826401 454526175 895657169 692627563 513008719 766441541 97141073 872493997 309787581 541542293 628191497 61643007 820686563 648642037 404026465 133504733 564510625 918236791 199605231 888696367 192511611 306139413 127685487 548320575 373010849 242851761 351755457 903810757 400916973 723365139 823440625 718919899 148995549 761512941 48628021 796837897 774733975 277466071 411209189 252804157 694444267 67785299 854121863 508348873 720289359 83362251 271050691 134604397 335239653 248069775 40067695 744246347 522383219 382457305 581528199 879871733 39470697 330933963 241904427 281273949 636283611 847636845 45339817 438986721 104428171 416736687 232567665 459581253 75452385 474644077 26708771 726969785 724701419 468904041 56605567 972490961 267044447 571491655 271214447 75852681 582954141 622922911 447551499 132017479 451987119 174686949 821950857 181656281 769763137 942844539 662114895 364795765 268380075 418642093 214627817 973765557 22579949 525665961 110361609 761481889 947497645 481745035 192825227 755999909 884196925 86464597 319836017 340191895 271853455 159120107 967001575 875801781 961273417 99385123 650371391 997134241 774585517 190785205 440110839 235577709 576554155 586415427 754384047 417263241 122102493 692945747 651499829 580802263 336647553 182483291 247599483 43400347 979916669 595186865 446200221 114253183 631299425 402229911 298994141 876207005 625066083 219719989 121380263 428227695 339532645 886735007 332342415 979284955 476210669 773241293 249340751 380661549 986308393 995390367 645092553 886379551 994785011 630248417 307077899 352866761 393459399 112719937 226452041 592340913 896672463 672440667 892694491 874898631 553931479 394730927 853129541 837663327 211248985 418794663 756767027 930625847 123433589 931717009 609583225 534301809 576140015 146437803 903167761 587738781 39850297 401024021 443917599 255243441 905987179 324720853 243871725 58674439 609051967 60706271 590842095 584668777 258271011 890449677 320444609 160392959 422851361 427294751 224561703 122175329 809778931 187121085 943743241 524243341 485667831 187881083 628267389 196446183 162654261 39770577 647125693 36347453 185358685 858795295 563671085 650682051 717295557 416488111 679411289 527115029 876417899 563873971 110064625 253498173 552901881 34617925 500939475 37563045 247947453 293079141 618421507 962924323 707112877 347635451 60089257 712065523 885750379 82867163 229890075 88965819 24404541 318919099 248310997 427412105 216550417 951160127 595695735 171060433 752125313 105986033 353115853 735007859 484860873 560126783 165036493 179597489 99022547 757672835 785332369 488003641 549665835 354385153 246485081 265237537 360272395 969502431 610514325 958797031 120422995 168571441 160042197 59850605 775661447 896402157 94882775 49776645 30107609 382737655 890912891 644357473 505900063 15562007 563901391 902120349 376226009 541194751 810071813 608520515 542664493 847565641 1477239 963622459 846458349 986593907 434272427 810261727 468268171 502707689 463715147 398058729 484987437 585418237 113616425 609367679 38452885 751825381 847220803 906989359 681353011 782479045 207147705 676690157 784372769 20949669 695830489 148656919 403792155 539944311 70528021 855103347 772955275 37104661 231347977 704725805 84991103 387866941 395521143 843714011 194505647 893336731 52932427 434494073 572424313 544707519 613969047 576587887 957677539 946990885 267178137 749459079 949757601 232576297 554399155 12374519 185734661 995377945 902893935 192262495 951253265 674484261 974455169 387386817 268794221 122112615 901768901 640238989 567784037 813087709 419738173 249429397 199045619 858872691 762752533 428990489 595281847 643143673 627859617 847887805 403443701 261067561 908403035 811375757 679039135 17291429 39222759 59680001 98230859 492189941 88140559 343274229 67206457 625107083 938845639 140735151 763977295 160924351 36402219 821509083 155348509 713174227 814492285 867864207 320164315 743152881 30247979 461341255 614173799 443711785 653720773 151930089 414767433 967704693 805773575 826916291 690357681 891542967 586483669 970717833 562208629 213566647 467603769 821785691 927127059 618586405 422231399 84126395 724652981 750437789 939425725 884108439 380608553 750874783 694950841 957966661 19692005 890195349 582923275 35667843 290821899 530771407 117564803 549132405 123513441 321346439 458293277 543881383 460176981 113271007 81987581 709815569 196317695 838989023 228856941 474500623 577992225 645683319 143114979 453817957 164190237 339203459 778019831 90885699 234060551 816563651 407652975 527730747 180290195 160505313 886656053 743665741 695325217 512161389 911370075 855746269 988097979 502164193 45195549 769140153 907817739 607469725 479311071 721214741 721795693 132098029 524319021 541026449 789233119 423468287 858208953 657399853 588826631 561602287 3948381 695240541 307433271 107301565 206454559 115753967 452261473 104831571 805758761 258349863 849207339 292439423 228291789 195703461 355566039 805010175 278059145 65148795 941651541 721041779 836991229 597655833 488878911 706779233 921589239 280349793 947101649 95195455 814075753 348679317 925240821 810370145 778152047 673525349 406778169 661150733 587697739 750889699 133054419 211112811 431746409 8463503 373904805 175290249 541239899 592513613 407858485 651514469 242111199 134045289 774211249 388956125 977901269 880630683 777804017 657680061 906234187 665714687 406066293 941340083 564531059 284419611 965757029 882312283 919886249 997941723 398768525 396184117 667907695 275537813 841911143 775735209 251105137 732919557 474005779 677610763 938533507 620526673 651586645 371098513 723798175 672061703 991154847 74109535 348696297 154095901 508100615 664057215 10660779 765838829 164145741 698646239 51382105 455576895 533913559 128712027 33953679 399068225 811739317 726140849 276715535 12723333 258666911 853117837 65325509 364317449 932539123 302305921 182931909 879338805 655191481 422180101 332261449 278163413 726557855 366412665 993738165 838700059 20186367 719709991 407281555 444929705 852441045 993653569 184722329 674678915 940830411 703030241 139267743 198565395 164354351 528020229 375493545 680559667 410307831 346890649 768806629 972361501 388561349 631659119 805042339 702294391 960834015 922789693 100519007 74365263 10275123 44393895 519095229 135754009 552338009 359457333 160017287 714662069 251688337 819638617 648284339 977309283 51361731 271122541 34081113 152156629 204782459 266331311 629984191 740527391 369719283 477111883 879024973 498522047 919367691 668974419 404597657 112372631 647710535 173386941 751546207 226280953 733237977 449227117 935687039 877810325 402225815 547852075 934066695 317589645 421608959 991229865 285689639 851873123 11598141 417719679 866422335 791814663 498799643 894409521 619827405 41690059 479866129 173057573 193583489 120682351 508224065 242596269 893607211 552665111 375610481 535164931 394973641 993705553 536548881 361328457 191243131 845309713 227028021 603159175 669524879 665157301 378017697 70578351 543050615 698320897 891128761 27032473 469198285 640531237 741267851 796671751 469316439 636277941 825357523 691069347 791048703 805805229 630478061 470181375 726219225 137848693 259768287 374982545 269510685 699506903 65101659 832651195 255694387 568071433 271242679 19792585 980503715 853153707 890786035 561650411 843169825 987386047 662715319 940516665 509402247 591892915 101990479 19545269 348611549 316337245 605482933 216451913 907920201 45481467 45765257 819817669 853548575 687161905 672174607 733673443 350152413 111595019 457773881 281428293 411772453 569637121 438731165 201261171 747409857 859158511 671319161 968065757 372817317 472274971 207305143 625800927 65463021 45284911 959306983 164633785 204799195 260607813 824810043 921512341 158500827 866863575 906002839 423665795 122245249 647152843 717525889 798535549 152093319 191893103 930659369 917414501 770667473 568550775 601870435 561003521 389535593 8111619 11738291 906049799 632899203 45405843 888777787 84848909 404664187 647330587 994663887 617521045 301382357 237309419 387822819 606621447 653225529 801423041 740402841 21586359 420354429 111717829 714848439 942541533 276444059 507545729 255210155 704961435 883201975 835407085 729948813 326749175 653156379 369830499 240830493 722967527 547196733 870532781 511643585 844348993 959395509 995941619 134430091 144463301 320241225 133527759 529197103 129154593 539106017 884720953 380583949 623356643 284992915 997021083 361911341 609906309 285560473 260062401 676219199 647554407 815297111 732781535 561069209 330704085 887134297 784387987 94758203 929963005 203567185 601348323 796374219 141387003 628229401 1818171 768872089 408628685 880922551 528902257 707481243 595323745 166261331 372993473 804879475 53395589 259091781 450510547 698331239 412537073 6513667 597109681 466164839 583068747 678693427 520620753 299391239 235140375 500516001 350007827 91668619 159143369 959551 910735289 274723797 285624763 509038375 31803249 511087481 937691181 63828895 752569169 525890219 298599751 137843985 334982359 597031501 550603037 57993999 756477415 720101859 114129573 929188951 80958925 222245537 447218371 205973449 858783297 657935961 951680321 765693299 887746655 402846861 898717133 131180423 501148589 178137443 395743489 641150305 720499477 94518443 850065249 98214019 947367921 717251805 489428563 239461785 418496763 836925977 776489771 66902389 894815065 192068387 439182367 867368981 860460441 465913453 168228179 703398299 701033649 876402443 736105937 689966417 690599163 17330113 368837767 737072811 953554239 859742195 407909199 7825989 876514729 845336753 331093997 214097121 558825167 461928371 786096391 6735979 452519599 410431063 472256303 708434679 305873323 301620901 677153761 668369341 519430549 724776011 121314939 383683621 776494749 760959905 797787975 446028471 206325861 762803881 646606455 392156713 998133487 464609797 106564387 640278099 419721131 439251977 132100175 632757049 86937195 974748073 334310369 795428359 381588079 861855623 976404395 47638033 110567259 851995369 290518631 483369937 799396413 613610173 891692215 579158507 376962697 295011483 937115683 103710761 807646493 662135747 203265565 449840257 232441663 4059675 991300861 18163723 359803291 80435507 34523911 379482635 296756039 14846275 657367905 389050607 360193215 571232811 985482525 471080775 734526187 97961583 848537653 397484751 196698645 518249023 920970891 326713195 295739123 478028917 561978599 671490085 786604453 10623887 136767995 594475571 762126509 930405555 364890975 273019373 113456633 772948145 737950869 639830489 899643873 887800063 385470983 559509921 817053213 457035455 779123717 202375959 817553111 355214775 895636425 259901751 406838171 323770197 240038005 397188901 994885213 35732403 355322385 977089837 582140027 505347213 200376463 548182977 410492857 324850253 125732551 992793723 632678727 667482879 797580155 404556577 312855225 618594143 546086997 173387421 727256843 866023879 130534117 531156481 618740643 88235331 426907557 43705225 209014607 819097215 213986037 54169499 634432323 680153811 474512417 550206399 515019807 2726719 705620569 863266217 357095653 673189737 390700469 900738099 512859651 380994209 619819063 178699875 662253135 554853087 64304839 203587683 739801605 213583811 551731769 856155781 946131405 231357329 284046917 236711495 83429809 377873465 425622157 970666827 251686441 398587989 924541337 842647643 796376849 394816547 641274329 299424363 349429933 630704777 240277161 511083413 227752621 968639511 609746249 352015903 341821219 895645699 761509345 855818101 846864783 374017839 354665605 576420133 320474581 412195617 360608301 590268399 144915267 829481223 900990907 528757941 76987277 665454267 590461173 29718913 232514001 379803065 554337681 153649287 859155861 460102185 492034595 759728931 522874821 618209757 758766385 849933527 985366455 938878793 447797283 208449615 293195815 270907023 967869513 956645471 746105405 496885363 950625243 590544129 328194691 760863591 152551679 518124633 25436657 78048385 41744569 52617649 613383393 847777409 810606589 340076671 836408859 904860367 791678117 869027163 955989453 643159159 738733681 415384841 696418953 829134643 147835401 172064629 934737999 17892449 934316545 692677299 194388867 501972489 232263633 67508735 624010225 159472603 614696665 971398329 512213969 991407147 630106979 358329197 115778239 140865789 855593891 500850383 614740161 569043701 722165933 496991933 412248899 289740387 262422919 16628021 120238105 202192445 145962007 646949735 527072899 68845349 79217201 711457443 524342311 68237921 226579083 317647717 782904335 932349663 586624969 626478161 923216305 413495353 237515637 612409139 883731947 497128875 163562749 212503037 284600323 899101981 260516539 434264521 155045543 736946721 736574195 592482269 574296297 756896491 900508363 213283489 865896263 147766109 399419735 944744621 817223337 135479291 620706957 19342263 433854297 991039735 768163921 731749797 41396751 869028647 634334059 339463043 732434151 133835531 160684685 287852675 149050469 12914121 428661073 211588863 900076153 505632305 131845429 767436669 328505717 837300155 49736359 327793063 55261465 540546951 979923955 878664017 164597643 174088537 686568533 68147059 504518227 689331361 641947375 915456309 77213037 134992249 643421641 274065119 856046641 241245597 433508053 234555109 948389991 555058039 420638445 167679201 997860155 897758485 998608079 888571545 297285185 784613679 655772199 186898679 745696891 183651875 613921413 860122895 125556553 420529399 706046053 622950683 880715133 389651551 311735845 653154173 166381127 894468525 422962959 713802179 252334153 432534499 300177491 655529375 293892229 652383913 891584015 427596781 215230313 334098763 572233791 189896623 589147085 721192899 839642575 879068435 364172777 736846257 997707151 891619431 273425511 179443033 827311417 118997291 488908115 640483501 540806767 37668097 416274209 494131267 799273401 448076467 681764783 30149723 841158537 745786679 683324227 269727707 147302199 798548133 210424711 266815315 682210821 749706561 748647573 659353083 847464477 670078583 253689831 190396081 302518159 171754459 612930405 217906429 459875157 385462311 704399961 979870223 412530769 815393343 387725945 244360125 426111563 893003821 602509541 545861509 210134771 295728167 426088223 747619217 780943077 459051397 952713749 564478383 408201379 144550349 567183133 818052693 93421457 508194215 471205107 538895269 639692549 619792873 728891071 278420581 364123959 346937485 822793485 447582467 989709897 375283639 950397135 958589079 341655875 518885555 286549095 6283235 72672533 807147249 604514457 96505417 284690843 465757457 439738767 164320477 45510293 625619921 962189795 361693011 247041709 564613921 86888847 68777739 20597875 883480337 679730425 253248527 822198625 742991583 429023215 795675145 732019927 437465579 333425317 195294037 407989537 973943491 707358905 923440625 680009325 996083735 324715057 94267011 665352151 31312839 883930233 119492957 354089567 15853523 621008231 763229041 545534447 690448741 403278905 310542691 792551511 534879701 29563537 267137145 550675023 89977753 779324799 741220259 858875005 261259609 881375353 975085175 383934565 995047133 926263387 19194419 406247293 367980567 693827177 900128961 34956313 681718311 441896785 990110639 973236351 643190349 618873387 468541235 970558935 387433205 63505263 268139823 500220209 269220017 309665799 941146153 730736773 457833791 29561407 376046159 3978681 81622657 366098635 651793017 557343633 909613441 727061961 617038119 442202305 202018675 40740799 523965825 298646243 674897075 992903321 399989843 290658167 318127043 512008875 625309975 162545893 826487375 462364087 421170925 359817089 130859049 372023773 76467609 277581953 563556943 877515437 971128461 109996299 251779043 670381083 92078559 829984547 64853295 845376903 397534031 722461885 805699239 647195315 428161859 895021747 866366951 312351437 37828555 66278851 758378163 516312427 888092575 285929883 625620979 3398027 42878749 40048071 520212669 359397521 318044493 836569797 978270539 530892617 296838365 422643443 395239937 651460331 775477543 636380571 992795753 743097363 196276519 989248495 349435447 104074693 948714631 471092745 728906311 65390705 645985429 783671783 136166301 970464491 29706055 33848949 479518305 327975791 231587391 968490117 859908841 258941603 46610883 538895309 551198383 430066837 432471489 654718449 20877143 14818745 362987729 598428539 508147629 756386797 702975795 690238681 31643809 925012343 235745231 275821925 178175059 189507075 548329777 620666465 711103233 185888679 522133139 582867961 548465179 925198305 251554005 791963193 204589361 714373779 994996091 625947165 604680959 16014093 772834231 341167239 714993769 816724229 799238495 686485823 161640827 209664407 888519665 662487031 150444647 121719367 234410391 294232391 512814727 56840195 751725089 642888115 449782625 86716963 391038977 908327585 236789663 400142177 583722843 620531043 593752595 737489635 349272821 129667123 488929977 551586101 945339199 351691059 264104887 478728527 349270349 724245355 539736659 36055437 262978531 667494349 201588741 368360117 56566373 430067761 919495015 987551987 882706401 94051417 357049659 831679197 47074323 539884783 801709421 464592495 93620309 499923589 872437775 560382479 12235443 785230993 29216351 602008461 863906009 838758519 458918333 378811673 11353887 947837565 188641463 989901395 504511877 69106393 501815807 256305987 811937971 951436449 741738865 861373265 138333429 158346455 576187151 415791701 188593989 154372453 852487173 302927757 785635395 367214619 526435751 7420571 109475635 357694899 778125933 125514385 120274183 266958031 998082303 178304225 874343765 822242039 792268581 315412073 284445019 356531611 711909587 557927021 778824963 611094295 818037541 661985693 944469979 263670189 931067741 758664461 921283099 172558977 109021161 763810105 69443489 359325353 19717975 257976071 50128629 650192413 262677351 301530821 495283783 631257279 441021947 751681831 288250987 238525783 307136541 423468107 499935203 511590549 522433795 183984823 643211223 504279573 567793925 697816663 535735573 950691671 184233639 788557697 405691155 424310469 161322901 337980403 374468851 900369583 600408483 608266703 441776251 887820365 67871691 564072615 721089817 148592837 649169201 482474091 864871141 631866397 270223905 676877437 265979807 713728069 899276555 172926111 114800557 59102745 580722061 587500033 813855009 17302617 770968427 979918389 494490287 41823917 917458317 207468603 25556663 22207657 778918155 614024055 863757377 585130693 113936411 289223351 562176509 145630049 722849059 974913327 336820033 969682377 733797293 976799613 509058829 224894763 535290223 462381223 2206983 931770787 433430337 339965721 317474431 427733809 96540713 107824551 847314283 196204733 921946705 134785171 478383469 978461467 155004939 309715069 880599755 61683713 489477843 356086645 187707253 388488981 900776527 449259505 726867967 157092059 672682309 381070795 51295915 287366087 577316525 736865099 448163937 110568755 327022753 18438687 100711855 537458783 179897699 635778649 331795403 831918963 927218781 952322937 626282903 917894275 233670951 576268641 715914391 168834693 997197943 758064483 582151165 941265503 997386549 422435633 38269345 866262997 999544681 148895209 969117439 525368475 108839751 239326991 478044735 578762571 265545769 672560019 802389297 252707427 852380053 637970633 758464077 171049295 319582261 189451629 912139187 856038753 153693917 367209637 484860455 295805647 598069637 913411327 878469145 437630399 570803797 774627695 445185187 962959157 34538645 208539733 72415875 205649445 86119865 478146163 812955935 567436391 561922141 653810679 536633735 202917311 269748035 130719095 798530419 329368275 609339479 174717167 878346817 769805365 192874925 625381575 129249271 564664161 10393215 52341449 158604873 416580533 792213553 759532333 621149065 544998267 946603853 591889807 961597371 268202213 191747207 459910131 199224705 392239371 917868987 152630217 129040687 962624753 431470827 331609827 211077049 39627389 468663109 291147393 257615809 820394881 585173527 1373767 80275595 829482679 897549281 160932163 465209097 186097857 643070277 570513129 489298131 486290727 243314703 144390679 503732517 915560795 588781103 896854035 30459879 473014199 28360387 158002057 669512361 244117113 703915791 372650893 71489955 768961229 753521531 328848545 432553139 454819267 140434589 989277093 121319011 167790933 92253743 689692905 624106205 317681509 543109141 901618979 493599485 630177979 146787163 16842861 334933313 715827209 546233649 616495441 356464847 891258599 443399671 84063159 197650551 297067735 337512491 469032951 696152495 811303491 427962749 660745167 138378137 451070331 247417789 125704547 363099131 532934587 362194919 24138303 824864835 130067487 369810721 903604827 115872395 630832309 679487921 27655443 753481871 46957 702689807 532852269 978628793 850832671 611786197 307573461 515917077 933369485 651291843 320747679 242665055 334263137 146735561 795246731 918604017 879822635 573090295 344580095 375837143 283804261 613200267 794454981 223344061 905362799 885455077 722974483 48485883 655189397 769893779 612908679 140866961 285810695 610450759 324550439 855967269 34462941 749800157 207603551 904265479 435363865 109858645 865257477 664665135 492628645 301315807 240450903 522241853 248130897 728780749 745892857 202687605 646161879 169492889 86639607 802436551 120593367 626693605 641770441 901525965 46604253 950210943 389564745 37794501 335979607 711718233 35140289 728957845 264519841 620747151 990439897 144184013 361641467 648636003 403728555 861930403 615062159 411495233 548215985 426646777 721455213 648897469 551583697 725996117 245382285 780688015 192357209 875198693 335113173 709767839 373482749 904824963 417535497 951665653 355927515 433556651 699778783 871574725 311900025 270396293 728741613 879985771 939267779 963079907 614939315 508591211 698375951 324549433 15992223 611599213 19583257 774680233 108577535 354723911 125583879 746121207 255355661 655015667 609196649 675346325 571895273 793271187 343544111 35469977 429805725 322657655 162279611 913457603 663068701 332192269 537959887 166612089 823006269 543822835 181836953 557878733 217815235 393661419 957104049 851871091 954237015 951697379 985070863 330484427 242407815 244533227 585913629 429032413 142111697 68302143 770327975 328577113 3983507 682410307 287737569 860537491 778831897 481430657 135372905 946057359 340209297 488946607 377504323 916386033 945901845 506610341 987459039 369908233 290166953 95484265 518660881 19818701 355406131 854582563 983426325 2679263 345727111 527771433 596649873 558088837 483109725 284488183 476798867 915509165 818151509 809398829 376923281 483494641 96515321 517107607 296006501 801639309 741823163 3406891 840731479 675057001 380662261 58729729 634976531 518119447 205733093 468829023 111776687 648554955 647894199 335641007 72046505 982131303 441232509 424793731 522644965 288035951 569270317 543662487 74646703 72101909 948668843 200469713 321915071 277592623 172580801 982038841 653764657 930719549 219485469 78118913 348461961 82678373 572105561 834842505 771250359 884619895 359617017 478443089 675885581 377362667 966763363 411629573 933427531 65967839 157471721 461229687 517080725 997881885 964830407 696031397 618722169 432534031 672487193 635694511 775717867 51301073 486565103 260796387 826579785 100660255 931502131 481878451 125823321 788437603 995632069 498805947 977517383 177880491 902671969 793656509 862510761 716219055 891208115 378672805 625776251 953239499 99724109 217602949 637910565 125347339 462200741 228229019 208582257 190460443 764235039 894393673 334737559 743424853 71543043 154301465 23933745 494893749 198108803 802538943 688087369 567135717 285306807 225506071 429489479 706732081 853700257 164840739 47018499 617663891 885546539 171951119 761762747 811180971 534192933 73813039 767594771 829596861 57911627 56067837 753411609 258354363 806980665 516940827 727123265 976628283 966550141 679085145 935780969 779007869 578271879 64344741 685358549 775554919 45618095 603919133 581202741 804548745 968518455 698326019 836915869 729331227 448875849 955234501 58174345 610037499 530815477 287480049 85381087 835964593 219007029 632189257 389255917 623906925 411378923 430112425 872104041 304209925 717557727 100645155 667548013 31263991 92332739 868034277 425800577 638531437 994623023 38491469 307484561 924706101 34151077 654088671 975150837 967942853 74582925 17165635 912683109 926434367 206376509 681186895 811070731 387008617 119312617 878632191 770613105 567496113 126644659 167159155 14104207 503304495 311376295 481422071 917379777 318163875 302708659 540868353 691086027 752637557 479232435 193933865 547751645 232583345 211225959 717655861 100581771 787790355 531667321 533750285 906185425 603915765 677173369 198054089 314547989 270118497 415311329 505366175 338810917 536218375 606359825 694113013 47540277 979551293 126747221 956402775 332367587 603879427 182823899 375262071 972187189 407518463 187202751 85064751 266482583 481988481 772259329 110216837 527760607 936723073 102649739 213355939 528425289 92021917 783610157 129827547 770055293 866211101 963892129 501781163 555471237 953417457 71104903 170704307 838605273 303430063 529596009 250970561 485725267 286655637 89356731 638107847 271887931 806038413 291519443 132627423 638748735 457417253 428100849 871690831 738042225 916549779 604572739 269197441 959619153 787140793 389663447 454307593 798417859 577127709 714829989 844197793 389920789 183094253 416139155 654926379 919192571 483261953 461373029 244831669 32059795 489066969 902305231 352027505 440877921 594725533 925280107 342624187 630747477 69511449 95457465 916611349 692949955 736014023 441014817 374985003 218195047 23897287 51124215 240293329 546447209 397099741 842499955 359145985 490277971 378599547 201589173 55872221 641748763 291550135 944815815 381411509 595056417 992435281 154240667 762075127 581362215 746155183 973252107 51484225 523983195 928098017 812035029 141224789 330422867 442611103 766808999 386125343 510376461 104468295 534096653 277585331 913075179 798413025 95736965 820739659 954399423 587749147 380189805 627416651 69017019 97789263 974788623 39861565 952875389 709080697 302928029 897956055 882711817 648315971 447339569 355794929 386459343 948016123 856000713 937641871 600670625 154848663 893770067 847027679 67272127 39574713 110563995 69739313 497089997 830430631 310376543 722689793 960121305 340307023 478505021 149123827 172304473 156529481 431097535 16758225 946038055 605576405 61536855 891873937 405899915 948716507 719219805 289510731 867994161 190629095 409840149 620623429 572556335 375030579 936893861 791870695 787920897 827306399 850591007 296250055 553910159 579241391 189380989 217785505 113202723 133927061 534664097 833894741 700137333 957817895 870801235 108104943 172305055 545901027 607109701 897475493 197550379 111056371 344152337 951185617 299623937 241580581 590328885 82437107 38297721 631653105 115530525 609521595 782920529 566790261 435521817 945123065 203642797 246481785 214282341 647660459 251410971 342210669 539904797 486899185 24589711 706294885 571806287 877579545 625202279 603670565 333776107 511364245 634182505 971009807 485534921 869119 979437249 291189815 91301293 199442205 41965827 379998035 753296957 768100569 199467057 494768575 411018507 252288581 315554987 964822919 198124945 792923295 541180481 858542167 4520753 60397385 464305961 702648967 272725555 702828749 487427837 774510615 852113095 731209183 949337541 572181935 427175945 809314393 422608623 931661723 935224059 387530305 730332749 937989845 907975041 258671297 744782621 930561021 910767987 297578285 19518215 751150167 132756357 553554431 371189015 607018709 80604761 378505689 16350401 459962125 628664187 71272587 80914657 331702845 969542747 904815619 104493249 982214735 258172753 923860831 188078347 498691793 316035231 167491041 395989715 263271931 341298029 197175797 978459801 250265515 418114769 941126703 448887105 899934313 234063037 158985289 248946457 454758499 138272025 527212069 171522775 488317555 289728171 817431251 561708693 614759701 520986659 271255937 996503259 89579379 706645789 778337933 246077845 678531163 468209433 271223417 495126297 191562563 119609985 731529971 520452899 253836109 161042853 662481867 180528603 667051069 561190335 708677117 603992779 471546247 688333295 480613037 136726507 470159165 308608577 167445029 285234839 567065377 380276899 317880539 861206675 817697177 92202481 967028327 125383951 458839735 632226539 896452237 431213469 903081775 631853881 862591547 691110205 450820449 202533487 876058753 699302739 914436693 827682053 600346011 457303213 675209915 57934171 262858221 227281023 953633769 686395069 347302659 95009639 964642013 219395161 162667663 818630249 54286657 960488523 847005035 103100405 586008165 13127827 524616349 234132703 780080699 62814233 500111437 537170787 553079911 377279921 546966225 619058729 919549743 632610579 732778917 280838459 98459265 333429215 940150889 734338831 18469111 562014367 589084651 358294917 813085389 889897927 51052317 846331615 142995181 466805419 21202457 529656011 436445157 724896401 43917605 340846433 603908331 119418783 683491243 115071001 703287521 841199593 721593661 84738269 245085003 753197159 903045273 218607865 565275995 236978681 836919455 981560353 420319977 179272297 505095517 781480307 555242863 733813609 197430533 925699187 133320475 261058963 629217011 159291409 323269047 190092133 837456553 199211935 972349373 713089101 861018323 376235997 767577933 567070103 729472579 235618289 57029419 884536193 509756663 86924901 9036743 356858409 206356239 66001455 275959867 202821785 857885657 38684077 600703813 662568899 62955209 114711461 294217803 587840895 622157429 435006019 678244445 753732497 46099367 303836189 517779251 679129759 586966085 668532017 704750635 675895613 206156387 545036769 590335819 450734817 289815871 283046399 936479303 257265391 674659899 124783549 717108593 47068591 811753953 925785783 971894477 829749587 337745637 184755447 101924605 174390003 243590435 140506597 228580949 403501971 388140703 341622619 893348297 116178201 941534337 583281299 77065723 210940759 914255391 524994867 843905583 467266825 442017779 379262535 717474135 927660749 573811361 414631239 407805193 623292973 414446579 180059409 532844165 399377561 105091551 73325285 784581043 881444463 694255485 211823989 737791007 441759723 330905105 170386389 841393667 416243257 111345161 16522881 278741821 770708585 445742069 267727457 531642967 801341559 643083665 567243711 188808571 299628095 867296961 18733907 854447493 7205519 649476751 972856119 578040563 59890711 108085809 569929715 118135019 638517359 190894591 811377525 903203389 668266777 839881855 39716367 637890655 376084095 423418713 395966849 810530419 281736435 654008933 916209133 927180863 662469035 602415769 485339365 853580081 210835913 908012827 57063515 446822243 865494361 375203383 630708653 647230609 779482187 602291805 79440031 264423717 355958647 513475373 91390049 316741419 492385183 101097063 802799239 984008031 704478829 89587957 11615245 565453339 240822129 796365295 798671961 467247211 105962789 236912523 992537145 884770043 799266283 768028209 732773603 285776675 255048457 97865575 276869873 467988963 572252085 20391141 208581483 965093601 120552965 993492869 573463741 32824173 781942267 811094089 876959165 129984895 324635777 261562717 272842409 423064245 551084647 64623891 878023203 405358425 870305639 707203817 172618301 985099605 267107105 985326719 92400487 904561477 336940577 711478435 11571587 408655207 805204693 717284423 518118101 907239071 77455513 320627591 35512071 968448897 788648109 657946277 853496883 934504771 542811963 782256909 719328723 897049795 470729299 937592915 547712973 25321353 63534319 281816881 562484077 711177923 825751535 33387657 632958061 499655241 989756191 42796651 436071397 681224605 729416749 144220421 10815323 772717281 75019189 151108021 731667391 31788009 667347511 401242109 240083557 420613417 288346907 542464137 938603531 677038787 829935029 765002285 839792595 214473595 749320765 181491939 453672013 962456515 658873043 978436303 989836399 856964785 300292737 246534971 162523795 703907077 261252155 503518619 742032259 80129573 678397909 354560139 866134887 672014627 390274325 313934031 450539223 743827379 644144803 911610447 257291729 98459445 51034893 485759265 539582137 227956145 740923345 386108543 21266269 924550869 489260109 407292365 58515951 336503035 606267597 713082775 155145233 813499425 653348223 302637709 997034951 94318317 973154685 412374671 245141117 686437807 236177355 481356699 46782985 958047069 476572751 484294369 646606247 534605465 574511325 44055985 167432445 130286249 291822125 518165127 876698393 570245243 400298719 437446151 177771887 726286759 999955069 715009021 542584031 211853679 93835897 869080153 766021291 559007157 557776685 524738619 411250561 313835533 323748055 425070305 588793463 886023851 414284965 402585787 24617483 753788785 278078883 966919769 620062495 272194275 527806415 150148985 733252613 951389491 21980423 163426299 722943853 668093239 939740693 131895021 49463673 342611823 928096683 984026497 57001645 646349057 129137505 849334289 113319667 37690045 352918203 699239715 265536165 632214043 559461407 100440673 762843517 782961209 25309151 510960541 462970785 600529119 245176631 615713237 892589215 628093 904042821 55853097 190611563 812969513 852286995 468628199 487290979 960303777 937408403 198057089 520566861 830271823 605792413 135927955 923181397 741898305 997582323 525640927 935956241 953689647 598299455 637163089 87935613 295880565 372149267 789804541 3813633 515034399 46358245 849741851 958451559 323740633 962299929 138446099 439925989 313266429 825428215 550108781 815985179 468805511 743583921 254791133 575987211 403985183 130418527 198277695 444389669 733927703 155489539 940810901 841246267 16126307 868091015 822646539 37497741 345064869 905551549 509538293 931617215 199342113 886819163 718045901 933325021 418348745 899984387 329837879 967429983 100777523 341116225 518455293 756528417 46789279 913772933 255978003 273976425 84853491 974964263 468268949 258516195 698681791 2315881 710339271 172508835 530617915 600268917 888598801 591524651 871700805 423322203 618912265 863486043 876651109 770492183 937881705 612456835 860371659 6016389 36672277 40822871 818964555 137021299 189061143 610248183 459511913 967085713 663907749 664149989 552103753 433748343 985454359 334852367 554724539 982121127 685126129 625130699 111649589 879030155 105189089 769813975 435472601 458645363 981520055 971764567 630351981 566052505 318156143 180071383 221121631 703762717 945534765 800824399 669942727 148585995 497916733 362873627 111962469 679465043 580094223 655663871 630469793 556539851 193435971 604917291 644367495 609249339 847341207 207804721 674234579 471304261 892464379 202708497 275241183 992626815 518295167 338826031 451484853 852083297 949304927 274665049 471905285 702131533 489521153 415140291 145748773 493255561 425625067 994336525 941990933 259016011 625055957 46022711 539577211 394483113 388559513 734910645 883355047 410583971 346107191 863181397 660219793 396399399 936552927 908821083 400736727 77346819 549190627 509806183 318799297 317262577 763185083 222470539 494066239 693187217 558827533 543077175 7880933 861761135 576391333 110384717 152881399 943451641 135658869 291340303 236368473 839857035 176759193 738497325 289601691 186602853 122230355 819510969 917790707 606227631 511075855 734109491 480281155 348333693 163746655 92651391 773769231 141236423 173069825 575194601 232301963 662913389 273717719 187009321 278002057 679206713 372285931 835405147 546672267 172410079 689058673 805395205 653324729 544162291 670967491 139124755 871667679 724675067 475691625 871757531 546950263 806235485 563224585 140764441 824026785 9480301 907445623 451557619 464945185 613838947 884825521 973468151 3748969 259215455 619797977 7250459 625419663 609944171 541855801 151463609 106986321 376819833 886965573 100792729 973726235 718716771 380000921 484278761 828771319 519270377 729541111 671750971 237290911 73251763 765812301 847241869 472636273 94233173 567483049 379321159 829648501 910967877 985248587 594205749 372901721 81595367 260148373 253973641 669325687 499627139 772654611 502804709 550496715 361212237 789208437 136222285 799346175 219674201 153798041 374358827 109652321 763654061 247505795 379315289 84234727 388095023 753094491 605987857 348340019 780121265 769631607 418988793 268309387 171184367 194321233 2005279 209413341 590887047 637015181 352330487 197570497 785457155 253193719 695587423 93526135 600793557 180367487 948137885 122324965 121435989 24103491 751524957 462840989 285229511 647767431 982546613 859640787 891557713 561797557 683802659 354779239 618931717 648295007 105054857 589052387 679528671 392852545 428688697 404233585 728543421 778804287 804244963 655684333 961007465 913281637 439120297 229809109 816564371 341988581 79355917 726960207 140319961 539570457 616148991 822564907 210633399 790444167 970917073 724378593 840016793 888027607 318991171 268628367 35007695 498836961 767479417 358891005 187253909 555047067 406555905 487218075 155984137 688322091 913350607 317449597 768323381 345914333 257647425 348235367 422134793 818772259 129395227 730427323 117593955 833628313 414190221 933002381 245753599 151036673 232549675 989453971 959059337 558425157 412609521 168163113 552411537 648592509 443273031 230821467 114955409 716337377 883119351 391467989 202607595 881296083 846452535 776047599 729023463 67815649 334082471 402158249 307064501 331493309 341855817 612780715 745643379 354587459 347481227 431690305 739726621 630165877 269055043 241660517 199023007 577078655 125433519 46484919 552657609 250789555 866409331 472761211 921393493 865901455 506669979 133316771 877955043 735451829 208721567 840132803 227945983 822154223 196736347 635591967 435195673 863764273 748593429 829976987 767468937 889205143 97978999 453576647 422335377 643483235 712866971 461431259 920802907 225777665 778313211 297328565 284616951 424033029 843702141 195226589 986048351 493266729 693697391 555581569 697092979 485526097 715291781 318440571 425076735 459144583 515736799 752076359 426148273 383035391 623656189 831825679 644727333 253626389 348933331 357702561 203784411 54038093 470663857 648046451 468510269 260669519 779640917 91177895 899760795 657249265 94087655 302387201 510637871 23447597 270294257 817404915 354127129 706673191 847795051 535034773 548303461 456909867 391741103 482093219 566731009 889081513 188155015 857894277 778317257 439579455 8694299 235738699 15413629 881361329 303081733 291198383 77768647 554245351 707700285 250937867 884181045 98913271 152058669 76469353 168463685 930621213 740533921 37202809 397841749 466484409 702815181 162117265 245535153 523684951 148455759 22178479 99862919 634558381 676110381 592707965 944098547 942565779 922912979 853800521 413654005 333248783 485767703 43513611 135948661 971422283 354738741 735616865 211325511 120774041 808931797 301767059 658241059 75623541 879673089 383604111 423732905 119931011 60613167 738288111 907582563 388039311 292624191 520110831 385727429 83111307 246656115 991780729 54323747 957144467 309231481 909700123 690988739 705877223 949788775 581982219 43149771 230562551 300722363 117096491 315751247 628170069 986155609 77116415 973505607 268854457 152272525 529140921 812025235 321565707 974146319 189818415 939824381 482420561 318596859 66569185 294360631 451393219 731086295 948865527 664772571 569554875 396293773 980786749 886961767 215517627 424166007 881577773 451346761 979625839 798627407 385275621 317275085 285104555 155489595 389135919 953430577 56115815 763666889 27736437 326758035 157341131 654911727 97626067 96250877 711401759 476399367 149307911 92307297 603908567 326025945 930065783 863600281 898774159 410093713 227415347 200750435 578076681 334036677 365009651 643003499 208846385 926079347 34975763 829920835 121034523 343979773 678554271 546208353 54332929 868090165 760595525 806487593 631028805 525370443 811495769 918948835 636555895 495849441 85005789 86493633 468501829 328427513 663061113 420859101 200536205 344653315 876494715 503504949 469908561 775369681 819617241 294763957 955096509 3339427 877110325 360801069 519724581 953039901 69662675 877499737 555398147 351672653 705331621 271967447 774949371 153879975 174434625 144447793 684007385 656236553 42287591 753129945 689842061 269820345 168346495 356772135 130131509 995685219 347071893 369207133 280313109 520694301 714053731 912418213 795016853 861548131 778789319 207667983 454247243 953572125 667282505 14259095 402737905 515221 659367961 185697049 584733547 704246145 607653389 592434275 709245893 89210369 734782627 499075109 254019375 763124375 519873285 149381623 442385929 642667313 662465025 516481885 578372817 955538981 35614479 265868475 280907063 692752689 776100173 137080425 113973003 284706937 968212099 592992155 514703177 723877771 909648415 853063027 990234391 745013339 86206523 831533053 936204987 228399687 754795667 151715625 503893165 72840467 248964497 185331151 488556677 862584815 6114113 431515825 49220105 164613229 618083933 254361465 310339107 209696655 581003589 472987063 723480037 999834805 856582911 724286437 141963149 429679791 586024505 678875237 271768955 705928881 382754379 637755007 99072829 465126747 364894261 111081827 462077061 724755373 760280477 595725101 13952557 131551771 45110227 858070493 169094971 786905973 608162511 30805085 35378137 381368313 904109615 62329213 797755483 234192463 454610491 180877559 359882297 609552513 111045859 769465451 950577435 878265607 731666621 561749605 34570185 263275965 641434631 236854611 977067319 796846823 37345707 908755601 455647105 388155957 473108535 192330079 950579945 671601081 53635811 7706087 492518107 597577459 434016397 137327673 949941993 492487111 199291069 92184399 186096081 166137731 755191969 679741961 695583349 181935579 6507025 117005363 152486111 57254893 267387023 63746427 385765187 365956927 11200061 633390205 50748157 397084349 208215279 389892537 100025743 283946429 40189209 10725527 817414055 741379323 199250141 659250283 396936211 295020959 783530751 830763885 623658707 354865715 852566513 994199997 681157641 223939503 672459977 805369447 196662015 259296365 466753607 658381913 670768427 31018805 262912977 743292783 532125989 669193781 882561145 602863975 920679857 782397951 549824497 845312239 390324413 144543379 476188575 700105365 489624665 505366613 551641989 419410385 517409217 682669329 699917139 53775367 737012825 247474943 490485091 206719361 357914283 573510075 513857971 601470061 751104877 39155531 943005417 771767271 728088695 957691163 189044053 208592109 431835597 362998527 174671341 949814637 687205021 501196343 811463507 337179955 685787191 807785577 660393165 976531709 328646423 170336415 521932617 599232361 384505315 160259663 565259871 154225665 503210593 304796247 610523473 257762871 611172489 328313341 33772545 761208933 48115059 958283759 135568387 71608521 71003237 775826239 149247883 402305681 926482377 520792171 311598201 644868809 689581105 143357531 725789527 342281583 320219993 589874009 75914321 195518561 496011047 2159133 566966335 134673001 668531873 183265987 654797729 377400889 799693567 595233743 769149341 43498857 942711963 803234097 908532483 435907453 32092151 330723131 163688267 193755355 230796989 384375213 643434387 559973845 258400453 258814123 193230755 75593639 771396869 88724419 3925227 596754799 104044197 832804585 358005121 521849655 470043117 573738877 978312995 235091697 160639825 745139519 678000187 896881525 288843883 653943651 346100951 728620935 269193473 42841975 443317677 674159821 621464573 794677887 815175455 929885401 218843251 481318363 613390387 699487269 663395997 466293341 392272279 689109267 407433437 473718581 815879845 398097131 655082177 757543173 34557529 602356959 791341053 981682383 111551067 134439687 668683111 472518401 454891517 837024101 215588873 190033011 154827059 147175651 12400649 325704541 515463583 602939987 294659005 468255849 365199237 607723371 914455709 545994147 75453655 465923023 320118353 941565823 550289451 99236359 113541025 334820315 976567745 496846467 682144643 447661309 718720127 865525919 347099151 746907279 861271797 666063773 664903561 496667307 293928539 764591009 584521053 561432779 845333903 113850563 972972831 831383767 348702745 101002231 874336137 874779161 756336937 93213727 480338303 161039943 755251347 733618439 349288717 245115519 205381595 433870431 37275235 722022985 412854053 860066495 128293087 771061901 188228161 726013097 390699013 830841507 652225957 962178951 588634237 452309831 757594995 752976041 601593117 677514145 369394289 812138569 229774303 834861629 587617037 241526919 129041129 459604493 717085791 766214767 161940353 319425395 105624359 145587441 31985951 71602995 176670925 142174181 54889051 400201079 587115613 226595085 570246139 359849689 716033425 804285201 629463527 429853011 937638857 735006853 926510645 912088395 141721865 334319329 690906145 902168207 355259139 532266375 295041291 798899027 705702925 951633085 917322625 792194357 537609767 203438265 264198197 10503739 879253495 964587665 934956289 780199889 392924621 667649863 160984043 806309325 621195425 157584579 430262813 699881325 23788305 895558361 286847721 649080403 970782309 865311809 722877643 677607823 168410509 640587163 308552297 290568343 442535965 886306931 439238027 370994247 381006169 486049335 772862501 29065699 692014885 349832003 449040721 395427865 548464399 220693975 414671445 633759233 262787923 707831067 325946779 364028435 486868941 710113315 635612599 46378809 860381955 984577255 165989473 346481599 321381673 422038855 923967361 466832473 673028369 119255565 641794079 589739813 356549949 813716973 536912751 694090921 4220627 407558779 868219341 574854353 639569061 262348093 836867515 222332401 730531879 624132763 416683749 909144523 543270521 261749987 961832223 3125887 439990117 310416723 494865251 260522397 346309207 953081097 691799251 987348249 903039847 717211151 768855485 599970387 129520211 54447193 676508821 108454157 569594245 265571003 711902451 251563637 496137485 624228859 528126619 65517089 227462045 383782335 842880121 326683919 801310107 270360475 142600609 127654563 145102343 642848261 579301453 205385129 153534871 549272929 615043297 838363993 701973407 104243961 636508903 932005455 92288285 8837115 401220115 948948879 691199419 734851201 385434947 70845321 469586119 696110223 362512245 114535697 705410615 295826699 977937111 78449763 445428141 988963527 354935741 515280421 565422445 124559743 895233955 183643749 413880683 937455825 98114089 709968791 579886649 367454535 894490651 255212953 139067417 666745171 258582639 89817265 619330033 71880269 996679485 344641675 355350611 557436281 842523849 216465213 805651571 200255229 322408577 550731843 703920433 742404331 477711349 251946373 222072855 382548031 111743969 283379277 240760911 520089559 514604843 617363027 338820533 895641469 657628633 603457203 375272391 121411299 436882979 937957105 887022763 913912993 885163873 203939835 818307121 728544057 625298713 746939177 191885521 836688405 888677365 478318389 961718953 475979399 874415303 185989445 867574913 737273541 655737741 809752037 790602951 80130291 937191015 934319629 671512725 474998297 556387491 800616985 624683687 276243751 949563315 556008143 713085031 301619195 828528689 652635227 13662435 553460817 66889443 359804755 501159889 485439189 682035123 677031859 198885011 443879447 443142835 531201505 753577775 687200145 577350433 532641709 805141331 416267941 692451933 7542087 293693271 240205211 989258485 218728527 158120763 659523237 530952603 359422669 424085927 773140187 550586411 117938729 426340583 920113471 160656551 809969723 307726837 827607483 599978043 950108737 800891247 694549535 631676475 778414045 320703135 687683365 854303521 10139169 734608495 524147055 472488335 939728511 719654523 646609027 752076115 583442901 189443073 151390679 108994655 458584935 634100455 458145217 298670543 336421349 990542013 204708995 669355239 240541793 85126587 933829447 218798095 140422493 460519871 763031837 826129373 176816569 94485329 862693887 867444233 217013189 65782943 755261389 891869307 140664885 415635075 442403155 213318205 720118567 368001913 27509569 951376511 625241889 225621675 280341805 322455967 362688527 645594343 900678301 74691103 828819015 208321955 776684025 954088365 965448071 18270721 314219409 114740759 956190705 97705413 574597791 25677407 35133719 737753697 406114883 314826659 785814761 578402285 652857993 301035567 782281929 689844773 5740895 109017719 826542201 352448369 62695329 908687897 56522537 371158497 423238671 29981395 521771115 503590957 986233427 660552597 979993919 20471477 36156413 200176495 511755017 134421117 429341061 212266141 253727383 840869943 487251793 185018243 623484189 234409273 360581285 426867629 275230521 951890561 541089973 140082891 229743601 787248057 709738395 872052669 11990961 570122799 528342359 238295425 371380557 756242907 296152273 807573575 302712583 322576987 142586589 511012447 471518079 462623223 132778291 977722695 70963909 108707997 793898355 283875999 103799119 500745447 370061353 466059573 425198839 605894417 73338819 25913849 595546629 686448645 512860571 270219531 972286503 671768145 557430517 155513003 682314607 787180843 356507641 571315781 336586077 327592309 56258229 332180843 993827795 529269427 825469479 256356571 990544931 831266839 83820333 6142325 726715903 423971191 607100817 370828615 344554117 48704083 738083589 994458243 766057273 19141843 961716259 34529411 461474571 449272003 826255723 259216589 285776207 479136925 730658885 132036107 926590145 447779455 992813059 209914641 114009735 302516019 131815649 31608281 667078447 694623011 637595901 312706693 211049901 979858795 795410273 548396131 508528737 487387849 428472575 645309669 694482445 628448419 370088881 212593831 778104543 209795593 190210357 610157163 177694573 915612337 249770551 583304733 400754099 553075709 51144009 190647761 661089817 986550771 712114145 459650241 11775593 793542211 766085475 833185361 213387483 745295681 194692119 76338955 871326987 11345135 844893743 273579939 535077629 501640693 219106501 12061685 657083423 372310177 652182231 174486021 890217545 377873897 486054993 430273275 945970869 804589167 500810501 766805037 557118217 342661495 323744681 906509333 146278995 54156275 913324769 419855703 442887687 913088377 366725173 229477309 963805443 324879689 724531479 674364731 754182797 194258763 568860127 722643693 573936465 858641675 887831759 401170967 254306403 60890819 930428689 999339297 430911045 542321233 270411191 113577121 730879447 866586685 62575287 691728467 50092393 123945143 372215285 861258775 895700913 759008405 105368121 906108665 348229833 491472469 234842163 897769519 525681467 566650657 966565759 407053329 934237935 230218183 294526367 445699365 929121853 192960959 675750137 487185171 580875491 286480935 444994527 696060337 188258053 987841735 692621195 103513595 502358575 783250701 915861791 74269969 607019609 484526867 950472355 884648257 666866399 644379285 670415879 903632123 305441671 109559803 993750055 917660127 841276795 520193367 366874563 509498285 332437589 980605789 342304389 58018639 650966287 918668399 595650557 577446877 847270161 277195665 850061477 804632461 741339429 929887605 686219487 137388741 514595457 731174771 268515827 869036305 896668611 871608965 397222673 424115235 948377073 231435865 457948245 124912855 923623799 750133305 903553983 480615471 2207531 226865695 381101625 324652631 981765963 791643049 914170515 24039329 526201467 366712095 991184007 416407947 966002375 245841521 863708085 75756469 623868071 527831605 658061993 546195693 676266485 888244393 169534931 152011301 828520699 751840951 48343691 972269433 552913761 459641069 583802897 115245867 68712257 749525123 353074835 545161895 600205845 547756119 605903391 193380225 389661635 735997425 746145199 655256691 384477593 603995775 485330979 361751135 167955787 502586841 78595399 951126355 632955895 429127553 284168905 950135683 728015139 431007129 215929157 57445959 441567163 516504565 606289211 476567843 33104149 466712841 818413075 602631875 17491949 674048247 533896993 921261051 428128105 753984131 68759709 775977157 395957273 806244895 877180583 200448837 134648045 450089185 867003467 5843653 909758023 201353097 267421303 889888441 388339945 862144893 882486023 786762685 790044417 685485005 372281275 68955285 559240999 255318577 296071995 256042281 638941011 147725321 418947611 808754063 361380335 684212057 158219217 369638145 129671367 347834321 579236803 271577827 336905231 624748491 724819509 481319873 669265253 757546821 529754459 53594699 438465741 491519203 28171855 755435615 906543031 366162169 136567311 564249601 775888375 407494781 685802121 854555737 642359497 390158349 616295817 57423037 439505363 604869361 740549581 794816425 15764003 515563031 289128435 243050941 98631983 525343511 696427909 239061703 144357841 401044785 631504375 920754359 855703377 710828109 361335709 803393709 921323611 574800889 370939069 136041959 84503557 638816363 625674365 221750485 298388685 204932995 226185199 360535559 946542487 687684555 559175951 655798075 175413423 713706351 797207483 654512209 765368525 671479111 66816189 112598615 789223949 853076435 187963079 609686655 403339507 465088057 166428019 203650851 958065007 560453961 162939455 608948425 924842963 45226107 303972759 649194267 366515679 659546861 378265037 233579499 221409207 106804327 875413015 877090359 20947177 532092505 370502041 749669151 461479273 76657369 797160027 667579633 572322965 432441765 96810063 345120287 403022387 808417575 3054669 398435909 809026415 926646637 352162585 29113637 579733471 439919405 767630937 349523371 358178943 335882953 433414559 608114409 439943863 624084295 423322469 426882333 77115729 349536085 496758285 980787369 649045893 703273037 24560351 85387031 806831085 333717291 670378253 490730011 381505427 560124311 244124847 782993 445052639 388184803 686754761 875863419 371833513 691116291 312896321 102328581 161737519 849155991 988860393 944142211 167639317 352474345 154575227 934176879 39474793 594721509 109612441 400831341 744350623 418939939 408137419 851817799 731927701 1865443 575649665 294237425 163607439 190101003 306712857 555649671 670535229 393283115 90494671 551755339 130641587 28820091 695237839 156463531 385142381 230053337 777501993 318377015 582764369 500977613 325863639 833479851 686037165 79389063 781862075 247524843 200426551 969118427 966530715 721150465 985627913 694863693 14723117 641549601 788316331 186589441 786165767 184781481 283955209 379929541 559859371 642433047 155161211 112342037 959314307 453814811 360844985 345152525 206611423 921693061 915505645 724957811 246776313 997882449 757911201 16971707 389942259 435795107 360649677 894277879 685202643 675073989 773878221 427160297 925132175 662041901 50978661 948488953 270874621 718731635 833147589 36149811 939698655 930334045 623669889 128839249 268942815 723529941 399864981 275162291 415052427 205521389 83279719 523410269 322021217 347155425 646781637 588989953 439751617 411193365 271041763 431108853 125867507 736124181 475056479 912242745 291980327 982252947 611322943 377291379 754780025 837031273 465194735 679001587 412360937 591279261 305986885 207639985 596361823 76688985 185675901 877819979 570620847 579367919 510701631 98750729 110837137 331088349 219195797 320414427 138181285 584212163 265389559 611680085 330268791 196860015 538820159 784491451 45760117 659892435 804122037 706124785 81241851 704903435 793508103 595292037 981681225 178942041 2480967 101803699 102970247 327716137 116876533 236660567 450033609 937149453 283416309 594418167 782294791 364627139 473918357 248045765 730991393 361449771 225889673 665094297 381406435 103687763 549760751 323602415 746277115 160025453 188295243 532767215 648118533 92345045 114372493 837549931 742186623 482787597 327753481 19424215 319996375 302502849 954135675 723470419 604601689 744576197 47632907 704266409 180733507 193721619 823597379 316078149 903065011 840249807 581345817 404080959 278075317 634893123 727349739 398042965 99642423 797674467 626930817 839722737 849511443 598650187 635891459 686485539 733985805 721649981 908286729 188585373 415645131 216171685 201140113 394603971 671746273 995754135 586959357 648957339 703178181 189757773 13328671 293194709 26793693 82112299 634091049 886974407 253845869 735983035 88121785 844799087 262257321 803494579 147037395 784101239 810970281 603673323 817161191 897079341 731381105 750246759 725048263 26427015 188985319 283698261 900395187 627421735 399079135 750684165 907831119 498804049 694388239 704242163 713858473 19275255 242644251 795282883 160170039 97767601 114120331 918059071 216755411 355591611 737745105 368360541 68655557 781846525 910803271 273319477 271503545 890794505 698855723 194629133 254787013 324161299 35485353 537866573 686335077 274360315 174951891 582382987 297826433 76974155 704213919 356321667 947854691 701543725 736783089 408093717 235817667 204050045 543950225 70903119 898924475 878599097 352210737 236599137 953212885 754995975 348351081 336963499 89689593 732305463 216934843 859654059 740334975 847292353 851409553 487205393 80679717 918543811 875679805 922462637 635266063 372711173 852519157 43679869 774375115 721971701 782479069 481305249 867767373 607963053 23864061 812121447 660057331 851474665 719131719 241094721 667245443 775717139 22022803 515943371 133037097 310547257 10475427 811094725 909787513 499544337 489872417 297581855 694400885 340277757 134881437 589591787 139891837 236317187 596019345 292434273 855843937 142533841 937274719 914001897 490117463 797084863 130772303 20945163 710612217 282494413 365248147 848319867 576899407 915552417 588088387 620666645 925480389 275392909 575484769 596330971 421536307 293982597 943632855 77461753 83774929 520488745 78885237 95911361 727655497 580604355 925385461 957383345 359778471 405044797 294384377 643369579 223737951 641532467 91044103 218387641 273066573 277035235 147251861 23053199 862049723 877405235 60316665 538912265 796924755 770360755 763762549 684072809 330390569 95713179 993068083 679563803 332288189 349465033 297820995 804594355 721346035 816442565 539134623 352870635 59347993 13271229 469870119 741250215 684673509 486206091 531528871 199573745 618457969 747821739 535570127 60845821 382076741 395555399 156203575 792091431 864807245 177372205 813759585 225896435 512409055 254353875 948776373 708609289 637329591 166891099 491535495 855434815 793187837 374785417 582467087 650533007 822909755 543418063 464175471 634213149 299902569 709100611 984431277 632043059 773312739 468073893 661040575 644658759 29148781 658537309 369940345 824273649 488987701 391191927 172328609 637560311 82819539 786037933 826220767 310038593 940297793 703797087 618427843 873178341 866500325 531195025 740703685 381953565 323816075 519047413 398904139 749105743 981060205 562265567 556992409 271988481 724005667 604897363 609858021 228100075 904648115 107170293 485573187 888947173 711576717 963087893 666288313 817921013 929304709 985684139 22941743 489297475 395802071 891953493 943630707 523096871 498487595 778124891 819341891 667703831 192187531 938309547 629638205 874717369 497436781 169420767 416163821 671013337 467476657 623575347 619992513 130338921 601038233 739945105 21760277 206377603 622335699 114061957 745402663 271982189 390243959 749705803 112374309 230165905 340419581 854022333 127242779 460678529 462210895 191177575 415377415 257478907 833173945 829174645 170292935 787129055 796874991 89405631 520666149 550263611 272829965 637189829 535804373 881066049 689826461 969181103 954926699 32362829 681013129 582036297 703033965 729599969 448461861 227444749 296889665 373852841 690480945 835581465 120992315 584703607 397851091 158113333 347617169 590433609 179825301 719424209 768545639 690056001 284490349 881753859 222267589 91094441 361149369 452505995 904158877 3871221 973305151 775782351 91718857 974372545 208386859 821865695 128230151 117014223 509773331 864595057 956353029 279057931 614353909 3356135 679472719 317433993 655890739 748120391 219546977 283659649 600843679 548608575 299177117 701266523 860032363 649941801 378669133 25666463 860698675 281457153 510381727 801395203 660977665 158342001 725882029 270298463 969809981 803434951 17923961 478052791 36036289 965146105 429890285 817670711 566590661 886724777 843728091 200589875 438895093 119361819 479630329 505832997 351842647 688809025 887702251 801518769 406600293 678378417 197029689 288588705 664480765 74464939 882313813 749730027 743929183 54689557 777505943 646326695 310414653 753404033 568557633 183658777 602982059 971915043 193544317 637704623 111729189 828262619 993334365 661807097 273792659 288035377 902835671 153267123 486111807 679738709 477555407 153160897 429102049 235975965 44352525 769752111 884994451 543460871 837429825 132940589 588230621 623176509 941308169 122357785 563039405 849638797 617007073 283361143 184692821 552147055 501336373 358179057 140435093 464411393 62399317 921263193 533595535 256635147 790753147 313051307 463769813 965081595 890456265 908362507 872582233 399921641 593509191 373912517 792246649 64052887 68233445 887581515 610920953 903901287 606846591 831602487 376239881 905716589 554836183 777179471 421427261 26903645 685552017 751600253 639075985 163972505 577818691 290829779 589992811 52371493 724256615 981724047 562972569 178364083 73908057 506626577 790807121 312728217 160295783 862127847 820167213 839252183 916559551 36261315 714630197 728206101 653976957 409023871 752201941 76520095 646591393 623306529 22477027 814275951 546518037 679408339 498810525 442499363 298279337 967994087 64823461 517669891 244213783 395856603 399575309 583707647 163688705 393529937 603896901 395870125 331824877 453961235 962000943 283120459 971019857 184471317 850857229 332587459 426404995 895286129 162982543 849141667 674695877 22063471 16267465 842822691 161482559 883706485 725354293 117254689 300717061 756239895 533440447 54242595 541770767 910394643 547448749 905558621 249868349 398688331 88372409 553494433 513577051 458922953 687231489 80830065 520730647 781193153 396465925 666207989 105028109 238788495 592322743 229957883 499990717 863773877 41396843 522340601 876376977 244169695 886205151 322700559 220417495 837880801 235338037 306908167 981168589 673029813 890322429 533219405 828277649 254426751 92167213 139910393 355948079 525847689 109789727 454819531 252174485 977591369 46575261 85260073 720651423 939291735 427717583 457135907 583999501 503237495 96293453 845765745 743794567 608050581 23048213 557889137 436890017 935519941 447016331 688630061 928958419 558893635 967602811 39928911 228762493 592917871 818135325 340156979 904172777 268311253 11656973 775624405 954212425 728839977 470340689 110594271 659639 999181385 283195989 526358175 828754739 444713011 593146093 404245773 304757157 547531799 114931547 297912519 633655777 985467205 744266559 129726229 257504413 355297849 181611433 236763365 625573501 476902807 827386381 550570447 12821771 390490923 341572939 876234515 543670709 129157863 215007397 483059353 207889109 296846821 83310281 992819695 432925359 460179819 165688013 795439947 876950633 791716833 334459183 43418765 765975831 526382559 943881937 136490047 554138287 518684443 379624453 12291213 864523029 334452091 761210235 807553615 935029521 53147147 250689365 103116293 741114197 627227133 810920983 29584597 570321787 679537069 984444843 47723407 387855105 622008731 751478891 239689131 366617683 201240951 960196113 843458119 148196291 376593171 676592323 672067371 303200391 466932583 562441743 315058631 895490499 750008731 956322281 787316783 749928831 343271927 799498671 471789095 246176173 238598895 345968423 99346451 459494693 135782429 548296573 239824387 475282603 400135495 302047303 189273261 6022629 189986135 440941697 572182643 81939045 890181985 718639507 990019163 877935783 76873631 126889031 926967059 808687367 770050675 786848723 306949619 298679507 364685163 272772823 346058749 203336507 311882297 200574549 509416659 867508311 936452025 574579901 752882633 944486955 508837101 895298785 43110099 416628637 273676291 850754817 523107729 434852735 272441161 442082241 467884109 949718923 877182015 92906285 460821747 435868515 125287559 180155837 201532443 333504911 770060523 249242957 205504003 47639169 453714529 650494499 71307159 818644881 570066689 653559275 916324705 577172481 130434831 54906553 905755803 154642939 727813623 590476303 895807011 359181711 282177357 591700941 991511937 132261815 686595531 657586499 776983523 678283605 884011093 775953445 357903139 474808881 574011125 544749459 943883455 959307259 711040481 434878735 806865627 314569039 213468785 609777031 462495563 897309357 192336939 91677777 305116293 206235007 816586679 785514539 709861031 696673045 741210091 161318455 168565367 148592041 896297153 861568263 440071785 88574813 54231133 703333773 280231823 57713463 639926283 141216295 785477803 780875821 867871547 407267225 33741605 106922517 185654413 282656787 598016009 154677937 782661311 153584167 488042769 382451371 163370945 395307989 211986333 151512723 198400419 841092481 350989745 196862947 704982435 293704953 635172607 126425595 839011105 263532145 573017053 930394919 246910635 270506377 665724491 220522389 827635441 833407041 952183535 562071649 87943635 571329035 340600345 103555723 774966097 799449787 508057281 853597691 446054549 161881487 929802117 94134917 390947575 555186217 458650541 668102369 325926125 975603099 746284073 760659377 687833375 601524565 459346061 100551291 326223701 885128761 656154141 131063475 179295105 73259913 650939067 293884083 570236611 587023349 500922875 220357819 734390875 465959567 54530579 404335605 10672821 140537303 458898657 491911535 896367203 67841713 125319915 389393191 191036195 308538217 339689059 447377659 461556439 291146935 190701089 365032375 936953481 688754359 784329377 171552265 361552749 676975087 133356299 928172941 560674783 814498379 409300017 607966145 545399905 71473185 307198855 969302803 365776543 125641517 676272173 125152209 495259243 602390933 647956461 883354931 925598915 476512487 284133425 779373149 522944201 248939289 66550549 544116569 252058823 139618181 890822231 886204949 216918321 79834611 661934173 194627947 429911971 96615311 396225847 524019231 24462305 135345649 665925533 407616471 254333651 432599569 957659629 967910439 760021391 485605721 844368687 931898759 52776527 234389651 284082195 425991255 453281143 444019959 616084461 132229089 926476433 271039777 17999297 137040215 245404497 925409815 427697971 874141393 651929235 125380163 380123537 648879699 237145947 959625343 405147863 726956739 860661713 325767941 891417249 262391029 762292299 668180091 33508149 584424607 311253059 930126063 800714885 991651173 342084445 216857301 24858409 611784655 761701477 231420427 996751709 352398927 871159371 72043223 481671689 518063167 989394223 746204389 289754047 959837405 583240527 709210699 654923187 860195413 980858395 97790599 355150021 981096633 350128419 408244091 162493053 280497407 407933731 982256249 33523723 975908363 834218751 217214769 927551813 544984485 242600643 909831365 695462315 799915391 864867489 415561399 246359907 555194929 792612339 69895159 178637373 789968959 955070527 564309463 974035121 929530639 910046767 706618647 899977949 820782067 672565397 401981659 345822601 41813285 103269229 973539249 631313699 493044935 99033821 982357645 205513413 456505313 494566443 831849421 926422827 983892837 109051599 925882933 125758399 254179115 606114659 815192565 29175183 783681269 8512681 728292769 310838865 300626285 633006733 328176949 857291623 914998051 580311841 917261081 322900183 941676435 67621795 458056471 515907151 928746009 717811059 956338533 827721255 135291651 278597407 97569187 366075999 419605633 203355481 859595731 406700445 167368619 147921917 312306019 176834099 164679043 793751821 822401065 998483221 748217843 630967221 801464163 642565347 517396171 8718153 755546805 298859237 967353029 535435841 623704363 590131211 643739779 241597765 825957437 250313195 288286605 278951965 246425287 781119941 410614099 117141181 406700559 991497087 953397809 194530369 714671295 564384937 431186023 417050091 112631281 173135739 292106015 42111529 91728415 522575315 43884905 298017161 562386479 459326009 151785279 671085515 281286767 324413659 809105027 370340049 473769875 757103251 121509371 707476901 594106811 586886621 631147101 215113085 864024423 825953251 704447807 631591089 681912459 426408305 395841571 238574533 865278839 329900547 470329201 549709925 645189097 258750133 527863677 349109349 631429129 994127181 201849215 911508671 986162017 204448061 788449433 62375063 730137577 26930843 853968081 902797881 920523003 384982823 325532701 872525845 109007457 483152201 654338387 857415113 184546115 642062605 588348211 837552409 912474939 213486381 665675627 161798381 721432385 724645897 650328457 59520605 46206143 590077093 924417031 736094623 595294337 384066995 915977541 429140761 698025403 836928135 847733389 94316117 504218891 422252581 211155219 977151241 715876727 713214001 808292077 246730765 653361003 961322491 495438363 78431335 617864125 269570427 478271883 197839937 288978601 859946063 285484043 671994349 901127381 204288191 481938771 305791719 751651921 647526585 595133191 916083413 106149773 418986711 803051441 99927677 430401643 536358229 444677055 48293079 270652205 614001949 211721869 790410237 284565889 567742139 736338265 515338801 993799549 479114091 183762513 90378973 319401119 275886087 422395779 991416217 685508811 260484635 149004263 433952539 881449805 401029843 549110369 800239691 981463517 152749063 849253563 331379505 106836887 668082487 637700259 764629505 493345793 723501193 46412979 511025173 372050949 532764623 529918319 489255667 414848765 290320253 605454909 161707333 560264099 402060211 229121137 499310047 362976029 137002297 289526849 236604601 905731577 972774015 530518481 288916475 194223917 651827867 538024491 11395309 210011411 283252299 863039549 615922947 334821491 49819899 123481569 13969625 130167673 619844533 711376091 253190449 807291579 837675569 381466577 224561143 259507767 950253521 944235349 874148671 26626639 367002267 159732451 272001603 10428627 787355709 398049241 236306023 938557945 587577617 744167041 969036341 922631517 666007827 68398861 451063393 280988931 842106093 438710933 189564103 414967387 640228589 289764891 408002921 650061623 140255241 737453963 89426805 669913303 680422113 21416113 886816825 699148511 446158015 198654537 731739703 216349277 4468367 589920501 503375371 229328581 594206697 80986173 278055815 329015029 583860237 794321299 828166809 96837683 471693025 362124111 527069791 790115115 392645623 973270965 886873117 46752499 597388675 143624171 33570363 752399879 946752869 650955011 456629583 26258765 90108453 381006583 107865875 959093013 654143475 179454889 155962219 822891535 44347301 9274337 880190307 382342237 236285369 747533905 334547501 801018497 993908057 846519441 336199203 466273897 874482003 457381923 574006729 485199979 776548127 937720689 970580685 991138885 510958043 315645643 729677055 236490267 105409871 25309035 28155741 361678715 963911401 866155635 51847943 531967065 522126529 352998891 755321929 450678289 992084121 898836931 413159321 721414253 48531667 458262233 910499985 397144727 98841987 21579241 156549361 537699363 601728349 642497695 649151401 845566483 851226307 490038923 266510281 897008071 205910201 878288935 730414991 530035727 814617073 35185107 829745499 636915231 749366721 368236251 703550651 254098071 238560041 215229551 787122017 508885111 120882129 591845543 599122473 78145587 943859461 285698949 603473941 655851675 428771007 707084785 391470415 66828781 83971229 286709439 725483567 622111441 573051623 524104615 467490861 128130897 489696653 375764555 217974507 913171941 710968613 520068913 905220919 251040361 678688237 820176591 855008771 632143649 822213839 332863099 880712555 123932093 562705497 586703735 550190001 904806991 453664707 776259563 972314689 689752663 952207851 396870123 445442735 278279609 52184151 55667311 813754803 975958467 717915195 681217625 361211957 740025385 936950121 590683503 295053885 522980361 58550627 124636519 822798847 652709609 572030545 813275349 602997975 816679349 372718081 885674047 953400393 511964099 430256361 220929805 27827453 628576207 67875625 545606287 117017033 593257729 623377291 666747645 348511911 520113123 323227259 787944573 151142841 56636781 120122641 484619283 879927375 85468665 115929613 435670195 160655319 698696783 378927317 712518711 580338415 772206237 393994361 994837087 87620699 349929333 836304561 516747219 904486915 288980183 160537307 503905575 242677757 750967079 148504319 412788179 702161283 853008433 289490125 105218359 411618297 584408621 349040795 539598237 323003369 298586295 458373735 220023607 705638921 880473045 769050331 375662879 470560817 449980657 508767813 624375893 681516647 524380133 492662173 127415489 157374419 14075371 211248001 431187511 963798475 242837675 290395959 560763245 960320203 265677615 730011571 883771143 489628531 291599597 764842631 539994255 733950863 338539203 319871733 802227571 208864021 24769527 782072037 970732045 104036637 909622071 160976867 68612769 662251757 789859221 828745771 999021141 660352751 776887183 786494359 829206589 236290485 579322893 290938035 463583311 920867067 134437209 658802091 194819695 291605159 235753515 612204887 929134437 130443713 11266207 390716469 546840035 826302331 949635385 946965361 268212099 988728373 119061993 314030549 33785283 912772719 43896577 709938907 576783631 853049813 15320129 36496289 675473849 328050745 932124109 740482031 906942199 955445401 475813171 493705013 902178285 263371285 366964327 889270663 391614627 19275515 221020873 903791273 826793227 927148477 647776281 27581695 801384447 660355063 400397193 102175385 63907389 806161771 85704365 946195501 337662833 32144133 765721219 229216285 254530347 707161559 926158445 734994799 475127271 209267231 541518139 967466705 656347139 336065599 860823587 318151579 694699209 758441409 404040129 393018573 687116649 33853017 753428761 949336079 241793025 258854115 732024985 887677103 338419341 411264097 269079833 278224035 347954681 417241343 347214033 243966859 303419157 485998865 593320043 736734641 97936795 32350737 163382259 559451393 99834157 107049889 343801309 351581203 333014099 776389265 598223879 790809381 151934335 812482511 284619959 593874211 810862601 705590137 901035415 61043351 837726515 100230097 360516289 916217019 896202023 992930373 475061167 71393901 702253557 961743971 972528201 479229237 345074839 936189677 999755225 616706625 661173231 414931647 44198933 777653611 708596677 457758699 207303195 498048561 438958537 189609119 260672369 599228087 847285399 701932601 245538053 229872849 502713007 22615613 493717545 813470965 277973883 543646547 145068443 492978497 460020811 140944977 462390915 180777595 625380697 899348787 809909101 506392853 798522567 112531481 217600331 714426407 44948893 838975055 698731135 198008429 125781707 594842443 842478541 588649295 155374637 285516709 758852447 649063903 47454595 581256739 127124943 718847953 583657335 47385773 998231831 542743687 104426137 517137243 114854301 627171845 759621731 90924387 89417519 417161725 455920181 468949035 968212481 253823173 108820059 634693695 328687025 89365597 214627075 909013073 12383301 504346987 644753737 390404155 580550441 336473663 720717357 458028035 166250547 209923537 28869529 630114515 903530143 617022655 498990429 197389821 524461077 695848529 449970225 67685887 954694047 900562805 893804219 193814905 944563893 639118277 933227647 705323065 800803379 698876543 729794291 252337201 284192093 958063495 657621611 800471675 950903521 917091953 28292397 810432093 85123031 672258419 224617569 817891393 822128311 583339625 40974615 281023675 784237163 800474079 292100423 887400837 910926143 804089345 248935127 500706433 369953255 776284585 568478859 601988285 860390017 553698643 69845783 636126571 61591443 880248871 799474197 602005223 612434185 238256887 533658373 37035443 506887991 146651959 587276367 863065979 393182687 114349063 910518343 743911443 583170849 482260785 957229603 584374389 92451981 989441567 902398217 188639171 989432343 990249709 227307261 773731917 153231135 176060249 736719859 549995649 88722279 803471817 246168773 56635389 862892061 91199053 481787441 560980099 852810967 495195549 666875365 675825919 914648723 614722071 947989869 667452549 13243573 404435651 441323847 865796431 734220809 318912081 179343825 708495297 379539911 460928533 923189845 722613093 148534411 343390995 888874501 925108209 179501913 501318383 562595067 202787389 447323809 18176759 987897653 346957 275703607 559175463 200350623 180521807 650688343 234511131 61018379 904727187 627745191 126438169 737657647 235342485 750819893 123251987 540133295 172212473 154719605 35831713 617608981 932510345 900086597 505107711 878480847 427923515 987884523 51882517 242948407 280274471 973800211 883389813 632907407 468412051 150145747 738204243 898098689 405995239 22472871 226302863 114781599 698448569 595992695 77300913 688004703 68572869 887360397 114866409 706094885 569842667 768459681 646784525 178056633 483375159 169272783 670955933 705150925 85680095 615440795 635445695 517350393 610145853 932015603 951249475 741678785 73622225 662123567 513887137 116402059 733449803 885464329 998633975 428529065 265776507 542612391 258432013 173716821 578639967 20106389 859580497 271898289 909521175 58361035 13194205 404441285 197293297 712901797 267987309 234331267 890791263 324378857 910391403 512182723 800247035 598646211 776092133 459065415 633816715 780732361 219985809 545454265 137409529 809709303 194746065 773436331 497610073 432898483 7000489 695779987 40543203 414927307 977270733 793033939 823502591 897533813 217549711 587302583 306965301 179041867 930372337 978868335 4213049 543138901 737694873 487861523 655193829 819728129 610061529 146534821 70761535 380509729 638387365 981201423 181418097 788273909 253708445 641944609 744358607 313566495 411282953 7859349 317532115 280098737 95111641 556968461 269712927 990949917 660860835 735175697 710221699 894402369 105093287 99256337 22076909 240764001 578813131 978082921 181862523 803311149 24349599 358800217 298215023 938640311 407404379 153185291 280085557 916439937 400569309 445685135 963576417 263501931 241867693 366743007 64273069 643928261 78333177 109928157 355044091 445499203 344696987 291586895 86845531 320865283 861957903 344870891 507782651 391649163 701655423 296957511 537640505 280888775 635878583 782175717 116018583 180946189 217954355 647015215 733951427 829892379 306007309 30965365 715729037 197778451 576996625 852075759 333705457 107626375 570389419 989777859 518386707 956206439 640731891 563375349 455586365 770564373 8773801 902699131 178178021 978123347 473919285 741520683 448994467 363316817 290124963 38251463 805588539 936985249 331200941 811777015 524226459 695452227 848411825 981247311 272664019 249560219 744932537 640553031 391231263 523749495 218578031 180501823 256283107 586282763 680348975 707048835 818539947 463514357 973664759 190604865 747188265 729696571 784194157 265798549 507408951 169548361 304546273 495719293 487411931 945709811 26017867 441145575 704381501 167783291 933202761 641227937 53568691 571107457 817633571 764071523 830165433 197412885 891859911 166544339 21537007 545402541 343219151 296923509 600670499 435496995 137503607 965493693 150272327 201844415 581444009 791772165 88398197 173070895 834286833 771549069 294422515 584035461 17214091 213488765 915604011 391288129 762617681 57453801 132343215 787094085 155992783 833152455 416938813 465317603 973643313 518070779 241440181 68283597 170563407 52044623 513223461 780697377 46728105 984910705 469392831 646922595 317199205 338697979 68673247 211467907 616048213 181837937 400771591 328711637 609536749 291639609 21520867 65268757 138286925 194321063 744086341 706122345 420257341 56301809 885086763 227463007 984530989 103201851 126891189 260128747 769821235 74713999 732038193 152537197 287506701 837694939 7729171 762451877 7809061 740237561 922010353 212795335 500726409 406018221 353097621 925081955 410244593 562930077 339231717 918265463 68783547 484825691 413416437 993073515 606673903 923382371 792502531 255926281 322559035 635885331 328758385 180414089 809253625 376453301 791974089 156054151 276438565 95208315 441831103 320673287 162901609 214856829 71541807 833354359 149967889 516478143 701282077 201780655 940490777 618902567 225830065 710840041 152651547 25475207 199747649 960188363 498099299 564511385 13814343 927532387 746126045 765500671 989245287 625953061 484988961 916461377 845676395 339253743 376078703 849416401 10810953 80751879 817510061 762381319 120304409 786940185 128615277 852764967 530676511 296732473 27321827 444573015 690263241 629461481 456203247 277669289 155223207 202028553 611154969 872736791 908288117 930648553 844871825 224941187 625437207 23652415 821137453 788927413 287754903 574325541 375875947 346485343 605232427 954926885 393367925 994717721 436739115 700760615 359016729 959940197 569201181 423647363 948642767 401154989 649353897 213086711 788093621 992364097 61397415 544450727 565497233 464919899 22199821 138559519 270434775 633670173 672072449 643842647 549915033 830334607 362125007 368682155 116292251 365194403 686055401 129823457 11207999 83179825 415365609 953279011 565410201 83730683 541828245 308015627 61437533 511282603 169645781 173062035 874478573 830999761 556669377 897713697 471163213 143061735 517060495 688050819 621295919 532211277 257522343 565336559 612715241 666068047 317994127 737581311 220137851 779117597 45687039 636643003 178213515 517794767 178886353 524107663 289815915 470747495 589217031 599889489 796990991 213663693 941571021 101558079 422706711 131383767 922054005 909866237 19443147 474359095 260965757 360490903 209243931 44499349 521504133 876709253 566902941 390020983 287450203 844777121 218021519 555096909 285847793 179901237 562834907 6427251 363405667 949342441 811876111 100745769 689361907 645515735 402701155 369904793 164570125 311672185 111470515 557857233 49834821 337486261 328493451 513740495 167329877 170783193 817689625 786728563 265418785 800137625 218553649 59544707 659593907 425025555 198345301 276260021 428879423 976091341 183571885 452231581 277913633 850881715 448283397 237240769 207007707 888066843 713130201 786842761 949843993 183999681 720775491 266967877 668639151 267914955 474400527 694571565 307323543 709284297 996575401 576130407 899162357 706785963 640270121 704667127 449532947 123124179 312694095 51002579 674896229 517031939 770712193 773210063 769958281 732092777 872410063 711425713 566582077 465429661 733035761 123066399 893937263 419814295 331199301 209061037 803496755 313139393 647443155 590354899 996436163 280639463 849041227 970694897 327685251 246670653 312515843 494317649 181108479 218916449 926274041 14030375 793172711 833658711 547173591 531089799 264274459 298910095 502340075 32596343 840774809 356639453 411434541 893616093 544755089 614823037 866938939 701005453 528472147 197790229 543338331 434533949 338954587 105882803 920168577 928859539 164151117 735834573 411679039 475298323 27818485 645756989 24773335 796037425 680111939 262384971 90686257 619213639 629694039 464609699 30493657 480149139 172185713 258066523 179444491 955276865 920919547 12790257 43785377 40208227 737372555 997326153 728611623 663159791 113567965 329605295 861016775 996404681 392325073 596861147 201803359 478186427 804885365 625137641 111741543 396536947 411095803 448570973 692518925 931468171 879124669 299118631 533261339 175729285 664402753 325810073 308257803 129564109 441191473 381791347 951334651 268372911 617982303 433457881 52931251 225587047 876767689 993984089 97446563 10444311 558644367 512839911 191871711 494441929 848969727 563410401 946837291 571311721 967159435 450647309 180497387 162879191 463363023 815643543 859923247 24598479 841926541 856952597 366529965 60692733 364261041 584955011 910584263 321222131 461934671 662216009 472745603 455865639 751698079 666011185 364263567 873243389 829608969 631659123 128634691 96929469 661662741 39239337 454370719 616641433 906014839 636017629 529015115 493602729 281722891 309844599 721194901 67068143 50729939 600800079 105022579 867801685 184587259 246721699 709343621 966099627 399268567 402443543 645611797 722086827 508693473 169276089 735018253 467091191 198915261 39658493 73441289 172864279 898541109 609945281 310920775 666374781 330971965 55429449 141206191 93934209 507656177 926543685 739496397 883272293 921195157 138524873 898929371 682348627 494304401 165692241 806631095 391884379 735857531 379188419 682417897 361039735 453544973 623385197 656593055 677628553 847345451 203030533 605062579 845665113 42785503 96318629 672770465 403854231 901499743 436518357 17877139 486837729 418273795 987735169 406718039 909336755 295343183 674999295 99823973 100264311 400149745 421077773 77565913 323449217 911250105 344629455 652220543 66347785 161236899 215795665 155858883 109538353 619261395 922953995 275574463 158811137 464763541 32238297 313407535 713588585 770246489 220415999 521160571 981539909 420036799 350186157 915456437 194977877 480662917 108676469 396645521 509352003 364281755 311330903 302188401 682990239 295253265 303323065 405882457 571840739 112041763 758866787 756770555 309942895 592489271 337691025 15026093 985644431 794036691 347499483 893579887 900884593 736080815 893944393 233684967 988744753 967768229 94423623 855570533 432235983 68886709 834587051 410780385 143426869 79474959 165009329 915489785 16022067 543787781 280070145 497000693 309938563 584924943 104968101 768363715 582623173 395145173 658687509 556309245 205520003 281442077 907810859 786372319 990693681 689706207 285658927 990701139 312634917 201367093 949499343 25216743 617557919 836993633 271599901 515314899 287085773 842633167 489402265 988525555 191871165 628680465 115783719 469836499 917279591 594363877 641153301 37931423 353008817 354291245 49153303 128149807 411763551 218413811 208785483 207443973 881853477 376837483 671746357 299060547 804736669 724114927 274550725 438941629 903673927 568997639 157711951 800131303 779075979 340493401 487045775 879029217 457882301 541207481 716836525 358127731 540278549 814766117 314403891 282435597 11636147 815773887 613221655 984531141 399358113 260788177 323878071 941576283 204855761 754324431 547523291 441644341 248868381 449385045 103626411 698525539 102899267 686703397 286416831 521146269 901628401 139743533 318828309 960353857 392083635 941059965 8822287 413210199 301590791 155424849 37699455 360202895 710291787 288979979 953067671 872627261 391421129 869213243 140108787 971579493 593579699 681912975 334431901 875253417 473272611 99663845 705131263 269548125 186185239 627052353 762830829 136822135 259515005 313945291 129100199 773416851 867014945 983404249 558579409 33096445 857842113 765390053 94313337 881621409 262710267 728398483 179155989 514911767 897792601 458222767 634725503 134312609 503895885 690559529 704083711 663762465 665830959 691396383 578450241 943497513 738219075 258983381 378197851 275037427 560928175 175898549 758008521 886421593 41556613 15161937 745210739 189872869 622959039 499970149 454391971 893027271 583991871 759717077 976840721 37927125 552534989 711890861 851492567 111453583 778860571 723281183 912579199 247798811 46891971 507337861 412295665 553640009 366096707 487962469 937430661 980480657 457374215 483335783 907311865 966349073 645332319 731682403 643316849 830334097 876669319 973804879 817386875 355733887 118857371 639922003 535272715 280549621 909256617 2266037 598581631 824309679 592961953 412064237 915443613 166219543 771407963 338265237 92494225 107516987 143259547 730970223 253676527 32572113 672240647 29693797 2458297 36694587 700290609 594624911 145814095 52095613 129424787 767931941 802104449 449979209 172611983 813006985 617012101 738265335 691689581 820742985 123248885 165152643 448468061 880204567 492838617 997859733 517409915 725576143 690460317 952931199 30217671 984436595 574387225 72002613 843702315 50765615 499105413 381140567 964775799 659018837 853193099 23634733 490336871 972491107 286498871 664977831 369526167 781469435 553212923 826245979 167784597 90704615 249030073 951837577 191975633 300275995 991822005 712108055 223338147 675443379 7578011 451289237 647211597 646916337 49214847 169939771 769893111 246625857 143213281 131792871 606907829 629282103 678704805 92351263 260170367 134355853 626960665 321014039 220908343 690370855 947472115 775423137 351199909 798076687 422206541 47227969 357558649 23421049 294553007 207502107 766895439 69232579 718555397 150500349 135126951 879597419 812293797 890414691 254824683 97904415 50380875 850504551 977378155 595903155 228137503 573828309 491198561 930617633 591056811 81609753 157469933 280173453 737291495 69408075 474812187 342246467 579640111 377966635 245694681 339164083 60108359 38343457 466156291 808810363 374073693 861471801 428599897 555506015 451374601 384960045 443049091 65455687 764981573 318956891 220452117 855237961 495381111 498916557 300911751 335250593 915469419 215295277 325468985 680795823 748183643 963639255 600145527 189480191 131974367 400701385 144671087 916238663 790329085 899953321 514398781 505359967 891829541 990675911 915974369 341616973 241623595 202824987 82555459 489654331 286159947 219399235 91953975 892338555 109649453 643467143 788598133 401049737 328226779 275595989 68304541 864005899 209501131 326342341 364493113 740586439 723902941 919898521 610468795 378631605 453350483 993423923 461900157 825646831 501944539 424725799 742533567 949670325 132388749 493179819 374052009 469490039 862745057 303782043 405463119 980829639 1805761 836111747 882634663 949065565 85553785 134732175 24271767 366061345 923465149 639158423 58538467 936131865 178206889 19248155 228126783 349282685 150546631 434671681 943342405 772894119 106340097 44936923 901610867 45325081 803255467 878595677 220924981 529541759 896617605 906677991 732807389 289254061 364149173 18121537 226054563 449958299 167946949 224301531 887441575 512031601 382092459 674185163 873920755 215370103 783580101 63597519 462246777 525685025 198327513 857184593 36978193 39960843 65366035 789646687 208209023 981343735 930097673 217057713 838048617 970628049 573704377 812803493 231085923 718058157 663540869 350229827 781591523 868293 883302207 197190201 774775885 150488699 358339865 437365473 19132649 449295199 429698991 242266423 226438121 582879519 175022859 30183397 141779557 19969945 168198293 922629431 267481441 205415119 358625319 523646505 514588867 318635501 964402937 159804245 298860637 675437639 263427765 731645447 550315755 430941271 673125479 428577579 288618761 261668545 541550467 483664985 619397701 348799825 445818601 504703185 35433999 689246711 494085081 44391033 348654273 342368209 835558149 41189091 768925849 24352291 294232961 752752195 529212099 332268373 300862921 597463161 378190927 876046333 236011205 479972365 924506423 285111253 769887423 989383983 52517725 137491137 858350701 682716851 102815625 941236173 254361583 537966365 24652909 730075689 319305671 177227665 757786017 402073653 622804965 366549727 278008999 461144687 44393627 501610111 156022761 462152839 656182185 778295183 479157687 146968141 82799409 967714773 238468941 180022973 428362437 84897989 392888263 217792765 898988631 2191473 97227059 545645907 221564741 295327899 251170689 963173943 969312083 739042731 16782217 436380993 93930417 2345391 817796109 48394807 557082611 660847453 69403319 981216259 104196373 357974295 270221079 974254007 730545277 51799521 759543719 108389265 372988153 800153197 177333961 530668529 687460285 123698193 228549571 450278501 699157865 344656333 803660235 770880671 112956671 770491207 130307319 650956153 602161901 33978321 990187849 586841593 764269065 148144991 365902251 391339081 557456017 45736849 724486893 671644861 238861095 352468143 98218185 245030093 844197341 337598121 245026527 498578465 368170275 237318163 827497403 748003201 684865243 744707889 363685835 958063585 681520455 716696295 548114027 289829213 963886615 808197061 458133723 199119415 509316957 749816067 875683141 753804251 307842713 404738429 728583609 675824091 295712687 251645631 31316783 432337141 51802605 323168757 983816333 417853963 945932039 475511545 969276823 342552359 636013597 635756359 976992771 13613693 537432239 134901513 184671847 912019305 191940527 951114251 857761091 77118317 73358449 483566793 439597061 406598455 22439859 443302749 31427579 163482517 536944279 280286355 172435295 583159943 840501677 313318615 483101777 806536751 822885355 659448641 767227867 837273047 808571819 763058321 561462001 866709237 964356535 288180269 767520615 688711201 677239351 498928933 729817859 495691807 219299267 530453297 420701805 675688157 527282777 352901039 832011827 880153195 11646557 538858663 552884179 768255493 556340123 830843849 928058027 923049231 47978059 652463979 263663879 676937747 931828233 650505099 801029397 100108743 485655771 174549715 443821039 682005507 201352749 294996369 401675417 949881549 619663315 87273149 804477689 100915021 491692815 522404083 485037283 754263769 770154369 174181759 151417615 160019947 410605113 312992079 925463069 673841961 515233451 306457591 554807191 458611801 705323959 513952441 982365423 455130483 726267039 11339133 703579775 260474255 231727121 372722127 298710661 9844211 930724131 458190827 7707693 717005577 190051923 484282283 313759881 276741987 830745731 368756633 579730833 638457533 25713669 236778469 366118693 221554941 611246985 983167845 670465551 25262377 245459249 731346073 620321537 646043257 328805761 280254119 803318163 148952903 111116387 828974689 446369609 308333077 540036657 808600379 40183433 931778701 909513381 728787541 612982693 186483335 497392101 530167159 97569753 115738873 870521727 626015759 10111555 974005515 503831911 214024247 959290093 593744133 963253499 108877229 443465673 965349211 597296641 145467607 788713391 285174695 32230309 449226179 913216865 102163889 551077757 705092909 662160521 195245149 450566789 731493745 481216697 197644485 535565349 526557591 360605799 291025697 545890087 319110221 891854327 290878419 372538049 130154731 689166513 938786409 487294355 81748081 529010119 6909079 153842335 298613895 620906321 207325491 169925717 592128121 780304209 544119623 279493511 471304259 746134705 466511609 503735413 335437695 605527105 527217311 700870595 629887095 935989181 996117425 148578173 463153947 492268737 714960343 242930203 341271553 319768539 652646361 705416569 318977385 249183099 831920813 979482077 654390329 496503545 931766379 174374131 642582787 724925335 173001047 599603407 665505017 976030079 806677725 950958323 800635137 672465601 531056785 524988735 379618461 995996761 40654125 448356099 553649917 495765283 505873301 49288179 396691963 516027117 648783317 325787439 714170643 675516775 320256029 723172409 627592303 225169705 670200779 854023679 856267741 411212981 762528355 668718551 567228373 428008309 603493517 32292479 335077491 164079801 851515679 334827801 874547843 570250427 176936467 991576119 558590065 431505819 762855311 848824523 683537751 261015653 718872793 367814963 499807217 777390599 330413417 192762419 388523431 689447517 308494807 537099259 243860875 293814055 626384617 635509533 856704849 888830223 682775687 27234201 994504793 646215845 144737991 155957203 570216109 614166371 975254757 258083737 517101561 81808041 219703361 94379807 337872533 475304131 200399721 605741573 309425791 513895393 237636879 762503243 809530979 552849689 112681229 655148387 386326155 636697969 353525609 762339617 678487025 227557073 5507917 741995715 253453619 447923465 205430795 153874923 507473817 502532819 657041441 323710379 684613137 811871439 764681775 868841331 463475765 63566985 61229571 126716965 31589185 611148143 284013967 594663171 710140191 347890141 177653741 946647741 195621725 88760851 133424227 685290597 793327153 854617401 809383259 349607547 275044221 577969763 297029993 87325155 370214855 119934857 254623301 379935465 60086077 137849995 68533719 916479045 763694775 273614899 476823335 707227155 611747509 168775477 368765801 238069465 173603935 786160933 495034617 438563971 784212609 41283977 264196697 556696935 230498455 611140295 644554549 77265217 392537531 563912499 7112033 849868855 76692407 171450373 740847575 84842455 773427195 358189661 742525881 178975767 457719965 191344709 336924501 78593617 46020957 373963695 215463711 128121421 53246625 336882037 878211759 628871991 94111353 473785431 535086537 242794151 219752349 949624317 253967193 777958805 828351595 89328635 393790579 961477995 313595371 694303431 808007505 480795891 310221003 160864965 644998231 266954597 593636965 421232957 290966287 383855453 172787127 446592353 704939309 695700961 18766437 953956171 195012495 810843 413564867 433220859 994913075 708499621 795438023 485507929 552757319 766675449 95165453 632817463 923355935 181521405 428975841 468863569 591302967 888017599 911193135 104973381 34270767 394024115 145809039 209496989 555482835 275449783 916860993 57697995 610460185 638227473 180070957 16382247 58644505 364182893 330920159 568298485 705456919 475383265 685045137 952780123 455244929 131706603 205454115 595747691 397638631 620419693 338114329 730369313 914183685 312782265 845144229 967649625 120452545 109515391 7354781 537666531 119184673 190099425 272114561 431614057 431083613 297928545 427040375 545828747 722606797 888129007 779755599 376358341 659651575 243557085 195971969 698311299 436466821 652190955 614325291 519144725 630439241 981729597 233565461 19231671 23860289 858625633 170277037 135281797 179184525 312980299 966675469 832666765 751327355 65666649 373587441 403458239 429331069 152815183 501705155 896649971 630925357 966084957 629995665 892568301 155029585 702471703 443605521 479570259 767997139 898539129 657125285 343992503 244111813 515017963 230700881 333836435 926138469 925432119 866425031 280925257 986844179 725718931 820787807 901608993 774745949 619053471 481344533 344415819 230445813 283556189 27359889 642959843 1527479 5422651 855671845 163986923 571208869 3062799 687318981 665494087 869485035 448224791 761635857 178004175 7343581 235970551 772243537 208031287 229383925 351282875 994394485 586812705 889986517 867888603 750753555 313148697 376722507 111257139 24235115 496737679 702173771 517652743 122473827 538895579 771479787 391822599 566228875 218044735 183530357 865021255 739659033 54406117 846086735 560193603 966133231 613163485 772443663 21745889 809518227 738285857 772817519 581417327 431065397 119269265 242674001 696075425 866165929 909273081 490474437 682509975 819971955 870672135 855632633 413944785 348464309 666013783 914015051 51731523 33580355 299498345 541642045 693101117 70909075 318019751 26784893 557585789 314466753 684415073 220175579 210136107 776719513 658166225 346963283 609123793 758486151 611918359 95978249 773210215 601667491 489157951 485961287 783822663 710063021 78132023 441556865 377546811 833088779 372465883 967679573 146487403 582709711 315254507 972487297 381890929 509962925 336988431 494908149 182457925 730843653 28424923 800058561 503001169 875828959 445948103 103797793 705396833 46288875 373291827 134866297 696144809 488620159 10305899 131826261 947177671 683136411 329042589 143740517 203275457 880455397 962127077 212654729 332278275 468982701 783888451 638314431 793098083 747790315 163428767 315801143 350294301 784921917 180033485 403784769 228554199 877926377 959787141 247072091 781056417 864301027 545491303 356539173 783199979 342515133 472473341 906263661 306563479 496934331 268021179 804380707 271925735 3149503 152291061 838040679 485280649 80285021 660407281 299987321 149016723 137726665 529427157 396069061 252556931 718112741 342038965 35273181 333399357 129709111 394701705 541877119 353513997 122200301 135315249 780134539 154941099 815609823 737982071 159917839 712843315 430736525 718553357 938094909 474525227 880819485 133700493 512292975 382846845 433508193 333970037 465373227 922002819 730746317 319044403 741373723 62995191 518435457 422215443 745296403 452897535 102631493 8121427 794970381 220428329 212906377 772476689 743351339 349423467 725043043 567163991 884130491 500048671 859152529 798957847 986503215 335420429 754166909 117732651 266970403 348190305 33786421 694897745 292471385 677171377 414402417 645668661 678429117 508388089 336684431 711830633 570894691 257804705 241530519 415520099 264925317 907952243 933576247 327652231 421120135 844046759 312898249 406771997 65759219 141980889 555315785 97716311 812044669 69085709 984630113 76742735 327493889 620036275 36583005 240847363 247282307 839241885 978226233 44734815 408383787 115699467 19551119 252276275 208793167 590027681 603256235 300013883 883022953 102141805 377711481 545057557 194530333 459917795 635808913 797213515 374971701 740106721 672615987 800601423 904357797 203653293 524576837 790805881 667282059 530002163 482615895 583126027 617959205 989602761 633493665 600166447 762398689 624039339 288682243 346654453 96408403 401322367 384722945 672730201 471481655 228870549 355709901 348959799 567515501 794214045 445969723 850312029 411610369 36885689 298290383 103115387 922298665 624784491 69047725 88504105 210298941 579674529 250836133 555877611 262168259 880190641 338059567 618575909 554072163 460777305 843535463 863143215 225970931 159296957 52945433 774325565 745315695 113309547 787416499 763688817 137765623 356073559 978756937 575200215 749712345 846426077 277262493 649154655 740653189 561950663 759157783 503803873 13400731 748769599 875488197 310206239 869955547 681465817 945222749 504421827 383219503 361724567 596789825 997867357 332211119 765021913 980656757 738507367 731522449 510752623 834352043 983928131 90409275 806151565 144388921 538963255 725606969 567368657 53169183 544546169 451309629 952878913 947875331 675623967 328178211 363102283 224590391 802414891 183550189 556100033 849134767 625241479 811441351 440194529 950158091 27493379 770633731 201279827 588394899 629119065 339787295 967941153 949363255 632489001 591929019 182888643 986821515 470042623 674355365 372183317 692269523 604679753 113497295 725419355 446043635 957398627 684774741 262041413 182315131 250879885 659133561 296816357 495528609 876158961 563918247 796021691 291894087 674085279 821808243 336583595 949994483 295581585 820834711 110755331 121555923 40596647 373334517 264696951 444254913 659444397 774200219 150319141 395746873 407208273 340993725 746787475 580733541 933249839 402958003 46418093 684195089 861398215 545937153 860913097 315450553 514991489 214460499 844057251 918004599 546162865 981834109 285990499 803005975 899609743 800538233 817075603 33511683 808163131 582345067 374112553 607071577 294782913 235690909 538720133 295546833 80525583 723638403 203960169 557869529 679862529 977549497 806676741 69003899 396766549 628464899 97594603 324592497 336893113 938073417 654715163 140779545 192020921 255467937 715564025 996293755 281022419 394483525 755758417 577355847 730360421 207781785 240425307 730514899 1307067 55755049 955353523 571676957 686966275 965310629 881643103 261147343 671634009 237557739 459387081 656582455 310068667 155847935 980883659 608681805 70156823 387039497 739847583 914417581 5079865 886780257 881726189 819255203 376005087 263166589 547447231 423277595 439233703 302651651 473331595 812314287 685425435 374642367 207609647 840991899 630457005 344607137 693297137 865057225 483627959 580977353 146670207 258500549 685155959 314706805 449656811 524798665 820218395 132834325 465593523 127676085 343482287 613118777 514490815 779918349 888431409 797972127 163730265 412968195 41951359 936096807 576194617 72668781 396307043 772616415 656610427 235329227 189459343 274048505 859689635 305076547 435514267 956178383 672126625 964991143 810126347 566446311 500738759 182866027 785145669 50802923 448389845 782042031 796419995 973649325 260856047 793455675 61838921 445731883 748414115 860555645 281824877 487893893 680019429 654501775 258897425 356651017 386305045 428430895 116540711 298239017 170560755 579156417 324649095 96354689 680341937 36438617 746903283 591673299 564645347 498111149 730655767 373098507 85311623 525741339 523650943 907107131 94707455 100099753 481530791 63409057 577377307 204590603 914461937 271678367 895363345 424019091 535589541 685333183 406942333 135307587 38762485 995973813 211376483 367657411 270972153 529264733 423314481 599934815 386195379 658504889 933428159 624353811 564011789 34194933 543030341 999728505 183176153 375774309 970205805 586211803 973081037 903119235 489979459 228527913 480696461 507982067 578118715 838782457 830374559 647338879 596095539 658566795 558581881 625572891 944682097 295672261 299456369 113291491 619386527 511528505 484380363 734805019 895058135 865762585 530642091 173054763 786823315 42970955 898967849 726122409 695095227 289119313 946169145 859248207 966406553 665398107 422419389 226742785 440063971 349365315 178864257 775313097 489056695 647212165 434319669 680187613 240241307 643339851 455252593 396645781 940386685 902151011 892308663 996310645 378528687 89054789 7070065 38450219 88938479 367163661 398641647 512860039 719658341 618768519 424752747 810198661 211392157 944958751 234560773 261430089 485034121 136646127 983081673 194873631 991790475 414900659 660861095 101093751 563069031 697658835 544920183 591843055 937725767 540309345 519884795 771936843 732400837 674416657 768948699 521257333 18439899 133802307 504841899 438346879 311635951 764033281 977824227 886596261 901950415 810416375 943671525 351625037 139672751 234178941 21917687 518149885 91762733 116607121 979735887 522348653 953687119 492040413 733052419 928881525 274354817 177941681 373838613 869021211 428033177 41295105 191930477 439716233 209007571 376726125 836622303 436963601 836587991 593793085 710419491 303554865 259934127 394302815 446687193 996440713 529139923 765930349 704721549 572866279 609170973 607727011 90599341 256013373 179562199 779069931 604081557 415473063 117278633 481069523 303273605 249268839 677571501 767136657 889716133 811402985 850113883 881689863 694946313 524147647 732743069 761630395 266677161 769587879 358688959 677303515 350486117 338956161 628065141 328972351 283602183 616455515 209384413 282090855 551176771 825132903 610807421 859550587 516657581 12477441 580396353 618787143 160067787 733936043 817491581 511194183 398179843 30923281 903165425 77098901 435342761 491785991 188487107 609033979 218862325 76626823 567400317 81765865 981040903 246820533 967408917 689486453 845809129 643913435 383132651 237465695 976694159 300896877 793736129 45783565 745906381 484511495 897981893 573853071 141269097 401377387 837097869 136278429 219583497 788171143 843963927 103726229 299179329 667759977 479963847 539456383 390112903 50665553 698966633 951615753 253989951 508223649 953234485 844882061 495907763 433206245 598763719 388067591 994049553 543046093 458231075 101634593 721204083 152380215 615352761 908536105 678361565 110234917 31426395 243587607 648294453 737428421 697740875 906404999 849582925 119932263 388241193 850989253 984028385 711512455 340754437 106702013 81803919 233074633 184592211 842430215 609369825 542476023 234231025 396854243 137857609 848569863 558603045 942922809 704142879 337520401 775288219 317453461 553364391 97055323 841280105 719587377 485387527 897104205 321576715 172965357 260980305 754341759 225375081 1079629 287355521 652813735 663821517 89504131 504679541 87249067 963323631 992012389 302184439 614882967 188505835 468350321 673840825 733845403 361413189 618332883 296552787 973726487 976143339 543159893 647392839 451277451 664025397 144310895 884563711 127802017 460523741 385875781 705929421 752399409 623364617 248172951 990609383 942370609 346619205 123516891 99831409 245425607 770726793 740219173 977022323 577655615 40747825 393644595 308979677 939173643 37989635 663003247 102517133 978404295 529028395 429429477 523174975 60537395 83491903 549121361 124879007 571223103 490067003 381240591 35411773 348508669 529202565 407835173 999212947 661830821 570109931 688683077 880064259 645534111 347093923 707129799 122459093 874630515 235701831 879810215 832022075 393800405 840853471 915519373 422288717 236972961 656628185 635887305 527325709 268537817 974230023 282391891 177377893 968565417 961878441 71716299 853239845 445005155 383694945 823120757 304888839 158057093 12884801 118801731 553321643 649018545 8708539 198547147 728359325 736717745 231705261 76382539 752218189 200251257 975520603 403309743 585580307 755085605 20395637 251099777 43251249 646509047 147501325 368365817 430507729 471215707 914236837 513215993 798334467 340688101 847151389 501521415 586803649 761449807 567883205 915751251 141972971 648110973 329368145 433809585 574731085 624435833 135314143 474513061 103748757 798535543 549744117 18933841 656643935 340532435 217619327 48939145 719065387 824035089 826437587 362560705 133235299 537032665 620513967 419605019 538679127 828128001 118910005 875338845 191413569 177133443 95263735 400237301 263450433 234688643 993976293 857955835 198767971 348634187 519698273 334031151 672269205 861877585 542957613 855594743 106211507 15783725 549976441 210127717 424907645 180948901 355295959 481670445 791736221 771165089 200318791 318896303 203340449 569372215 761556525 609021171 77396743 394311585 459698263 194721961 576579375 897926213 541555449 236982055 231905375 680846761 38178993 372602733 828576715 98169733 744354437 535739169 846186381 772195505 942716129 668093331 689967525 554641459 698718873 198646969 573347579 373105715 24195567 446998069 507202659 102874377 409426307 947344973 801524117 357625899 174788965 912448241 783817265 223278911 190487563 485513397 497642691 656008977 185384783 831815645 596373433 259295379 896174969 252221771 272485485 380567519 267883063 302956435 646864931 985296699 425487259 541308393 921403137 578607121 687519013 755940655 881376539 102595571 905247415 934942443 484680041 66656159 488564131 823251019 379195595 89691125 149485979 256479527 319360779 734469379 88532925 707183871 525984731 589756155 199744909 810356729 431398357 234839865 828447227 55064037 712695673 933569343 8597595 287631163 930834479 173900217 555010409 896227867 679274313 672369529 429871179 273964873 690166531 714584189 58021263 719438135 638508411 538967271 892065321 480463099 606093755 410217985 998337657 263462227 661819061 326513471 337020223 717283753 248323651 944505149 89467567 959308555 42006051 321406141 352873305 346585905 793412865 870445483 834048827 24993657 557415791 644167707 354492093 983801323 206842083 30827845 115076009 694305845 56604865 842200209 69498423 617612465 753293649 895667847 862146051 405355867 225053893 49086941 859133713 825117403 816757815 217469035 251712719 980263811 895414437 674408501 532220693 991706183 530076155 406960743 559378717 408414153 209060363 934841941 562297997 698046287 16916875 859009145 402314867 117361095 50141983 490884471 95935555 774874313 775916623 871475993 83319003 582699413 833267341 218559829 477300097 570056209 528502833 301832003 225071329 814182349 456224125 220780583 914087439 930387713 970640283 4625519 866491277 480261517 388287389 644319403 202161211 544138741 792543097 197976727 967155305 570730601 442191635 72312343 8909005 517714883 529762099 647667767 305249665 352198785 271727753 856402471 371796749 834565065 128558769 429445701 38253919 536462443 827256109 694154517 634621641 71039453 983907939 301290049 186327307 184880961 871699109 939015067 99779657 852520541 141120813 423048223 126837263 407405217 946847517 129019633 5363285 298001953 806282363 915583069 89404023 450429087 52562749 104565973 511220283 838796419 88465465 928082419 266570443 531062235 646504497 711823741 197347777 869893469 695376079 453853789 967887895 834787177 692496291 263618469 840092979 982048521 21435175 92936595 446352355 686410985 623706045 797073031 32799581 296739425 301749933 778220559 291399227 915384945 487660327 626794973 51845509 299246271 561779015 823772363 429581735 371175579 917037837 966545375 654864759 728141821 351581027 903768387 474034995 723001477 103419161 33473867 808409471 453043319 351713257 723537775 598881383 110105539 692085619 654352727 945366627 139385091 613538371 923412427 147871565 212818037 825722057 413093311 909053807 503057151 53887067 323874637 407713905 26156849 199651391 59140797 389516397 870554177 714662557 888243573 483901149 1736465 938239877 285671177 754302887 22211367 421861361 904619063 977072665 980437425 194615489 208209377 553272295 851289737 8332225 633967633 381420079 895269675 337214623 354880763 254333559 256678849 689909239 518830587 201773483 851537943 242698313 955407507 684953889 380751015 767928061 548650863 169143189 315821457 517463911 333149539 272043565 523120025 454207423 873536617 132251001 157330737 12412453 424059557 611055721 971917167 448533925 537843553 309450079 218039571 370969901 11182099 228301085 307859333 15292569 817033043 19949521 249433041 238006695 110406117 835531283 930078129 310486789 379351991 733974491 489467523 99313473 712261847 874864019 603356751 446891987 431853703 364607751 721483461 259309601 653234213 195723883 498232889 921169519 622189117 918990685 580072623 717534449 488407941 596482017 246103755 601474753 813511125 615212903 665468125 437773021 486068017 98694595 953585115 541071667 204435143 104636977 309436007 653761423 710348775 103601239 234504647 380897455 317213453 165422403 115633897 44861233 643054813 255719531 523468647 363992223 962428195 714328745 828391037 787511915 731088337 311701829 245239827 748838127 807027201 402444523 450143163 731053675 996056825 235530929 169791913 945247239 611480353 627560213 113274815 445182165 583550737 902573819 599932033 845293265 953912959 513791663 657615905 61378521 120893777 958931689 816872821 974187191 585672339 601681347 609490173 604898333 439930231 122552775 652340191 670257059 398514265 269164767 995579629 1223373 451073465 740668255 94430105 859030529 294059335 258389767 841847049 725932435 210024149 639620603 113362175 666380985 751586139 270649289 719901931 25472663 148038657 340192357 203039975 823825717 539341583 268637485 413448367 613635717 932284665 303603175 769451693 794262367 577019225 928883135 848167151 81518727 614740469 123389515 709952557 334123427 726860215 622009991 297955013 109006917 941989811 119226843 866471357 888777959 655707683 335677201 803354057 304254443 102654825 541720417 102497339 810956953 885357331 996527973 355589141 982484003 251236563 524186661 85791999 860872353 560386949 393177615 382793285 13967895 510770731 430993397 92866529 681332585 478948595 370278423 408864115 361035119 759392811 802632985 420275007 246668765 509540691 530956553 216323383 737704023 601608717 619399259 60777457 281974629 628945187 2477805 362183597 72924535 834152331 129382147 398128977 442015721 478050653 115936333 147811693 53135869 596343517 945111775 910286649 518683609 587280759 842258997 523203475 734885775 127976127 663067189 9591811 317845529 420871535 217033261 639806905 985585239 496368235 282777043 609579147 883292693 852645821 110183489 8464887 211336963 105024923 458032383 690151463 288647097 914355037 153900281 38828265 466787001 568829577 597503877 427207347 173248365 332482503 60980065 806044583 75087653 805252589 204896689 775508619 429125659 625288437 787591937 254888909 39166065 833102595 321405001 183929989 657042221 274216291 190494181 67081589 896580421 9579399 563915417 886197759 361538703 151155209 212376213 1282359 159690957 182441389 5911147 65433297 358357671 738891873 687128603 514713645 87169201 309601333 169117195 510690133 343974499 283182695 347011587 569107443 648586015 459605591 836243519 775126627 959024427 872046739 75322967 127079075 814417085 519014347 332805715 540481369 787644139 8500703 323411359 128917719 641216695 523150543 250827793 656998415 776386057 602509765 431011557 952791463 583784629 304123929 130388419 401325281 897675635 73667137 810924469 583059629 232591587 853727973 404790835 527322789 454991505 523514829 216373783 328247301 476247019 587223275 967424169 919544503 760109901 490387295 825228951 961436233 883234551 93810793 959557363 116688113 355772945 282729077 668487229 67387537 526869935 676763671 795470681 401535407 493921225 911124231 647036565 216978553 848523839 621846829 232036005 111184327 820453853 217324433 859375015 153946137 949108561 719926119 709496863 900591767 27334199 724857099 637250045 5971981 284697613 691060479 694006165 904566261 745353537 465712367 625743011 363976047 859803679 815707821 750003533 875904575 691780581 347204919 695513891 988594647 131292593 67862959 327638037 138482765 784275343 754237535 673567619 904243553 447098733 515799995 387082547 476946809 900545061 187634527 849664595 4618917 661211259 589861647 585510517 815989149 788488725 350236083 410430105 440405183 921351815 276428897 103743009 884396819 100305479 880323923 28181983 477101895 131696569 619367661 884062469 18118325 900783143 400491705 734019119 887643225 541967039 684840043 337588839 763952605 3181467 414155487 821596695 383602319 239740607 560220441 830196755 438107237 927905041 689466177 338033819 204231937 469748069 88100269 180987987 794760361 816642929 46121943 200065865 833200459 798017753 57989987 945166321 339700095 683741221 866042653 632592427 16852357 992531911 347243509 62666297 114563653 429101849 253329419 726373833 883557451 396008281 312935837 267456241 507838161 82977459 495321627 804227373 607688887 682673465 362510613 144729189 777440129 409244129 167152455 828416995 932413537 672748943 146520981 326067551 78144301 185653259 108612107 140572659 416599907 377390343 404596443 163275049 266838831 811652379 798601567 763283945 457930331 482270409 33952029 401975179 357205343 591164283 304421055 101760717 571557981 23443075 588429079 145342675 165810203 898597399 763918369 364547115 505190665 703800411 437145091 458586569 440659515 623141975 323093509 409126923 833510005 423003389 578435481 614639543 968127771 373421605 21654367 160224505 112364347 791898001 191970839 182279781 573809809 175668203 598023085 760119293 483028599 893297603 750888499 527760929 885696249 387611283 52387047 811785889 19977155 552250301 380045097 271951795 348855597 687779209 84249991 81160433 891094327 197101609 478935731 149657187 502503049 242342581 74371209 706921333 542778735 579072559 223434507 326152191 664314595 589510273 259892581 673949497 158735237 562980219 456844523 277527245 231698585 574155223 367964693 869103559 552995089 424639543 761619339 981001625 284490883 89237537 357208341 402285349 520713773 356317451 605195943 983969711 986221561 632227659 722467677 667199459 986805623 403306787 875845753 847003861 565173465 400309181 666628713 882908933 912349187 847003689 862539195 69185879 736906107 61755489 872119343 57008665 102466417 957719109 721821095 93419521 894210745 127329953 549778733 753905449 287098839 318502437 945734135 372328473 813816301 281500265 335918685 692141245 20649423 837603567 329042147 256661867 917138161 255303199 705339701 669965791 477565045 507670093 650304295 852154433 481914401 339440817 74884019 222147099 497557859 311954539 154099197 338641253 956149843 384904583 272551505 342956411 57307313 512484851 686199071 988990497 463039203 981417611 94518789 403632261 269818619 783737871 665045703 966100031 845347245 165685801 912172623 541319241 686715225 225811561 155995055 819548169 21779207 555843399 622820131 993699403 862347111 838127401 881518351 87280713 830676943 209506131 171296511 944098459 799574847 530185979 259095203 958301255 514937181 583648821 437463771 244254653 807082873 191578887 387352229 577716177 383576457 483304537 723196977 613021887 502210351 906281209 384957391 373104431 167477425 556284069 12552955 137349419 186117631 798163707 317022043 107080489 139561389 86583431 256793525 610544905 247485437 724065719 224450817 863301901 603400151 522472423 289111897 944228579 903256009 302956629 995334911 822658211 874388233 3889455 370687837 174809541 646064761 908128897 861063691 652702771 739903901 139241289 325395391 102059833 365208999 643645541 840510305 764191883 167628911 791538591 629665017 128819013 454450033 882008747 538576059 805550833 267418325 528893469 777925633 239638137 634261099 511689339 621025361 795861809 533200043 622290219 522986581 192440793 551771061 441357697 279929057 471163287 183513677 661395379 833316847 523783925 674782949 296447973 796865441 209391849 10120337 912677663 105792837 454197201 643771413 403541587 362428493 674940531 963007701 122714971 552611157 359573755 532497377 766231029 932242207 913577471 400091889 848782543 705328535 713633149 622036835 296655989 601081041 232743895 340519743 435690083 384991751 161218271 472023603 235331067 304183453 217499333 363324567 502816135 525060381 988609323 732996717 244078899 283056699 539131413 871165527 509536799 982540755 254726893 2873001 501114183 822711783 566273421 71693399 471217815 64458661 450855725 63167491 690495969 329387099 640755063 122662129 434905563 677905547 231695735 153284115 728375081 204485329 394680481 614697729 872477011 545475327 217039315 338863351 581659083 382288131 403887187 73714653 941159657 121066491 694667981 336922947 360171759 672809771 128614999 553575265 253324039 562275579 885653869 200929815 136458307 997088769 372923127 116699625 240490649 407294455 155905855 252289287 9950701 236824769 269149435 544005195 151118087 510833003 622674507 155808307 142017175 36056871 410589105 778236901 420664379 567292495 235231517 996287025 766116207 478986087 651531489 722776205 447112351 310180893 973184187 335135771 951680539 816130625 750728403 226940065 767224093 157424849 812447413 615427981 851804359 811142893 76357717 649662201 622062881 496123617 386571025 682516129 245259803 422395683 959322285 745201903 596398225 630346061 397134425 896187887 724214595 878285087 40014249 390189661 539379675 791961993 884675481 666528915 954337769 300012443 564511631 678747037 729678823 599622035 815243865 258596391 580360247 972267985 280848683 571477897 341854753 343901667 889725093 192488131 298756821 384915835 125423049 284829563 436040815 220388725 142842629 701846785 352703727 523029715 398382895 912833869 15399743 218342335 903883397 190532095 33355823 495776913 841340841 262167899 628092793 906319553 535774381 484363601 668893887 700440049 520227841 139485307 485463687 583163631 723387783 149941015 615745351 218309805 650010497 639917067 67250773 402751815 85315487 970368999 16077555 158681343 887508979 584963553 854141257 780877633 788724733 584082651 405700459 164783009 433009057 366453851 815930961 255486679 561596461 547782543 923540187 878323147 369263957 723495505 56018645 471742597 623177273 688970269 178468845 589070649 51022425 506358555 856659135 447728451 864568999 67220253 364983755 287734311 167723639 262390423 534205561 746183821 886765191 900197291 532891165 478098763 491327481 741319965 345050863 127186011 398889821 974512991 915798799 160376287 742126505 422632839 39869321 834732839 817156407 948995669 246785867 255604641 970472657 574753073 758222897 267217387 806536863 356313895 10356731 805609673 919165753 152497137 268722513 978306083 457689757 553336045 22451911 213224975 547529007 243142179 330625491 556716487 458536123 725301571 318285275 380057263 866482041 87051425 757818147 741120849 160902405 906750529 699193311 188133475 375865189 619770567 791120681 43286461 979946501 400023171 543113217 87552869 212387001 99907691 427378767 584604803 980710083 845261089 772495847 871603821 297323459 996006891 540237183 222063007 571881161 665622455 897932219 278488249 816511817 614149663 736646181 570280839 86682147 50377311 952971819 544878591 499511449 463875679 819259943 694055225 763914585 907909041 648476765 603439227 58826105 833881225 936119795 536653359 832873333 580386505 842162683 545730279 909259317 687791349 107375729 537371233 836996613 118247231 392586035 642299517 586424215 622598781 303479051 625341001 634855181 839628079 196755115 467489013 677193451 105857659 870391725 43991265 28339995 984046897 53370767 564480141 193604599 985509577 268024509 558370725 779351353 620875875 488636809 545254907 650998023 111152579 389892393 977505933 900346095 165066841 151382209 223327355 824429797 908225599 306682457 125251091 276519495 692384049 907522531 363624391 19008219 303727513 313632823 988181299 7010765 709990789 233690137 176164889 923361971 996460973 70190895 625176933 903033993 642697327 325907723 516267049 627942071 619275985 293633575 295042723 746694663 308115333 973065445 54201653 174726575 446766051 699064973 104697193 25367631 413842663 375742033 252266227 98287849 203691579 918258249 213398191 130309101 979909419 92334201 158437279 400457261 833678769 269089735 341756911 939937257 679557997 621223173 184002035 508925381 267962019 571086317 624906021 719565261 851844933 807855137 729020199 281722489 161284585 150319657 385968329 857179557 393032399 740882037 409051897 831551895 833557725 34236003 391610837 878117371 882592931 852372783 816642975 541332197 329278809 873419525 283322309 363677655 820832221 825638389 534501845 432660145 619062711 516800761 177703569 290947267 364079639 72995571 160015061 964201921 554026195 498559401 970277043 483028683 822891881 486428369 358760025 137301347 161975299 528389889 162260773 282023543 9031791 608549563 642159259 589035869 565635875 91510633 840680291 759156947 753370689 259446363 228597331 128429563 55525007 682126283 716153191 913934183 838369915 315457499 366821055 797432329 955316509 734547345 379640231 660320831 284874549 717642723 291686293 187759821 871126571 225256615 816290593 679698403 413195021 499733407 192310033 352162323 314697105 814493045 153555279 25415517 291609879 553236153 80042477 187410981 454047143 693263589 541878311 498083897 545698033 128586073 553716577 616055757 673045835 192022625 797802535 844257921 650227893 944015403 737328939 55617109 154757077 403057107 984959559 275227835 18137851 589146713 872990081 898155399 503521567 481528741 225905155 93105143 427975391 902169483 471621919 306885549 616726403 447481539 926645587 925180859 705426939 854853615 749148991 510160785 162003421 921795221 40328369 339208721 75901543 746888233 608975771 516541053 734001027 656669445 798089497 544914819 869353663 929250153 797491819 891662395 922953809 386122877 616109057 132480287 842790427 518202197 983915629 710417173 918727331 296932841 400771945 826207849 357206551 190083609 912214231 25675219 346318159 313225393 809117125 40550767 742794955 504667743 547777381 665795011 62464435 561418943 729886739 76009659 889456851 208762191 37321809 488796333 373476261 838717053 965361611 394387797 974880073 633963671 329038421 389936857 28252547 368387797 566076137 821722823 473001413 838889051 783064745 79097621 374827557 788005683 480500709 385970973 914042979 517827915 227656459 930744999 533082853 455597949 599294393 643786975 912501691 940173453 105338801 123831645 103635357 834864161 308808671 558963481 313333993 35431373 41782103 330989437 81768103 946232841 413524563 813450067 849197957 397294389 248824119 101537747 505101533 179393691 458287501 107583385 932698539 355071341 379693835 348827051 705180057 516446659 344398985 900532851 767390197 836518817 222520587 203396299 27309237 785780717 949854911 231946477 575677307 95049083 43340789 460469631 576043661 900658177 944263209 93876879 976385497 379075363 233158911 590697105 30880759 489258857 794041153 490515811 740059943 579429701 887042533 157938507 627042897 420930577 52021507 721981941 181410817 406831883 223217889 844965751 160895857 627600479 373284583 638051151 849890177 814770207 549711531 571144543 864839605 492772161 379696873 496252153 602738495 479207593 844047489 764390861 112760821 356806175 330129279 570356989 72536405 381860693 968094745 814083083 707141513 193650403 615519657 395860967 907948129 995154253 970777007 720798179 348287567 923715577 431993051 96193215 443853687 938741817 827339261 543887775 167551647 841952839 992516371 345402129 135605303 366110277 762908221 755802633 847223123 282927931 949988041 867198693 650363063 618885147 992997929 465157737 453682117 975186109 351300855 169283269 645084561 694789859 404386297 545143949 793575377 900840247 366786841 110876605 347056609 496791625 533558379 679254717 128275405 479677845 133895975 546238807 792699713 571180663 371280053 33797569 697529493 41687869 408746909 24161691 285862857 886375447 414650003 545594599 697765765 370450461 977198961 356839187 884912149 307748433 172844605 888054773 101460083 222626973 784007201 919722187 759466815 468770001 587954801 249328953 864502205 569842087 647542695 577990219 922349279 5652417 401160293 849461625 141524539 473519271 296057467 783684511 170690319 937131977 538788311 580647425 243450181 229083523 258226071 507163983 314502251 920349717 71272189 384195229 291437241 157397673 705456245 614093415 832523277 203632719 704727187 550899603 264086767 709621505 416300305 289247855 198988687 903469729 99961811 96606127 884384449 586059765 26386403 682401649 243528455 665180595 791860341 211299899 807372681 92334961 988849125 113013241 422083349 508953777 778545847 405946625 98530593 229130203 557183635 675461905 730702543 618252611 36865359 26154061 936301541 760813601 634606053 103079489 370311121 257692567 12518265 207536357 295536811 759540139 710578773 509800339 798794291 511298643 291042543 909061141 62927055 62949475 183487199 166807955 928136849 648119969 249708009 251130277 556323373 466529973 687604987 757382985 539442179 64844335 603070245 986243043 838416667 302125961 187275939 942856769 122262053 590414115 356036569 555288983 140815991 656586823 527864915 982897795 943826703 698596905 175375811 210869259 397891993 702165725 171492611 560060571 814578015 588780137 133714713 717582601 430246489 133582261 256872493 122445201 767786025 688556943 465514645 2220761 324395797 98653109 739966925 587111153 999147277 423542725 661396853 636836425 979331749 406522443 386541147 284463811 997596703 659133877 531622769 941593761 928481891 311792479 699044561 728411025 383175679 40825479 619324609 670817705 436971561 949385051 946025643 422120551 28236739 196369895 937730081 408689583 433713233 293842729 770274273 694777549 626239749 936014847 938109643 196926329 387030455 374463029 575261933 127562447 337759715 437316473 437967481 692960341 397680561 528708709 969903307 463243509 264532209 444086653 390329189 367318025 699674651 618631207 784871667 555829835 236902223 885073335 939224135 752867041 242548561 20565091 765760351 880765017 249061009 105851983 645228123 381159849 572596777 348631171 154360459 794218283 368212183 367798771 150195037 802919335 638521345 536411763 142306157 246960457 249319607 43494343 980035971 214116519 569414321 319914139 102495621 369452477 982698829 389075835 643558791 240990963 185742481 603355109 644916423 771326483 728804401 155603767 278421159 249695573 621215871 159710139 618303921 99654741 709931903 380353955 852817561 25602839 253387731 652604935 726447419 290895627 293359567 345953769 240230811 899280387 486560871 18064179 993277153 65162559 241229885 918379959 647073379 387456611 392928405 637674027 999493275 188083325 230472289 325278003 337872941 130397953 799825721 703350871 224636643 471898829 294176855 734125321 667509939 379912999 467157929 698639265 230230197 593077435 181928121 746275939 712498733 934234783 183001025 941291125 749768585 359093071 60575 266712297 282212697 587751345 141268445 272604601 530526041 565258773 907649957 89712839 517341037 222032171 632173267 913239259 249382559 833791765 404469733 804866215 144800805 591408213 794455041 507535299 371739223 457622745 684578807 406167985 509376955 993354487 717411133 604310235 247371257 81316973 315497205 839503761 497926889 719390047 677852901 721266445 551874433 932745051 911217275 978821233 462060775 798556755 672259025 684187077 723041127 994130345 951791267 200017657 960084339 99672353 655682907 862271211 910887077 489235431 916061189 398683735 673625283 905516943 42338141 214956775 475742391 535356187 686577597 632780849 954853779 837479403 795065905 113244841 368120723 543332047 333557605 525602993 476322589 961174267 941256881 492373397 937274297 200952589 735597845 173272197 786137881 958468107 664336951 14967705 241826333 715472483 255809895 538125011 850271173 65109223 641457821 206793499 46988349 735411669 169977207 60188485 732762071 712388565 92289087 152974601 766946833 696993521 847255263 458178057 472408717 822422945 790449651 201831115 390897683 519741377 757291449 522393029 770987933 306511253 899251991 577861709 816655679 619519181 516943517 301208485 246977857 881848187 399154561 757542389 595404045 418184479 148114597 611306833 257027639 556326813 51710863 985106609 384981881 655551555 70532973 54851319 289193399 39194309 557181977 741040617 257403643 699134017 202839311 401792827 277873017 145881661 475448951 236536199 257238669 61497765 834740259 991717197 414543289 264090063 363421831 559688183 563176873 397597559 961689541 879631571 326651185 290766789 458811041 850766367 484602443 999657795 424982413 108075003 389795099 607847655 379594143 921466733 129994987 57720081 616425879 650619241 974132527 12867715 386116315 584541641 508662405 545338733 466509949 820448333 168104363 304872033 267754033 949932957 424156815 578742111 606373207 951530573 840664389 713213641 559510519 723962325 496636679 642873969 871903169 669377941 278705465 624411273 328917769 135240663 7627367 840269487 322376659 746926285 292771649 264971497 111733443 747134865 809463719 35535521 339644969 725189411 107313559 869775793 555256571 49813867 747958337 352650579 87835611 463462973 44293365 794754351 569259535 297456719 876730415 715322959 117721221 273650245 672771731 690719785 379090647 740265 504335341 305487771 509319233 234288617 168524333 234121195 303271083 184887135 457885299 585879493 103664039 247583311 447164927 450787905 837272937 345274335 342390075 229416407 778898387 799903523 147798205 987532145 971779945 410065937 500082753 193930073 772443741 192666765 666153895 866534983 896665477 693621087 421309437 609801303 681345889 235781433 920646773 963792909 961048343 177605045 690836329 227629913 574596471 350091857 628548959 92813453 40124409 216258937 929466881 381822825 660970427 471136127 90268449 731403793 117644421 720994713 427433917 160875539 225465287 689497835 342385911 652680035 49728919 308860797 105965335 426920289 363122611 192131393 259227797 929294797 368330373 666215185 480274699 954974681 78712347 459792299 460615227 309913881 783284013 707316923 256826129 70241931 274147863 664004049 451923617 750250897 562182629 937066345 568273699 155437819 681392963 164466143 747413247 725901823 378263435 674158209 617855421 511936825 350094265 773711487 428304657 428088237 199657333 979818995 861396951 146782665 319909905 229875931 308324113 350470757 965420417 216865315 34062059 147099577 99354983 625728667 574634425 800883823 505279495 359640061 837581045 34431123 739379027 286927851 623396419 950356633 943631329 72954093 664734829 180182623 65018353 229714805 711729767 657685033 764204137 75592411 169211981 709958055 927415769 893206625 376402019 664194285 652940665 877927985 853997073 58771319 224908327 945299547 34031853 588526381 236847979 358875097 350840241 209569625 486185589 102065549 943331649 41944497 739268379 253649727 28795303 431135571 516483803 371564703 385254169 278037957 564226015 166424649 268202223 61001205 367474165 620666557 677860013 26581813 736562067 807207269 429740289 12284483 481623771 479026065 633498811 495518791 110209683 351801723 817889239 502767053 455456553 653187909 290253945 112489927 649135541 667247095 473492461 106702999 556028663 578300545 584257955 597891841 209693271 599841471 117622331 299489071 571500257 536064625 66664563 446117819 47925841 765108289 504795707 306826399 729441281 902174911 293257123 705910337 956554235 407365477 689734121 250946159 253477359 607041939 925440109 141269341 999117875 764003221 899532219 497496233 87943367 303645081 995511433 466786393 944836177 247647931 321734833 501172697 624485665 505635835 365037107 138989311 908602415 157776707 530312255 179872007 350145049 432676961 475512871 527109529 295428647 213335059 1626723 901015999 866134857 68032249 146523547 320008945 614005013 311523481 941048725 838876681 433955017 940684905 3303497 274625617 124362831 673174717 743310545 930621553 104828725 892627419 98763887 825262977 336196017 892942571 65710479 39276031 766309797 653012219 521885379 110436559 172199831 991995913 70649801 436143167 15316917 2575859 546729603 665117443 970875095 131607429 672361467 486964025 504754045 787204973 111842661 108790119 829494991 781243207 706176283 953494391 323510681 145840787 314733477 836155331 761168725 753746873 906049193 469068805 912932643 434874125 271359483 185851493 867212999 557436357 967893145 409145965 555363251 843326213 131631013 32184339 516397565 338776279 694671721 177573559 245131621 152615721 522539097 28204571 972397137 245734103 228775953 99440493 643725009 644595871 842029139 738047555 765640093 956337199 672797197 131936155 846757651 430554899 186831951 871997657 864921659 878415305 766809429 570610377 970170307 303392431 727239041 297946275 107652869 745731855 10638435 968128259 853708029 500144155 996597161 387381485 685028693 788650989 684985393 244617937 578461019 187857027 103441151 668713857 719758085 701438153 819457595 214319421 547519989 148240273 500620859 118356139 681425009 939828881 864759929 521457621 500281959 130306413 500799129 105425201 530392687 193149613 593442663 920486557 889419977 367866563 256467 732323935 163250781 670066441 878005243 976206371 542174135 887399101 707058723 254797311 508448273 52521483 524838325 359908719 308237385 131858181 703763011 789787227 562463209 63331489 801991305 508878861 167551517 631919043 204963179 775647293 882620091 35590707 539761397 190822919 871188295 38456739 958136153 964013807 573310437 24425131 252833777 541716451 396711525 189628367 13761091 584399931 640227647 337633397 557083895 443467953 865179281 988171759 950958309 465410667 144023331 689236599 72812547 552232949 544619365 838307375 530766457 442645575 508940395 108544031 881078669 991740861 262662905 609074489 409639095 872450845 147231857 11839829 207268497 815487635 224070631 637968437 861364189 547561653 433108241 867896451 736679559 4771711 127695691 716371153 889404577 553273175 78919329 186769045 983735657 849116683 58860223 528114481 440403519 713894353 585098749 98621169 503450545 924400195 885108827 724378629 300572785 774358377 230893185 484006789 707531867 968712369 201937083 692836467 144162161 437948909 571752963 807529145 461832927 494873181 131329785 262723623 904073719 340513187 477477601 974615927 716824375 27792081 561790637 221750603 561143617 978268505 294577649 916763947 620166111 937617433 199512049 883524231 692098821 153014357 777432721 46010811 868633039 784509117 526186337 105051911 72781695 990834787 526588057 134594453 141352065 965225415 583877655 23122037 805841257 727201743 711860835 495985057 755793905 145316549 302516651 246896891 768503805 405128031 221214921 149779785 523693719 594602939 509470265 704983361 20453109 558053983 705087781 631862393 756775279 947119927 17061467 586956915 885390985 618136729 169085777 121154967 468742639 367288899 900728617 547478073 107775861 786875991 150214567 764284305 90952213 730862183 578481727 540674241 258702579 10030691 155787011 984319951 484357723 37199277 365928373 222379185 753443005 325753863 12436155 655793725 953767351 359108769 1623591 924615477 709539085 615990029 40246445 471765313 295277479 271778891 300808365 210089461 23030939 631160255 571126575 548175305 213258789 762757687 347050723 86048541 643089061 347417831 88837407 628288829 195885991 513827949 356991201 520208215 925552865 636728271 234763731 319323015 826735915 120797049 738822467 19835339 380931467 37034559 226203433 934407441 745312811 216474723 830756131 695887399 859513181 607548549 853471609 491237061 110157981 41419957 177869337 674835601 579517841 165023593 988021149 933210639 611709183 637188731 934774849 239669683 952334815 728506419 150478575 980696279 275418699 654655039 783427637 880624827 616806019 941402801 579390793 810771847 68269559 547209481 421703949 870873935 301310009 237215529 435172613 824576777 32454145 477045347 263350371 554101657 808651319 954080873 9966333 946418889 480886497 88175705 962972755 261702215 812688439 102084535 125661325 422787757 818995091 56526195 739823991 914499199 993489527 747123937 890621835 785338659 65486223 764441277 933654759 537729517 449644975 561654829 641181781 465405203 265086671 442340287 451486271 706800313 673517335 957443687 297819585 425856489 56988111 14281859 965822873 258002321 96460395 303349465 61838637 653695371 193636231 471303063 306255757 630614427 918816229 150612303 250074737 355205735 639701361 554387967 201098551 234835073 605636159 239270927 582433253 451249509 717148553 901431625 97554479 690092657 595115697 418181605 403102823 168094191 9709639 54976895 875743887 449376273 277102329 782830107 471173455 222842863 451386021 961783591 630607093 888771725 373462861 599701115 43401847 961668561 413826077 686369105 978861687 815022989 253124713 843815759 564277305 307888763 372974251 630042499 154169519 885858109 465446279 428033889 154674031 765377371 906570953 179416007 390756281 98631751 285940321 433987067 532692341 641635929 315464557 804781223 821063727 365329877 350672177 221043429 959889441 167876577 480496661 853795633 7924009 112931727 557897391 949817453 785362895 25299673 989724857 726116585 445104195 718953889 899831831 984971611 608141147 715498671 434292693 801308637 793533847 650643637 87331619 714173687 478125085 470606155 931461217 241602199 74709949 481635315 626826765 833991439 146460653 941043479 668021207 660115487 778386383 322799367 223985551 921535467 955179817 192383229 832011825 720652799 605598569 588038683 830016227 101974099 645462697 4113513 450228715 348154435 296774309 230383577 33900993 74471829 157613511 430305091 510073853 762992499 637419547 97118057 983026789 720103799 500258397 89538549 804551651 471853723 429243623 927027831 160706441 497945669 543711941 583933289 215488405 966587203 693943971 652678443 169565287 586193099 627000793 988316425 12710285 63688055 584740199 767922739 798423225 386164303 727162611 997042369 680286917 369096639 551626189 491948725 424893111 163694749 861812205 977137911 750821561 393394983 898554609 794691163 789078815 22774271 788843811 339665049 644626273 129567031 973898349 484884819 284335399 656323393 57399147 879540497 144155449 658455545 357812315 904401475 732072075 886077353 862410785 935008325 51657529 634484217 407106385 467187287 194149765 164101891 23197985 187299489 805023451 89010241 563780207 509002039 69840589 118973849 206336195 524070161 155349529 699462233 726340427 886347025 866982305 1052213 199359455 342710525 11156335 903151179 452802049 957363851 484766135 470498337 387954131 941101135 835966421 580018851 537979177 357566159 378291531 545968935 436711543 189212531 645168327 230969449 182845407 683965835 549542167 666585487 326985253 369597263 270816827 538379049 849690555 879507685 420367445 287975975 520486327 143948625 805080241 727535851 228723929 635694983 103095487 638392887 658935431 487698785 301937437 545965113 785539539 963820191 223777933 368127369 201052785 391937001 585107197 618929183 93398465 756139475 257783933 720348773 845621707 496969685 338030153 292755495 33428541 475705679 940147141 601989017 115144049 87490187 666972539 945441369 537364837 316492221 722082849 539176043 340998847 907677689 925332879 324179775 263217103 622709317 581781963 729255081 417173387 319047303 546129405 666321893 354830485 888207507 174538107 637307033 656947 146315551 190155967 73929683 387753299 926574289 939024495 532971785 771362189 182796077 583220817 932460309 18678307 669624231 822778461 613430591 195031799 695451799 383631275 642241587 108246429 261090881 265685889 242148103 39780937 665784267 121951817 913858617 617922269 771904073 636867733 982366891 430508509 829526449 24866849 944663215 357665659 909161959 768362195 275529463 285125773 933407157 792825777 909871519 240059795 333504457 832755699 482784561 522369459 544676797 787463155 522826133 420469693 335162131 365162547 851429669 820108585 880751671 543404637 805128603 683841813 281191797 904777289 497122589 574234441 18767369 455639789 634973497 101343541 19577109 902756721 234312163 445940463 21688481 294088221 985080953 173735477 260364959 414719333 757561025 311400305 558023657 553546469 121548775 180938417 965872957 302059615 389162369 555434157 843128903 520136895 666519691 427130817 493329561 91588887 274775661 658738937 350493353 121624997 487811569 525967105 790290139 452683465 237345359 878679859 620546679 349521427 294841889 545145483 952725677 387575601 229154415 54559409 43523483 57350913 364737447 511290615 256333117 257185413 559488667 735376209 576034943 806399977 646736779 144706913 446605361 335677825 750047515 268112747 25636365 367155399 752778585 354557281 779738037 718431069 319093945 492555737 935694257 963299345 973393177 350383891 8738419 403130327 187161789 122117621 786718547 176421063 226579797 973179151 767649683 864329509 105265909 402435993 884577117 233785437 45297433 724996721 748326081 553104899 494159783 351039775 540291769 802526417 363097581 253066451 250976295 862414763 312844705 362129249 427876051 647378589 957916637 634848333 56157293 8751575 60101161 641552315 194695057 360018615 287330161 437784443 727880385 828968129 284112651 642525187 836006241 916032157 101419957 272323445 671200455 929926433 653088915 350833303 656526123 144061001 337783857 46072791 872306351 902414901 636782983 985248845 266529883 978512433 806932209 119133881 601068831 293941683 556573491 818884227 981312215 756354899 500975229 253575351 555185475 148954583 534600033 250575633 59115277 250750759 933541855 871999723 704089285 441617755 593690717 822978127 646795749 223231401 971694755 454006509 605922765 584847735 304240365 294841627 409533129 772312913 313835731 860190937 528934151 922873833 251754077 640304333 597783459 960771353 602810615 316779335 669653405 26685671 111079031 30034751 305734879 547233917 957306393 755560787 678514489 920254765 832473477 483826379 569378659 667943285 106032581 391071895 557396483 39353845 78898255 597164107 770314909 643277435 867026947 925420843 566116519 401024761 168746019 103132443 359871605 131808905 157279071 430175659 215635533 598386289 61408457 856490257 369305431 195112219 536757985 267702063 546592931 699579675 130951819 919405193 355786793 52362793 58072085 108639059 373803471 220915245 908038707 272056927 995103833 926679087 282480387 955305007 648368763 796174691 769111817 506140649 238559183 230794277 326523445 371440223 60353493 425047287 88965851 560187653 625284341 13766533 170007223 549144317 289399683 454111651 223462383 363865099 627043509 266664011 391219731 25861025 695193009 981421727 715884307 73059285 148559483 619419885 903551055 936029285 853916423 366903721 531214221 801366973 695557167 97858155 675978235 954577895 681040049 804732151 354406187 646754205 630918203 810848313 142551581 754855741 186307673 344656197 754624051 847591887 428269961 347168853 455764031 913116673 761824297 315968461 695256435 517014317 244873603 912943927 145222251 621407823 762556617 24156745 758753329 753658641 646931989 509527003 605159727 326338241 21953893 80633073 615183417 882355541 845869991 240286135 880759183 587173999 530544039 675421313 276513749 75958355 877143841 447192267 829322521 760904437 596274615 585052725 284684239 692777703 561612787 61788043 463131095 598968427 905485891 347829699 784306035 364788327 415218689 968192757 822757969 596494189 79021679 754194789 597042823 481724593 820687801 893501057 797109137 82874643 578842603 332100569 684795735 888085533 107593729 125449257 966045987 103990521 138233053 826261591 857190573 63901059 510357063 287396457 286793487 418415417 407934961 438198935 23122385 130638913 526116469 847420985 826515937 128232555 419977297 744081621 195920017 226013231 988847345 915166485 843745441 236671403 219685797 648097227 487032117 276299687 949271207 808305909 888349915 21970067 539313177 578453683 78227591 684393347 731509507 78712403 598765207 88868667 147310167 944557895 359546833 666277149 578374125 880696361 938130017 464906301 668700553 298343871 145906907 588443727 414141903 525577203 364629825 569251509 20598615 371051735 788695539 841880949 849269653 458125737 206132929 451364925 696749037 67804617 854784993 262613861 482566821 672989637 599394029 108797677 227122163 655436879 530426861 182171517 850340589 19295043 725002317 991326561 82595989 404015267 814097893 992865683 263924949 615320987 863341549 430201521 867151741 69911423 942306319 946187781 453067591 244628681 876560215 576049273 758203093 714426907 82302775 807300009 26389935 497976643 545415825 310061267 533142341 977356341 798970025 720288733 642293237 719185415 93268009 761986135 759420923 208760835 847467563 642046585 124459137 358025871 443039529 605206561 49419419 412994625 811843081 648773591 377391681 193036499 156117273 30893513 136055637 12903975 136399631 611007185 127928479 92032333 53730309 370209643 357961935 545247603 681940611 401353409 271965569 138437879 960832117 39721889 105323061 560367195 6880817 91665281 536536405 866521933 304902003 529485187 621697329 623262109 151632483 94732651 128035585 277547591 919314571 441932971 831105515 760512111 205820387 286000987 771216373 157333087 190394311 617360183 668825359 749407885 201400827 198426791 824815637 265344657 149439405 426437051 689729991 168955439 876348021 491680555 69467597 923967573 345982285 265890135 450683835 938375699 12352411 354287939 424380937 398207397 969241643 729427873 227826455 312555887 856466999 237328327 607894577 279918333 25682007 599739059 660774021 169064447 361510289 904881167 561744431 947123541 78799445 969722665 913456943 896074237 634657655 69946361 117024877 549633063 610334003 987703325 700840125 782433827 490823217 351869917 18687447 232136559 648845435 215991079 557885787 34761131 615630471 540816021 423809491 200156069 670625845 612159075 944026545 737465933 932074951 740159867 708528207 614884803 937054443 435172459 114880749 267963975 24953785 592613481 461062579 381451589 557254569 995900503 406228661 878342223 722932901 531860409 948311273 154049059 188873721 334575553 915321141 177783713 892747607 173895237 137419101 947641047 534715873 875696837 877202197 25703415 562595611 315626345 723718903 683236445 755730929 503382525 806893953 122262923 258036151 338263291 757697567 771134507 698304813 743679105 345737763 601543957 944964985 261001561 975055813 706653761 411306277 562758125 449811749 198822353 27037991 563987801 425172301 706732819 990651869 983717467 956545839 248133497 639006733 979114585 270070947 757619103 112015331 899786339 753839981 193573959 559821813 67790895 291962419 296615263 790237249 611476255 362748295 988723445 396145449 823751993 780150501 518159945 866415743 920731693 121532843 135683773 376079475 890745935 562021411 824924379 82159271 402126241 487801471 484709207 496253725 254108363 667448791 970646541 629721413 622667803 109051183 130184961 206312689 711103111 451935341 947542875 990535009 943547057 72539491 102699633 751759417 563486173 990523597 647036605 335241351 558788349 915515207 179679971 532151231 42378663 785591903 248113837 610857151 493277467 294237061 458332175 783625933 692885825 449050387 661883431 94643861 325168037 599350599 496613427 810734893 273736833 615060813 377403553 927710481 372865971 359699509 771769861 714161449 378294211 993841657 556757531 929260479 551785185 685990523 849623235 384933769 178213859 986951811 5315849 369856679 189182791 709979843 547188259 620094363 604021815 442525907 643657833 634951251 871136129 965976117 23535713 517287207 733552285 71508819 58888115 960510927 505766569 378104957 634915893 23776373 901345133 377860335 130948323 220186277 387211351 290297797 483383005 985913427 797729153 354066701 508365937 405360349 695732903 719194807 200236047 196753415 547919409 245748123 218601815 857627905 286869553 845696123 520840713 8995167 590625627 461266177 856588047 6857757 899154961 27243197 730517377 445111969 478167383 83226665 728584597 549634489 122404831 394064807 74118067 958770329 730017025 423545469 75795809 606986209 411165113 467052001 491275351 4461203 703335855 329019369 439438703 265088285 218436147 343401111 953715115 912342101 821181757 216015061 921153335 422225527 432725611 479748979 760590949 664167979 838417925 541218347 589003443 332765053 49476091 584026269 399082433 596104415 453212899 395370325 289777245 560539699 214194427 539610305 163534201 96743867 272535853 18548797 182875953 634752807 41308167 935194889 588905927 714744969 568192193 896808271 583450279 29538657 829682233 983439135 691554149 604061075 728487415 649689457 377620155 793077357 753108777 314797867 627786635 171294627 736272295 491041297 942113251 648706645 694017779 495872985 563676663 144479235 509167407 543194393 251498783 455863199 380949039 286245457 161183967 617527421 655116391 288259823 858854883 847807323 614988281 293333057 236610303 204942171 946020265 300673 399907373 217850125 787533801 110298063 850593169 281371495 205432783 739861813 573176437 522998467 213386779 135621031 288374861 309823977 950458419 553647865 707985333 297895175 680714537 77673713 255827825 65305775 827270319 222488119 389612393 450749153 878334507 435410777 247404467 138523649 685084063 731835349 227564937 884856283 432718523 840134409 65929807 691571367 757032921 819451201 673084561 345150465 492325111 624415915 174669055 363274735 318563003 779312225 93604727 968088541 249109363 634259303 238865917 978901407 834414107 675431843 669845433 435990135 23281487 729806057 337113603 506656261 46145111 350376945 232186193 724855641 110131233 952038747 840552521 997896167 905828421 369587377 633716919 948417679 931523589 647841125 309290635 315348627 442108739 610751441 866986213 116968609 273905043 149344307 779378435 83769295 402760489 210853815 18926933 614980249 356383205 433709423 661079659 517579751 992260689 621789009 12244995 969911813 851494553 809743681 414250493 930822053 485246869 332275721 440408423 269118185 381951941 589844567 168765299 904545877 974661199 223872965 141136507 261196243 165870083 213123031 667034885 693681085 288323673 875699443 656745147 599686093 701649519 314444651 219325295 384569897 811740173 540748411 946962975 965627999 53200035 162526529 943131115 208891491 376530503 627455431 262102305 87587731 512555703 665891839 787516979 226905013 429863005 123213505 828747965 145955317 482509639 118886095 175615105 557672937 38045227 255123411 783755883 234753165 995694955 603021151 838144397 40465735 412100109 954752489 422339109 79786215 334038719 573464021 901685909 461595293 339771099 722026603 44515431 802623755 140563805 988604125 379451727 516539187 417530349 756640067 464806953 646060421 712874461 489839007 882672119 365330643 672241441 526629083 950595813 154072413 752458075 565972423 673575239 187834311 572730063 622643231 493470871 553746973 652366703 531363199 157369465 892819671 782216657 905767029 608885175 187503057 793230389 625596273 135160133 436541265 299740033 176127435 839057215 761693443 461622853 426565317 740479465 554573563 706938809 646762633 305953451 620882619 601110715 179623207 60436251 383512099 859795667 876891033 924689395 901607043 842373937 646694593 933361175 684321679 278656937 250223719 436167057 57746535 603976127 62242365 292730519 764891277 438089111 826303195 855997569 448983279 313395457 703578819 676660947 454188771 207222899 453454175 294907451 325696295 877306895 192446463 617784201 887812317 27760283 865887965 549381817 741398167 370273413 613779993 810841583 809806663 751920869 984045759 566598775 466441033 692135547 249237949 476684225 637159783 726265007 773184239 32665195 363570635 664938637 723979797 994750265 583020809 327205839 393557465 200258581 787097889 513917909 248559819 778262801 429379191 5703331 912845413 588524393 565146329 840443883 288346631 113869955 126867067 392164355 632983037 661408485 452457211 557767403 16276599 918531911 635568223 560681801 711754891 476125057 652023827 173388653 240551743 4946841 463780845 375425615 246139003 197593785 419029803 611192973 690647567 231323699 255352687 527800175 78661813 244600965 898795467 94519781 188084493 190945871 911774639 465578883 495522467 563728735 814542845 424012685 320569573 193723815 748156407 452616167 805726255 299912771 998789707 686036511 588815551 735324789 80130065 864295025 538481091 848416425 491399107 486275257 413209673 994307953 45078599 489654653 943823433 887581323 932448745 255016177 50793897 400097239 51722593 596430311 402060077 271701091 760124619 850050785 118789513 394891617 197520557 97372421 476081239 682864429 841850611 267383589 695562007 81108041 540745715 733394613 819254321 784308833 286854505 665478357 754974713 356110665 879820155 139474767 706092455 286975995 410932151 84741007 834499163 790231451 769762835 153651629 588552223 417162355 700489705 84620647 696043237 547336951 633189633 197301031 570446215 715825859 893005447 661601533 485749957 998247321 498127891 112373147 746682951 31356519 142733469 862387045 672723359 337239611 758453135 472681825 606569289 561593173 403853747 170238015 16161187 226041367 985754177 424427861 689783799 970276365 366892501 796468641 218128247 711745255 657864565 380333261 208875581 431243651 604811147 588948007 468035655 450850531 440876785 933217701 869424259 222755125 476171745 520904425 314014141 262578377 716033281 246229559 6292403 440832283 516741727 952473987 962692611 338716623 642397295 501232479 351809847 526300591 419841807 840947725 490771905 291220401 390696069 274284147 937273081 877058029 167206525 256428323 643001891 414614697 663270157 200861009 805112165 652987213 947792819 52787677 109666513 813504881 149346385 611209297 31333729 622381003 69043769 649959383 996461559 852694337 165599003 213165643 1052763 542912991 690849817 960339243 730921023 642592725 461716149 4158621 681630269 628661891 738232287 426140273 330046675 314774889 408684777 927800607 222194029 73451313 296672403 600615621 289247067 999556787 314527745 745455147 20299993 934092773 77194177 387964351 49842691 265235693 451857095 213060763 313026023 675180311 684152689 727308667 167200117 354214869 38520963 867552201 949649541 312022979 206558765 734903443 612207323 279933345 125722371 544524175 858806045 592644959 71986945 936674335 39829981 761320719 664662671 779610185 378536085 814313449 112038775 902606267 659305639 964068693 828180975 382152909 928091739 162628059 28454807 957791615 140813281 818105903 858978929 400803449 556911701 845395501 826246123 432991751 285678777 860180951 674895835 342722851 502484721 464881241 530355583 84332139 213402837 40626437 856887419 607475497 38564121 370092121 192411099 590499911 899251295 264577783 926771991 384490337 8788019 415493289 767766795 85603253 394465797 85631331 495909627 264389929 678755885 34744897 788239767 194281293 94642413 900099717 964694515 437374553 260326765 499066011 366250635 146397227 787238595 883879703 658836037 122725707 789742307 979250099 31534447 591897063 728038831 289450579 937517757 170131673 9813491 961603073 203901517 221611165 825578077 750296561 723654821 670944349 25676425 591288447 390838193 843819751 28472311 926384687 805444551 239196081 670368017 716634281 748270245 809000925 508923943 694250947 856325231 690607919 570885235 899362423 431041713 451359513 338799893 676255209 794209123 274373043 200977945 961212003 216550879 830843577 523922797 185140827 499221487 208273043 285067245 789297513 757918907 668417873 739445849 812625747 958452187 36787115 28095577 762452737 403262029 968997889 156661121 691733897 430048629 511186775 462159945 268729125 197765153 471146079 858291473 805662267 834087301 106699375 360097061 344912977 296814143 122161797 375983027 394517279 930837845 868469835 76698327 795174781 245627699 675139343 459123345 206093425 908523695 499208393 100699081 671210019 309694981 235724055 485020499 48729835 953780187 144383041 213927655 804847679 917695553 879592501 797126181 230624197 553794471 740530061 345032087 409815113 625915375 933589125 840492465 829371069 739689819 961312775 135025095 621730107 71113625 900654241 173811999 571572745 422590143 536523657 953139167 478389393 279564875 560522145 46825499 757159013 160045601 732513389 79858891 347117123 91805069 496922399 317471439 352051979 210794055 375126925 116196849 74058955 880660843 501922615 763676131 11835829 535763071 592607301 713894207 460270373 758382189 819472003 14275715 519620253 163446415 745138283 991123741 597681865 287777183 299195419 946985561 655591035 908059331 873016923 238208629 663764401 280907913 112735131 334704527 930222221 250596325 731224817 558994609 296137817 120236855 601121053 277420237 311347849 682732353 298297733 489567675 23852473 248511025 705747257 59410239 249300139 116708509 8018927 48386047 360543563 650012289 68716809 342919311 866089901 170624581 74203789 681283685 655011083 32375219 11111467 912528613 790579911 684007683 95961655 255927895 69090671 511214033 418596019 610612973 755136951 381883937 802095687 774396351 277388151 605825379 399125825 175182289 777025203 967443817 296757911 399534857 45033623 851664755 872060139 852474169 381152887 272317733 676183425 667731229 661330637 72310157 950086475 758742867 64010813 917509151 347607519 380450661 426745489 157105593 313660541 958075587 157166527 516804001 29530893 200810955 665179871 125988483 756041499 79514297 409419061 414423925 915067105 706627257 934778159 848338163 405025853 331860187 871457117 804085731 378028471 195028251 133032827 124696213 674704767 917719381 942620525 179594681 970368619 986710103 431886911 922787697 167150329 954140369 908423457 758389311 587181651 966008923 366808177 104554513 367360327 892900471 531965619 396124477 381295437 582789519 386084753 841444737 39479683 322733557 141130973 403163393 446138801 397543135 863205779 493436747 447264069 354776943 170404055 89940049 998663257 455056817 870962933 491241333 546037929 630185365 946189919 79036027 474226845 323138547 776839343 942046351 210634823 610344333 591352747 459204933 97938523 808150029 940246077 332553629 340173627 611984643 186785143 578179837 92549611 331449065 143568279 389210159 701075741 711922721 349795581 190295145 222958121 92435953 700519735 669453385 664964105 37955471 533170167 8280789 992830059 838036241 11997207 915521147 894418073 811643001 314388125 290019853 48261773 393903793 628650419 947192265 239904229 187415689 42648493 237791319 676382953 931706811 529219587 644064193 328461705 121184231 840278109 957744255 233460315 626099097 35369347 236937837 50408349 376690495 606701673 715835855 61676601 758668341 636130089 954035797 622054589 605767611 1879563 334383121 683955809 349016059 574716533 537396355 345451011 569457925 929090043 596240783 806770475 357673939 794421595 137687171 448106759 449094981 596740983 227144467 134547823 244186919 651376729 49792093 532346339 778590503 219231797 638131687 883223691 145338849 802506343 946807453 977727285 191404501 224780913 742157269 361437271 312245867 320092415 777440331 231113747 645106935 477694181 953275175 898018093 731054513 616008221 531315955 989529111 90712761 808654539 428556965 693015527 640211737 106182201 439988893 569770333 673939909 346683357 900002205 468120031 476352657 376796239 290608085 657039485 388257603 999693395 951753687 891741423 589984387 996323799 467344803 636197013 858934495 71702249 836813723 131823475 118757333 251656907 323992977 121782585 234306243 845994203 34673591 607176257 74728437 741544869 548390827 658437257 85167001 579328479 363343219 663432373 919815881 7952225 228051065 666139929 329257097 635641903 508192407 143754411 919058625 560674679 817070343 839000585 99476287 777626761 914532719 691866235 472690369 441443809 547310303 380547311 275433957 670344227 509925063 846139133 707252789 73425179 34691591 770868197 976904995 139262139 787588069 536359823 310200585 483512349 655308045 970964361 183781413 127722119 506897047 905642505 593173413 707473505 728936699 124551407 709136533 578126403 327566115 695899333 42885363 645036515 800578393 700942263 632401565 880237863 949827157 733016221 909216861 534006043 541210675 921990135 325880549 321766129 618931063 92698347 647328717 909821701 790007825 694235209 367497881 85217239 682002003 988528009 387157935 115096855 735015933 846170057 759552865 563942551 530674995 571044561 526400235 845607759 376723843 409935889 738225003 621817447 96366305 590599583 317489387 822611495 281092269 828168505 141362525 583310595 839266471 20644169 717098393 506640021 957864961 509518813 834431073 795632803 50217551 297026475 531890015 347039767 207249039 104085269 192281125 914602501 236971043 256131361 281260841 526705831 156752859 777677949 467110607 134618207 740237037 153292929 743290975 507909819 574402549 595478575 256652555 182988141 476126711 158861097 245792491 996471121 802311521 614054083 469685249 481538411 336899851 142917873 539126583 537316323 93881645 800087891 825687391 402779917 886297201 205203507 34284591 505407079 184878307 228055933 437067593 853260691 586484471 496324553 920203065 338781019 824418443 306435415 968707183 269277365 174110691 109503757 344835651 412108217 110289583 903776635 641834999 994588331 103171331 87612889 217366453 424084727 322387547 561404677 603199375 183078449 611039391 361787015 355344507 998677267 796192025 902077327 587018587 471753857 312953727 566057969 470322683 475618437 853654767 448830257 339997195 61435221 171239663 809064307 53192739 294043721 581691501 18450053 251859653 83526375 320846523 842746083 414453083 83249623 205404823 688672937 99754805 957742063 896426793 372392093 797233805 307668265 967620861 248365363 817174915 434164649 241000197 79078781 561893155 250425531 191689635 813109821 46350429 949198289 422043547 848821979 241280265 707122565 86306071 292519011 218369257 758594205 367884977 783917199 326898341 221522177 961151075 989436095 594083537 95050951 552368787 788851959 886674661 333308715 807462671 985443561 416404035 702447501 91440139 652715755 878471473 991064699 320813349 301151997 811365861 210770085 594117731 905871813 395611509 100189163 831273777 673710995 796786401 36766285 565040485 623213407 308762647 512894709 711419451 354329543 332021989 893560635 776908123 233623059 705261573 681829269 877103567 302367027 295552023 714418859 592883471 334113467 804116135 940134981 362756085 222547439 53298979 183050327 179158987 595381937 150919143 592100859 818990393 463894165 933792051 649058935 113187159 629489617 603094575 828436021 981792931 261851203 236931567 63248841 946950657 221297265 602072171 117975787 829409727 842095245 771536771 241077635 743265937 949786479 71980033 647179929 3762325 465238931 289349785 702111585 783870545 668413473 746075359 639455287 556295087 894778347 195755609 184667549 244891401 713968741 231264109 524564287 549897241 213842095 448398447 968666353 300891911 943962771 333531799 862454187 521336669 531221885 401768197 117396117 184085777 157461891 251109827 20120055 414527363 438977129 771385027 149911621 237098101 217890963 184425695 514523419 919426837 111019539 24651991 136925757 685395193 768013723 781641811 993416851 974853919 653334927 388490471 977529139 542565099 934822645 764861193 116558935 340784425 233735293 88815901 847468643 211538705 622676859 135603819 637007585 762193727 119430387 532613159 727838597 210347191 554960521 711684709 352916267 294366185 465748363 245263147 801296087 184127399 930722293 772262239 8362673 134883889 935742307 41021907 887638287 439163949 978310683 851160131 194811755 331257253 431005199 953993293 375353705 453253391 741008855 449557115 485034965 31758921 339328431 961816383 781821343 259529113 763535487 585518065 730933991 523132075 33006297 931230677 97158123 134467989 196059121 358162705 566945819 819138003 507027623 79300535 254383879 477643085 929478275 650391747 693751659 438265677 863492789 803888915 300358187 18357131 117171987 496541809 155685203 397366563 931988253 358619791 515178773 450616217 648069881 303041029 913302731 902531035 264250487 983672661 307018235 425833793 79352847 783537641 976962895 792857733 58662367 724163859 205754777 294822091 262246575 180949257 364251349 800917669 103170797 369714159 129360169 514636037 284234675 655444173 632829405 944298057 425610685 491773075 335705699 363111223 78108789 520143647 100911451 400701435 709897961 925820973 850096005 742868267 816488143 248745577 156786381 810434243 623569289 482749027 732453189 759801641 475715357 336111509 908518443 753061419 635425081 168836961 600547039 586690559 75149365 469249039 806676975 490380351 723401233 460818383 367564813 386090227 616374643 580600767 68413205 625736585 15367853 341820123 369221897 498867667 599249075 843944207 452081941 831199505 369216037 104170539 881956493 655352037 636389965 643968233 932865001 983209057 940068885 971313129 265350609 765276919 569153817 1058999 131093005 696067461 929534103 865394883 938190481 682508111 721725045 424234085 390873721 233261317 303975491 741892575 295315719 693892025 62834233 215139931 538116777 131014123 526626869 921162473 576188909 122193025 463028415 518751107 656105107 302470597 202342917 760836105 473535101 335962221 945668833 404359495 131523253 18402967 49473999 207752171 310101105 773564617 228383225 854812561 323619337 994471151 373044781 390114745 705326081 127476575 864988129 828322509 155136517 538259415 571566135 185695517 679941097 397621881 978209523 751398883 80470183 319097047 106493831 434477119 864754019 995658977 630769673 976539197 58411625 261293049 745412153 460957131 607994409 61930977 219283583 990834629 795676739 242872777 654686439 620586219 55414901 558354243 220830763 945276647 179379631 465859407 304180395 236775239 796566273 382422865 655557483 201967241 121235111 493850135 645303069 409921805 743502597 152433877 789220117 888823321 195942311 46213673 365313111 801019617 150770237 299511577 304344711 862153599 633408935 243934737 664082165 905677811 667995363 657732069 171339673 116674853 61093409 568501463 981980177 410930665 754265009 777510279 127662245 490264055 518198545 655764485 833212227 107951855 19903969 313569479 252798085 454039899 47265005 214515111 281372839 767159215 8611627 39255277 165089939 250624319 72474293 279964231 930136789 349944657 577620941 405235143 821705897 630331915 883497949 122346221 874937577 267252097 735644285 441729947 225737505 316470443 782427235 925849891 808425597 468416105 66142327 175377719 580288725 341933701 170794177 300254453 977192361 152711857 304881525 791380449 111318305 85771143 388515309 450911467 601656073 51835269 356673455 136811879 34944475 821415961 951432549 822953489 701854133 407501455 521755619 908441615 187984735 182789413 921841955 134324719 861472073 771362297 475254599 306847909 648047241 868908053 607680925 818021007 185278431 863785067 752115607 307367539 166570673 587046101 333802449 489886335 211067407 773573905 249575181 187711813 475318191 362809291 41351991 826342083 376490739 174480277 200425571 312166753 106303969 15678437 334622155 885023465 711151655 866459679 680454867 105667475 89931295 283866763 526192645 569724665 626529221 273569627 546866197 14582053 254786499 640183209 184900831 833322879 568033383 956068979 50929253 840974817 478804647 715137445 208118741 655369605 321305893 957520657 103895167 147417617 948763429 594037101 75637471 28982419 252924825 861576029 701875607 598474367 244589591 875961449 500329079 260258995 16067551 658878979 722813293 30906995 255643863 97350275 20533143 364193391 894074001 487324203 108951609 512141755 845235521 645200933 476078011 772600021 773394119 124062081 804586163 774116511 823428523 594442811 960734939 663457129 782406685 501943343 45177367 85341161 110013683 143829035 764337523 903705657 422787243 713241823 375220769 330005729 501865583 883255779 668942971 306203599 387455245 517276859 763419909 174086485 932934653 89082317 195733357 553848115 220853853 423671147 802343299 25794445 210826741 389352655 853371461 3523055 285489203 41616667 749901523 634516049 407430959 259177557 650109817 972579855 586722987 696005747 657321645 34352367 122882313 17790027 975481865 245404699 464490589 707689631 609427789 715570477 738293083 727817497 595003753 642013983 107628133 641220425 872139117 35584855 300079231 979634601 747812759 360004771 622671451 209561755 737309255 673567289 96552271 239036263 272851211 859499699 726938715 864976701 703162773 113189657 244777767 941165113 130799297 652599767 89095423 214807643 504180113 523968451 970206173 861665933 934941743 93584155 436803935 109362079 569321715 164996737 88810957 744567627 754154325 281324039 576935191 871118641 640588535 734521375 500955091 38439901 408668839 219238565 129144895 483930045 132584279 331771363 511695685 445290541 76473123 387323777 779992435 181496941 902162509 224649625 490625025 6870183 952536641 38864805 570969037 921515243 580332179 799782283 39856733 164377651 746466813 763750553 348724453 186008927 200007521 546338435 61327159 471394363 348059341 810333799 213909205 226011253 514909813 831828427 15537639 679226025 445996975 489610139 840849979 136879447 312053253 183250219 548661831 366773223 15194653 720028989 141910059 685698989 763659981 207294705 82642609 951064289 303515151 681573081 105152069 350252451 893051397 698709989 822713343 407227647 416771583 465350263 554540191 722979811 385182059 51572561 949037451 641252907 428677863 313069217 491891667 661428117 609917239 214041341 670370607 302048463 504527939 250765923 820843261 845973607 333628961 163649847 248803655 219278805 727805451 796392775 203844535 641470077 281374053 404034759 806045353 887375017 877495993 603764053 156180505 435914887 565373117 233859829 105192625 716134707 900768585 987042583 703257791 876092843 688924771 924307855 314081083 900345821 139540787 794146201 50368707 449211285 570853135 141583579 583187101 67267473 477709939 908896355 243479485 701645935 302284799 244331431 416710069 102696889 609508223 932865921 119977415 105043169 994725609 948179257 670156763 344045121 38968149 31162235 970776447 216736791 220000265 162393949 449530089 305816465 40731503 283994461 61734905 692833723 925569561 865310813 819521337 938781843 294080453 317378735 284617941 234742263 41715795 979641605 315635621 443986609 72735953 109500795 196674087 102812531 196455535 296317595 1068935 177889237 882707853 585183309 120086159 242062171 392806571 690807019 122817209 20286059 175020917 941404719 839114531 422222681 288789949 321526335 182965141 404092251 165068417 340417705 362759551 126430101 507189473 306105697 376855797 103248911 557136171 711218629 988262331 650511035 59004369 727808923 551500853 63768177 447208047 316117007 488572531 69396469 166912199 493557943 587194155 860990701 997738437 725865615 47378111 811012331 963078779 182596351 283922485 280538729 901967655 473785041 630496315 92615113 712322603 576649533 830618153 158584403 185038609 628653789 871588097 943269689 936978317 242586809 637235813 799398035 555124347 465181503 83204009 804453475 230921437 982847297 266035393 84006291 38255839 600491263 113861453 117934837 38258901 156209437 190839191 83932223 922039865 154480553 216481163 331863317 649863853 974263575 429169089 274884095 540462337 604634947 152689783 286228333 466426403 107905143 713654425 232066235 321393201 905565277 511184049 724060459 805299565 952692491 74659833 768887521 761893701 447438845 176340303 83576821 189232969 60880153 156198971 381427035 826482741 77311405 789697515 369746421 613306605 806673775 370828857 256906127 914593147 639502201 5466787 479860697 369306131 440929619 379509581 567821163 511547923 62848489 236315659 376306887 211638521 36898449 652661587 935184727 156793203 620575241 868324163 920433771 449704023 624829301 745672353 429703741 393250715 158996321 30338017 362692333 780949349 600054981 45435413 41656711 111956735 559455741 670319615 114921211 647813599 254383565 34251527 370012449 259773085 748595301 812152377 264602555 484449791 744025175 606165839 786377585 823893487 157368227 973569961 781081815 465251455 651865775 525836107 839378277 834448619 483843395 710818791 203540093 761679511 450054043 617994707 769986149 6545423 889177935 681141519 439250771 719348741 882133095 105973825 497579101 706505811 511928911 6695353 207261317 559603455 543569629 751322735 694724531 3994931 238162253 251427073 473734075 443020865 327973703 836596407 422292821 247419559 699007957 948512383 684685089 82630405 247170669 565903859 911524523 360041769 962802159 724421201 932008801 170653957 370746269 442390909 355761567 874383797 673194023 5418251 342133669 69002875 581246111 933560113 876350107 449590721 754795397 33224139 43116949 24860703 690580413 802495333 697143947 165599565 510053781 496757291 803704157 738864941 330279361 550037239 84105943 803961037 447959647 385641029 849904551 221504351 908090867 823207229 890742119 779176767 227189869 77697201 824840603 987290863 904986145 404519445 996155051 910197275 809039051 496843401 576404709 471108247 914055313 569426391 176964999 698068829 895103745 445932905 136496047 830775695 188353041 193328987 327560039 61027709 891801883 87945579 273872035 251662741 14823399 279679487 363126839 3235701 684913059 358607143 904821481 995370719 22325217 328884635 333422175 714975423 181798815 652971961 293577261 18219561 485516869 275889801 443600585 829121879 312077983 57089211 2201239 91793069 244765153 222106531 56578273 128275381 169732263 90711621 901447893 141940261 431254011 37252165 272945293 597316309 766795335 65235185 962217997 129237705 413838431 712088645 905245755 427654191 272632963 648914909 723368937 655502679 346613591 998021631 115501779 458402749 781177065 570588317 396150935 838209285 42268589 514920527 902464447 94383097 899761027 356801361 686393533 181090703 98840237 994787979 239811817 674229215 215207641 437257871 254309767 732196655 811242013 587455121 343814333 399025895 537939957 605990769 552266909 272752285 844272713 962208439 71056419 902319885 284039779 111149459 687481901 185349911 563005435 742547419 516257925 386040009 110269995 169418511 61339357 999818323 879233147 277338965 792357837 50341141 397319641 256640637 614635479 463782541 621338007 973143807 17714789 372780907 861630581 473228025 281940681 826847359 124652951 888131379 649593145 723298759 953792907 996934171 489707993 478878563 364396869 737393867 39582641 964333729 135848227 782103039 293871027 244463347 805131243 676213025 965744567 588827891 728626633 116052799 195528575 863888231 543653201 910436367 912227765 266073657 751956101 955138803 919459561 58232189 413505477 984122353 702642325 818118763 315428065 402344631 456863771 97890411 382408207 703232925 29512643 149886469 563454697 825591971 933344703 582425069 797201271 909171311 479185191 911703549 614459173 287142227 829475581 668083771 594594251 859985987 28142379 87781329 861036193 713103327 581382529 438480915 199244113 609007983 413226169 482149243 197453541 430000099 378247029 129350829 423277269 176668369 799528251 2125171 371387901 835184505 385119105 46235073 576282019 165048769 839039133 174227123 312814193 42289977 972609233 294654347 455726465 479780889 11654471 319280309 585727309 824951359 776035599 727997637 415664827 837199411 110898211 645654901 730024473 650905635 621736547 21445801 748633627 934372073 621004955 242059115 931800801 609401089 406459771 437882607 391468269 548958613 421705369 83330449 828550189 801282929 933512059 89391573 735924983 231389201 205493385 558206819 943876359 658508943 388428307 101324817 32068741 279317175 97945939 355009753 226468603 497002997 857633129 74251487 48707681 164543585 768583265 671601261 170758675 57923003 92961833 523144697 322179029 408767083 477300637 135429915 644550869 30952573 889012093 501094807 491722923 118758571 598507379 593721947 16408145 386644821 941442831 664792183 708424493 410172287 55602889 63229479 193466891 624482777 75961607 806536143 323923491 856515517 548700941 287378171 702421523 709994537 952338449 216878429 773032667 963179715 335182375 185625039 124514541 155626203 981318997 689113431 989906205 324587113 165113475 20146205 802490791 642671371 739531391 824071799 83879731 317975817 371582215 780685793 721173451 372612689 205757881 126742523 750541285 770368381 636649249 320112019 156920673 969415369 612445613 517028763 538806401 684568351 174418105 42235949 118475507 145229067 654394243 275845007 474008269 687913417 374691385 300174123 802328461 757880371 311899879 321233555 742572823 610204117 653855371 842868869 11915449 336157659 264925699 336151521 592376357 756007965 744128793 857024693 446208637 616917531 704038271 558253363 29951301 906856443 771041231 415941303 860011881 344395151 701998217 496010435 81785917 200669515 703990037 408634883 602966657 523623247 545042117 289876297 831756635 566848611 967807445 823992979 584418643 338827511 340500067 833446915 856446309 683616289 926179705 663074019 951230441 804835487 768865289 557980839 275174311 500919771 537880557 287132137 616068811 31330533 353663203 49455473 848822763 565724015 572537239 797178149 200762629 270065885 496824987 774551321 519016059 973978421 584111973 463539851 329177119 953244709 754454361 866594525 312256545 4088327 269825727 791307417 826937379 26788055 463000009 259012725 969209383 812084031 412521361 575764551 512751005 608787851 850297621 98908185 5944407 654271159 548647489 357721873 676681621 848189277 379279591 575898245 128023803 966340809 742556093 628066031 863309207 101715943 37938535 557094131 49806045 147675215 759925613 355896411 730303915 422997825 665005377 956922141 3843911 982699683 167382331 533701713 583160925 681448967 684152733 324625211 45199363 753224609 743986065 25274441 668510389 198175569 250056745 219297803 957621595 992591263 968761691 581534269 16193599 31454395 356521227 332171459 749270039 414033275 648130049 472102567 576345347 822275677 778680557 160801567 304807301 942979211 566149485 467906179 877614475 524410067 881853181 20677977 494504301 180500141 956312073 453946697 956662499 642945335 707782369 259162155 687823383 456936505 302302911 225518837 974330005 102133025 431975621 799286989 627982929 193123335 478401275 8223743 405065385 505607341 470324561 701114621 605931361 892352885 754306211 554897761 397887401 155426419 454358961 59220721 884208917 476057179 578661925 368489623 487162529 744866703 834797455 309077861 716528563 64303891 849648745 777477015 567792409 370355097 618946325 378398099 160237575 382816887 867273435 247162081 536376093 218011821 134514411 840560435 633726813 739535331 866571105 579008873 697949493 440646501 382635069 709266051 703735675 55458093 499845737 140890285 876110955 430586585 967828661 957119033 508285613 912101041 803172571 953714853 863431755 989117605 319028349 524155795 602152381 110239051 988526625 216254413 218899679 183412449 348720189 93602375 71688693 75287121 427703847 519658779 378906799 846282281 92601631 578977423 545888543 509363617 513187155 369980429 232598213 615418263 813684945 853229865 578179461 26417553 766023827 976383645 761978541 692865731 343982457 343103821 635268081 82210047 802676559 642301251 343809649 583800263 719022531 685020339 605942189 300057411 17182577 771089657 880768151 455739713 356450521 533860759 143945859 739460151 317323107 580662073 265154605 380624965 882165347 64729267 544121533 671930421 468638737 727206911 571931837 304522867 529884301 411835201 701269797 83304471 852297955 586908611 714580559 637369825 276600833 878920955 457507075 720262455 913143747 855283073 974374767 210920233 413882345 830976537 527132197 738548591 806564635 192493231 613258533 107288935 206753261 175743831 688621267 439763737 124625365 32874827 267124475 21362229 934295609 663551471 231618517 706232081 581892445 864922063 319750397 285903275 501194613 531918747 190834809 843746989 16494491 945082163 325983157 549411941 434118861 365856405 56473221 622804939 230477561 147498225 52315179 403197821 881190891 372465047 339801159 586632897 927353953 659990275 287795689 213723275 976195833 29362649 925033605 331377773 163338045 599315429 153441019 382247337 310538913 506499351 74003597 385684519 972082553 408402063 18433513 335141747 708555275 486140813 880991781 13854153 661987197 402410619 367784893 16793347 9131745 651036145 155657625 581858733 86154803 261813157 880384005 229402609 773858641 64524157 77427635 109354157 434930437 47564933 408554693 200840793 960308737 185924079 547718077 474547747 76858335 936349717 874373259 916795093 690656797 841367933 192595843 534435817 551074087 382639569 769269857 922838653 269953871 513832163 124249419 798450265 131876299 430446001 200211405 591272685 647534527 347490141 358057953 835100237 756958515 269242415 514553055 381170237 396305433 411250335 735247503 89162529 518536521 210951239 560447517 466408201 730343815 183673577 173680415 744261291 10884217 744760177 333488785 659370089 768996273 497033971 6739417 459021129 253807017 194348967 366853063 94246393 573931715 665958901 91259787 473054161 271320135 710142821 803983815 589815249 133312871 240608171 591738237 243590049 483828283 164051875 556809501 519268495 213304519 247706191 230927225 169261713 341298673 823567323 790152401 460678983 404189323 496006811 119437257 836353787 295471695 322697225 210095725 922442649 521080031 399975881 561042229 554909113 726971587 61797029 239610365 175581081 936896107 258896785 544932107 693540901 127742773 112348329 463155723 204940263 315581021 743246385 83611921 608346649 54721551 553346961 814307743 25417113 975726171 116017759 856406933 560292335 591109691 159771477 65872451 862755401 412293265 673602391 22573917 898830977 69155619 423483503 939345923 289810965 602841511 169242323 403119543 13690665 891814579 327825371 799530343 871518097 370952905 932623115 505997929 459125699 770551123 331907857 570854267 218424797 591857057 174470845 650140607 38227109 862054893 70907915 578573255 185797773 430019673 39630111 26979973 319638189 464921067 454314821 394788949 391775681 319268249 799308269 306507265 199540017 373989177 622017463 540431283 830384655 329049741 146990433 188460031 18641935 210841663 585127131 538695909 330242195 808686815 561105973 785852617 210329503 751602661 247649965 370450297 349989605 301266103 882534307 454803241 829500091 632028571 712993187 154938231 518728993 236073153 262486883 544793193 190059709 695052101 527468221 885488491 140132319 750945831 430021043 886931027 386977663 553929039 411948911 974804063 739773499 628029073 664031561 761055537 502731611 493318821 771984311 842690521 829161933 400491051 459914081 529264589 45617963 715614383 890350093 586461161 812385457 105440159 377287603 779668849 287556169 979537239 542454637 745368339 321194881 974699031 305467517 254786535 636320401 970938119 924758863 898037863 520598869 645003579 646901365 420428665 451980889 374491307 862571437 624900457 127293897 594837303 349747417 119084271 932656255 867493291 220517123 545358375 827252471 522560181 217505631 181194135 156659289 572412913 379611207 800774955 579960695 206461661 262074947 873912633 947777477 779338215 367713017 443865981 355810403 405979483 564297789 225015837 816113433 65789047 327958797 346052775 29120343 179206233 678613131 541746961 190222643 709744397 821919489 969413301 788635245 996406913 938663139 630098779 730806635 60835727 93162445 238751791 741550141 272054011 988447107 324586695 400502683 59903595 675258093 375744033 584515555 697765235 742575393 597089185 801093661 234456713 115310169 953190931 551603961 598860819 229408503 7915695 605434827 756120405 9030795 428114449 211618199 280834947 622526147 395889981 176854527 19281077 537542269 72892579 546231383 457678063 911298749 938147095 695432853 448405271 482893739 613680341 136874069 202912769 781652381 740117635 31182307 41792355 871185421 784874543 556406571 893981409 750911647 274066509 788088519 357114115 732782623 255950523 216309491 133818939 730869629 566337471 10670231 830339555 353921241 867592453 381240389 384120633 958766193 194711715 315316017 413921385 502811061 212918295 168410683 892574085 546876981 133373763 907043563 399616387 649050797 107142521 271094897 525935431 523766273 305935465 346367651 528420505 783865405 362655029 278489857 259574571 330821011 148584287 576362417 722421141 347485533 958842839 316874371 696836697 357207329 438458351 131843567 961038051 26060679 83534439 125832211 379306623 892420967 749917283 223287223 995306345 344416439 747654255 829309257 888997827 621842335 542176133 130606563 378371221 751657317 14562813 625310273 97036497 888162689 527870621 167898573 279902287 546266765 80841109 919652245 827448017 65787211 723685241 521376591 587585281 549475751 118863941 324987997 759159151 710385587 904915041 888439491 569354133 279717037 183310743 16140341 857335509 637001717 407176221 278220037 514280823 487847449 226989459 555674421 903571885 332120011 146528763 418844523 49676431 958360295 274361539 847329273 437679903 604291439 440600513 922989011 965749575 813547663 314000947 92002201 756256471 6133657 820425149 452106899 720480393 387277579 612812651 284640689 156022527 910332807 965466805 160104585 131231169 915621591 585639031 804922971 651024959 792311535 334495733 436032269 482454741 678956779 381697503 471025199 648164803 37595149 311125833 17458681 672626227 645369537 707442351 411762249 275674933 876867483 93777655 984615335 2084547 199121493 383818863 863952449 228598975 928191187 523142603 372228849 149057519 53093919 507316009 887191603 821107465 927759215 598443791 236613937 978620835 378200347 839315305 781775543 443215167 620594599 334373005 420877889 987936325 651836607 395921465 492054249 785135881 197983799 366912655 744879227 679157443 436989193 496658209 823133283 219109013 582672985 54200289 284019897 879017093 672749683 81533995 617988925 93222537 888009671 772867527 543966807 169068917 779121651 901661667 23822867 861350415 735361723 504936977 156218155 576377343 263547143 257018705 939608573 59800789 339554797 597703431 319475603 264035593 510740393 522006529 191334551 938188545 25922715 390655347 640089189 933591553 124806735 394492411 196232187 845506879 252279931 136257695 724303615 143053007 234986999 99954635 488463553 585076919 446584777 413697109 787132217 186811359 199931931 145989753 95277061 353969429 63565631 764558557 920499053 971702295 581702833 921716623 641687903 695360131 583805975 788698373 967913589 239956197 785775671 685234457 80538347 325022635 716080649 15668245 981479851 716974641 375937447 570545057 637857601 627958709 955467601 839580629 836179177 230061669 261870711 736755247 369746813 954842701 491679915 476395155 784070793 617405547 629920933 150264397 138153273 935508381 878690125 240554261 168398181 192029101 323787435 193281031 667219597 469374031 416326385 611203753 613291223 462161943 559808383 773142501 380356117 479955339 99705301 151181077 184086715 573617169 195723935 28490995 447049961 536215293 220623025 135508133 10813799 692019845 565706243 534500025 595304613 221805261 321888445 398251555 686448569 713029341 244794919 925811523 997868385 995558823 614058933 569573083 738976007 146614021 815242243 535640857 533848505 984637621 803483603 245322387 794374959 825967973 146411793 456865093 203299527 649861025 551157201 130565527 790517897 948127463 778366797 21380947 79848483 730592915 469649639 145803953 490510831 648885493 519764271 271201613 39337961 814532153 700757715 461776171 913125563 768805241 382886321 126057403 70076593 897603511 238804427 480485071 792044231 281052893 354514509 780567463 189484439 689361085 752320651 186259431 655692909 196982285 268845823 643407005 822348341 614248305 42271821 695936317 890317959 768416369 940731457 479655589 117716643 434607231 541525707 293392923 813135471 721918963 960117001 847241803 599070077 420793105 666236991 724711499 899875841 915159295 385180373 393504407 827716059 624623311 362705249 789510165 394697107 53372027 127035805 243490581 390391641 749125093 960404845 399374919 109377025 818089429 195448285 494889933 770518031 130759933 820049949 473675817 625045159 557404405 802046093 585157961 892745881 831432511 25622443 770512771 437554013 490151493 886716199 771136661 266699281 552632407 341103825 816627875 224837243 684380335 984104357 48845625 396928015 734780015 57765577 811447375 994261727 304055711 287591043 805667137 460827821 856623663 463127883 176095701 849368033 367356155 15334073 568399159 159348361 516792517 235979411 181816571 667588443 368376113 210247107 120436769 657544889 341590997 600996699 220726287 478313383 961301803 109868953 168674191 915683031 363516815 842942173 522461143 243311519 741840463 958207157 128623493 108919551 512322713 134483667 165841823 416683677 31326345 969845777 93326483 988277195 43323935 507810677 936944947 21619837 898539077 197545769 539678653 287638611 484168651 900876673 698048217 231811477 221341803 826846197 137929361 220509747 889860039 634225197 894691165 675732673 934034533 476825329 776547609 56798595 90563259 40121141 883744265 804117341 585766431 211637013 23261661 212336863 631607763 312509139 619350183 159793985 40465919 701276123 655457255 648232799 780806839 725536191 635701633 374162117 277938931 585651005 752764611 777799329 229851539 562771255 931922273 974916807 706252899 623598007 653632121 128262329 908315409 382976241 550397329 942711455 261731385 144857665 207226773 334932549 24533083 103491881 707766747 157016103 209245921 371584599 813491487 57946719 351748889 590357657 610166409 146442169 562404161 580003311 285571747 587817633 39491959 373571195 576245347 613753903 546689735 919715721 474009129 185504035 917710367 635574921 400712375 219426019 216185179 196022809 344900669 660792447 992373307 937030907 727783245 141096367 431800167 878095645 427320807 829774289 700284275 790933135 280803437 468181229 225508823 732636301 751583921 626345139 985452531 592532603 709267173 148721529 782268433 999413987 385213095 48467773 907596387 117315195 809129469 309194921 626944515 654696731 136885841 753289739 401921521 702868681 272634237 167467611 9031189 795919021 46478523 744841271 907660355 257238045 721429937 638018789 17026865 357617555 461676397 617167193 973259651 725462965 616725349 414557989 514670275 100709961 318383731 730877835 341105759 476233031 484119007 174801011 864175793 927254983 381986389 425346921 221123069 65623311 313553133 30287529 983927657 816482185 846780959 9417741 43127305 812732359 52618965 551456799 810325971 619587461 840627545 452625679 807871147 404951209 839955043 346035 11617625 457610297 121210383 30868619 980213903 665186669 292669153 697974975 767333351 449871007 124462281 737603355 447505631 623101521 121147929 75666201 704297955 3551789 77552785 408988119 739676485 289743883 34484309 329214237 658766395 885431011 599092979 825403993 151613417 301027799 301853791 83209637 469945943 540450613 656850425 874580671 462096759 25607535 824801665 221003277 796455457 468948001 740144169 618418079 253517081 141164813 25870725 723557931 579197957 136620831 872490643 825072147 625173623 338452841 788470965 275544669 852099819 571606057 761861819 62156727 643024829 556369343 257764315 643188089 726574139 118491067 639512753 669681827 663367573 352288203 538633793 627056349 6603747 196352205 118951673 551388019 535016233 999478211 60108207 920012385 661865549 295655129 506743457 358281537 867083809 880925283 847519859 457501791 782723167 926968795 150480179 710992805 609533609 717159651 322023253 257768879 623561607 299298379 670998711 928248507 998036331 307632897 133861789 672688559 851471277 440988963 706706359 376458013 496802191 987072243 886469913 808809529 537815867 211392989 29144895 517303267 524038849 522082677 942010383 343569827 860484891 210601589 152072409 188323495 712971051 959186369 56980301 398102217 246635705 432560485 457112203 377152901 240013685 866384785 998434329 226060037 298527227 469687715 297785573 427555607 820278475 399516447 102115905 775770675 786033487 894393517 986598635 790298229 180053207 521367331 259033099 431130793 492530589 614456445 949792811 645630779 710451139 928323803 131214403 31614277 873270865 359463817 564915375 395937155 72354871 639498237 681452085 81804637 818519377 393518799 370396415 433117157 988660063 371076293 666601383 297249999 937595659 604509639 626931751 803758459 546488549 455883757 284684517 315361267 415087207 530673773 252482991 15217635 803410161 365531821 587978425 418665379 88586447 184840505 977788833 994645809 598226991 939814083 147921517 238415673 674462765 436618533 724348553 843867653 596230089 555796069 424350155 687971983 96532717 358194093 666694511 675759989 777469799 622330447 527632157 978936831 711585269 813763273 666716127 988793627 308108087 258875323 503858989 246970979 652972723 998988531 514037217 479770899 681044957 305114723 664732485 221708053 401660687 881427237 689798657 123211255 453626505 387353215 365567789 827780593 379932021 568360155 739273031 282386655 538267361 886035661 760311603 328233805 300211403 169665037 54665535 420838247 113122065 949116547 576908319 914527749 911449727 528076599 490403313 426059177 706723267 313402205 813165371 554123637 743867513 238985553 34383335 345258557 14590495 150005653 965833295 7118197 176934691 692392917 774599213 512454205 664501203 598395877 780768169 365541981 428373351 876197567 46854221 310199109 379973891 109665157 414402575 128326923 588990641 705333893 391958095 510275951 321826911 177368627 925639375 167684311 222800617 284550695 100548285 375875923 263107341 129992229 108362159 348263323 959741047 242911513 39323299 853621261 279612089 202777623 15717629 372440497 87949899 373076313 190028169 900956471 721338253 881409347 22444927 763389939 178792393 264215391 666395003 162437865 866210865 948651363 529373313 553610171 478343391 17010215 835310849 837363645 450804177 25130159 975256013 358235877 282285043 714178343 693380389 806781647 432090135 71502819 741542319 974443975 144879603 481918047 89891699 744474553 992048427 966257723 653532397 124606269 809901639 556625475 410757621 171505811 851735993 202681709 780121299 563362467 66128091 94287825 694380339 205152249 561975019 716276149 145734955 900805585 731944981 52015745 970868279 593917701 45127275 174128075 648187967 952589599 221715683 616320079 938032781 470653775 446216289 340741869 34949337 904297835 683687085 319039921 918700093 514361587 534726521 161599697 908846147 460620301 24922461 752705957 554428883 238898313 823794909 158404531 20082247 548439775 488026463 273816485 577833047 878891309 602934837 543528525 567866669 29685307 906780569 843083689 666708821 240733815 968429485 156751321 247347651 123482363 722432377 7474219 46640341 972663939 14746607 622236689 814235985 931431545 848056551 33283621 246310243 727242219 578397731 729952557 948890017 344316559 202057805 465130259 783655943 58319303 231176181 881799657 582461179 71761303 326958743 969663725 243450443 238373297 72090511 928466305 673855021 691422829 376709931 894992429 879399483 333614023 657314715 545447849 179765373 54849127 29721079 731225039 677325921 774298783 334823233 504725153 704318393 56631139 267949923 140239179 46022597 123069779 131999789 19428641 269859879 41249719 248397401 847638685 407982065 120327551 699460233 11864161 935894677 164009025 502044741 228931643 209059569 2911549 171591933 696658975 635058249 727047257 605240589 1269539 803748173 960505637 330445493 253552273 910952719 407026649 691128607 130290383 943528975 75667027 284532571 380490867 190413107 363242265 978024291 439072055 315400901 49261151 669226265 641021693 725689211 666057975 306993475 794828501 718234995 578196325 533539991 454232045 134158643 586768587 658207915 656642723 894678695 659239933 13186305 81069945 36469285 977212529 780810241 402138653 163401579 383847747 172486655 610527327 437541531 115778623 94234163 150995771 772653893 985644753 198148543 428709845 660739935 88999697 80065193 164909175 839756869 532532415 365221095 899241367 846646203 622322243 421453135 116419789 353941233 979520937 973845153 182118365 482955129 399118763 356896907 317380533 260259411 778792615 791051419 933287269 69078243 186108839 248103243 981337385 644607991 248124757 899398395 142373733 934336195 711566093 107674359 572665253 260518885 905341389 736213613 925450649 805267043 757493563 702837625 523369505 801945769 1286311 366822425 356780603 147307403 695680521 771864379 191761943 604670283 336893695 215719341 987713541 420768393 771631055 113996071 431287683 466215765 936200301 821836111 534339633 223374373 229657963 140739241 712114397 699821267 408002317 572150697 437543033 767810471 747752501 997386153 609977119 661359695 748220791 632454121 256411925 362810077 616835593 249324689 352367557 34346191 119205063 431434165 864998081 997653005 756074301 603857995 14866119 542186979 571933335 137700663 128958135 396106757 595179693 34236995 899811999 954949521 973192447 698382621 412896433 645706763 495915955 731973727 639431753 516482659 674316955 278711437 739897577 419482093 559080491 996292365 308051259 799687013 822943875 378646835 223965207 935537137 410506347 163735349 19770741 187365407 280378963 525675319 59723639 781824227 307115857 911303235 126283627 557776027 592901667 527800647 497828547 833208845 97211955 807724061 808244251 618464615 514074255 764091017 546585141 563780923 146727151 340789553 948218111 825998727 150693553 162402983 22615687 605825203 199782877 498436711 245901837 566965385 133934625 26396111 670523123 259431745 500763095 233940777 896574915 471763573 955489531 83411111 210964785 477209135 638197303 386429281 189359897 326021079 371044823 86507609 917115263 743121735 818834135 882388859 880186251 951610809 902096337 160776339 468703891 423789779 422065169 400748125 727047953 667588513 109486723 284812155 920714665 182455709 6485183 808338293 252445221 138431391 503620101 116425661 397890681 287901933 349388347 259991723 635219907 520272951 8223987 669196931 973780289 611606161 776226911 172438635 570729313 625148025 972154981 342410101 2566327 603150033 197263751 394753947 138909951 115484649 195651063 246913215 625399833 862621815 192798345 843528617 694257937 222560405 723631041 800110347 566187293 986344139 903734979 109286525 179141269 596232455 846217823 519341953 500135935 636405147 307219469 595245697 870220035 385894471 104275179 644310477 569160567 258688815 315664063 784085151 192949335 109291999 259541245 560870937 983131843 603316303 680450999 807851587 240563465 730074587 610521263 647805711 729948057 707177545 880788045 921805141 88121363 986096835 2349215 630720471 854054967 313482979 567703131 284522047 428670703 555040163 389010915 471382557 979945811 806230633 386038331 247038443 681661337 977975811 151883797 175237641 42484265 682720167 189408967 46533571 31189641 64782831 550267217 664155721 552894577 724587491 385747801 972119987 385960123 470421487 840483377 95904259 316185193 612630249 115976141 708093985 106284967 509062415 354869709 311332577 625113287 736533763 884341369 232512507 892624199 912611031 636164033 589457169 293911239 886826749 471081017 350714537 526642709 193574737 601928741 316467513 914495523 595590173 740814953 439598103 706881805 654099209 89699733 638799493 571849493 15444015 492762335 632550571 599493543 195003145 188660009 7020189 114752087 856487293 562144761 506925395 146065375 236885209 841429117 321283503 64013601 472374993 125177999 222201719 132285997 734175875 512520107 214384737 552638769 425949557 697186299 805843713 985588619 315809939 972888907 854262749 422254781 18487601 503868951 378340445 135041907 74237969 916674681 151440337 11280513 811718739 627000125 630603889 707579873 435354759 125156559 288959075 496376247 813458851 364119623 403332779 206708557 320413699 387205733 640168509 181408279 823319659 653962895 996069107 861653169 222650121 157605845 102505101 663519711 191471731 273535471 215573939 1397129 86095527 82418235 846343417 141886917 579075593 807085249 793023959 904467917 615867495 532082481 906844589 69351173 80037365 675012577 813004485 825721849 668884561 384484047 880682835 720678233 364118911 925861 105262187 741360899 72529647 213391793 828273939 308252411 701502581 746124523 376873265 296175209 162247501 42269423 280098969 180330661 686734109 133552393 779718657 529859109 489617139 558541349 959003149 983060367 264483397 840479709 54560327 723631 228642797 278816621 876054557 705576309 225210675 220840127 579608553 521789697 776106179 722295647 915298799 277796497 700875187 7943559 584842069 196338325 389510785 879429911 128702767 657771421 60393999 366150803 67840883 969325927 258694319 632382509 784321029 758519251 734451475 916074683 543738797 943138287 981520215 151912125 552896797 437399277 81931269 975807833 621197295 340263 401307397 927228257 665935777 160403747 769981105 230014537 555434145 754711179 236801731 309722417 688311099 146555185 479608673 935243233 703580331 124414483 180050457 325651911 78676499 936176209 846348511 622012669 134052731 593430073 274696977 27658049 521170645 859493949 958803573 944462585 151297275 371632121 784877623 231460915 604842667 463288623 976376813 890479531 753493905 292807883 655560851 198411709 398877501 710347745 366740369 475882353 196768811 389514921 3819441 386166645 612755641 714199947 947430955 861430561 118208049 924707343 683398553 313007477 848487363 931456489 918457091 957411865 485310349 974796789 783298775 527292505 788235659 372926261 398144487 226851889 336316585 594475989 755936371 402737979 468092855 297915945 761809695 660486081 668544623 613668779 603558903 647697843 542815347 625043455 890746739 101841831 560022091 690768879 909743983 143700445 828385385 384158319 821963313 232446267 803754533 332106651 140759397 886580307 499997889 107410359 862385953 967016023 271052391 440315947 730352353 641563693 92523303 333966477 21959819 404189015 705906683 260321175 366370157 533988101 468036549 315323949 517825853 733728529 838462541 31319641 905765141 343670007 981816131 643828817 927377533 281911009 19136835 876067181 575269473 117478045 146970831 373365041 978064919 14687395 317430603 70685259 47324253 565977871 622395917 571194251 337151575 925588653 890205517 818357485 475451537 358798825 212842797 874698901 762318851 439945693 598739125 139563983 65715977 400749381 136957653 685609995 611797607 708610953 98080617 625294825 317904461 816830395 538972209 131380775 434309453 367193999 884841431 40692405 285536103 188751461 104198379 112274851 256670975 604408903 699899111 539739693 555402723 578643169 591679787 801640377 571991625 857699467 583778307 897547469 875761611 938922819 580443549 799745569 556827761 510309813 104167701 366863759 100391335 315888171 423111019 793491223 404155715 742809503 634233481 173719529 828099713 496674479 83600959 452945237 378668297 440261283 921552197 912920537 68369893 352268393 502870593 943333909 595385995 994378651 229476535 633241047 307245019 540039029 47685661 645205777 662556951 487545313 462826183 107125471 570835695 302436461 699653371 154653315 753359477 478333775 716022241 593272937 375170089 448857705 937173641 971301155 154176239 60051521 311232747 389316719 749354773 225429765 405072109 813391405 521679695 192918925 995731283 375943531 906567611 877411929 74173137 183695197 64316637 29609105 846278913 105199705 694385829 957542145 282937187 363927783 123565415 554440997 384037983 71508145 471273183 799065111 208890441 223049611 607662387 488277409 632835159 347241583 50561521 430050611 768743343 701343361 266016015 535583971 147588693 283753483 517180903 710490737 444062269 164431233 633581121 648004163 863559745 248478847 849272651 26911337 904160031 715253959 599385751 837048219 109917317 546460999 75160867 473954871 289534463 921324813 931052119 364430661 945562635 907869273 247980799 187282291 152812295 18703245 91217999 198306843 439100477 168331829 202535651 384224313 613778143 79240193 547270597 456913271 58166535 768557007 395292509 38090019 960243379 297168545 213685381 289445173 757746895 952940709 936508279 65799497 422702637 749572651 12361433 742533547 727490691 750311599 914088121 218434119 876064629 798324181 104654731 147932085 27026317 354414697 485705519 955398709 438115129 437340507 637133797 994979503 757745619 371475145 20244321 410985391 89436829 694976759 695113651 763546223 350767043 690671949 818968153 231815119 373934929 362454883 682919227 987966291 873839171 85475823 277487011 767860781 925991803 472504279 726756169 493544499 630146241 251003175 131630919 892958949 307290055 136529423 749943077 683799145 682767653 573710831 330387921 526210703 810187103 140027463 390367389 266247119 224927195 761586625 925069897 723476551 480133611 399691061 754594297 317568703 491810761 22799513 213239355 581197221 608204183 502236179 39023619 85182483 403799133 694131439 518410159 533071557 629908749 263398047 716937733 712966949 355133311 50569151 714513199 915172417 965074805 181758225 654996935 475291599 314108825 932454527 618830281 249251633 675418237 415547425 605667735 297565291 126933911 735140653 281046785 872781103 264246859 563252491 673773115 664209365 231749855 966398531 389417189 980403801 940780425 151206793 872800001 247284579 626395999 223456953 305299965 137382723 270192483 806844373 505421745 68005619 974068607 398844937 341171029 183341837 349512579 663720615 229223059 662064859 140923433 471799341 540499061 281024845 873698323 26419517 279637619 82087417 339518153 529600929 213429609 841584159 574916539 261440845 866317469 230465445 706428229 426279261 933765305 392662555 360179113 671939859 675873495 448046519 380365835 387948763 262001521 836356699 648097665 596560201 619835757 601877645 465580547 87046167 704972569 525188733 280580467 454432041 644519209 42809087 284634265 876445577 528806333 368728215 283939365 520970859 729242455 263618151 422284211 126949931 60497381 86917443 736500419 12831053 15227325 982871713 69657023 355235193 796734107 756114333 757214455 868985477 851202215 902702083 540461987 911551339 927639915 493307711 405592809 890287439 268657887 688321897 92737741 139665531 701630559 720456257 582243141 942398821 976164783 830179885 958543143 878654885 760228861 244270399 363254069 735585025 762090721 581632043 837179671 294700129 338819925 807283537 95162977 79067355 551432895 443937209 368391563 70917803 367559147 167437331 92583157 306666033 757831185 872767413 664810987 436026105 249686479 167796639 290212763 605380281 504665125 702844279 542187553 414833225 862178693 93038733 124044157 177734831 759640259 99571929 510368407 365789203 132989979 373655545 806900291 111482573 354244661 837313075 502218295 507740755 282082075 801071483 600067097 702485579 338296131 649377379 395646061 956033921 432783501 34628911 823145383 282108135 793716539 496332481 715641633 469660311 904499451 268758957 319257627 698096855 544816099 440467239 604979389 515182865 711317361 466137617 105682715 838044375 19653513 894689777 309435947 799697127 227179897 884439541 818600145 992473121 556387571 601952245 20382423 956004499 444178201 431144305 32717291 311955567 894216047 479248527 102102695 791688465 587043041 849392929 272681871 878147579 98866371 378003355 487683593 852434905 625753045 34365981 368561513 970638205 49085757 237449071 661580261 561544421 36259715 854619137 841863075 825321523 787434915 633368809 452006823 38803633 13836277 607366885 958423269 265236435 938922817 533903199 86519605 206576693 63570867 878039909 577496667 142854297 359544801 18302127 744755453 720986859 641941449 967132827 74872237 442065215 634001357 674802481 916199911 713326799 41578431 817699359 275299593 179800317 854020047 346147775 870137693 525854295 117486495 75591181 375582485 488235921 880817969 537015731 242274121 218540675 723244533 659352317 995465469 280851761 931603901 293462247 443194903 495922375 874909129 833378315 254556265 619954329 941392829 192234933 847613101 491622177 593904807 998571217 205216645 886438659 583095803 431171831 316278393 828256265 148728983 753908071 817912571 37218345 674317761 903447047 921781091 604890235 67632677 680262759 880671221 866090051 946680537 951643327 598832087 684220399 520362585 300482799 908130843 966891023 543001997 549733243 778621627 449275487 983209151 825841811 177809817 672865475 85593765 19901713 923306877 728414791 613026143 667413875 757997337 483780123 103124335 92543711 363482629 466708637 447012547 268263461 389356995 46484049 334484915 351330493 867715773 830963425 112119287 48215491 643395 703558687 519711673 580879107 430814351 736893191 379553925 881181163 530127299 553824957 403920975 291240079 1247463 679744909 314873973 343020721 107090925 578610153 392592571 44304569 722639789 572992875 290202705 21614773 993152745 217733081 504942283 131731291 386006859 691893277 462513445 4144907 893692003 79002953 722943685 880568527 546799787 199330715 340705401 451541331 306717827 247418227 452917621 792734191 546045751 510415967 883974233 222342563 485963767 455745041 795334183 586308629 507051739 670767971 341308237 36470935 199284709 901461339 68611233 157670685 809054719 818157603 789934175 689628487 590664185 635758095 404833071 545183581 130374027 610759831 806363931 430301519 261869659 356010851 382930587 350825905 115345135 573312827 1569675 362904263 855486903 907352339 95130671 748139381 808804879 242305287 476475447 399466059 176506679 227117913 235289525 927891071 171491673 238347125 88610345 286516979 137744005 118247661 834226551 599102253 158244275 869684863 954350829 241275995 146272713 982544653 924811327 670452311 929321611 548309153 118535819 872115869 338248623 128831343 642654039 898065239 470631883 711570131 883397519 873107025 430120287 652223567 398865033 593137159 109191129 516572303 858133761 357945491 928164999 117850215 615320095 764996287 361929633 93304785 924591213 976080635 748421453 669198577 262470883 892469855 882914959 340944145 369292251 70999461 326368861 752236967 298683933 590158907 176955531 262930251 908195287 487775531 731292383 763957953 404254107 411770415 905256447 89825271 881184105 899974821 173745279 11426045 572130213 510401685 807817175 575420687 345688603 790583727 622355815 274910097 605061379 637697097 118219129 468605197 859628025 355066465 825885761 971319865 371299587 58590881 419290323 599261421 923386253 298536279 812276277 158187309 821603179 37214075 544160333 218489895 273626589 622191017 571004143 797415211 148471945 128665901 718226641 905786037 858837625 82323699 687985305 795657065 993253667 502848661 519081419 656705811 745419111 609328975 432902619 586113445 445505159 434763019 488757539 236998713 85274417 467657557 763034081 142522901 984268923 617729127 248252225 455371169 742830305 475689505 950441045 834294133 452098379 585448199 644413715 373343559 904720901 96067915 150749535 619773 578845121 152779715 469387267 383649187 663284385 369901295 298922413 706745451 65237287 193400309 181164535 556815793 752689987 548976551 310367333 64578037 372361033 960342393 700603741 721847527 977303285 166883467 433170737 24361561 306103405 528251557 634435357 382049091 106716477 711365941 868733501 701692109 502452575 278937685 231055009 590597951 504678955 597511619 596625971 118599437 749772137 616718307 699141587 718736849 43421765 881956553 511012925 744779089 311184981 380225323 302230813 180940407 54753941 553820519 930459141 955348055 170431595 964216963 118717291 645000491 18630823 669056307 855350195 999779157 912797817 510499529 630018085 283677283 945078915 200079943 54940147 466719753 105999303 404433749 157151029 692614941 61924531 366570815 162441197 365318313 924518431 456681983 134616837 831985875 372571717 881593141 159653197 372525039 44425161 60547365 476821633 192321403 197256893 807161793 105610301 976424217 352994707 1034655 874411279 33749395 376855593 965010687 786679655 730314207 266944709 415442631 513750173 31651349 799539475 417168265 225704435 402521209 982797095 962980983 307313043 63129719 515042945 858080887 446215565 50066851 100010759 460438283 533149915 290792119 910055939 248232291 196446303 758111895 852137259 93495641 303817697 539452751 869613983 154073193 949257491 35370255 70321889 806275261 326997645 564223797 838544351 546325027 636024529 246439237 37498351 399059729 589962055 26965991 563770831 817945513 266324293 524369393 931934369 583058097 102622463 16679773 238728951 666253463 107844247 468217423 299536323 614307445 392462105 867541523 713202529 644802311 156236147 583524891 790515867 526627765 607150465 87840001 572948377 878518673 847383811 52764043 567575285 623995471 500463267 412065185 96558761 519975247 711144689 22651737 340691227 951529115 98291559 651711983 534726681 263107039 128679269 781828291 598685143 987587443 741591863 45163619 888420339 352422229 399247627 651462527 996559987 86028335 670599165 610849271 205116099 326039633 289399565 290117579 604358841 939480237 796291109 659831845 24500115 870001129 948088597 50782301 175707891 753230151 686269079 508078825 525833705 724830135 209655115 806278257 748922347 112256723 872675003 500270269 647416277 875941335 653589595 19341249 801751787 157822637 832896641 684532375 982512603 510605539 224338797 217164933 350434749 668952239 992926797 313916917 654126347 749254643 235856943 679493499 45969577 45147957 792241931 883327695 880132329 408070819 909190855 288281049 489916029 123434261 558431271 463749025 587268483 167109899 365091807 631540571 964763777 947825069 413323657 66928995 128050019 420753351 155791013 506106939 50692221 953635027 825937819 830022543 674239889 817737201 655946431 549185843 612431551 395520229 918636873 394846751 880545687 537706785 896103513 12983675 685825551 401215675 696483321 198950799 200257409 187678067 36398619 866306769 947339701 288822703 637912985 734353111 594464727 322290559 451586865 338966379 493709181 702570395 509087377 134422387 445245861 450144353 156930885 711163909 781014451 630032601 818067403 347837787 112318579 373099953 265508993 681487833 616072477 721044547 371027633 816900873 96301133 676882315 18459533 673730719 644503815 407241523 594925871 694963575 674976699 606719625 234838933 605064853 572151613 975579523 174438317 320174625 468352969 911024067 316094019 621277297 973927429 342681487 14024981 315058943 756733951 154430677 970976705 279777135 192570923 712607789 56098001 872476813 311869031 941258199 722010295 616435017 725793017 287897787 904667339 90657731 529595789 800217957 977621585 654408249 293640249 724187919 843914095 421662747 755358331 191284889 934481463 918779129 592023605 30948231 941630883 448445327 36347063 349405451 493256341 704954051 759092663 80734971 237044949 720465051 585756753 369955029 167704085 79854415 782444041 451827397 687900399 869049399 254048207 382823573 549018081 54084825 932322549 697356477 516576855 766133215 235470907 812452705 247762849 431130139 657024709 968525633 259219451 148342665 290556191 790623443 337822593 966348367 697474627 445120297 284186945 353985461 655949449 434543879 526317611 158041901 818368695 531032529 896123927 718431063 684480765 569344149 52821705 404915443 28576239 549057295 321295591 589455341 547212169 642090651 321213699 804001367 373292595 739394367 770056855 953012079 781813175 680924845 135642885 722263189 769604171 729040699 823005333 66946647 745392015 676775147 279017847 838960999 160232325 85474911 107030215 257383841 759848347 425016297 462504839 76763399 921407911 935037057 695289755 210802373 585057511 710106311 621553883 774551087 90628351 540815871 481752571 159662013 608162555 982041883 313678749 118332439 651323987 79530929 439976781 55361797 340333027 14785279 779543675 997858427 415733999 668340975 106067327 640127381 775847463 718717201 418868891 902555029 247712927 101873559 643476727 32250601 229846739 653270117 649925543 472702495 945609641 978618369 430336675 804331255 972857199 278354587 501165005 414645075 345832665 618852615 391418349 998463549 263016965 613362633 932991923 341197035 3745657 502329859 403498683 546059701 154356513 418563209 47895173 727695135 854613331 460969167 459635579 357621973 436271053 150695927 626436077 323519147 163927217 957111751 137686293 962346397 494025105 307134381 511647763 6097097 697388637 10956225 689259251 700071041 693162103 160028099 127125923 274386227 944773537 216193561 315521791 856522367 340643595 164294869 765307335 981457955 448460871 589798059 76132771 213452047 44623957 20671483 880889383 889328211 533903513 296629709 507018187 6602795 35868129 141987025 240669423 379128059 493174113 404869725 369694431 459709519 850788279 544268657 523071689 780675543 309756905 559301555 78174921 642215027 322409571 512478323 506612959 325818657 468898299 545577383 43633651 894221841 36106989 723303665 789500633 940801939 756143583 364009623 669292361 321100069 517885151 951167113 805700323 120909927 48414307 901744475 180941361 24626727 314168389 684388689 925136293 961934677 990328527 688951629 801926297 320554001 915085737 420053475 879353933 629997211 186204395 846313543 759973097 34610269 885426195 519726427 452176001 909216495 127048965 738336419 669596683 846658823 876850957 953837395 865939565 595911053 808685027 265922365 909133163 641225353 765920931 296234467 943199929 527682607 246142161 307937643 785650929 545445337 481834333 810109861 995133073 377043213 623557019 753459977 622823687 704609397 87232583 662322103 213136799 670097637 301546631 672716403 993863319 935161431 574427881 847883695 751083533 456415981 674709601 975003775 667173131 354767349 819555663 340106151 870334083 143060705 998790261 855456907 77992013 600864845 890121217 993057339 1803821 37282043 999053449 43855471 186263753 213304023 136042505 336670853 506017973 11429877 734356201 619315845 292642663 267057551 760102131 293731357 179141699 588449545 642943071 618490789 361333137 763445485 496206025 220635935 796991875 871434735 897650741 519035693 714247985 643457003 790637587 524975651 373763999 767473379 695287861 903404789 874141363 712581125 415429083 130169925 363329087 751165089 480995497 722148185 391075071 582087987 610089389 713948959 130020751 822366813 22802523 997831471 968945023 956223983 81300881 981528265 47547449 851092951 190801557 377234899 377149981 794503475 972774931 266921437 207036775 892711239 860152609 507097375 926647107 569755771 756714043 942969721 655667905 613371749 642947655 500006255 341389787 369606591 907249043 727975729 219552371 88772463 5835989 168337305 76414289 467867515 109891113 887151909 35051303 76498203 794767379 76825339 973286285 633806503 304896641 982955499 115449349 796614821 268849097 113645419 203169017 444610749 449014185 469530781 897654969 573814469 27074117 180468551 582619777 859626425 502619433 180683479 722820461 518087865 672957517 824888679 366019467 297234961 935885581 226528435 257578187 685121591 844859695 46908709 724146181 210316997 931032031 752275659 980081147 331813243 382956209 785320539 980009559 8823113 445994661 37257269 278039209 420666687 929431841 925451619 682451307 360315803 113477871 836539025 951201535 488903869 935404869 85304599 133724843 901472307 314224833 156133877 532921765 221062575 803200105 888657105 762745347 377237005 157808297 94801147 842429895 260907087 873791065 223156843 671900123 634026655 516620721 109142209 34478863 328161109 414746971 460802625 857915165 619945961 37047649 548871387 383258533 835114493 878850107 638939433 685601587 234507359 211476421 962154345 596040245 140915713 860204611 587308673 102927367 142185215 414035813 292927233 905144297 567537051 70454589 866726943 701133317 81999681 334419275 350471869 16342123 114803589 333440883 793257569 329146389 807661345 576769283 44412473 712168931 624909559 855874991 996470303 646532511 490845461 510638229 633040271 170719485 764966831 260752699 101089971 239001747 860706843 817065613 769281367 46138083 835855331 283122145 246977013 207914325 382872493 754760179 244175533 328848189 589839951 897577451 451056707 675269331 822087619 16329811 71476009 118211127 909641259 302524449 388096629 616955507 224517335 317039541 544765159 200367739 275352885 109711825 115831783 623639587 400544739 489987747 437716609 54656817 793915813 92308163 669912175 709497933 703059043 385598507 77076751 722911237 71792179 829556543 571804265 762141655 131396687 726246865 624689709 773572385 620308507 236947475 587311791 501769263 882879521 826175907 790245875 19094831 977907479 525149831 562476189 545909563 230595285 572430889 898185981 812767063 570515809 180750947 437764105 651758953 945066467 766227055 562155619 642434373 773201841 977225203 370267473 87076259 435627847 227388925 694271937 135923491 917521221 876767747 165828429 114624335 836071287 849530591 535876401 459877273 748662739 703294425 939651413 31289435 238378865 963776413 552401739 215635923 799282071 293952321 240102727 296400175 207486639 874753859 227952939 123635067 589413707 662641287 437118843 386010805 742086953 249357657 761011305 884380347 467924009 499588209 877158603 858767447 299792217 310620651 440439073 428790331 447212521 332955211 954695825 289435647 336627769 235429249 956603373 594379559 48469193 391749599 528997543 454517273 630952261 448447269 411733989 360858407 153706879 429739383 259187561 699831693 372342901 731630691 63175331 362821737 55370055 389086685 34168749 772411333 344558147 312551235 963436611 832065939 469893595 91636827 415079119 394274475 651658155 565064273 395483999 878589391 170304885 965580987 558190763 823036073 809926693 493338775 716057361 718607051 476335309 278615367 584479127 448848555 215370667 261883291 403026673 453473453 554845985 195964105 401254001 616631833 290921657 853094765 780990745 538414625 797385255 397723787 137899153 439197917 82643527 697098897 698363429 735644751 683473947 456405077 428646351 117179745 549169103 901041685 731691311 133435619 910167991 296587893 664916105 911308945 242254669 969564547 554437071 953061383 204995637 282942387 219954583 742993875 185145657 493342947 526215201 950244965 716596557 586906455 863278675 801064213 674993805 487075007 889317053 975485733 323420987 167926063 387158167 639227583 194183877 500974115 566485183 539058675 58202299 650236289 700923581 158054845 574324697 583392407 287549377 675353849 483516163 266819867 743517089 691817333 157034563 582267431 225315291 322711265 975832525 786995523 552839321 34184149 772575999 174555485 696950185 880958163 351644503 73490375 921875329 879174469 109287811 125519679 708103747 348698235 360152153 749157101 713268405 459622063 824015311 852487003 917984069 505852929 606865419 223651201 522833163 876921213 565108311 383638971 615845065 534115859 560021033 270317261 743289825 611551641 131658265 44110567 183438695 739115989 708871917 31810717 762662159 822280047 287344783 991862763 481483321 126338295 850218257 576652087 829751023 180845543 303707055 376682063 291450075 508236705 606615501 330218855 640276569 766911595 513214455 243348509 56137063 169622651 894080735 452044919 814773931 221982949 571799647 520470497 551664247 294195887 483134589 153671217 495142845 313506753 677202531 830413987 832000289 403822571 951896931 250612447 973275625 89429991 378636283 278055407 321788165 224309845 431145163 738713419 23993355 378893505 837808545 285172685 70743097 896657049 528657007 350160575 254080377 190772793 119920209 869563081 938173785 709186017 723405449 996563203 79580687 122822329 233618817 143128555 732950909 58648021 428557265 760021605 382638121 870615853 963172145 97517759 116287041 893150369 778859395 9097133 103854749 379305723 21693909 146941261 870886845 140679407 442018649 544622629 604190921 116370961 111307371 101746719 327881357 196544487 307463565 210675605 167561859 458493655 745141867 652506177 819864011 502851381 636517081 641556555 648284201 13634105 313917905 999925565 594179855 911615747 972698231 133527309 645153939 597833629 194239765 458156827 989395573 601290233 369068063 599051049 327700763 670977777 523831089 505029221 317788821 222014789 604901389 136683621 190608283 934747805 725255583 872333351 496369291 620611213 205372667 455768335 193046125 57012107 588365403 179263977 770741231 261710331 601436707 109425133 193676395 388566309 664294365 665653175 951783133 446522941 810664255 126574155 283923695 26338135 409449761 6567961 61813743 643938425 715890823 38661107 5586387 173669513 937761183 123755033 348589629 995411033 782480569 927975729 800193907 246957477 926319441 664857411 687320419 992179723 373992715 541783243 322474661 363829781 198801073 10771361 41961849 370681909 161675577 523937805 493783751 736564675 27467963 76790203 3496731 57775619 593344893 852499649 423511471 453175067 658823911 316899483 752340323 390261533 221881487 199387441 680206779 941444869 277025073 724427213 683387881 44780463 703487405 48415783 632496579 724330731 576799761 694555481 551209671 527425635 354539149 246460141 158653215 962974391 536364673 471719883 312235163 34834019 353099115 669218125 125203885 518905043 993246715 218234411 367087225 253261655 128711937 390998927 762602949 368015915 783978107 212035077 629067265 507803501 848101513 191878273 401625665 875498023 129252473 625970529 95540041 406497609 712815549 871753067 131783293 45375153 328008431 55757515 415920363 828653083 724798165 154656791 431452751 961950771 295297881 150851403 621403651 218021769 419916943 404597965 570791443 347553175 479497647 530949227 586159147 139845055 816597537 102863451 256584355 64912457 381648493 926635575 423590267 708682597 366677319 907372039 409584987 448504369 996996233 993236281 6017679 430850985 632324665 901119391 156294673 871966137 26717571 232583287 859240577 759855153 426695605 954853737 843514147 534448075 690624847 259985793 618557161 524801319 170525939 885451315 879213929 829942225 222928491 100270173 524883425 63756601 417113003 500824387 643110971 474020791 748058575 283766165 299956229 367887245 195456537 286371429 758004087 802703333 866008821 524630579 435519087 734477775 956544759 611681765 712196469 538389829 423046105 229966787 217050297 427820583 917696895 237492361 920624399 125691201 860513523 13770319 818543353 211841857 760243049 397849501 257547679 674248131 703161149 472309343 298380751 280566855 827927795 317575403 433731327 846353207 664972851 231402239 699369041 986885347 204672211 572897981 729442187 613762693 307837389 925890485 746988059 136192317 344512581 287011293 46124569 60957463 718094469 181133969 248618821 723482113 211472643 304739221 676261381 327058135 89876823 443959321 675752555 17276505 643126085 648182703 558816043 380935215 262413755 800940375 252753061 808712685 296633801 325757045 7220193 144185867 375251883 395570647 253909391 375107817 681368005 542202545 639376645 106634707 978470307 252243873 185362755 570862071 581092087 346174381 787090927 838451057 878099611 104777535 598297177 123110465 268617621 193797937 152326775 851176783 847726605 849375679 152738283 124994927 290124891 338265995 146830587 429552217 869796853 271867557 811791767 93878701 223306369 149062531 559890515 843721205 236078283 46395903 209907057 167569829 548032453 245550689 188369369 956229137 477898121 26829399 533264921 434437759 41849437 967963635 645986663 647570709 453140395 554813107 269536421 5753831 175884549 383847039 655489367 260946413 556716329 641276067 727582383 278030855 964406519 10091219 733586565 740567551 916315261 342693421 584388181 559876999 123555821 872306229 726632007 544365881 328027811 517998043 769517611 210414995 108210209 606759027 789017209 36997635 501075219 533585593 389359441 789494229 292565067 740358099 316486007 849276231 644634567 295114831 610162013 253154935 961572265 232956705 640929815 8452207 257680187 141646503 329195625 667458593 67631089 116735911 89438647 476105063 931547239 758426189 765158673 33064959 93962591 148232495 199805487 883002517 763690181 881313867 593547887 95233979 274296491 15199237 267118041 78728935 643696719 379081257 84357659 11619709 487439123 997912303 449225613 561711045 213463425 177168369 511103025 803398129 870256207 213147961 894739625 898848539 696502101 899568687 636219209 320503361 823477399 102633133 856782597 615581007 861151553 147688941 648862335 8377877 107943079 263880085 596919547 294697295 547647299 74707121 701125483 445007259 901870521 156204219 530879847 612990595 2735571 207413387 769745963 133940601 51229575 875000679 954085791 595447509 959491053 590498815 548589907 638320857 953889353 813977959 2916735 469087919 491428105 182599709 227830785 560052583 189121725 936868611 796497251 339090173 372283681 358254697 879634383 819682125 338446873 450314501 104288801 492672293 151854767 787983089 778709719 611575605 27880473 31136949 571102487 80384277 667568815 816638527 873731505 902160457 942728439 82828769 676642843 386633525 137667227 426351963 790445943 233554993 410471789 217191633 316595083 667870833 856053865 651158991 238677445 168894743 914611891 290112589 90749503 84457519 495572119 499499431 9115829 652936105 836068999 607207843 65909137 751955549 781751325 736714091 61200095 207618829 791029535 943062681 893866331 134475107 448620663 877538343 903041375 233691887 227949367 34448251 14804983 604513323 880130971 411105123 850292175 370335609 627269641 762215701 638745151 394394657 359244297 484589355 912311879 401493843 798733645 463751853 351991181 266852139 767886517 431995399 764231521 974696873 391790401 656437775 721512891 357043639 795390237 344093443 619545147 484634149 456523419 68010885 126822181 699787437 670341945 352204199 587122281 617804527 473439897 367863771 899515041 307038583 127897989 944818173 362883595 85770931 686195441 17950295 711016845 132533759 472602359 791453329 221748151 887042203 762712541 210965701 848509375 573843633 484034829 768776813 361051783 227981393 30958619 477502831 632702869 24378997 582118337 963768087 898807831 197153277 836373731 762919711 889990119 243081397 860483467 384213151 520770177 122367051 994841069 570683679 940329997 803410779 560837989 32928139 806059101 415451749 955354997 173884727 679534565 129925841 969415369 173829349 257912007 180284403 37732917 825546165 566769607 619053059 757679539 263180343 360304471 988080929 636334951 123955553 690478733 638001241 229840539 150498703 756644393 675128473 696123589 899048325 488743313 131626429 334552189 277637489 503395799 59613059 207422087 160793577 955089071 76182681 368526031 702033131 837385081 612590477 396254569 289720027 874387517 115999191 710026127 772938119 676344491 703481563 585935525 457986339 765869335 108287203 73687351 377008461 690884485 626507805 669239285 562324489 891466905 282131365 149166271 510649031 680645283 288584825 701286803 608171355 216147609 499760263 926511009 624632577 78292765 785476507 763362873 324986207 213275509 449316979 567045079 594097539 319246991 587059117 650679071 860102369 543255557 978289875 536431069 512757337 830631187 525710167 575770627 515581229 227363233 877067155 631174827 595579915 808132417 314345925 267936539 271750153 845457447 42490139 66590651 61819813 275528245 51457185 981336355 905773505 899773423 429046869 128833289 934086319 834990471 423716885 855954259 963908385 975385555 730869419 280619277 786236211 229707603 204214473 162470249 435845487 734982957 198276615 677610689 795765181 384246833 191944169 543511451 831216247 369159127 302716629 268268961 320268119 457461053 259004701 774172839 867828867 168420397 208521725 629434789 988229513 700943377 599923347 565583811 145816157 816675589 829832425 727279431 724320861 702673093 960141041 289897641 545702223 636470715 780916611 320829827 569924191 519294453 673498465 564796311 856774947 969640491 383854647 428796369 822725271 399301819 252971921 795808069 410624035 258927275 838196715 156915245 839350929 71240877 60762023 419598059 788701977 105318937 492041741 930494733 955604053 17438187 194861135 822125125 47917389 327585229 859102341 107915631 329550447 930652427 287259313 384913293 673286797 99581343 865063357 636823245 347018215 609353513 751942267 725298045 239136545 388319213 205443745 282544413 719238215 74706909 570367443 924320591 604578257 151863695 342034583 822881501 81243035 799556419 857686883 875294907 259687403 549293023 356647821 337252613 228552813 514570227 571550297 868883967 979144503 889366199 490509291 126809873 695324101 765379337 16471643 455742929 146709501 843933297 276844701 332014841 716324653 709974047 552370579 746867565 849161995 359971817 171194633 904270647 47137969 291910989 342803119 298497677 187967399 547662453 132640029 218897607 499416793 473879343 885355733 270158185 819750301 925935089 939969857 663702817 552348337 47654621 405863857 449791679 426192697 78190777 188616287 283984447 690353601 583597043 466939243 718311365 393261889 995963811 922869729 595638941 473933845 441888393 143952561 431811127 924043009 386162701 215313331 466991923 511318581 628584763 851370153 954760783 483903555 178715599 178559035 65303931 604712235 407515939 339873533 976767687 192480081 532234561 928207463 582140785 866468483 305616345 911545819 567484121 608621815 357265729 223473055 666580875 390175303 820733305 338289641 456398397 489106043 896449831 264882127 242874057 528402175 53056155 596852307 699422513 120552361 977656525 96550749 437203615 930938805 939576923 562020545 530550891 464925899 437240461 394598199 134046987 632385525 888134227 10945375 700857639 989191337 784200515 65102021 532887685 12425159 408223387 575815895 274288925 234851473 558624837 377148913 288337417 996851639 646941647 15567443 684199563 43121227 390163823 8847653 85901583 109677261 129189127 610774395 695801895 859896353 940553501 221489485 990651281 171647635 28173791 223595131 441928495 435871453 259588645 767793103 399596043 678489367 974541935 141117949 708733785 824971207 303163877 88069785 626496373 843126493 613578067 729356073 361225441 897033389 758055475 6481429 722726729 836872435 108053413 426656683 15073407 901256661 457769837 576392489 638593921 351175393 509267709 135672749 978029425 9452557 385275499 563611969 381710489 256634035 674807671 922601945 459301741 12327067 471629447 506974793 66832777 801085171 539498923 241622359 218372273 334939981 265529755 274974377 978055629 18926247 437388469 690870739 225935859 974132329 257140225 382720843 847535453 84273503 43238445 384987509 638878317 92730555 947706003 145830299 335715507 449711903 769597487 973787883 158516701 709048207 786419371 649858431 994665673 321243253 622447445 556002139 46017659 711799467 566498339 55087973 226180379 917424235 255975607 422128239 867766527 65662555 601656663 420491317 222785953 966897289 241520625 364620373 574916773 426980713 422009117 425972569 600358615 593356507 101097243 263510963 844585767 568771871 535648979 363492027 787594165 55790569 642430673 401266613 971840703 172297545 990690895 342011079 216131509 621349053 904546349 686180355 198300711 569018413 414796271 868990565 963142353 653596899 777515719 279389899 664070295 742266005 705391243 380353791 610016645 871504995 162199737 456249011 895407053 552046543 728794491 89867903 814075081 950731209 808905889 561667301 28313087 924698019 892590237 166682959 548857881 453903901 199469459 443041551 172209641 414020699 281902665 336060507 613587819 240724715 916835631 528030551 464584901 72308929 264494937 338934027 262802749 424354363 533491595 973860455 564562507 749932063 542784807 307943753 648908425 617308823 592016705 698686829 5500601 459930173 47681935 94024063 158306503 592694539 931496301 475553807 46115013 978724713 375364839 720452247 161779185 714682145 820362665 568626297 736710059 736738409 488853003 281972733 805067393 622011105 341328397 635206485 833985317 680042635 838621271 909109657 84752755 607028437 659270453 103499723 620539245 692884885 718740897 894123477 938345535 88462857 469060155 806344071 275826493 973891541 146236487 382704027 683179743 683702277 935562423 842521779 886053837 337161745 416131361 116832853 150416335 354441941 245592259 875782647 201237209 979366807 56698759 599768559 35186695 102768897 497666299 948989567 759413915 203477549 87344983 761184465 323260161 593722773 313373817 757168629 286162381 822765087 961091817 45771749 955178681 716755481 378222293 268854401 719361961 966595127 474560279 497405077 692796327 215632537 149938731 211371727 110947305 351735233 124177211 486798539 465771207 652071837 199742229 398935561 735925445 817248387 924271919 715351795 533848975 552675887 294676139 216127449 632409337 224081609 840959309 917705205 182676989 165710299 312601225 18722407 63842239 746381149 312731249 809225531 536022155 901104809 545392839 814401119 600496849 659542921 498271217 58017455 189544495 409912101 295698433 264957163 15837289 706607383 324399019 520045757 510745703 159692889 918221647 257704371 113931071 475494481 369312245 581115467 403986221 261992395 986367565 29917925 364162705 716819455 138875309 649362631 907960055 643360137 881945875 39085861 495236629 509353327 145924137 650153497 965903043 430907933 458991167 582118307 12437511 512280169 757039431 103990443 227680267 6609039 488224485 696529925 964866849 402347319 612109663 315921257 544252101 881505899 568128677 69418103 452406429 513902241 819132747 551212475 807032687 170092473 754257811 807640995 692308019 857352693 456317541 887576969 717325059 633693443 520450639 286073009 103259167 391213305 198856839 260401987 755580663 846273365 295067119 130424653 726380829 613934075 954371595 489259981 202179913 791035447 973260813 771775393 814570083 68025281 911320013 683418771 630648435 459318709 251278535 54084181 923819435 473211801 479980323 890835841 377854315 791517273 991880369 152307863 934236467 311864137 777148905 476069631 707501487 15673129 377380587 924428299 918841267 951678749 460411515 506445303 844163383 110668723 491443465 527764705 819673187 131867617 360046511 517428691 68740223 386055169 592066859 112573375 155146495 404835035 972965603 546681471 19445375 876554395 579731431 428098513 167952321 71979991 600263151 692921441 411179697 869870733 122331225 472876225 423551331 405858079 620920619 485301351 920622353 93780831 933063705 834310327 177288991 110770045 960747893 685193721 941302807 259302171 427210051 800233055 183302317 162936891 582620197 414105347 481414333 942050893 301649007 594008291 766706249 940835 431006485 287735787 153005695 567879165 236808889 222592493 585194669 262169727 563457183 642173855 227950419 55874487 244700089 904735141 118451987 637929241 854732703 44740487 255850425 498846595 701826443 654861495 738764085 465076283 365091691 716854157 435293861 985155053 467451593 497175627 189103949 818757551 349242335 719227931 712442773 664492541 695401611 536064015 42795539 979291071 478069079 27754525 367753345 286231871 608212589 135291945 988756163 356574515 414444201 900622587 351352805 219560891 507755657 398583619 242624279 662479705 230532915 637556381 656670905 39057403 465177975 22434443 317286729 419755001 413249739 433333619 585797239 884998411 903503441 514563495 854139923 5835099 149244879 345133153 789996825 758609013 845343923 778677443 721836207 604503117 488109847 467506387 137687323 82049601 669050551 316263559 997908181 472025109 868549117 760353973 36702069 157564153 354863861 923102751 899667649 930433 532315739 147544687 29232035 479899561 725742217 310552885 613284141 227642839 181466251 614206699 976859549 569557465 694553357 867943411 103740755 805505251 554363239 982168981 107907549 524122517 641481881 766471937 677364973 852294385 376284233 726892627 96197981 915177317 563323335 213705099 770734643 695006151 900023563 155094931 713690521 457893459 217933747 542866235 587026403 145715633 559510537 718596669 110192265 550589931 509079031 31603257 114746163 645305209 106711577 676565435 880194217 512025143 998614189 803032371 904649695 627103337 51313305 897099255 548796657 113270207 756323435 73063757 802380833 337811531 924084575 662635357 917653211 680271757 906794065 196922423 955045043 30933865 716109513 751258325 944721505 376889645 691665397 728192535 222968525 143299213 898535855 468598217 267363327 203065511 961296243 904134553 352249899 452819713 860947817 676447267 230251181 608892551 136237923 122542055 472282889 855189135 602386901 40193101 142897639 815501781 459516129 650043561 21685275 874805633 712312651 821720371 164859299 329219101 884031365 758876683 37714081 285876385 229029541 697188413 779653217 985167719 484834667 213941431 822223955 659151671 634917693 984814421 245512469 230941247 61162797 332148183 159019369 856532753 270832879 752681189 235839805 532154797 676046307 712373011 947503265 932275319 771563537 960615383 868042449 732241723 458837289 284753047 992955697 110207025 185186175 151695255 876227147 261241077 467909911 933052171 264561877 246591885 596166805 476181517 947105959 510436709 424797769 48381339 868342727 1492561 290037033 528517027 673681757 713809809 547638231 443085809 842673855 823102667 224728985 179091267 950781033 206949129 292175197 786913335 689146619 68203457 160059581 667169367 884938305 186234835 477886197 788180245 587676209 740143743 310401005 695953611 691462627 335484025 945949495 150732729 987452061 278076625 113737991 99212551 245561545 152425477 638106431 759265735 547623673 35507453 782078563 849684469 264159977 28529667 415204005 925852015 40102015 859023823 374923995 284552447 966396609 754893437 262226309 74928471 56702183 814089361 428653513 980084241 78505291 891544571 595727479 837285035 442418799 914988815 203567367 841322897 830106623 733117833 624748183 633829653 936434125 646721935 287281391 229136493 157781207 929566381 4785535 421075645 390641725 702654685 325231709 295159821 371496525 996191095 793488711 944585295 664684409 595832387 748650151 565082203 936050525 116327021 899097739 502815477 121959867 989342603 860352939 692893123 285691775 466182297 137864291 313652823 256395707 995341565 182192575 288496427 56493741 506107271 345769067 8152737 445326007 203428199 244646337 790744577 597403491 791726911 359513789 699071613 380246629 422333457 323138311 244001837 501268121 872380491 222260721 476193557 176455937 32600261 297668463 148232731 686259657 135276473 741872419 386713105 33396037 754703307 247024977 182597809 182967023 903371533 733023723 672923549 987196009 813749745 61369223 428694877 94311043 861051477 518042725 687872609 977932843 182229631 234703723 599079431 794947455 7870491 923574569 914434443 208515777 627123517 170638039 213526297 804525917 625915749 854393683 362079937 450638055 113830521 548390949 585742717 905462809 210656707 582578813 604650031 34580439 866321145 490383919 371962525 460591149 558086459 10047167 241120893 467871563 153610251 253982801 314822757 551672463 121231959 910293173 353315031 164054397 889483125 703712865 988529981 736776893 843903523 288949111 305904871 412808997 78882179 679030461 268745231 771945137 484807719 73333921 930669271 511634305 469021953 711384635 33172037 980845281 809136749 651970635 108261199 554328135 624534325 192363577 693296075 504597067 173603201 829540625 329595 825356211 299331051 497873551 496539911 434276455 567484013 92705805 631405827 475569279 587820397 403354005 431602919 514064177 899864761 938512087 501724693 674505699 386502277 500184617 915133139 399826209 727315567 766690187 20232023 857148317 922726013 60641699 947008695 556979505 890727963 737753793 246141941 496057827 872947999 65459677 885262073 561272541 481489607 339570581 524862359 442416497 270126773 140304689 984953991 143643677 656940537 528598433 725148265 779749249 145946633 217293945 667373769 762987883 690374593 531012349 148331285 458914253 714630245 904089361 70925737 405607873 557383843 878578757 184724677 128447629 140971411 741926095 673758609 964026523 821273007 777791121 876305185 9751167 550306779 757756943 91856749 977753075 744003689 180677501 219411541 742814425 768036363 697968557 42369701 57852479 616478943 763360545 747738379 234841943 725346155 939135745 400816931 60909693 238177179 161281049 428197483 508892211 753096643 268874211 245891409 668637733 77242277 523633535 454226977 615912487 118395745 274411697 735795225 82882867 97927815 902319851 828415063 58630763 432521997 302278211 84632295 863527965 732275277 231219831 83684791 214042813 99172879 787338227 501217697 743988195 831406463 624092865 766784361 893730131 673950771 283692443 597712053 611282425 197714217 277829855 156846361 696379625 654411205 974769557 326610699 721245277 992486099 502923371 367304943 824972473 368853899 845206715 227643407 575984519 877018249 400547713 676073881 487305341 586847953 964888679 112755111 764344947 541141715 507695803 579611709 473096301 629900131 486496883 460003905 136481945 384714941 40343857 967785607 392102213 98788743 71862075 357998277 373721075 351030735 942849663 693114527 444897857 353048585 335183253 999687837 345007867 771082259 381355197 67757873 26623767 98900019 105421533 485438389 736603309 491783701 518497927 949920103 779632131 814405583 827272943 673883251 216972929 556268255 646505717 886760171 226817469 995120423 432360483 531070405 198210675 43222007 929057701 913986021 893247875 637483269 205794129 835127059 139807481 820531565 158598315 5892865 236253963 160472755 77731287 461552199 539571473 717775303 196464805 432588135 532249233 602415611 112120205 906288587 839270965 881873935 231380653 164541637 471592655 791604007 536667853 552558731 731119197 519169487 653217373 688770369 524877567 67822847 223020145 6527983 606404099 457047317 166857677 751948679 539033307 445363921 381537235 258176481 442587681 439510629 943413143 9675967 281948315 319873637 272621775 525138123 747198003 394539213 427253463 913072789 944771835 964748293 96461243 569914263 966655537 827763159 306890023 815300915 193186103 42940537 257793907 807725489 112149653 119354251 550468767 993703747 349552389 412843791 683066195 585343745 394195547 263041651 864171995 810634733 368287391 365163917 591262513 202114545 686740731 197532059 404994037 752621277 396719299 958958657 204928875 769439083 617238641 67045515 148366981 961146941 318670503 550504433 113671383 746273497 844474163 254497615 580307877 613522101 861432329 409653225 391924435 913939495 597718593 826888815 493264881 553230705 434420511 68997109 769840951 242189757 197779727 405137655 255310979 761432091 118733989 962554459 883784285 798448773 472081819 194322031 149517555 411555547 695031763 889789415 387992863 295353833 374812253 841890017 593347933 31501919 187427943 476415459 526292695 453154261 341668431 639883993 356785755 436711373 763505303 167794713 416097119 81855663 690241773 139416417 897562373 401279183 366956833 724724947 912929041 7565669 480742447 676603393 614285557 820406161 322394427 595446491 90446537 996736351 666971791 519343299 97907785 123495615 937597089 630741371 859531741 403320967 485828361 997341235 199524757 714397053 813942667 610235005 551428651 911222601 566328597 373319001 731256825 837132155 683849399 472251947 996640265 759289483 98768557 90720705 11431691 236550367 287840603 819889999 13710933 762571195 181905997 691912051 144361701 883945557 892098867 404281139 395512933 930354369 988275437 752622331 834279971 542545157 135443065 642547617 418093079 682618889 284618759 624058209 17307103 355000987 590574055 139543777 955984323 622088825 642383255 675238959 704847281 447713601 532352183 878014913 72733251 488717695 875806229 986650481 870580149 84469153 465771171 423190409 125359345 116089603 944009339 580995505 192126597 735823587 513514467 846493697 86340007 241283439 484421701 997181431 885369657 890710707 897309491 180803959 53785279 580443053 294593899 586784205 937814379 644971323 471022541 78813361 646133011 376737575 574234215 948377919 612316983 256381733 982913899 699035387 303593471 637135305 412698677 909981909 330509623 294713241 607130695 412329505 351104345 985390075 840771661 772375963 497839747 845761091 48830233 512629353 585053567 64127655 618657449 505296665 132165815 385824075 167938845 631068319 791963463 526135607 270939075 659241819 538141165 729220957 162067471 735928847 243154959 803815831 464222359 135012585 214152893 122704803 183597603 537762943 521132975 124156975 84227743 794342093 367840321 167759303 20856857 65856571 734649471 663837671 543988689 689400467 961148951 860658673 539415849 293862925 413145949 466348079 841526955 320891461 670333011 653320909 149436683 911813439 303225249 877160683 880773669 579901035 650849173 883313541 573339645 449632667 714580261 510827655 29711803 20321807 40849139 997573571 728012981 927342955 497324099 996554223 411433317 741324989 670561287 194473391 355034223 712540537 742591445 691743883 552273309 235904637 710848237 759051253 424897763 528358159 913203511 940915269 677857119 340711387 34092607 174655933 37320783 935419383 696336447 289757575 906957857 469893087 784476437 97453749 831571817 693517433 703201609 372966205 409292771 452279315 121488139 14950659 334195055 141516643 744856369 849824975 895534873 249256069 650023483 307088721 994203159 69612029 769639247 196554791 468629697 738524089 410536253 620560589 531593117 573145615 466196859 529324975 505954387 384408765 949517611 417731869 144400569 410316775 180066835 623672913 845780939 168471321 910480801 752056941 397555369 546142795 535874031 287390585 164839329 119608537 894151865 920846181 76842787 871961225 222071913 584010509 175930063 542356103 509173003 862263091 252461669 892872807 716250971 87163259 999686863 805002025 989343155 527955323 628852005 347964979 629104415 772630955 946912669 634356815 442420299 475475565 539411615 107372723 523400847 191423241 883244465 391047677 314380011 284572335 405815435 103497523 191565573 89621371 795522055 409876161 591534637 449446765 95521575 917250431 886356571 716402031 229398039 222543781 191852845 41994833 54767913 179792861 544939755 498480589 809273307 379746865 80821637 288835461 672082381 216059673 354304913 21661183 519133133 674882161 132036941 696495537 337605837 994671229 639907 626295281 26783465 3645677 868962593 354707457 155633763 62690771 683906303 20390409 26886823 195699375 387329051 807818269 684946761 877872485 342662653 334662453 697463555 265696067 951337427 603084849 510342327 863143421 587707253 372199133 920597621 30859953 680095333 166713063 2212971 87019749 86947525 559606507 226981879 281203589 553764457 290610025 958778523 889913319 709035461 975028683 719688963 670386375 522497275 154854751 332049411 32542029 888891087 271449187 317443477 716728835 711235507 200220405 951512541 457978335 501565117 836101665 255405605 987758913 377991341 49900757 889469921 262863083 162817257 978708717 364312493 548929803 717563523 868314665 803250253 854489145 704141103 357709105 823390121 38910061 636852301 422418585 927462359 396101649 727323621 677664215 811478545 218525937 254373797 919738961 911692731 155255617 146639847 666046539 834361697 996905631 122184361 925056505 162991027 24158479 235330193 814492277 548283535 353227777 909527023 721826495 628760057 369809225 637356985 939147967 628146971 9304611 407479953 426993737 256741703 333118517 989742525 138934803 324944633 963228813 418300459 301138113 86678229 275316385 79890291 857083869 879204007 551294795 590589143 226084565 876477535 935273939 270557241 457297923 225000733 957391077 507008813 65524139 567625759 434111895 425402855 250089203 939202005 123623015 984677961 931643631 645968079 196303929 62644951 493889941 680699595 293786457 999878083 838326985 476655529 652162175 491630563 538806611 527072887 79299527 104691127 12197861 394344039 677671861 40678501 246862873 996763091 888110649 654352061 683729261 586690881 475305381 645270583 564915789 922839643 836386233 446399473 272963851 760455411 912385689 237036467 600110813 311651847 908180947 64368877 95456999 979300535 349354331 369189813 769786673 439626577 555196559 274403273 868749741 380840519 264611637 348029331 410608947 228650805 654588025 351435041 452083847 547108829 699597297 185658153 408031055 219577131 266081947 996624909 169142045 671045171 521904089 797178067 49754221 30648109 298636411 299708969 299982747 672227457 772690359 390861161 926732789 736981943 670387239 667374479 527893163 550291075 826473173 413952579 121547733 746378689 966317609 82711767 911029111 944790643 573566203 560640831 727615095 58593477 510722441 126344477 819353511 520260363 743996023 727619253 136460481 172149951 201103827 894439929 505807207 417250181 484632081 152826239 59622433 386909735 834674447 405644679 108062561 275389337 53530385 252587767 638413439 652879351 799000519 28387423 245449917 511922053 792851781 581306103 800908357 811111851 9478919 473279901 700657959 140257791 804514035 532584921 601102941 617305915 695819863 253846747 830504137 601985603 815651049 220997751 52788787 256267041 639169987 575518257 497524299 317236235 744165997 107925037 503386029 378095193 435470293 390072891 468289241 596434831 366211405 768840913 779756857 93665371 871177107 3955217 294719005 809360269 173767119 705899713 918383039 570751777 199411851 557314895 67692609 585334075 69408447 619153619 378067625 93139751 846408391 973074957 660135917 325181525 834567015 899009637 140491235 655229797 229995215 153618151 62429773 304369429 733953427 595012941 215069141 83483477 462227887 571806967 67339 599761461 451879305 35755497 662640489 185893105 262070511 823043541 262022223 518648559 445637141 900980497 866907145 778345141 243118745 14486941 441012421 16090875 557962369 797701151 655308703 687144347 619077945 965537511 350202775 199920789 539569815 266159341 60628629 560267545 876715479 289400015 444854893 642652279 297562785 538928085 884826583 256114477 9771519 988172527 642122101 789977051 282710889 46148017 502678733 765841487 9390521 382113631 473383251 192706683 306499641 72780253 522862945 936714619 486855569 413475001 898160951 195629201 1228505 455073839 610628607 592478761 135350927 117551131 299701959 318032085 394816919 402793731 746787213 466147923 294274111 251893531 977440303 257422467 182371131 475112757 273239929 175449715 823617193 813076435 760974873 395358039 506059533 577329691 486747563 922325893 224100951 974932191 326778797 643177861 422196443 312179091 191947917 488735491 343136341 78763865 562099865 978102221 139454701 129541109 449894153 1054435 173619245 734348505 720300801 501465447 922683915 223590427 223567499 632165283 440770023 517282681 287506837 899233291 582686595 972780383 258179321 705731131 55346189 627345879 233744763 115129845 900094747 380295577 491550401 583517223 550555563 621293833 867927135 438688735 506385695 540565289 10033357 146167645 300124233 702249129 231075435 430113027 749698139 816654563 817801859 489659997 376113139 815369939 629200455 645375259 475539989 168977955 122548687 920754715 708019505 585933345 544507167 994394721 951800857 183698115 277999389 550425621 130271501 527959467 105464477 41286029 919024307 628106013 763233109 898200643 384930579 805659405 513188073 708078043 714292905 335642125 842137057 990168353 494640461 16771679 322028207 839051525 651525959 545216233 922009773 189735333 607901251 843242045 894720793 596390213 699046487 993141647 801159711 245128013 948966143 848166335 936906193 404801877 71383587 561766999 43010853 554026515 804144397 85469313 426236159 945837165 931935093 280201753 377000743 656695407 245561461 146265245 126534479 850623561 260635543 479794739 309205007 831655259 569349059 867830955 761759723 26981669 495445075 596912253 612240969 440734289 82687999 915171783 64687227 287530935 510935025 887842129 595623099 752051533 711445685 829350795 870224171 627479353 788746559 245334921 329929939 283309767 830509549 123649037 204052645 802753897 600693637 975092351 571961465 359036347 140496947 906711533 577803793 238366335 340160653 552120845 113242647 460745119 129397391 92214849 810234139 479605043 121164959 847371407 167034009 860925553 346867851 397236901 641959405 657376961 162985097 694840539 786803045 188420779 397976627 641808177 820830001 542690531 491729809 142822991 34984041 567783237 143737361 708129921 729683983 432645587 346154373 290504385 817188877 782761401 65019179 915423149 41642035 34980937 882178219 775537295 68795707 811807233 358514961 301448785 326711751 291046787 180107729 616380559 385934687 243348121 481768903 531398791 605585267 609413431 599134781 490459167 95434335 20254329 520476637 648038631 401721443 539825057 405137851 656268055 628213417 513538843 235413591 691086989 832878657 512465787 424669847 519136721 342901029 575678075 322223811 849293073 183848247 411573759 304358807 777292583 828975933 846313745 455763755 434056335 873694189 254120677 921623047 819565683 465842909 779266519 902630423 123266465 657800591 922998379 722097073 60975503 841472107 920394825 242555025 400570207 578243013 528279367 110215903 805851349 721778901 966368863 981940773 502474083 870674109 577963701 584351835 17791777 934434691 512594581 642753245 294496715 33602845 889742959 52011887 236837833 427833951 359358433 135917377 904286507 433063951 512559279 884285925 485683369 392214485 207874497 164573787 576869539 806450497 528887341 625296391 442686493 99545805 567103023 807660471 341947337 418445529 893626919 253251743 236536061 159739055 65772961 407337309 643860151 70681475 440154707 575693047 235316897 736387433 438819605 581994455 542211081 193869415 233874669 503316695 972707047 237410149 310367237 836049971 856699609 103171891 862082735 261656205 784657447 871940489 964676711 460860917 877448383 653711883 905875153 806537953 765168443 404360515 428846777 327144747 872779223 895510943 700197649 531481883 67292029 341756027 634097139 262698591 50284731 623973653 912538533 895176457 257740999 634059163 624470929 475995287 30008963 941068827 537768777 959557361 322205555 230718861 876072331 299102563 789856969 605482197 940822839 300575137 913690715 689770941 656698971 504759497 683428777 227526131 663803689 669383775 951157979 185273361 260913917 669888851 340117949 641215131 109097817 401743095 743105225 610309367 306302697 674685965 142835741 29586553 362305151 488723893 161934979 330632023 131354137 100898431 1935461 306506677 595831257 220381023 195262687 76157597 356306185 136956595 894401711 750495485 785489693 752662337 927572283 522368687 487727281 622252341 694072211 53571447 235188871 520031013 998198125 624593403 240971915 817674511 313614891 519790797 669164753 103504215 191912915 534732137 890659987 942101961 912098837 442689837 993956659 739033245 859525445 819610211 689082177 341247853 360951141 938924861 577840491 735152707 76588829 145278163 827487119 414683783 1423547 57323047 151154607 996523539 694466357 306106149 301614327 429348385 27953453 195379609 782004923 600299095 744400871 321915455 587933045 789109697 613121621 59743161 784988617 795432409 489189389 59877775 470512001 980302199 149880399 964027187 611794067 982876641 799830787 288194301 501977111 601901511 80117173 122068785 108336977 114312253 305040543 784329461 227599535 156750273 744942495 569066331 383460545 634073909 220309309 211653725 107862339 327047401 627238825 615751133 822013977 571854739 673175481 299017379 484032079 320672589 191312363 197777249 896866069 521883807 672747881 829776303 491606731 142689143 183178497 550379791 597978607 186331687 678728747 579252715 693420081 184552047 751740933 850307731 221349217 687182961 89691735 991224385 557545083 352902591 634334351 179229719 510143139 524400715 333843143 735437853 730407461 458314099 133004987 849521219 39328627 649731323 533982419 937977191 110635047 940377619 221051681 931661381 264276487 24493135 811067481 841406599 78445053 276114603 219116765 145353667 258431259 184037005 321267121 381006957 616383903 240959683 996159367 846568679 324293097 770169475 638127543 795888253 909430663 94802535 491676987 741166175 173205547 932927863 976650177 763072677 247995055 77465119 426791571 50382161 552326169 412718389 858506667 331574603 753954963 533137143 957502119 653046119 674201201 951333383 928546767 572362589 756978475 638431351 676440339 575213775 989207657 183984823 436584713 347759171 141741811 205099177 196674031 723869231 927418813 529202833 191559855 139727849 571615971 377187353 10443223 743088819 692590759 255499099 478306975 930186933 404553333 22751697 852473829 715125763 617520095 22074209 710006065 641645973 412140963 711860567 454448049 529693773 594974883 410768237 154327869 712551921 430326505 391653563 42905943 500541493 77498537 763721929 293687841 965476787 38607679 726741123 143033711 794584811 457298989 361579837 752346549 578755399 695140897 157233081 147478293 571839511 468729321 474848535 747896915 947379603 309379461 329019879 653186017 721995745 557126935 130083615 338526421 386774021 660733929 564218651 333928943 236231411 654322033 463406751 638727829 388169861 991129159 250764761 378630103 245061755 875554095 811550559 369124717 818506109 879762967 735058735 394818743 271541791 879718671 669891501 34827705 957343705 447768403 298400935 645533219 771557387 453759559 656319569 371598415 385907967 364186229 153248329 253542459 118531815 2876563 170399379 529504909 974458077 134765177 811418271 213202835 126609889 429036075 610749505 646097481 181043675 591213271 85635253 334339915 548931743 80341965 7026081 144645089 403503843 49830793 511949843 622483705 413974859 555365551 16452479 486901803 925255521 466512139 588755141 461556919 356940435 773506703 318488359 350530693 301280571 406323797 226165587 143045411 30671773 848450979 280139359 451358919 637492959 300138209 242912969 44485457 782856213 514444967 901399923 789373259 617695029 809543339 499993263 625959137 719262243 741520085 990420271 962520299 273387943 492335147 604086031 512705001 106905203 388617189 286905049 755898113 71009313 640676445 123693173 323941123 995183151 458976275 436907581 887326567 369102601 341749431 470939115 644126027 92692737 476780571 152449957 578699383 860393293 984923959 968088825 900070491 114291473 789354803 315415003 57388813 25937493 43759703 486709161 123684427 345667851 814887191 694241321 782748287 852679693 288812301 3798663 752212407 598696473 434977279 974039129 790306985 126895835 948912343 774347931 509894071 120183267 262768809 829260981 247300583 943835565 776817071 861432689 544878567 907450519 652106827 668129799 465401617 554120171 974433291 139742993 783101537 56631513 401761955 395006359 350701951 498746751 875570409 823949319 150183869 490795993 387699175 44069683 126745359 492792531 815453635 488065883 759866135 292748605 230540497 619329315 265473561 590917329 829421199 479594135 334073351 563255089 67280031 241727535 699879799 701530341 967648715 662355399 15501481 177506911 129122569 60980133 654611587 285218039 226288241 396933493 929973141 336478191 768839239 567383373 241506583 886434161 90085879 134602409 551350759 326924173 322486037 913991535 805251981 28186429 518696027 552973549 320532793 647348067 55114413 493991641 227992255 672854983 790859287 293801037 123866531 233021977 490966729 369689809 453110281 870142709 637098017 750235473 707165121 44955355 37897635 393709859 353540929 59514677 181961719 873049861 764640939 779997523 540377075 348220443 929807555 296538991 346210705 857093361 274950141 348145067 957013749 624878719 88431979 870486287 654748011 401760545 994491855 253829259 509869669 136533915 833152657 241824763 748749437 750870557 396270269 914106143 597557369 573313337 395337741 551834785 590679617 861955823 238424545 85251857 551268331 953218467 183878717 191901161 744295603 618668323 601154771 484211337 981329401 38120869 220769273 412334397 816318027 96765635 265499567 227221043 50931289 20890757 956830875 67176583 446658563 255651927 934394125 358835513 658536265 659194895 967745533 473068595 285822295 981583081 645456393 613084995 906547583 109291659 158860409 7078695 601558077 459508741 952483389 516425855 75743799 404812999 316336873 538173649 248611125 702018995 774988737 298685331 97446699 278303243 676172457 292244249 387929907 678786175 313430831 607183273 495541395 274755105 389420943 132661867 184136629 319411569 98870181 745416813 397440301 427308371 803947511 732761005 997506227 583557651 278768311 415540233 561657903 386224745 288288445 488431693 392653993 374731891 699423365 391327015 403503445 188189361 641819959 888576051 659158671 447651605 228417445 749258481 785451225 317467635 21663043 330192841 79842783 894523655 315286321 418288911 442765685 170652791 764041017 548086265 867882643 640340945 505086151 260377517 336186977 529569035 359592435 701427759 670170407 108639103 630880891 617419123 421076827 775900917 385133769 723107923 332691603 402575003 886443757 369195917 587884697 538592259 810155417 563154639 903668307 440466987 993052977 133894565 675875543 138808955 397430459 793574541 409675871 172326847 953547495 399739365 75394383 927549225 715085067 100101879 342206769 896182107 335500837 208473333 821846969 570046297 568464351 916442105 777628613 744015757 846038919 358756353 86536275 605255889 195835155 270001657 538678161 509579103 305853477 805677235 150415827 127590877 766012161 160081381 666001043 277418585 365833625 19591475 687571829 425664327 388506757 949715751 222801733 765937287 749392897 914740781 463458037 704488537 607213301 492812197 332688031 429330033 546796019 66915019 481141383 498171101 608433199 186787787 244114971 917200161 208644745 320243895 239689451 681946397 581556363 101035141 952199603 27075107 834467679 463751705 128383321 192265187 5820641 405791547 189923811 150007167 200490639 58799517 443143049 954066041 970081935 196628951 937782691 702976961 607913137 903466605 375098295 47047337 639440237 90656453 699299951 346441201 942427873 679824433 119928477 568237757 217013717 974076139 9566271 319836059 214328503 182789397 200058741 314836863 51301025 821042103 264904589 121518791 702707791 862752707 642754551 789276217 180184363 883010321 988879699 910260735 917626435 279505763 209166433 537417395 341952845 776539491 987281677 79832655 481779115 46552995 852538729 197433147 682021219 722654105 700808883 766747457 424823331 621785255 839867979 570124951 281239619 313510681 407799487 736676061 206143427 231568671 522067137 441234965 366580553 644976593 778544173 740101037 841372967 70326833 430942469 704315771 195418705 539437609 78041205 846339261 336094055 485137801 265386961 494514967 614007731 253888779 926666643 36292501 80434719 403326801 557450845 51431343 748674631 181955043 63238653 897456705 792709481 950386225 665933413 405589649 835123051 104564375 689449137 837817673 913208797 286544213 915620901 461734787 776384247 232459669 73350441 932947897 50458263 604876903 304405585 173702865 624601413 464842693 627768667 562073369 583785263 272507793 43865641 967979333 168895279 416747665 567697861 782268277 837732289 538382715 224760677 717473835 428070415 837382629 166727009 377513301 972556519 505978705 645838909 593804105 222796223 69677609 540234151 430584771 755606969 295415483 167051629 508445931 551057561 889741893 233947281 254392907 716133329 429666791 99437617 892270043 784502649 924227495 475429017 237089525 293296461 807943035 252558909 416256355 687881141 966225465 661082299 874928205 175310529 636043427 245141457 455008077 202110249 261162593 324674671 375829341 998408013 355823879 752440229 653960163 620671537 252918541 225017775 458333611 530367623 717633235 922233073 59003885 28275109 75876773 544502519 218176837 950149769 24926385 499356017 679790777 595879133 836025363 339933503 140649653 511411183 964803529 185383263 253425167 539511223 358460097 965527041 357807875 482853843 492451785 114490741 959840825 533500555 589361817 919629113 976875963 690218445 292228823 306155245 403329023 220410419 773891847 23573855 903033061 733097465 659754909 876662655 369617583 734809609 794247667 692762989 302961931 725571823 422918473 409684841 568063503 353840615 30331335 8667359 238678841 598932939 636469633 574297441 783118445 768369191 136310637 868224939 658963191 485881895 660657775 69236387 530150543 491713443 552018001 368565841 431362129 420287003 737825473 961564393 555078083 928088503 218669657 759890885 388379601 763437635 186359709 201184363 253048271 946139193 806243315 510398853 251932285 174784951 302699183 350132199 747531519 81681797 875033095 467163019 971615715 510993939 391172127 531018899 159431711 639619191 508565505 927450189 626173453 369756017 639687323 671294507 438455925 233652327 387265991 399174857 528266627 866156649 446947145 238034665 675672013 906335533 531535815 681212535 461665617 104988181 758299091 501996423 328511601 166253863 539910889 987687251 576832767 17792017 273204327 131879743 99403051 730806061 488584855 258914773 18272407 619543671 2224555 106863561 558516549 701586585 895852219 785031415 518281381 3600865 164809931 647162209 590455945 279299397 593279425 820346933 121205297 815278951 217676655 351628483 433030465 351081867 881820815 536847751 907606727 697755811 75234243 811882789 490018871 448624709 166625939 197084519 593240175 422319025 949100145 520205889 686409909 208307407 437591989 183729871 653206965 257260331 380655779 832080469 767064709 205112575 234737249 638974267 992564641 186425385 934970881 475257367 604645873 77292849 39082877 825263269 971121087 222663239 265617591 217025221 166030785 665585217 617890423 637493635 407096855 237038493 630962031 634151957 450438467 645343621 140187447 883567315 137540403 127822023 255667537 528774211 902644287 73071835 59620903 754568717 135331871 450987743 19024905 605978119 222522109 89320091 166605361 570007341 535787621 106571645 730401729 688225439 349673547 880276893 703489729 476164267 234752525 953812157 296218915 962400705 178620271 281075519 767502271 170232705 871233953 75957559 507289431 128818601 801394743 772095321 597836693 634153257 735609389 719177223 242333193 554202899 865256681 351044165 500434221 682711967 315270969 138419909 893056353 779993395 76116049 409916125 269808625 631800155 773479633 913912717 622138381 118328777 116404155 302342781 873870285 886967641 729504125 48935161 915541299 428864781 878968045 704907515 360512295 648476433 44644935 802426401 378783869 241703863 52521011 316534451 754576621 592000637 74185403 771566753 315684889 799301891 814731863 618158209 582852233 476271127 762919651 215982225 183637677 574267051 597957795 675739579 17768929 378917083 157540679 392308877 359902565 112539881 707804385 17357375 804645219 685646913 988737777 941092783 163236329 661228151 347677531 826876515 17731573 309849669 344814445 558518159 515369063 31683213 583013595 855473413 649351941 877007709 408475843 545008711 616563077 512930025 653747371 405686653 766384763 133743239 382263679 527160949 527471213 950049217 763776661 315242405 887685827 295688509 147033769 897389357 847409357 812011985 958715107 179956183 948268739 875763575 778954189 299106319 314983115 991777363 151752799 818626285 390790121 257471407 821007091 890723633 886410515 822913791 843175505 970597953 317227037 476466399 595729063 891029805 638311117 539511315 992615047 361819053 873404873 743478915 792585201 694251297 9715621 296644677 323234121 987235725 361197017 273393299 577197147 85352609 832495045 99545297 164979551 692009143 644818867 419628939 718618609 383491021 388340183 883848049 29979671 858463367 333987141 510803041 956890429 934839609 712532227 587013215 733408055 884117721 745771255 423552147 627899205 825758213 141275893 678698579 595790093 445382661 835334067 564062235 750397337 829585863 460879319 960055947 126109279 264874723 898205925 354025327 159816765 203737241 209871953 559768765 157630585 922562257 307829875 741704079 95579073 334962969 197996431 268893477 987666215 51420071 754497227 712079855 658178857 537733723 937234235 810232957 115387055 1126335 596748501 892875405 288631811 501224959 135816061 710087167 171081693 493898227 797734909 262328289 302539353 891170331 979615491 833639779 142222331 468704157 995237929 168210661 364662963 719015753 685739761 490709223 452164309 371952279 559556039 803789589 315848731 349704357 350964471 435570497 632498865 822956859 557970365 702698601 51764253 592519625 566888251 89692077 770084443 79564387 75070841 166443867 397632707 619086029 638559849 933280229 78137117 469349739 725963493 266968807 332863637 208419405 917617579 389337123 747953855 449760297 28011623 432278661 414249117 101402977 435268779 853551391 706034575 26677499 801643757 821607983 410849383 564440997 724314001 134713367 222294101 629827255 86899167 243484769 738914299 985955123 540975367 722752193 23368795 902135995 322353447 851876371 606648803 934200483 874402875 391870297 833144683 653332191 204692271 557189311 192595757 238506255 998569171 269138073 461280205 757239165 668826337 374370401 127533405 827041813 371755259 541810619 769790543 86754159 530683305 813938033 226383489 790173131 973531485 191039095 511586361 13086223 68650863 51572457 605697827 959492299 608700193 448359177 50810195 151758647 642602653 405097029 427567689 258040369 255073779 795206701 446018539 153970497 673795613 411625853 513090435 790344599 942914557 410063641 48883399 58891527 981791067 84573451 225905879 200699669 618949607 522858887 380871989 205018597 47298109 46454763 571576015 475647301 266766559 341992885 884669691 741248945 283219249 246176661 540644471 262591301 638861961 585118811 837700197 342921415 921073439 381176323 951097175 267705003 301527317 635238577 805124159 557670915 671629683 328530863 351457145 853269905 11856169 625619059 574107599 612292797 391774227 195912085 534232425 44425875 671028209 688631259 64233185 174752461 74338157 465216815 878400049 827826379 936418583 993293731 841296319 149921425 520675945 266649715 386081625 85621201 451027139 482685187 826113331 881432801 875916401 49457119 387184875 119562689 604420513 881429945 66241671 917803287 740389743 538232939 102528371 893524787 380178139 318401531 539516805 37563661 742803919 958346643 190741499 315345219 472507931 898812549 985960567 515926301 205208183 438728015 14016521 876074379 434356105 750168721 996049959 861314081 740127957 458066969 168181165 412519971 132717009 445101529 77753823 837347699 339380947 753919213 377395563 169929125 583229467 868177559 732030825 925425903 142997207 53419843 640955473 520280879 358425109 656882563 562045709 419184363 715875277 993881365 672439273 349462613 331065829 411295193 616628633 433735237 578280225 349731549 12913211 228331319 20125749 933779283 400823893 17960531 687737019 488738199 195844563 985043563 198776883 657594923 962624265 950122227 556233477 228203195 162204601 954912011 169275781 539932955 819236867 918794365 578357993 337123397 132043127 833882291 580130903 730141533 542929419 998992329 999989203 499698861 102664985 790403453 746707281 446543017 701400169 321324085 440224171 185368813 512315175 346582529 609381791 325831995 575943401 938667417 871431899 649933951 889689773 287156059 624268523 41017805 860947927 159099471 268903501 38377311 534998835 509785381 15326559 321658777 534440953 470974257 839236459 828118021 755186885 240200567 899777443 275130969 585933467 862807451 911507489 7551341 280821227 36770027 151585507 746788933 98916233 388963 26106583 402102543 246899121 251505311 242019017 704776219 735775497 211400421 201083509 606263525 836288927 407527975 157916029 116559121 351786471 476973821 858426987 600327529 185851327 832871843 683987373 851236067 145692013 923975937 307900061 660570519 350033053 241730985 58515069 833687499 21422949 83732175 293714809 797713639 878213955 597888851 391743901 238915713 300881945 270269117 811431909 725292373 442986807 183760445 384582963 346403907 915827283 238698921 500298063 529502041 57925769 397451905 974023659 196907719 190426973 182662379 944936353 866175981 444838335 39826615 801040623 747711049 160875777 283018845 916567873 251468427 792397283 175565307 467971559 639520643 490305929 234939481 376609565 128180527 657716351 858653669 806153471 131563951 965084605 830210489 641066139 674441809 35507617 741596305 772236001 704916615 593504491 195210199 526435753 272556267 418150349 352507545 991217335 929787971 406738139 756228749 262399151 725580409 947511825 759355157 611236393 906645921 592310741 73439799 97803929 444066547 573115383 322041761 747065187 451244503 935557799 558490027 541518541 655811285 4184967 363953749 741930765 506928801 237248153 955269701 383164217 839768341 124014923 581504973 651140179 330319929 798556019 703033313 928830533 83438387 645693007 924425505 194326239 333544279 247447427 5968597 698860765 109991203 288111643 529802733 986840283 805689 648272271 344007167 451304551 122774883 12061371 127374411 165442289 713024917 96861411 37391031 791061713 599968491 433197239 179744467 958492233 471091367 590164299 861348567 368132737 311251253 64727323 772219041 52458125 843207977 243535117 529489593 890623077 230276157 273941871 261285709 705972203 757747285 707617013 89236791 128873447 298847867 213793213 610305779 526515465 782886883 474980429 306450859 349721837 371566825 651034257 138794027 14955795 824740881 606116063 283524079 491248101 336003331 424754421 564766739 178633651 403238293 134672117 69299805 179058103 527168193 427396209 36406335 108225297 515442091 568831833 619035087 37825485 8340637 858041615 72574669 879680473 103079949 455610709 329718177 143612945 71116179 554109787 820100183 570672437 187320053 18453171 126356905 525759725 114544411 139906141 581396983 864323789 706175259 466482621 144329797 640245581 180016943 268131233 478958917 737423053 114370491 399749949 780683851 814397593 593111115 783167791 24928859 763134943 37664913 141692541 656014617 996153531 185219943 170857875 71534549 403676973 406340051 640758087 775855751 926312989 131857917 434237909 3445453 184829023 33596477 826281443 689099503 196697003 787082249 621012863 679041243 189238689 47269127 873787167 2552619 944407755 448490499 135324829 585570843 795302299 237007343 235567169 589643925 173553515 895639269 736010169 839596837 373969787 174559019 435564311 75671815 354327027 40921643 573820891 410875157 631369959 214844791 296391657 589919963 813572429 142334413 466628749 904054661 288165387 761780749 154314111 936763115 952342757 149143621 141663707 838816909 198736783 768842919 116874021 328846993 148371107 438496399 272016461 385377481 233217183 736940415 639702183 63773097 28607727 29308451 794210031 174693201 123117285 392598349 994827851 644985481 924742841 780283643 439862089 128947649 529059467 572001615 117911773 263997967 676036965 356783507 532838759 682149427 219825209 755811643 675188649 18129299 83433695 540031203 52086225 866634559 649584923 56229197 560032373 170749165 283830675 102321253 8878993 896331263 702547163 721275967 439122829 130701435 480151145 622000147 430006835 611648527 634937249 834601801 516487611 388617493 207838923 556167273 511145921 626841993 769296409 426070057 837149257 428448789 515828899 96378977 253024451 974984967 304874349 208373525 479758593 336424789 103148637 977150833 909644867 788899231 166644549 853321929 877015597 423126319 349898977 516930967 934736333 29193969 806598605 899536511 92077207 924668541 927930775 89340235 756050281 231046419 51918255 422100465 86670729 570239129 469036655 828360073 448399267 166042785 452050965 937965399 664156365 717646175 714951117 404287433 954388355 77401779 400394919 335999855 569824939 603463461 461985949 872969733 35019923 235156197 761904529 325330287 59534833 428390601 415368779 525868215 62712031 423187791 167843197 290627347 655195623 471239073 209222847 442738395 360793841 897708173 880713107 336310933 135218261 372853643 994691683 176157675 676586449 649352121 190869375 238382767 682945929 919834847 98829859 777044957 69666057 117373547 845582699 619793049 371078217 514210421 83387749 34844463 4613285 224261823 233711105 522066449 891277795 820529067 736423447 265922777 794278191 180880205 495708777 961466701 260404765 845112921 654594721 385271383 325344685 323321137 428161615 448730889 377157 562366169 731619821 552887199 202298799 831720451 628313565 356775551 776863265 410391557 87428965 564976945 675750713 22140895 892729275 549922665 968465405 637906745 359730933 375986689 578580697 35891551 183188245 722405375 234715811 792460875 384273157 684142989 361711513 732759963 651000213 281280765 204194399 195488663 458429055 654433741 605382401 141318703 225643875 125993375 561971703 882222073 22822093 858982205 649735965 452652339 614406443 990309275 618522807 615424711 310220761 224319187 959827061 705458499 216264215 465469739 40343145 351903711 627357199 52919823 801349651 113068409 917186001 793824013 38307159 61749143 458628693 133217509 775913347 201965421 37778049 537077881 647037003 957257421 821649945 999436243 665636045 133038905 276048083 671471911 236441231 167592665 355301701 709517777 334716541 790541179 603432431 488524115 240278509 920393109 357235775 977963097 989248411 524067655 979190147 742184375 360748719 186274139 971846133 930674023 730608051 469303357 278486965 24795021 602742685 490895109 180182989 887460723 933874381 356255347 353149233 322537103 454879749 195031021 621637557 881267065 303498099 570860163 154694431 359729909 464635823 197362669 260738071 453572335 314183857 219203465 46137643 550995835 174877923 108791137 980449753 725469653 720497169 515262239 975221631 969700699 463012463 59436319 938112105 716271263 262262683 111864669 720810181 734703695 49105817 481473667 49829293 798211147 280629721 503507679 528366629 959254161 925861423 388707177 82721299 806853201 501063127 968322239 605692235 707483867 841337463 468032039 509081733 826906283 327584541 485112469 947251297 602775653 668980543 118607771 802456681 369410517 416128951 161161339 191817231 848006381 370730957 298640669 736743341 516255431 270243885 264178957 27842945 729198761 157228013 836241031 94175415 489446651 645959051 313282405 669295201 891024469 872146923 446318643 447848053 62300781 729324889 13322525 535529687 248710441 550794893 902648571 319744593 546608533 908711843 216848459 430762897 813978339 93870367 363936825 571300913 677078893 377390833 902882703 429370805 394734521 224658795 882140103 621817987 685138289 921532493 284845567 673616109 166855273 849200059 710691839 641856047 8152473 32391491 240421175 663060839 928041513 473432281 783789499 288383647 919769185 553208283 29324111 950393801 642223285 848948751 465525335 565643197 723619519 571453601 895448291 126501693 115501637 947589415 700244905 8492019 88649777 737709215 886358795 14114673 76470679 281622635 168146447 454082093 760918193 992408411 320914787 192089227 261786081 657151653 805576287 350014931 279918773 186890467 827568133 996492087 643017439 17061663 938545655 290850511 928778043 296807361 782491529 550814365 134441163 638349217 438900399 333793163 45943229 459152637 550323465 598803561 731916895 682163321 818156769 594586867 566194737 182912035 858014755 245675205 583059669 753575535 877542759 894177389 483197205 776936763 512995051 325190235 2466277 874150091 490257307 278635495 563588961 49452751 328488449 773745235 531180493 325148507 782011735 122295753 40438929 116711403 582913659 779825241 65855299 174154341 168374005 533639933 987508893 85984791 131382259 254235799 982416259 806848695 808977743 738264815 816839679 848962399 642073735 725101495 467353159 367636887 48046527 898141063 144070067 216633421 788952267 427755233 679832519 392931027 693869089 385641775 143969073 882645479 360222687 407658433 434451649 459448497 844905163 771126481 230875763 974668219 604158297 978871935 218508395 809518589 806097051 823082455 16583157 221061587 958830419 687955399 788628609 148784129 674061031 275265579 107987631 270007 183986281 200593603 142199101 471611017 448395661 290715705 455681051 375020915 203935157 953727261 8144729 694739931 568706277 629611241 789044277 238930831 148583119 325587709 494067215 762222787 364217801 701771685 902008181 512791317 987603923 798173457 316768023 969390219 930848659 61894231 484709077 830561937 441943897 43900541 497359023 779564797 794313757 780504939 199278031 360119563 95205501 424789745 565567885 729748579 126837697 853357513 136957023 511215119 154123991 449958035 876044013 291946887 804981593 904867035 972716797 260040101 578486405 783443983 866489479 32947123 638098495 753239179 130889381 167679065 703994907 867541133 342438041 674105007 323930191 963876675 3141327 957417779 161352887 242412987 873154521 63106761 688394719 132030959 706495349 211438527 500922867 932324287 792305029 930745033 78150605 861261813 336248083 1895941 745337833 678001475 199406931 575106551 480526191 597776195 859478177 295302799 299079473 879875445 262902143 291445793 69456035 184780353 549228953 5120617 300248805 971467259 799634113 170921871 805001665 199274971 122784757 701779229 911945377 128608513 251702871 311881993 660694433 891476343 873102385 867957939 794248831 288404783 942087671 381768669 839042977 235159299 234327365 733340597 524817175 270929331 624219615 947433937 11610009 603944167 421157037 740596015 858044293 718120497 946034885 101686577 738792931 96092173 918617697 733148329 93359971 100249817 909617637 262659273 356460889 509450207 922410203 782695983 371550409 368866897 775244535 828702687 401653591 344947785 163490581 249612873 377201745 761772485 972420665 830853695 895858611 307241395 82710667 757968897 191180057 675450591 749016673 36275763 459894473 760825607 597802293 99532003 406374069 3295177 958416043 826713223 215463797 436011439 210734991 525205241 700730693 227738411 543712977 802788481 597497613 67262357 939977361 104748747 439076703 470571057 114082573 940752877 239688559 584888101 969059253 249251171 244697629 866115203 371195929 752076565 166324465 990041415 94400757 262207565 20550939 725762125 145678125 669265091 466108529 410150245 995121869 562664337 402373747 292701753 106993159 969708097 562698567 656650089 154739765 881878459 68097213 38962545 417473245 630004569 230187341 725260221 152843433 530782163 785524501 555409309 765314667 683428947 12114653 201466701 312420895 517817701 522381075 740134633 140111851 178984957 430579921 122035071 183820053 268870777 248708307 165596671 626083605 66088863 766324867 7294529 210756741 392879003 988732143 119056393 383942183 784879875 411628493 599602685 834292711 715512275 70276223 84313263 544364503 825059953 75553033 383709081 246404405 841619627 730836255 890468893 843240801 92274871 648987411 385262723 416954089 718535215 936232167 98123515 135625343 745079067 237448513 935979169 44101119 477940457 468175475 391354999 757144427 766624619 81721201 366355553 839493615 618495455 237322459 612162615 724293855 583416301 288262649 966761133 312010419 182088865 155310523 122259557 914099731 95576431 636859319 990308587 428605639 447549747 58406701 459746735 671954627 180914999 580083203 944406281 967636259 11227685 979763657 569386299 345716009 801027345 1171127 57988463 21016387 898252411 286125739 910532277 495603199 257982793 392281133 995890951 454553373 398797251 89572203 931782725 239703167 59789477 765266751 103960379 99133231 594970119 917445157 48592023 833196643 53427313 689874247 725444085 311629939 959881679 385799537 268768981 591652323 222494839 376851999 582687649 914076767 604650021 669377643 15528105 587000251 416272129 511526433 419124519 841450225 964069525 262511789 55910971 813454117 544050905 100545575 757004785 43550371 932644137 200533583 682866743 527378907 183621449 519526797 324347881 859510891 702105193 603982317 972681159 233315351 800355355 94136361 544399225 347157959 308214111 979763871 411535507 783936145 482709913 926881881 972813197 138577073 692640663 260818945 739461831 321329799 326626957 295583475 550059917 906091935 411234073 788606509 10426125 244201903 976451135 696079701 924292451 467394447 603796079 270824891 999454351 654778949 653321853 219473751 881765241 880026619 80049831 125122503 653384949 843918595 581816719 567208787 798728379 565467353 951906629 918520809 249043563 982013731 612218431 786267683 612817551 39857831 855094871 462693949 439731099 322559069 846403541 964871969 889214179 438348895 356833893 493324123 668112301 376766703 879181343 962474023 308227615 844621175 898665083 335783519 289778253 727612303 913197923 376491407 967765295 790841837 752558115 171699939 135616421 444618105 550802543 634570291 113529 378376251 150683493 194177791 200698973 490780263 654247561 667885933 657797355 604438871 817810123 308408143 776333729 297543313 645227389 37780249 793070573 89466559 181548897 415042283 317635355 289093813 987602839 733434253 629732713 455111787 588817071 196748143 480752885 436896265 175578013 147111847 99512009 67045591 32702655 660106483 424517079 265819209 96467675 898503357 705863159 390342395 683190301 251724819 777154285 844315055 359682331 67343533 689100639 483967569 32326611 671183849 512573409 990207221 594861737 139181519 336099305 649818325 517020009 635098637 580427483 112194389 182129227 844776189 371163903 835141375 328862441 793773723 875768455 464258183 966042957 47013265 973051019 234044361 340094687 754711595 936354831 161668807 142956409 954346341 336318713 632697519 360147541 556933593 784724763 370898639 383733017 486283987 699264817 957767591 168811217 352427839 717946841 640424409 375852791 381998261 660762269 905656113 859615843 269907061 670381805 358361503 101689435 488063077 813157159 11429953 162408335 458199575 856851335 445854299 926767379 462333887 367343929 497183317 899656547 18459453 179603789 922352837 273044327 486983449 856011711 603745125 989394281 752878467 142087787 82572825 770808865 778475857 890911 918076909 141187497 564728065 899303307 669448209 806532745 326236605 690176071 856767717 288371887 726975059 459226581 751509223 227898477 660552763 450903711 573599175 178864003 179124371 973602551 477761877 155056659 792436515 335884307 532927629 118170543 277051737 845165333 753602709 878366793 215827789 476525065 158799795 314548031 623135425 385610463 214464095 339970645 850296343 850241135 598466099 639180987 1660259 443742587 946889455 696547333 994488153 960008621 871277443 588206383 146755675 842676373 934831359 898665375 338771309 135663277 53003169 528461859 678841153 604435543 196378569 855145457 971057453 833573081 154295045 110539683 616266289 739337577 597742855 905192001 153119219 637726749 866992299 786068023 666987973 153380599 619122929 288098907 59927451 762756833 632135177 19691243 446113045 71431339 298861125 298023561 590715515 507291663 993036061 39816519 740683197 319972013 121565241 461159317 313514353 314251025 78378081 277519701 49758165 563818921 947069065 769250507 873374675 905979345 833127629 998140321 391631865 793606857 40602991 703907825 491502975 160756411 859955675 467765557 247386435 230404023 642360229 678615379 243491531 651522743 983723397 505933719 391610187 744532123 606611043 809743803 426307221 988113711 398714439 576612055 131445803 839239201 368330597 912820849 204437557 373470733 114928921 491175801 146224255 906435443 464994023 703776579 500534149 332241851 977437559 854355085 838715233 664434233 169215903 796790393 657476831 107831077 517731161 805881239 804214891 73605279 203465415 562810077 203849501 625705907 914076473 419346087 849497013 680634703 389007901 991491513 809910169 815496015 85717521 163037249 914087897 970133361 661583831 312641749 861211693 617296995 938498397 291969907 414494707 250397873 605462195 33646207 402205491 86196697 70282517 333631431 678747549 662341433 535577063 973344127 125958023 129009437 88424371 182595397 840553199 452083635 783727919 221742365 778308223 209444375 690662451 375162999 637838469 92316487 692769989 26372903 898556409 273395505 11853325 99776105 208357753 684622241 711790945 314763747 968539211 287282517 267947837 140796579 164111203 508032747 947344449 299694621 291619923 245426157 510278713 158640433 156328541 912797133 338327835 115053857 380689257 437753061 416119295 284828315 352232195 492162931 668332587 259818165 665635687 909479589 255182345 174267885 800887919 124014471 174764075 795495717 573878439 546642455 269555277 292722863 789132857 246327347 822715989 767618877 834824195 430266021 745320777 395889899 484576381 371360799 722723425 872478787 446567125 42426425 25760247 389527341 758979541 789468791 192421005 978618883 81265399 161047359 11273167 317763199 461709145 138726627 320281999 529417415 212983491 130354335 896704203 433341545 34983589 63977361 282842275 475089241 150248211 668296643 576732005 491049717 812021713 475099943 198620547 439325955 948583747 796322453 859525273 358790831 920288633 251527375 627308137 867969935 96063273 246861183 876606943 587100319 49258677 816689207 454025229 275357511 994993443 142119277 522382641 651631697 16052513 434730373 783074221 844857589 84918279 646880711 8424715 31829453 347966677 969318757 651164415 861455329 339259699 60544119 249177701 875928991 614645871 888490751 732296767 378399705 260417151 350574055 361419961 413025487 821069059 755440129 133844007 293265701 874560069 491056899 744100867 683720423 381979183 80279185 744337903 227650189 977114463 788408113 653350075 16435187 857610765 129939801 744993109 685875039 308622631 25226335 537970139 343319677 137925943 962345861 495432847 780938595 542850423 378395381 538602207 209211789 815021765 145569985 812698713 392602849 866237097 833625055 928720829 62881453 530335313 460006705 617437677 325493413 726288791 281840771 827994357 576448489 62886391 552869253 157731589 30488059 197160347 653849295 177400187 362287561 380774481 61187811 623556059 2016425 965154961 223225643 410298061 180110169 219437689 843891447 58597159 619754749 317347023 655006849 579191013 840154657 805130757 909679593 424940071 897687997 373702963 246812219 731578937 587351597 858287381 814707303 935228049 904236085 764612371 457607749 204256199 408266245 541114431 858593175 463504033 571951663 21854285 58917125 900592903 53485235 631701151 896188707 259025169 442876917 562561849 80250217 798922741 363443139 893264333 280048953 435612441 98543697 971389105 103822553 738852105 932251967 160933861 153659519 585229943 365449871 614973455 709084481 159629117 442344879 538404223 638009887 641906017 157350003 105341229 616459015 339605517 893404189 422325175 401278919 871009939 612265037 576709221 394959129 605185393 958968853 941689381 128883613 557451079 127001317 681306769 639809247 449396195 958413727 155639525 169411149 163260215 591595909 680861963 554382403 274271837 113987399 97045649 731556097 938185371 571971063 85009327 498439087 757786203 126233621 41777217 72925537 993883185 374438533 78582483 347838991 257915351 671205779 821309841 496025497 460461871 625857527 808222549 536235721 291956039 605414861 236242075 345257555 165335889 860770203 43525771 999614411 869091753 503359309 704149495 176077495 922227921 426618681 273236051 282272125 649294453 973689115 602690239 133138545 982095465 192693017 983676675 129654987 749967783 112154305 128428687 456399275 759693137 937271817 453537657 686833947 833181111 831552587 510105473 915797261 113400647 130039119 944767757 771751003 40066463 105901123 177436717 439381957 377267841 869760185 574247833 648767219 996049625 835557807 70084015 315166585 24004539 469778061 100058487 387454413 687583585 393194015 666789793 488014931 400113199 43724183 292983169 414156373 610024879 936932759 709324315 101626625 290149783 612892963 525611281 624797297 208479423 973557413 206026167 88347305 240054827 890616055 949659651 473305743 180851721 886666835 711908753 468474101 678487209 819220319 937828013 372231063 740589959 695072809 847041347 100292627 416640071 116095781 48453101 858733811 90799027 666288179 496043239 785113257 312412353 213868947 850276121 889991309 905251721 907570935 359414547 253946339 911035473 56766579 726120975 403637969 512763009 327938437 788822759 457179497 973134255 389986319 638197541 333086887 221255831 395579235 112425465 785087337 431723545 60511537 663714617 894015865 77306433 188279963 231181413 605272713 66046277 163244323 854839203 314676017 931313277 31752633 85643971 100171763 726328175 478591407 883998781 672663097 979673285 732073925 155366447 109707605 338877265 24213791 840192865 137339261 716486929 503964235 205686849 265961685 824202277 617191485 811505129 715598949 105199579 107937619 232437525 575415069 232006053 489935953 921093935 10512603 743919645 904822631 921239365 539458395 16620041 166936873 712711437 5838153 651939155 486528403 688530409 934346037 728384525 584887053 801651677 851464345 775135093 348421985 164496027 334731479 555610861 121539269 393716859 169244727 576753407 329355993 813261689 825195753 97720927 189775775 993916989 151647243 315411687 873759877 220015897 49296025 849389213 266915681 129537793 411982463 728410283 629713265 712072853 320182157 273177189 262424153 516322077 21666941 261795397 666723621 591370633 264657391 290835181 338420557 161198447 235554159 218463275 594805165 878623247 760882285 934306803 225080203 714936143 405292353 137818461 935745937 913787071 100215853 559357357 855765721 875796631 94586459 526103375 991472093 432000181 872720091 380049623 361506691 371455903 626612647 192971263 56589337 695525769 337228447 134928553 252490323 783673157 421250703 18885605 489019985 454501207 485943333 649163489 473892501 532984547 36946173 725778427 351836941 537645751 361380503 848325045 616841231 704875599 539089757 479801277 44375 81599173 483150239 658432995 499213069 909068773 38310551 719970083 507400891 295209755 242415973 852295841 817230937 559031423 683158549 453026983 717100353 544861649 659703957 192425387 41976125 844681081 813416897 987793221 598398325 454077315 449144921 327674681 846579587 300012713 504643079 220330613 414601313 557875017 196661337 927324681 20946805 931875437 602169293 217240113 837635979 188279487 27572931 112991057 932948443 734533531 466659969 338844405 240468225 631022079 312937019 368339661 378988547 775272337 148093451 919293881 181734221 807712673 701492721 347071161 380664245 108612135 224978133 211409911 130084215 434916033 868631947 51386313 818630459 893648311 928379339 174887851 367286027 3905783 126786357 134017341 12928861 674369305 315124309 5282125 183866385 327671391 832160665 24458445 260862313 621711787 461349467 216141271 89078547 8876433 726526943 595978929 519651109 125345607 5167179 3545797 330968861 252643753 266151347 149717925 817161951 855409731 705177871 685029903 897910711 466469441 680678207 133845219 516455773 722593659 274128909 76469295 60806381 92229489 864720683 190854693 457636845 800433225 978126131 915239969 232322887 137569237 819293347 45067173 643594837 971727497 264599273 156542301 53857233 467800197 542216529 802331 491884257 827588753 627480089 175529437 911725587 773936413 595883871 604585667 711673437 718374207 521089069 439686683 642290713 731124149 306987893 428095321 104816655 911377897 238966545 890546963 620609643 927459561 697052863 166900243 629968323 111257197 195229995 993840703 344254485 984944595 897061607 391097259 135121347 304984867 788915561 448006037 922558111 11496971 332157973 846074207 228805337 990594277 533257523 100979603 819509779 540304301 427586293 740160741 170245711 876800269 834333813 241513777 612140285 232243537 748286129 64124539 307733487 530091893 32628629 588293611 218062949 625072659 473583347 961058519 814726659 407080055 193481601 699007929 857817047 763149709 485510115 617983285 295460181 654067437 801707425 542101781 235455323 721138647 543166509 11021647 828478255 453637169 148854239 538697979 979201917 495017357 677587705 204778333 915311963 179372575 274923685 351698659 676766533 388140487 777311221 882457117 628568611 536519437 887257311 748166855 604380735 812776481 263774023 175237317 476632143 422146007 163250675 154899745 615809651 818289843 155458969 265246481 114434861 523831257 24220111 984134381 737859691 798546457 964665881 658045243 884268165 668834539 153032925 143202211 381488947 172081005 762865261 135556093 775783583 97307493 6651907 21980991 623775317 555656263 989290177 837897359 511104585 513071141 954612397 480764985 190563801 428186817 724688829 407077037 598497481 146658435 353689799 617782667 464267849 764904313 787634829 98924179 446135789 756447833 231322809 229734575 76118193 673464197 95145179 55647479 578939899 53872641 13785453 179984801 48833689 761917567 253900497 48551701 532931007 543921749 581457999 623930073 326518285 427790979 7586583 49882277 831057541 197626543 936022853 14493523 274105237 400533547 263868633 816799205 18085907 344526571 376507581 793315975 853424699 649133711 712131009 99860363 225678517 228034911 724536223 777070191 115991947 464395083 433681399 210673363 136796981 706324711 34431317 700916101 776831887 260952695 740424745 515556215 647596765 91190495 906061257 451292357 486574287 432176303 33756027 417610673 609683319 547253535 457724775 570917287 515808341 743677195 568440221 295169083 862292301 979812863 711740183 142715431 864820653 135160105 993681589 486575693 928226089 49380957 8952387 463824061 554881759 486864669 256313711 966470565 333062741 81000849 274115285 67750499 58203767 199249797 850129653 221402233 827728027 48653173 268119863 570874003 451552125 883617659 209291503 353776517 84082245 244956259 353439317 12292937 318149501 72933529 229838729 707185155 291580957 727678261 939774871 538899709 273303167 797945591 991381869 659169707 796169579 201652037 583728359 159798441 954274063 997576495 952025539 18718907 672876029 48373869 971862703 656394697 298955317 964178525 31693881 952416233 238931995 151600903 188766681 274630741 372630907 278004763 406785779 217311345 887816845 442110959 542012369 781352137 48862957 289008257 816760993 420998669 54347937 589131899 80161407 890867739 611858709 706650155 444117097 404889335 274233373 40889481 177249869 139345355 989518585 93731891 189797367 176460777 937865039 702850159 834527269 256519629 138532905 911060017 828492661 987264539 442683645 608326923 732991345 433465503 658617513 592634943 899366795 942961993 658442867 291789749 200338973 846026553 913234697 900157177 42263399 516222893 6551421 911024711 463286929 623192853 801054285 549923705 285461165 249340417 29894241 431706393 268780471 116561455 30372867 27395927 356011917 828139903 537940459 868075273 747261689 678600447 617742901 449957039 182740141 54506977 807649637 491369841 379469889 602416255 577508715 811892763 560509753 896099679 776478873 821610535 953234427 568437803 174575279 122650803 542964443 707291317 929697235 720901511 211713295 911530491 717733261 595556369 799582139 192785693 705069017 467648619 996072167 249422441 365818895 945446483 775384709 688544849 932105207 104871471 72801133 594923633 744163005 629164045 968172643 100387467 426305525 763376809 811064077 514610059 975625889 423899231 632129277 209227397 475861537 641597495 987106989 282795441 203844935 13400287 483688063 130765175 827511107 159095215 861806523 583888223 402785975 808335271 945340307 116182813 691219621 564503663 629403167 186173837 155573627 359290195 957293409 242957233 32264721 646577743 435065411 376341429 188541087 38801661 360663447 100465645 366126543 122586537 61991187 376837587 728201133 464501309 530710107 630170379 646572717 668152149 740340727 181302367 964860589 316907311 746516567 549881539 894917619 750044849 247646423 170338899 120495657 949161581 946383545 911749459 808720745 545373079 574362659 183880491 122312493 943929615 596699431 962275697 395567965 846231133 560422591 106544351 183790915 45238447 46932427 912121433 102171285 606620639 661635095 87916009 402738803 589642089 983140179 357986245 429667423 397008759 297328663 145629509 445296967 515378135 811797221 625685997 505000065 307972865 850359079 321925739 842750667 651438353 184420909 367524751 314842951 121190611 851340849 400452437 741315207 630677171 974151507 853033441 739323773 228622283 394469023 555482239 146721925 30352087 325719813 411812511 533435497 82343743 452895325 416118497 67831121 962477589 281341033 456388099 740732375 590136077 477013457 848024565 606422005 795177863 993131305 418176711 484465169 65797005 673370089 922308533 134752761 662122699 117790579 69120549 616852961 364062617 697018893 155066013 43981671 769069557 947655661 906062293 529795729 170080907 658841129 205451687 189628619 201023397 552054723 309118995 31780331 478253117 870888099 766537 646524207 853609201 434865309 290941849 794540089 911935241 623258729 323325057 305777177 633949043 746336423 857182113 275458629 425284553 681027811 475650759 534568345 256927047 389032587 137063397 901926745 277626839 532290555 818993687 289709107 530498823 446712179 675282079 546809151 768990991 649823259 120167401 235034357 10413515 303462151 957657735 240191 919058887 918817327 198849591 411812201 407822127 580289907 111288025 468679975 859938523 83471775 267187067 557522327 516011853 522841953 164404561 48696639 472696231 16862803 376058033 706001931 964074171 291924473 57968675 122053199 294127619 573484731 605091667 327879117 464330393 750444263 207281679 731031205 666019911 147680699 642232151 886539367 974026877 293961301 592289869 247571207 297453905 277903551 431772987 959203813 916241027 412749549 327965333 558730435 106255481 465565107 573150711 859153615 240599363 192132567 999841571 338460063 581910937 193463039 272940807 7909425 748034009 375375039 207490737 274489321 626434315 392996749 932134497 860144019 602658783 800007117 4174457 381014631 442100649 898944713 575530117 817269505 164893549 173876143 598901813 124388453 533112525 587231385 165803111 503448835 922187549 380153227 546959391 505443759 469328979 224974699 348089221 929113253 921367051 812760333 999117039 906989195 251403921 678802471 733571543 131219311 974965201 574368861 634476513 733857221 779269219 892793399 448125913 39147371 71434887 613306919 698661551 506071719 144043301 586655109 212408961 673107237 914801865 881036181 795179411 349938939 654127791 922463357 81894735 351650215 629894577 580159567 423511367 808301323 404176729 946856967 317915703 352916087 816904919 740739715 331216131 775827361 968975873 1011085 95747511 528119717 139034199 442810583 479208067 369997831 504246783 620509433 24249543 580378549 296478921 499859061 366032387 439458311 767123245 394061493 138262241 105470903 456031561 667212555 389794873 859585003 80117733 872918957 434326017 998821679 907859823 682939071 901952095 479078011 222530305 53277001 801954975 659168299 530346327 345364541 449975859 618269957 687082971 930567539 642539447 742946613 457088923 718793389 162233325 919348561 525316685 638541461 397423295 432544597 998685011 672073659 121909829 330802087 605147825 182229913 586992055 408404503 555413529 72139665 59705975 266407637 264887267 47134699 509127955 645127555 995904523 729606873 322013757 556264995 73877817 417114483 245831633 212524067 975648191 784315579 463616977 478467929 653576337 856764571 140542313 484060931 615133263 180443363 465035243 17360069 266223681 836693069 328678869 869497259 873423191 99302779 594831817 630405421 861057319 384394227 669827985 425607719 871803121 277842219 11282721 377583581 514704539 442555257 146469781 151485695 343101365 592222495 841429551 585111201 566197365 791130951 620287323 30990143 468767421 554314497 973856685 117670847 805362963 29782087 636499679 658603631 757241767 250233593 249524949 52433411 200574285 800248291 817988249 749612185 677590665 758620597 434970975 356426423 960369789 425914887 11211651 602308681 597387261 786892891 17155465 261654949 110839423 555547929 220448025 691037321 343273247 198299285 848080393 580676375 592744361 814798855 577249619 700378337 814101897 158964367 380210203 318385623 702303959 417679929 459439789 357034331 254657875 64374515 893843833 514538799 781975909 265619865 315948573 232912003 725646617 376055531 245001309 913429737 579698985 294567059 42456865 490346849 260106227 479155745 59867007 270843215 243362433 958189581 412930995 868256129 113279869 633206973 691345437 920038187 18972227 328890741 115544137 220055787 984191441 45973355 369002477 355319751 353818061 794180275 324082145 716232235 421917575 118373715 660353835 750539501 861386999 426430515 666992117 590013001 49539515 713716769 470452881 727878885 864555545 699470043 84092539 905141455 890183173 478497279 646525271 691382909 332492305 928106521 492117489 542648777 614025345 690178455 54864187 486464763 123436599 709565397 544256335 137800129 196769735 961356817 1801331 627896877 624170597 27710073 281344529 886948287 561086195 325525273 749363133 772805211 796177655 422547183 626891311 942183245 735818655 221148889 145045071 318431309 816760003 524018849 332918307 276472439 78579683 551044601 112413667 877732175 531389733 792777083 669570281 832696261 675845211 246063015 432034487 907234093 268667897 189058021 986653177 701230147 904934943 135262089 856796545 614475309 988906389 487059657 386184525 431515001 390371019 814905801 322869119 686337819 466563287 982352785 68277601 237866867 903596151 280200979 68390503 462497603 665215253 777735209 741849389 353823417 970702271 704819345 58910325 36815979 407563309 250103031 781554219 116646997 701536189 306498541 886636131 938014943 571458167 810208489 633548887 533362131 673235977 233115983 456378217 19189609 247953613 908042087 419076649 192595773 268323519 179994979 763472709 306029395 647395465 477585501 471684763 380277531 785436791 199506771 353200173 153128551 562230661 803262513 875441959 817788023 191370317 865082569 887484125 211409647 240946715 206691793 708957129 599552733 715902939 273912813 415649935 266293685 35609381 317922981 936923385 684517461 688651065 768686443 591795965 945833475 359846909 145990807 695278003 142999915 637782785 75118699 414469217 41418657 769865341 870511633 180711791 681873703 206135889 117334171 163939699 490410205 30168321 401689087 838867495 820947219 212562623 565466657 778201455 363709055 406481503 912400329 295706199 40761659 998840933 847323559 462074895 599979985 59956213 44517721 802934519 586207273 157653471 131254875 906456461 47144603 822171 467004185 81275777 244944101 640381511 456867299 451347107 691093803 626545065 479249907 888923119 519916793 93181237 17453163 441050761 318922311 685610749 819556691 172195005 708994673 677935811 214680219 195015933 108545853 287951599 781952287 704502499 190171607 406770575 853050271 712818741 914773459 86322009 356613061 410186205 92731953 318140079 675218721 633164013 350467671 100246165 307468845 160953251 398870799 863599037 299635019 764585567 212057487 759974269 915907523 419216047 42675829 197254869 422595269 275330629 641497799 761336683 270663789 269916667 973869297 746051729 53943995 82505943 942365641 884505147 986452633 999118083 578135437 338918409 295339735 618348755 109025505 594032707 514431279 405994943 51768273 557889753 872101699 15918447 102807765 924232799 949562265 284903083 859130313 118730521 452633255 817994855 261082865 721566187 839624131 513670335 749801979 98000229 127696431 475650037 558275327 279553213 271658003 248939893 952656247 591505621 885237635 439555281 173990217 630150451 865186679 822251719 643798979 20332293 322258639 381975609 200351385 83554341 822702935 35101489 304371433 814193167 459373245 110266851 497156665 841417453 988926877 105887147 532811125 52088459 138612855 30402059 165972979 377868645 201182387 874128305 181513839 580556181 191397285 385704811 628913679 479600103 208455557 987662137 641040739 906859207 807257715 963622717 168298331 320963405 574039931 654987457 362971737 620060215 629064075 659286843 750792991 158588145 901708927 735424323 876239323 727358085 925592087 166574493 31395109 675015341 952188667 116613175 737320693 313074375 200250815 255061793 659810741 300324059 140151257 595761559 562443057 766070937 970645167 486254845 458525085 540356183 980977797 390131677 858452631 338475027 321815439 584351981 941914659 532951159 749440231 212116997 763112881 488826321 982354829 533071657 46426389 383565593 704954729 921345927 154874251 361218795 813332045 466717295 982250681 247041683 833482485 821178973 328657837 51847421 483320831 305972725 863155165 602696131 992187637 16964867 367195683 53345825 240902475 882661753 799311303 233351681 45064533 201670257 920327541 269240559 249068377 2283825 458355779 141773605 778353277 387253283 273174191 999184003 957835219 951801305 318775709 768216973 41125207 555055119 11897689 654478965 902059239 901139627 209370267 768071697 170104653 345564851 658136447 799303393 554755899 202419551 630012553 392736779 706042443 984115465 588088745 124929121 536082427 108036147 911756593 766550871 432706743 253454983 632320737 288867853 93063377 97147357 726576349 795459659 895199103 577732395 828040883 2768767 609371109 406114713 462161495 784577475 983682571 100257647 715129639 288249045 574860771 599096609 580067049 922790169 819682885 130575433 657240777 778363555 173961205 258128557 557881949 896749609 298728089 371305783 984892065 424973833 659637187 454510331 312018685 320665417 700331501 98446387 104635451 924776093 292085113 464673601 417015187 309283671 759485359 700802483 728300959 478896249 299862465 407062333 512369513 963923883 234630599 182154933 348328793 355116601 314589637 373242149 527698503 135115295 638642849 580477619 791371377 799590135 555817261 36169651 732163707 467925259 831275299 264891299 63896179 290764363 201783845 102391845 515228365 735907661 36819131 454529539 854315367 213827665 713526101 488141363 918864517 857152573 936333137 646393037 175971287 914374051 86787051 359801365 610128241 918753717 182182735 210240375 563705551 959202137 607801229 893366919 657122775 476831249 239424415 322972159 239938007 213481741 72689767 11219139 814105221 6535207 456446379 326361823 921180411 67434715 376156961 892361347 445547713 802305875 341167455 185635085 262158531 696261469 622915303 557848065 575339097 544479089 483223843 105287175 989830715 809089451 256041315 741521397 361955219 967192791 868951009 258924997 470881003 20721505 932871871 220905373 414182715 329950819 17189123 381350083 595567327 13100697 564666275 35094703 978513563 663858539 356119669 633686009 67416223 354107883 525141819 335646055 114196351 958827981 813019807 507841761 726460215 28605553 764331825 678485629 688580141 371571681 380579433 56710519 858703919 977485257 900389293 224793903 159179633 313933441 934517059 805979187 417226641 213900807 465089371 88446261 327737493 206139655 169455377 675588111 673977833 559385547 424742757 526392007 540605283 771357005 565041727 804198535 604063295 6214699 107084147 780522145 608435237 298527149 211884985 610381713 29821983 745698497 56875441 178804733 862264741 870368513 225875687 298250669 259770257 756062633 779956425 179483285 10624811 850961059 946761139 331579343 40605473 365641085 54250981 402759329 839416453 465885293 30719623 994639221 141255127 77914965 498988717 421656799 614654971 548172987 511063119 532248215 604421951 997919949 923107149 201071749 687205975 340631139 821446259 731376049 651635553 741277693 121768047 751497039 108749537 192111811 910825181 888155579 601198791 842674049 500360507 682455415 970753383 385440691 133894647 852163631 797977213 837076595 910501213 115802039 512800305 422082955 852552875 914613511 898118669 658024043 380790527 27418439 172793863 71085865 436909669 181995711 977432447 51175301 691781323 261789157 920623159 500814821 151270667 394079313 751937373 180145753 614724585 386161095 698884743 460246937 416555787 320991027 698995379 725690883 807499781 599888809 415021891 751785631 524519245 888429411 59903241 213298715 570245961 812326085 155723575 425765329 156649277 504381273 91481195 948228285 431238749 651387091 907924393 994962057 750863553 938242577 641809249 983995011 126154861 890402321 953791589 623823523 92979271 765669121 839765749 5558405 370297635 525359413 371121589 6825077 854612151 275692073 445961907 565263455 320788135 755170685 184882789 82584795 585800059 609938941 465819813 860427817 301252005 764432543 87945659 521427761 976859775 176689019 914937683 616268415 782059335 945157845 141520259 853396813 484694569 969785883 908461511 467029627 709643063 119183581 420842503 242802573 647191911 546111447 335508365 192023989 839303069 159738863 663266833 288267465 771214241 139940651 696175277 722754121 635875621 709443011 51238123 144990811 787252417 851836175 254963123 314679503 720963833 79556757 365931613 692679197 524740403 24989439 871778215 780132451 755232449 187775263 715449013 562263145 216514525 910586099 315765781 440169117 580819625 91478171 323756731 622751257 586719277 415415141 98312965 261407641 118604635 216322755 743035321 391343751 452385291 667185487 815833347 272116719 173758463 385390031 477844343 484199821 415914465 819331117 656255255 924914877 236376129 516799099 120787523 659584389 176783003 58839543 507280587 185794455 445680715 66111489 488526053 693418315 403686303 800117031 244133931 895088285 156536519 446853659 700818597 206916661 409775323 238585529 856563649 334086755 584934621 516642563 9348433 922209825 850606263 347513893 46505107 683277833 885060665 545474931 829385007 413530469 85468189 361348967 209226801 696132901 790820101 828629667 497504525 150786271 53284985 789348597 400130719 740828625 818592233 704532047 975558705 581825511 606440881 48507853 132863085 509376171 607292433 331412147 349477991 342252629 170377779 737604969 164690079 6053063 759515431 105034371 321122809 741902983 880534247 677509567 974976707 602115013 118339413 809584383 346836915 422788949 619681591 555810637 340995299 282064315 957506371 694288863 141210331 926673945 725512975 436474125 639461255 389096771 878502429 700409179 381163837 848053423 57351893 460980855 707401657 167073145 838026635 275907119 396563747 713501549 467407223 938389893 296569093 139051511 304930747 845953943 986566487 510547247 433307229 225205937 399097717 317227733 989267283 999117639 153576227 619299151 396008817 524093175 894167953 345810607 369526141 990094719 756322385 68394409 802246943 763080143 188915811 681020061 859248615 823678711 960769323 603732115 563253327 952770867 854391 629562427 799935159 36338407 210378363 950720747 320548457 971973535 778537685 827888547 805999257 734797067 630049161 781363209 980138843 705044491 539494663 341552493 969258165 181829533 750954019 664830919 726405007 248150001 704742169 265575603 150113975 726664535 21362833 795684989 525306859 102605645 483846293 651957011 968357065 962269043 111176605 863450377 208925661 178287767 642899843 874895011 732259221 14468521 240283791 641329859 333850957 369157833 246774893 88678397 683203651 583970359 594458933 459468165 419700389 441666399 85388383 550161981 302226047 743535059 193948629 806504363 645265103 188222543 377114339 567464701 874957427 613931449 163634493 764079627 798899511 988059673 621224961 759088213 20941001 890794403 34140339 254703617 273563075 225465265 295810115 827761887 589909161 620519369 40312323 750757737 611797217 626365077 413762741 708479929 752735167 288577769 292235129 47761049 606714745 591089855 521813215 396041337 367833139 370115641 478814171 521606255 934953205 334268581 635442891 476364601 918025905 233613685 213183093 316235841 597029697 483660613 372310789 697550485 676889187 974374103 656216337 52297197 71407813 545367063 452198551 975329703 859633395 550093081 273645563 932275147 790689899 993376535 314500873 962773511 275588235 704906101 634545145 158353077 939636125 273930429 146021477 167600593 238940115 882095523 657806935 259215875 999303749 677595139 126454071 603240349 167958517 945710559 397787871 618621843 977993933 124617829 204158601 231834759 591084703 916426981 615195099 264474559 891879457 527779291 162648545 495286825 128162295 317374955 173177875 339293 765612969 797283551 358451535 55195803 154907305 210858155 140701909 48363465 645261135 876863083 828732247 657847927 90685919 34537315 75567081 204205277 347694975 888577019 943244551 492136667 584769345 124493001 3029913 186662133 945787167 597386633 990127081 749949275 913810171 48267291 599781039 437787367 276367773 800893323 859647493 562498071 126031799 63089423 532518003 8872465 413400289 710367487 899271655 936892837 932451485 89970657 650307251 209311817 408041813 293680477 508553879 835419423 852277081 484847433 807720373 420518381 173009891 147248289 970227615 159162915 480243221 20857477 771441223 72481749 143068663 746207555 305913099 769753285 878683513 535698763 3279279 640391515 388800887 709573181 285283171 273482661 6942899 92858841 499025851 648992345 694272721 840643849 309588403 615093719 551903081 300458725 822001841 22336297 266719983 882254243 94412675 766534907 54500293 675126185 105455455 481288357 610652471 345225347 217235679 604945703 231014515 813908963 162658571 903447591 169300885 997322405 388396111 871403255 12571295 533128139 680168321 807530889 482174069 71049089 618598623 401984387 242924525 941152281 319089931 4463399 409900223 578755345 765518871 325967461 530497165 90611209 624842867 171593687 996674525 396796367 475106817 757127611 708480293 634946389 198126853 516681975 526273979 376790711 1917225 550320155 906674401 375288887 111055495 988407389 775055039 67737921 605618329 79922847 425187689 693533545 806371653 802213479 688468439 654380905 762748375 994582243 438126825 829552163 722445833 504492525 888546923 672359845 349138163 650001153 518212107 333515299 105606171 991102025 800297573 947112693 121560177 609266065 425655801 644002207 921651017 310336851 886331441 583065805 43886945 442133935 437546075 55353171 17443291 21838185 550478517 648365355 977351495 964505331 916259679 690894969 973232795 122669925 749954911 164434567 923466801 914169209 946392489 325689033 719165139 426873501 873466903 531875291 8346793 69716955 938099817 678796417 54124619 145695469 296607559 597422243 479564215 615553329 44761925 476088919 54778705 731469487 630548443 479829207 679229671 374824727 226589289 52992903 527497901 552127167 590538041 399260915 171572799 809946533 722492029 193548235 819042215 920248435 74544463 827438573 310873167 943119735 875419823 643431261 402373645 15088551 467694213 578264899 460809757 986826661 126836389 708550389 489333797 946994359 547711429 31772399 659670835 520372171 807973001 376326609 695092923 218760315 339985019 507546983 965706653 831278083 275052297 719842727 814540571 278129741 60895885 938995627 789560803 230834405 554847051 736312499 856028427 968537093 577948265 990438191 387810577 868873613 166494971 220735919 686983895 442403841 829260023 836258289 588330671 168608147 451627585 327172053 18939723 411949849 598167969 446732393 841057479 227966227 338169289 361606879 779748781 865190567 983961683 549981585 888152037 641778343 450410685 550113029 728296905 289013381 665902963 681736933 250454803 382585191 166588615 900263171 886152681 357410063 19246575 789187165 517831641 936222445 453998607 610820115 197024983 491284251 592259375 471523955 864475201 827734869 846299969 905769455 876113373 59003909 691767583 616914467 266928855 13596985 604623239 96293073 548685509 622343081 888377381 635471589 927588515 356596659 859181193 942568817 503161305 936379997 761995567 146129587 689973553 233343067 352651891 226024717 6169569 447884031 523713443 915080713 846980745 210768715 399153135 72661851 810275371 416849127 293298545 191116255 504988471 120686367 80567847 710354071 963286655 563249133 560440061 735971247 56356931 510596337 343665347 446885243 283047207 926844527 622281011 116244853 309692727 824793177 279213039 175592769 577736427 633895237 854108031 620385705 285678111 511576435 518359637 502127521 945106201 501743049 320957897 871307077 834419589 493378775 35820829 428297431 465122169 713838549 245699707 210499525 651148401 440338849 123780595 113407903 471471187 586905027 447236735 739735329 561267821 392586091 595842817 811210543 147555955 183108207 415904577 743406547 185512837 41871949 562479855 995166529 488184101 337569583 666730151 535835351 600331329 657118947 668957417 282630163 766873647 368175071 807431967 525537701 492342189 863331397 935874201 860360285 286997983 736941787 585436049 539004471 112031569 735318543 725406761 537121111 181890811 627746553 737453929 410763527 639320377 814926939 64127041 741404349 812825295 656339351 322524301 87845649 597014509 912485825 987075597 75951305 588465445 822937741 694689643 457799119 995649655 306486107 849184055 592576565 864932423 833297973 482010859 118600503 610944611 1940677 21159399 203152441 88197375 542369639 431266935 586154951 150915515 685196825 102354633 950600851 274771607 153249153 747490297 622562423 257723143 511991281 474791175 321119097 452798169 312390747 918114269 679862979 331501905 556663653 160376905 884843943 505429007 902496337 304784137 835688099 609285157 431994895 36218045 576073303 422430979 960591417 480743659 615320721 704771979 765993995 551175945 511272771 946299647 482657135 57591659 516245897 149616655 853179891 235675735 730414245 810207181 726982093 544266997 234341635 292265657 102179039 984349779 43058997 21368247 654087087 970542703 39015673 369872147 799381099 91635495 195139119 997822341 186801643 359083847 144920037 511227689 787259567 822852989 430283085 361493125 976547295 924729701 153284291 604620165 873573447 355740287 987888329 316564095 749270881 269174579 766688523 353504047 622509133 230108629 237686621 453771195 454028495 202323355 700223161 789880241 81180249 857410473 923900995 232888071 403917057 355180041 485500485 142441751 602727559 16112809 411010355 999067561 605240657 73602149 182968489 534053867 103065455 314233339 541025897 638048111 813885337 796055831 448594783 41636147 298130989 981574475 142800543 320259743 98884659 322476815 433776227 37993599 751676505 830182083 35597071 820015621 935219193 362028465 850950189 68491731 680251407 299347211 415567731 209637101 850740805 832252139 318886841 139946429 610523625 874681679 37455363 854889757 549848817 607163171 854071423 513717063 72158463 393008953 472695165 632969953 999201369 543162695 766410361 557673977 102605549 764497137 392285463 743861507 752689491 413504703 193909793 957249503 6095819 687040291 170669709 617198797 554740541 350528887 864172659 658249087 384909365 249541881 231090201 582816777 854129645 262830549 700851431 125167593 409409861 919190045 268100211 172000513 572877249 429801159 417387385 963749539 365107347 549406903 642940121 49352319 768085905 82910133 50222241 105924535 536986681 475420531 691574529 206954957 521719991 806848649 781146457 262068657 934192341 587200891 448078631 341533877 593402123 630694831 55196955 740194201 589057915 840823415 514132997 118599553 938021099 327135245 939728355 957079291 161641931 650897555 281728725 230984443 90880815 237893393 198375465 941897183 32987611 828743289 647245649 617456235 360928051 260891811 118034663 603924175 263317061 670209873 131081137 738546079 685396173 76289837 76314009 440223959 851787303 856581833 276769971 925460191 318373465 286087579 517214775 310632833 638218005 267772165 575861133 860119795 40939697 802635091 823639357 285555925 631292205 621995701 452253179 857522473 473319729 516575811 106963361 287826269 373701385 610505471 556504631 47633735 913362863 774495443 209996515 292591653 763859907 655830927 589271801 629332891 885019785 441620973 489904375 403328181 684874483 904861327 456048511 423514859 154287255 268748029 395654235 900219673 778516659 191098023 225769855 457680517 827260209 566812137 469821959 944228825 183963553 716349699 639102261 560494639 464803893 605783327 800486261 950520833 302782161 882457421 250892123 244978229 330518011 725349255 267736737 476358937 147474915 738900399 920694571 483311457 267201373 188989067 282684419 706773293 843655917 993614033 811169885 678490877 256998837 307623447 389727381 639730885 967043209 70946783 329520431 687988949 298482397 700874897 978605523 9620203 984261587 19131521 112204887 374252847 72475441 834570471 526436789 238447403 350687845 890128613 826938641 812039383 622282631 630919809 272480949 979876749 120904279 38377905 184254231 451990295 713828667 568935243 753622991 802285213 660792901 566314511 576792227 600991673 832008233 95627691 690594939 951652707 55440711 716011437 502024301 510571269 617681063 667367055 133170867 580438891 828300537 730039473 179129777 25937353 101404051 915877727 132308211 634903229 312718709 558255047 305030699 389060941 577498181 943172101 734765619 573660645 605823315 802475543 908766225 181007195 407377557 825576683 495867885 608598507 661017517 549363535 805305887 890238525 583687905 339840763 629885981 731325531 764858913 901695381 275708301 887774395 822299137 34360225 801081659 315694397 843288773 137270163 324981785 170989603 688337743 743746757 715637313 40162075 76015155 484079735 811577849 210905147 861953701 63188689 838095019 933467393 200398215 80906727 921079785 674282321 895126621 659489455 60437105 823097463 88732251 538874381 556601123 310185003 821628243 147887051 11771917 688411017 909558983 814521751 68830561 568000023 475789533 462754827 600184955 58422975 396303717 315695531 601764573 195642075 931629271 578167261 11664691 310718757 459440979 742074869 625218639 931453123 475675549 965585449 824827951 684902979 841450535 15250077 575021301 49242267 671767557 10409563 70464491 591665701 996543483 932912209 39963781 468948393 892005229 91327577 407119711 165550931 664223083 719894071 768347963 744029625 39952813 687925393 973613061 43538137 780827025 486308345 583392209 789930261 330782495 711006187 203839447 161753151 222567429 32758213 131411839 617414791 263291547 542475729 560104273 428902287 358614755 530498113 375527939 441588569 860950399 837648941 331759469 802935125 45434563 624086681 518349203 119208789 506358691 467493227 67837857 643168921 884267713 44217973 302531819 588140741 533095779 443317873 594097131 385024743 247320695 553658369 505567557 329965683 262093717 941102765 660400835 238075463 343785981 620373991 660820059 851758505 301493141 325565959 659015461 810301253 626051053 405792593 264714341 728871985 752271677 618650347 388686473 847996649 915133285 103433703 2192417 679664725 574546153 895200319 385525481 411739327 752331257 166411221 860826309 11814109 922882415 915292017 319765183 336201935 794546633 141831109 152856589 412482327 264971821 682620009 265426183 195151779 10664299 392927967 930470451 106890955 137548025 581304721 386790715 833314887 649737209 925632207 227366897 442461761 630175793 635918291 31609169 626733637 244295951 108118463 436139647 28871239 662906029 56223899 775285191 117905317 852738247 389984345 215712155 66048035 611483079 999866833 313110933 679273201 121329593 335743429 953395579 954309539 460041049 722312159 360071735 158994229 568953089 795745711 169964763 712874765 913232829 183721903 280560547 881495033 663439929 70591551 41529589 324514093 39367629 550002859 266395225 159121737 211534201 808150051 273841027 188434255 374633187 450033855 519482189 98162093 346363739 388593793 935737533 108921145 471467737 915047505 849579517 809654831 655558909 806808323 301827423 567672631 885660683 344894031 514941025 4785755 723615219 953431511 167931557 917339155 12500815 172163619 534650613 917115963 28769373 166188451 618317381 236053783 758400515 366513587 364931247 567593047 640941265 962702227 824853113 598311949 24148477 721311595 671343375 62769593 488942185 363391823 744408575 924985663 34421147 706977335 970778121 833024493 235561665 699336453 734822927 462180727 569271221 546048895 335552539 162911995 19251699 493586779 990142561 808587775 214451107 511264045 539397181 731527023 964215447 765169531 643380017 58667681 359690051 958852013 514056169 448383569 989104585 594663187 743008569 887044007 863837933 178779109 618919707 230392109 467206433 847111241 658333107 265496539 322089851 29749059 149205067 121500683 517834939 757358023 65023577 583165061 914456649 474376623 369972853 959692663 340750641 985601211 290824035 296410995 445870381 752489875 87529231 337931897 555668891 25639115 517935501 403490541 438710915 332080603 414277145 798638747 266854805 157867043 798942227 577025979 958670629 994680813 993751559 805741545 123388215 14157165 357254825 952067883 660478575 732868535 79804887 746125037 378096413 872598993 53810575 60721411 32999991 504793505 432053505 2487981 398805599 112873211 805904253 500527505 259167963 641804949 497753983 28857017 702774937 897783571 311445419 174022043 280935219 282260479 312888269 725416725 210210789 800744135 495388631 142805613 968308887 208144325 393443555 576247377 736159963 530523453 977405495 440366547 541577445 654631509 516971067 993360753 417917591 485444129 713322887 698082835 792616053 589730455 373186513 939873795 957430449 562837403 801759487 793614841 556341793 930824693 792313373 430240785 21230917 974563415 224645725 167357135 384019779 875559003 877083161 594769955 126260971 346242431 644726743 49300063 360897461 668047409 340041025 759264067 125513921 269760189 347182635 315159285 848149459 951972959 310229901 840158973 125846107 662895161 255658639 208449367 295580275 824223315 525638521 9806683 713002967 963501727 805215423 842828497 220503793 814172663 24505339 383280869 851919311 926598937 928204531 34515755 485421865 477125553 205436561 936535717 744040285 130477391 366732777 538425523 341709681 54216815 652966197 475698727 201105945 97866607 565595351 996811825 676203687 748352409 160450141 67749235 454044189 738135069 302101881 609027823 793570339 42609945 364997895 948719379 875074565 863809673 551047177 27549367 459674557 251832665 503423661 527889939 758851307 275616857 847579457 799867857 524650451 548828483 731384645 273384957 652798567 127692217 591990875 459486475 677049149 248855107 66346317 910154457 643675797 109688147 662849809 972126125 906314069 691444289 210647999 429551409 478616077 43834447 577291675 575335807 931146741 347477927 119138321 391819281 676390891 508645977 129834165 612172495 664544631 409765215 868378177 939005187 50651593 632779163 447809433 890325603 222583991 768995029 368293575 79531535 409262015 3892925 439431681 207753097 858027787 487118831 315031711 666377663 601962601 252993773 671658023 402360327 191151695 937623835 329756993 589165853 787159775 341162447 95290563 846961193 210484447 500580673 984824999 798273463 304326845 411826579 400180497 241821881 680077713 306399693 536779597 974375825 683458589 577840863 57005771 328315139 677286339 746586789 488839723 556170553 723512727 843064031 712229419 599269069 398117709 630159415 216286395 807133113 193256005 587595581 233718763 831383139 444649609 359338347 14525177 467122841 847750595 652256801 945865029 185683087 581832271 930873259 980091229 712753123 294399019 674948663 702734833 765890203 630415869 430078689 210365153 132363811 837724183 340907689 849349165 906108497 378765163 771486073 60290303 112909923 352309405 526092065 789261999 757130747 479788787 695201881 728315315 711255593 498082141 259054023 461593267 849819747 400751985 1835759 374144887 131801989 989603437 400077639 44660721 976794835 475665979 825093411 759648577 82120955 875046505 322676425 797726375 280875285 351843117 623286625 103367311 365631897 913989737 683362299 50901899 74392433 156047011 253801615 321074521 418047209 199852553 943481603 489526235 748139701 924885875 886205979 747057691 220164339 349308257 366278795 994880845 16912425 600777467 319880173 670184909 713720387 931172109 592287681 106215453 802816405 929376529 174418031 955040745 254428641 652918311 266700875 513030915 690873159 921842707 855557771 814610537 794746711 213545543 573896277 29980477 837222917 294207193 454238637 625208777 419986609 139100041 989739655 442598529 406582557 707420861 477294013 81214209 434659959 65133701 316837389 768721677 390722133 658408345 639142181 434464141 398848437 889085527 157053585 640135063 9021435 101596615 318286543 914913125 429871603 230637719 3255869 824764251 356625109 952152609 989326885 240440067 697486653 331699041 504207801 80564241 693878831 279263745 478665491 911030625 919999515 140465487 45408305 694938103 606810069 955969345 768574975 325111803 725555609 537366905 473592655 356091331 293755917 885062717 977891287 895633609 684215103 362109307 620890939 689066161 215164835 772779979 953199621 527261767 754576663 762091885 249025187 569279611 810904033 996161865 56950895 299651437 117135277 132782059 713702571 642712923 183985809 587555469 719818627 277974453 529591307 387235343 34088707 668145163 586175485 292558325 400973351 973857561 148481463 633423729 998018001 216019907 901755119 904740953 275663305 95957013 641162945 307208747 82453953 668950081 307455665 780110609 371755601 581168545 569023405 658515675 563433981 214568891 150301453 52214267 766313003 386029881 881196939 335158933 861359149 348127469 765774413 918148463 542772285 684990163 996903903 532846841 372346493 900372241 750835513 346780743 458449397 163509997 595867319 673610781 418426263 499205087 994756895 153083871 340499259 815908481 896184477 106525851 314779299 263400853 547248583 823913485 956972665 157079303 656948889 634187151 582149967 783615721 802802553 395319597 301883035 749047417 4688439 955655827 411083713 650240791 633283331 609716249 867968775 584837457 987939197 94799295 761612451 976562137 2265517 312224301 295293355 733545099 578194171 573889455 849549089 619635049 542166335 954773311 487888111 529296799 506390455 123336061 944747237 842032769 859644421 966320045 639032253 973098631 990235451 174574273 306564633 470590553 533382347 336237647 647239553 794879935 607206291 559094677 723969893 795749037 451530967 544921725 993531937 165843519 769550663 138215573 71215095 903979447 108257783 843992085 59851275 3733891 665020771 79159515 948498803 829374513 914080881 29174127 529810471 128720769 923849071 891547649 320223753 458246997 938122513 260247397 227674593 459006647 820232565 168295453 957826143 169666781 468701473 435670865 134063903 738488351 549357569 864850895 637170081 326885633 406358123 715436301 510379087 269117231 447596573 106484269 828730745 656807549 139066169 350296821 984919639 456425957 869515089 768874195 345529871 472434827 844435029 436797407 492293799 173747387 954547111 994655705 774412815 945391845 132879113 661976359 319581987 804271271 596486059 606751707 112216227 590790085 23872287 125356713 302019127 313264935 902340197 166837745 308898675 557150181 828488417 847729339 272265423 480738357 942979937 893171127 86194347 270496381 939384089 392460347 298674771 751433799 337310375 170184007 968494837 978375497 647407889 271738497 800865965 146082395 869524163 913160505 807504251 727852675 668967057 856956261 784358983 941204971 16805565 771681959 974481381 331923173 935727591 663935813 736247307 664364781 565952543 183875887 874290271 559257001 526061531 12366073 760544101 397274079 571976437 662280421 572471697 48375943 106234293 546322907 49307197 539196347 902886857 199492201 904783017 84425661 987392835 951763397 301505277 644344823 848428963 399818449 85827917 388405249 268776139 541098769 691125903 925910673 200012301 357655991 740894121 288637071 563960603 84688027 30163039 433298435 882470675 615207225 693057125 448801 188852601 58913209 942230613 322596163 96900925 875931115 606875309 999123951 157259699 223373383 133518553 718800335 673155479 720748269 930075691 947519927 588605455 343145121 81532121 300963231 934673833 486653395 56461065 835572143 486416729 936395165 950820287 829146927 742677887 583105725 668533231 714218899 162886877 599958169 825937777 153178999 932574625 186817601 890138633 304926109 376246881 286696301 556577885 465064945 233481497 562847611 235982591 829606535 167037489 760653937 243279723 881923225 90514803 675458563 796398847 87629707 510341399 334464131 50100229 342992871 140166841 952807413 280231599 582633569 351852637 233399035 379567125 947981525 11285363 609492457 625702203 388958533 376813005 493814195 712113159 105381087 948571307 304546555 565896267 701470961 761594289 392690949 603925697 567691771 94676461 76734659 775277579 854112927 211416275 755867597 152324529 404269225 184590145 308518239 973052197 862948361 596006013 721673057 737151169 847493597 741992243 14258019 762194115 834414441 181878391 94009245 996581975 414563093 954078923 375199725 758937741 163768183 74840847 651786461 505960287 514758217 26751891 607355543 761773231 911400815 717222669 507819511 377845573 432335861 144225175 680785787 575538643 115429131 671016379 123673673 514508273 155758353 479452513 322657585 845880609 449324677 760740577 167495593 172848589 146850071 668103161 924662995 694759493 558748823 741285069 286848629 116475333 956527617 533450473 258378237 230509417 435140219 90516037 856170885 801564479 81069643 290595389 905158345 541485367 440745961 148605079 968469555 449819177 665549551 11363967 766852559 915957463 179611421 276162441 115059801 747910379 686929763 474283701 483832363 614986741 165208273 742418793 916352593 538677359 523628453 404612207 516832631 70835385 903993407 381650173 5837045 908717087 987798061 407454129 458074059 939373009 203985697 835419025 763773855 239486439 619559927 786072329 338793921 81041507 697667503 847854319 3983401 465103407 455703161 986144641 686673015 648979483 496751783 686191459 32734447 92457441 973749171 158259873 705820033 856299809 561956159 84154291 831178439 532677223 735240729 615204979 777243391 954297889 309435187 82898731 369733391 479435179 834621097 250857859 60762503 905867845 275358909 880902549 977230237 462795801 943022299 151419099 107614771 653793079 800129687 362756411 276145359 907384983 232660649 954376195 280660639 172602143 532987897 806330599 765162365 374007443 294044303 688853253 467552485 916571305 904392863 196025827 846047999 942938615 181411205 389404781 731014045 220990205 181571781 669583353 638532915 284225321 833282311 975547203 74846691 719739337 358640417 653043057 375580785 201152279 403337997 902445331 4185935 779499827 3157229 825360153 348636563 344427815 912421393 363019749 139964925 534288871 633751015 96016953 888137203 979298631 250407693 629821507 617322631 64148749 157199941 124693659 81640813 947589089 975781757 295501113 578240517 551192657 933226181 644311687 475974231 234431963 435194201 705869905 725254163 936634333 443725981 679334603 882382221 107842211 538484507 210588051 869596873 353083483 4269961 805273773 773675627 111358495 851795903 131712905 752509123 72992499 911220675 98967035 124776135 17371325 822738621 525258559 753032985 993239377 294834179 987954939 948546303 978298727 298008081 675164221 53599079 507311519 865597319 193804923 503057387 426432387 670721073 507526799 602577863 335495301 720500741 711174593 795747043 746607359 29997083 353775805 556569297 37469999 625808313 42101913 531801541 731672641 110440265 656811475 956455329 769209671 377189213 446206287 276819689 878054455 896417201 887877977 467957711 863099125 251507755 180492457 207038761 67447883 801415635 809038171 335727991 204120295 986681819 942570483 134064607 693352547 54095523 114574945 42711345 178959939 3180715 398480119 406344421 104551149 843779487 948399989 640392729 600274099 907683665 740460031 8560791 412196049 325186239 617880099 652269001 77098083 88873225 426448341 587715019 460836729 75205245 758027891 221807193 129434109 844787085 732992963 755429853 901950159 913847253 884753137 639554149 345936043 929493783 241106835 860419241 833431357 560426559 854105765 71288069 442531863 369117791 846695311 859940485 237067183 205815733 926436123 721293269 899955305 514545315 20975745 275419215 78478221 762627763 459408987 760355567 683076173 464372121 905604019 563350879 300664513 67860529 910184689 657487083 802579179 772972413 938689261 481741709 593364917 294277033 801576933 71133925 304108527 753219337 105005693 38377271 323710293 998162711 582897859 29253749 112803203 75728245 605111595 438500661 158091015 939765491 619071379 933068727 375930449 221187199 597380159 53242081 576949945 389721143 875974367 201246531 112905601 796520541 331309447 510945301 600651475 528974431 202961843 66988597 826919615 330464203 783496009 17973035 242336319 100828003 703095191 374367783 1941557 527047171 420150867 501655295 265347689 161863613 16714391 424764209 539994253 929783999 595206635 407815399 84725561 250035815 777439035 94542831 489187567 887005753 625573855 227555007 29729047 163483357 151293583 571645817 528896775 775384873 217938037 559857379 602562803 920530201 912272411 487801195 803042557 528200397 614367865 847067689 645994033 841362321 177511403 507472349 338901885 208677083 978721077 53751279 432850109 367041347 623270535 94248299 969542577 518640015 342215285 669824013 776865027 112786343 443474171 543800111 98315587 393770915 328352895 969104091 283656683 771535545 32569039 967952065 366864987 513330255 174048799 392923447 638220511 992930545 192630285 760959037 938116517 282684241 546785951 247608441 5194185 380941129 779847489 435084859 2575435 958607071 669509577 939367035 515182869 345759549 333898611 659608535 596857847 38869429 285336551 376285079 117019051 657596101 214942767 749204139 470904529 8736013 739694531 143920809 166374131 752203355 821164413 480473807 945720197 470717601 29178533 441462535 808550109 936835833 201955305 972396767 595728699 504941225 201769563 11375245 350786509 864921627 928340603 661692915 160992161 111401955 627739949 811505047 206806191 330160571 689915071 116663719 516121309 720390533 585254885 141571835 421802735 117803087 332628669 703671315 723311001 248446283 335319499 599455767 929439349 605860565 35645695 558132179 662816003 468871023 432579757 778040001 445746091 203463877 641102993 350529025 457208001 582444203 950970067 557370711 60756349 271269915 76350717 84534837 380323071 503965239 915812101 661888177 96244561 293220175 6905419 929008779 175368293 442626513 105500305 284150313 786949909 478484315 383426309 703022491 998528543 74047919 583668541 59725209 304208177 57311161 382808119 793630849 353270231 443559565 670956885 373655899 342851727 508634213 751376745 621738709 231497143 740669861 577455013 278386761 922854553 7605719 877324455 753690291 471453287 895749297 247047539 551849405 987558715 746997003 203593849 382830261 956467987 150566889 17689739 319666065 397506781 889718649 70887913 988214771 573523301 391028747 245149495 630350369 42421865 371344667 273641091 708827145 614402439 88244301 214257219 107977283 851467081 407535723 749128273 981041423 765046305 801075819 667544821 307423573 676497767 429589093 206203867 790019489 877132895 358669471 446146841 473296685 198989103 525056129 9293867 338856665 528926697 416688545 616795897 180386345 666997127 137131707 689966797 944428623 183448299 65906351 487632735 425625889 808655325 527546761 646078409 860438557 526770191 285944703 942664597 964297581 294047771 729554923 612585899 991147743 662284927 79821901 654598499 591785707 147776679 602774357 114563963 530151343 353185763 300241875 243132183 154037235 731986543 931794885 167718597 83642407 265629287 135843147 82683769 888267103 580420313 392782771 226935697 191670879 821261493 478334575 576947155 565180553 76647379 171563033 481579627 707775217 454219767 936891767 689494509 705338701 86744007 160026227 238293083 255654137 813240277 700540191 502273045 543321089 914367387 901005497 494264043 480565777 38733435 829004451 60111123 611713 214637245 328975207 809950759 986985553 681332369 948578745 290805807 444178217 722808595 161816947 919166617 192889941 170969413 263110299 331209527 204234959 892416779 336917595 953895751 609059639 914241597 788598791 381863537 593246417 180499343 950068249 268261313 90093199 160554403 755178803 71669931 709960199 976047109 925271845 972226059 794482807 815108133 686436829 233991467 175453641 326266971 61948025 143496885 263101323 652878057 145906235 464648125 630079477 85907191 440609167 456073411 594110181 651260315 608239369 952246955 466668771 720780999 622262883 267452867 231018013 728953955 758912895 888936641 808745837 824018229 853698413 124977087 311072079 950063085 273449307 772154181 57595629 508314663 990535591 125674303 376022805 601844579 175153363 769537027 471842109 962368523 178124429 170720589 776096903 353941103 780520613 118381381 758166199 227207113 972047895 772508021 953595201 341340473 240237063 493122517 763444279 319336139 151674559 570274241 635339099 920984685 949500085 338444029 452143891 363001083 407368577 35609785 529910641 314820405 635860199 361277575 784152873 250132163 819867605 892388199 950549147 67308857 391937883 514236093 377928911 328468751 992398261 723934039 906309749 600364197 751663431 702369385 395514595 934146375 514805661 895196817 380058391 642220579 4204137 830208211 734375099 790423381 713120901 639672735 422386975 823122141 816226039 83222985 731169333 73230755 715080167 764203917 475048353 797007483 120969643 980210067 942117801 947963677 6528447 505073125 623873595 730191657 426478019 309764857 518389233 554704169 464919685 823717551 175457543 986534801 845595383 643473737 967465575 70138293 495850291 459108469 140970655 127260379 751988607 485293643 669164261 307149097 213999429 948030531 248566811 321259699 934357527 990223431 762195397 316780657 476056755 589532067 560925461 249132355 535687673 593146379 211362275 494843635 153227767 206816413 241771433 897172787 210407135 187136221 629106325 395410077 820024333 838964667 889759345 107294127 923457283 718239369 849173943 23715287 863627885 919822855 64369799 664176737 225703197 730233691 651375013 523629451 164657425 653791503 451443073 11928947 160333417 450991129 914846517 387704611 332541555 674294999 133865855 178113933 312325795 167839759 886763461 15468681 911436175 752795629 51749143 884189147 909482497 689111303 787021613 886015529 178374111 483574107 5444965 927919111 71556925 642818891 395432389 667643115 344239961 646751401 843773953 430142009 694210453 214718887 793752683 777973305 217673339 268164577 840461575 414216989 722659007 314160993 995568247 302452733 228972093 823387023 364745999 681970653 884418809 308350021 199174595 212458659 498946587 566229181 860669237 668364833 598085369 116716701 529916073 47331603 177634317 949654769 28006673 298419735 66064891 53054769 905049091 434837687 805341325 169775675 661312703 251103843 328444345 461418831 620891949 959945081 727411351 98221343 363624665 440366133 583630955 735635647 10904061 974563267 640364963 238543531 660943479 594715443 428192463 42570699 337628881 204930177 756951467 305815145 342930741 386671497 836148251 482720573 709996671 213588249 659254569 317255777 87397677 928102369 574093835 757339229 889435237 922097017 69011737 270272799 346244855 665794915 949312729 435056377 962529881 677253129 180232947 853784491 82421677 435682749 308509503 311437143 430906041 153629621 46077107 42917775 811721451 218135827 705849973 895427141 880732253 100100579 936557265 71148759 504253643 416537621 57638967 264496905 589173407 573326977 737453639 740908555 146209765 953632745 75792065 271215473 48734041 659143159 420060815 397315127 184490325 80173627 227791049 998742467 465560805 513190191 676785573 170565859 639044789 958027573 703742859 678701261 482003997 50460563 954767873 510390811 495170589 281399679 263781055 187955669 821543515 184926991 560074911 793369191 358217255 638243909 295541411 175422631 53390201 602820619 601235703 153739987 22105583 952070961 630826989 926054797 572532179 406672241 174769411 383548647 568344335 544431723 715416537 390939473 131467839 835376811 496621373 981345453 855175073 80844447 889888801 336117567 111898649 855476131 810651809 85936305 551009851 668958967 615001343 750395165 308564285 282585797 526806695 288810493 224991741 241296669 248515373 474139959 545160707 105531641 942534987 558289943 897465469 916487993 530592227 662314583 657765699 11473321 268554501 220822799 121407959 437856759 139744479 959386053 920989787 958610111 530676431 62521705 703608483 206767233 540268631 128368975 549918499 788184741 476730915 855220789 989917693 519951999 872470279 473457981 968337397 887186503 155819773 887783671 686199165 823822877 143997993 211935833 281022891 735575819 946112981 224801725 498504511 971558917 558135669 540627437 555349919 602841311 113618341 278016273 395399645 750691679 731952937 614963649 867631533 910686253 960438761 934321659 67835503 312030679 504781819 756896803 316288555 419790299 209893017 296701959 802032271 665757079 859723047 146770393 873798645 374140759 748153905 194592571 749948507 144702793 943774823 414800945 288911463 887408775 366767017 958622247 955820649 115308053 362672629 286083827 88472407 736228825 72271483 133322193 716992979 519414183 540564107 882450023 701785379 931335223 981736609 486839747 968023093 202208809 921705313 59256665 649290401 918639367 468077207 583303177 702223785 797850691 667146291 787491093 653329711 936082487 654414677 767393579 343797447 116928289 410935099 422676321 619154085 302145071 454041685 235597877 452963499 292309101 450410291 315049097 814260573 360329177 468265363 142227631 378285293 30150225 782004565 707052375 581952561 916448415 464118663 301436579 166294441 117722485 331254107 536532247 9716859 219290731 649049387 564638365 104622967 991311109 628768125 718654351 747066901 400703913 679709691 548149159 657970547 544733353 402244727 308022027 579527001 468546881 778260463 424693065 605158199 436103311 978323843 490587221 715761443 214071965 992192897 74893709 221835995 427448157 939725915 629443255 379811017 439068583 375121837 581399295 432276731 109971517 224577337 154958843 574010409 845370569 188705259 932736167 872650415 994546909 472222423 737237611 395255193 722346735 40837173 258539025 585592211 422479715 642754669 770947279 337800183 817504129 355854599 330883909 289345985 600244347 817883063 23580789 186416281 784020585 41578841 601971919 106102225 316550989 382435567 795291941 457632093 64553489 649515685 831875511 914858207 321324935 379285711 389616937 313461915 880877413 717065447 156604807 729276547 308792141 359984785 708404041 892408621 278725067 567866519 653569099 753025241 565243727 529560045 8258771 994193517 967912241 765055663 268165261 471786105 844084403 965141281 3966349 573370421 997850111 374488235 612398933 781566079 733058341 513181923 989197253 425730783 632135457 479198851 54828077 482021509 480483535 484123759 132844097 166818629 193312765 272977073 581370657 104303779 42633307 640280959 950020687 22029507 981176449 399396913 849629369 868554101 551954161 381195851 520036789 9092911 129098005 483348091 998502913 198822931 735937085 161313169 566983873 914920679 289625763 560571785 947273345 926179353 668676711 229232263 618519609 276719297 617952405 927120343 244608069 714465183 170338845 542813417 526305129 932916763 356688597 723141213 508952021 880397633 892246149 829594865 773678107 743129805 753522127 485819541 606339643 632106521 421765449 445488473 713310361 580204335 55743083 476047481 792996611 474806719 747205271 266320219 535585197 37786655 886848019 49805957 878382647 777215055 698317589 909695663 962123937 144477941 150231219 888215475 451925599 143209057 38249965 966735249 991330111 391224203 880005809 507521401 568986245 95718161 124153549 998890173 370693585 578127419 73032955 762666965 188463157 110221817 656524763 91386727 276366113 125092831 291328761 406331711 334573943 761618225 406134723 1158479 71808121 102100947 677824661 263631539 393601239 146778965 317232559 820706989 514200995 975457773 39970873 492648873 238854493 775044989 981317959 453596729 595675369 949772425 205205201 778775579 656126099 467144005 777740471 583254321 926068499 773360771 45116355 897422469 292224645 426082501 694383785 976059723 47343983 37805363 715224829 758538205 696505277 389619353 112642117 669082819 549699013 787805297 577738471 357566371 662916931 556669403 368102199 975956561 559898205 990916251 536736877 14405579 987231905 364711971 306635177 504163635 997641733 205733513 772011765 302138579 979532259 139628427 6163011 488129311 879171075 102672277 947818093 935278003 549257619 362955441 445737523 51738705 92808229 742969753 798946621 335081959 955504311 136011947 829678879 955955587 34436273 648413935 517524047 451098469 167647967 117694227 118215473 224539119 704473715 15229041 936342285 187715757 685845519 105868293 46706967 939664207 663037623 146798969 296648547 490332851 32485589 266244635 437600759 590516701 895665987 59055073 443792825 319072501 684040763 712246893 764854651 972857425 378820707 370949637 560126201 994029931 14129097 507811479 750875089 313961959 614800097 852057275 985085581 982085777 592109961 276335793 654092191 748161113 964446215 1471839 28775519 398394205 259165703 149061975 759986193 539527649 930671519 332003277 872840923 435941711 101135949 424670113 357647055 721679673 87748083 835032669 633647337 188557915 28729827 766222123 592402951 447930265 723442125 946667495 320936947 494739199 303952595 931190799 860087901 76354239 873337463 408864201 266182627 534014003 9383849 426548965 988879105 667191521 48526779 435300315 50632483 402183025 850007405 626386121 783359385 750763195 897597411 766509687 283983519 14211253 732572075 753952597 210947155 107285893 486155193 545780855 654428607 308933239 950600299 715178657 970856915 921991421 826802821 34849077 983430765 895240627 79785015 263545671 204200777 186479451 711592469 614614157 102395155 783413727 227586075 41390691 18415195 519915863 713077937 636434645 95149211 939887867 265073057 675022735 852559669 873951789 323407649 925956329 876693617 770746747 739940049 727816419 836914303 57867159 777360051 787674149 177029757 744676445 202756661 829717243 443670375 813810639 73157421 169354847 907789609 373913369 919177433 838187761 135924115 264511373 246441181 162006517 320547679 80594345 194943045 937188957 442548013 893250063 103071369 809422269 811374729 203544201 266545285 998656345 793123043 519613707 944250751 782572821 764562579 24146097 480231457 570094209 382963163 393782973 519762309 613589973 826323941 74831259 701758501 457259759 725651905 535113695 923040487 511033431 203592041 350285635 567755289 603860027 633790653 227766187 213046895 558749557 987972233 107025953 405386249 548233345 282365819 207083993 679216999 777930889 921875759 474665775 126014077 624117851 528362789 15309479 720342939 821009773 371553735 842571241 729409663 415324385 681879397 603308747 628996945 917349499 630063929 368207431 60731803 224714157 506477155 989167489 867984725 890931343 593822959 958614213 152551385 192053469 741313739 282651779 561586929 450546943 363030227 362648153 459392453 776493317 149091271 836419083 847979503 473278377 947659601 399180417 54617191 10175301 131079423 229399761 586632855 61248227 67907919 75140919 968823115 240300339 756241567 72893971 887562167 32005003 305574971 106991857 967299705 913077993 416017745 170609543 602701463 434671351 209299453 177755821 925862525 942512387 167462463 991285097 641977601 797946117 282287871 109318629 856465503 477764763 678930193 977860723 685159743 605333517 789323821 244742799 697256875 100091209 765691379 430682077 444283417 904462057 593105133 630727977 201478761 235445545 677943695 668032869 850481373 114011379 916294445 200325293 33499939 461807317 572692749 94451521 615792465 834806277 713898837 720773265 239450341 796460389 911976473 775923759 533855683 926891641 762359377 872606419 441218871 346509939 490042077 14363493 314199289 177316137 411175815 81186283 895056933 685559835 368008193 352118429 913541185 341082993 53470949 330887893 81111095 342314231 470722737 117735445 731907425 212084007 3659475 552078089 331778169 891442207 710920343 959672453 463141029 871888041 510251579 99792513 745566323 495874351 232172509 857356581 912143065 45572813 772712583 653574585 373360177 776834625 284683051 531380145 476265283 480500465 344846243 613291945 935823931 745946605 698098093 155662947 587782575 47029485 833674229 332444107 837145501 852924749 491960077 681998837 606994535 998595353 75321963 797709851 145344991 189588479 935312243 551160223 153473077 302273107 478737517 558064401 91693323 142056471 987185547 494206239 193823331 107239923 583186407 577955751 721187757 970461749 251730559 271358123 572213947 489785299 289265471 229710167 70660813 768765295 453803511 537468159 275817863 203341 857229667 793257501 608010743 16959839 168092193 314794837 988864913 764250171 695546811 621994099 884001587 796527649 142877603 38826855 366027299 11652345 143166001 104527183 643853069 855568463 292643239 131198831 151585543 482387037 985415471 628783663 148760205 262373121 876246489 572260901 676988039 200618691 196927393 184345355 198934847 355741651 659478627 621039301 15656811 235718919 851575533 999638623 828580139 829350109 700470255 793286409 992015105 636517503 396886273 573217059 43535067 195947195 595932583 742251819 953038607 895577865 100704837 692286161 69431131 254789767 756163379 407706597 888819683 974062333 995881381 14265699 798123573 763796441 280811197 167343217 74132037 545942837 724056711 744286549 314741105 98609357 799005939 382660231 906625405 249875723 615124697 319518623 387512217 425755643 414695675 356288611 165202775 797290583 104852227 518046141 360395193 274527359 980443265 51043007 431374367 653947257 578425327 198236583 464111961 992594931 514459567 711171797 428597915 150072645 859543305 101031895 186921093 883494511 149283629 941833823 371676183 726757143 583810615 364312391 272388037 153391245 69810215 136692629 728931935 337290441 508229607 817236339 446767651 428756841 566978119 629085493 819194297 180546741 581227777 116432979 188960043 975726749 733222325 361492597 581814001 477462455 256527087 556081251 846612199 286021185 383919901 781388561 883614545 548169509 134373275 949038747 277884383 793544433 622829481 123965251 417460899 737259229 703881073 305962613 482122013 821600199 310041859 887449539 553340209 440138551 527322969 561618411 445028397 443497051 57960787 863349711 887224773 623773963 498524861 348578681 872812311 595715785 818713413 810890013 467434409 363794359 190483847 304966679 487122535 95048617 306981379 61413865 698416295 326068499 516080673 20650305 676985637 297247767 992039733 365298925 123354377 823182201 934611319 670826221 868559069 162721707 159767815 559738211 504980377 848148419 355356913 562440089 642475415 131529857 541496355 774507269 969706911 943660363 209799801 140164671 333503967 170948403 631217073 579691019 23081193 908915691 569021049 610217047 536957117 658180313 717350751 605357875 200255935 842748415 159250395 4658651 646782907 950226189 517391185 476108211 470661865 285511773 827629579 868023621 925973733 774343149 905026103 694502215 654996917 226220131 618796785 88194961 409314501 246269967 218262839 735046695 640204265 192461799 700691191 392024119 101710945 207328909 554343421 617869585 455622099 454700359 474029319 978524465 951103305 191038723 847613619 182823229 835071033 544050009 546168971 652240635 343629185 981834635 995776001 666657379 810430055 562597243 155984239 132706957 821199257 878234301 270532371 181817023 2756137 303710597 688290843 391877475 997220501 337198515 559456147 410295563 628941253 93101009 583034745 400205171 823759875 135425035 801980331 448510593 490708999 396426041 897843955 600557883 290787821 789177819 515804163 52480729 278844473 135564567 586022515 349592501 121396443 605498813 38164423 252409425 943602213 516757829 751599205 44140631 117966807 121116877 190254751 360895903 804961301 71734813 429777841 383460639 613137517 594825381 880434361 782832639 690618067 249838203 455125953 499270791 686924967 682319197 470577339 47449899 964829097 441787317 721476735 729594245 232058637 157207441 954435537 707675483 121422945 628647 700505175 988601751 314285225 452241497 447004579 488993613 528357189 570426029 870641199 565020855 107463943 277165905 157282909 271831607 288825631 674205599 849740149 855782235 230331951 712265363 394627753 722586583 139804473 431516117 319815697 650213505 185454251 910312631 604241327 137470563 405494621 44695853 716773997 570516387 34523015 116289241 998292253 240745623 254923219 135976447 214532981 176972471 442561613 237536401 191820057 297557419 445080425 533576485 966891153 628573243 434657029 246619131 515719757 129295709 793180007 472310777 504068009 660929321 640348729 492740527 68617191 543207907 94426005 349137493 882404139 248497399 217243381 519239881 171967373 65805817 583732289 597068435 984937473 634652067 204531907 150236899 6464873 745201369 696590385 115411341 362772369 892670887 716660649 583422997 351408169 404204605 32950963 445318815 159377353 951206393 670407735 307877627 34812147 25854047 288888717 938818463 691146513 344954903 429926769 1425069 609208691 43427831 599874315 918028523 660526675 229093369 516138215 969450695 128164305 802289731 334033911 858838361 563345657 696148507 991677597 423410017 825890491 765548281 253973917 932282951 792962799 788026229 891601185 688506647 538824535 799636565 38938563 833687435 17052827 793523585 578293117 612546307 386245967 342523663 256358581 750979459 237140715 155111995 824053561 1220797 76012753 915420261 231938365 528238343 701771079 95607835 749321823 652553313 181114499 982884879 577727653 401310577 141556635 904329243 270807419 561111175 906769809 29782597 709833399 942457499 486176845 817200055 383653271 217543243 910672803 444613571 635511741 841261791 817769035 883178213 529101881 35678535 381566693 122150851 994845825 468170007 112772861 744206373 62913905 826367379 708903937 737119231 202583117 640915103 692714573 615084139 901278659 238835145 827915809 645269167 348387563 34614605 713595557 420585781 753581117 384316167 299240173 854281873 422145699 848946045 915095793 627693179 967199849 459071203 765814929 833892059 417677379 457267723 484688535 845799097 72238671 511378807 190510519 160746313 362970899 810218061 630016389 986696935 453632123 198491999 694065543 318154261 977374427 92365345 166516261 554292351 280353269 873433523 197079469 753280505 124904425 843745247 531999581 458539389 170378311 784005649 382776915 598949421 893108483 914965089 774409369 523932759 893556605 330123405 745344035 964665967 459730807 570491647 674950597 413122061 571376159 571025351 435483717 706593525 562978571 193154455 772199241 627385363 130140473 220342997 75930213 100849275 818791949 18960513 493337615 29679207 895038547 671984977 215506091 316569659 429967171 964500633 324165507 4945793 132487545 529800535 305788357 461681645 58443257 524337973 942624139 283940445 29327667 829914497 106426073 422120911 920221179 412383281 189004949 384353905 980751501 416111335 709575057 616544407 226701199 302997991 174506889 232438205 54248719 534180133 45190171 689333635 622192513 979178803 410702801 347938997 584914115 611179603 223684893 251349065 999577883 299917163 633903959 742465111 370497589 140042509 244723139 474510115 557782567 693876845 84704391 364214811 213323373 933726827 285285813 560871631 173618927 974785681 817278025 690894843 845416183 636194313 453390113 558057605 576854589 314876079 271689735 957487731 438328797 65073153 502901933 513722365 99464027 448393765 100234667 232964219 145848741 698413803 846286723 967920499 5543443 695362763 409651615 480121231 668070751 614934499 559571281 370426785 24880303 526574843 306558159 145803687 824970895 713897601 678435901 131789761 921389559 577904015 713021091 173794621 163769667 962079457 809858289 65991565 787996473 488113633 506541317 517314379 360148997 850700701 551736987 876258109 809150525 177457611 442772575 176855373 146625501 385001933 298348257 494881165 373582667 28072361 525388699 422427963 273146455 822119693 315166703 205219767 154622769 636800593 367546405 275032975 867797881 318154101 343341679 942777205 318200119 123512097 634837477 825096005 90781139 853189537 536555913 589578497 126917925 708440559 974359365 741076949 87332971 196794025 301909225 344546069 596331847 608415513 331778351 213365051 658527947 940208681 197552825 468241129 462084201 860067189 530444557 337746925 470981887 114618939 876045729 105967161 808863185 687305825 739047627 457168617 314422671 770294135 942973645 367985985 214911307 944785845 184240337 469979049 678614407 217981689 446191079 147559095 441239843 491579339 584975881 264524835 405985903 697206873 961630487 321095125 207736863 207525757 208844253 388937943 284933201 985195443 354140939 474240601 159753611 550433317 396816951 108722873 496616889 184049569 150948583 850647161 192555313 34324893 633542019 108066119 973567409 635298619 138896475 65267441 706300763 218029119 741476521 589108857 897819073 782477339 562360205 886572285 428717779 158293735 507082003 526787273 478226419 53131871 28302633 731433553 234957539 535007979 25683627 110992179 96990931 163040923 512552537 958032173 470478165 848577063 872611805 539467055 931913065 751371759 998898887 711651401 774048883 981739255 210907023 845508279 783421249 677792241 515987099 675413213 16417031 164004915 707335983 922999367 871580771 90679483 604939903 427478181 910650459 242918195 4248741 613599447 359784283 632359657 80330657 430167003 383564343 65337301 352326747 904138721 248047921 67376021 512434087 118077241 771415273 388440689 383185725 898083681 941260143 917328983 414773949 775366649 323923257 674425825 812777651 922436047 946400289 685832011 664659341 877146579 845357679 498906495 407381669 9150501 669323729 742321931 72326463 110588677 949298777 868311845 104318851 108184543 139932039 391915183 512435071 591370821 853101373 274120493 23571505 737683189 546297549 772444113 162449015 339733711 464594409 359242353 708658715 417248737 950604719 731414157 995488463 659892317 957991843 529426509 189767469 162895261 29902517 387280765 341006773 43518759 401403449 834773655 819215311 70838181 438350571 244251065 307166413 230228459 143289841 14927277 909959403 670633459 822860249 559871197 537140807 345272287 359694743 868566629 856980459 224023293 545305995 630984963 921848521 427328703 841387639 7707165 678865595 678540225 270624905 654797507 208300927 898523845 909017687 351662251 428335041 495991735 696376285 79788855 567499283 153304747 809022851 863302765 737411051 29262555 362457363 336770557 55924397 240409515 108380869 871841851 57791137 950205349 479485493 148902697 275914233 936652669 676280167 238634863 599676367 287577871 896186825 444757339 383755041 577170527 527312691 753636323 682372571 568408725 856515295 405870505 83757007 175291655 699414131 849947121 477052339 263249455 957991677 148324269 249433131 183739569 83540465 756858995 251421887 40745559 179430957 716531587 566918369 205810965 57030391 676260549 247125225 144337927 862341371 560927685 69818649 317111409 970011469 179365053 112146587 344425659 652743279 438413707 646964865 834048891 951722305 998208183 789198017 397975149 167723539 673696881 446839103 431913841 963128219 81739663 310797507 573109651 932895219 662246031 693076477 977190409 396122021 369891483 361973385 346984235 736441497 755202177 960452073 960089983 838401319 399818681 518680195 289384109 745843469 453926753 153383593 976304779 319913583 477331265 481665429 805297685 433018073 545045703 88741481 217162347 506317379 131472909 684891437 196357083 157958665 956941519 601410001 852583125 217191921 528912757 110395185 442561273 410528037 131582993 606735373 615835143 64241471 25611095 511833615 699345641 316475193 569664425 874736327 387658935 529450619 34994187 44641455 443757479 391024591 770197807 523310121 427757599 443243115 230967405 220275325 862886315 566099693 483202751 388648155 197068285 692081755 59257299 963788639 105884657 624623393 132297971 103939081 278641289 298443797 623613465 642771395 354241009 110133621 313788643 786913117 6494331 556766181 103242649 559112849 898712485 202419057 592505899 147104511 343943439 221915281 543834927 553289523 10647431 632014623 32986339 931812253 174561279 313807717 849829425 25153429 975087251 750347531 829078439 128408155 262304645 153023019 74927229 599694365 514456641 959690303 605594513 574737641 523853915 484495661 679367275 339299769 712034445 824919619 686341689 304884077 137291705 568349493 510197459 713446865 673939437 828103457 846149051 308804755 100924765 411636621 149306643 810372687 623083361 160217957 809860271 115151237 427726205 172799487 70549763 632880541 691475549 551067671 577842737 953759211 636516565 880366803 711124221 852249255 982939871 978278083 603873753 68563441 678046367 194315991 939818971 715673301 14198111 782753137 346920899 177709121 979961491 375713619 679606519 604717073 680550615 875698347 610766983 402291205 325274351 314458129 771846187 70991557 434468547 915653501 434356035 756359909 607709801 732885337 219858899 143010267 76738331 951377777 991649163 244589325 345129533 714196473 958506693 682230975 493170779 204173967 763773823 89812261 475698725 382133559 375439453 692468569 368089977 265223521 932423091 840695385 175353947 639853281 243837559 402325523 532088819 696419059 891524935 379188819 772357527 39332669 663751019 869944279 837573571 16454349 937955281 18215741 822322455 175876377 610724369 925477391 220822369 530088699 135254891 548329921 410104465 6545851 125986759 426876071 279670215 759412741 332259507 129458439 838699585 23138543 846312549 83697159 897591919 918731511 509234365 314598585 674789601 302147329 631559237 101689113 344486229 223255897 7406889 335682309 527444907 597662391 577922625 689849159 200812785 921209655 789149709 899313297 654031449 80005981 466251699 165430909 313690173 132116761 779476995 772333193 296501027 76393149 268213365 633741089 962549941 88653321 111281191 153637527 723732677 377244961 746711777 783623201 665887825 416136083 710937619 260166371 660707961 666106195 8335827 485905637 49304459 850324927 180496863 812490265 254031865 162762397 238284449 413012311 187063135 766401817 759542311 905506659 93139327 246616265 386052391 286910947 439341893 832087209 454950915 888527977 52509123 229834785 639449025 983171439 65740087 809181179 758532879 887543639 962618371 36700527 667353415 709683049 426334129 286807831 479205221 911849687 966575605 98496509 279520529 255831993 626601387 172705417 648044445 444175891 574065621 867882899 541432061 730056907 717880479 843332441 552906449 808091827 23397469 592594559 941292387 567152005 486894217 658627859 29664927 76254435 202522823 329063817 45714717 689302357 388856801 554175935 27241757 645459787 211021003 660178937 129194885 475340835 143422881 206618599 604308197 968450841 230008485 513873309 368448117 546429529 85482309 545318039 970088723 798103539 25453841 451239611 20078151 416068833 19367109 952469335 137562433 357039109 326376773 318295073 502967765 762590501 230057627 306379827 817794951 107972087 156378363 724370197 712780411 431402769 853434307 446336435 436656255 761476341 93633649 375390565 120298511 761224973 384804277 136687843 500205895 615767721 802015839 543916887 878910189 703443459 960677483 992494923 857025397 343117117 264975869 80788919 322324465 395103581 41503839 705049335 61803811 428071769 333856007 214437839 788967027 255767303 451807885 80828015 424607469 554629673 574269879 734632299 226439243 186172777 554288239 342411967 49555949 732692309 876735175 826573009 765551575 928113003 595658747 321004911 599203771 636022539 752112495 215716557 935459823 716015229 854955439 793797257 797901427 722649073 20984685 968458409 867309037 357078659 363076739 787730585 66647213 707235123 585208567 893478959 160926123 363983337 545532403 762483367 992054149 657567865 220618953 531269545 631185795 623828379 568331767 185358399 621266581 990523887 445231133 439182817 6605903 127545601 183428873 337702761 967538165 353469503 890314925 398898719 669379947 702951941 207017509 609469105 720431167 219347091 7528115 55705649 159238829 164220177 741993667 260665631 937338513 559220371 851018983 251611743 847374961 943210257 298966749 683721279 300223103 867633771 458274437 177495923 199083923 220789101 312750829 816788505 526256169 422190789 416755015 542512309 691468649 225566223 977984495 773910839 158636069 362468553 548033383 538806259 774198737 817238369 348801883 933250213 133111693 441322019 615277471 791955829 676871459 585493069 727744813 969291757 902400511 269916413 246117161 951329283 538683449 594251327 61655005 185050901 487799183 766710785 239719869 860725995 634720875 632185117 191105125 379452589 784035037 883366487 642384279 321455091 245992343 240696661 422485055 578257339 571896573 291226539 229907825 222711655 149357077 870999503 471497575 688622025 426111375 955847207 167538309 676417555 287761089 30886391 904629845 55856867 295709353 734582387 540342925 457355069 324561137 633006003 90852869 834848657 301952743 83132347 702899649 318595761 516356225 2080625 156229615 804898525 516007777 189289897 247122143 749750969 152315339 589318681 425776141 501280339 563050929 32873573 477221661 40805921 993183147 304583445 942897881 858101757 428132853 721981595 962546231 480974895 305640311 200909905 597172559 274937955 785597635 872141685 743287911 119047855 499184397 707592243 663459047 62585999 265657141 265786013 851765349 58033131 788251333 213598633 754659229 870998541 31483111 663180347 831488367 844710061 616495991 478235 885670889 43581669 858907635 45651195 302676283 911482431 758244993 369044339 544179397 509953443 669978865 708409349 844596741 88526441 775026107 261146651 362510251 688017743 648661245 567980807 668174471 902615417 795176319 188915967 591350935 118029173 603915183 488044583 388751355 887246903 473414823 797782407 700554753 332642333 530701603 801555985 436599323 752472557 763632781 750008221 38474981 931767763 555141619 262684653 861284127 708346467 379325195 325564331 978357945 277974943 431821111 301471079 117808581 172993511 421459581 185732251 315424635 533880075 84445323 819868841 704225091 625981761 555026361 241893337 436911013 780846115 869440007 707587677 822555477 257991097 121025563 363560781 285655599 475253103 862321223 848212395 976658997 749857565 149229951 293244769 999593619 613777403 532231779 44059199 94440603 892051891 98484797 468716799 188030667 17580881 434078711 529941059 773140421 93785161 524517165 988946833 445108051 147250551 365897501 752224863 247146857 976055333 602668973 518557443 47157027 419972861 105370733 903833535 507481027 970761491 943873429 62795197 889257909 534524647 15584003 727656973 213333389 660343645 575824191 240581289 906650885 31636675 239480951 800276337 204739585 639720399 170931077 215175985 339700619 847483547 78075109 247233177 758458071 944393647 611157441 996497217 170289217 413918967 188414695 32994475 2021453 479691977 176190413 643940671 170918051 872714465 268309909 982940497 986875161 68118887 42236931 690328089 938694825 525730277 417065609 598298809 81721975 354494547 255267133 241403191 18610893 573306381 266131935 975881609 381918241 782167767 882835671 834929795 742582283 407758303 445842481 670616811 134153809 274638525 455313575 622616169 719953371 256068715 897355929 151380109 942088127 376713295 692884235 998434767 420042295 742932789 240668847 902013589 419549609 421481559 712952537 494056995 117713819 147160141 183085197 755124143 853351365 419294749 628378991 993370957 343423231 863577143 70742223 879859971 609495119 646690159 600758437 573957049 861683165 543595521 250016399 848928317 56586241 360842901 8221397 843369549 126775857 874045749 440639333 683282823 13842451 43504215 982308569 919668855 838098547 650322907 259625325 544652171 124843075 405427715 233182219 243388959 947117469 922336381 5151039 287463793 850388679 807062881 110975557 240842671 370078507 767233063 375196663 297736933 597685851 181912249 881908705 616771089 122438933 705030755 85669679 863637521 467642937 361816281 194085817 145960111 481106901 367834423 455511807 191070623 197207067 20991751 229233961 915860341 374595687 592415027 997587459 482496183 563395131 981081359 120295943 105667787 816287299 529635163 514895187 270671621 426696017 937735485 31370927 941127067 971127651 678404415 104002187 106521265 812514971 53272151 872606205 143372623 886617667 176975587 833365445 142835303 406818767 25468841 205500745 822069715 218450907 656743125 974782361 701298513 172990761 737845501 617086059 486658447 367275941 343830047 130856737 383865113 328547683 306886301 753032129 745135979 895117723 373736521 406619641 23499239 62478261 331536725 384733219 258738903 178080313 240021341 280965691 736161897 458151901 866962539 828890347 328803255 290745465 710714855 36833921 587209667 829250065 601844139 498334707 122581111 906283473 599852271 499721187 130722725 466714381 949563231 544645013 400559107 717708863 657648641 757026299 527197749 256335883 991709775 407805099 9367491 709393467 336367911 884972773 741257247 340597957 563037641 926705295 531620257 362153665 398933735 251054395 43330187 751165811 431710613 961651997 787577863 640430921 317479503 28887061 881901863 870735059 601168893 760222379 656877025 290211789 572252393 384957199 7387161 144163355 562166219 124307991 960944791 360709321 193422013 152781377 816934411 219410183 239009863 974911159 488727571 958343987 115362903 967699527 843390507 905606609 144540991 267282537 655955135 48218763 142990527 811609147 903367199 74016563 272217849 280568197 859481989 714077893 419757951 125519285 372384787 774381669 660717123 985395427 54315473 994793567 737387683 476621009 497035439 783676709 218780771 612631009 893807497 196763217 629047475 720494631 975033633 859231145 613168935 689025623 938994459 922540567 697861819 383053523 473861901 350071981 192172757 512884383 733704049 590142377 877208643 464054381 426095267 533959531 834026043 406892435 906387441 644375937 85505367 375610641 775826569 278857117 344094367 49073295 271615623 936731801 301896831 624591705 750239723 547823995 881002445 629961577 785448863 504074861 149509831 93400669 462771315 268982721 30440463 955860605 44082209 810487541 342299063 304378809 501473355 276331947 415100975 133912743 201415031 708187821 638945113 239144325 83257883 191631087 233190775 529824573 218767757 254364299 307354169 869155421 658090255 618728393 467238835 151256093 142524617 565237263 618114399 737370971 449719503 66191601 451231017 921770397 476919321 444934957 18870871 983520279 724859783 787618213 203042467 513859739 295290085 624580707 430884139 888633003 259335649 714475931 971851631 612109935 740930327 732482729 578818657 821859253 454991623 400252175 635041109 306032371 764831515 245324153 477113609 394632777 240942753 476475579 510523039 522789505 209174999 715790543 599606439 829962247 969131227 797936089 129503255 404551155 977726649 843743523 51581257 443519749 113291359 640510499 101806343 610884771 352902057 325401457 684526969 30952925 239835735 353441745 675664695 91178603 634285841 780751663 352974399 440154539 718638699 474527647 924374261 330714535 752743901 162734685 396713765 669786633 950217415 886923977 719403271 724730669 672511859 817644911 77794871 898971919 805006867 806097155 821258939 876220505 375753153 370442595 598231551 553929561 731892605 531119245 123294167 510972679 170905391 994286001 911068037 925458433 386578603 369251871 85060265 503986575 83157159 637768275 690757203 723568287 989218759 714088177 87001591 374243017 83086229 830657989 234078837 284470093 562964351 519268033 44709647 236383763 657854943 781445887 355936371 256066729 555078905 110996933 954816951 397222213 621699059 824324987 438462809 467230151 532767713 721201849 778614331 698694329 872837817 322134325 581169839 321625671 608479839 184647381 136289125 652878153 592864667 504122021 46371455 963102271 769197855 229510615 310908033 707263055 680099461 159700167 653618517 390378057 808424267 243691509 460872021 383398309 71391709 811115793 839794747 990436225 521998477 131364333 862316077 525210021 239862929 348587905 287769785 863292801 15309069 360192757 347065299 210672425 788187145 583552657 411231449 455402593 656154999 346058441 24669073 946611085 48858159 897962295 943268135 166401725 510008053 266151329 936142129 455415463 82598255 29189361 918448811 835079597 919346991 685267515 860488957 395927765 591354545 488705465 418250481 51576525 874908753 865891789 347119549 17523437 221390685 273610245 928852481 321667639 338308869 918839827 974961855 670010445 479459169 53392595 895929959 418755715 205702261 40189255 981556171 425321677 574881063 92984733 374554923 640909515 2646601 361825315 644114219 916509383 343003029 46289497 22663127 240518317 907686573 808060897 865239463 402982165 203120153 826127237 962817655 177714749 963386955 187408443 686066829 656773905 701336731 818224667 881582485 18032667 84383307 785083241 132203939 41886869 504087941 478260625 304314937 303546717 795606105 660327463 125157175 122599931 22780353 144888293 29613037 801519005 530518175 842719151 974667279 406694429 322266299 895277455 464519869 3214073 492698565 259766715 323754361 458483797 489710169 233919883 785005361 57874437 915399927 636029573 973644091 495306367 675132169 769079121 827984469 437964769 462791647 646532805 805400993 269088497 807581619 849271515 698757041 49472035 322391207 625855927 468223863 326787209 283465665 344636581 81118033 638040293 550752247 663421717 100668931 300338335 310411039 654924711 446494653 165563587 286414587 436692249 416105745 17420555 298700853 327792475 591325183 798020311 289405277 830943869 182449899 686884395 100268525 944355773 60012451 901661881 299904325 666851451 38500443 390884567 364661169 153122117 290606771 624187013 737390943 63372491 59878059 631797353 944509291 906916589 304773557 839728339 608036053 369958827 200660901 844685499 834161029 793311279 681022393 446473407 927411023 93157841 39127955 874676775 745736427 486946567 635414597 791846883 988796155 473233017 844902207 85460871 362168581 431161839 369954659 58844247 37217917 971946843 398916083 379867189 78913469 504414685 582523295 252339893 532768005 447990965 987531641 319723533 115114367 890909263 797412353 264896027 445841465 972331837 126992923 684435813 784814385 624715069 866275347 788312093 411121221 912689713 262686369 926272795 981959745 468226339 499160545 345934555 950624723 418586951 676336217 806145157 634523287 945401 304095221 974507243 40982027 661499579 287390987 505718657 724998301 108235321 471511383 766966631 316601499 31725381 467785471 111560807 774886205 116926685 727474065 629694443 7035815 594937379 462056195 365596687 533444579 316956513 281049775 471306385 683296735 108915467 104740957 711902679 55218293 521202365 313222969 237628913 516078185 863910459 253196507 156299671 972897633 438840941 603506747 503824679 615405297 36461161 255976131 842245033 711609233 372450921 773789501 103357901 652100001 509118673 965279457 726579431 470497387 691840299 884494411 74844667 408908577 954703147 926040193 246928045 305510875 344420781 71701485 721565259 95918237 139672501 299954537 129865425 455040077 926524779 272732975 999994843 267015103 259940645 779387877 115039151 627933353 623689309 93728153 369541695 618227375 581637303 555394751 48098339 714337369 564503295 823644469 971810711 208232473 533659173 476410689 890438531 830809929 217504329 776515215 76112505 123674919 225018281 774811445 448958893 93872607 917454261 57129649 299446783 833987459 392244733 625129189 874100983 219346185 352675133 196187939 719674821 630150997 275281497 494679835 878406719 86101039 9045853 242740719 986956773 609344329 506694267 369634593 442804957 594237755 116143373 547494305 365386999 689410185 49228953 201129153 906512043 770085017 916046793 900457281 128702999 745961661 895638383 296830533 513267203 209683247 505052551 934160475 543798493 819460625 715904567 343866999 542109631 659848811 90794693 982781687 369186661 649361711 670658217 3137695 898009913 808822837 689609341 164503455 282900553 734123839 886034691 305302155 444907083 608720119 226955815 194646367 45770913 367691245 641836539 741151875 990139217 167405469 466059709 832473537 693878281 829270371 671487693 219775311 982011169 4105101 510682553 338779341 981508761 274831947 805869363 752491069 159986967 741107893 50224407 727541005 705285869 598244301 182315367 591332627 760096015 194219389 831152975 773542797 281788957 584170901 59288099 585079839 798225759 824094927 143727707 459835349 924556741 766130637 562216095 362354215 507570917 264617495 62846135 156552177 344795135 750270749 744802455 4119161 20520185 883534139 779738971 681363561 466293091 716849841 242196037 438175451 51563381 365127337 887208899 827438153 399440141 493866547 560446563 314747289 392565427 426440009 408268773 196768537 217301653 887717837 754091051 335963517 906111373 496275077 728235071 246192869 231774743 291759143 554368343 243122129 683663709 572154953 227395531 396019253 101547563 318789741 882790943 934635617 508954109 478226171 116856831 267716627 146648559 540362311 837909823 339773811 840407495 15567241 771235033 398546443 218146039 114554851 32411121 105011155 242069 697665883 66819795 283929125 809321313 676439527 191523823 705157323 790955715 976138333 698300643 911299821 381187015 640424829 660031859 136381477 838752551 675683061 249033863 980035435 452755779 557529171 152760119 302865449 227520799 551842833 906247097 953131819 882410861 457378447 336462963 384976293 660538241 849534231 795693807 42709557 750965855 361493213 697601763 382921185 350765483 893224439 150391079 778483477 715969205 165594213 936602817 879753895 822325621 307078421 462684123 688528083 252978569 871045845 308354759 815430207 550233913 993247069 159446785 114500859 735588467 996164689 289354799 407397751 442530769 251836987 124042007 734256021 390347663 967106953 662001329 529174935 649915543 653987735 379793175 365482795 470876021 689612707 423205003 349428839 392485221 347183579 330356343 829045449 35355969 111245901 592752755 54613557 229310613 947732977 648997173 947877367 463838349 11022763 474440101 692125639 878670081 182261573 772321739 150158529 813525873 725062765 87793115 162782827 304771075 924207037 863632175 855593903 18395273 198261177 548990285 973566951 181255543 908367303 913319135 305792461 574828781 778043707 39941305 842701959 443068851 172829259 35857619 386340515 777742905 230580507 686753109 962052887 196656533 502642357 183714183 264249917 563201157 770672135 226310877 421994717 981829749 579001579 542238707 763526947 902381679 763077925 433092491 30640037 957411883 857556315 925078929 771621985 100247307 280965151 700100121 960622521 131774741 369591533 353036381 784512893 442107383 61407011 317886401 485100515 571353099 876399883 717149391 232995463 539107661 303042775 978464315 870414189 778423399 328344479 461000673 356271109 115509671 620419173 294224835 983884833 402318851 999916821 804519695 764610817 325811739 346179963 16194323 768192073 950822201 771696211 705837649 304780551 767926857 447420991 116020581 428253359 550542051 295391431 915997217 206975519 534415943 883925341 954389107 570995869 775489115 666514009 333536633 147149525 458066609 484615679 162776183 67928541 730350973 504782709 199995349 700917809 173101215 315967437 210843177 539592375 423982751 756509953 522342701 883171775 825955245 88150259 743758533 930185209 360177311 530559083 901162493 463829895 415410163 52347419 314063879 611046635 55519955 200246171 624626493 228080659 187194381 167878765 190105123 874527061 161344793 878454523 284716135 196719 750061845 323427221 631899609 130933637 406066633 377831285 394362231 101845029 645211299 170723261 826478177 937662531 267763643 724170357 113106147 18783035 106233043 859681677 432845171 215386839 678339149 800030691 442109867 912489025 608004157 66413619 980696907 199512845 33312599 873382953 606604611 47440957 419836413 345798485 161294499 968041777 419941683 886581809 154960809 788316857 557327787 876451613 770489013 694260233 659538107 802189669 710965589 685285825 71061859 96190009 85872443 43280609 686113099 624877489 110335299 226347485 968964543 146976207 711312495 985258885 4647097 688151419 807722217 699223063 755651543 777185673 521452297 952017979 224986465 560021425 661282375 706842619 66332487 101658517 721006661 956704719 922368543 248513467 45215697 818095507 637503527 206031001 604121565 520630155 870017609 244373893 512175237 84670311 535384339 821963713 883486731 322507577 316578237 675702133 453037019 395282561 625597733 940144821 201767305 867367203 185122513 46470265 553274829 827144813 692553717 375564707 420360591 357947411 490808931 104263673 220708055 564949811 559223709 611445553 715021785 327938387 967170507 564035039 761004017 239935327 984357051 620534921 721962659 49046701 735055587 76901015 447351447 445732345 738689123 311608665 145845923 300495467 549831685 232800519 903960769 216751245 601041973 32120775 526945043 390298967 201440779 883615389 603357929 444840739 668954183 281851005 872353201 140443321 944929871 258897729 605090313 668572231 217921331 130865321 588539573 251981919 262434475 296722781 508231581 601800961 170722325 63711729 398697687 533218961 238279033 969097693 169194397 357925083 806451847 806431361 812076883 157479959 535747989 422459943 316906115 64868321 710482081 575658753 494878691 76916799 338531925 346044969 737711435 180734619 718841599 589927071 719157441 449434831 791922583 446783563 220183917 601586709 856996539 978178817 73262757 753835029 722315185 496848247 279011045 623025113 182290285 96078417 270725837 171860695 898255745 925900057 650189865 616286701 413773103 958224189 385732335 441924193 505263199 399166743 923147831 375634657 822035613 818831595 257805639 688775295 276645925 693828575 256300169 653083577 512287441 18163463 667990671 31971703 812724525 742447193 865782037 778217475 995410789 939259321 705574913 352658453 28111441 634918383 970882651 340073417 75676271 626405805 743867733 370442659 932859627 202424973 225456975 42207123 971826319 940026381 525415113 920239083 816136405 130989721 306791791 811229291 770741467 672902787 823372563 65366327 267729513 56035073 366727347 880064477 422968559 175806775 449660783 142864465 555621505 843746605 665460117 805716979 314472675 794474197 999537047 384226435 43562105 53617929 823818513 802907443 134074707 204183687 941062597 816762263 804309543 565577467 946921631 415742125 237517143 807953909 909767345 909455831 872699881 645710833 411738681 151025125 109777547 833267021 611784089 31985677 107433621 919359827 331337819 405137643 919940359 459376435 418686515 775215491 781800841 637965579 73489405 286304835 561138537 18046679 242661051 563689475 234097821 431276931 527261849 762517243 487974085 252982751 61444587 951338965 86933547 65971621 844551723 153554589 875410619 880866935 966968571 738361799 579537677 274543837 497804075 961974577 311429471 777023305 958636457 988944161 388124829 1661715 760453267 579848001 825840465 307913085 198168619 441499563 609206965 637429937 951247327 210963929 518216615 408866495 768310589 959941043 264071087 629950113 172946695 646291075 98599931 63934265 10839065 333892095 973087845 210532943 977825925 604558661 394839659 806465427 829062265 292372955 357787697 736308641 921016147 491949231 255927179 601708281 635246743 176209683 47791855 478218501 23700717 203977157 506286715 736953621 128097067 970485229 389254901 781249891 49075021 418617879 367097551 466832401 192981363 576095541 430294817 551427111 908669161 816278441 570578599 606895253 681537317 965377591 23644873 761436983 517684415 606735113 706827929 610614733 2726013 339219129 431321547 272838913 812295239 326185793 131927489 576161635 48222773 663382279 688520831 24702061 877553533 526789593 840987575 649879423 250605445 883094507 546590655 861631205 654474969 808996571 722206871 372574925 689033259 836913327 935967973 820477011 939073365 774201555 548658937 648907895 821492829 879707933 271146443 816418083 702618733 423340233 966874617 301737511 726940375 670817663 677493963 276225083 538925081 947386953 62214959 601260037 80041683 695800991 418571455 133611785 135203027 20870493 922784953 498824893 373599243 949834183 494430977 789948277 303996309 474726539 306427179 509933943 175427255 453952705 486461805 59351531 80210907 451452641 215848355 763303393 695529877 953515989 297450073 986388305 146608543 575447017 849705403 553370145 782080987 790663121 935073955 847442709 961529687 263472555 75830157 926059745 969398085 144371709 339087777 109153567 452779009 690939059 829029297 703063887 679921677 627225633 420618033 75851737 858070293 565171209 197223233 371314449 413037293 998874251 188182443 699379757 399457935 917081911 866647513 25107027 103204637 945237505 85440487 663699847 982824167 856859721 959426451 877939133 948773979 513846225 440625475 958588367 562885399 431012807 568478983 290507387 666419933 694516161 870368663 856877935 925482649 467364029 601652049 768313399 453073247 766572575 232003389 726453073 959660393 486511283 135673355 437256475 911190811 869221809 732963599 596598495 231014399 867071925 87101773 584455631 364200395 709747651 760702057 676697093 246911319 371576907 77630897 863944575 439259047 442238497 680064801 617334569 646289129 408002433 754589781 203711445 280546157 497730321 506923923 694619449 464870575 49451743 908639437 106581241 145825875 970330463 758344859 115715487 659595555 312617071 283745593 349697945 925118485 113023573 396426639 352247873 439344961 909454013 342747695 650699993 379755245 846323645 782953549 817072011 659653249 794067153 434726089 284608617 570128275 579176417 720426795 949847145 766290655 270546487 229121699 951586415 34188613 614052235 827114247 167608899 237238993 329666809 635977175 664803223 360085945 354293253 947236153 168786179 436433751 225799581 988650237 83321611 453442859 426874137 893901211 571751701 666652133 5549875 917476145 800691315 381891157 674067217 631725703 296785759 681369721 646992703 413219339 363978235 421300849 251389621 982318295 921701711 707889035 101030863 186442151 696948813 584880953 473085267 808231397 658359501 480445973 667452269 410327199 851527825 105052389 745298611 650107787 919993411 851104147 418437409 611418635 316271733 149272115 75788061 87523363 31951517 440104445 945088629 693390215 635144221 697975897 248350047 809954441 688234817 612069327 350077813 364774187 860571705 111965459 496178367 80561171 43845661 591316991 30106283 861480851 714920431 54072473 199158027 827487391 707570585 96426507 80895263 301856727 724937963 723929513 117856393 463584387 951924383 150302701 53407835 336503699 489849175 547559801 982671879 633644189 383978139 898123805 599321707 155221729 977635291 400583623 820122827 133231173 273644403 59645333 633263063 394217049 353974179 891479753 558464161 767931221 413478805 26523599 243958699 679689495 839468121 256142651 737818581 920413735 398583785 191431879 680555887 949025971 560917031 955120213 114394413 999754645 831897561 715452149 35244333 312476489 458984373 665127381 196634101 772923129 956952913 958651731 38457201 867137905 452109871 403745265 191679479 294963757 151622841 662836061 897898309 992025671 368596287 319232871 948643197 943358347 675245817 271055115 868807217 385964901 661717261 597461869 490664273 262823405 767711615 432803543 866297919 660967651 93710405 545809343 137089725 26611375 403595317 768842685 776520187 794653533 448155153 130400405 392020363 544158631 919888257 85289781 536119917 242330091 236679193 686296749 571323909 79766323 402548305 900020025 570119457 685153833 503980681 277443901 718804213 518134825 367629325 222404165 867152927 654478385 781277195 748322307 978376101 579854823 342039711 357274449 907025395 487629467 895928263 588627253 480827357 677837381 252365937 187873751 107620773 433097347 240775019 259694989 445950443 740298141 237086829 865872851 590036671 406462849 658749213 805401161 800872087 328737481 584519167 868255677 148891469 750755249 599284103 550593313 933672233 91221283 519036175 732996751 904332761 351040427 530010071 468960845 897646959 713360005 415971335 401966533 443126635 182088843 128063411 254838409 295091631 154231625 122745809 949406551 886193037 144853995 902402885 615456015 123707575 798725705 447576025 191481791 821634123 530933219 948669755 86604697 383354829 791134943 137461253 868423161 256197677 192436495 892913339 162378337 52317375 360453351 92795075 339209597 466982975 397047431 246011761 749737503 914665427 620002487 823440123 479415365 568568329 401400295 310164357 267000335 156755925 209878829 266822681 368108235 503523735 777671495 268649381 2003949 563031055 193428383 805418499 691883531 610137969 634075971 671102199 653502447 863392333 648544235 168782119 687790463 82446497 912135413 78062373 341231311 468475605 763008105 702003309 558724381 260369075 785691637 982065245 597602251 821166707 964162547 184061247 342358883 865860529 334256223 672437061 725874329 722776177 936436707 985246087 440802121 314803233 698902219 933184265 888909687 622277273 443513363 45180849 944806987 445953811 312392277 942887761 830104347 86134581 533976285 683195555 896454753 728269837 96849047 474213449 235651265 577481999 829616411 716912075 916364805 481623321 538574761 383785115 549347875 879318385 834086951 621155601 864245299 342170819 671905831 24851313 400973689 349658659 755341277 286516961 448117859 669531155 480681769 52847731 921617281 40108403 378165395 344128545 106355855 340935827 965234763 956800461 276922225 414795817 905718055 919013439 64931633 298302031 316314533 720394281 944690437 652927375 676941039 158860579 384180037 430900177 467955667 598850735 945533559 372204397 634801609 901916471 904736835 397561889 110612975 791128843 479470209 383690769 364513291 165596517 440541735 532332745 843975569 25308007 522722395 857101889 727678099 885783833 672422761 438217173 413979861 302382189 185647555 238632267 903345849 364247611 550193411 900074957 840848979 607567685 985031919 947465973 313288279 313654069 710119023 806557117 804258087 971158939 343825051 936128395 70414279 744243441 263792553 239161133 602471145 76661143 578571265 665017305 799763427 672375001 876765481 683402793 950357941 15492583 166973145 804693285 849705477 321029337 470111211 739217721 94043173 312795569 176440161 820377915 875337737 240461143 976111463 594113897 896610129 511761569 278870095 222206567 226374725 110171457 620359575 273787969 473615573 192737503 872427231 651097967 473295767 280914945 570112757 461820363 71651529 778485015 782528715 593712543 622588757 511512445 994470013 895362195 518664137 262367859 115606093 648089793 981478237 252108835 710421415 178756003 140222701 829125275 728464927 907491103 469122565 334110425 617888367 160583299 51345875 324600765 871746427 239969667 698120747 78904589 671434061 763395389 882884239 725377151 746937369 60783415 369202471 492788903 7317819 59681885 151552447 966065675 494679605 97311237 170737875 204374035 925020083 456570603 882493565 702103055 264148617 126891061 272811401 602779703 641397937 451612275 386719331 957864113 693769295 355946133 759901219 364344961 425332397 539309309 31617929 446164637 312333119 834783341 718345211 7630041 639924899 317313299 548021897 541750011 595175831 409849223 980621547 916252073 835811849 4061633 140168831 901290359 52461581 718943275 526160717 583811037 832720093 140855953 34551045 805517883 882387933 91613991 753188349 666642139 175966105 734640523 88587315 147975153 470841537 475696577 381380177 870673041 933373237 204231993 206042789 684730305 296545011 986220999 303845927 21013351 20127019 752558759 12847989 605982551 659679533 488097663 194299861 254963783 840186229 599963997 520392763 733615325 545989799 546361783 187047481 480440477 746318991 358044007 995850001 242588923 221212445 466033077 834548395 680412753 510534513 292923725 990425235 372023517 769305803 815624005 335359749 604252107 927040405 925723 682172891 95630381 992465509 566418611 661812129 376614393 226651383 764404569 236540033 14796051 846001963 594380997 529544537 595766341 950912527 955471123 993053857 980922941 410324181 210397895 267629447 454990997 309187543 235084753 287642325 671167183 564068251 978208387 939354629 537311063 834793931 442795165 583973429 932701305 320749625 704221763 766367533 181153649 314697187 536521987 9314397 1800033 87420393 163386577 553049561 774621779 116668569 289984779 505778533 11312691 291502693 674084215 817025381 962474465 534168809 873962817 308271081 14212121 302541799 303117823 157868455 923410567 791381579 166339245 675929345 624896189 658572585 925236403 683499773 857526577 250867897 463092443 835402313 674452039 162165091 903201885 568073789 927134535 745364655 904970195 244759513 231254883 655236177 43992647 595761861 148423347 940373285 676034593 474137167 139090233 768683565 413382201 975811181 760685535 731640213 431994573 570551999 151798645 637222321 755752065 648702351 158401973 281139707 978713443 188815047 121256001 993322519 223119847 79222531 190417313 791362767 792786923 391590529 624974407 236863767 747163571 784979497 76304779 985862411 45191407 658378375 350669487 228804847 131786675 591572181 999337437 917390891 263405435 13728753 873238309 566390357 139215917 872331619 924763521 195983399 3793687 197419097 434954707 966450309 611912687 809036973 467468771 318039417 430422479 709110747 459842401 628257081 630215743 634696205 683786475 42562333 174757931 944378129 713406205 843293865 827375849 599911263 335451393 134982795 964826423 277139731 145431115 156678035 386094137 120997625 193522963 354549181 764939387 99639165 366193531 675431213 544412917 403036089 659675787 635696431 496346115 577364073 120043315 914467123 861274217 405555445 584219471 331226073 922373719 125263983 463030431 546530783 280477279 154112139 266022861 696130357 521033345 205648555 342934377 730495979 78193443 644517587 202704621 832368445 806022157 349573301 259131321 624025233 591527803 234525351 651043865 544025709 636802309 511926441 923053627 65999241 515574451 587734369 842245435 162257855 797579249 271808799 348054041 676756239 469397141 648429787 622452415 673733801 435300315 870928691 522988797 786676703 697948011 565387119 649688973 332834089 309008975 758259325 33829135 148580143 997208063 129839607 938714381 892135863 442099541 433073945 726125307 606473401 379748761 905956813 95853871 899914063 170560377 654045089 661516777 29830331 515896839 159529165 319173719 504701289 670156227 809886509 546002311 848623083 114875793 775607629 393898353 115869183 691952063 683143001 142949371 232288135 297943809 572054057 126676457 73188749 493076341 701742143 619247599 563820357 147565983 65071293 311788455 602029833 991261551 366405751 783451793 316144481 680996665 310927073 885022997 384550387 654067897 256171803 51428743 109374099 291955223 57684717 837670175 50112575 471551709 112992199 473691389 458909721 860569345 217119167 286924075 341292139 339515361 299203221 433989019 426265001 802102085 536918191 706646823 516915055 63520341 122808861 532318861 354198399 751531177 352567191 80199547 900356295 712715071 109240699 18443133 412308055 824533881 411721937 446948113 230050923 462243881 776024649 43281045 814979941 430343809 937903415 583948115 737289941 312513309 123347615 276790909 27245161 892820231 206491683 864150573 291927295 956100265 528972567 705344609 659179419 254098647 695649649 959442951 736002661 446575057 606057677 592077291 123391923 916065339 344237943 621786571 348778751 696889891 75079003 33461061 612518893 500049919 978464529 385496291 316163913 335963561 908038875 505114391 318513155 569166185 96429467 465212729 218196025 878810347 907625955 524584589 197235247 14573125 441435373 819493177 593452879 920838387 840929171 751461711 892851499 984182493 335965535 41072585 387433087 355616589 746513281 515219337 714241071 299153403 899563471 994631767 60773447 8286209 61128137 862718949 216777977 685578985 255421333 494698701 683216799 571562395 633201411 193213837 329891775 209022319 448770699 121562513 490060801 832110883 176883275 318842921 797668157 731063259 741691659 609232785 984053609 569901605 732998457 420901861 94402221 998095605 923967983 624925747 283101263 683270825 889320425 6580075 415083463 35156487 111797393 992581989 932320175 639644987 543967477 601911269 262814409 804840665 800514251 767520657 308940543 702229219 52939125 777568507 132487785 507257273 297220343 879633821 15450687 66990379 485691139 511187673 494275043 723679087 409523697 328335607 114990051 683473951 11060669 211014183 960090353 995511619 271558415 949168517 251905769 454831175 519855161 247013905 328875981 231727875 840935471 144996277 306272457 281184431 29723025 508288065 333971759 831280885 961085863 115768433 535799165 276480225 304332129 787393249 13122133 429497317 966386773 262971167 479121793 737787619 679928771 172994203 435243253 281844511 482986897 948685741 983082957 869704517 361008463 36317335 184746315 162359401 533687605 521053825 211556315 521904395 824808737 969689215 538497041 364466703 378101145 413044361 207876007 534545859 651469521 317742209 554563713 921596125 978296731 770715951 241104297 68307319 605465723 79025475 55684691 245110809 824541845 232325721 641640157 158817967 659071671 757113329 687794629 253893007 197594717 149672565 894585529 843359349 116086945 614124085 200108429 331142537 322168655 507798635 672807739 280014421 240385491 799412791 644734183 100692177 202177093 633830309 330193629 756485209 679721573 250793123 341940621 980932273 767111323 182166029 284511381 933090055 313876211 469799587 149031353 686392563 637441063 423176717 237629409 356628847 860641429 738733023 236027939 191869409 393037639 91006097 918930619 528838421 841612519 55195267 582176265 45961285 857367249 513549057 211955097 459096585 445255683 808885049 664951073 409619303 895489571 355861319 157302649 701024463 23901313 260340523 272388007 548496149 405540629 940550605 209460181 516097141 607599997 919590401 554228821 784335255 295196161 817363839 184233123 919540357 878567055 805534695 824843877 737850293 315601343 965325251 218093665 76004615 483921875 209985413 742011791 567076029 309279661 298401927 552164361 642400901 276291041 280163849 686944271 13088887 304315301 90022451 408810257 35758091 694381013 883029273 501443745 907101995 725660669 248098225 64893815 619726627 15919945 135062241 787170427 752888231 91711377 230253677 648213427 685159891 153341525 402003465 26923863 563080497 22908859 727435855 226359489 770592427 194040725 749905853 385764211 771172757 531259991 174619071 209814553 722405039 862043169 961762727 346436999 140812063 443760059 471072173 635869621 119360367 145094549 234511857 271373515 435727509 751751877 477498237 171063313 591191791 66066953 160309571 370741499 551615299 457796811 895798043 737366053 566438333 726084121 840527049 168632401 491962611 196583851 458154739 984893291 738736355 361153759 4485165 633734535 349707759 649443773 312952301 179494367 107149289 70278643 367695255 202145749 112474371 44408283 686093683 67889145 998311129 966759793 300103603 800011513 768713589 92768095 976902511 574009523 957679679 736726513 633642923 870894889 654770961 18946083 579108941 897368455 799296291 315853967 32063783 222454049 995130911 340501633 689068789 608565873 55597841 558074597 403423315 428860955 564341613 368930131 599937231 399583211 21512211 480714507 698101721 526096337 345783363 695898099 535725515 529841899 467451567 355400093 46054115 656452221 167884907 7015997 35919437 307228399 301913075 620619187 477639449 950684375 307429935 131950727 675764545 284435439 535811945 839742185 351327399 328597531 262067287 458197421 615615507 902348391 559545625 841293655 31574583 315473411 924450353 553697035 506257579 35231567 490192271 463224729 469502705 474671305 460773253 650514553 220920691 814141473 655307219 495356617 513205889 966889255 176456347 546090575 471277911 796820695 354209135 152254591 675634961 910843479 948021313 953333099 841062845 945739757 242855535 557998293 88357195 939249681 601549757 575538981 540744339 560868443 231027547 465766505 924160599 996652689 774238429 364665687 917687361 951543709 398479167 540946513 139080161 120675985 635895783 607719003 727526833 314590123 676290979 621367847 339585043 408469323 19479975 629389579 700739661 587109631 738593427 164104199 429684629 181597305 113702761 769879745 597274113 278578835 643029655 518388875 77437843 710278739 673852147 599897433 322922293 370357731 249919675 222924491 798804919 466268567 133703825 976293673 628483283 26925799 440863879 370635875 969460777 703007611 593100557 110666509 355267141 850223643 820297733 684662123 458842517 549590459 520211377 240232033 830751605 426553975 654037441 560220799 760221989 185205905 996319303 556540669 864374479 451740021 205909187 390427831 462593667 444168373 635610393 680965945 266259257 150319887 930028183 656651695 869766103 457358693 927359729 42170355 678394401 167795649 200464711 695670657 952335309 933953111 50759449 92536963 109070193 248562819 645648217 57139909 554532749 60346311 264384859 545814723 303180175 853550801 209788893 987948695 879482053 92053615 755737601 992420109 897225065 73263777 797434455 887684241 926048667 777291657 986584533 679289915 572079205 562462321 851512533 839390923 600092347 777162959 587350049 778827175 993576561 131109691 120229345 517221343 588159309 527893113 524743853 931709739 1010167 811564663 432254595 852678377 580319997 808574789 760688071 948799265 637782493 701007391 411088965 286476675 811108853 817480297 363834421 98419813 208915345 349640365 775974707 435177413 927387871 543166881 191432005 425826893 746648825 189821213 860222935 674799691 364561635 410293031 161850557 494984887 633433731 545235175 348567865 479600173 962104237 374109107 628747499 675886585 450235673 460430341 680652515 372288265 766967655 832868483 754554005 594716401 243546657 596011763 730617057 844162291 523510457 426330445 855197449 637769463 991586697 119168169 762088891 53232265 366475471 784976973 46477837 372925413 675211703 929807011 758527613 517222117 749237587 822122557 646032877 874754579 330857371 536347351 591278255 142211999 872565871 472282199 568805747 384127071 784847001 24225731 856813147 521165011 94463179 552680531 49796587 896412705 519232157 688474209 809715213 691581211 795435411 671468143 397728027 724952373 365832211 821627431 814592207 741777807 158314607 683208033 44466511 591175665 923971043 436187923 900130345 2445769 223746957 731266149 167813969 201216305 841430391 680491935 410686501 708101607 390021523 897962805 567013483 214113361 610096825 700091585 316301135 735728253 486916523 475005451 902353511 61356839 44173331 521150455 192481455 565009579 569376131 154695583 687415183 672258065 168284273 233214267 579843537 900520967 761652033 437615405 63119531 851451877 898828603 739866371 916255933 216534187 558932369 296964721 446532873 880643073 248035419 386881101 286744575 26126131 758311323 915010977 809089137 828456509 632558139 67234963 807762079 295805113 951017227 595087737 718827309 737701105 725076423 764550091 706961447 476494037 643735051 919788849 473698309 576709371 887771237 854157427 166712483 741140899 575528261 203679367 857667143 479901107 565002755 860019077 372089501 727189949 223768033 276793777 994633145 818670323 163336969 80975479 998500125 70096443 82412427 142899051 477830313 546052887 202416227 504384327 321486765 344918199 761508461 315584239 656783325 360524533 270844791 176244847 355589209 81569613 163772721 191146999 397524643 24820201 204470323 726397669 330442153 917173911 134460671 122758845 249899201 374848463 992695039 628846631 930309801 322491821 745214851 412048889 748965507 534811901 861747397 329958957 530452705 956824619 80544997 971191529 872036021 93527633 820627695 308196211 227781213 376342059 263038417 418157891 11013277 943953185 763170663 35988209 601479077 617352261 70797681 522135363 615357447 417099 316071577 87622177 587086275 993685395 408986479 241481121 655697213 27903783 794791789 185664767 904068163 350773683 119946739 557948315 825960201 825356175 237269837 6786051 693083439 694721721 135034283 174282985 790339765 298606557 268105763 680208423 156340493 898640709 44695995 82760131 747739659 664011755 701654619 558290151 641234157 305475181 103410131 628552933 982062933 823984659 368925405 768576059 488910933 223944139 220931609 381902217 933434205 103045935 803997971 230141085 24525135 292593531 577411897 172732777 366568813 225919641 546876135 798440199 914244711 255452695 609654877 330548925 934805839 599767083 788681923 496875765 430575269 895870135 589100333 208407107 714243917 637126721 83507091 424867935 456244627 616019703 747017173 420113201 722073647 953583537 728071869 213273537 802407229 269721839 941201663 184878915 15521091 579001305 84628527 426794003 82012717 760522555 25407443 181471411 792548945 720404113 817923153 883984591 408235883 845392629 914378749 60831291 73892257 631781937 208061455 13094897 144450689 868460981 792798631 171061523 387224577 689602455 884893391 495412719 464575355 878969751 545376633 37526777 180999863 348920859 714959487 4042697 158491873 836776755 267691169 941083171 949461905 139122071 821386631 133136115 472380351 740770213 846407365 727112525 448678613 934882917 123100881 300164459 746509213 217126533 13231119 251645873 750996815 913023839 726921671 955487145 469490311 214570481 331537707 432444167 891338315 463625695 395522645 972184233 867027717 594151549 859923781 796701581 64316815 133456321 62423267 317546465 813226019 841943367 393587201 884341753 635614567 233184091 924282459 735124817 253902185 233912809 114261903 5344649 410204317 511784841 870775847 981048685 724758753 987764347 742769813 426001907 322677371 452178855 390338097 159745843 608229655 581263257 867023423 266167153 260034763 535502731 555045605 952819739 854686997 917686365 999582773 748232897 433837527 28940179 539946283 497450527 481857123 919818847 558595747 741601051 637271657 771933335 26351213 979210171 512207627 397951931 33651763 910052407 483985867 462709745 264432789 754135527 81793433 323183369 714146831 430584401 451227079 84752763 345250829 22773279 541580565 598509413 417659359 113190947 233846439 323725711 955333057 87948379 205169931 92359271 870432719 462363367 355217717 35706119 520657175 179805973 716344707 416925227 92760201 798109271 801426617 776021309 606995453 54960455 630812935 470236491 571261239 923928747 269470977 1199627 9251549 519882349 148716195 455413471 810078593 545135775 733803605 493286859 682060957 527673471 564275169 942921345 339108243 241288045 257595261 723245401 248908971 785353207 327317193 459950671 441142805 168463055 244455367 683722763 715367661 205019089 902766565 878395615 763942453 153736959 47950073 317085119 435242449 902259077 760021569 22292811 45438873 554124983 996962657 526031563 989255745 660512015 787103589 743865135 593191019 132274479 357458885 629700621 329145763 812488933 613019997 502181541 24696153 641393189 827959153 852093661 988586469 305483269 634907825 727953989 265513353 842372047 900723761 378590483 881439599 125502953 338841197 444423465 398281383 355136745 48704075 223593741 426367275 589206153 118809625 532410095 665986779 436850859 814730891 248556451 272355459 894243423 199051201 797055405 533213393 58878675 8602683 972145711 821370721 664522341 753668589 10973181 736940467 636690839 64093479 880222349 487599665 418479639 424320935 60674299 14249259 591463349 983939477 777973523 752688091 810117997 574642299 41906241 848034145 622984803 104342609 107011229 487349705 340510433 501142641 442823143 701356289 435794267 968820901 189764229 907285477 155619183 310680085 294116489 902368053 421237979 886381147 82967719 483689625 784251023 104065135 551551807 442762149 144583067 183320507 790106969 738567889 379007035 464745227 433922469 953565821 802464467 367257491 890122105 950445045 90063599 67212273 863837653 220650087 816477759 802282795 937764447 453302767 873247139 91657645 953925223 987029645 455470617 471794253 252720101 371793705 607147985 338732359 192686199 799676567 988333851 492058433 10037859 728281231 565200757 620357707 157215133 32299185 371311231 603600597 86832823 980585351 680648455 166801089 203238901 337816453 897201149 957552209 286467129 461877759 972666753 194808627 39068183 891824699 656826323 205911933 515683523 242349663 524601951 895528621 852245791 740151935 139490487 125483687 961372337 609948051 447638425 169899191 24491687 826929787 14717925 957404309 433806041 459793665 872273833 735110493 696676039 136782551 553125655 52650133 924610711 206719127 175859593 416433447 56388635 293467327 851539589 923207277 335962567 728872125 101382325 62667553 942811579 632474077 910840557 406786665 95415999 94865501 308719399 951064787 658301251 174272603 597858693 929938773 200474717 586319073 366019413 642752073 975501515 978233057 858787849 260588663 512052215 834552373 148807229 720879627 904569071 618105499 833538739 172211099 715641707 643876031 163945815 253251363 892121801 929823539 830748221 883459851 665138449 293664109 481631391 990436125 408130033 971349713 422999009 210090385 823906755 706998695 429452429 618696707 847545987 582436385 719608663 574049911 857386203 570642777 622698523 757810269 307352343 180633677 267574493 730722183 627186227 931474665 343893701 219287349 483036361 356149501 609681705 6911755 425830437 172496197 612531331 944815639 187043635 579544159 48890231 43460557 402964363 441306069 501843407 498936075 473782893 96120601 386797951 537720599 152266687 490152067 435571109 287856285 878873873 299017301 487794559 293086899 575385243 955615161 981167483 754984917 903052861 214673343 536119853 195569385 963435643 597384291 897738065 519347263 947703687 428823937 465651911 879862407 483799093 929803751 772268443 912323043 156015881 547088453 510979331 216497365 870628135 605282355 445298007 43672907 817205087 924123957 969718557 553368475 581410601 21522863 380070397 33401731 736583073 986840569 205083597 826028839 152961171 543375687 57590153 910976021 360229229 681330875 969280593 140434497 454595139 371269729 455212659 877808391 226107607 240705577 369658975 907620401 471199633 454638315 384447413 125465833 838018175 563015529 80610869 495498947 672457303 992661837 579908297 776158401 344081275 228633639 133962889 556480067 235524847 667335281 903250859 214518297 687115621 447514765 701408405 398719863 240686131 771593665 647070419 869333243 272971353 594454851 327903255 395427243 556160893 690814761 88705853 979539445 751525105 49484661 310096199 164911787 716059305 585882897 171706977 390901771 132718661 530500301 179511517 997283005 380432397 57945699 230112825 117405899 643090417 147223411 116759061 877532333 988508805 818666121 862071103 194919999 29674509 85195283 395419817 17199557 475127661 611631981 173994095 275303663 461532469 437220823 201639635 996970447 691584155 35698555 970324289 73854949 836095617 204558441 155799373 875611413 709772397 18495387 893197233 465424557 446888845 838541297 902845775 696312929 669454267 951849271 628457013 400214863 133125235 652562715 40061079 477725437 642588639 635018809 73857997 614462039 85000651 30669073 991102299 232762547 263339187 308090635 159892461 234716365 46125745 661502331 829978711 764155853 360049809 804828313 3057299 738424893 283094717 457137285 914732229 951905555 398058067 18720331 446524983 566238383 330863115 916476121 502658653 331236819 43362131 782046219 207990227 156734127 732065589 257107871 131168605 142974421 160520043 879264323 944841955 869457221 343005011 731156611 330241147 596818787 808392437 641340893 339827551 73440763 724817409 704911791 199284467 755918149 343137485 903463493 962688451 57603293 999386455 540487117 350204543 260264137 980299337 121684323 790662917 100972659 323099121 438072837 677730137 35745205 872946503 604780449 297328803 655608265 583961831 788985347 171710011 447393879 923021341 337189353 99010711 343272553 543220693 941656561 124864093 570682741 425033641 771422629 667196761 475589721 841461461 240178295 212801403 647064667 415822147 592486081 563845091 847480873 731481727 902793921 444298703 322647765 120501955 100294565 698636719 893903581 866294767 123960441 215168019 364948265 199966343 561721659 917437113 738526723 620718269 660623817 279937921 632581155 408743271 811085037 430060921 778151845 535229701 826825561 905690067 909716749 884432573 228311205 751478505 421890123 947463521 636989525 740328769 62250417 306622565 332291279 233405061 656907007 76444905 487186533 321160839 873216601 773485237 62669907 445207621 134522189 722225975 281657271 940533983 855964111 420053641 636527771 528385187 723511615 259447913 843120369 15569411 725860189 471499579 651284881 771506843 658565467 822922003 238410045 53187629 139689677 580683943 815941537 564239781 976802481 618937429 430530633 211083285 624876137 461746979 298308017 945637307 136734917 497848261 416766011 418080505 434220795 178492301 299648815 350111577 38367143 96448893 988545983 3310223 108468173 977052989 934770691 196176759 450639323 26115097 124553213 268845843 88629929 99570701 627952791 715292047 715622511 370381491 13140643 749494079 671982551 550067285 298918359 164559261 385326829 882341603 753633751 709743693 935617573 755708659 542870313 783215129 804246877 613733573 696972867 810476021 199321307 754752319 638062203 698163197 765598281 63949555 638838037 811227253 830644673 111151379 772245045 265014981 824453821 566305413 280780275 595206787 929212709 63775435 508944707 181552745 501174339 718748949 50945287 83375451 795026381 704757053 131056907 111368035 673919713 947244735 688564479 171144887 594289413 572294597 110434683 800875183 575629607 198457373 979034881 54819023 887040665 485208127 965617403 961923525 980456985 923862599 3360953 385075809 415061711 631902977 55511669 539569311 908916551 989157081 540415055 798379171 219618419 460865257 195484499 118711737 296913077 915654125 29740657 889705297 527557329 965889869 102833537 932147721 244109553 798676507 660165189 664979109 70037423 246140939 221569893 136384271 977739525 530792061 823777141 253419865 375548249 721773947 601740781 793662143 196061817 786018993 404481583 53408423 548037785 740964983 594110081 108150679 316889943 861389515 943631129 242168903 107415737 696628823 494041869 375505039 802750507 797972843 317289311 186515573 552998787 876713723 435012599 867146019 196556797 947036071 154219177 216765419 744444737 610260151 398011437 514969931 854695513 554961689 437771043 124210659 219359933 513306727 755984151 856381313 928834375 494674397 31481719 883064855 418259265 56756581 821915807 755006145 709878099 163412621 805655247 917576385 601663639 487120267 790118191 251537027 290658693 604069441 586218195 593854105 297108743 220356405 781563827 845471425 338975081 925403285 522666415 340564699 597855 186995001 541964177 380901365 694434055 885185441 392869901 27719489 298997479 595400437 970388151 204653851 199880939 425387009 393350933 288233477 904699751 441079361 590290317 962747307 857447963 916793039 277477491 87887329 790138669 651357045 358540031 232609185 878253095 513169315 533017681 337716239 984899327 82046831 768552563 146323317 8887573 847825049 894425433 159080519 894282283 293176199 638326231 814963745 456691055 347054665 743961267 12770501 505004663 484849559 268001171 821637409 187704385 671699919 340829195 919985219 187507761 825286137 867225233 286542955 855146771 951179971 249902473 81517051 532504607 870211463 389184573 690678399 56992241 331506497 525029339 529683879 310289293 411432859 508016253 430584401 26498403 21925347 936263719 858131327 750320197 812628497 286175167 101848927 642282101 49277889 560677911 368811073 428430995 199068479 24451307 852536225 348413615 860772471 843220441 757996835 214716733 922399233 448332651 861856145 480908827 956444189 430438419 19108321 500695439 276107187 836650793 929047595 12319557 865651535 808749041 337053365 83828051 484778027 905779857 911468263 773622581 543983399 93494043 463838809 42476243 987956679 381925515 898335681 679726967 816110909 969448383 21786117 886526681 410851167 311883393 132371761 725226517 662373803 58488963 784798069 689251503 133880909 879997533 297673777 373120405 741963535 838611601 627146469 536497183 324517481 108297865 430972475 372839687 754322559 683813783 238428939 759537523 369995281 23778289 856805195 926425583 191991701 412902843 414132513 181354355 396245535 940929021 419715033 25302107 667071085 607686567 670288101 585372013 897758697 665881239 669188321 599865557 565483935 926461577 242937997 164853545 357237067 683004969 942067161 459565157 392315977 993830919 769009367 984240879 448238239 419879325 754664639 341759637 877856255 102154829 350114041 32903053 592104641 783494239 817208333 850853745 182623969 57930757 366395567 689216073 115929863 438940759 674012347 616626051 476751747 254227031 855535667 486087921 114243917 479941615 275627587 100962771 546022661 139084015 450126909 66380235 964694511 365632017 843446943 183076843 879449853 882959861 78388235 780923301 738449861 88378919 435443787 735519191 25376133 340706839 129207123 95086533 432923177 542564893 71838783 633485343 865378107 202420859 303322705 14354423 743350515 406812763 22531061 671821263 788420915 219892941 63754175 713833095 615371393 994070475 757475689 784380527 500139277 283388213 878400727 91082299 866652075 65357783 785453331 511341577 352400095 331533919 229593425 517225567 280957899 685905513 595329005 940080425 567045955 596132725 82895723 376191165 24297659 941394413 320248179 20369113 248012629 415967265 843458523 762552735 342104279 257386827 507573149 506258081 110390447 657656459 400073693 312012239 376613109 929662957 276357861 536342667 99371369 178050399 143639339 233919127 292009585 943305149 712469063 377681187 782111775 891656135 251305983 627785665 6900007 579437351 734062907 501183857 379941353 658548075 524395281 453916567 285736301 876650769 97305019 594193153 64863843 811439737 89085343 895623395 307641377 673206505 311101507 423899 479932839 682326421 571892063 871933167 705625243 581118615 168654795 291512459 386197069 324838895 554246285 477962115 637491891 905994885 553145293 110880793 766349167 833470253 666911715 870855405 721222343 313855391 357020229 721441295 787328683 174054779 468431513 792429045 436721583 567330125 283657131 432224889 281976343 179720067 668067949 591977443 664384709 829069687 360070905 604818401 569504845 905790573 548212629 857618565 767087075 515769483 512990635 559298895 654285929 174019045 547759309 783160865 220803941 323621747 789053881 636459597 818538501 865738261 134326095 414478725 611767841 304929173 833541533 205094631 886413625 222801317 908557525 262118903 171599219 857703135 24631891 400283045 744258207 407564739 550947225 412074309 177614133 800904633 359965011 487417235 510806869 614622739 242338387 59513781 285727171 913194253 53191831 736795705 281971953 359461061 955534913 437735955 506105333 105187397 855071387 525430691 394751885 476158591 282855705 212979113 863115555 716672845 397215319 903716441 135815109 110469229 392698647 390194243 301753131 883381899 84113221 208041317 368962227 733592633 535224053 639321127 163504229 205681901 12831071 925625427 961834479 895894539 150616555 177202209 373839275 981343195 851294497 125432109 567411605 274680463 413463991 713646459 79493717 33795905 759897477 206180473 189663293 143574255 115380367 218076671 955710017 713462149 435502593 570893639 780909827 906745557 485666095 983021047 886684105 567872405 236394643 53974301 908617089 568227945 798792913 959915565 355107267 968053977 40887219 903750661 810596815 325555287 942140207 373160427 35826059 334167355 156995165 277801099 603613831 345627079 914863233 786192633 421804283 649256741 374289417 586695607 296459463 768663143 35616133 148473765 390838383 185150339 487934129 241547539 625551907 157475933 853925233 325343415 278762685 880568253 545154257 689659051 246280379 7117907 334364161 789380471 222639939 7687099 113120095 267778313 593203493 936172407 391791983 813965747 390351319 318947309 448132059 201879861 966068859 778505071 253765749 948692915 524980439 810259255 577119801 555173049 677183579 353750631 565893707 433645119 40816923 949142789 63772407 299792801 687023833 22647559 733779631 418662565 348533245 940598595 342195469 461846133 765107349 370441851 660809175 636467883 662310743 7550041 23224311 970873921 218290339 720432237 77015679 836316829 986669443 95085873 77026733 830075021 582363811 483115271 488548321 896050503 94698843 769247031 331150505 495125349 837630123 585622769 855263671 245816303 848643641 719237201 564039141 89989457 371378005 367200087 682712121 401180257 231874039 200335597 151339741 552414557 632126911 778901475 933565989 294548713 164610801 162565619 979192713 59993873 365583229 441420477 966478513 198185549 200598525 966993613 693644389 407724151 249762479 246475923 552820121 963543513 378942073 263694181 552030311 383320091 143694315 304479881 514382103 501863255 497707067 229028391 90075407 900350727 885894219 419028047 62269411 281436433 334082465 226789883 67616337 557997251 489129835 828210699 814239035 744696785 366730627 768516171 364072107 785161561 31304037 357133417 9122517 632119521 63492411 643475201 320594197 352554837 268315345 927741075 449021677 265836043 726364321 75548807 609200393 812410303 910403275 704127025 157697085 148369815 197036563 543963593 584978051 785904163 794285291 320751983 405104639 741731411 165749865 275535407 150446587 891488393 694297421 628410103 535729133 648836487 539515647 57964963 92415597 146503035 278455947 194834929 969610303 870214397 532891563 418002063 813398353 897719301 115333053 472549387 699767729 796924669 859379913 976160221 826558625 604586929 752283263 470175595 37871999 519959637 499157811 374274297 559860439 97558151 423225577 42004155 581518687 547502667 474896965 673173963 968291567 528045841 100656023 534933799 365484427 984888493 526234581 965340861 17462369 547684443 693930913 907395161 127257793 985449921 392163905 888939705 185512231 75043821 77668003 652502651 885796407 76885 142676577 321673513 317223357 393910739 391143607 380427317 672723371 879282095 762105741 742908409 1024283 143132821 616656501 782986421 66619731 714099611 607847331 201742737 736856251 854423359 859661049 793802655 538332139 397308005 676310267 615687387 801011865 557183321 888874459 646641955 614678187 13700819 719763567 163788097 919263533 402325229 320533303 559341031 502704977 760022065 835632473 424428717 356679539 299260041 699492775 229539607 731766803 905555017 176909203 512164747 496632033 529194801 309685827 366172253 584768943 216822117 644113785 435685059 276922741 182171763 839218853 25606113 762953051 337719887 617886689 461820863 472952233 544915543 667767529 924277839 20843731 763143249 117193255 510642281 949175411 60622697 35692969 824553681 221757007 531308853 970666023 716725549 280258385 712374961 722723839 168327951 59785869 456951621 546083895 599145713 34361405 350119867 110547331 833038133 125682371 598212427 641464629 142560035 500789677 819461775 154725967 826111469 442748589 224720527 354254969 565449131 220714143 508961209 222861567 136845921 716876933 341552351 847531483 516834547 446992013 580351041 491891373 829325881 905856773 36570243 581424569 583682535 820373869 632696755 992568561 285964193 447067495 532866117 889865451 442558447 306786749 817875479 272059367 237465409 308132709 198750573 361713355 234706163 275927159 679045623 69107751 17060423 702224695 30361545 409282355 878943587 293410577 748444767 81855181 293630041 131262873 907184031 24170621 301338147 107809161 462736087 966880627 780932513 106051525 464630717 107848069 216838303 793801303 619022699 432640561 265805517 93008757 510948201 431833505 504202435 803899511 997265571 771082147 840647427 382445283 522836591 744108717 128737527 779751777 524980107 353733857 627046895 465083591 671055131 593345285 292676133 667262223 812679083 666242951 215939515 575624797 265889331 464144767 706213815 379403261 409174287 964459951 122674447 675504481 403364611 738165113 168517017 250591523 49295935 626483185 107568407 429090823 250190677 106936011 259570737 950740987 505239109 30704487 697017723 848619279 876625781 480567759 885608557 614121601 167716525 518411693 386433129 820990897 817193 633429853 576635829 452234541 316702081 252026077 745238151 898968997 110953661 83245779 778344949 471503097 158504777 167792017 264934145 314902825 244082427 623311369 83009939 751421279 675786511 232899297 7791999 907500275 256702765 569580379 889931133 821731419 704675423 385724519 369616429 788110911 219165213 133823391 581960475 718140519 827321153 332133439 896300469 539119301 692084499 410970161 581797975 105052793 792642625 748249347 350124353 700196035 286949853 381916395 936172955 691115023 697776231 492895691 152648825 81245937 316455107 913972777 983334355 398705441 700214591 639202355 318465929 449930887 379585679 508275905 476764263 216338475 903209169 713801299 484238107 485432641 618045577 598595089 520819521 614219301 401685415 543922887 40609367 58827097 11480703 906131951 106769611 236250761 962186957 782018729 527327977 540703111 338389687 746713785 348699119 482915665 726012365 657428881 724292859 297051401 53924863 23935815 590509081 687524601 297945261 312691611 675065655 287064469 443889053 197179635 200836911 929280633 306891773 709417823 286793925 583097705 413697375 45593495 197539743 154637645 392535235 445378041 581293905 333555515 410540427 176021389 399645265 476559725 243743881 60320513 895324931 45304903 987797743 81605039 155560625 97749331 33242457 924247187 52702345 987440197 455174353 800587095 909151909 330674681 356651457 801172809 363076873 840736627 811721981 399554143 101177499 749511387 49994437 754840123 285020207 920935559 835484093 27963171 326561659 980854769 599311347 500579589 165927971 603655357 8407003 705111161 764748975 166192567 145040213 376255423 336922001 468328399 161956003 80273343 204653603 472565029 595622259 801502981 822156707 109181943 277520859 229528267 804960829 822982069 915019607 409898993 157969923 607356911 173592527 692069371 673298923 751819617 749488781 783872539 635509977 391023855 262861641 603075111 19961493 190650533 761334557 220132253 648173777 494427829 942514579 193452713 853981221 31605369 532488595 93553941 81798931 782165879 18672757 571117913 165605637 941093465 205917943 506739095 114932045 143603697 74164285 370098837 503260193 375533627 457109717 91436739 928513445 77891933 966327731 135513397 747456737 665689247 477369141 767768751 484967111 438267251 79964705 615154325 84361519 476208249 386982563 35228149 783181787 664833137 677558607 674213515 296917365 84846919 207788071 718531505 318032525 877377805 938737547 335617395 774249117 22961409 885157195 923402109 262931719 301142147 711762333 668179495 136975891 686015521 62563867 299559793 116109299 953003661 374972621 998279171 977151423 541465507 317591327 922975785 57089145 991348581 914087145 210336477 309381131 577497855 860450659 448265919 540702789 977136069 961329719 212889875 278264289 983619119 2834033 216843979 641454977 554517221 875163523 835639677 148089003 336559535 547382863 362460263 449636565 400848513 641518617 247015795 681511509 618477687 990039949 355725873 768664429 886947027 34496959 418491603 230508359 175771139 959176495 115726141 468920051 611976341 803800769 882745333 662634091 963906633 121525955 660893483 27553167 335501569 98260971 829337011 339544363 314878919 38717011 667364369 375962607 891629521 22253699 875566439 958579059 531773303 184938087 210727561 598596409 518095677 73638485 53961963 825767337 735947983 951725065 690261423 86264087 486124033 384808363 764481691 851291835 769629645 537980613 236018973 668289461 14692183 723004751 119821645 143059985 666859 528353957 636671723 234544061 12828409 859063435 850128477 714828693 446270239 764277807 303954869 984487001 233969441 546405673 954502567 197468083 755197929 980291699 290185875 645545267 718093961 124017523 802184065 635644241 660684093 82321141 286889761 701556851 892301929 853027379 911746249 865629661 680141209 396824005 255239545 859668165 300183677 283809969 839166679 746315583 895979509 461962087 359922739 463246673 626235135 956033723 917719939 414660579 118118859 966869225 334723177 392511427 514994857 461695641 394690859 176299695 609337109 269819349 364156345 126065733 849384629 399155475 339426471 431506705 534212175 173668403 43077175 85394817 715556571 768321399 776109393 330162929 619551347 367934605 369592963 33690783 940774233 478366093 169624323 783294649 137625335 734760943 380514739 18956619 533171941 755234205 461477911 315538771 481067481 630763491 465132897 78968239 51512507 630503029 592224105 395673129 671839123 978907759 968675755 191133813 737594517 781411163 397943887 902527783 11094811 928703523 290830117 985202885 637023403 980520987 869333157 16963765 631100911 516945411 548062447 956161611 311152059 385665793 375637191 504170941 553168905 199994271 135899807 149633839 362005243 439903443 217674123 485753257 10631647 944660219 861894223 767563293 698891815 930927325 59197007 637150821 423028847 964166309 735919771 783988287 410720121 111323881 350439659 504939609 144168241 295735207 176242333 695447871 889721259 265208641 908018617 149269101 928799265 578299785 134101997 313485637 796097527 855838895 406536081 432601105 988744631 87763541 366452903 192333053 400310293 822616703 249442257 163373353 499410157 485251735 752477539 100920209 971388993 365163127 682955857 254844961 913249599 539212631 946248509 426293419 676910901 785002721 838746987 377994725 250516133 561769505 528038861 644678259 142388779 157241995 279970811 796637149 434316185 968502013 364869937 775268245 104351965 119946429 128882519 857251315 209424149 211188343 181355005 466359097 957520773 358316865 935769435 439086225 819089557 663518103 931109201 353874189 106351835 490473057 683218019 874963619 767525393 173063145 251896001 574759223 78360603 135027941 360486213 137085841 160758277 385484661 927054957 792993889 460129025 562636315 504124255 136569157 496149353 689645255 255554283 829806521 223540161 545120715 630132871 188670505 283925431 600579813 195973461 25643237 642965787 980864061 393993499 340559655 659352299 630302047 183746887 671624209 910205511 458180671 530388979 5243819 883509115 825264187 98883803 517534181 647366909 507961111 333634153 243359643 233845863 460287491 12360873 552487309 32495481 884159123 879490647 449400165 940586787 345642435 287818701 412650675 412080757 964542201 474887191 542195697 602646445 637773059 799313377 698995585 749834539 212795669 343062147 647299755 914739837 574193103 889068797 8690335 13051221 688960563 526656757 809165177 437415567 597032623 657274811 40193337 595198253 361626137 915270983 465927881 490501977 749167791 308180281 215034617 243399019 446853395 815414741 585845635 443428059 357832535 903166731 396615689 275794251 460973035 301991285 437794065 372680585 888757425 77934417 490327825 572156551 256185323 523986309 16609631 746360417 892694345 228315297 663563069 703104345 841285853 804597211 137507539 924455643 213219367 819836949 751421493 150369403 266906379 391801557 587365979 945887473 418074327 21278537 956703269 617700645 229089599 870430539 57894239 874201887 230062435 5104727 126803895 255316243 693800643 509962389 66130889 646293085 467516497 571861975 830229525 596178561 557707105 757046417 249877507 948554279 951555249 691469541 764860647 865561125 845238627 283427223 803322617 203421813 534658567 309965593 507673177 436843321 214660499 351526529 674557459 986387393 12050529 997452431 789119253 582507899 233121083 184274091 335427387 973983493 767922249 113638881 627589189 488209187 732127779 563962859 526387419 926585789 329286855 974220327 434854289 289909993 349698201 574790813 323400669 607354849 969596261 711332093 279056165 334276617 198501731 47727515 236297645 146298859 935403055 656342651 8202153 875459133 217943503 399971393 788063795 596249303 623390127 316036413 583413323 90884543 539019683 142325349 215719897 515980317 530024685 25636955 410289 896424775 984842541 368942693 369049993 559585209 524979571 481387889 534447877 118205459 517495603 461481753 40437935 433123361 346781005 896604825 862802421 26849241 819693315 997646809 412202801 946015827 3843843 779594859 218238631 671802581 222396515 685737603 292760445 658371529 727718303 526049795 83608773 610587073 776993695 471304047 167889531 958938235 107833007 564523769 868096125 752922071 838616961 433558391 161432469 260754659 283516471 443771753 562761333 727777999 391594325 165048821 69402295 601790459 28326597 190844907 947571161 718365415 690589921 589122243 220163143 697038143 981872995 683856285 232201811 123679445 331829361 943944253 581965107 235275943 96132505 673287699 895603211 766897109 72777423 604068153 98572003 377124013 541166961 971580267 536975789 880241569 171764549 858185491 842968897 554362445 341564279 600647743 373067363 814681715 482814365 477081511 814470329 867021567 70739635 410679209 981970389 214264067 91880993 68685643 81569841 966629053 94688945 410688319 792759855 720235663 597193625 632124637 72638231 936720899 388594553 952036129 917252123 394334925 510856531 2156981 557142867 594357705 84363159 605244389 523388099 247334393 974966039 379875755 470196049 153132425 356405267 666469031 352009679 399273677 354447151 78237469 103254519 781639487 367444599 881778943 255607659 804688001 540132963 764431587 413287091 641516387 637645519 329509641 384910911 49069779 624242177 933347415 755437421 198999279 497356709 654721885 249933689 828943353 975286223 533713235 65996943 40390495 897268225 426441495 834783423 848437423 586331163 145526833 224605443 76108459 296883053 36768721 599081533 289130031 171987883 647004109 106987571 953301837 74693621 972785571 255738523 20216883 88125901 928982397 78231051 453244479 622043169 949639465 543013125 387328757 950361159 854089501 518367987 949028093 674105085 184073595 382815013 732873005 94066533 309764873 842829269 977816449 725947409 508902965 406422821 81297433 970988531 352910359 804465691 52617793 661987177 779425135 125634477 421436783 502238519 168727461 645147057 1048123 386900365 605776839 178863593 789143915 821742845 397427083 519107327 928577769 461186439 998494289 967588227 690283207 857173903 896931361 627041519 802748993 595194083 420979371 648022691 451664059 85692343 454315077 577751275 813983937 270803883 47362799 995614197 133733637 776842431 496567119 507961053 970399585 765803109 957813173 816786595 905381339 69319281 52560665 745223983 892805533 353955361 309904409 176373845 664953849 260763927 568470525 99209933 717417837 286836325 632055733 61475129 837422745 287992187 968880855 137617183 702450507 880672571 88749729 509516275 352611189 746336487 190483709 856123919 604011571 645992237 601445753 865200563 227952837 51592485 185258571 830498823 540094875 449110857 282553685 92592159 899620167 96612991 936707869 415167987 27267971 1575699 674746321 881443171 623603249 557348285 24758857 841910587 769916511 692467353 860985605 297151017 762201919 703295021 944256813 808319433 642624301 444759141 460847501 881275801 215134891 756222871 898554271 553416711 371121509 162291071 973873795 460598625 949308719 164098627 179379709 786777311 818797827 911613297 800972159 507147685 317954563 713221887 393912095 71773117 281433727 288465479 303051421 970648341 268317413 433301265 998118495 347739783 488389331 647802505 560538229 152563927 246798859 20891207 76170135 309171115 320914297 228731203 66432547 757965975 780770353 956725991 950636321 781460499 806887533 137691645 318159679 82490495 874683025 39358397 477680599 509332261 691323943 826781891 843911653 879797047 294319845 221429269 809903379 135618765 405291939 318346269 90716847 269589483 802037605 475762613 303311535 387974519 842807385 60110615 135595701 108985413 927027407 38892265 436650247 64050699 348707907 643558201 347555219 977648749 395117145 476029563 253182705 406354931 750963675 838676109 381234017 9863951 425568703 733083573 677109707 322990363 114575901 101914015 780230331 157595989 51644731 240691297 290917227 835152873 451010177 696121721 103970491 86701289 796801925 112352457 688735279 229906763 150343427 892432803 779597049 503878131 164897243 434461623 315232495 370533033 183289881 743561255 446890895 803210527 572737523 543251061 325821699 468775917 784283331 877039505 581966619 807031191 767268361 100893389 56775753 733355907 728356981 441489641 77026481 657425667 29133015 54333705 615690009 202087505 97819437 299505083 251262961 536699791 52141463 670277619 212605517 751628741 349505891 68426767 957608177 957695973 157993475 577149139 854232383 727231431 425496593 900746351 956332619 718371117 643642963 593128823 347650507 418490049 115910835 496079335 468814107 482329363 542482757 954762279 29481031 716778911 948662081 970629633 541633787 523277249 95406095 555305387 382389647 873089479 286338103 831179973 102068739 131689441 147533933 756969297 120608511 827524903 30733963 367993021 876334287 690732187 298121367 280790239 933100653 663399975 438345147 732620533 346179705 642923419 799862603 252906659 26563639 101295025 690482625 954753269 800525465 213169931 144098239 364097891 556778805 534797617 472157973 738980553 866502985 569516435 967518641 205416555 297836223 264196237 580327089 8156409 330087717 55812703 433238359 321565575 554276019 324955187 138876943 297576081 625899335 120394009 656981869 753516285 193233257 508220683 741131563 661148441 213412681 235443691 683544877 782849945 363560891 703839871 311693437 164529307 27233601 655840637 318460495 332644517 411129091 301722747 922268927 664677795 885707727 487593211 484304145 209831915 581376283 916708709 742271021 298488635 929262601 112256525 459555369 56925623 887530079 202006571 839977983 193180907 508458891 20456673 445279443 386950863 256568741 318868533 745144559 212735165 613888621 954188317 838985929 97034367 912774729 167104365 507456505 109692221 496317771 386908395 374027843 227713679 410787879 926371391 437461141 383760755 286913341 602956025 128560639 281731917 63763861 666582419 296265405 34903275 702780383 706582125 533722419 812138369 983613297 591893713 352068333 906111917 49914697 358177267 960276893 463031413 208679699 476544999 308702749 705014853 513280537 651096243 78770547 824725491 631137363 667755839 893380039 621921211 894904675 659433049 337998703 506949699 986459535 420396479 251292647 354696603 552236743 22830351 366967503 338730547 359040927 210659541 460050677 42337261 449746009 312035711 982021963 75002123 493438429 845015657 517702635 997737275 471006905 876575441 4116763 919974547 963048483 798320869 281772101 719541393 610431741 40000689 594126075 524814617 42831563 461791539 505541115 72690551 141926591 764417865 312056357 573148515 641288369 900758719 57558919 290158585 968425501 102536515 693649491 371282623 638741803 33650543 562573797 789153951 900116395 430993351 571328447 822649075 933789717 131951537 482000525 441347189 216480905 492923009 18213153 381466699 366351307 77131885 663363961 723326211 219373643 765767577 415769525 85488019 303314723 889218317 554925861 297349205 684808465 615223741 214057271 48040465 436386171 170333053 936490119 220877043 781746545 454845969 931566557 172357009 966774443 136302629 502762271 798896615 238136967 515035205 87126113 740777053 302420747 685968879 716979425 143724221 207138283 686727297 249896449 27777343 993178489 385273925 736366155 83975039 6298041 851405165 189842547 56718721 96817485 517152529 133881941 86009525 714426505 212023859 862994421 240441069 795886177 585910461 877927547 288697193 416340343 316459137 497425725 753756109 387778319 866426421 393004725 655934759 380235291 973519485 782731655 281030379 301456947 833960161 679741309 93111287 249549969 672328403 564503693 585529745 153490211 789519019 458868687 32751717 93001075 693417133 345181319 540705161 968056763 228242431 510370595 653980537 425665497 774506419 986402355 554935067 888475223 443500483 397799283 374479039 333999967 247832081 595246279 417292565 435274701 128412005 79477561 733852223 124773919 705150577 101495295 266894527 489855867 773876941 392612721 485709955 218264753 578484219 887359509 261509601 673682231 466047589 604404115 669339799 857559599 294727259 13292995 59471561 620500319 853094679 949005723 898968069 379651637 536241083 109310017 272709693 912533195 491666511 196456961 419977427 329375965 38912707 67838797 18231179 364576981 488038901 910346175 59498385 806385343 766554273 209507101 883410041 389906263 906801777 50455633 503601989 266845943 555705595 131974253 480619349 424491691 549119667 416782765 264031097 710548255 108530683 216940663 681502949 847849387 990575647 791958099 714946615 517640527 709280847 409489651 611257973 939846577 778698403 381419831 841911309 887655457 87111453 164439583 974003665 13534871 613904549 259860439 636132863 867526833 901915663 34043057 456446271 768215737 151157523 312726059 48912283 141537945 788456275 478399975 949621643 506079981 116883797 115823789 229860587 477394931 705169807 335531895 483543039 542823569 151264087 542541913 317006455 226425175 345716719 467094427 166544485 962587003 883307903 6917799 609573705 926974943 865233435 38114065 416673543 242366985 206512315 809358739 76114669 520472871 402200129 748430609 176527535 787442963 279165043 59434901 378591595 181031753 612265221 662251347 124038311 127674865 885891729 230008231 755843919 618755805 921587607 4712467 671253689 578569345 457323905 233557827 52825505 841675519 371011485 743923211 850986287 90744603 861531689 713101925 76905453 940890951 17719109 138130549 851477201 213970073 437240311 326759813 734898747 608460241 212594483 399455497 316670189 534885461 999873235 903711647 210984727 972815159 21740695 730928645 505219403 538676267 431146279 443055657 327106441 714299537 676568343 473423391 774401587 538233457 253643231 349528865 294443803 534356347 524867807 859335827 983386739 410728451 233138273 496950017 679104473 579982861 714970775 741720859 427344723 604725309 143748251 197377729 458887755 637544675 222219117 701455345 245953691 818760437 796270325 934964699 347978621 956115733 639640839 434369487 307115673 379107465 451148889 599600201 430329 89306687 383340431 285911021 77053459 915416529 544172083 72759943 15532229 420465787 614886323 76828679 386328661 715844645 441063529 983419789 793450863 982611041 839726745 399326809 198914859 324565859 566934889 667023061 141027329 705282829 797578733 798663063 127821531 734389731 465322011 292624987 861126147 35313175 712275415 869547265 754426417 187142783 104418793 615445143 865329537 489716635 577268483 964961871 954166391 647456401 705946303 234711171 255843587 185340465 423766683 122521017 120938359 805609459 932790531 560614811 864845203 690471157 762326601 458884603 424457595 994756351 750010275 854406103 219906237 904034177 331658293 520739921 530757965 367819921 848688135 882673073 558403723 678836205 474116875 89901167 614570039 761205759 653765147 96352805 251191683 684140757 218653685 717144213 330519555 534615847 526934085 213820587 65099957 807048529 130912411 26185083 719314171 62389855 806679923 89178429 886281637 710603005 788661545 642965593 823964137 841714309 93810443 873043031 874820195 459115507 47339081 517507307 272377367 390022383 907820797 289178353 398470515 622534859 523985189 755944811 377904975 584149883 258002349 75211397 229326307 771593889 772862821 505477779 867096537 416512641 980492295 396600591 816467773 915025165 668407605 515785117 872368771 182734555 442413943 815141127 85593993 458840619 498045759 403783233 593896595 161582563 909282789 832946535 844690769 451438739 758638763 771054269 466024407 604580211 266670011 868576171 969578401 479050081 618949413 544614343 560344215 915936229 265418211 667284939 854204931 405551151 453377239 58773147 824517019 998404117 431517641 969813569 744858749 403735829 428671593 486565107 735877679 407362393 234529619 696880137 536907679 118010543 140930311 521991943 433006111 38334349 179859183 295159963 717927021 995887637 327656027 568731029 159675313 552170765 523317637 445562353 860555895 106360547 393093775 153130963 824738225 205874863 121759361 971160199 940653505 949840177 801397323 534149501 5544299 174563281 46818249 585235797 165505241 214448539 980682427 79550157 630488741 693004875 277232587 639498709 939238089 818728763 795527049 561232509 647547819 434856053 216751471 727370755 383311129 195030953 771471581 126330823 525075271 634540333 682723871 668858965 38889939 538710273 100191075 404943459 260840131 537523659 360284613 975932875 226210179 656471515 901115461 104962189 277038057 381620265 733352653 151970265 206609201 34442579 1378603 255377665 507592963 371914401 238196765 681941117 369808489 808750851 489064515 684751605 140721371 663025679 210241827 157622831 479771955 467405571 960505395 715124771 98017979 468051913 553990599 57640939 744343067 554606063 32387109 410130121 196640875 466512299 385272437 481672489 102611497 292220639 30378949 296090013 81529401 626910737 853741075 752184803 193064169 239812975 479270205 437487069 420216557 271917521 126710799 810556565 915877987 782855095 931529015 242080063 884347857 586142281 555471441 848861749 685407521 119850579 589321949 658908671 372191917 971142479 415773507 203930179 17215535 693424733 274985431 663865045 694643151 870106945 861022671 963301555 137408791 434493805 740695119 448154879 3383293 531010807 104186209 279374851 706969057 396144543 873562355 299491379 115299461 343619019 794086881 462854443 400056087 716957067 358412009 8673453 423665453 121844119 859747257 99179431 838150597 650070605 429786077 784128297 24752195 352799925 843574227 163872111 992577395 926450045 124260345 549596891 978444941 210959871 915706265 36353277 447048237 61236023 73095141 990143875 743723863 489541839 305002743 617469259 414618747 109632533 854317773 448853849 131476075 771185407 206979667 341824469 207984999 898192687 44375131 611605269 229811733 450435819 940673179 706254995 160293503 577844769 113394871 36393459 242086683 121669481 540377399 294093313 453143495 413939971 508514445 722604973 92944585 228861911 112808467 921160981 916120013 543059569 706565383 735074941 55355625 908698123 630134677 969267023 824620953 726342019 234658767 129543965 461483973 927326307 337906859 384293027 438504119 681449943 932603149 479120069 87587367 103885237 241882813 720429967 256215857 708388225 644607853 544485171 72347481 916785503 536456117 273481483 203270029 120765215 248088601 34976413 456616229 64927033 386581503 129777297 198818523 567722443 598481593 865238463 97297365 467712413 398886529 228189213 237304991 320945951 698559865 644932563 672447025 185590117 695543465 544091175 494869735 14786867 779611907 936627857 420084103 163203051 399033951 398127019 450766909 345408673 198399615 624358455 637741983 773069579 256373261 254162465 906488745 327217285 826629019 837593467 592866497 703372059 757797535 439200643 203507381 725195897 746823291 733939609 507102651 206943991 786654075 393122379 145051501 539798677 620682191 887822411 820132819 622568955 547838607 434463093 549264987 115710837 194891453 503761867 834525911 850395645 743116867 60503673 992504455 625837619 667542769 984044241 93103373 862175579 98287489 923304785 406437243 726186599 684401301 900885659 12933955 34807019 454895541 839850105 752409923 761031211 798760529 921315551 824427711 496345611 250930373 122883817 333082215 978918939 224724305 141928409 996740429 351293075 703871263 586006555 424838129 568827729 918262591 427808323 596861241 876146397 266217387 700110859 583449967 84064101 285311045 88370519 561749833 466077123 357103571 355910961 913279205 298189939 483208971 714269903 289606857 602168479 267088771 274594441 196884705 416059157 407412413 874235107 898420099 39719755 519891233 245077897 799984237 986213475 110743811 113913423 924871617 641039393 429376411 423588399 944015633 247573497 863719435 149630029 3668045 785114109 938864729 672208117 836651735 18327535 659568251 289081495 150285425 195977269 134801223 576144081 53146699 825041121 175425919 685318503 597957623 211468967 124540619 568602433 254476917 203920359 900814015 98424693 586139945 803827113 971199955 10011711 617078497 685119645 79124583 583226879 114541777 25577497 326243271 131955265 256314775 894946587 723990817 331226811 535229497 813110093 598944401 79409221 352875299 175924733 616586261 208606693 251913001 195860259 845311131 120426949 500811917 563607133 485130481 650890295 957652463 992152051 279582927 862214839 23101279 126687699 579743707 335256811 304946515 819537047 81053337 978330521 929558437 525439611 918892925 837960121 109475485 388682857 722916321 788867941 818899433 393814255 846587653 27462877 512732059 668523331 622767889 469845905 460566323 453218887 11225113 238057235 676554387 572574079 688799507 434271259 283148045 676758045 699240675 402371985 329703507 716550135 279367507 840075131 22642563 131784333 607700497 711545873 621657633 228576263 653080503 498384045 17365277 255484465 628903113 926001873 21981131 774036869 601283757 738071337 969820903 498095649 92990647 342781065 983775639 618813135 500637981 187276009 500550249 523531769 267932675 535458417 864311889 123150523 938063987 680497257 878864813 102084563 952747867 474233413 736645955 612183207 111724693 168486049 863841601 949131335 999477733 220359743 188004921 665896043 925869041 207967499 709640745 639727217 131234635 389614873 525036409 999608927 26623855 703908771 688508915 173587945 528550843 102981643 355177423 675265377 283480185 569619169 212995241 616464073 297590235 600279763 281262213 531074249 362462457 886668223 661232849 214132143 174957783 527142311 272108389 83518577 198225755 61553079 905472379 867707313 200067159 953583427 331721913 939910835 467562117 494472901 584455725 270450281 120403591 183641313 395974475 243981417 696479205 553615203 129741553 457967603 926242833 534310459 738267749 191441647 800833379 10573447 626972753 519969513 298239007 807259019 513902543 428807195 629415787 481141679 715004251 440080995 125208153 623394697 306451415 45472841 216082659 690229971 906380179 908810237 734814955 980487537 127758149 969311829 53406009 660167791 708048135 354918865 654601343 343029501 752401761 304422807 351745621 550410107 302726209 664258679 796812349 404618855 735118329 193412583 286807201 315428721 488259657 783117577 783453137 894777449 681183061 415701411 715981575 220340299 995121321 55078691 36910437 902412349 47367229 697116067 120383219 105668229 220518765 356767967 439937955 261137307 972057087 438801217 919370829 342261015 419345693 313535189 637793715 77026495 150403169 157925463 857765247 601860477 706227909 860513825 168930113 869773923 763105199 577872191 827144051 225912239 754371053 389166173 153236597 519998913 704009909 9854163 683384723 938709031 157019809 53819809 583344637 883886227 617695929 488186477 865039819 829402591 627147625 341847175 756797695 447956241 327860615 235230183 54492289 631623251 808916305 717328427 211084581 991296505 694352745 219151261 681873059 995583355 650578913 634656295 571571357 726578817 579082027 197088869 51872667 950811091 782753059 351983765 729093645 564142693 772754963 298213275 25983823 126272595 971891619 229950475 832373921 856340959 688310253 852578587 330404395 511176309 916722795 196873129 815948289 412808103 504297219 23170365 490003739 460022835 323343107 164364549 181088859 812460283 435064863 264264409 601061767 838435337 414030709 814244411 874273877 644106641 751990923 850185549 804253017 139326703 244230221 613008867 435595545 127145893 100063761 4051569 272920829 220328545 406316179 522923801 58925653 472556529 161836793 620193951 116834137 207965781 435572179 37050741 321025583 227083183 801228305 412690097 425299419 893789515 936296981 175976211 431416145 393219225 592455841 798784513 215583851 361646135 375235043 522782861 73855721 962890471 975031923 492814955 981190515 590749335 883293257 199493371 717468317 623063383 469792719 513185349 148561887 490197091 544198353 383944695 679252633 733700383 716643715 240238699 578718485 96311829 188356995 134756255 747611015 699036667 810819797 998613561 417621763 354770601 396869353 724447369 20768911 233628709 293767059 413847429 207597073 84759959 986129935 632206799 397584221 225932885 703234051 818865837 398799657 735142105 740343933 715706125 663290907 502032329 923313395 448513671 739780535 303034091 560851519 476701789 25541489 333862967 146517929 528174193 918456737 610470597 866752989 775898711 209336971 858989531 303555057 204276803 645994325 205885411 301598819 246219799 320809235 41149295 303803925 983785559 362988987 744770107 877647705 628637493 507104049 651038253 288608993 977270151 81027135 522059851 231630025 554746317 574128019 8374733 297984923 467695405 176261319 583351053 628564799 27696759 912994653 785733261 720314383 789232419 964757441 753988599 28015045 990989391 753215039 120414499 512019079 956536259 658638355 258386695 606546403 731704559 764743263 362659019 290974669 128560105 783879979 32399543 622632867 717475951 938669161 316792127 764330795 114141931 897317107 306477055 138278801 282582379 899097991 523878585 69962347 29309095 511996369 808919129 657445045 805880571 44552547 479327217 998331351 431379315 75696819 168738239 60868251 263258299 663286821 925031971 799978553 961475629 150638849 755090093 416231243 886821573 112322679 70676235 413756633 858459691 564237477 259171355 202591057 802332081 927088007 820872927 879150981 168918347 940666889 624671107 153571765 633531035 634256635 269118555 175740037 322069989 739281431 115930337 299167235 867425051 248796927 484370103 744010403 298802387 595624507 334753451 472151107 973957453 414961725 24179633 64908071 559364975 335979101 493008865 165337855 260736457 254804957 227845503 183564767 742019475 473592551 242130423 801722179 229245867 530781067 607612125 123427089 224518553 829551299 973779691 105795735 430748813 700982641 21012229 869244811 9058395 829479261 273607479 572678407 40902791 16192567 426876849 454193299 722201397 75621019 423411665 358486811 309376053 57086219 957546779 54294005 109961725 158561515 795423287 536475615 642554543 279326609 763010043 445002237 731833617 903215925 344316515 880580827 749240209 885322233 90139023 386250609 42386247 519810277 396863691 642081819 423846643 493636329 650486157 367019933 492789757 938839521 542565485 165038119 777633649 389460365 745300529 752419403 29452555 332531351 361772225 111378441 474947621 179966351 133708853 125860807 977436361 36412399 953758147 308229453 114621607 449580311 846024913 981125847 646314517 45223763 501357547 138992125 675716371 104662225 701648835 797032647 825121863 483027629 190813747 611608225 42650625 737525223 650591041 645249889 468797753 86721129 39773719 218331715 544315533 875434499 642968071 559247599 846437189 621669229 914689935 850877039 361315409 526560589 84365647 261149753 750225221 706738983 680240917 186333997 581048677 296467569 847412947 5934733 495411349 106026879 41503139 322877193 88633957 12542615 86721227 82509235 306649867 794080993 479567029 695582475 891400809 60657517 337899509 305085941 553126659 624375347 225705539 35778751 722049293 559488281 347870599 145857053 357084505 350154979 499169481 136662061 174760553 418002501 309119805 711964531 469857635 424606937 450261823 470898143 404369689 608523295 692927825 682588101 86758143 8550527 709827359 487443169 302644279 947025997 94785149 136242521 559778437 880187583 731976293 516704445 947147099 326224635 256026105 522685181 834519247 759459077 424661895 818697081 570238623 987803345 176210819 991823351 420027703 314295097 242343813 442108837 354066593 939554555 173007185 737175061 428393879 557474757 678210515 344576071 509444215 906535715 566641695 624399773 115863625 587721107 774634607 914175209 257775547 982795123 691140903 317474141 912432679 268030477 527844305 732647829 726825609 717453971 863005219 797876891 419345035 654506783 229725941 286197465 496098171 366105007 368387915 877447971 161039695 438737201 658004817 618906553 449792937 933046897 370019163 120043327 265457357 489352491 401740517 836807107 565538479 588047617 380281231 581267385 113898977 112884861 942935589 349199617 728026277 320264717 130960797 428929501 897775585 753452299 908073999 192081915 181917223 471142585 457733055 291923313 83390123 362405187 440887835 897630139 446447693 436168373 693915315 96087745 15551639 813139467 836557891 768862157 436886707 159231015 529658289 599975575 935660669 264023761 301631747 122841657 439652723 122543035 592766065 410176571 249713083 48965503 447169875 127807883 503896357 288938139 866981167 939167611 228821033 51015803 491406511 58448075 610159845 235211887 151824037 448438431 927371297 602479793 100711695 592923013 411241037 713398115 574382093 642527345 234721405 440916365 441988333 572709825 186932597 183809057 420051745 772059195 758538903 665078007 44089667 415944203 58161399 629385171 471073817 596940741 355030089 267489113 948701581 131645291 268242927 289811489 845017009 731163485 830319599 339231135 991058371 958924651 636677111 515791159 517262627 238351819 153658975 330826031 71763039 983490071 673863975 218715581 563947049 79959639 823680759 294842359 976008285 633803255 240119835 267639519 644701949 524136655 350211469 878305375 194065717 505069079 14975979 366040135 784325721 523332985 595288703 62487377 821222115 426002433 337791539 399642655 647550325 775786273 914270883 635418169 976854493 98171323 629310221 765465359 192543759 655816467 325364055 191959807 752420129 38205907 654468369 837285445 272113757 710884117 199039091 99564043 370299945 608463187 383305563 837557093 881120539 667203443 688937041 893169739 313224941 949015491 291718531 95014047 245500801 483085049 902555595 309287721 677732327 668318511 466032549 667539609 873175885 632808173 933011003 97905291 37163537 667546655 385733211 621960319 709257397 791771931 801919355 950025439 30612199 117208477 573787325 168842747 150059639 125575629 466406373 201004811 354085985 424434997 824440421 638087477 286052297 802656205 104745045 194376319 705040633 955793137 888508273 314417881 859253351 741914725 577558561 862653727 212832171 643928919 226283125 966152721 53023881 292937055 901810469 218771799 457016303 144363895 815638673 918190725 740119277 996695301 645146045 790465555 319492543 45200085 546239323 841597025 772488905 982205985 429394625 363053755 884239255 875973505 470622957 562610767 671443929 875195387 472421769 521548089 111767151 866402815 345772003 549195129 902432343 976443489 379817971 118319095 219739585 429344093 218309975 752750471 259085053 184829339 718485079 876717025 961179529 483855141 743010017 512200869 607049477 273006193 165391247 99335773 416275007 196089183 823297181 803423099 815660583 59131953 803957493 663853913 678997213 865645717 930455333 74459959 880932001 228075683 115736675 710545213 995178207 955976147 78310289 57404287 152270121 504657423 649376819 701823731 368736829 762912419 956830587 111944831 757659387 107073345 613805375 460998631 689780081 709454603 774163711 57830623 915014097 703357317 732226787 743723521 664954231 101310363 971011767 402646987 153566181 850946721 212230901 470310825 855944645 503040855 674426299 472579821 66170351 299395811 843779539 882484175 159487579 33949135 47663015 365498991 619057963 625935633 226211923 263809495 169823661 676050183 712050837 13229817 415749971 989202039 314667475 35672493 9128121 972473741 844620061 474188215 21576865 285472991 723708969 681261501 179201273 421110379 544421977 883953745 400139215 666931347 283705267 32263407 676516963 117470505 785974247 481429749 356386839 970516573 694809417 751207597 682553205 343556561 718457819 226768457 970485553 661043079 982312005 496314593 939835175 402420975 730991829 739008889 520909147 819072987 652432513 250733047 274470645 383159691 28085739 307952173 949328203 500061091 421034583 803816151 822712023 645645105 243161783 249954961 757723197 636058025 231446177 410715881 404249415 469276137 872874325 644463439 524973545 25873207 775883963 561057309 850166081 648136767 293864543 31617937 773681805 288509975 878348411 246258903 824664123 114089787 173915885 431337727 375021279 958772883 902625341 678938115 297067061 9220713 354935963 663118277 519541277 604997491 249799389 802403085 653674403 42124753 902775169 741266573 568784381 519591429 423113649 532506589 587899267 308092413 647804987 638118015 787649211 660492305 733082263 195856093 912794445 87112185 694358499 698554695 227514639 991965663 110414311 938486521 357308157 681366863 820339729 554277135 337241655 831783997 412079739 783235479 602728715 893156871 39710433 453260417 543531497 562854513 922522539 662472869 680024177 478537899 940286187 123094213 759470179 81704009 309709653 199404171 22812841 496406087 82488139 401199495 147978331 641911307 548763089 907685939 847090607 453801059 446985113 966105329 330430733 382667907 511280635 89392391 339046907 158122251 288473587 587084203 215296049 723327229 811771177 75196147 564527753 3535559 68093677 657833697 152567813 830306623 237707063 737525343 685494993 811910305 854681509 505043517 630126399 581925269 774424191 172195381 301524173 721467431 558667189 521608167 214790427 34108617 349176797 128576991 384734967 567416669 904139573 630387339 149129555 362425893 141308071 802037575 812792395 80481489 399220417 954781011 860580385 907702643 944521403 950782169 81263169 842358667 209031027 267060713 772849215 943598333 93649009 843615099 649545429 79639319 370726627 402260597 945503461 810579341 87653025 363148955 222370941 569988479 920667949 443903907 554808785 808731757 712591529 504634403 681956921 19620681 58119401 726537883 544656185 107529063 616415329 331953273 725236093 122253189 127313203 705724683 132261849 415163077 642784291 78052491 551764551 394352055 948434339 938055449 892135659 254249809 86651593 970767807 350337295 432257005 597814869 908874609 200642599 933319251 713088429 778064387 988739279 49638577 549957091 250304315 638123467 987360153 292218025 513825217 228832003 810093323 284686693 777844771 521650829 885843819 263123993 988803039 124813219 614638725 252741749 605842515 838786985 641329297 676729555 298053579 419844395 690744107 681263409 262395509 856073945 643743833 892118581 466947947 591269521 458002823 885310509 967583665 534929495 691554441 255324181 599604525 107448147 830089889 20880521 735271347 106656477 505059183 624032977 185117179 515412843 642005507 976923099 119820453 529875363 471669713 295254335 944233275 711491409 834901945 657615935 132929839 479984741 428356861 37072573 984562907 301189119 817783371 631323725 308058749 899821917 67562681 115394339 424039745 539051247 357316291 279130911 397248057 704776005 329784657 788036811 107884379 336399389 397851823 142209107 400637067 143617879 968644495 39927951 400695955 551575041 415956499 104015359 874418721 71237965 513417919 630736841 552744143 686058389 493757821 490772157 859030561 370519903 132049063 912918099 92054141 593085525 30837751 178467241 402563125 458430025 629901715 330932871 385518213 271804985 899041033 57058909 53971083 271093573 233114189 704679233 915606097 468075963 100636861 766280945 184815049 646987277 463761951 803854295 228424651 684982231 462178719 981430273 39551257 658787547 217325267 976743461 358246749 550646277 980595383 821868709 563242025 35936871 897424049 909005447 9972211 962112063 963456913 970920569 259179295 136314863 918036615 903808981 256088309 106523905 731817013 205890455 658340007 242962217 941009309 586283879 54044237 536659779 418863919 884355735 101156841 448424529 766196669 381465883 99247717 761599103 844365191 949890709 418310289 85546017 52430641 700598601 83376681 57676977 742954183 693965609 302105289 272791507 900064449 197373131 920528639 228090449 918840059 547616367 24077627 451586335 445825467 708043515 316412117 954818649 434157741 814803199 629930767 129688643 808895973 996877235 500412435 924702277 682288357 256528373 695052785 954931701 339587469 379496781 433358755 866875405 501217581 170396395 520078859 431178097 213590393 64697507 179157233 253665323 732396433 429894137 258927111 794051185 593763063 618148113 3514341 700426139 583791257 907617211 576475405 966646573 897747405 891127917 209377001 984777173 479210833 234762569 594303689 115100259 416588871 619762453 191860455 348923091 638118209 907148351 463823203 909924681 735282481 171353567 510520649 162533137 881770099 808810677 25380231 706776475 869572049 860524073 416202233 984307077 994595189 552064839 101763679 351003027 143908851 982160841 842439523 843984303 670236491 702418703 460813717 780467691 751122913 168532765 656605295 919027587 335017859 470994853 615270737 620817885 645686373 911519485 579687047 496491391 439842853 630074661 525038657 653161761 61822665 379395779 972687765 428332187 403944893 604785703 724602249 689278963 302666455 231765577 826578949 587718739 963641173 396428231 20338393 773845773 637010137 448498665 162490047 24231071 968989813 993451935 919484503 38804905 474737049 473998461 653630253 508037113 271624999 483261895 196713647 251639169 627351137 174485345 481581881 190525277 394730997 974881497 256974089 277588687 761087739 855933547 379166541 387805763 25206765 219402227 397693203 963637835 792126385 763256311 503747155 878921381 9407635 748336299 860087027 640210737 611562827 97144033 121167799 74993917 609516533 312949531 428350803 466990907 686578455 899860095 667991905 485172807 567601821 437963743 792720737 158692003 31256285 618328239 218317243 605766651 422877587 694074895 794033347 711846947 925312229 160108489 502837681 548381717 102553697 239692105 763110821 899876597 311720445 703724711 929433257 649515789 460749587 94049697 756460719 855893713 366867819 985549985 213351057 558187997 293566001 279370167 733263119 624982515 187154173 361214869 880363985 665888257 719034567 50208927 567286377 650809109 894104313 623365595 554356051 345651567 358072413 385233913 560890605 740540273 388993579 264303183 741063297 320682663 641804031 581220315 999272257 162276545 398941151 769090119 592165191 495543453 555735349 349571809 114046609 557907773 51497947 301055903 263277581 32846543 17136651 497044515 847054471 827815331 430425707 197469361 114357181 775258421 61789961 256585533 296871245 740857129 297943129 314609241 410721217 794517577 828236857 56501319 103337355 21132171 748559599 436030957 774079491 30816519 724790311 917384669 582060141 260569859 271644663 755260235 204463343 919970023 972654557 143273239 165817755 6389323 319405499 72727243 462407019 78934501 623517411 702914449 71494465 452225691 468979973 306868549 15754469 237549177 637299523 767188837 998286345 131759023 36083487 530532887 99789127 433187741 28046729 525306667 933163805 15291331 272331731 670100249 891626231 868848331 430090429 656689663 564355109 679242125 385391467 885292709 390979811 329978879 620370027 111371641 982060365 729438279 840144561 88898965 799135857 535226801 887762587 772887477 583250751 835043247 925018861 548188483 210289551 944971997 866654167 401650509 477697829 628780027 546716141 890081161 950936231 717917945 163664171 446262105 981588135 937508841 418597881 464249539 270894751 340837891 303491617 798404469 112915953 916726447 411212761 293715911 938213 45992053 625293505 325257657 441800619 814257673 221890267 923847155 976126815 828397895 522658709 807286465 658263299 987569713 837185221 120024349 680149627 460468723 775542697 480565157 11426719 676510175 995074021 391914403 437327139 44015731 81565317 661742593 334611369 437846609 68049153 789389915 282756285 171230531 517848629 174222319 157979599 163749693 327164773 797394083 176250679 643470683 588905793 247705095 934737719 724039903 405307613 238738515 5106935 465401397 115951797 319220069 682477453 784676337 339199919 191112645 764726509 191434189 108878361 412929953 171458809 901672365 673307815 660711891 58737789 857171611 873251191 816046807 290677287 769165771 563195663 998562263 55476115 17240985 603800411 447971233 164947009 411767433 994498225 10705835 282587803 824865347 699037391 823760663 373670129 747323549 455191513 164766121 235709565 336440977 277427035 747829971 184598111 593751363 423480653 844945069 87824035 605031677 886614793 912250099 412153655 926022709 184954969 705144845 65713911 268468355 931326565 807033355 776229539 191495085 889086661 617011621 857906659 52246171 776176759 57406267 845250635 977170531 61898975 491903441 254768723 820605247 373827787 129040921 126991451 961836949 278248303 305409897 766504367 824058091 594656617 217997503 539791229 460497145 18626495 586588101 490596833 727660695 928502493 882159049 407317723 37898443 396388761 900612803 137127763 142367677 661461551 685278289 13702173 378063813 891243333 661082299 325618929 417963097 774948587 295938543 125531503 795908383 277477265 609996423 142285345 981490403 23704857 486392511 393652603 396198551 512389573 81377153 658265809 203844181 942004547 301511515 631560041 443681379 756031913 825852291 114534761 801287211 212949109 475270875 772742885 544714047 902300043 162359527 897601237 581248093 312246327 809982681 608852505 504594533 642733105 590129799 614385275 635917157 635417749 911488881 403104173 367532431 915857641 364659647 237271113 881599551 427420695 250710333 935678157 245264119 384030585 762004069 374317735 301289571 630588361 607889237 389195043 577705813 393841197 632390357 731492991 784525259 46964019 202008917 49246937 675133415 860181455 281146347 617591099 335065331 504917089 532138839 439829143 855319651 558932907 879928575 327616197 99368659 865421275 254627827 105226121 780208901 549790087 364903401 850364297 464535781 105289899 327750723 292969305 551706759 855668143 217673479 674496111 371406629 916322397 267138021 767846959 900566561 65637101 482730289 993340641 431011337 574587643 202562285 795212471 870407057 232202379 949920193 775972553 217251985 501073165 163506171 3277339 461623565 949794387 591131793 645064851 487930929 167622557 463418405 972490243 721229137 69990543 647347707 899517735 28465383 797040183 804127493 927825565 558731671 536292361 28014809 584088559 708610347 562850531 897666231 155600525 338142617 375414283 698161287 629474517 672825849 989763117 895589845 575057155 563798415 215903839 697138907 401013827 265423049 528803101 825843063 686002085 188909111 955846477 618412593 678033189 349915541 793912639 418875193 710479519 668695751 565397411 273490789 993365729 529432281 529499291 634524979 867121819 282429691 709158569 330254797 448808805 552466315 627917755 932724225 186438337 339229965 570383399 84721479 259632921 883258667 426380203 603441853 426634943 242048439 128748651 556101163 888726761 134169517 310244341 585232639 288229561 392237105 35329083 37608275 150906427 200756111 463898783 66022627 452679519 171925561 52441829 513694231 381182717 833948105 576811065 32861953 129017303 441506821 202532911 100075093 990625687 562342359 716508615 637910645 553257421 198637649 144894055 540833381 741265651 277242801 288226009 76719831 859998059 568816727 229893715 564015395 622591099 977913297 727691635 432459331 95805273 72195025 643718463 379864037 56435739 619118385 3793445 695535443 389763267 565990647 391020279 669277831 833996347 593683789 69890035 456551711 685014867 875565191 830964673 569919843 565113285 109362717 830137963 287660867 3261233 915448759 119072873 526437205 394606627 145846301 286271383 927122903 297469705 622782019 499311161 344932787 718134591 557602883 667962879 826161527 424567301 358969957 395131131 238934619 497836933 10509839 504238765 662565181 863989711 625672917 789546745 582156709 74148829 709601653 145265965 436827841 552420495 44039889 671769853 404105321 734159793 600223475 20708743 345396253 980884209 628667407 294250577 570120709 218213611 215934337 698643015 448547823 28194847 119831243 486723775 468013137 380285429 854211225 209321077 346428749 428651457 932494783 197123729 758693287 23813051 709790775 745976221 135610321 168113155 851404837 709401743 15081185 234847139 718115027 808594375 232183191 758446991 57541559 981905415 604848985 81792411 195747177 23160703 70949175 957204365 492066989 498578113 461061865 656803853 346010993 381032397 534315983 506129321 841427395 380023557 491274733 575143903 681455845 281926715 893270771 416541197 475115573 248772001 72792891 134748287 661597247 635894997 160114371 74821475 961761721 500978141 784629807 969121235 429716091 585515555 488952275 931567315 641789577 516813185 911049893 763345995 403308305 343797553 329228611 455395849 851829603 394265817 71199477 64626891 190128123 183596937 396790953 138711855 243325309 906433201 459923447 773986495 355995061 938118449 366604319 745017069 846526101 679558223 844976905 419824147 681464631 710892727 29789763 767068271 832134881 731734913 318759939 43444015 339791355 575680293 652875817 121543519 617553181 248683149 15174975 545974525 129827837 712519683 493357425 960032743 231715457 860732991 602065815 672349927 763360181 792622941 823836721 578060975 118501067 860777441 330458725 267529943 341060127 437924283 518256387 5136099 948576817 478828861 139528067 629391161 983766193 124244519 504298243 686908459 2961265 495931549 388511563 640429813 198603625 330312749 679315915 339865269 284734913 697255627 195978393 606025589 343081665 838553559 692939635 125074215 867073245 435961617 888034499 661626019 262685103 622879659 297739415 297415851 596988157 818473273 751352229 962798825 798610865 56792249 150089295 365538543 688830175 246503821 818554267 560026419 355645633 519952517 616239159 769583129 709001657 289527511 949890939 755748585 73192277 480314655 96609897 444629 993289543 279253601 853851299 794313205 904807531 559362827 677615485 645735499 516250565 838141429 49973995 623326913 68268925 426995543 197124749 496563753 760175591 918520795 687983789 836149817 441430145 775753613 989895479 363858579 605191405 84650209 382288067 3456451 412310005 367314869 793208721 573550649 927844495 163273293 650246791 969674061 824064211 804992089 813575733 424814145 295488773 372819949 669158867 49311039 90006161 37558405 550462527 595390041 264839947 622646281 389607681 362998405 28947757 122143683 871435593 217501861 775685083 244328297 943041771 930695301 40771871 47556121 996700523 337248725 522911535 744511321 720234221 120732461 536145763 119897111 526811455 2168079 591748417 936309669 784885981 78169829 729918321 126676161 224862691 629064191 705802441 951042195 397031703 386466967 913067843 207309735 630588141 427901133 791884547 831973615 612124791 955605933 410384725 826430669 813639799 920171559 229284779 164883461 715397205 463318547 210637471 323524801 33708829 293514035 760751863 479920539 656202889 434710575 604524699 428058253 775130105 277462939 574778273 92923389 711370609 878107375 820174149 589651385 957309091 610642829 742191847 941682677 980691941 320166843 429206805 810174543 641881399 467265967 958084223 809940685 220379455 916724863 571068165 794719451 2143309 440802091 248420007 198130255 938896729 163082657 417242767 298466405 447171841 478017967 432337941 12489925 943082637 714157071 500401583 151114361 911431917 353105249 421954565 145663225 539144117 376923441 638622431 306397471 286992937 888312557 618873905 179783733 868476971 640966897 841035541 785021155 865083727 447184765 302081233 242977345 24504267 744181689 59528655 239367885 475785085 426582713 420418211 815766379 996676331 346860661 834399493 875049577 226965575 58803917 70281949 533720699 728083561 809439883 408492339 897662399 782193613 182111331 219363131 778053307 360476059 717761513 161887057 912720729 274901669 876138147 658466807 720752115 528714335 249204983 687029465 673422403 409558505 903124281 625977291 788716145 831083277 977473185 827039685 238458375 811861303 551615567 238528495 599988987 837400701 916015693 706288273 659133613 724687011 22764173 834678303 502251231 866793997 146054633 910634037 413780671 668260045 885333281 908119191 699850723 875637141 306425309 831886893 675243337 286030537 961940913 379259917 323001941 958470511 684961555 984427121 959725523 920643127 291024999 558123453 774710011 957813365 288404725 219940731 773889129 595156269 883790321 77078367 382100257 597975043 364218735 147758661 564474771 128362565 936920437 203588401 102912145 618387951 321911017 357147211 638543451 507361437 148899997 89895401 813394839 672805525 758676045 285632389 463167055 845206985 775391639 680469699 597512953 587379921 370917125 286641775 191647603 542438889 396337929 805791609 230187523 305359865 395323643 724245505 437890645 961005459 930816543 261976645 974994559 864575467 200153243 580228021 227703805 336066017 368512129 736195041 895958711 296496893 990970573 922453381 793694711 648147055 676743261 382536069 380861301 354967565 546191099 327229421 332684365 6408023 922528857 805839087 941020163 743127667 99973903 59888101 750810501 808111409 765246367 632943189 489304107 192845321 244211571 128799465 133523119 689345305 883023325 417714291 23997493 522551081 153592083 839994095 462190415 942158503 684234041 828217987 755120879 536387245 751534423 546032247 717319539 430344695 261358173 117932093 222121889 798951407 258314793 640184949 421030821 171328931 849969271 252019679 742928405 902399177 583767539 840079975 985622765 15645891 771548973 77759007 814693523 17938839 515359135 155851845 261641941 253349619 120418987 352468025 978293737 348482863 250146969 141970057 358297449 204393547 635116953 447935463 111234397 763233005 748441801 224025135 868610355 587056487 355283749 550721379 82252477 658403501 888488601 661019311 139209531 648800095 64733429 795625319 79422031 298447047 7014643 30308355 261373195 692190671 773548851 974828331 373519585 424327699 713879873 370262183 402325167 278518993 134082189 645620843 97278393 344041455 343983471 11859347 58570415 889719549 378453545 646224225 210228899 970466867 733704165 715413059 514290709 405300079 607036851 556420295 596405227 310956857 717816205 687501997 123623535 766055359 722952531 641828311 779514967 976533467 795275217 833981263 791812033 923966473 153056181 315974731 460698419 94241651 972963995 483371299 292661401 836911335 890213379 293582427 859481673 978754011 113699415 4015519 95888385 277975409 931959783 606566595 341096931 826814829 302635501 24409281 265596801 918502209 832681865 60204221 155893451 704487683 400470215 414981379 705450787 358269043 155743637 275976195 211542091 884699641 698267855 243299677 554561907 443197857 281134389 695466191 851374637 952664101 930020977 782303561 402353017 532823525 360551441 41628635 791531707 188029925 305591955 30919361 519828673 45342423 957720663 182430815 463871167 326789647 10839715 286166593 550456659 817357969 911220907 956796951 869996419 624872449 33741961 531271873 700547515 893581743 380432445 612272957 909820623 116108691 602412207 180136379 792770817 431926091 869721779 822279819 507284721 665380639 440622593 751641387 584558767 30908669 554233913 45078843 473431729 7894399 556998117 291648391 653545681 777416417 158897017 710835973 886835031 673635853 354926665 848592847 253031921 948722575 459713435 594868263 298234033 517978787 597170069 181504375 349242647 343217187 282015307 213272919 334517509 719231387 972355253 882835581 252057037 823931447 888789427 557732817 263205153 501571535 198709007 878561115 513496095 499432931 294212219 423027535 840045131 990140571 706563729 985710855 22389397 598078403 812477391 243552777 4241489 125895637 759682467 420158207 462689339 690583279 79696217 77805245 134680953 55140825 616739119 516074813 212709017 37072643 789312323 831867041 646806159 717367171 331441823 138569271 651794873 800938521 465639989 19720561 908614365 36045867 211202015 329319147 92415529 85186761 649409883 950284647 527264815 275449257 470996309 103005393 984490733 503822893 117292127 746755389 320060619 795187291 754099183 165442021 160712595 549471713 730789737 736554541 892633469 211750681 873101077 829173919 74307107 69639679 827457317 468076527 168573839 573549885 579344563 311050233 909454633 470427937 16536253 205848255 101508299 347858593 591377711 973558127 354023855 610993247 766178779 233482585 723185019 374796191 838360951 439776505 627402045 587759955 138770599 289720561 981502057 637972241 252156659 54243601 91796445 816122393 267619789 74953543 345182941 551672913 966396301 284311217 177482265 96497483 789929077 907022995 536881317 735954747 586753967 716810581 696962303 176319489 205007947 303133581 442133001 941249061 759848005 270828789 680779283 778723287 734505337 593790833 766633939 216121325 816115381 337773069 494158691 245519077 722022057 577569787 180387659 210686441 942852845 652403605 249731449 933023687 245287173 790281567 808636479 271443959 502399831 542747399 535836509 162788759 165389877 588025949 477620471 793131119 225267929 905194079 105638553 909742061 149095013 926220845 588016187 802157609 926330591 361653779 778882361 183775973 291350077 232392327 514617689 979559555 491066197 14718755 353387461 647037719 801358569 427422119 328558615 304482645 948674211 348974339 388776777 360577951 423278611 945278023 461703361 107565305 748721075 923359153 773485389 121271829 87523813 795999137 767141923 568852041 517991409 710707621 3820509 456513173 715009799 404469615 163726211 362242209 806727491 357235163 439481217 853312953 321046693 583951339 7045805 247544791 814384151 246987209 298079045 49717913 173752937 943093709 923075563 391710279 974446933 929137007 843749553 117399761 792177787 142630481 518729225 343290573 26226279 40723777 779429839 794203769 448815495 235979057 242146381 841136831 884329271 786523197 247915819 611738157 133231287 111049895 352228995 266019835 314898993 242434523 619092943 427423495 380809141 658583917 345384181 276271831 177314365 272240151 652223299 900058271 159562921 953334971 824514157 709931057 523976389 402263911 999800209 95316751 237447231 109029967 498985525 466908001 808279475 629864137 188373317 287792373 524019617 194614367 902067221 961898049 463267697 893941175 59156327 102938981 575145079 834439079 503942747 729892139 52872939 255347241 983689603 727409663 652165869 403904351 486562255 157074681 319374217 70048921 52152225 737661657 853489069 490180421 21120955 621248773 701114677 112015361 776242763 651015821 361439711 98366865 114359271 975764777 438907481 921068509 597263501 812303927 422098737 245596923 222434977 661628865 169641439 246540837 630748145 528372593 163887559 123075263 970935473 559862179 122855731 587478867 602093695 162105939 410451537 295598743 898019167 525349931 311087677 624035427 860327617 494125433 72072181 692182205 239030393 478566197 139174247 234039501 32481219 934286845 660137567 126162409 592136261 395666711 130060699 197910669 313617677 711263607 184075705 644922201 652035985 596105391 255561795 893380633 22150315 67315201 960217259 124557507 347834787 853810517 672944971 797176943 670683941 623031865 677934177 94894179 527831111 494318307 476635931 462133001 404060551 686631731 297895557 247752435 204960199 174380467 172525213 146081247 62105433 9477263 632832321 182712237 663185647 660437151 495875899 507233131 104719525 298981985 66385725 953320009 70693125 742663425 982950111 715359399 578135543 634735945 315731365 2552581 984881621 722372275 882441205 822853391 457625177 870062685 633115683 694103703 555561897 750538255 911107429 563883675 884125011 388656441 652370143 271443003 203347275 891165679 396279449 598675397 571941615 5402101 842797701 943505835 592934917 553029039 22552443 129767305 908903353 987798829 698870335 462896929 48813473 598913829 393597559 160693599 548538553 743955961 171289013 900253525 363875433 183825583 257276531 166394689 476390779 682377205 456145171 102393221 127381799 21159715 953032925 50102187 680199687 33595 975222019 280582503 803280675 10808287 902630301 386899861 255778537 119775843 169405613 321105207 603636267 831792827 744149277 205281913 625724201 192460423 941070783 218039727 375232135 61259793 231038025 726900819 905873491 419753285 928293471 804684295 392587521 127192251 490990217 915149211 298837101 383490737 251285815 53646333 566435553 548220435 115370949 765798731 81869319 169111403 941018997 185299911 326129141 109196787 344001643 271494879 95868967 400099465 586763455 463875619 856742019 332878005 553927525 860961871 588967511 412031909 201628991 489733191 929129817 500139315 723144217 724422677 222083747 286929629 962100643 976422381 897390013 773108423 529798261 178026797 292983699 550840005 448327441 824095059 253503355 14419789 100738785 556768013 478518323 184822909 901878581 915403569 224455391 253753627 166689351 360894389 970821131 679614363 948205623 873238719 465632431 733861135 196136977 682774937 882009895 156279353 760917701 154340793 346953783 564330113 175179819 161995191 461436943 419046131 541660677 599407193 237473089 447100233 138125563 682427785 847276493 847452899 149690785 188882265 909758489 779492805 373041007 573669637 737712621 206470561 659066823 100601329 240826245 86806733 890650863 194067113 758981241 71737161 686589213 65859039 496630993 377144763 462850919 132825453 445748729 723158643 635411663 475025241 229269447 106836073 126519613 859334861 737073527 433320507 530522245 154499867 846717105 667031857 950298975 832151233 926646911 569798713 282495595 116737631 398874199 9311981 774485301 318767043 852366105 695124107 990322987 570897631 631589895 598926583 263082665 38026447 378229201 539630533 504799215 599164629 298657673 663138091 501816869 989024603 195500975 329539845 481208415 766446841 880205095 420904415 101223573 343361895 283224127 665201125 902666407 34120327 259941291 656721905 844026721 738903399 264834441 268805759 470680433 531185977 367205469 676807351 646312561 527790681 92756503 89069419 602037221 914134857 85882635 490329615 807914037 550952373 678915829 470292419 250836399 76757873 342738939 14099537 142528913 102089079 276958123 983517987 951879417 729776361 677242875 275096149 210020337 347331095 199734853 131894181 639868525 378506607 771258449 301320569 947074881 629984911 31909709 927212001 122457395 787982649 851699403 696794517 23220713 963956313 765126089 41667827 810346231 744810243 929911215 615295747 990310099 996410225 234974025 527035509 716255713 585115655 397105611 974653597 315009387 500121167 796678097 329304191 36762271 156269567 822659173 776290751 669150103 379600879 114937841 641480107 853373527 883594531 79061833 461861951 623836613 402087369 87771309 7522583 739805875 371740209 690303169 477537913 6446813 692059607 668863379 396969047 337976289 103130207 54152087 726500681 280316489 516335251 800189101 29426571 87685255 795182953 590886167 658970117 616659955 644376313 656055939 54005577 639106513 212455817 493027079 411854987 411394631 365180033 789573151 595287723 818325351 219936631 829502899 456363313 915184173 229359399 609339149 519526221 682840951 807003761 3804645 875753685 784832783 881326435 203370837 702917961 135896231 268419117 885742309 802977487 442491095 335493167 982016899 846770999 788769825 420731111 793224321 799081721 744056815 506732805 48775839 579580979 658272659 157592921 190536449 610155437 108690755 245349345 791498293 553077205 229802787 588838077 467213103 587496389 390911035 727200059 886430285 817884729 511477629 794982605 56854101 837879451 365424833 540484621 969580915 973742585 332186569 85269953 851503163 488019465 964567871 414474195 769505455 540830765 658826163 339036759 198591279 425696363 882439327 292319877 489920395 933905009 701418341 115969477 11820025 790168727 103467597 783942815 862327315 902068445 724741001 393778631 973040097 431162345 989695537 736945943 162643663 187482125 628632391 670075029 438377141 652825149 824058037 356902763 819887307 306781977 38205515 36577517 988621499 370318825 924533955 29815701 913925519 174127517 51910847 841932295 517657279 353051595 835693509 580598285 903250215 636044723 963018571 140320667 593739277 38060859 365021095 313531341 212064283 761929203 849936155 49491429 477024363 364617235 487980753 213596239 771494263 771815801 466649561 964110239 933093413 506435757 17508397 412388751 472939203 687527389 316653485 631808515 619634693 436708323 358020901 487661573 388249611 775590715 875241285 897655497 5619031 3861775 812186531 823716011 970818007 16887851 942048709 367033391 799857121 729177611 638453779 704119549 858178865 128460233 230314717 787501291 929258991 954201393 19059037 602316531 142511525 716572591 132927667 14550585 49525323 492725595 323642603 767624455 327728957 794767349 688791027 465504211 425157183 985007589 175881383 467629109 853371007 951317815 267811783 869222897 46684053 633901733 332228349 605769717 455199355 66649231 363809241 455992145 974215831 655783929 64286931 656911425 537762485 778306963 176328273 294598953 701678093 13944503 809538455 186216341 171914557 889627235 282401755 229846839 905637701 637434941 148952369 195185385 994097815 829311381 16868767 811730865 905773063 34356323 583623693 874030007 367664081 275480645 683311433 807213905 275324061 918479747 344586001 251094011 890423925 552206859 103637763 788254549 784858063 563440247 819225003 673972269 806107275 600208643 766416759 941161845 250241771 153044633 34722243 808866119 542504093 562987461 869521869 315191273 945736119 943476163 31463875 250179269 491652023 671714157 359295409 255316845 924682369 328729167 271608469 725678751 493186403 655683989 549039949 744263995 346226191 245467927 143468963 437917519 457681319 673538133 372808009 196192013 536161711 233701237 263162073 985510353 203357971 217128009 566311123 421085469 974971175 826575685 680793247 549564829 998990507 683383433 601074063 946755619 227690693 694132957 646017503 439045805 434494461 911881393 525261229 867627869 544921935 433718043 267077123 122691965 992947475 116778201 844401107 554834049 321153041 409557333 132121847 339931907 783197301 12132767 512857389 96412107 3439829 260933481 461359393 322551487 221659439 286374423 466633573 67592179 339249637 660107183 251719023 615356581 866036937 795563999 952479395 455319095 994048523 612276481 185307977 831856435 941643597 30103825 719896979 572675151 206812305 343552697 592862875 435547489 639195463 250771525 647689567 481491059 34150209 959902385 829510603 2089131 816368063 27715223 850562481 261377887 201571429 589522243 593460679 416940297 794781761 99816865 517732017 534126669 866436807 304837449 82590711 978367733 327380181 630611323 78935307 947121399 83405745 247379997 831620165 140567403 224430599 548322497 298372071 643348885 372622573 614488475 526748955 92218851 715236575 193821835 92041459 784938725 751000261 209483801 180414309 721094231 140471017 642258037 63119957 170218013 925093889 774958197 170025099 728000833 199837741 781808791 216980663 239284985 134225903 188996613 796587127 336124829 410221877 122075533 599215431 443583411 378320983 896372903 700147091 87569635 795067149 163400305 301422507 495991045 995641217 442770099 556348617 965286671 530668351 113731291 286434831 277370407 9793595 694949633 190256517 718156441 94310867 661686503 812501787 511518423 801135051 907492591 527306157 833162363 148003155 530064685 387454971 722015563 86542847 348579925 141494703 631738417 936479435 845052617 851614297 500332607 21223197 42562445 751917683 911019441 894848963 192459091 261029983 162754797 267595249 207994737 489071973 872184699 816077383 630857447 400900277 709764365 408982471 338748253 572312171 811201155 352355039 359473695 530583175 784614621 177996389 920306471 858719219 6520391 741383317 930762771 282545535 527548179 159993367 965615403 103951077 340175039 680675573 772674655 22856135 339067117 848542119 363830341 789635243 216721511 339246601 528838939 391946759 760244257 897939039 792165835 820741425 164606517 25396313 197690083 211505513 926687465 289153545 666557851 694084317 241200039 774996207 22853329 651845019 780045315 905314543 765627915 669465757 378687671 999746391 228518013 521486019 279420071 236483547 672271353 431014361 307922397 510675355 24561153 172808077 759888525 483178519 27985085 206523515 991333395 276270657 489416699 208558371 161275889 335540589 201636913 626250477 249842899 680443479 327662975 621299501 637484941 682544679 566623919 743344667 683408921 10802535 884914733 739845079 977302683 895684367 651597073 795616109 418813021 978942329 481495067 606964171 835916501 633358701 670236337 841601741 139262107 747149593 187151331 578679859 491948659 569919247 471082345 607506597 181945929 322246991 973535393 566174391 226531889 282153533 127598483 462493663 266222437 966947237 620122095 241195907 13896009 990624191 799053323 57194983 92052585 98334247 807717349 195362111 495934837 810755811 715209767 341073061 526237773 294069087 89778975 497236247 722539247 175824751 46376901 937245827 999920779 521873493 282380983 100975797 585327217 660728241 993642299 935430251 608607005 920315027 615005765 701946947 608551219 773171823 647832935 885798343 321259135 477880869 872696291 226757739 525794033 171347703 486141345 704236675 573701545 521386387 772336685 192477269 707962343 705686287 322014147 737333511 459729941 229574631 510668861 721466283 722869963 223459587 843236391 414399549 327857599 507194031 958598571 96773275 171485911 622071709 561608615 70133135 243590943 615981039 395633299 370023371 70326729 763215399 471294365 421588201 598145327 201407029 843265423 414461031 963881431 473407597 633350115 627194545 905628523 171331723 227667895 618749977 172466621 595908789 157895891 805789653 320887243 392372855 385326759 542074633 799591607 169796043 129276231 418330557 268619465 847452681 212505719 831401955 72937081 948228345 787239579 265490003 436662625 130303431 167635907 449962449 560799555 355238409 765206693 239232515 825671947 888140987 898545059 829882491 953471437 268357443 918040003 522560435 681732545 357649009 850442675 742305805 338611535 363119477 159557835 612634321 21307903 161040625 776318475 667529521 883896197 339236327 936483611 616198469 65586877 959932615 830939465 921010449 749677225 879856227 845552267 171427707 473501045 385970939 642545793 114333525 974105461 14748467 555284341 852179033 843230243 281883415 459170643 641515049 424580899 98565407 816309939 669973837 833635135 783715623 341919187 5954101 361281387 671871349 863696287 273622591 436037571 879910837 503019169 480109223 268213899 580008443 317510163 266534809 463013675 44267465 205069523 614078245 221267769 216461567 807979113 992817733 45293423 411503341 329575427 779296219 999484593 64834887 412169083 725237165 914757897 669457197 496375887 133987185 969790125 121678881 521419427 692972989 334805237 770893073 593780299 798920467 816722789 633364819 282268605 442051293 332022955 234897829 96676631 188327019 833742231 224014633 182095647 230257143 607368229 951579761 883571783 545199523 453000825 895884911 385079207 264660597 642564575 154967935 784870907 251030371 298657223 357914219 434888363 536198211 839070929 197296989 195005641 551807703 722025403 151782121 570505225 700054985 706662517 620520207 184337357 426442665 115152143 660638259 426825241 11473391 376509127 264914979 980040351 282511873 287014653 205276947 310082997 25706021 566018621 744929953 560765787 109084811 675088189 867586259 929977911 108591183 825352663 539494165 837163673 407531121 516105741 585047869 584853369 747177177 424853257 144429193 612292981 39909723 724658723 762001563 316040149 14861999 449064913 782807171 183861639 102476149 407104699 8615351 589300773 881875257 546081959 890348819 401499883 720776041 208846221 200286171 497953731 188623457 126864007 948257469 350770747 521386081 299280599 758860497 451779723 145145489 508788969 460592785 910936719 356732421 838771535 129903331 955186387 441970869 237927367 995030035 270820739 949794945 877434931 317704409 699943289 714235957 56306589 154636625 528388913 384940671 615680825 133450241 213563347 176228603 201241441 335359701 414091313 344903463 527961757 779016739 936353215 449276273 402882195 809906087 708566941 684165157 114863383 433861511 620871571 536953473 788051751 681171793 305608977 694360483 822376933 593112827 595967533 284185495 94799771 809074143 602462887 810741835 974479037 16604613 876503781 451080857 327066855 197240793 222580471 290944837 278410205 287537585 480530837 619339765 951387783 420989515 501617949 791060029 500154875 844229899 507061911 531501203 599684211 759022269 106677427 38864733 271779921 658017945 646327493 184542687 556230949 10057019 934269393 54652237 888456861 436184487 183366009 343134655 103776151 778563149 637681937 462949689 604231959 548850177 78762639 920943777 348912965 319277823 884045199 752078027 487802999 192054765 47038045 501172077 804064295 896738521 276924133 400534059 271700985 292362807 116195777 495053197 41017529 536150501 370089773 135088133 401978711 598942761 728397329 548142829 806962675 883828399 997863167 718045571 110781643 506730893 37879595 882031603 568157519 776020033 99410293 169714255 435367183 414241965 279652709 111140237 101131463 271740963 84638251 687071889 570894171 254266963 835854237 310478115 399401175 543219807 582195515 109210357 753808749 759660489 164282667 939415199 507459191 619704193 144783677 297766563 711560571 267614937 532124137 966194797 749728033 286074513 189813069 827476809 398782017 282259917 268928049 834388339 999730385 101538585 524313347 199481613 729415417 125468015 560173277 588018975 800955903 672386343 3266171 916516507 92972891 380384519 162855751 815518041 757140903 10821439 365110351 681168155 103204261 238879843 812267337 840707723 189686593 728585839 586253207 393392697 513200781 918721995 100299069 113547679 537171655 773526593 362397679 258266143 397171535 63372295 750206975 894439425 746856627 425218749 358892399 706039159 460968357 82682469 67286245 377282457 9618945 587220077 677895347 245671785 603220937 863439531 790765517 577397457 648911913 553887837 362116307 914405793 525356659 113898791 593671949 983130771 891225893 526442005 613310827 265031753 802464481 745025183 289398147 974205003 39971185 701955489 949681813 281923081 868602057 683363423 191441031 909226463 473862149 823289737 635686121 99978765 82358887 856556595 801648115 581140925 573856859 744997593 857561475 185132543 365438581 33332833 226477601 910797005 428409455 88755481 555955195 220233737 28415021 29670837 917485547 715637881 48413369 815719507 66270317 548115155 898260809 167821177 22842027 705792685 495726645 695089427 940628337 63714697 234385921 39852407 344455227 462009807 481224793 725233251 917057059 166944723 520671505 425896953 886781173 735021773 834497827 141093835 871969821 234896863 34202035 624324555 498366899 740144911 714798861 230810965 379881847 154011731 400810401 968001585 312032209 862905983 142217485 466976141 387168461 522318937 127630101 820366075 205989157 243052937 232066721 67536251 962997559 225057695 143787207 748386929 209413645 951691539 815123395 643982507 110583889 95675467 329501173 743319901 639013215 688059531 688130793 998150437 815606837 899984649 358188117 960733961 973921913 492534233 161789713 371554165 387778427 35787521 34567715 713027903 132836659 722072425 934976949 801878691 812010815 586777055 18664473 146396231 335106535 860880929 16293579 380721209 395716889 198689741 58101617 7089903 960344431 506258287 345106129 773744195 917973797 395079029 38568931 729748095 571269925 636875579 270361793 314963275 56363515 333380607 663676843 268947647 222480611 760746479 420260369 347869273 510578871 769619223 169243525 736802301 68879619 851322485 911770303 955514103 543144179 306505447 978743463 158953727 968315487 317912119 283864901 881451313 749215943 298620441 750504139 4197139 660121169 590485793 828968089 647206287 491740367 251977685 538908719 499359231 497293493 883514267 454664761 50231581 559285283 600253895 154778507 199664143 149544417 208533647 707637789 915116899 457835103 17677847 611111959 924733965 269677747 645950823 420611777 464003693 17734043 399141233 567821199 558810949 848159361 775301647 431383837 316666563 812843123 161938687 963068461 644240765 435467049 388954863 682853035 509425007 607745 980387435 57803947 491862273 225210115 728898801 277883751 578260989 117676509 535781853 767445569 32042139 626834153 964014463 144715209 45329527 375265315 628804099 463701677 331844501 699065909 194435715 772809931 352112485 762775915 295323649 34535461 415152057 405187777 970647655 554699751 530201041 270489297 327821191 460587365 726432081 757023463 428380183 108131097 486912839 974710767 160044219 755769767 84959015 673156993 922043131 478593755 540868047 334463709 328222793 55782053 107085445 617915881 484943613 466456099 66303989 731968567 500478811 682059417 203158837 893067771 304006793 595488367 321444033 898041109 561367961 872399931 727422847 872045069 905315461 593082807 344151999 636360467 383098671 674396359 978322481 66371835 783636575 160512631 619822839 468427337 442880199 370217463 10854547 330408481 732595199 701343143 166208243 263700307 871867785 431083525 623281773 221856087 158547407 723072193 754489535 847632203 41466657 196487595 709160973 245901045 241048249 558137791 937873379 687894985 951351737 433162787 829647417 345467865 654656553 612550429 666387563 777508071 749672441 385825061 515475007 73774427 743674885 919068115 309432033 97456451 392840463 330086637 472023525 597762389 337545915 428580701 851288139 506028019 447532191 496879157 722655097 489241633 701375797 638176179 348025401 653827729 103443161 409795127 602521537 172685465 480394969 387033935 712620207 806611257 819230819 228414125 394540041 659028503 171289491 174245675 484684861 253223557 677281385 54669263 421560861 515744375 137994191 53529283 405474791 96782733 844212373 844409435 442425923 77707279 597128309 161038863 729606971 148220397 820756753 528386951 691724615 981318587 441994991 761828747 625965123 684167613 365982853 146970383 465172595 650713815 116780841 117671983 334115207 274916249 661467677 565422893 357211025 860171067 859106185 69941621 328940049 798157977 852198785 386913433 353476331 358447935 956377853 361506647 209256301 369662555 825408733 457495185 294452555 437622721 85286637 447983697 847195043 140016883 129133787 695935691 656884731 408066073 695337795 488433499 588000575 847367423 85395109 771824515 271694021 308872225 324649579 148351473 183408457 763400089 154675171 131984755 139218931 150476851 313602379 328044553 149728589 847535707 191734977 760034261 905945677 748192553 576502609 735792163 465228627 52973917 251966441 510434915 862291233 497966685 667534949 577664307 776060903 875836217 955677829 527868757 812594231 632984489 670737649 868191415 77780497 291998475 766657085 627305321 198058455 772278119 314729953 698261671 836489563 690846317 820622141 208863701 559932623 32378995 91436187 839685501 292835281 978193783 245050413 371951189 113535591 272701987 275192077 599799861 949584379 464861893 136215611 580385571 506234983 891892821 888361887 313351751 736305893 511312753 470024973 184482551 60558107 501455199 863915835 40709037 961226263 853009171 386632397 316621583 214917455 319904799 801796941 176849123 456959389 485629893 703304745 151371553 897295945 413696493 183562171 296152289 507219967 958607907 241359943 400753513 206611415 882819747 138740979 135395107 200106057 93463879 316072659 819701409 646586943 761119385 527629277 405734303 227987459 668116169 389331445 64390147 375450189 601819821 593980899 621737683 207673 629272261 759725657 563125575 968460107 111257145 775458033 856934841 843913331 258365909 385362217 725277355 587737859 236350739 468810093 949045191 944436411 469656337 620348943 968080101 873518527 531336599 264452677 474070781 309137309 869573139 628857651 907872049 817064009 600045727 93702881 3724239 211738403 412135161 764172609 931374409 934491627 777012615 635173163 974066491 336367571 593539673 37263203 365813095 32772207 915112485 687265679 982323385 618485437 917970765 241035073 191113283 440048159 754548951 596846837 257435203 909762917 714177905 830347015 277985049 569409477 516719731 217835205 82330197 770481627 567032029 673831263 762154917 201659563 91102807 352089837 964153831 893450403 158836269 799580019 790196765 636732057 158667867 256024023 524489843 132510923 834925691 797957355 124236605 147843037 656643289 762178665 259167221 301512157 772686175 997759987 377930301 587852095 414762153 597054993 315121893 294174177 221633269 385198901 101628635 478064135 220199721 734352567 329889853 413210465 445945815 753714137 234480973 405381123 54496819 980371653 317632375 820642153 134806813 160959883 53489743 184915833 233713181 675378469 863290511 611172227 511269473 538750069 620522267 738731831 46785987 276538691 820890111 683537333 880198591 973916991 865979243 108843651 119881343 362078981 954451133 589356175 578233809 647465749 330678137 228706603 811616301 27840729 701221447 805526805 241943471 596614561 541619197 305682293 252552995 85992871 746436759 523213525 882898165 988504845 839222325 492936237 755071039 382630619 610951715 231120345 477611965 443734529 299077591 480671391 183806167 812196443 362172393 430649513 866591903 900904361 702252319 418455697 430977225 38700693 844918113 149970001 649706165 337046959 897174727 325217359 835948653 175078513 965295239 366523481 201373085 234030651 712530951 497194659 63364765 349320025 430586835 576500939 999250283 140184569 304504477 497667799 18529971 10695479 452901951 267455027 952210623 925550611 698541759 863607477 299658889 226174071 264917831 86013849 951059631 407846449 88935209 329438855 526436473 111157247 609896163 197777033 858350805 438951041 885530389 390280983 642246493 186894653 558299533 982060299 878806349 357954983 43920957 863267759 48378511 797003801 733437503 969522091 659791025 247738579 21264089 855345175 591018475 816540415 813624437 412723057 958256153 566906283 695598503 8808093 758002119 95451861 120018471 370538473 850574625 647730779 295748061 833462281 794248959 28992265 590902737 830803739 666359267 255008653 266965815 97865637 865135855 679392643 930139243 296321937 603722487 27867753 922343919 503737657 469908335 718198445 439127919 105203799 726476151 820797085 569810111 558751507 110871767 999181681 718552793 384535799 696969983 518554701 384190175 167033337 208339973 449455931 221690655 333289337 995043753 729314345 118733837 850808633 889269329 893769203 922117441 249509991 780972045 297357143 84715135 343678617 421410197 872279041 102575795 185719501 909742919 154498947 48175345 145028711 666606635 319307349 509763443 47709747 322601201 801909463 59341469 479929193 954525421 371249235 833604089 81800869 970722595 202186747 232564541 417598187 869360949 913823721 983831361 956845227 925977719 313978395 243151625 841058999 596757727 872618365 558739137 748800335 364221961 368349409 234461373 680637209 748274753 656158205 200974457 175745053 379807091 977946229 90193301 406964951 140689463 891905745 248164061 649709855 408016077 307348355 406740295 962392381 786466333 9378277 877057771 335301853 183990963 59132213 6942735 927290901 162271691 904180127 123640859 894736481 248064063 257004853 880884389 124249001 945933209 505258221 400014441 290714423 410555657 97813419 280238663 279788739 902410341 462691639 611210827 885326183 599913773 262966083 615934635 673343661 751561095 573652071 404139199 870434685 496096067 825503015 377057293 175867697 684446425 126807273 212875071 725448833 921178215 337047295 812016935 175774871 150260917 19376547 777981379 825304063 146491441 772957943 19281203 390539181 464728053 674891267 549777605 370554879 584817341 589951929 828615659 167095739 510997491 523716593 709947711 624166157 832361125 713097325 230168967 460404875 210412169 540454359 213789357 864016945 826928897 204576959 973006531 134609509 565990417 120040609 507392775 127856373 291350891 843501273 897621723 675493399 479648103 827946933 805657799 436348773 645017601 145349477 168237443 604957415 581059553 478017793 394941673 333838859 17048921 886398859 677039355 785637539 340597597 708476653 978615013 744898031 200876685 564430583 755841531 556919185 314386993 437330531 564768439 687683739 54218553 867984339 969544123 9737855 997530939 36318927 626374869 959128091 503209335 709854407 632114681 275143347 406619091 125817879 367900221 947559671 282342367 100532991 645072107 479043577 551438803 35940521 829204073 292235833 322489741 377778725 887901517 161201309 929048467 662751597 636972881 860825967 998219801 761617507 536207959 767299429 996515313 468013005 386699119 927891101 252122015 972111969 231525831 968382877 45574213 435730869 297630141 222808657 662401719 219631435 27588051 112219407 368345195 479974795 171901879 657534357 775542397 838004425 336107321 378005509 766464697 7547965 905278805 724462575 534613131 578599177 687532335 999211849 760960523 260408115 418921745 449741679 690852601 814625969 748864369 332977189 513399741 594010713 887816167 325047963 797487203 241665771 245291063 398154851 734835621 260122133 38879055 381222013 226496481 913302885 926998591 123825741 762139681 918326101 912545603 303113889 714243343 267857477 138428095 272044717 303303175 659367809 596982335 748153615 335836679 668957751 591193459 939758797 444372149 62456451 205210939 114794067 727805793 746284131 766444693 328629365 829665795 308368069 724092337 520189813 858743865 600958071 210832607 721722867 332556873 103327537 635605917 503506431 575790631 435167897 288313739 423854095 463214181 555128627 733814647 507148285 583337287 293041011 244898387 384089617 680491951 750796467 138254393 74951673 358983729 511704627 339613039 888605127 654997507 547451419 925714271 505969401 88610305 937247359 351909275 65081207 939381687 47982165 132523745 729751181 253898321 449946241 387847185 498227695 465910183 771154637 556225849 369115323 852970809 832919783 619759755 825037941 484366637 509647209 233857891 680113677 745544533 112295127 160124227 361442007 720971301 413195927 182023893 505480079 599808445 314095613 21908721 157404507 602449637 172848447 415798159 557886665 563643405 146763393 669856977 865999053 364211275 800095949 583723013 522124229 401620573 362954513 824180381 374812279 149221293 654836007 134048053 592367889 102901577 592706259 405310095 696490021 65916649 342815931 591720601 549454257 150707179 588395889 799697761 817805341 604674135 276864113 709756967 603228979 738650075 823684377 853836877 788391211 506474193 943787443 22051933 954611103 464837429 968648305 309188363 768718489 250058161 121709675 546192947 940218753 895903889 298660003 2954713 373225521 251573969 45076229 602640677 360489443 776603403 829817181 495821165 979441725 513628811 16748135 463578411 771911755 427750973 811228357 957189891 163042183 747215801 686456319 502205631 303012553 921010239 712868743 903098963 94131031 325969845 596229557 837539549 486042593 598656941 838518477 162634139 440118651 242599513 650834933 550076667 893664419 948929951 108663359 103078801 884637755 386898945 891096997 77764377 541314195 669322161 312814089 571651955 863864929 87115651 846771251 104743339 308297151 51939835 610220245 54933751 660520245 828800061 823273863 906023855 284061361 412166937 96954315 944982105 486336133 381586439 72694283 346077853 563493489 347260965 173152919 929097297 114847385 643920697 117801641 397755505 670755465 542031031 653145443 13186077 157460537 452485809 391241421 797187491 401502469 808994537 245577945 531319667 970670259 56741319 375869023 173710637 767344749 105502041 304086049 855407249 710734797 187229269 134455241 808661641 326275533 57683741 880552167 166967853 584817619 770888885 308381685 221371315 588602029 527261135 457306963 568279939 114393489 674810817 196401229 75555 301859097 843931531 165437971 748511819 195703885 902925523 311179965 359074773 947516825 463189227 369722957 211514051 716707795 101274055 422174123 868746049 134231865 245388039 759975851 109158305 772622445 273936627 47154181 381121889 857702785 719668603 671078491 853835297 544124135 750810931 740466995 413334191 111809147 112815199 328632579 48063997 131237511 588064227 403146529 191155751 969063091 285156431 793719503 196861807 57520921 368023257 102080565 492308289 868999475 862519395 525748071 977585969 873494247 662441075 33760093 441793017 670950275 800629815 889773817 494619259 196288699 92229513 245460993 911943367 533416365 106908645 766153259 280135947 780859871 351799669 667693579 889265317 321087549 685273605 337983015 897885975 93536283 207301649 603815399 345584397 558660155 401221555 582076059 108290907 520376253 962011575 742786171 103332347 774095665 366289545 897074605 461178129 67420557 645190977 422207797 144239591 327022893 999212191 952300039 560644593 409928405 602322953 683971069 367660491 591689907 802971791 599065303 369707577 867160925 746413545 486550333 917297955 26810577 32643445 363454403 469972127 368907635 179276091 928155105 108429799 74901777 663899883 475349751 128115295 230441439 211403483 849567055 245585555 164908411 503566089 605209885 552959795 432434153 508309023 842053493 777628701 198241945 287678571 88110429 302153045 778075999 813169381 912230587 154620931 540745079 7155753 219278179 998403967 824001159 794668419 59463691 854511679 854281117 640583135 393718615 163663081 111256623 265905367 389817553 867827017 940203799 189895079 257188839 913518927 673906077 879174713 370718963 650670619 393049197 423515161 26730041 603195627 971917469 147128193 712651999 93996591 173089963 864773201 286942201 357218935 19830649 676443917 887863165 202792321 276032857 465424871 538944847 326751021 459838717 418085813 786923063 811622025 581386369 45950199 856057575 525320903 536673903 137840339 357077753 589441089 262987439 943344155 732462571 128239997 851586459 793721923 192315947 628767781 207739629 547935339 74842629 21039627 414741195 722322523 844120757 138469933 867340995 520997249 992990557 874209707 485230281 121864695 194620933 657882835 810422843 172492667 844077727 895339031 164243679 879526003 966270981 772795667 465804257 902182125 547203317 711905673 597597399 593895845 925259035 118911589 761813181 806861047 193883655 545743035 726934779 717152235 11552821 360745155 358123611 826036015 83457027 71290597 87837205 254204955 233842363 388054697 227512003 941882799 839750541 694413763 166369133 234377619 48021143 575316239 678984833 23055123 53957589 628838799 511569617 369124907 878482483 949559663 580567709 365668981 243865217 482886403 666185865 91156539 245688441 194301381 712301729 545483117 412937149 918557017 314118493 435428001 328881365 567215753 490456217 456155159 678466611 336660041 762338971 498565813 26718511 333567157 895862031 389304077 772949259 262744593 722469899 910610513 718263281 589962181 22105867 888427879 52696561 168490855 286504949 98172369 237580805 997328817 168106007 195017919 597919503 69456775 517464359 379655179 426164951 43921651 87867455 564902193 132581133 309364779 928164071 903077467 699891277 934607495 236345867 759426903 108126489 929062795 652733697 305002141 613009109 120994789 190051975 893105225 422965975 428359269 166196161 885434151 892905815 752430343 418201403 138162083 98070647 40468463 935515629 973763799 711248703 651824745 97310259 772578687 982189727 100969445 588066513 838649091 816755315 432504067 240908279 501630581 465386107 985078913 284316215 714486153 491367777 896994895 418703249 628126623 691728821 326808701 132309609 290985153 254568177 126957639 827737741 802861211 505909877 857539347 78225459 717319557 895545997 452138855 122426613 208183677 116030311 583419899 722502875 81938223 846558239 898053289 701513553 607949029 938757045 169344369 723342381 519625625 713414675 590900611 546411179 366263785 146577673 912039471 507507 883335453 682617167 334164467 940186767 628706339 576161675 425899887 617602677 462882453 135168321 942965361 108318469 940505007 760152551 168219883 239078785 442572635 638469585 613178361 386756761 67212071 545229125 485491421 538460511 641182025 299523435 816923139 618878547 302282147 906892115 874489341 670418009 697383099 847380725 180605065 179886015 722819775 743501367 625730951 744760121 765560967 397220317 102575109 847518949 369029779 162729115 459028279 470436679 516878859 998005259 102645619 553107023 421783483 315863981 708584769 493311057 943277343 681119209 565550155 815740169 885992785 336896275 372655717 854338205 506393627 777713761 8627849 30038171 58361069 675564793 274038235 218438905 151762397 478056159 549645477 208452881 877839019 958292487 367661403 996968619 816412093 409295179 906345881 708322549 658161955 398069097 691052321 186491777 825463189 260048911 376101601 201174349 151053681 219482313 30987239 671257025 518757311 585659413 124600435 326427561 667007789 557485137 98577127 674742329 470872341 169504455 966481615 611281933 589269107 956212905 848030683 182980655 303538929 498803217 692351209 92567815 434994141 305489661 97107707 63311727 254094127 769470041 742494271 391048609 214953091 259646199 955851013 457785923 136236581 884711565 811931337 613163363 951053313 675028671 411404079 963095925 483692207 817970199 165511939 852324953 585765487 852623107 51308853 168111695 4460585 819972317 280480739 634635531 653101161 203164391 300740945 444733597 425812073 701553485 214382311 562966147 620748553 665363995 773475389 143148709 472979405 802799181 347104265 687680589 845761511 631966917 480816433 877209907 631983917 700654923 187147713 933616241 242315551 178564497 978527209 866902927 530619875 456762415 563437833 650322299 814271817 606646697 689874593 891953543 359615433 91375461 53319003 716358771 336606593 833909429 606753295 637109091 264397113 352347091 443853491 635908837 598769503 470694625 595655533 290969069 679359757 103177959 285825417 967779033 510679807 764878039 767409273 298866799 858655903 944750217 219726553 999608025 401144059 304409535 321220459 412200113 787527113 101626659 525816857 449324531 606135915 612155719 262040827 424880897 645612773 352882081 699464519 508940715 644119273 970055061 208288357 450091045 100887759 647594857 735292637 63936015 281950867 38038355 324767075 165940587 282964701 379361385 56017363 354765223 983826429 719203757 328989743 794075291 630059245 8348937 856870307 248846719 550799431 261291085 964601217 708909053 578858325 140631091 788552263 355187999 302094599 25392989 97439383 786554461 772183283 458622291 706196539 236482707 8547417 525095813 822442791 466091271 405649183 675620431 211469431 658262627 533502165 892840435 287176045 866693057 694961585 55004565 883992181 800326555 665646997 447760459 179639843 760645847 943459591 520366093 809945649 849735619 512547383 328093885 491858563 240383251 89654265 343687971 451309091 398564583 618431185 938628079 871437893 27354561 966450145 724584637 497971013 500215695 826411517 443509005 58456999 840158375 302429339 587956041 152328979 34668229 245758167 920545217 583969631 282252305 924069501 366548397 168929157 535605781 134945017 595006515 303681193 275032265 569214563 656656727 983045397 112069513 987357819 864563983 595738943 243182105 56867239 494313009 734354623 895977383 708366841 871134079 346622299 356485067 65191973 741829281 915497979 639656319 271839371 618709291 618573237 999733801 157892659 786056085 356168389 611892885 491551693 586632255 881194379 698727931 509149359 488156277 768170387 89699065 130604505 955588965 7404179 28596367 697918193 206501163 357772131 504807727 248337735 696688071 995591945 842125229 363090643 822027297 422622125 656924229 592645427 849122573 949899687 653739935 825557677 185745985 29134445 647470533 927798069 767701347 622136229 941063469 55246173 851652343 946162715 837394359 739372905 418011505 221094593 810722213 223853115 187053099 68559281 36563109 673353831 876889189 922670897 776145613 291873057 264591431 940255403 32495515 275756363 156898277 301711793 793657587 667561579 557810741 549670145 546870307 265084335 106329115 577606523 451336413 875710703 671929697 164626733 453768259 539448235 216331701 157885513 358412249 160637961 294000561 848663595 499604619 892104155 612127193 455843925 303966637 729830805 15702419 487759731 885027327 786986327 389524531 698237015 977518759 233923049 876953071 717726463 445983277 220444603 732466925 342876557 927829389 206096867 591227953 274886475 692872479 387410719 899645103 311455661 581746091 169477337 156164671 858680655 399266653 668723231 792174757 167614195 544702667 496589481 899481735 318384773 324824563 660847573 109921911 785646105 485640503 31407019 175747569 287840489 435692137 411007961 928090707 305461335 105124793 202760889 458166247 178560753 187520201 240317511 66533599 798699371 502360987 606498093 180734035 748855709 475396511 318459831 585967431 123694475 857213095 707181793 262952865 537153121 111947763 402448709 578347315 612686195 121630503 734901295 912576183 802287931 418408785 203929227 456039631 602206813 944221669 729073 282734851 636748963 465976769 973516193 851931845 709825027 372638251 683530625 134827117 939959189 949024719 329805089 583928895 104935581 734364611 223411385 470372193 569889673 298370691 965151785 957230821 244733161 367105783 202973685 983725253 657444473 193570153 547893325 649620707 847955485 118238863 3887115 447709191 611024609 828481673 56865709 630014179 497617397 173591001 389656153 381141263 868010935 401497197 400585951 478129165 707161771 671067293 347463351 928129607 742830203 62944801 84511485 493149709 334429433 768732963 677198205 435109017 718792481 81854255 355741093 882152717 414982679 632798265 415290761 291852657 314867751 666438047 905244907 853886903 725551043 608408357 333188147 558043831 47009925 391159803 190873455 498070835 293739059 728924597 191927637 420298453 490441143 733496143 504647749 170007341 913480227 327043119 911304009 813904053 367081397 542483747 655660813 345034189 318668493 255375711 106126569 756161 516381945 532979587 474320349 395724225 639047147 938106001 420085647 648289765 849366141 773569271 917997393 207451695 612155317 581126027 505077015 771672457 513799613 463008905 972647553 392338115 546313449 571935385 340375511 977914261 399882929 863719365 262137097 228964261 928975037 329729157 295765675 570867577 977816533 457022133 128686849 877866369 423955693 784038041 637807855 688351513 810876961 964464609 628861189 20404097 110226867 10819743 609736825 466851555 92079887 812418131 495950893 557145935 649433031 460085985 156661671 828031933 71726233 825352599 468875285 320903443 125478503 508635689 422849873 370718997 19493179 282303413 531096279 25005945 156864329 744514497 894282961 354768597 91471853 972542265 677464843 900616105 692496553 774010739 599464449 799546723 888107561 395779883 214122957 790548817 417007937 403137417 182302521 719587755 43854827 496765719 980072629 666775191 807888971 459865805 182071129 65792281 726119339 440589061 439182815 830479911 102744449 918915207 360683957 575836053 219492965 563898753 754973157 684763945 162969883 49731717 736573481 502828937 769327505 571517843 939775967 876343113 477988311 23514895 812583695 873350113 164039465 237187269 471675241 497151665 362619115 364824301 467560259 946537475 555016615 292837667 684182683 201916939 447114259 932247405 861168155 257771997 642818055 231541047 447691793 811759231 25814919 530124885 497682805 30101463 385287105 210223111 387067107 331298233 682763781 402535923 219162535 195702491 308768463 428362019 492523181 588343779 622533315 407266061 609736591 676381781 521345965 788814993 577794953 977786277 212858239 538825457 254816901 235056173 512304979 252262619 468092943 188801579 634637423 131822437 384818785 533036747 548412731 236157707 134736219 438274847 112218191 676558517 637110657 221450525 269739873 601335983 738171653 941940393 944539223 402717099 827290813 847818893 453510205 152934347 341017897 570032503 451544645 378355601 565052783 828778753 654143179 925513965 662020705 429220015 364969551 387639859 268325235 803898599 260722305 221210399 483702213 129599995 861375283 835861463 61671199 194321703 737644381 530102759 479593199 553838471 737295911 473084745 974403407 32029483 762288601 79578453 361266685 154468349 751417575 540451795 792733021 674349277 42648811 388031983 849852291 765840007 774708139 386027327 637269797 422185127 714662417 980627135 99526305 238331087 420242225 728732629 539201277 187516277 518269765 748253009 28031213 712955645 869305007 311202403 473320899 254517423 333488381 71251885 162055297 770789309 639597027 368034865 655702223 710999103 922359351 367329885 122026489 993238583 262871299 893402889 954404345 99216527 699760237 445364847 52002927 934176279 675601097 751895347 584643999 425566347 638026133 723073895 22996859 21544839 669061747 22371197 142914713 742231449 507074605 664916307 308175673 142952241 317254585 822665519 561553985 841671591 651730223 772155581 664254531 548930109 633189587 203225617 945735281 763287837 52689937 886033067 745946033 353810519 244537981 465619569 589962629 256030949 438308049 342959789 738341661 853575081 670908913 419030805 77917779 43362923 792965097 885860041 695066787 80801501 423677161 870078283 85974071 518484375 752926799 217910665 290157277 355318043 193054111 339669209 985609995 643934417 236881281 669530617 801999075 665007119 394894027 451966987 313027883 869370121 309230967 899592097 298839121 924929505 364790697 3893677 599225711 992613283 496447149 569549451 498295617 979873085 512007669 732809989 496272687 225762955 409607707 237169475 195060811 941819213 725047781 124840927 526105161 496902701 150199099 8769747 43773577 659564475 477323315 780159109 555412245 811485553 68416521 125233347 306831769 261267631 133138973 601491393 574212205 459203009 345368829 71570205 667783567 971736277 910950233 527018205 490937257 293573895 683648273 623103597 592300299 255802199 656421413 882898851 42808999 889373103 733790655 800653245 534427427 588479455 969260855 107069021 903449025 103384225 101781763 497256083 9723761 79760021 321201611 926105557 225437645 924049221 66466647 249941247 469347345 205652005 92944283 74918229 411628071 272304523 981910449 973863813 285021085 975743927 540993759 49003687 282215081 206784983 141628815 226942773 800912173 300506873 143201877 909380627 402126767 834172181 722123497 64554387 685268573 315871761 272457523 399208551 601594895 8741553 60758587 67489453 990975813 507508649 515668789 981793003 473249575 84846227 996342909 932337933 811964033 952153839 9594517 91581799 900218573 533132069 678971689 201484219 969080107 379831689 762981901 176140329 847806303 121049939 81836601 490863169 889514715 614438307 949715669 557726201 705905077 971379331 642108969 391281835 699433901 101671909 507848363 477668895 826202921 242393251 849289201 862200193 961139769 738876283 631903685 161328231 947506069 80790555 780873485 890622927 469412251 655529999 962051295 31667997 395837779 460946901 150671733 751276829 42163563 507873739 830712115 524677895 817320253 643487547 699683747 556723575 641028037 401588055 103844985 756422513 65742509 215659065 372237969 706842469 93357891 96392159 753302767 194576935 289018749 81977655 731611067 790414835 142886653 318152973 927704907 944853359 227191817 300652319 806197529 357563049 475332239 146924299 968513225 884744213 119362855 859576667 419770663 855453585 627308561 138686593 287077155 34714979 305391669 380427733 972733149 516567863 317251103 442668187 461268115 320944419 239085321 446650617 484413877 78335653 916580307 938669313 381341651 285789599 639331841 400500141 685028777 852836705 637197509 57648095 958528029 953949601 700753909 663418719 276072245 981950843 764560143 396117471 605578537 331290227 24949311 691269113 293063505 156891513 3836751 994594859 111572787 918498271 199918263 794670561 916598137 19216997 897487003 75567723 43661045 252421167 783373243 342122501 201873315 436663241 931650701 762827467 757552041 847149613 453612579 684267467 381511759 989622195 439434049 195033589 306963207 118856481 584097099 703292705 706271345 45729447 447808847 220961043 770135373 829481177 229582089 262557297 644158855 66558387 479272917 375139789 701844785 538994589 692578233 22914721 550503305 522110049 362133095 690466383 629691375 400025653 385621045 797501727 20259057 406909113 279592229 720247617 859355457 451072495 902587353 639090641 755808955 961115461 476728483 903438801 415634785 496819857 227009659 216853285 24732255 50317585 567761921 466018213 935962889 721860713 82779769 485250565 332937687 707650469 871734485 3423463 488176497 260673085 677004971 28402647 977560991 44519693 629858105 885426245 651301461 354106713 970837609 527983241 640384175 429814737 579620811 928208101 917954031 89470857 912161169 421854849 831482499 417153277 256537503 300819057 427514617 745931027 137742459 158775469 668867345 996452377 315753557 657652503 881337517 694991555 953534465 122418807 522771159 961792303 561062403 777780093 22180549 494469091 670823805 414554565 374331599 404260555 906029891 589188303 339323769 977579581 570848969 391112453 447983727 766790647 400116017 851497143 84736901 694669851 100478529 360009503 519326135 217511483 352567143 23614813 160573987 100388935 22930107 640863101 988690203 602652577 966254589 96728429 317955341 131266059 769042835 518098953 182967193 809948853 55965583 68126225 436423293 331156273 852902053 585287981 940121769 984697471 342888245 429900017 971205933 694415875 719958599 385784789 852468293 445010059 806055051 903581241 579922005 236300107 657345367 648669545 605739753 322672865 341477803 315053203 975809969 62430291 194785581 530647507 283020173 634565645 698131757 76477737 608698235 471718117 570330529 724491133 391681451 747436311 420877355 642558371 990066797 483416905 411274001 521442643 665627967 269707145 226857027 681488941 673131969 372127309 931757653 563056315 120466625 655809391 930182027 948857711 619064111 837297977 372636871 765251491 906198827 54153043 749737629 679283863 462839029 612557781 663308865 135879795 817467383 395905597 181198997 382515019 235638217 396604527 912342813 496134677 375267617 907647927 224671501 753321399 102838503 695502797 694026807 240184821 489011491 839336397 525087261 689481859 889639433 424440635 843649253 875237371 280579827 192624391 315300447 54544091 288655719 640651909 217373443 35870353 307858959 68903025 282721521 464428137 494760383 15969265 934590701 889922209 108397681 81689491 607396713 834858839 348287559 600047179 44878713 650866069 396197007 142960761 522218465 311597133 795145403 702640351 406810629 853634391 16037735 517290411 886657781 636779639 994457941 255831923 3390057 267602515 971169905 417585715 795979199 714041727 268787407 73994835 149269247 507736945 449250729 441746845 887273431 131735949 832904291 45430345 838089887 831652379 560019335 612789235 642315609 857574221 450967497 978978463 677840551 330313787 793060613 29527997 629458141 376850409 253317437 764742943 869552879 64630333 808843167 529925637 585313151 966039817 586471803 365242899 577814483 798530825 613209421 913623639 878293209 959616217 803939767 83125829 617850921 728362505 539059337 720130235 194863875 553377795 867544497 980254463 822717773 941430567 178445901 118573501 876634263 897568689 648443297 326693899 745644313 75822797 448702485 973894757 76976819 492167051 244990015 148456369 958104553 968914405 813541337 660991037 360234731 311377341 259081417 268924095 403374227 296916443 328660501 25007955 520218463 183079153 381807349 810378877 197816949 897697431 625652673 994438187 983740069 809868367 140018943 111254707 602992997 150143107 639320663 812298707 960964055 88573827 352579487 278064559 966999489 321853579 525705171 215185363 619719825 728570039 386795539 245926455 52273249 248331797 106849963 316369975 933947629 367501973 63629841 732684185 490488991 295699727 799978975 290417033 580177285 650272837 958405589 522130843 738018901 972572129 22435043 95191247 381230447 455735155 489111065 558084747 823707613 159425397 482296757 964744089 351358539 19233865 871989783 247436591 747809297 367704373 90838733 535036395 677551663 415077743 739327369 226733779 909968459 881101581 677442855 304084563 127171509 268479505 672964265 343597379 854820965 767547237 169935929 696964059 685723131 702773721 841673263 501838533 2843835 212780327 206715395 375581707 149716117 99229935 307116887 203611685 880790051 280292797 294105849 783127279 114090403 842738175 917514203 841160877 860648955 73412369 641888793 243965199 628153275 942571571 175637493 377451559 926606361 895721871 693157595 986505077 697055223 481232181 200338527 886810845 439781083 625351199 882467643 643557293 842499059 817623341 246552657 728847257 986045721 390559785 680259503 378679231 138056649 556382919 740299657 829248933 79650861 29917085 153602357 458478647 36990993 247195949 326768189 977536715 888413679 957193951 421459271 924610589 253427687 477345799 797273897 193791829 522106557 351802077 953111005 810983677 739388131 970972545 99180421 872589835 198311791 557878525 263909233 612901087 741017889 520627781 773577999 552541243 160353633 28055853 364048637 601269837 637872443 28957051 652132863 846363053 998985833 407579095 951707645 404531285 287384137 654268623 263343373 141534889 854781667 421409761 11758697 329704059 166181863 869276779 503343477 35306493 42861993 125952185 192224443 775551693 921933357 731051769 384240369 888350449 231696407 80124997 128274927 411812307 203140535 705748385 497354683 540392781 444002307 272261875 276087165 900155033 908465565 737433615 192720523 657706333 641462731 245747117 542615905 871202471 153821051 245711469 686734495 577704941 696458823 688011225 545082385 384638473 343173995 562483555 851039149 239253059 262677199 27333477 506944651 140173127 334010885 280422941 634558449 157319723 86929217 332202681 932680265 546230637 871829605 164205125 912709157 941100529 981468661 14619327 139209539 674547203 403685923 626756101 493660035 970799195 245291461 966489825 127416307 158455573 90209115 762336773 734887363 753817269 167669259 152378633 148754259 658115883 648533671 739540849 267927843 539742921 323536033 798137763 151796959 14621519 579564831 931102705 830210137 453677793 880200163 452976535 805733007 239896845 595794013 442887091 364990625 1089479 206248615 378153039 179872477 385987693 357752445 188760925 756514229 315896517 583363145 423245749 514956485 913104379 852063769 599734809 277609423 103151525 820695205 75157555 548287935 297168577 510146123 274093461 866791847 763746481 133916689 185836725 837513157 416121413 752999595 662927863 293122683 51408051 266337131 463656611 902685523 320176791 258537811 132701675 676246017 402606325 585105931 868675047 968316257 350942267 24638687 935556249 989048437 299920703 33136073 98256619 195571561 980846143 771406953 231392685 97730705 356006367 333243139 415632539 579734887 252202029 99962249 829426513 353586575 328074653 511381137 483687517 752370131 247601677 510703195 436878383 695318823 67592641 41727437 417921055 470076839 837081705 182854519 203351407 105356181 537674777 450838673 48710217 870492255 590433357 286860793 137861821 498618261 435566827 17306935 136503751 868603891 106827585 618378619 833711171 551554653 480392453 698135707 767183359 797777629 481955153 687645205 939586731 263356839 515472813 763033107 330446559 588462617 441126663 844754531 991596829 455557553 612269745 376109947 764939471 505512221 773291881 369761661 388766533 710931251 859732567 75259695 3563705 861486569 100892165 304853247 888002891 230819685 957696363 291066373 268308999 688062705 233653477 262128899 19691997 477559811 197808439 824504155 613566115 54939955 498846865 253942305 805611551 957084487 905441671 81486601 982545145 584200233 732415509 981728115 940199873 431025643 9186465 802772841 356159473 815835593 343696121 875873429 201942251 720232743 319086929 525354835 313578229 765606033 993177927 899556769 214275653 515379897 836775649 804281381 729650671 212911481 214686603 504278833 515393785 315821783 530353435 736554423 304981323 904959997 123772109 183286875 844769461 805692477 810153545 692536419 646059505 240791573 107932825 336329407 524435871 445320741 859838773 233683205 169993547 687180347 849026295 159177843 852232291 329295433 818498857 138878707 368371523 834299243 615324787 323804179 990589995 797568227 328285677 65407497 971146307 512226587 213967893 464799415 132847263 629232299 519456207 920133795 131988791 286244171 614810985 774867451 591224811 692216029 513194391 538338199 882546053 515784815 155477623 38641143 900874425 809267 311349903 38705219 192181531 699906437 900899273 948150087 679999025 727124967 301619327 312631421 289461345 984739333 821891179 227131653 36720127 381397939 191656885 756375715 158073411 53214699 589868007 800742601 356081741 859979217 534012151 279093133 120753191 620209071 727914053 857199279 661906883 325881337 195876755 985371285 227732475 601894987 230748175 865297743 336919439 91937895 194435919 263513493 522065959 395089721 515540561 159894981 242741079 73417685 125463161 911582439 596203925 414070901 137583251 111100841 777029445 295944061 362283479 275045733 387060143 419179639 346666721 986156311 204066311 78548761 913742517 616197225 720697441 276973115 721808323 530209449 295267523 798939361 453057245 248302541 161003027 117400889 362636355 255698295 86241059 75055507 332995739 687595501 427866031 112914283 336355309 608144669 759214933 485662821 676795061 841991071 73372831 38677323 490170571 205401523 344406015 885568787 519396471 851505217 809836749 269054933 375061861 807087573 678179917 358643671 176659883 431779241 12484261 637132417 88284869 825638045 841956839 32049513 215151771 43661877 823752975 44949323 816641655 962515363 321954553 549601031 666586129 305543869 929781621 658955947 33742467 712255233 856764461 731398247 776046935 499842713 559564225 531948443 477087605 167261525 463249069 804225989 809342007 317959591 102173789 849278357 863866453 295404467 769199649 913092571 299345657 897301567 976880693 86623381 430363823 495124411 829043895 813022179 548903019 866199355 980389041 259576083 12862091 148390275 703447315 392645015 619523029 424438263 954587579 571300361 841944181 758770597 679962725 372605231 189266689 941136457 360551357 137532147 408347509 130393405 603240531 425939817 55577655 871391885 691681697 736859593 952563989 958681573 997021961 462350715 16625733 884384669 72486611 366213383 744065889 339317685 827605295 290735393 514569841 349382357 763768635 307606435 805668579 274638665 547241971 554303123 81947785 699308043 654725443 693572893 244473505 799631291 981305595 915533455 116542675 52414877 426228181 406351209 522739243 508129955 266186353 716154445 146086941 15767139 772181595 157555973 825336711 480089115 479194371 219826565 796967853 414173109 652255425 699636969 617015103 892564159 298204631 86951027 678622543 463879025 569312623 105711759 119768157 114852265 151219865 630367185 680620879 30115311 824973647 926239731 71112813 615616115 497320817 879522521 68669555 584909321 823195595 130772365 926073 655749427 460833547 777358147 980739079 343535385 578037453 614359639 52014601 434881161 100444817 182005581 818000853 555568889 255368897 135558093 643553065 900074891 778229165 778504621 812439591 216443909 236431503 301701607 523746911 917408213 415012999 6453663 995230151 940497683 174158753 359039263 818843067 366576511 73825739 702100189 609747967 707618175 961317345 143966321 415736259 297086245 338176163 998848927 957968025 233165093 669536185 531724117 258717569 914588639 126974135 977712803 37783519 250978907 257967125 338118085 608753281 149954377 351696435 103977247 807243419 20029951 25217629 665603645 585167563 718034301 463431617 155848913 236182551 994172265 263060603 833408949 845310185 5814547 433982603 603031535 205414427 809249393 785724633 632647079 506949609 50087717 233188409 307580725 512489205 4432757 343854691 174741519 869486415 658150737 891925751 584546267 982696813 75945293 36436607 943688037 793468201 778193835 843288431 390199711 531590347 579537235 304997659 487057571 222198273 150379219 690770121 659405495 728129757 479375713 162984095 141130053 133060317 154241503 738871985 831955423 697808361 802079185 849625591 771047235 731963725 199732329 508852049 740405841 318015165 177934207 54718601 369716503 939297623 535364751 133257553 177985991 783878815 568497601 826198083 468538813 85352325 99528421 553709021 521147515 814758749 116334707 339180941 98952877 876884707 368533643 784704159 980672805 969493821 996106225 199933777 340983777 769343225 364937495 974401985 874524419 962409227 720035601 20594937 840711637 577821649 395334307 582745579 502027723 729953297 128020785 722619505 316361601 555535351 252671947 422059593 570066361 265607193 281326121 595576351 118792799 520366709 240155561 800915077 741494149 212709743 131803731 963030257 169824361 816658131 750025685 777607367 437199469 870440153 373063303 688233551 180608027 919281435 561114731 747201979 485239337 543236003 13802019 966432805 782546031 794112473 787651587 950278283 419217649 404395927 596994815 651227353 919531227 829202967 292167097 744373983 671822721 691439871 397286773 339202905 35479389 906569563 15965477 366965477 325694739 635410597 63258721 648833293 497196141 926673845 988449381 35237699 468355425 184823249 935903001 284875231 239141127 870132649 420561933 111127843 992888995 748352081 369625977 370325561 39655075 16905799 842816315 337802801 641410967 732888685 801733597 453396743 438425915 414227219 843806601 275307671 380935027 373082863 521564443 302803887 128113481 170648603 736321297 69849343 91556339 11065119 447160465 206105119 387241417 290534889 524422251 65629843 145305425 159781067 410523157 694594239 531344437 251393413 629039793 576224507 103512135 378743867 844142085 855704187 352632451 833353849 953316735 272668769 967315981 55513655 573813561 161558201 616961841 897949905 992987375 689905011 913039457 255502861 595373323 72805223 702668599 753638165 858871193 187898199 25037689 426666883 900450133 379865837 413551633 244695121 991546009 236424121 587190289 177144037 831385713 245138997 93624757 670708749 286424457 673150147 489599843 843114239 991614777 591621291 938583715 856187477 714809985 470149405 948024615 957022999 303117063 136239157 916917199 461201841 848506907 212602355 562040219 462445817 978687413 709445953 317887159 961386285 381711221 463850223 629821813 684198127 457479071 575124151 201078099 721728593 328354851 177139769 430992371 499825605 69977499 455072769 58201631 391516967 203061829 1087613 608787147 370379457 819860743 87486729 110010385 422686267 383997041 391468261 682316343 359049647 738254265 671769659 998938279 688886935 36294081 542398235 547803381 447872729 230087695 532006527 616645083 865574849 868956625 96834887 113172541 124080905 628827361 883781951 794830885 655124937 883462843 421040661 204499399 514408329 943000455 394634341 383365247 566355765 258312471 261689519 73354191 616805409 6884831 241724507 521887843 615116559 321299969 649130685 500720911 838236447 42881089 618569229 796393421 209994465 284673809 219550315 643103937 565218635 72112007 520947939 770283317 438812345 682027619 965389411 808961183 3778543 747486987 324528839 981887383 774179099 528533137 678911437 291225313 512915155 48789161 768302115 323603561 107900693 340418227 917521495 489241155 181977669 359795895 783176673 908834729 607969329 380325989 943750181 440742911 673851661 888872977 712312685 282855889 891848311 816652735 947859431 772491727 935856755 529348627 276955311 996962265 750685809 742973789 109299395 854745581 347656773 229024915 438802961 628327739 124806955 17676887 479612005 13115155 930411721 937132015 883226237 395704305 660984365 19655241 120380663 829124217 337453771 248946431 32124253 185806455 888361347 188914509 869573409 39776733 623929239 804678939 306834589 509638085 240748469 682041851 291621391 212755829 49972467 113273377 303736997 929995093 370809295 95744367 199642987 816898045 787086123 679090793 2756703 541778723 966316889 669745473 151512415 610270893 632199947 488971981 341795125 662513575 562198621 689388429 283731603 750363971 343361497 360726183 750974737 931753435 457360231 376255211 577518131 448418293 421544289 931253713 480706143 387721531 377624449 86916727 737298919 466612097 405119469 209240743 449482247 47706047 40738867 69845963 228800989 735733021 537978439 806622207 954001779 723238369 165723015 508993791 30306491 526384259 983479737 248855861 628526221 869834909 500374537 365619375 365514667 105791985 555600909 988922917 362186689 47799659 664388801 923731445 389793883 578721823 431691661 995415845 487604213 33989703 706736955 193655911 554758897 613137477 710291715 444112659 215887511 481615271 222958463 621169701 591241753 344181791 875070903 542179143 57738127 266154633 201260569 129835973 420202235 975469543 540023 742025625 46595399 558874727 893197329 940080739 216606021 674307671 20375691 123026023 568941227 128438071 936648945 141431703 740884253 824928425 224507323 454733961 840093473 920774007 470614725 497259901 619495213 541862549 283483221 400818009 446418071 274678303 604220439 165685421 337263267 258915417 927450657 75739313 866646389 995925163 672167407 919840323 50269477 608998571 481512807 679390443 224521895 860012819 789654487 893163481 306443485 26976967 28071669 146684131 56807827 728751569 289630683 867086727 778731129 71751271 44206609 439669231 8104487 98736609 522621571 336782313 942219039 707815875 733927047 768975851 131953867 862874299 500982491 159323159 932645499 576888729 385716899 823521587 394243689 613723737 695215723 796642221 678585013 126476063 766101291 418447005 169855083 188131127 76465471 883565251 685441147 924917777 265968491 330264455 194773181 728042573 515419615 174241781 453843187 955348649 402623277 366086601 686627781 177780501 162652501 605399133 993159623 441054113 586925755 96030651 860198513 276648843 669353261 912696211 491051813 919340595 312275169 992629307 253490729 607413797 474571633 622954931 488314291 316469271 517084901 802770593 21090009 188553699 257696425 703664981 816631965 995070347 794417811 919561927 469882087 845463097 90286047 579298709 538272139 786558277 671818805 6543623 565168449 111488805 489632927 3701773 475841193 390731905 184009875 21586493 189971279 102203679 296456945 422430421 268625057 969371383 318561019 645864895 596533499 556999971 555359585 125744777 160691357 984628965 617103669 610451817 555998383 201846953 727837431 433251905 438309445 510403841 184713099 400846231 57114455 594506667 361558333 559132569 238260165 350332553 434328263 512292127 97876057 407406245 555087425 677694121 23643591 118633267 130372145 278468959 752146339 80853135 216124039 654414349 634650995 993124155 877333911 253956653 735135135 379675875 817313053 492437727 334426229 467485529 866985791 793115623 846836019 756387227 200236939 941963959 460121847 573202635 727497207 680679269 518533067 756942131 543842781 209785777 312283043 198281543 584241925 410973697 490430291 954858659 743637149 297756261 337994145 665889035 871287351 908684693 651820083 108041575 199709905 526616047 360187037 178033357 201657299 679725691 583099733 612236663 240420361 656468967 516019903 55115207 999462053 355421581 754849829 818575181 990549065 295903849 550046389 731066295 780572665 304549413 712401033 259010531 298838559 203857935 91594149 240323285 347403669 70706205 306193647 380595893 532488341 269073905 225898809 322935257 624462277 362884561 799276095 191792571 638744883 363842475 466529695 705070591 323489107 625735703 216520163 700155761 57868293 343501141 17424765 388111105 740256649 924663885 218253765 645592271 944855955 394406283 561076735 282090265 582289459 644674633 332319313 86373711 189926631 697225063 329169613 703352065 515887511 814323305 349677679 768466155 789423501 179235969 603067413 398787057 913500799 182784901 719691145 245425183 723627405 391774451 330813565 889782183 551863353 350135541 164170633 297352675 757220723 499520347 306641711 339973721 357558925 407240855 640132313 496897971 130336839 802840781 211029977 714951875 133844933 487770307 355378789 192051077 110255509 109497577 599872161 890248223 365406891 346533459 33127317 472299991 443445093 406708165 52895793 361812005 964156041 416282785 93112403 234607523 578245185 530509819 447270839 821892883 456968487 428290953 313810697 515288673 167320885 123933863 816234713 627212191 724088531 254055265 459446433 695649803 276978123 305904995 462905283 587683077 842434131 10022661 216154247 27457307 944138763 761475655 475094815 838153471 392573685 532804561 191555747 414120589 789475455 336309743 399900181 592519623 908366975 784757659 232635743 894895065 286215731 213377909 618884689 268536855 155526463 363326657 526613413 608321785 278636207 717038705 789399037 373847847 38059515 543595547 426032351 63923305 149686271 552571133 524431297 449284787 352966657 158223617 889131257 964790049 284214443 243684277 634006217 694412533 584496919 30059857 400516699 919558299 56054719 89450931 692583615 975058599 299110793 299702627 544796143 952901843 834815683 29978255 695667659 643215619 888897057 510214673 935325983 145775169 839952835 68160613 907839641 521023427 635897387 408659125 57233877 306730465 730493255 467234255 831119443 8898847 304239469 509899049 16080509 821426473 275625049 458308069 727605923 15433683 371463219 123427783 124697599 829036055 687234693 89966659 328827825 409693977 69438791 131269995 558450629 145930533 846012883 466077441 219982377 714629291 991660531 939322731 427553721 947654985 343524047 367887035 928620853 448764099 822392833 981441957 481622087 948372481 594537091 701120137 89003133 690274841 117945275 995911791 814403157 579846471 858196085 835581447 953390639 185033707 292750825 698510503 92045137 52320657 835406515 811906893 246347503 626062319 735737305 496051619 230877987 971971549 178797511 980395769 488363501 865280609 371995987 198477121 185758261 396054949 60753081 767821343 983514831 537025531 111982241 612264409 57250675 615158495 493836565 296283231 943575489 89559031 696760459 872033349 157609541 263694857 371893987 537061325 160553837 605511181 781503583 776603615 916346003 946506269 754792621 625542409 742594299 972424313 274167779 970788993 90262221 444696209 661203327 4579625 811136023 598098935 761276773 815825029 134637527 248553315 221107937 718619079 89822443 455190973 705648043 713163463 754581789 486171917 337961183 295757569 258602015 137617797 496968707 960214685 258443403 130314373 494929923 397585771 403654369 324431245 729940531 949384675 731750537 916645193 299581267 316904485 517922517 56905869 304633991 779413237 606258689 790842705 421292637 543570115 450400811 169386429 154924491 199701161 32447581 810011417 214494507 143806821 715988361 838749913 826974533 660159581 977728393 990539161 892901445 663760033 135029275 219813403 889253569 75732457 400577515 279643211 735861943 557813139 599870347 576521789 189963913 862104997 103170673 706808619 156718601 571918803 968570881 598735993 832248679 869824623 762476675 405207729 266177605 527259517 182137897 539864711 470508709 523837343 347382285 710471127 251097591 571923753 414389037 648789155 844631565 987049231 352517493 319823385 345063975 379401715 605464247 934476679 141634537 469908761 397128105 789131117 294531681 12124531 63870191 160973933 34545923 760340633 942013969 48377939 877518509 237024197 925608065 852627727 203861157 805392613 535537815 407158719 37856663 912809347 25726613 807434663 949687961 365235673 556505509 316391727 275801127 803005893 588786393 201753837 854798121 191826897 522372647 603451035 923929065 505872935 279401331 669804573 437550365 765276579 74296197 949135999 999455973 92000963 611403533 241113329 575569347 313489069 148564903 200163283 466223525 76901425 979637461 265034659 400612579 903746757 286258941 615210513 50263349 699870603 223087729 637902061 797634757 570153545 746440811 503516979 759216927 847226477 954458637 134983177 282021943 568106001 504270173 196527541 847250283 821397745 494381649 949787311 310027903 345794423 304926143 426157199 770746019 313813935 436611689 327603483 147622251 404355157 419676153 442502973 33417683 220605379 992687103 559385095 23170369 68717317 832658165 87411127 696861827 644535495 38747453 921247917 494573261 169046625 326620703 924054135 514908351 326635219 346310347 514511559 554091867 188411843 60970845 10177655 466546447 471910017 408280533 576137357 266453169 944091909 8482589 728833843 510219389 177325293 337555973 6622909 429787419 430101123 469214279 201533091 829571221 692788145 707771267 204612749 193573731 486786323 732751941 528037187 993648993 18030311 11137277 910447033 79728851 857558035 140115201 170743307 304656233 928066853 959106455 389803643 456733493 574882137 138325223 542874741 336807351 512270219 924783361 259515277 557092563 306122051 663324383 495354491 402247127 315834287 926653793 621817895 901241975 257569961 189950035 452702873 106015185 492791725 560118627 382745605 380879211 758662883 251957037 318665159 613315121 75123741 67297841 274197859 135077753 67482575 578871767 5762945 697140735 879128603 362894195 626225397 913592043 335765957 208580925 27387837 896594631 675470655 292709717 738673147 497891979 454043551 706136775 327205627 195614353 851502501 98372737 435672109 624823713 960742583 551208543 423513135 991208937 922921959 930165793 54920643 125379067 751822569 203713647 403405015 74768855 962800925 194916317 118371707 903339489 21813899 520194017 831104235 386865125 226369251 934016993 286430347 882367515 666709113 919541281 251156709 630076959 488820049 487967957 121563311 50655223 184224271 124629783 292366273 89847567 846075139 420998629 424867873 200245563 641768227 260525869 593128695 39593915 382185233 360527035 979489177 192775221 742499347 72216909 126787203 575375795 305335063 188068737 333653077 760244139 202194359 915111649 611960539 161184509 988730159 877852895 580720651 320435945 183773031 743422421 206526717 507760163 984051697 134983683 918774519 760129467 664440577 769881745 974393955 267842607 355853945 938722961 71898067 599097447 367812317 432856575 120659203 127164589 744128095 92405433 399959513 683315641 785282005 402790281 458946907 107253671 894158783 994903329 121261249 526917371 209446723 996450075 690788453 550897573 788875057 207058165 499668681 155730425 754853633 627594011 284422041 40505779 17917393 234277855 411190439 16022777 909292905 441376887 416805617 404785495 521098553 633000455 768597399 544335047 174811479 2117783 674420455 974473889 493772161 472007705 27483475 865271981 146389025 944990565 257717879 798102551 27191109 439171391 383672341 969109621 268114341 581413709 761713433 404015299 174078877 775596833 608213141 751386727 796798009 153918261 625268935 426387505 662331941 692272107 270574609 30466385 398403259 105071755 524649469 318717033 280939255 332808263 251628095 210546811 346885761 686222647 368842163 310741493 895927467 346206559 937992027 923015087 540478313 714197925 500598115 616231395 375251549 662383835 210747423 285972789 910008779 760078523 983080713 985236407 512457637 581892327 106715587 917068251 417449601 167583207 638995741 344899455 231050399 358063147 389175301 759269097 91519717 755806481 670335641 808310213 414225379 662294997 793155355 353028135 51152593 150361251 713282295 659058063 224384141 745490315 493179841 386054627 183922335 977074567 334144563 182665325 100086327 698225017 113272625 29739747 860507945 251800871 315644103 12812901 180026617 649953351 673104677 336652405 869568971 73084271 1522601 249854465 679804271 869993249 222482391 668546655 497970779 80776391 475150423 843211341 161754801 842027953 663501823 847162093 148953399 730101785 609562827 885359313 124195419 775849505 880455899 29509867 940463413 29284559 129830779 623548823 679522437 269579545 560215073 879421343 41119155 654310101 720054629 776366891 512178123 173014981 344700429 342563541 484978313 646969489 458367489 171978903 470185287 928155085 999781209 193545431 719307791 894183665 656889163 707535203 989954193 821396831 141561661 123598959 637151523 723059037 936186811 306155929 829802437 309863201 132437367 552872679 45159197 545800129 13799499 704398277 867800955 28420671 901430333 333486089 168728535 114876547 66158199 85806321 569816271 600335969 277082187 323412511 661668779 953442961 442944567 881304227 457346395 799114163 321768667 622537203 643759475 190373203 848755205 453434091 722753335 373375199 823859623 211724495 825472139 96970931 324547291 558832717 761681151 757485839 831590119 746189437 67610313 394162459 464657461 155668953 674746315 611027947 204661081 579294533 712295561 694749559 709225997 604615443 476037943 414070687 523226163 399641589 930275495 83787055 25188569 829539849 603485531 496381141 663258929 708209621 86932603 537651245 817792919 943869253 994063571 208670901 999792269 411729581 396607453 166788315 359576511 747205071 957027001 539935979 542236929 228477131 878778155 726286371 306389837 554892593 743621285 956502945 957245893 606915319 839633213 826364273 864912055 615915895 735461041 956282241 211121815 955797113 460188013 385800363 648548605 569771817 904225147 468792755 68108205 228709661 137835925 58642495 707478931 794540883 693820441 87453155 908976067 809638703 134132751 491771669 271776375 276141437 880020517 438733881 839899155 427985781 330586549 340718233 873774113 147107763 200231355 285151587 130901079 961900347 719679457 907328177 571831693 830389885 393630581 853832327 245553863 865622605 883897453 568925131 112507443 254428391 350941291 338862417 767207967 600343793 149710261 409085647 271459853 721825401 868244025 274712041 760944027 320673779 854821007 55217959 970663317 509238589 894232823 636096251 446610673 585199773 456917079 305667775 307005895 320426943 940050241 43109297 401213533 859083449 997907689 578654717 825983003 501018377 170205743 345212853 312750231 302331537 610239645 213217743 477702797 972472481 345394015 908336431 693014237 560823535 529300555 201880477 244592531 534373527 947697893 349338827 144208613 658729245 80355153 317162833 537246251 674170737 94046047 348487601 171338475 347185381 580366727 163448149 845770703 228340281 401829351 808749967 539077545 752142993 445405511 465794709 672355959 679134841 834311191 725317259 468112985 376418025 263776107 63936121 741909149 448083519 581632519 467435345 630149301 915017531 997261645 803793131 636631355 453663247 729310801 219451657 143886069 298512207 676501705 570219605 124986829 925528311 614265361 593263967 277389781 593471855 235269685 178200481 923355211 580038273 806513377 670337661 716273809 249162339 723137133 553006139 599067951 995477173 956993753 579754765 310790879 659945337 703084237 608884235 888641397 574352925 150176917 330317367 686333177 284658295 231086891 980871547 849108629 450576325 25131311 10617767 659683229 709393835 181526501 460034933 138238091 923840821 13256255 147751303 625590273 300770779 803495377 367177059 233881549 288834681 550186463 640195711 431774179 539105875 575230029 327576881 711919451 615380505 764071595 27181499 478790521 218722527 520844593 827643719 877890217 83448097 20155325 240717029 289598847 225216965 994405079 514022543 461355445 348145945 245973165 939468325 167425325 392705489 136269337 67734643 926635255 272289803 784095127 200643113 457359937 780508237 931418193 104409823 789278569 796001923 356844309 925501463 131820785 190205699 926383449 757761593 710935687 752144267 625695295 376678809 915488763 508670013 271864715 273308015 916878921 700776107 369974959 265321179 528603285 552514757 114151363 685580265 392164137 617453 422894211 388353161 851680891 119718885 341978967 982560657 204859427 61703133 914077775 284742087 790968293 670809447 942483493 200069843 189937327 544079747 236793139 805637701 912801169 654233493 577529475 885996181 624905415 529308779 5323973 841655849 264316597 435435321 614225231 332434501 40393447 963210397 303383327 739620383 755439885 806343581 340518367 551685579 132058631 737035941 80184541 258267471 982648019 839852171 575233041 386033043 973730209 842659723 289764121 965591397 483816641 104276043 260075069 494040195 26599345 941513945 916372331 432216203 921350161 789007275 584629053 93801993 887065775 222161563 59409903 977979755 916905085 4624371 356277867 8837133 650111893 976609115 377732927 136320301 400669757 751791339 77815713 159503097 21497311 978475041 431329907 852736381 331952653 180699873 561289529 765983159 969516933 585408631 378086693 374927493 143673639 535624347 146724877 209021361 568134913 158356585 52387185 655954159 541564741 93382501 772487033 274496211 213876559 798750847 174250481 377767907 151029409 469719819 709510995 498163589 217567207 636125637 409353661 781326093 813298163 188445139 294754809 216691889 31277251 710651843 972639345 903822485 711756407 266387593 553550401 437560257 787087965 519177861 766991911 54998823 151707113 875583097 501110153 193307809 458364337 539512467 615888759 541544941 107279485 963528041 842382761 720424889 492755513 936569591 83192187 279983761 27008755 985412005 513715961 19383793 727516139 546614077 584831441 586334011 309509763 113660407 340190295 268304057 828895557 761444207 832060557 576851607 304407781 506489257 988746523 450042869 399163711 62300181 351092815 108404175 798594647 854423173 957388575 198788113 101474645 181709369 754622509 291752077 739657615 757240021 731495613 46962681 542983551 846140263 911248321 514440953 483148745 336187747 353643215 933912341 899767351 913220519 514815783 203285951 992842429 185594745 862792369 662767439 488257145 335395717 5111545 973054983 291812009 581564129 924024889 366670097 712949179 27119113 576208975 569962367 754028611 487814115 466733507 422836039 620090877 720999101 24529093 181264973 120698569 100385613 472039467 681597785 371742131 185230255 582094453 788045083 103951857 874782823 520363209 276828977 392327643 168257891 404998135 705218327 281341431 6762745 284759413 111192889 967610861 349260519 825877605 756541927 605396371 31404881 655720589 661666907 623076837 566472643 391116123 983753143 638040067 514689589 664634089 177347075 888347195 710922755 996418803 573834543 80077053 918843635 508995555 416666135 830430185 621224497 820911557 233684861 50771647 192141649 845325653 980078853 417683561 704758611 722335981 693530181 799539199 884786077 457960857 223203765 91804599 678659833 627444229 479214007 898607609 723268253 142178185 576629651 32191563 930702119 73698085 238997113 517329509 323441565 26078335 362817157 620771105 62388331 165241575 874161079 721561473 563756649 579215957 74883833 874470321 639583695 129913959 515561755 487043587 510659399 116847461 718422487 77856757 617482971 18133823 586388687 181288743 379675907 276206731 999146633 270957159 540215195 103097223 531109755 423186087 857113319 725921053 631800571 139327491 214548119 771392475 665639499 287835837 540398781 547588345 767373715 908746817 48023769 114548565 282844391 363554339 158861007 676620919 826107199 560709917 164415981 840139149 254177659 88071697 438067175 428835439 477797223 203763471 144827867 272416927 333859505 799796293 18585935 621987391 593828853 377789713 515470639 760726819 949015475 321569525 316390097 173773759 424051541 449332893 161292017 729077813 376140841 254588125 706530999 180808009 639697517 850620847 663515309 671833453 190268991 113042743 579535305 201660855 975160491 947350207 408870507 87004903 92419743 590040507 698583381 16592995 991993335 579037383 151903925 197388605 179800179 568079015 349680419 33290025 461184187 640211779 587699351 299865479 535912291 523490481 584761211 203285599 613108193 625749035 852618651 157348703 192102299 820281109 383266091 208317665 482204885 872073211 559483849 639811299 747771331 69804941 167345529 225395211 411122047 487001513 141441451 291328169 800198409 764798035 166618675 669194675 767717961 262245045 99417165 628185547 491396371 457066529 956527519 523062327 375768605 575514899 383007031 465403877 903848459 792795695 671535755 270039149 64008807 309548865 414122101 155054865 395287711 284558393 486037565 301882803 126576909 882724407 816651919 310878695 620667893 661897849 758784129 190179297 43841149 979268975 94765713 81914755 176607161 35401641 60315555 385982289 390119327 486811365 397544451 544163197 358256147 917986563 541046889 250591965 818652125 807169297 167934705 809936369 926482351 411501121 35114527 27325919 731005219 523572461 585481699 231110519 482001847 562664859 786659983 227514929 963577303 628142069 553682915 204857131 559483349 484423629 13251587 601622573 668122855 498384929 256435325 149798055 104533041 160612369 779341637 530234543 944025019 435957227 829209529 179776003 597215607 217229857 205015967 572888333 506794045 588917839 726921251 362871771 317201105 295919159 159346395 852833571 390718169 399451333 759447749 966330183 101022183 58661133 442164035 331666765 896065143 198210375 449763621 121546211 157245157 596080091 474021793 401347683 895902335 956477521 335479633 319161801 622127733 537378397 774787391 288619965 700883167 239411931 840758227 131922833 962412481 634649805 285548517 745068857 571543041 201987679 385816499 433754199 410583665 521503205 744981473 70198063 231519435 833570009 846020221 398223283 786435249 222576351 500577275 22986361 923831979 524707009 291465273 735531457 130935595 317304691 391892347 276078193 746589065 733054737 953893233 849569561 480010503 758064607 25078319 787663089 473381327 556016453 148218161 480505559 997598193 658597593 844423773 9956947 329619047 632599381 735422209 416798869 117946899 245641629 572685011 925851505 930961085 938399163 364465901 651427947 793879061 241474533 982734551 378277799 208805559 244790643 538939263 548150005 299148067 341500393 918754359 975185611 656757443 688392693 509176765 529921355 865380583 770160743 69460793 352246587 699829705 643465019 984698677 47567625 290193803 681193621 76838057 996080589 298247475 235387329 631550449 478524999 176032695 549977647 611522001 993671647 147420397 561349247 890784889 574811041 19431575 809364847 339973757 543234887 901389151 866023151 282192345 730457649 274000853 69896975 57859315 555698787 839788915 274055947 533889945 399778191 245516185 157733449 705666559 880803339 346270867 356040015 485318083 529999319 314550415 182530773 459635435 201667993 690727081 91873461 686039267 176597921 199533025 301529839 216017793 282109671 150635039 418678963 975299585 11230729 13523767 642488145 216413195 173736527 364894689 314043207 180231849 511545001 248813759 651036469 530562899 814038699 197720919 924445929 591224035 173094297 623747869 514540629 56281251 579623767 249098347 352765077 929328955 712516979 813177217 178445035 776470979 817341481 807880585 693405635 235280569 789870421 745651089 779248047 327016705 73213821 1439639 241362541 165333225 622782165 566197625 496353757 236100389 199107119 629072899 9398029 652635091 682197517 529586659 728290609 766454135 469067157 579803829 897859743 721850881 21366681 486983159 289142751 667754437 284342157 489066007 240367261 42367615 982872211 970562403 665364647 182863959 164311663 754476307 836333821 997336791 594867859 96327755 460865729 572597749 35625237 175322389 516601405 380205841 891848115 147573087 330857957 42678253 10836697 637932547 63594837 929271223 321376401 575624645 893329487 681344005 487194003 520029771 902823873 842919381 956584515 324255529 378678969 318039177 17192867 323954391 569484151 409885427 145301603 97266613 989979741 570336837 121978845 618909965 158765303 544369949 370388749 134500881 66146037 353161343 22326685 63326425 768404277 768283867 557836507 780498281 111385275 516365059 345226429 838779559 854119855 414511415 618013925 967503207 222326887 681992733 73378711 80666463 221692509 384353213 606018759 88064051 566332213 661627539 802892039 56179307 528123835 846187639 701184153 849605241 841628895 651681713 781341795 891684791 438993599 245551085 125880567 485206371 295684511 457834305 192511369 34568617 389413095 28738345 294397177 364674203 248062511 527912333 449185489 101558575 214773293 986182071 117996603 655176777 277547975 515973471 491587347 835531185 667625737 699589535 506530007 383162137 609370147 267465729 85337005 710998297 79982197 835527533 684533093 943071285 169945983 931033917 770072695 837088723 592649195 268102697 553758977 508771141 756718737 911229787 951281611 577716933 732064615 920695135 839685445 435393653 974284947 251627817 577023107 934530909 260946785 552340759 972005447 69580911 535014211 344948719 784875001 771555715 248380117 667229149 671271079 462875227 912230617 679309687 500393479 868110753 415726393 785664185 755758971 523395045 740190221 62485513 467933449 358272675 36961419 757523253 503478367 372371767 738577435 889932403 495936981 407543791 855991621 997009757 226220395 786251003 227380413 62377467 829928393 393662323 314262623 162893243 486085947 27528281 563651629 108449903 656481979 519654807 997781843 132204373 312441063 668750077 154710307 990389269 963474185 609673029 775498267 236021179 31195147 377212689 593538781 699428283 500265353 32202729 964527923 924113649 236069569 933939517 977982225 323742887 797311897 808286569 755821459 965312391 635143585 518972077 980592123 232161957 667392273 454346291 903137461 999131265 226142663 899306251 641231957 902886401 332954699 168553775 993270933 971174765 291509451 146581633 198888281 817126273 399574561 239411655 224198059 442054741 208455369 558781367 560355007 854752881 396138989 262279655 389913329 895294401 577083483 827366361 563102405 949286555 238201225 956916213 820525539 503911099 294779033 522116239 529344545 840344649 872955215 640314591 698341497 267611343 367744797 304764423 521489935 263892549 578877467 447389197 149578031 239373831 35425285 311588583 489776201 76759513 332129603 110306665 955434235 380327147 452713445 13615193 919681801 199269583 62581923 132058463 343654747 120548997 116170205 56976907 176828167 776045937 498987159 123780311 359640649 557034081 261962115 448970275 501640577 337648265 39312887 621657913 24828987 226288775 933003505 839200589 92840493 822792545 406901275 172237939 986254895 681398657 404638915 462855345 952401735 237251009 887315681 276131055 26274207 678472285 603974675 670575101 252855689 800143863 554067617 348940179 168261249 960060575 763853433 672215381 923678763 464836299 427125301 81530829 542051667 235597909 598892561 543723369 575260395 969239941 840543991 572908421 203562765 101741577 337083765 173512031 814261247 371671539 800975041 534167845 806013739 621736129 193861053 628709093 421335075 831178331 227078637 131361687 735930789 564876301 826104451 491133983 821950609 715363211 675442005 57088071 696063221 804923891 650347491 856388029 615098627 214258889 441439317 267327771 436999191 912929021 343086199 700792037 573081523 596974561 209832131 854601857 527640195 287192119 508297559 230878019 510519641 506572063 423719165 719925089 437645363 660348201 112713759 974746879 510199603 487134537 330613721 567965991 674036131 607369693 401938153 952488135 377229047 329516971 807092917 344732089 10976203 583819999 784894029 858817473 377969377 334225423 96415591 993964933 96650277 524670265 491308389 241415063 585327531 708250817 550627917 282250611 268035757 52954739 122183631 904594039 289143949 146638983 855341631 239768813 406487003 974327447 75352479 258447111 707666757 405908141 856704663 242257373 132231337 230312497 843790197 721358449 306093577 161454845 776385839 801223343 535221905 314685003 624033895 324520547 752075669 510379457 877741153 151242313 846238607 629511787 99477519 694395139 875655971 374833603 146937607 651050009 879031323 825690785 353875081 316498685 229369453 987802187 701501565 507258375 647933233 117548913 297989231 344167803 465883563 175226151 615359129 874789503 23102537 709191659 292695769 974951461 365479323 726070431 784933303 829921895 431043421 695190931 556338531 548056871 899456883 17723261 357195955 972867373 225105129 991706231 662718501 330918187 584769263 999073545 243585251 543677113 882465765 153970977 632271291 206792537 26687561 271749393 106357285 774554997 434153931 117905561 789024063 623442269 706856507 46152155 251791569 20714059 544937109 787529833 785231945 440823649 344346621 503661109 152105921 72630439 34707135 925039773 86252789 122193933 851261261 574851941 861257805 62825073 296117569 833716669 897219035 434464911 609407073 205062457 828878419 949149713 297674647 460828373 381748759 948221069 659319797 591902711 723429931 777361527 2188729 781241709 488117569 496318001 282007363 802381933 12316849 106341127 238012449 61792145 807117685 694346793 325468165 459994081 985893691 868915631 71469001 179904457 27959629 509274011 166411891 632811039 11727269 678614741 945080365 193357601 475807713 950304305 586050891 48680305 944051785 855672167 349124933 3837217 259378893 348517913 393686467 982120609 532014595 11418317 134829453 332607955 430505001 449423865 688331671 299988731 296747049 972083443 81843709 76007363 724489873 213658877 956083969 221744197 716256921 12824639 740586511 239779835 832694047 561486541 137159865 666998987 539228075 725616031 144386493 952344065 499905899 967139223 357199357 301200215 109251127 377336443 898274179 475489253 187049361 572823551 638746755 897835827 97753499 642389693 98643545 769833005 219647529 799847221 266964103 953816615 557980079 523128017 498135995 716768739 913433167 815151329 176161475 683594881 570174669 301124509 600161183 815094417 94069147 492943147 355674737 830540553 675087311 720304271 3129475 655358533 576797737 650942141 88779083 97898761 62220815 852453775 798964065 335677827 958478993 603736261 395308425 441679433 288713063 168467207 552413617 348359001 634637809 750734569 196969961 385766679 897884723 743079395 960081773 260747089 405143005 820872021 153908129 248772667 645132105 553973641 621065487 668418419 569974901 362897585 306780781 151237373 442699271 583630311 513774995 567284297 157102669 124840491 611481733 495104811 519425091 170535781 385769073 929122015 13096581 204596073 811071143 502315787 555411547 877575405 640931 41415357 715170995 542923413 490502665 315891561 216644389 984692715 327396773 679206383 271153905 870105181 653453417 679026065 470996991 656730693 53541231 830746877 843940317 780877799 282119165 757051209 882041025 618688617 738395259 828630771 3169419 247177951 655035777 605649629 892080581 421025087 412101829 888368473 167049371 746419053 141284911 23321881 821403109 718949937 936494277 187845689 602389539 169351229 525780927 958320963 580100731 497354539 168967543 447100447 775306173 25993849 940186221 437019431 371464033 854580883 435321425 186162709 668933253 279387595 36472565 303538959 206981873 87771991 946199889 957265827 626508309 193987675 941431437 652367301 281216519 381116639 990396657 105750227 245786757 489281237 10864881 385034387 406176249 729502487 774634535 345156145 248567409 76109411 437266521 941979971 869242019 797792869 39211633 692675269 724216561 745141421 162115971 412262943 333373537 74630583 988973001 283666971 63499681 32343009 150496165 792608753 83935755 772175477 521919653 402300987 955732635 765215907 91067005 112527873 127093497 99688585 901149187 303384497 56897143 167850019 481814081 67108893 414174985 89109597 614093149 216662405 52432977 473007111 402952619 888044173 919348371 797597915 788916393 27308353 163781057 650804859 324793849 959275033 6269041 994656111 495065701 21769969 982945507 587297321 969119459 769771023 6159869 238371841 648533387 255063327 503392335 801525305 562482849 504972855 114958609 778009339 817459089 257405139 677769505 50984535 373453295 220114137 645586439 268826951 967435381 119532951 790756595 642248877 730629127 633616579 899276729 323273809 736839345 749029751 117346781 980816355 310656675 153274171 530575235 936894463 127211323 587400443 265448571 814164261 637009405 148969485 603673403 614799039 549166993 899553071 254894053 949114909 277152461 510116741 904923965 111736185 570143659 785964955 506682807 802332917 366423119 918552681 544394341 18328473 406895621 796865099 169349641 637894741 420469823 745177093 625552907 598264069 252617111 348152775 157593463 928893289 384267475 342190115 636891655 958023211 338240475 656239385 959690523 600800731 724670661 168559885 368681143 87726067 214565069 933617101 595205261 575827411 88506707 250320271 495279859 157179335 632881893 171238893 604790761 308835325 275930675 512748271 941630485 13648273 5869341 744819201 417977287 548686211 222762915 460145401 118012919 607444925 593752817 153414931 930764611 648931853 837934681 622430197 888627443 63086897 334238807 454532271 381606903 510208969 141841297 972780721 356839907 528984411 276559823 280579293 766783995 468857693 22933253 479813237 630373923 193096227 507663949 611581993 510370281 608241139 934477037 538680075 530552201 281188341 612576591 943724443 337035487 577088823 882305543 871826621 651118705 233216439 843165901 223913661 27273841 552247635 615424393 881249875 255288247 923555031 300867 168490909 908667071 684460273 697781039 233680155 319264433 531897661 999663529 606888127 209695839 972728123 643310387 869636317 188546365 597575507 508805497 82386737 471553643 12908505 247281743 457010145 450851251 350737411 751703213 580622971 806529153 619092215 832305083 324361973 377494253 337631929 943717313 272785065 238111413 208740669 164207413 38301023 539714627 491561309 59982765 470395461 485368231 684668375 146352371 35821293 741257619 633609305 542078445 367086677 268321899 39600239 639323057 626060261 703406389 320616599 561649785 747426409 64130209 574283055 586843817 58549011 301223429 63669633 179134923 721455749 666532959 344745151 666556819 678960067 681754457 76823299 521312991 43697463 205999169 111397451 134571693 927899067 983388429 466618755 726426923 266681225 657322847 303491965 194221229 581209927 919961979 47455727 681183405 373870339 471901523 442111613 84611279 842197809 964752255 96182705 340022239 899790257 907428923 624698359 815006927 827606723 299417711 205976239 937692089 814705179 402674861 479380245 844660449 999278535 587855913 522746709 890126261 591357771 589046723 341496705 717238213 717030023 630345989 839578255 200773581 630814925 854564633 731321187 467971251 165725133 146851803 960207813 313571965 504098473 793747657 672909159 348745059 267483363 810243593 337620705 933782717 157405035 64928107 33724599 497870353 422823315 669860199 467170383 142950409 129653787 121046043 778149627 757200247 197263911 596538447 738688245 705245785 567415365 236375665 490685535 417329359 250662249 245370267 276430913 931507751 452611569 176155273 23136653 611708881 536856227 225791653 800943131 129909357 708422057 262422781 583659437 571917499 76379549 115618631 724658413 606410919 739843705 403299557 467180141 217537603 180074149 535654877 971271587 823398093 885081067 628678621 501042161 946076069 25876609 639724861 822858147 983240025 517982727 99700221 430725353 106654875 174731391 463053507 813219035 333442887 516399447 952089057 249857659 961420639 328584293 808671307 879272883 851772943 606131943 521632929 225143891 298711211 279159937 465115693 119473941 839108013 223041599 396230105 881641627 211830711 957950361 757807425 917948525 203146391 916724075 423681955 324207611 889558591 334459643 606775525 10161057 372572107 227529459 628252311 560684959 519166079 395294829 269264625 483249439 609205955 540922339 957300177 702747441 558481707 476579899 293962175 174486991 979739509 465000899 673851113 404810459 732612995 399190831 117014569 230113051 97833055 612982431 907937275 183716165 743743807 179195541 627923337 82595567 446469243 76152063 952024481 690041243 905009303 754495539 117765561 218703283 406757185 389866989 597335795 481231237 387031111 392837205 958030611 764665935 698524843 551373045 873457035 67036465 546662283 834099653 933773427 625139761 460972339 528036895 51742087 543357253 705950231 705497549 557400879 226357571 160906197 58235383 39569275 781680365 139190315 813376567 776422691 926429675 888750601 285933959 873561735 521578449 705368191 682070349 903701675 538528023 720724937 567790677 388145217 387681309 338230859 991161815 75080863 143511599 160512913 864275567 261438147 100263035 827384651 500650787 335295063 90503965 377976409 924986975 292450985 940904979 951678905 72843513 492588977 506400331 845512091 992965933 306521869 931285651 760137295 971638691 989865733 274491043 379350867 758298213 323395975 489547297 9593927 947722217 544512301 707126161 35231225 653343247 777938483 917034855 522932057 982357785 502226819 257334525 92042887 754349237 5586857 394967443 92356035 704217849 200151009 796820817 391063161 358930787 802382597 673893963 783747131 725505495 642059937 465716599 709525957 421053345 300576225 916109241 515156477 101956729 445811357 338860251 189648619 810758011 695498325 400015499 311118531 449522221 840375089 758564195 628035295 744540539 707077373 855666151 872278725 485675705 682569779 675584381 132664095 782109863 895255793 204979577 768091329 836135529 347380735 274967569 292801445 54075021 613268941 432796009 582319085 547108873 79921521 875314827 372950759 55847735 167618475 342064229 41580037 660589791 596635617 766226641 708430307 506265389 657704739 442637715 485911875 316570807 823287079 268054353 549465105 372662139 765701455 713492637 624233569 466789851 445869985 803127539 115297133 580557225 296237003 215123889 718541465 593344277 837160487 411437857 553189999 183625153 659025073 461524853 678439843 34075055 548773395 410458053 432515601 425989199 479086235 122155797 207717819 944765299 131517247 369979723 311792591 198892123 895241377 96397881 926889373 622335147 245488133 494174873 838032801 832379761 40393309 58805517 631484031 104598049 314452799 880714525 103397889 75102617 627915755 663146555 124624411 537551647 232481353 747911359 811562473 38601567 853242853 60689645 469128879 851854191 110145273 923750379 689926357 418687947 920942947 718532811 274181361 714027867 185289131 170493319 176951487 487986281 69844993 818280449 162881567 306977707 528078651 317795585 490266653 682618689 319672279 220326201 666590703 807725997 967481599 201375297 998487021 779668189 932606849 108004763 812890269 958520617 322364117 761887153 980952487 86485065 131151897 380335827 711546593 748609639 279118613 491185723 153937223 475441935 119241015 936511243 702659577 957791797 70070423 962344779 678407493 45290807 60129527 522297069 768515995 120767961 100534457 488137417 563587739 448472395 718128625 235961761 897730051 762819361 19895123 514450719 501449923 493812311 622574913 126793427 361739245 343208019 658728127 616483127 455750073 110381539 428308095 923565227 512672397 962920507 171218391 979934331 346589173 627167739 96602567 317861335 897851811 679316005 237635063 987300567 265052275 151299367 108307891 852910973 207442791 691818967 599489781 580602545 412358315 697857649 802037595 722875207 519125649 235006365 706823981 875166455 594665623 616558949 191641179 308526435 155882589 856493633 347985787 236280083 156428977 82285069 23710411 14236791 648238725 415876365 612664629 390635243 433148917 94089969 809995591 204214703 863639875 361627595 671341625 927559917 511594459 619767579 536654569 825232051 788281169 675196613 193128669 459101695 998049887 796490263 62720841 63850417 735746023 107611845 564930559 946721679 385609207 511477229 543062657 858411855 604224195 899001621 230096119 560414597 899514273 873412905 664935727 144021687 972969499 430366079 803023775 220937805 489186519 354179795 4162663 146981783 480784043 730428493 693978193 61422797 480535441 563166327 882101705 200550421 484172205 979963977 132904935 812321395 687086665 341024797 149405547 297482461 868217561 755863227 185443771 587319591 964366841 151626833 292094439 488474903 691151469 67301745 332716455 653829971 708727325 639311387 812964955 188328559 511565599 945235123 339406343 1333219 399873709 917094661 303172187 992482063 58148907 551112521 748847537 519601213 572566053 645743899 399790087 148843937 880906059 568154241 266235905 139679823 656294267 968940775 512730611 664856397 881733817 23967265 760318675 199780481 875586605 274058095 93823295 721923007 116278573 682646135 604530815 431135165 942329397 549427267 159366529 799600417 600145381 877622345 165912029 814264175 441956873 937255271 30871763 170523163 788541591 706852579 883487307 242980733 584987817 135040363 4775379 476985817 688721791 705279505 719456673 397562965 395361161 27386707 668991381 835018245 168875863 38785049 335035449 961474783 208004775 720473773 521078201 3921607 834666841 777237447 793955053 602029191 846926459 730207619 77448277 113878733 976808253 856334949 582293783 257315635 553855487 363404381 56627715 213519675 944049985 630522815 500263057 725894481 82138287 368745541 122819039 472069569 597367323 32851995 986898357 419142087 354641539 551292615 861027203 221757061 688466183 973808709 818006877 975037955 859894261 530616813 149427463 761238067 75358143 538490759 413496037 977467375 614601217 582477887 500819207 622457845 231617149 943772073 572155939 571096561 279837215 815873735 42300571 197605237 551655417 671464185 715138933 400900855 874864713 982657297 851738463 980240091 375048049 968961599 718306225 208135785 546692859 648235813 571453293 8723665 51487387 119204037 852214325 419328049 966386477 330311053 9542493 100783237 476752819 665768021 265399001 437890233 37777497 943609687 698701897 272408477 789165939 7858487 3410423 871620331 18382459 746960391 764117967 599947845 547575573 798046777 990755945 727151667 987874315 67402155 577646085 574277927 185433169 600940195 324393353 50760825 441563139 45531341 767106437 158599531 546847075 3382845 263754545 347323431 432090591 694311027 814778731 260619965 555247879 926946645 329743803 320090151 620000663 955391021 989545809 909704519 3435123 119953585 857990145 408565221 210525605 579982337 303259983 741839281 824512353 28130207 960530783 249294663 306306309 311351929 335198207 718112041 681148943 332135397 786487211 110830779 822628655 304435361 199089279 39642451 675343157 345223119 997097793 244447529 193097757 72851457 31399525 791440479 415027211 293635113 954565885 641177597 426833481 55121571 529306571 118456051 578338893 632583225 263814711 572150045 324231343 937435923 867071309 538601531 223950901 204045259 580573383 794438391 324119241 106366043 123347973 497621473 755960957 804788009 331797771 199538291 915532941 682878467 218179467 864869389 405232733 189523741 201949147 360668923 670313593 52781589 704338427 347449195 341435283 577520881 635781265 311575161 398245765 772751133 661271021 295484709 812140629 664010863 294624519 105528153 742499629 485119013 885322877 599702245 519094111 53194209 562287511 721648257 992481129 472835763 513037637 738886355 78133739 664071185 515682075 91068255 492642483 903345367 87087709 177062811 680369587 630547017 170094317 128509917 14105607 669942549 46210143 593984613 529614065 264576083 596738793 845879393 725497053 368631931 446511721 89410271 51395165 358185079 885900645 236046295 236175663 840941715 376646159 520275759 276474163 281673091 625254719 396288939 586948983 530262885 849590129 401697791 75399981 241544895 112813005 355750341 691234993 955286397 263506725 579998845 14374021 430510067 173623021 277344911 70751829 606586851 964913221 53577295 48214517 487331181 419027703 473121523 595674719 657290785 58206829 554740641 639937719 31455733 93696195 94555229 189059911 840305219 61042615 633201435 857495171 904997587 343747503 481869493 599239175 233394385 332358843 342747113 131462549 218389459 735739795 287456869 744730137 619480279 394426517 13586357 674686631 932389697 865872585 312661591 5964153 444865501 889473247 942523049 551071987 645160419 379693099 559307253 89768607 987289071 939783089 180610925 830805555 945311493 457674517 175983915 144291463 279283605 386362277 754597677 192764063 968614003 635602781 332986977 851309737 936226779 295133145 8817043 907409653 369534579 525859167 13208191 400091903 198684745 411841505 941670599 228830315 85859281 733663735 522324213 683254787 980476649 66106333 721139575 608585917 410944471 643708027 828914087 878219953 352562247 161845859 926167239 618774565 864918607 295039689 206650115 32406657 905606509 103971469 630650983 117133659 523626883 51878711 704396783 417565551 927792097 912618999 545147005 570829213 768198205 470759075 334578137 502122995 370416051 645406907 749653941 306194593 530117063 828892261 119683755 465721095 726748521 209046897 794862905 137316515 975366123 631567959 919174347 902978597 222705677 205340981 434642097 330874461 896917747 271802067 287587111 505977673 992923433 793474463 600562761 395746057 453278119 227913395 831734565 416452843 615094475 741195979 860682923 667908193 423833429 527446353 166815923 461778949 656655735 49946963 868305153 867423901 344554437 507633287 578709049 855691795 771144251 950492239 833816819 962570363 576079167 611976881 587778211 138884877 858490529 524571995 399336109 639289649 609603217 396513445 704347479 174862703 846231729 48613007 499506391 577926267 332634371 511914431 844435011 290041903 116819189 686808199 386854045 616585875 373259357 425458139 260844495 442584781 27774073 790508635 781979049 866975281 428211949 861500239 73131751 108465469 423336133 24184231 987456037 3650707 431479161 459902201 170553073 827730941 247483877 815905925 319479483 378218351 138585933 135740465 363829211 667416069 927662177 514749837 833823379 413861121 419235893 997368529 347174411 80319183 685873477 942870491 216006487 698526723 570113655 215776563 778816111 363459159 9826329 600775943 931499829 814822319 965865183 815025201 648763505 597871893 528163047 757760813 166330067 391579069 903569079 991480613 817623543 577304067 994366523 655553253 67880797 999041131 129546697 638517225 148281711 725304477 951391519 665142093 110944381 18578543 773394527 678039255 365179841 340988635 614152475 96395769 692660827 642811653 271477571 688705737 520738903 959081783 183062073 629981447 286627235 885762023 318965695 895615259 284999451 91326125 25098501 131448081 615116159 154807119 439378333 679597475 180810871 834133173 352924295 983913265 979541399 430985205 681573671 806435007 781273431 585466185 786969675 286139647 610911767 625378069 318458151 293154117 962174755 252517605 605197913 139806357 119271849 328062059 265036519 944776339 543686597 680321665 698464061 672247439 300998007 277233709 924570673 99617409 948347303 92045207 501364223 325212167 59010857 529666327 40112973 993803113 264895925 419065379 263638057 70631573 198579435 22854753 383699209 740117541 428263253 804406941 306472391 140649045 175240037 950546889 452526763 282413583 163132021 511175167 729422691 594785759 692185029 695008133 831446529 566311169 171175293 10612165 367181317 435366479 651785649 516558929 918651219 764643157 645140311 401846759 304015671 578126143 887399253 649453415 782693225 544077285 232108911 958517471 940037381 733447367 868237657 863934081 499676047 175222795 500915117 504758697 910213111 871263619 657067241 381526489 48514449 231290787 997423737 849008573 291356953 851747979 769659311 556234791 643677109 956365571 510258883 852486421 94628851 524808059 388367317 936680105 765301447 170635017 871508975 657271853 90689169 371912813 46755843 661986581 732604947 205827853 83352553 611669501 805365627 430801401 989571941 995714983 337255775 358266599 41791773 651000319 993305019 231573817 745675685 106416921 10487543 783050485 32978547 5902893 205069533 859514825 270976235 889184419 936066981 356828175 997233493 933371651 497303787 302529987 992544227 615842819 846234291 564342159 332553133 182596475 541343341 565546945 69120951 641440623 932038635 707407 935344615 573268747 929493613 244766937 358863375 210219427 254137239 599720361 519192811 768081841 112795255 530201771 353193239 633555929 590174849 860473719 358979105 990468581 743815315 629754701 341643641 420004811 803200499 49131027 225420665 144641699 572969805 92411227 804123743 441027505 381927863 678262617 605598551 507195747 303491501 771089901 715485553 837827145 134867477 416215455 410133671 980382239 869521725 892443295 448514779 495915721 905694171 511123395 735372501 705951569 291506185 838241161 837600071 963665133 141949009 586444059 502189513 787777525 102168731 659759943 262695901 361832175 761621823 84548485 678348269 333997957 224519675 274486003 465039945 840972681 165127411 708780889 492413485 804346871 84289971 703968805 329928885 281352691 97543731 587618671 567500271 461220809 318841295 495289081 567046603 199324651 989241421 584003365 707141409 124049907 404200153 980564487 714681011 510474663 911277319 484285011 34375211 697142257 526465495 449442411 608318745 10192867 867072175 236440915 451854839 629282745 711601241 341244349 783368487 450931161 708262923 130255615 201336303 102741963 764921443 83720217 65743237 13535555 466777703 430434995 374278143 515254555 898712195 625361433 223205215 431856729 369048461 580750405 661391503 227353895 886383043 925830869 896290399 801234903 80924617 121946129 10342537 624003047 673507755 590038505 361678509 730739449 636335073 108344563 439931223 723231191 739938375 136366445 473705717 673403253 263511841 835919425 587444963 148744685 482889759 838425597 588170337 290688389 290337107 763174873 274013081 985419689 15296061 225032883 318472347 524867559 238423745 536480273 441376863 513627391 488079405 65974055 261212619 949360083 824973365 573594055 345648291 275908717 956718071 296129907 431250077 50155265 722586873 173729363 689660495 437923563 442838055 411182645 344861241 721276845 392407 542154127 382962121 187639795 73171909 992337537 189388877 548742801 714600985 733293013 728901119 945429377 691424349 206051319 312909055 507100391 48197511 824657919 283758679 20933645 752198647 642390701 614948091 745068649 75000431 772678503 120750783 15684243 969613085 104267069 830068585 200085327 302538393 141718503 655605153 627542665 443633883 818386627 368471029 429967445 841793613 931589595 248899043 492820463 726478011 83314905 160498889 363205813 722249305 351411225 532757747 31203641 69744325 720053655 971434639 601361961 463275011 15525373 355637431 617270117 298676099 846647193 708253295 653275371 932244761 189930851 65608605 182303723 238426113 427270649 256136213 28361141 428352481 887645857 410590351 839203013 274645447 713813583 180166571 414712255 661543209 532192405 759113971 240774767 169086689 436576949 154834393 491472583 247426103 961921687 726021303 992374241 973752279 94418375 689981387 431250691 245293783 672819329 702706241 453493397 138403253 628754079 854907179 934614319 213734229 172812973 788144767 817218183 373548547 532616919 159201825 564999811 749376631 505776629 358225115 528545327 759269069 990715525 781657435 729532605 869851529 628810675 553602875 707546759 100764315 138381897 787841023 296138771 890884181 696390593 652994573 4135691 660886647 407842617 173431735 517268803 628568357 571675769 910733369 667914163 91569133 62638833 37916337 440407939 502848195 258482357 617630505 916418811 249433349 159414153 376820115 77679247 987455609 781194193 965740743 660279257 598753355 346233757 691976583 264667295 750195217 506839971 898191229 489974731 492059849 335275589 828447291 929647217 238586325 320893577 705779255 912175307 353022469 98080541 604245973 719998779 515497103 405766489 797644893 254972751 621442061 726994495 27442945 907246265 100317065 694011761 897004505 928726613 963294059 328550979 890438375 676986149 410307723 357118633 97401621 124604247 691947303 608891459 419561779 186072377 235328483 988839259 687023869 861174859 42966733 504034269 948231695 803970607 931843161 241054305 588031735 980542895 858409061 491875621 800427045 147834815 962211125 512641301 764127985 58607739 230867065 271358651 41704093 410445351 611362373 174317905 114588499 582663211 286244885 471032757 691026723 301351453 549573583 730390383 179631879 272670903 273455297 370687405 697467361 370604765 888788129 478170697 305241465 969598105 450670729 344709825 137704321 607285793 8320001 113306937 419360401 380232397 498252791 841793925 305023787 935479329 851260861 276493339 960006841 435726539 253152785 54092057 774850699 943992219 741835291 510356293 786655451 837358221 347640933 492351763 68427721 545122757 101972967 595756437 388248673 778192527 983097597 507424653 440745361 780045403 257160811 936022625 463555893 486434249 848627297 259463459 374291213 72892311 112109427 760763783 209219523 632497589 915135901 85352687 124501479 416906291 75740485 909039967 395106035 172927055 976939065 192055433 805442631 827534697 185436845 62954691 230026799 704561167 818809407 419439117 236851419 487711985 699132149 22743821 322154337 442031087 251782715 685362707 548066503 507122441 66905063 508458519 555555061 896422249 245443893 251941303 566987195 760741991 19548621 831045691 424272851 598738041 303258809 899988113 99470301 752902215 678165873 54728787 209980261 229529495 910657743 836887743 35684313 468368481 255681565 391156665 84940693 37586879 578826755 980809429 742359255 693270259 614059417 387321929 396054733 646072937 837755741 967158769 197394565 763826355 589777459 535011929 966474745 72641423 77002345 878676909 737954057 525725919 845232819 425376967 836068479 409608621 702199599 499803683 71667981 355779373 230229601 863721705 184010829 360735675 233930297 775788523 982767039 184468441 583641355 211471517 534560715 422001459 746282131 765558815 400843973 188127643 189597945 570489915 840446437 483283983 390972871 840595547 573478987 751623601 983631091 574480539 858578433 4980939 638455773 620319929 564558585 17438673 605987399 591206171 263656973 660966495 977107295 319151057 165974013 563011129 344203451 306353555 839965809 888463431 322855257 168694975 154967803 836436895 366425243 7746653 241571863 668268667 736631635 523597085 224399395 323889471 901952691 629526611 170002025 294711157 300093273 340744451 939076123 107751121 227520585 519864017 187945811 839606831 106733043 617487115 839325199 292268179 847674665 130050989 318428477 239182885 138371627 818989651 625849769 577372987 758767517 96245571 920912657 607045455 187235213 799928943 122266899 842748421 658263153 964168303 220420153 405689385 610797603 790607743 515740917 993889451 999150827 446775943 699721375 985882539 483281525 614937113 647775867 916287335 35229399 553815913 258777775 938754383 269111181 67970391 886593869 236594931 951458431 22006635 811340625 847011087 686414071 469811413 523107223 311770247 829784237 250067307 827889135 723801959 702982331 616153261 913387011 716028385 944777387 466828481 929514099 854850895 860699493 560135543 529556411 720676151 253081667 118501191 948002631 739430467 67549693 968546383 954342503 558542149 357115837 748081495 852853079 758777401 699502095 151419597 345740339 918100293 58849255 373169099 231961097 557624751 556315043 76548877 806276041 469110511 818469385 537535485 554100043 295006623 821540165 358978985 73630803 243740801 440208365 482024391 767567751 981444993 461615613 952735673 562185081 937978545 68361691 870442371 888952739 360286031 462951253 114513113 349988711 118738107 413851297 837484045 795616525 196768131 961068377 313055009 47325381 339796569 700882309 586479803 275283883 356200729 446100115 579706157 196842177 676158405 11448405 74701675 994143211 400692617 381714441 385524757 971117825 524212665 658827607 779918963 853826743 902576333 135217483 28825461 508579759 732304749 774643033 901282993 987369333 195630945 657976925 996006759 437272441 835545757 55179681 166513021 368322579 96298557 258716111 955409027 789694341 804156803 954847739 531648689 539194617 169617117 991933605 441778661 353862527 709507801 37500083 846812327 836545297 575521079 136553581 869996325 814452623 431486937 565273743 789846073 104287685 493235657 561910577 743725151 896991841 887913533 938372315 81716417 120657151 120252301 817336185 221294123 584529695 447463485 778023265 62803993 341772587 742280185 756977743 920422821 848185715 774147733 538049131 73350299 809973553 740768523 89899839 117190247 151329669 207480447 497002179 952513313 735579771 405295933 760138835 158476425 915197953 396694965 649299891 242670855 411349747 836875653 150334995 434311847 540101137 561266289 422626053 87174691 312960259 548449121 984022921 990573017 510451037 457074539 793374467 838997203 263816599 600088779 789775425 208912315 320943633 283662817 131440247 725550061 551891991 455728697 578110531 18199655 151915735 143731593 481703081 755822799 658409581 216062121 334034457 472654965 962809049 926334111 121214311 255171921 791040259 476801941 748059345 316366593 886570431 947754973 786657529 881634253 254105797 96929011 804518895 789715875 805155253 406192765 406307369 808230685 720693017 647119681 906443137 539649655 386626917 570263607 37454911 444891291 298813933 236591993 770738191 34813461 657177079 321505609 383131913 549274145 949347241 658506001 414431909 372826009 437999383 708102761 824436429 313116681 185986873 675138055 304474317 126854301 882671343 360555219 674029657 637380909 67360771 22875349 426370703 780119865 382063143 627471937 314383091 490117351 836137461 425204849 787340405 228563977 288448491 682002155 309648487 678151443 45339511 662987353 634710923 350769701 632094693 955750799 515355393 731234311 413976947 690003077 865189209 377189673 721662015 581847907 991272839 561850017 537880915 438132081 178092521 732766509 529853345 593881635 127955269 952683575 100652801 190814741 970599879 309702349 495672631 532238857 771757573 686810279 182164713 688562155 849031677 683558179 866778795 114184655 798353939 735712329 652963827 17231087 522784275 453961159 474503205 101592751 906256949 246291959 731722633 321978265 894674963 236925653 606750289 38608481 878526903 812865803 575357845 306343139 528640137 61925093 71419481 344207649 482182755 301628767 937670787 129994825 491073151 109898515 214096869 95944617 668357251 396897613 429607227 305204673 649453947 903829241 391482147 456270643 246958305 729033135 283196711 367023051 582450573 53236399 90665655 396515705 702779077 472477151 28752433 162480987 785004345 26080465 435842513 581311157 596178941 810748857 934052035 88816623 631102861 512127095 240327191 593978271 373171409 345743763 625005513 92557695 190830611 651014461 107459509 354847603 640838667 242831435 124971177 853201543 492168915 614289723 213370197 740428267 682045171 515509047 878254929 48564223 468740185 867999501 934772255 275778881 923356503 406098997 120059433 159916897 262295981 470419917 913457089 634202671 22569341 632361885 682962973 800108711 556548185 338634003 171665503 828668911 272033843 933206599 250256019 836012621 891315305 959933691 40307369 520208441 553557183 309104017 485216121 427424077 860766821 150367261 76670405 452440393 466105071 767312723 226167607 893659933 871477593 277044629 472382303 546282457 463724297 651199463 644062391 339842491 920871117 9575675 627823009 8326435 149798363 580670503 834726243 21094815 714687181 38692971 903232819 631443681 247497387 964266861 27817255 494660549 643768289 388129919 39831361 136407883 823337285 673111445 280881259 511060899 755567893 614087759 842089845 118177055 478105075 214724341 494637593 435568439 622739441 939240311 43500023 141885331 116978559 77698155 789598619 862973179 307474047 800967695 716249459 415731811 269519669 718691661 672567003 944898535 276631371 431388851 137407251 406835145 269758171 701827449 515131461 335776629 433543519 887393917 515795073 923644543 779539133 458402629 359626945 83046303 946991169 396868869 36893157 723689917 840059301 520972175 33297849 539051233 515138049 351597157 711833067 40018239 428833499 844133295 602967831 312028211 265567523 441241913 627108285 844791617 756455981 298041215 815317317 930510097 983970999 261018779 298849539 170390137 102653923 979772761 701802799 79752563 812730433 415907365 410734057 433024545 534101191 418993687 475686973 77596627 585274833 474212335 716816153 775279095 518086179 321808147 18056281 843027755 398732779 352243347 385335739 76652593 112801215 649960999 511097837 757959415 453955485 395208493 50172795 205313933 55096809 737398189 286554083 95141679 54993521 378477399 436826243 839916353 834408297 994322049 917944743 62372941 329796719 531627817 826036093 576815881 591330183 300536313 489794337 509478733 747989537 228184383 294766481 432855839 657173009 786186227 789269691 987610023 858024083 750212787 328518763 92411963 481361741 220067525 88542047 60594519 285186381 422990109 199059509 808088475 142413319 669583693 606529655 371648211 526349915 301730967 921452951 683513077 628842379 198158051 784753135 150748953 411233349 474155965 751554493 820016773 216863647 2970465 547836463 407080867 958863383 492083113 521110097 489812741 394574991 34210593 756039201 970319463 899139929 100919283 599548797 626778543 647088423 663172861 895948591 921103331 128699413 917925047 742925289 877558331 618921133 93398607 48547651 146857745 126064855 964258447 192733377 418848999 280537837 222194417 241040073 867940201 23068841 356294291 350973869 326207081 596393521 283093821 811046057 600025829 811018003 12486239 202092251 885247485 529237827 232126477 320352845 553470975 218916895 143435275 718864625 223518045 455027053 207223997 349122463 891271091 332691033 840586291 121937177 140188867 407114361 448754979 667152649 687570297 743474889 427900399 546421505 48786151 722382513 354306461 930748279 568147275 969966843 175109851 226259663 626573575 73286879 837558529 5909585 92093349 630843639 863409935 127389487 27333337 250788939 941879981 530686849 571333503 124472649 822932265 255976265 379268249 288734403 526553209 529084785 765370963 476385017 959967293 267931339 989021953 641993359 721071807 947563277 786042397 543252369 338516969 821116891 527672649 524774007 731322969 454074811 740042581 687145245 159156295 984219427 517268783 561618889 903980705 727761769 234010357 734715943 518140913 273047503 32434921 599834701 847167857 371920511 733339769 40384951 216993279 586596235 700096307 271619659 446197539 253226985 796728791 873988439 1253899 722438779 857272647 437473935 435997329 583063309 394000783 175600403 958135345 819102543 132520671 753057893 613935381 678269401 707025045 764730739 818416395 868931885 142971445 199933843 956100235 437873845 964708967 506118019 682318771 391599553 274479617 995663463 35839305 136603275 126554879 624222923 128949695 223047475 884892033 303706023 196865581 292088517 372105427 166608727 470948687 68053041 141788267 791237279 149097613 247855951 260561121 870692271 231764217 192780769 205251323 502112025 471443015 830120079 832092321 655560925 590010329 10255341 490327531 790240607 693053875 406803827 714312207 301512301 158777223 90347651 937343091 10798651 509216171 739941219 279487395 47606377 631338015 792539209 634521169 922760953 712486793 551948875 61094487 553282393 269135929 175335529 344140219 396512093 198719271 807943825 156313511 119487047 656814833 113358993 227588461 793990071 91109599 913879331 821828491 22955711 278412255 157612775 339518113 660655311 858647947 83073385 365214845 103465161 599449375 253715479 598645009 793891823 15615109 552382285 264249207 402585329 486547787 504672075 154859765 708310241 471667113 143377209 587182581 28661823 918667643 115307051 727992075 240746991 227249997 390085145 253971953 693194301 860760907 542244579 948122761 219025889 352922191 842780499 228163041 247522039 135555285 75701789 812392747 119270917 457344517 388562133 875682499 380022007 390744753 915256577 285541675 972361251 145336397 154251015 168928783 890096453 124883961 740797755 307630403 401253507 56186237 521343189 718473665 604526443 773044809 585634549 906567851 410387955 638237811 590833061 733766737 803822965 83118011 145528023 200428321 394051001 58371719 731844965 506177721 221139437 91454695 658447 916115163 809828771 117980563 298828925 862569587 729649113 5820649 894030403 48099989 237433847 443276785 417606103 15805819 249143497 749151067 32259485 466138505 291015553 681713787 79550175 759941193 498474689 20022357 704998091 566897009 660257165 448165515 649398139 920992729 457222735 528514161 674675443 900669573 382256097 824596989 782842905 951675299 7442557 815923403 875943359 599461251 59681993 228286247 235089825 881372065 557381331 111795453 469099357 249480097 363780879 860621031 238080381 604353101 220800349 753689377 477817971 521282715 360513021 289970323 518387095 506629795 831022241 683043789 245256237 487701163 720882013 475282953 22459995 13967387 329311663 530860577 473333811 472478345 704793977 199653279 676763825 761420465 218550285 174111155 723765939 536059763 847836955 212169779 369639939 998814427 95144389 892743327 165499987 932173087 682285453 358121757 989251643 168759191 646203235 493037437 232351293 239192009 578726553 173974583 589967811 707909727 663832559 512312681 565072927 239593515 574082185 436647387 593495431 787788587 581423861 950648827 726036511 1995135 387253799 451326179 338825967 607818869 682219645 199645519 622692583 122476927 662895291 882597033 647721445 109638455 872423697 556830719 725371301 274514019 849397779 323734279 619501779 543349485 503886781 43756323 402257919 636134631 286763127 74528855 376086179 395035535 884690443 860576853 345286689 675903559 289687727 204649333 720652993 413837209 551355907 364206003 700772531 141194809 845298697 116849079 972067093 585330689 986189871 119218131 839174371 167532279 611097163 24774907 809970185 338496069 763115931 43455439 14357079 926095679 542102467 215551895 195439751 291287135 16736719 146107715 771430713 690781255 821939511 615917161 574788089 603943621 649665751 547249737 296645175 182807501 840477685 11081929 163821643 3698295 395621179 12030329 879604855 410429447 943441347 662629009 782579685 670874857 26089479 764164079 159749541 248603569 502555373 525418521 13771697 858109465 725898435 108393283 791658473 338381315 213289533 88557631 786507033 235283583 567894395 741050257 696780271 445968571 424300287 92508765 432869383 693671701 482263223 942750065 324025057 262607375 462873337 643935817 883690215 764572503 57556865 905019903 250389609 884282557 303085687 175295071 937481889 201807165 331154789 136086741 943304879 569808379 159276611 834035065 221756063 132863297 215984235 795363851 341589087 333859717 889915815 176903923 440077515 428371551 253036319 114515005 103458467 671891347 929489005 65063587 160626577 930027535 731153547 299196547 612995875 425751779 916674271 16150247 236164055 821769803 681982005 58729593 770385933 993544363 532459461 362996885 916590347 985283983 621619755 977933369 693117445 53448359 105451117 647763211 662838037 358296275 163902711 322814043 244471355 785668883 60846239 898013217 376303199 831214993 268405665 507277819 15700565 648987299 33652389 849496625 134782421 812400581 8865717 136149681 853838463 482722455 520431943 13458963 341576927 710723559 464199483 228593305 909931875 863157415 864280531 460429605 355331429 873981681 792903357 938241099 540293161 141454091 801028623 379755329 474666965 868197471 447608647 313877731 166347389 455748735 336037449 476086461 784479513 750495785 743336545 304281595 310302857 143914045 213954887 282284149 722900631 352600777 683235863 671571883 11286261 135527935 414277719 349838275 747137085 987530555 992550129 922738319 43842285 636293631 882282815 16139395 94878323 690456311 102266875 443644351 79472667 466543349 208160331 664154379 674813475 189747191 98235069 220916951 312881321 116322333 185162823 503110713 386332855 309102261 724004163 369152495 904833855 234874675 899351161 283871587 622670363 916874285 311578133 781336483 717758217 779708525 106132653 913991271 17440437 51885529 51574335 874998029 707157937 130871429 819081517 776884637 463860595 5501359 798256457 293379013 578757471 356800185 686718659 747564511 358510013 424666157 124854077 113261031 110602431 986114239 534982841 844060807 106715007 686335563 399509671 977300491 878338299 172581589 663657177 302654319 877563167 423539077 748597391 936961869 293960637 820634033 505380717 803031281 549233547 58855379 399893121 266005831 910155565 982551183 148679999 924415975 389440555 351176623 862274693 900729361 137281527 385489193 393551769 685853611 417704169 21539349 149121319 305985607 116704579 149076407 845983813 897100313 402184239 348181117 258957167 44128513 737519295 490261751 282952077 483054471 541458153 935531233 931601129 314102235 722011281 25134111 159508025 130021585 685450877 351124411 838790045 403420909 738005347 910615275 807943575 119385939 692416729 459457031 526136341 680884435 747878499 567061397 377504111 190512357 171534951 4831549 570362205 321047719 393600823 731845847 637733897 799782367 491203597 375875417 64887039 693800449 372048395 912981993 771014195 907149087 612005175 444555475 318402307 902648571 734982023 526791815 485599027 633014269 717282769 264405669 637263859 454143539 877790935 147529965 123354327 414242899 148735043 340032585 900903131 110009535 618700197 483468753 750955365 525775995 904392055 233653691 673133891 395820601 470303771 164803695 799943593 495115599 354348761 666598771 494940471 702060733 845897441 411014271 446593263 769673769 894672463 346172525 428223807 675053285 441053475 908298815 383467261 533923045 20129863 684846625 678973029 393587145 812196491 104536165 728283167 762192857 211675561 9717385 263010357 894747397 368872257 712434733 573113119 349822433 51481567 902878239 795836089 861101745 579959795 416551761 722831687 193030745 175158995 666532831 99474041 99915113 273106373 800789003 399982689 538145561 404310769 506183489 282715775 103237189 781208679 3654421 173643447 156539513 448795425 987654721 374515799 583757539 328951807 664766887 120540947 844009815 939169485 724924759 309766665 845006679 110730553 278440319 197600447 695508235 702345695 760246653 257715233 659639359 874729791 334756563 72527749 63672687 212653249 183466541 205840807 571081397 122289081 136078431 190297519 213464285 959267935 747256163 890647079 331976787 673712851 279547741 217945607 165456431 130204705 49618839 545685929 952750385 955797815 185627013 257447893 159884479 673713649 497415107 518399673 651607017 380525069 765844245 454464231 423796839 368706105 737984355 81494623 98829207 223528195 560173763 113444741 340440449 675841507 583701615 798420005 830603733 284068413 599893451 959814775 518565097 889084507 851085667 294633495 954991803 929173099 436579815 338274059 560406005 929096585 146210101 798828735 445263589 532533939 187617105 258173703 356178051 410088919 262756197 647118115 499937645 160867521 83720387 642965689 947676393 19001903 626023399 59231955 502205419 901286591 663197045 855244007 992436229 203163643 311543609 399928275 859785849 458213717 756247331 188234973 194633519 969422119 856832595 41516723 795723187 52759985 593472007 142196839 620051009 435064859 579581103 346202231 517903539 518209911 192163547 795058123 377194387 702086593 199941193 366870701 41773329 242821335 467253465 937600469 792579587 524638083 194549145 811785055 964493033 728826487 625068987 424107983 382056171 764219723 430781337 556377365 888012501 862934403 504380857 83963779 851629089 676086661 689991621 784551129 160202733 621495205 844660623 663191357 871073281 368580377 676077589 472244279 210301899 624612101 352124535 282477507 18609509 855429489 472188163 575653689 780272269 100918863 479330347 664303201 48763305 261767799 568589707 833578599 150231239 177752237 572532965 200515807 524062371 355991191 822167333 702939339 43392409 311496135 12467551 432119691 438149809 796132023 659836363 58881521 976054937 919021001 545035473 505448237 806465705 906146885 162613241 625626081 951435745 154186589 71186679 106317071 945465321 677195049 746661031 35472165 130864653 686361515 700484107 989568251 892332617 622521805 731258191 541828809 39474231 668412513 832598727 939653945 576114723 476610333 3536877 46573655 333132279 404316069 691095653 201341591 264889423 971863169 944297209 794750935 132627305 14073889 415959197 397646941 259629611 231585761 324300141 181237203 548165415 744128259 282935213 999601747 513019793 633481133 118086853 254357847 170880073 131467761 788600395 567157959 895967447 347677897 404232441 368346093 229728361 93509909 889600947 263364735 278994137 701212321 623556227 287866269 398695843 736211229 104844191 253295817 326681841 709441313 594392671 317348081 648946833 523999535 704933447 931994475 749005563 179716785 645048837 2725621 365289035 66496759 765681769 863697585 173724493 803113531 385718639 695328561 991696493 135500957 503152443 167498087 537119941 813385001 212208409 302049711 718720785 113856207 890345593 577971411 870353081 29079399 365892091 612727035 699043535 580057267 946401885 569661121 448908039 814575963 31227791 29307935 312336577 555042803 58531745 697746811 737765383 744960499 216038863 552376995 50737285 71609533 35177855 217189835 602877075 744596119 520739127 898353297 879617583 760719799 190016431 933847803 135109637 259249971 847567553 278814837 80895071 636130317 760653421 131356885 522313271 543168557 963741667 271701337 647810603 820352871 865754227 596913571 697397635 274161779 91337371 511135939 462591789 488003569 130969851 35971631 281537731 146934637 846982497 522837699 897785729 869318229 172335039 701928387 765523793 260949765 918954289 795503581 113618881 332230077 934245113 488639529 230232841 802078629 273311107 217888543 440346373 937796049 831267169 344975273 941225537 643292217 141968465 759140371 231189737 491267773 110532147 939569937 53943253 324835881 392430101 720413377 632064903 153981227 769040683 49363881 378007841 982436189 34302411 569997749 761616757 710663747 39476349 300252985 467761661 741574725 917908205 878895607 234917331 460041649 56369897 738582543 506420417 63798213 655513457 461584145 55800887 141796255 682182055 241740017 393806923 302777673 8152021 182544655 427704509 929778359 22219375 1324333 922552819 250784957 404923665 134395513 465810941 693109793 905125757 960616585 826464659 731991177 445760673 972682331 30048531 369724297 721595275 43589459 795235205 192312215 865631355 27923005 348784537 609674519 607951315 144896593 808393379 872775507 769886495 181805611 657904551 324000121 996336143 659601615 2290759 668888995 471099265 73022637 338518487 219043285 425301625 371457689 966525517 196709109 879584543 369242319 702134085 181852119 779089865 454396405 537221899 428410929 152212977 347113497 422045067 116666279 592270651 536466351 397180765 341504193 717048435 402325653 388873409 445462513 953251465 442300177 36050591 394965647 165767067 310392015 107391875 139789279 622238701 303378917 179577001 80261127 670994153 383834577 712403179 36289817 852864033 138089589 123237843 706441233 151693393 333501217 562908305 684155341 730112093 559831435 562927867 419012119 425693777 70959311 439888017 386880161 78359133 742631025 947934585 991353859 5602785 819504479 630867843 787214527 845900381 805627121 620144423 899458111 564533883 182032353 169373827 393114069 164380947 133975381 698443359 847505335 627593755 551036889 660768553 441783305 655995833 748444773 310901243 664231379 289260857 279137621 118879633 423409671 863823373 820914543 770065749 662288509 256178385 538019551 669151317 580345079 105248327 417917499 368032327 881881631 68832857 590586751 317673101 463746693 130307871 280228113 697265451 500142499 269297105 208393921 464959443 847834331 201240529 599786175 219377373 624089205 250315693 904929965 142676037 574831267 261619735 811062413 901897907 603141245 500273387 518522317 674162297 832054021 357335595 10468931 202388107 918481957 895508227 746496813 911140233 714390445 27782853 640094255 924345019 481151063 713220591 845561941 190312721 359736517 752965411 928510743 437258273 369396349 999952939 793302865 582582571 175880949 521139451 813537863 562332693 830254723 426457263 873045673 45900399 785058153 851513993 925300107 130506351 340206801 907549941 346290025 758886391 899147211 263441031 109740329 110588813 557489233 232250105 137932057 404127585 610144835 820962351 958036973 417464903 894280813 362740531 289204675 436049091 665615743 850824505 391468833 429856247 997488401 344948381 465070067 404759735 320076965 166355427 887680143 54325881 489772707 587462835 292967091 400896601 233841503 879013091 675751041 605139491 987167249 197991277 271353739 652817731 439306201 478038389 248566721 852175313 810857155 484070215 277119109 518911373 529534653 765253459 883528601 55492319 906365603 656509239 382490157 108215763 921301301 482443959 5832147 338397987 312399389 467132091 17585035 923449645 357723371 269580889 300487865 550600955 400564247 126929869 919176747 208175415 682165255 786182519 33932565 477633341 410897407 705620707 574331925 648968203 809658677 16136647 211585585 200440135 273530301 249926395 119245781 151351361 804893597 23337349 132500439 975939825 713335229 447109519 367561331 904080117 288258795 28713323 562188367 503593107 550428389 563911317 384986489 175499199 829827913 796716721 291210343 449578251 347562659 682180235 511330035 829909179 583246689 780621077 230973285 252040113 271907551 908528233 300460395 115584641 813928539 324459213 825490199 767825503 509568003 933018027 354272745 658151981 721482723 377511575 619003333 672354673 666523897 960482377 540482039 57863513 186681379 536271273 19439671 975096765 538293035 87516349 414559137 962448925 107111875 32477117 859601849 88968863 926371461 139705859 142469999 98433813 46449649 816540433 559491607 579017715 80811375 208177555 693671533 642087769 818970707 468899419 718315927 825621007 981460179 736114535 457842723 415017093 161843475 967771865 836793605 962550737 748897819 241567227 125332637 8053937 344539357 60015681 629185453 517405839 334331187 439838279 677517923 111474297 472011995 773049551 776110421 25265703 175372417 908659653 874458751 951226615 906206903 709101885 882380873 250941681 736763635 527447153 447909501 139329475 396156569 545261251 939611987 701630919 381966321 205288643 295807591 462080761 29149485 156962079 911995325 267895811 604019047 965032373 696151749 159846705 538650525 153956487 24276817 101325695 785309115 374825153 977098401 983375751 401148307 168614839 617713753 984132757 371831259 688815075 72490887 951657877 663772471 505385961 530865055 920337439 875063599 650091923 674684799 456012659 631119669 68957911 323231341 120866167 232970145 656230093 619092245 293413307 298016949 44568763 141943435 488606839 332237211 309260553 454554961 925505419 11261797 584883789 427773511 815796091 535140361 341421633 553445821 218139257 89524587 373128905 399247465 579512665 16698451 899351281 194076773 900985503 322518897 157765097 549760059 693494127 496427107 477907473 860858835 981852313 76500133 667113959 647778693 639884181 249026723 14723867 187528975 548080513 112204973 954380669 746522773 173083683 285252605 835589641 13060515 679266031 900769717 282534883 114433073 37388279 544589277 30163287 727650715 11252989 24869989 886044375 449100199 972276841 887309865 965297661 312661377 58247753 835697129 771374223 399207613 970340179 699191119 874337143 337497179 901750761 606213099 754315719 28994497 183456527 174326327 367893437 304359865 992180087 42775189 652036537 60536185 94515319 354065485 434260809 243773855 745073423 730322575 140340255 139370289 555153125 972812663 442888981 883769499 355393355 35453189 44283697 746996403 691880501 349616163 279770269 542653367 851360067 399308705 275279277 723128907 618826429 394893625 165011929 521731707 231677587 352676493 995698377 219175615 488810841 273189923 170169669 155716339 579459411 363320945 147900481 700259163 651378533 675592909 559597529 156473765 55547935 706897017 43183183 182130153 272648375 114049949 780933903 689608097 682258447 940001357 161753515 604361395 459758509 695553921 209314529 690532973 633460415 324607513 498239379 582875267 919399711 231996385 803407819 924913171 22479945 219268743 948516797 139456675 62437479 209933991 619969733 736422687 979938629 690282177 353245797 741681885 481335647 680572477 702626635 789642393 195007183 716698223 125580869 734521721 726021217 309605263 32849747 67718669 13800577 622308285 636131991 248777541 23141959 288896517 548646747 500658051 786912369 555949397 92311317 336758153 24024683 473162633 458892381 117579141 788773183 171427425 541819895 813583887 97981607 625987205 487034833 480160031 912788481 57613449 346657787 816622879 94128469 217538531 105168305 331891675 773113939 685474297 713460823 60114823 396349265 590809359 471774327 662155713 110624845 36090713 579769543 109023885 875420657 641386993 700492575 232627547 567216779 580907991 834374019 983575551 278858515 949315827 997955873 51571637 352967205 376006935 666996553 895212579 706801421 576112383 614374007 664898647 175806647 262565193 683091791 643570631 154334397 345341311 827875741 351536461 453885531 913857813 630942035 193447473 263336827 240339551 994711435 399270687 839509929 925287843 471992715 210876205 84388639 968044039 294451645 858368729 426420157 290668189 399359155 149579015 351206407 412001121 347239977 238353411 143853615 185860145 970853893 328261765 420432651 143666647 998186829 542578345 996601627 429216005 475734329 845210355 688661381 362950485 246965283 88782675 83530011 661322821 394233997 654044699 736463185 862779457 265571361 315881739 70961479 251981723 123304119 85508167 357907653 831836553 209049925 529328989 745752889 266130223 418450675 812197953 436321981 824253589 476136457 584884817 117482767 905820077 922151163 817737555 483120787 229821775 962285923 321535091 972092765 646366271 856947463 885816135 287064611 442717219 22291153 221863115 357210947 793191053 642676181 497195623 706802627 943926775 722887757 246185189 62406743 175260355 617123483 33949565 422833233 382666809 31483469 743881929 31098035 3784587 117347607 742206419 104741157 924432593 417742287 618431747 171937011 849540623 108219263 961208113 411293209 728574507 493960269 492923035 83742769 333320695 112152717 439083493 390367109 977919789 691958717 480341789 673063429 362009967 78633855 47327927 516426311 317661509 450212509 901721745 555362443 257764639 914915853 247620335 322730423 676102747 644717031 365421441 43293277 885165109 451168879 141838939 531243951 490872537 449339153 575603449 202641043 450415703 424999777 550523201 157726859 868759465 256912921 266342529 422669511 587834289 193238045 232590447 93405473 298739253 448273785 551646757 571737365 940749035 707351645 509023531 996195021 624436841 400370727 763694701 537397271 863745329 373374043 840516931 657234795 521334445 223825825 733584485 264905445 916785197 378782415 222544637 685983057 654747115 828413919 763754389 200385307 506120201 647703287 473619749 276129117 284171149 970400093 795366921 788817107 401183597 671598729 19886853 307223781 782600575 204145427 34528329 438678693 642752389 860952001 271130729 568035783 490854441 798620795 139071329 116254123 748070907 784722775 856241559 626782811 90736243 115223441 104667353 381224835 432990967 712007305 466770267 475370875 158427597 852562125 709212859 156102209 256376613 903126799 367506175 200067201 420938267 614740265 261028243 309589125 319999407 613224737 630347341 217931079 321199049 239630369 788211817 81319781 430410301 339949435 341077391 396817959 349580227 486149035 545467593 188480635 955780859 710694231 168294799 746786299 197889393 82508871 550620859 195545059 870327443 110705263 717952405 713637405 123069 457647337 941549259 333888567 206022703 880457467 15975279 743991399 284335633 207785231 253833217 81568399 289192311 201147833 816726885 605222197 221361753 688366769 206770665 686134407 562247319 597897183 944410177 755389789 882121469 772872267 974542987 975131703 457641017 490158889 640558923 810551869 457133031 994560725 31508081 343701051 42960261 928921041 911161425 21991853 892652929 45117897 742452391 47566253 276916263 254824593 108318107 362589189 596694709 888794401 204106423 248848421 101077065 817671329 887056369 530923555 886253807 580488537 620758697 222281663 120277653 440229823 501606049 881702751 765725205 618217323 936994567 788443411 970020403 244394017 902684017 686622099 147145365 655982797 313430237 15810365 721886927 900065923 614803629 27169561 97107287 43838845 298361267 814698453 868478099 10683935 275498785 110872779 32960455 709628915 598757781 985893111 802611751 645441197 600345107 941951491 672528331 812697899 936524043 386192189 841776311 752853099 323930447 964914845 731019729 794091163 238480671 765166527 854863853 750842895 954197791 748872431 204630721 469213763 64739677 206309401 890941937 14365399 211774543 967109589 817535493 250867863 516130767 429168227 786448751 421057657 782603301 27131563 738997641 738926741 15867645 869328697 752555921 190019375 173260397 316516679 74997683 733735861 140371953 671453109 649021953 945439671 554586993 690917895 297109873 110270961 933070903 822892399 702073575 149258057 292290043 559417283 25121835 425673157 43904983 384091779 117639407 209026973 596121429 390981077 337829835 723417129 877613917 656994185 427926339 2361583 897688903 860063767 212272317 245289625 561543633 221249437 16101259 593574393 674168351 124609251 773892071 662588685 691520703 692020311 82733555 179116021 402048165 321055507 959313591 974363135 223332911 372327379 971203877 919927965 994536995 457703425 642465557 325251689 368059053 542608041 514987593 779907113 931310177 890823047 173422955 587891655 303765313 509753847 95596811 502805333 857579949 432839679 762412709 899542545 320802677 261080913 840880533 695782747 416371919 243297861 899716649 71084481 471419733 538748119 706157201 339421173 643352335 781791151 735321573 324384211 114979691 143039261 805151015 862896989 158406203 166362651 640414273 384642495 897337533 955549507 412631811 194498125 764019865 362758111 384589351 418092417 99875035 777777375 539662927 211845629 347957495 710366681 868033283 151073679 240537545 385784331 352375731 942639657 71372443 251871073 97736891 709054183 285022743 418305893 547295835 676955405 431669585 836383823 884131261 963865859 519521993 265767425 905937905 402160989 303001955 350737665 142832881 50706393 723687789 494659455 947649183 865200729 36547485 3517519 856664513 865685991 920286221 233624053 295408397 375954873 579545413 467506067 776331801 162757671 993407281 319929341 896843879 470524853 576157735 547284137 346075743 227390993 22663651 479577267 586171989 108500233 802012301 103766503 806502273 794029471 493232559 577181105 378829573 620161265 703924033 397183529 454976743 801203019 798719135 786742031 382516509 196052257 422526349 884913353 354434683 261657105 288497979 351572329 660069831 887144409 467324219 212321187 75457705 339502441 865558669 867960279 533770417 681891793 613820565 286279949 827154521 872232269 17199137 379646965 668628993 402288705 337183333 281346021 218609395 601680441 745170943 292488669 766265955 520403173 105607667 464013699 308586085 264050981 122202801 476828199 833554175 765262327 443800333 736236481 443446553 404190091 179853123 84766701 485850497 422030897 793617915 979809015 605826037 451433831 441189183 691920077 978201107 851159245 232565639 980168195 324980327 409357617 58778797 477633245 414607199 684112771 495755001 981968445 748531287 945919971 627120151 68836023 18881165 150705809 607822879 534134655 507959855 377382649 662247049 754952055 347796809 460182189 865996607 689499685 827829465 526193769 897201037 745120951 510118845 443144467 477258535 742698245 562654145 727183027 803622187 549059215 200614035 852115325 411111197 332540795 485401293 9569995 33596909 88317337 351068915 274237475 485049581 488428899 569133675 41558575 638767839 398450931 326682761 343105987 512363747 225877267 142225795 953622233 266425737 710507059 378945917 25144723 214828997 480162665 906394495 478397247 377958901 178509171 252895355 56848719 890813151 989375931 800944203 760397407 317777071 316727119 634869421 256739121 857681915 646351335 684741711 588367281 19351745 596297441 873123261 751313907 387009893 570660421 33216117 549867313 256943027 394522561 98856405 257944271 96900579 880186287 536658471 839819607 506464143 703350283 698533277 69884797 704042689 874208637 454216015 896358685 729682657 88961111 980624959 25278009 512884169 675567501 862027351 15355903 152122035 985914305 467008361 975428543 465872709 286082617 870515243 163388917 915232907 885646307 457218881 608211781 937562621 131147863 66073651 800987513 590433401 11903189 969193075 958123141 520427327 850269507 33834073 112433029 189977857 879332657 652245033 997202365 245499603 564699351 37415177 475381653 485396785 286528021 626520587 244574627 602283267 673279855 862083881 561450915 596305043 271417109 118820421 274223477 785995417 827292129 27124775 719045157 402660655 83744849 57793409 686061289 817993437 141263243 833000427 902142489 410109841 124658271 253833447 878715963 266932125 307010627 847114463 855333111 74279105 983808601 865937955 361519651 665734431 562438759 484441581 533521083 274252873 614894045 78222175 505701343 471538225 13659855 529784449 824543197 564170805 734332159 532042563 94104357 406392857 264966357 590732417 730860887 286947597 78707295 395670781 337810483 49081509 801000019 56059995 335537827 23631837 417662225 35150899 881321919 145828891 758620067 174189305 379748285 150519341 110985909 358612239 800670979 854058313 770625439 478952385 179480349 910372873 617822561 751944765 68794301 631329653 841182625 208992415 517646783 522479097 597010865 353284329 422013477 422575723 804333955 338791423 426750747 891001097 694054589 274452663 136335603 473929333 262173089 277728969 591359275 137407681 324121119 410821591 195173731 149985885 818635473 640026215 462388329 978955563 90076661 613976303 160143151 319902575 726298225 223670981 469014993 961210579 219382485 39829291 13174929 587637617 735023703 987679305 992966875 951847107 383826393 885863987 195825731 255317679 326469345 206191073 550018435 215949953 963750557 321658419 359821181 194733555 653517031 370960117 914323007 594186269 899942203 337438165 164940285 605092485 800148931 578956143 599933455 788635163 196086347 768825411 762847225 27310131 834466125 375004603 304360039 84835723 114829545 199319845 929249837 731550533 587938787 441506495 390219077 897442289 511881901 26142377 229931987 526484613 250632287 283795433 348120353 95371611 404195251 340299635 132175523 568606013 941794327 990749985 368411893 915946579 550156949 855636659 738991323 625889589 128288999 431339217 762734653 351618529 991457387 662139919 638035249 692931259 992135977 182739941 446471409 431570321 728335057 223265203 711334625 968299671 349042617 356658627 519516045 112188777 879772127 842669127 644734885 999085585 385231341 723163225 515298567 522295801 782992945 198213369 630716855 381193463 541190049 506527759 454908125 765519943 456141023 85154671 497912783 338880399 663454001 442539983 335614217 879854557 239999877 857585107 331592491 563049125 869114741 59584261 798638593 541861575 556716093 686285523 289116033 673089413 416770503 866340759 771171525 779042189 957765023 350127509 894544653 714913269 366376447 169529843 935402185 652284219 66492615 702937029 349474953 312150081 4147323 612132097 64465419 53528409 324489549 747551627 994895663 56103733 773681683 541828139 492927235 994879473 889470797 45555603 993476281 83175447 898568225 507071325 872991915 259455375 494500705 552318727 981122399 813980851 240585855 106791165 21184639 586581309 510795425 440129425 111270877 949946195 493517705 919632377 544174711 924746371 519599271 575694169 943048045 288534209 585064981 8087481 736770829 263579499 953465231 216919307 227987913 638428231 687605119 96991273 623821117 145334401 772011507 194219473 998231851 150029231 103157155 644575151 546009215 543645901 493601005 720390995 572489803 5718851 193102551 384905017 745188557 176372187 447010837 837521341 592586855 700890059 368865273 20293165 213328035 414152115 663067525 341937593 124740405 173509781 359288417 338771067 607862521 444789985 994393049 345057393 489162481 661977961 432261095 907656327 534209353 385666669 269738539 694448013 43164757 612848785 479583465 94994237 480962959 702677985 322335251 170359609 953149595 466076885 870157887 658696713 645263939 129580873 450818477 253897247 666045307 708994947 674632003 710087379 270379615 620979503 864367505 808814951 296676145 587030627 483256271 398004229 952025439 711813787 301841115 428093117 116729977 585209277 240212541 102629513 866314555 769267991 338625829 562574923 374215305 423401565 845858665 834825675 478293613 320167599 842998407 83407033 54735643 460865935 837441193 705648049 423629809 199753707 687779741 71622451 891264109 9023769 23588825 328208041 56129855 398855127 363201407 469773155 23750967 68428617 352661845 909878171 489223249 23259131 335201737 514592627 506978993 891762405 852344307 36479987 249289121 633403491 869500565 213456395 2774167 759628601 196826897 902897047 605180459 565323159 126505595 847236183 112482083 862381071 634413191 896774389 652661097 857349281 566199445 759303169 751207695 826276273 243200687 595608821 908347217 444096781 731931775 175816497 268351379 712148201 377748065 135105793 930285665 229300453 60626515 25716883 463416429 89045761 517328123 423959811 355771793 331683505 144167083 395332945 219696595 621167555 502731349 343154023 314968669 252574587 214761119 755262739 15398017 486997881 355381963 352483603 615717565 903618767 860295113 836148231 952576433 822832365 898940211 962973045 908498731 757567157 785544261 585353427 505853725 170059625 761879273 500017269 805703843 15652281 918708909 277870753 893742335 420535479 692887495 673156223 594445469 703482595 682155545 264144157 485774863 510014241 668168233 431539833 794575635 635390397 834400293 83107441 456440713 470578031 43949797 713496529 608728191 863580243 740489449 136928583 479417127 33551087 170013017 825684591 964749789 240475439 979145985 526752969 205440803 337838441 770888539 512130749 986100901 270418265 284541831 57379999 543603767 186109733 365575497 658981285 362520787 986688091 372564499 783869683 890447261 575836913 978557435 703420563 502614239 374668353 325500097 90825331 130467085 156714515 302037195 291203951 6044099 977710485 106089513 857568837 409036995 332082777 534165907 902684833 32713977 765096285 607995751 969851413 986393465 559829513 813066413 732698393 957418621 105980201 809925139 471344653 415047785 375108079 570842355 25311803 863596231 297489149 393827401 285942485 182688077 317671255 26859455 888481269 139017939 738782567 899648163 30951833 770012765 817615367 76087531 565805229 346758681 569615217 412182585 727798275 320135767 561335371 759889107 557952337 171581075 47736483 129127079 696228411 419775601 424273133 125463117 612242761 943100091 564121865 948357637 89709293 106290279 799009079 715907255 480668289 131283341 691225385 590463215 555951427 779752051 11515123 997200359 50513759 196037761 315653651 807640703 956949223 958154573 658555499 971682363 154030801 918501267 47718221 712611917 194935809 279911987 422949481 467751563 356702271 387734331 307842273 750317683 708982589 567524059 123129399 21844529 11585427 339462259 607990619 296073103 927874501 280715137 58051487 296785669 684340025 796742837 682396099 479141557 560315201 437143263 900436715 195705701 180964375 466076157 615737253 924075909 699919837 178893359 26793189 911202345 376236443 675799747 740882697 267868693 199683139 517568811 407304405 572048045 793823149 847231489 201834617 783746815 465099163 863098379 756015241 997179591 241496247 858149683 36565249 414631265 227650451 306251661 538080841 344215251 143543205 63663697 896537131 600436943 616198223 49984743 171408605 227975083 692167645 351603671 879436287 553284455 619799167 884294101 327095187 366497451 276198733 410560699 77640455 775050179 746986313 831227537 303237681 834370985 296502877 35346557 80604751 724550397 920812633 501017043 415684869 586223363 869831671 844525329 138240863 551952045 766282713 240793305 606253269 268695953 917351303 54916853 382253123 959223533 685309553 668061017 711880943 862003371 465299699 897368865 695903107 430281307 847821133 786999183 523477785 759692335 368706217 692962575 923865131 543732235 684835351 612390453 296091039 293765749 786600337 214887099 253302211 477187485 132095737 107253893 865721675 553020503 462451989 794451613 84612183 880340263 506209435 345160247 9608039 620494639 611600161 424681903 363328111 212845379 437849129 67829641 291254207 615354583 357244443 470600557 797063957 33604365 104049483 393222449 998667929 531676075 634949361 754256847 220676053 579740703 381753903 744419947 155876033 586936449 174611211 956230479 27949751 867571857 992923515 173608689 460203393 132924085 439084629 154127593 909768263 591835903 345942617 10409213 10016931 292349987 218260277 334888469 647128973 547421825 110143095 304800071 995107951 136407841 817155737 395377357 431636501 595914931 982386171 992639755 65207731 465376909 813970921 648479629 972743143 588782511 859917201 225686021 622700983 27364287 894629135 834020685 504978319 338450445 58651745 479029355 613976133 186953871 866284661 874664839 531083797 875602663 791108633 104673017 89928615 363702619 723319557 173913143 745146629 870595547 484670687 318977767 959962277 920163067 30991403 989282773 937620583 554073343 532553565 114959859 486277773 522011849 604808655 941658459 567873221 548259053 166266561 508388947 658183973 29015199 642341467 204174405 788775211 413973697 580129457 902672067 71734971 416641239 665133241 429491851 613756193 543705621 578413399 590182013 145017365 901529165 255165525 881740967 895126707 977010433 472166241 657920827 188412545 235268183 817197845 425475989 563969129 87363103 601545717 692103479 152544709 318257361 665447783 176913101 988416847 584188045 530944703 589067049 466910765 36959767 136250419 166413897 17229037 227180001 323745255 716109391 389987973 425107711 661173477 161808517 477763919 658715701 982613019 571768927 736944659 308244199 536604003 699373177 81573117 773444645 82765953 205450645 836903587 62190503 182339611 19463583 879396099 374646987 767945411 810132139 501530239 499518361 564060661 919943665 890939625 221546943 730358031 205434585 640875121 705112469 856639579 231860203 215490745 238959389 934251019 764259805 776434627 392584953 924634935 122773127 272498431 953592701 423866083 933557229 78321727 823435165 557108469 445924155 967803587 321613307 3786047 606299077 82232879 404574685 189231739 612675589 816366481 983794225 625950539 464400031 313849437 680749199 869375287 801474397 761169777 971797047 891064753 564186165 441890323 305669391 19841297 16037439 105998063 775730855 819602843 856008383 406487323 616415543 130408565 460450339 328534803 976055967 147374257 878241019 480624575 103406435 68768841 607607043 231342953 391265203 386094879 894257695 248259271 690244201 316616699 288678745 847893497 835956739 744263055 170004967 343273345 758112679 74019699 710258209 820643149 454019621 14102313 223236237 49126837 265332467 32236827 663603413 781030001 640391475 442430361 64189643 831784363 409244331 456887773 653995371 320620783 581313737 574611721 330724313 602399281 825185703 579049253 400177761 784679631 169770753 211195939 817941365 260444301 337690945 601967323 591912111 729027227 562259571 394983439 441572821 239345293 861552467 697352041 852159953 101165407 781988923 874519673 87499701 881043063 173525047 555015097 984732605 266172067 705718771 679461769 291166287 582347543 214687943 152039733 835984627 803661427 171427251 286069741 975431517 458168761 27735645 421311433 233992807 206239575 199877653 12166347 218625303 508790819 289399507 269227483 827678615 148791385 328832567 800130509 83055161 581906081 427090565 854384729 877125243 917832453 638671789 857675041 274236927 640232957 783772745 19731117 516822927 797142373 15382679 571045229 805700127 350049153 469456253 408803005 50800585 128805889 213027723 513214941 999986899 716596983 566052343 787632373 726062249 597255651 496992163 153636377 613306585 531295401 175474197 386481729 171497507 451543191 342214267 438033487 145992041 223273313 782792879 285559817 728062645 201381413 32038957 286761253 281637435 483918441 243225885 40589879 947594071 620914969 221646161 703878085 315569547 602869643 55799613 460917047 974980483 381515899 612068099 37210077 217820691 638887697 500936039 43663343 613825333 522362327 885761755 286060947 359961357 601141189 917602421 575589325 59686117 786987317 633123573 891755921 541035571 485057263 949796803 731532473 235702159 292401953 841790443 318626053 921966525 86989405 969605415 532132637 595080361 508116131 9851605 496632213 807061607 722024535 507492093 842540517 814531123 412337989 338211151 479662445 64866157 466146213 208592415 391516791 478808737 522502931 562782065 804667191 141170819 763189653 699806697 912071873 353591025 158818967 461410263 893615643 203012073 630066157 641741873 803488043 725367963 474060503 836681625 620686789 531627607 715896059 513327957 762230943 578179993 763178339 448814675 731353693 901687557 268307845 891903021 662862473 180153959 352749119 981739039 694041745 62101425 964294359 146792465 807737039 360747517 544668155 221326741 769548167 171438737 604656829 436407519 832081887 765638101 106028443 277942737 899991787 999175777 786970493 964814575 268062881 133409259 103176877 911075947 504091877 833873497 178288611 148566299 148178047 618522807 902740795 38965119 668727841 792543799 287736121 86037693 329231205 987471155 116176845 944997285 159566793 986928689 87486281 335896495 184112059 213392603 207319405 901929467 221840775 209936133 812537951 309234765 290533481 985394599 1998247 741125141 684789635 554542569 761116993 283229037 409351901 177274387 987558021 626225681 818081385 593492633 858511163 668693611 928141569 532797717 354264207 76080265 557042019 190092621 817861653 508566819 610406715 102743595 510659791 986872983 933447193 734472387 197666333 100718571 69587065 732701519 475861201 792899539 38795961 613164593 677911067 36317601 892242979 153480951 466005149 809042519 424334311 752803155 825345369 288949661 798562339 510251041 206489789 817307839 712203475 550133347 420659617 262773175 569993955 332737607 833741885 594557989 344492835 550667291 1919291 629835853 121523021 839298399 102273191 47027745 963863299 637757365 252922101 189663799 761168077 377319399 890299907 372134607 480825117 449908971 190319639 648411343 323977035 217041625 152967387 873118407 295997081 689576437 375903849 318361583 707244337 808897963 550550075 757531429 898826019 481805711 375485497 41582065 394810729 984103003 617132973 224539011 375782117 858694899 752255053 502981041 358587743 803111265 357607225 698721785 704297095 800409051 928943603 415199877 465663225 381943737 233114985 603592483 552242487 659911809 700906737 832017481 535108773 8657627 297670471 52275737 21685401 670808989 748274067 695610713 437067595 282224833 266573921 336069751 681381085 89544811 681552035 925375115 821447767 250456551 812040379 798333527 254086313 410136229 80103277 456148797 74894767 979753285 874459875 78621777 189561129 846496901 718889399 43561799 950537665 42448469 56639971 816543615 877432839 920676549 195515853 350496515 590037877 332012819 466444099 86464893 343587179 705243807 325035129 662600521 179001397 648473079 446965517 704631909 884237825 99169739 664290053 406412663 826092011 183438331 452083661 252933329 320969459 727080071 872790843 645087077 819190019 401128601 930783885 84394967 16707051 957837705 776601957 38587245 7714915 968992717 944154323 103409943 874626833 859156493 304399437 972480619 939024761 912497681 705391279 71179431 522875665 578533323 215514429 332817333 960177709 308489819 262032549 229366563 999081235 113579265 643631103 637248807 101875435 466300969 124785603 561285027 957299909 342326885 278849755 177964317 359026841 813358451 686481299 183251395 611968589 381685045 45553311 565676141 248016549 480011957 770876957 734068123 573174869 530933543 668521619 231166069 870039287 992255719 544167405 132285895 255116811 471301239 403484287 386864907 76512249 107997571 783014411 778134369 238362901 162289117 49521841 136645261 208709781 81149059 760841217 926681601 31211423 639714967 528543727 135995859 885353527 107777635 580859867 605048259 343875665 879517787 279682439 351826999 772469447 59613211 305830945 474524479 202064471 233022823 4229439 914360723 186171567 414031143 580117983 410205073 963006811 913141873 777868645 296342593 869736665 603295615 196815517 646796369 321069959 971819701 665692863 400188699 213494959 206804893 287437415 793078683 80008067 378094059 587398809 246922619 853436957 63279227 581806533 798475273 446365819 465010769 890845887 939318075 171544457 958067093 368317891 239251123 881746969 591870109 476003191 185512631 431364577 428577507 914991081 965615925 538369157 370849803 568268173 495699653 183301263 881734369 557242945 868357031 82756717 259828309 909104203 743978691 619452793 118469255 541521239 191890597 800325365 971107765 438879611 461381255 8476941 300904271 727950901 410017097 33631693 107995877 804451175 983305839 494071857 558246195 777192033 179522347 750988571 257787677 518453465 484754259 43766355 622531247 276249067 665070181 931217803 507777051 614093083 465556619 414629723 83118779 926748503 521920405 991156807 253100565 259658231 153494005 660497845 795141843 654815669 386363343 373194999 665309127 979835831 912937961 757413959 413414125 107379849 877756083 942459847 73958507 283333411 869606209 136453759 475534727 708050913 334541911 222324577 302627257 761226633 140665177 519876677 642939291 589077575 188020565 957301997 799813103 737827505 82623495 414368771 799024289 490653379 965518025 679170585 23981507 310423267 485318055 914628773 507301011 241441505 226512973 37419275 674945649 347186925 5356307 35495313 576371179 887132839 187147257 421702765 834074547 607983639 155406247 972457141 511840677 658256037 349078633 646080875 699786691 222974505 73758521 336138361 989702457 101012961 143824055 451691951 192946523 996240751 461265959 499927495 352814241 148392933 309042811 733902691 542862259 367064245 227110217 783993355 129083993 669585085 176613839 512330543 909118599 592841537 405232119 73123627 207225177 580102897 503365455 18324033 30676497 621391073 571338767 945342357 478549789 306175373 82789397 210870845 431691019 353085403 978535913 573991985 496658843 778322457 149424059 431156563 542130351 92656379 702988895 12043883 678724433 746431135 661483095 859218985 732427959 421324171 253531339 165624873 638499641 392417707 556880009 557699563 209834843 616935765 281650951 889203673 633017545 56006215 724436839 584142403 382826839 702133411 390517103 610429537 673064447 515775483 570294413 818798937 419188197 603726399 230786777 852564273 52204885 810948817 739668499 435068889 493547199 788947827 386898593 575881261 954672065 175971669 364137109 885481197 36907039 679775241 824262819 628882881 462198465 674985615 975500075 277005885 771383487 154644555 124784437 901984985 591748687 977814539 989441905 936297973 408526295 29908739 831547189 81291997 360642273 325851089 568838017 765404351 680844067 428105083 530586619 969376183 931906421 608814701 664844787 609412549 751840989 340585851 386469727 623159761 629714309 555580135 453553633 455956143 420775359 812220753 81607615 426794517 720742663 104653001 247409385 303865769 813735171 517893061 133142515 522243567 859758201 149761567 193265439 714925403 545199713 979866655 914798933 241242439 560796885 156944243 346294051 318414579 258590231 468655149 663051711 855015559 647359889 330970061 633819659 303133719 511902939 120356917 452450699 994275481 352752299 310540983 991007601 108466419 113097705 229621509 8151445 955391721 631647901 581905981 791910259 162394159 974651643 952261603 951865139 733835615 695132253 359252199 718686373 571267831 412081737 244471965 830407233 944786531 20545385 801630145 701977127 677654261 587069585 48498553 739429147 951711971 708558265 613562963 135156109 217218131 220062473 31961923 55967895 764371017 124605897 821656233 106366711 176851897 840592237 749972807 40296467 816171131 556942481 688581451 797724411 811754067 253082103 559570251 78370151 816564199 70151563 626576195 321029301 299357129 958825825 265848731 501506795 190326645 14540467 245678109 723626429 222696009 269148901 533181697 427459965 265383567 847832705 701685219 258677295 781996153 819072059 755246791 962675829 282604831 517817839 106032925 832111267 976511877 906188191 388021431 941956525 601353617 227715193 169492693 317181493 942829845 546067403 918272795 856320895 531291851 475297813 433942679 170962557 855236437 67452921 23905469 623753415 721555515 598836547 868225643 508894105 563551471 688796643 235846887 679437531 211555275 532540151 141055197 403259421 592172813 931297731 856665953 323700119 214869985 767793327 131852533 714294055 138788695 262678609 576034425 555104087 1161577 551242851 938247741 845713489 149982201 809136841 142687479 395318513 793585103 68649103 973379265 544447925 292941213 412752101 685398053 609265603 532003067 179836971 559343371 922663915 441343851 3454175 347245515 67645859 529169751 285143217 867236899 769222669 937836815 831654769 151405623 924700911 630960591 251795995 846366611 548575159 9817267 325977557 676263983 110487167 764094409 979736293 825249639 475705603 274336001 143628227 333325057 308394413 926514995 348184585 278122537 154614409 278916897 207077751 315350131 577645139 520180853 382784765 103945951 708910437 613970111 895347627 253455571 32868043 608986745 990864319 158119705 568065841 899081731 744616857 48269031 108906991 898786473 19939015 762245851 676109829 698965403 938793211 294164987 473496345 445945073 444380945 37059251 331854459 731260077 260555785 813778905 684810275 500823993 442641427 141826987 932659633 347882213 459573633 639242957 190099305 657784299 651964877 191444811 669036859 818697323 145937049 314419101 888063937 58886897 131014323 220193181 728647481 832498155 745515789 507771797 453163657 50594997 210128835 582905133 137448001 309000847 344056087 70127743 586384279 267304867 743869045 633011973 831451501 98289153 92462961 915405477 904930633 52266145 175230659 607640749 536437849 570503273 702017363 695530705 384433783 554594077 683935529 279593519 725143839 307863667 541955705 176951885 726251641 107423489 491304607 550403607 440499287 319155015 883038495 372013795 257940781 573594803 360026273 89395053 549139229 467228819 610814459 932112603 945573611 514319137 148316455 726172093 365812489 701368445 624719943 732373251 462503565 786759601 875887275 981451535 72025655 503664561 836117953 479597731 366046061 679922257 992163879 727386605 920406337 727279447 826184863 42678149 897835367 256634731 631116567 813113187 892145983 260736283 525978527 482529777 984571089 288165861 235511155 640291067 645713869 27849511 784126967 395683509 456245383 729436973 115560885 282475197 280133891 28030501 887296355 437477143 258284005 5124393 848790745 624144691 270773117 6336317 99298333 457877733 567476417 589073479 559427671 742673769 171110995 84783131 543430365 948055653 192238457 618879345 361590827 212155111 718074145 269653737 857196769 773713509 526470373 652015117 550929611 64503225 312219649 745092175 631930847 334905899 55839837 434905097 569197877 50947687 691995531 353446265 622023699 351100291 794557375 499100619 749765859 966457341 89499355 575453201 987564599 257221305 220856675 455956033 855620555 37818371 410876809 594498111 234524037 111717011 62484515 742472405 964025453 658551941 730369969 628849329 966541237 779456605 76171609 791247725 158433725 724804107 728522731 217290893 133535493 117892065 976218847 409452663 277738297 147616671 675626323 34933117 898115627 570978665 135876369 193040091 357296857 113624269 610576771 632398765 650476643 168997823 40680645 399243779 559036695 73275805 934162579 801695175 395186535 81467437 184591703 199090649 659780335 587546779 50653471 162040053 847394673 695944317 877726883 647390919 660113369 435594447 141141055 631561953 830991673 861660409 342871295 529390009 322613199 780108741 2339215 690917811 129119741 588008555 236049225 53657623 657014605 327981957 628666153 676607511 789628787 593148957 243371225 960112587 37613899 645801115 449691045 859046709 459231191 635324887 380310407 656383807 361239363 363465231 174914591 954481337 619944931 857703399 566944177 290943327 277003057 307052397 921744943 167467725 976216271 502683413 789878319 382237073 42892173 203860669 992067057 306322459 679179353 468919465 586183259 927312323 140718417 885030537 520323581 998088651 329157815 710091889 258237455 171988573 364502521 628672989 559276911 337202057 797466277 215555763 861020581 321909321 112784765 80517697 258060769 735319423 671811421 366691389 330886137 619655411 972614743 17191361 914711403 684306519 178681497 563433045 764568161 7005251 462516609 779892453 78782121 599637817 311708819 119305417 614228665 297966241 607330423 830704825 383451827 570147793 409795075 258304991 375259485 155203325 831935795 986943685 552978725 66555975 403965991 42362467 573934371 381172923 567473195 737223957 694288919 875784519 240080053 264217503 932885865 983519687 38106205 271548465 961825317 656741883 397408233 916646751 720685575 100028557 896438081 69834021 132236905 802105869 486015613 884250089 703109973 815435765 173149907 947871097 206385275 158785957 613652905 847973897 51296305 324167529 72519051 341519671 98018423 937885039 320081707 617773321 297420275 14280915 90899043 394624747 995668213 785943701 581872441 753162931 742539893 480108191 948716247 397357981 947640081 137053889 131464847 481498961 612445201 707492277 855942367 145256153 543199845 765523483 184702567 686727597 390795683 272183165 152368885 84462759 755332873 490859855 10776699 412608783 37926529 820271079 1959955 565171603 926634393 641091973 978934019 216507717 68113031 773118295 727706037 904859813 567816493 112607339 418944701 627432599 583538705 550302905 355675605 720114537 769634145 15475239 829918431 496302031 427901429 154858361 916410601 430485479 301405261 447197027 438826277 165520949 597954449 22332287 165753839 999403177 447324301 261761869 328767945 922261399 533296315 199994165 145837151 540209851 310307131 667747723 461041541 844521533 126233041 784828807 578818101 40898983 111445999 411766857 642886033 864097519 702012331 384146395 747302889 384957301 329642181 73358895 773454763 653860091 37549475 753742367 699162229 851026607 300224085 730199657 601533961 786007079 722284435 5298363 758515539 190802017 537645499 481452193 202809703 407356607 390218709 99891353 208590975 386192915 877765263 140580609 421711103 779286927 999705411 421567779 544327281 236377553 573486317 850562609 609686667 843683805 661338935 684981317 368645669 797800483 421365615 456478557 143639107 232142197 101377419 18716263 869514515 178980883 354047789 909408303 772488933 580833441 42011291 648239219 759278901 64232237 781342147 371993297 181664679 738579501 932361021 706975699 633228037 326568827 323202377 474140651 123512901 471110495 384170703 855340145 306172799 80335237 184640603 667624617 514588921 606660099 119643943 463048889 922563611 504058965 578726419 294292147 73230459 406094947 24973475 612428689 11367637 442399607 290696201 967516213 808533513 896286537 47370267 844981863 749241891 63117043 563377751 195802073 854030169 539319807 876831463 769102629 271132933 740963669 77268377 612319433 671526567 166928461 842279653 596161585 356342511 68383653 113855209 511731373 188041389 88458881 457380461 191932537 77905375 779310447 322153441 160872369 582428325 960977251 146325081 691615587 976176717 530783931 60096153 92353151 501881417 219593277 960924163 786962653 422617395 848435733 652423595 918358593 744593873 662289623 371844935 729859409 48522253 239041669 837429811 790064799 37788153 924065663 858859643 166895013 307832531 431163797 841505227 105868229 871185405 486249725 826492027 143621959 220847105 593438033 970881163 567626843 578840467 821644953 578616995 612070429 801252493 158904899 473176847 542169999 505006325 456393761 263477449 840822421 49016821 113977201 590406257 936618247 336024289 777296859 743831883 649019289 381581875 907999339 383976009 888557805 872320653 575467157 718549249 314611855 610420159 484378933 150902961 341918191 347845047 272546197 783480643 1136997 923736979 891393631 528527429 629728563 137401493 196402855 831650799 388523649 464215849 344018669 842377759 347609189 918268899 327997461 973593437 51487953 917047421 487988333 129212375 1924525 27145945 364448427 869279335 593720255 218135559 768450281 862337929 94619063 331876149 835771823 371587175 571054897 133007553 547560681 586171343 939404717 498806061 205571309 38717239 367243157 500885543 469524855 334037953 224146745 307857279 118628015 540789553 681956819 503694385 12481055 339023099 309843587 683157345 986526655 18470193 860032853 371160409 293340395 270720405 211406903 933416591 131857767 123631757 488914437 163537563 136395875 305147947 654677375 971437377 472137073 412689187 84822093 680013679 492014481 677467605 823495683 194075189 710221351 284247369 32162585 799046607 701255169 813194799 372908015 690145953 923572307 250968029 195331025 63885367 293287867 383260497 738416109 784549443 357003581 963588661 949899359 101638047 646299465 675086297 504483623 580965201 422728883 582068783 714233133 269687681 848948663 815716059 552446789 166715525 211902717 449278499 830071079 491381209 728530063 16582645 920985203 478676765 470608099 883713771 975001523 527876383 355445209 607573313 730524507 815645905 564939699 912509921 896541887 989920333 497847839 273456985 545805605 990018521 319197493 975483615 599891635 290718943 517168237 395017045 470752637 966141681 905038769 515216447 221031035 466744013 718528077 674744015 389038221 737539923 818359285 29192413 541617533 125764241 567886279 9683939 802371837 455720633 292582727 697297935 227258279 586639655 497353573 75719979 554267641 125928797 425250675 718379953 742948705 968834567 248885809 102627777 114250539 127465975 543799493 44042271 97432981 494133547 728541625 673845563 828986557 674224067 819480067 331839023 658599341 628622605 705003009 119790521 359154519 90096765 503252601 803032895 25085331 974057641 517702039 236233681 698269221 955203675 281542129 799963431 95551923 549269369 363586437 119497887 627396817 399319063 558078645 930037823 302725877 579298163 396806483 72387515 628409219 159672559 16876945 579689829 787905731 771207445 63976203 173431617 638162663 983250585 514826699 83870705 906033927 313886039 412747577 503400393 498428455 209798995 681274159 589952957 375750701 162035637 262417639 939589231 197412587 630275027 135022599 516884259 340128029 530653735 955695003 551881419 309700961 590741845 602742043 673997053 819967297 370554151 482353509 556272889 76029485 133604243 230392761 274524839 697942147 886802865 60013769 593522579 11196543 251970757 717215657 537329143 83359053 241512765 162850517 649588145 934646269 755579817 733487413 486338891 325359243 284729285 948435731 791325423 447958227 184700789 176629031 358371705 647851427 699222467 923235723 674372967 974579627 208420837 344800967 418282463 279347331 579423283 272964297 174794673 629520301 351317811 155319779 386363987 823455123 805682317 772738005 972396263 959918727 774841881 881144513 909056307 246122431 930351821 143777849 546093221 823848541 649769423 93463599 678916951 267209837 315570539 942084097 400208133 975645151 447686161 929030003 3684889 518661515 850625889 863904181 492443807 944994867 408928539 83726939 24225107 113136001 526255145 883383393 732737167 743152901 117812643 982398765 779552095 705727801 583975359 581435789 480676463 689184383 311799525 363211959 964655383 142222877 665070747 924218693 162858583 186068297 618317465 965464127 749269461 571310617 402292665 356180497 682333921 759408783 305838845 436125585 638878579 803546005 563464337 4434685 622249257 570658299 242137799 366778615 97150029 92196219 965523741 766038929 660651721 308769717 654033203 976915771 105667897 933758261 862382039 590789591 253327835 945978473 930982907 270909353 720049043 250063533 722632123 828050523 913738485 28237121 573839193 619666951 215641911 299709519 220101697 176873511 966703927 493896167 550795783 692813985 703444605 600281347 543079781 595084481 194390583 537510531 933414717 58532417 724553277 927692851 281502623 233262649 405247505 700735937 180204729 633855535 814005717 352297417 248325097 783663379 876788573 379006155 737907377 487555129 254008093 48836655 95997885 789016671 797497143 136301385 668387297 487832231 812477551 952230993 797191447 301602721 592471863 442714471 451876227 829106243 655524517 958890901 288753263 674645223 558463865 459446735 953752399 194872407 817080089 811293673 117843135 428969147 102102167 197266345 615226755 559909035 907472807 232598967 310905219 148145701 432973225 893332129 868055253 903774605 836149925 500262373 497228467 11208369 463618633 740496097 460085377 649267651 923948783 524089313 923308235 560324197 852820629 738321683 102358081 486230171 730884065 970163601 593029315 870538193 810095907 815344735 945942095 924049885 697345873 354851171 458907669 145878011 187165453 408792177 488479589 726071761 447093661 985600065 55179451 704966765 862060015 526530419 20790971 673642307 426401179 463629201 277352753 529286963 721357795 347916301 219357197 292888959 156415145 196549441 672598639 481848533 560226689 474801003 915461525 374910027 701667487 23397817 330860015 911136863 41498085 814931767 271306253 38194675 981967831 192609251 12891053 208486233 912052903 475349403 781790383 793934145 871040811 343701289 460149793 397392845 829867491 897185599 309586741 998518145 353296373 145386869 483592773 552221767 669149745 109014351 732760023 18846841 543517711 968868659 290913685 376993745 844045485 906271091 277698385 380273269 414839251 465587019 83441161 13191667 798518001 559045081 269541597 211994175 146127901 99800871 215306267 486487735 35412757 951625511 309077045 329881377 831711299 693293233 146164935 5049001 512272309 445457543 564872083 539693797 336798755 404369491 628054405 400056017 661546985 193806759 315256241 16519637 293173779 475600121 401269327 844188347 37848397 37458093 991742919 362702521 350778097 807950347 588366241 138175087 973057531 644894277 185103761 372356319 212461075 641521523 973114995 103966329 939786379 504747927 522248009 994493967 673306455 346856347 390895167 289032673 888287769 357233233 586095529 712132755 897111317 16561519 792508161 64557617 541735485 676437143 591127019 909153075 534381095 988616789 960167729 302365557 924007187 798677273 254034887 142250301 69296615 339699259 656136137 261458999 17526579 396522749 504642939 800265847 842123311 665249673 801591365 354388351 696642489 397678063 681726397 878979375 186620249 109830955 243259549 710525655 976581183 768153625 539213257 584195115 816845887 786761863 956682571 653033035 285734109 734378533 543479641 654772409 639232573 31169419 434336587 627545187 736463919 926944059 128346277 997929119 63723817 542513823 128910357 117221931 39276877 701833479 731575403 355511339 982748001 342911661 462499747 916847403 806235603 80000945 467845601 643885091 936987067 347174687 581789297 395797359 984863705 422224359 608804547 544550867 544024469 723763167 11126135 434975103 682148347 14634703 39375691 1961733 831109831 383065945 963215919 248784997 377202003 873229843 290297907 300274691 603238825 952962677 638678675 682615213 434150777 563372513 884033205 62741399 615016729 305171101 626669343 901312353 651713673 932865759 764502153 45001483 689740399 546303933 301509325 650292233 980423963 249094199 221533163 390995497 593145221 775299131 459552019 337394351 660887627 928034711 482400151 523484987 123350197 116406533 654937071 575040735 224142771 134742309 931754689 25472779 268749529 459287427 515144153 46430881 831335275 117402509 23336745 978859235 650475341 40608671 351097293 998457985 482378255 364761593 800117511 799065741 964911079 299575235 1604419 901140359 242085559 705097745 663255315 709261395 752922883 560885979 603459125 796875069 681709311 322065409 966980747 879986429 866613117 743460429 198451999 106140591 137851647 89111667 596185893 554664921 36115117 825277959 463340279 953450343 688081747 861808783 909788957 947566255 882595947 769145969 766246205 391908205 952584469 261819905 140722475 297972679 246053141 225773175 689152997 529214283 306973149 236890867 49230989 811998191 605576579 621323135 574569325 923546893 486587333 662112269 479247609 241579629 536513295 770205559 245069005 662585149 459094379 587769981 118342315 142383887 263967635 598841543 75075457 849585889 884365797 553558505 787960925 48008731 947663209 74196569 369202047 719634313 925742797 182485627 496395593 878493789 342045035 474475415 911432007 444195641 876617791 853294817 536903977 83503393 20782323 90634861 497505741 608389759 586366677 370385473 563931703 230538285 270830043 167734083 672412303 597210725 352641447 952126021 95548715 297178573 815970943 202779395 452564869 763646579 360461393 152617243 294951745 30026955 229736885 649979159 755887915 703174323 276098283 392401257 468867635 193063025 688149721 127553385 470026359 332854193 10453009 288581723 528586811 135593097 912255431 116410981 124151017 821987447 73137371 153266073 771359251 647111517 994842839 136034547 79858293 834565773 694102757 261933905 657797875 703989175 241843937 629595773 258389401 372372477 871231049 683108903 250658457 788220129 709869379 357396205 252502349 547646803 627408799 684367179 108132667 282487973 586326485 117578413 466658571 143905175 53715971 93167203 855944597 692847437 309593841 292828841 424842447 834325589 307771151 585171869 892737247 609799075 999940977 83306569 960203537 195924885 102224603 162480029 641595607 544666351 709690031 588531063 597021901 759836641 262857217 814638995 441917877 785261823 841262215 106170013 175360377 683910725 885251485 789661477 10875441 547569691 219279695 581502117 201860885 361482827 317553993 565559935 699989895 669860107 642946531 751114491 479080981 567598075 495282973 873068617 756941681 662557469 665201567 642236807 801637751 241403871 507125173 133326257 94411305 251824151 920172633 960459443 253830323 403567363 202098731 588350557 603998311 320910919 489353327 589708137 480030147 886204143 591033367 394872439 941260137 476024947 207690423 416111379 506461475 286807983 755804563 392103597 914544869 267997673 9251471 979454877 442597323 505219019 157502267 663024165 7419671 549562479 40703951 730043759 623605045 595343951 671356969 660016267 438854329 605409361 617287377 175633779 418750813 904164547 333881845 992454663 446729989 798512217 159224431 456667411 822755003 524983603 989348539 303292229 237109171 292104657 159502339 490221625 125535817 185062439 364026133 907123055 537008897 391967877 139863399 986456401 680578947 588037289 104763419 410665519 518474661 675529403 603759349 217648451 651630689 772884037 205790055 115028397 694635739 815187263 878956425 908989305 435252575 312224515 28929815 995223189 878775901 631134555 400815225 943563229 512054643 540842351 461605823 260606481 118285925 894247129 663145891 884219099 116859419 650139281 846859391 419132361 795887531 552002049 518979421 209423193 783999825 347994101 268926189 724694505 278723949 677718433 755656837 938856645 691936139 243342243 2786083 785482011 376109409 415411457 86082161 363849991 486117831 958674983 7353277 873091209 562642371 848411627 901418751 89339017 326531455 485264009 779317205 862185947 156946765 291223721 953301127 636903991 594839209 654768213 953233155 760975677 927365431 862600195 675718115 736361335 21374403 26895251 870780771 126994265 578204991 659083591 267325037 851592759 723250631 726350029 660908431 329872727 872279451 591313467 68371455 49468639 787321387 64099599 876037791 737443043 892440841 710946605 682965235 861753947 974487277 518363105 422753325 846581799 359988415 768322787 931279395 524238865 34482309 967059279 355808341 272986571 455054455 679683243 635318507 690437103 578537967 603938785 533307313 374259963 466036335 898020427 385228577 814836317 727571107 30344355 759135577 778107233 890029407 128906767 192125731 971656773 147656859 975026973 184199913 269447975 677094015 712682179 801751495 394480913 506663507 405095771 647128699 992811253 136995211 639429037 213953643 967889581 960447171 468479461 405069991 848943095 175909565 898941081 912940263 467187071 315982181 82542023 924423815 861775831 265133263 947809233 18019219 692997749 392108597 949655177 80605625 110615741 767460089 463672351 232983373 748707575 887509931 581161525 103701585 847930197 365462777 501380813 476717421 71289073 504136897 863497047 336278255 867557577 752166661 736091045 95162317 620138697 989939953 821096695 925610665 998368961 343762905 764857585 261827783 289368941 798262839 859805345 871542553 444416875 327255215 704987515 775512885 670487621 593593613 575333469 176554075 236464493 819875649 582792333 292340851 29247803 534770793 927224503 237489417 117915633 658020809 468167665 227695703 578762425 154739145 278963895 912208443 330109091 475403007 405968369 346039101 417010603 579932965 732557289 316261773 847181229 186789407 706732373 96801793 898405751 530216697 80814677 331148055 229874105 351129315 171728747 771031033 158253067 596664893 428390533 674746229 491837425 168578949 945849337 364217603 810700239 822557291 458016133 381688769 485213693 543398079 817154893 334276983 149845935 43932541 556356319 364048787 567294471 460408267 972918831 220210735 698826513 749966831 271769243 741676807 47773885 516701793 309377511 600871045 213075939 659735225 535659843 921971381 478760773 872055485 659630657 447070801 253714061 590965591 572298211 328414649 521522507 807075737 676625801 736863219 957552121 811317697 761511427 336779181 952565497 143491119 859723909 173688895 647041939 917227633 529213871 422540457 293515511 562863161 487118977 504187537 863779649 370247265 905873263 590008135 585577073 660266479 884481865 108440771 48899953 260814093 161389645 394697891 369681169 65331727 126500643 643866415 400095499 456494701 499736021 89147991 223156479 241256911 602925787 410743473 811572089 987822333 518848017 552628347 380801767 14008043 48010683 731844255 835852453 604064181 718597513 864021931 621787123 29773213 875371917 684540631 237214459 688213007 646083911 781735169 294400461 966058141 936566427 289304497 555919203 547355141 324716247 92696597 526274205 966860073 809632175 470292485 633841479 711800851 946184257 626995459 757218063 960376567 375263763 431006001 177220753 157587761 698087953 923433059 887015501 341736515 733530001 447054605 752123819 229461211 890092879 749240657 691353087 881405383 2784371 573170675 345576833 5098247 151964551 215215461 620496465 140443837 851479939 54733501 424016251 481789491 562963137 510897339 462514157 539820255 623339529 270212293 819610499 663757657 587142537 472779245 185918971 734083173 723710931 324749285 788292611 42256881 436038887 86190611 554458153 915598861 854834473 116154489 980121061 925332981 19841125 254000327 609888923 384223501 248796883 743136087 570292885 488090079 454978575 461573671 571168769 595537185 585851423 786940381 484583931 100110507 619181167 448196809 608648065 300019841 696014547 18312673 541173889 874414033 78322315 741236167 215538375 31485419 82319677 452942785 416404753 678465355 190112755 96081597 178214909 36159127 973423139 416111187 594543893 237417365 727918251 732166597 840162251 36095549 815638737 640890101 52981369 75680679 491656003 67689847 183891805 841418521 907845395 718065535 657925541 12247293 908081343 282284781 661861469 88476133 762744623 235796555 272774531 676573581 795382445 331933637 114831605 42539995 461971441 271502387 31106941 285882325 92549911 323256853 684236237 86116019 795167395 802765969 814745981 120913615 826080389 940764279 158895633 497447083 613550863 470972223 57453551 978910193 326251009 829411847 632523113 7369337 728051583 476940951 237057467 98993977 933623063 924298335 15317507 980111193 820119741 238092149 352537675 898434849 244163025 88113047 880905861 412199173 446468115 548127023 236380553 501236383 15796919 97608779 732959259 347324341 395862347 730533281 308138465 974185777 7182547 561756563 400280685 180082215 82090159 215547175 149186105 896304849 884453297 92141835 810381223 531680145 574661897 781297817 329879551 462159861 435704665 582756557 584883315 17769393 178020259 665482575 259861275 49591195 383507541 506668913 898150393 26900157 126434887 29307687 521955831 782820157 855350193 150877203 974615527 254534513 166428989 936091769 822263167 485786321 763479799 41855563 26297443 616697093 968178515 516947999 756571931 276500181 786693167 601477173 906560535 296699703 618861009 250959219 781771443 649506371 957626339 576270953 211966513 855955005 216835199 480603727 539395765 473748113 854491423 339062275 324645463 112339155 360474027 617052429 44733451 647837629 187802477 377882781 652465843 467959347 270896155 226973831 909023259 75006529 728937171 467976783 145465843 838664727 23082269 245121561 521061587 655439123 982635489 181677493 828193597 972412089 650496631 523303833 963401371 988739505 618148251 591718887 533985341 435540177 335603317 289085285 988370525 507985427 900230545 265960577 302431003 289748893 506511841 84208211 871616899 596527285 493193159 148769179 306369157 862704851 614075399 616616385 869971961 908541583 665311947 145622993 779936673 807324847 350311597 300038533 307786277 171237147 106252711 115875389 730198553 945512937 663365663 924939773 623526645 335659605 737286627 983564407 651174939 517418431 101815079 895260673 335934417 436570805 995075977 956514459 984163405 121995241 871536399 312958699 629237925 287783733 691995941 866467137 109007323 383007903 444682657 474313877 786264535 674690385 25925057 951873925 722025581 85419165 773141799 327248217 797507157 675944703 11176163 131351809 787169327 683749661 335001707 789608977 817307527 238555839 682692763 472386509 500917707 118376921 772043959 311621145 605015 161660293 497587565 257884803 731976299 606030089 913512917 588484423 994450479 782285007 560996967 612821057 649550263 732437355 668796941 314914295 757387003 338500757 677861651 426740893 628579803 78328885 613507117 698695429 323261217 975440211 241446265 639271857 880249729 788092707 976648573 679273927 941207695 572662785 472165925 97734169 447818705 406564463 781954501 278008347 688612783 395729945 8143903 717125869 517761655 671109843 616094547 766670937 369977703 407572375 749158129 12995531 66210205 316544391 2773229 126358875 378146083 701667057 862897319 934534343 783421421 493034569 245294561 496344697 656528079 27636519 499345865 58124929 612046991 488761167 649794549 503778193 94110931 612740525 459093859 275124751 310125359 182056277 608064375 163307259 743172633 602698369 242661629 642668299 948553205 65239445 595347245 238066579 385182733 352425499 758535843 263143825 103772047 528735687 630434403 914133167 607086741 412892535 55330525 443263547 796668195 552325161 113274597 215605291 199655967 317810187 876951223 633156129 482981467 357427057 816194809 62380129 918356883 898856407 111476665 469053663 65066341 144404701 426851179 960958509 68959323 926750543 988451821 870118541 795247335 247285283 561838469 108609765 716978273 805652849 222723551 950161351 75339789 763603837 416218897 950314087 81697297 959763893 329176215 891852709 34814079 470583721 702087769 491585291 830402643 224935445 693701025 456814531 932039787 411612127 37887527 915185577 327107217 769151757 96848647 843789371 163446391 650560983 642194373 999767455 581519541 44487061 553360207 684877733 321463245 314927565 869728509 788687557 279136553 361562921 770447753 777913629 294110235 989053563 190253081 761231733 48280793 27528129 355604793 654916155 565877127 303898907 318593505 269932681 344073517 329710039 699354733 759769371 366313147 248034151 309800867 4462939 600470031 286460517 932376495 395671127 822064869 755879319 353566503 715565509 290671081 578311399 107824135 502588167 727419819 726064231 50010805 449672739 19479461 976315733 697981185 347817671 237949753 692075281 141074715 987180875 481960623 236598313 387896995 60701103 144487481 887110991 56283041 606025371 979584751 506155615 97252221 529293403 288453587 204947291 267659791 722282473 195654351 225580399 235777685 835292643 227658163 233437679 557916849 384486291 576519481 607426389 750096245 666168803 528050179 914014275 133431379 399332463 995396503 634949767 159231529 113304181 461814635 991764499 547553339 274916315 507108821 458985475 84902201 571707441 150414615 489762203 331732533 168891311 873041499 800819523 627137969 409548851 652805809 111905681 458436749 658032197 211499027 313243197 916604697 860631059 969905249 257170735 922327561 919390839 150445159 183176049 49569659 567921645 276634837 352824371 631531509 221220255 474877249 474563539 361742179 534647899 314695473 46325971 598298139 556988823 932899085 958341345 860419547 467875957 640880933 425092043 108739269 730374841 816705203 420816019 841000043 140645333 264297687 731548759 918180541 220570593 190761373 397860707 722776861 872947353 390513395 116211755 770642253 925440101 663917493 509508173 447636605 479220565 549577891 482252167 300494399 641542177 95018855 611699913 401797523 598882601 673183633 218936099 117908445 972397425 84800921 73215697 852974059 959416235 894453221 735102519 95212273 917238573 887654841 390642401 775386509 697637109 641646153 234579071 97736901 67844269 337851823 757930481 177632005 880720803 143947755 864971829 536350497 873214927 329535461 630791035 470198107 350491343 637096561 606949907 181087827 29047019 499833671 319996283 810778649 242544145 539232263 713111891 309333795 602931419 392653117 556896361 824355147 425447813 83201879 313952173 39623385 551555321 635552687 767503679 65582459 301088709 82759049 895109471 315804995 600571679 256628493 11395449 679456177 766960617 458175561 969067295 721705127 254882215 502088251 756302607 330439543 302108043 659278273 296026153 106548179 381553515 901157541 788073083 782837465 675377351 994733209 386831927 814066701 791986119 525381175 447965879 466466911 834180663 795594751 824674689 815593763 653109393 496248153 992620351 265269525 953020147 735252887 365626053 560810331 714567207 152495861 283720205 375946371 845377175 8738193 937751353 611455873 235894111 184431733 20561815 746984117 167092541 191299219 327682713 561025761 190045079 398799813 627380955 329879091 800200061 320080329 129994527 257561921 641990821 969288523 778100561 946389511 120374385 531308765 758192517 73919725 879629031 111592437 779508981 569806781 971121591 71667703 383993605 125662383 518774069 190880043 971686463 831525215 340797795 46926787 184955223 179191249 230540009 275895513 782243369 341256563 519693845 653316971 389853881 861052957 324930013 65318757 222286383 710496521 532664547 738327193 632651745 797976541 838059627 753157053 527840841 94773159 345255271 525549941 560943627 755074011 642137453 151881 145948913 897787223 764095933 83018411 729129711 150823777 865005119 875335155 401819425 516589733 576829567 413964131 349179595 820636727 14492343 664471077 351574613 47179417 461593797 838928715 489392213 618321067 352936753 2464971 47814279 770300605 38365739 905771657 801373387 960991109 137044617 744107341 851197485 299785501 970889929 859258823 224930275 196297231 741772309 420986259 209657925 142693443 375246139 942388275 467568601 302800401 304843699 506129421 131049543 362909495 829390491 420969331 367867237 686300633 770414523 171528095 357760559 727090051 612753537 90230195 506137029 244643373 732628231 941748151 334763125 369994547 658248457 164007835 26682543 437587035 567709935 544941115 156142611 43190991 259738315 376710743 371061857 669823017 511063889 822169 535497347 602997091 329739491 558346641 776083857 645403621 219049605 794335417 849685441 153933945 928061161 292534643 980403065 529577045 837314919 767871239 585285 715323927 375564537 926295205 961550807 233920709 18606925 321321065 482109195 788145867 103120813 749056595 312068835 146854143 802061331 6850893 6385035 28429215 657167389 996873767 734570837 40275279 547030547 276199067 994654143 900844059 328615909 217000521 521171049 406886011 717197353 458527677 55716897 116853833 949491997 804228455 65600985 915887055 121112491 798399135 809926573 938957493 798814305 151980709 411146207 218745109 933347447 833215399 432496603 47821417 966623947 145221043 255750965 350932119 731499237 795272131 589021863 716415725 879325171 125040823 117936403 745669919 417447373 251838555 303559815 951453259 926957557 777300573 296650039 341801463 432480397 94781785 936866427 619856655 895023977 666897871 557113815 193460969 359750397 199124263 935636983 392270401 566272363 369243829 459324335 413828157 528344439 673496753 976563449 770502509 404163475 4336443 708025849 939503297 909674709 642823519 366128633 633248411 818102781 865577995 411034221 928288701 813260401 790826267 229570545 691385941 339497281 398841423 747362121 379878651 725055525 81151567 504467549 139225511 526813821 533694895 41364803 444018883 297613901 178705893 837324085 322734107 829634373 508697687 857061271 676561891 164857791 201587017 354656501 655301561 816806841 752134383 295631871 970426785 916804567 115200611 252614291 112787211 553893997 545598627 308542645 902483403 738497649 948132765 307767181 985870109 800293505 26304797 238185585 648147111 785862629 584922081 900267485 855326583 455579019 679779975 306868849 37235971 730081547 600963225 668855803 521597989 637462949 901140875 63664747 641316389 940870465 964512177 464585441 554786223 575671661 222474065 239888027 199741401 463444063 485691793 108347401 114212129 232578039 501339011 206832059 685911147 380944063 823828771 559169903 38961155 587848419 550420559 482098949 942794913 790305083 233744849 662386059 597692513 795309639 490949211 628967475 849706951 208393005 880759687 278688599 312750787 786542269 340392659 329348477 955400615 361705583 690431659 427457615 144778291 173567329 181188961 608120735 280925323 763578203 875568683 7384171 47588925 778098637 330646573 530428371 103257405 296757453 989043567 540643365 132187369 370017305 32625635 790625747 103998727 160447003 663021665 336708217 489209027 161924321 681947565 798523353 139483571 244456737 7539565 707415775 509411539 546911549 40120627 67585181 676162955 373025339 381051257 284000081 536360101 657420489 322548385 899708253 445855065 919364161 683624435 14177867 649111617 548116383 811628193 956101583 315641959 532978827 642269379 50206405 945284147 899096151 938284125 970455599 719667837 575981815 242095701 957494329 897258371 660293131 947971965 730163511 402710505 700153821 941485455 526100131 851874749 316840025 231929901 786106401 783617395 702700055 33198559 678851195 308049129 697233239 288194837 168631973 975562851 473285887 142424877 615938235 16795025 707586463 557076835 782895871 751367815 994328687 77504995 955714783 717057217 595718221 592691901 6805483 23533605 760026305 942457067 427997919 252358657 469673211 625802063 782670495 505045003 818345679 326004143 638240565 18120029 776850881 338063297 8098005 788856703 566117877 169139227 143084253 752239453 987211065 887867199 715531979 759502927 695507977 837062807 873645391 982429965 322297473 303463283 72807737 365636289 295476583 899888653 762854021 489702901 581629231 443216007 758624087 68850593 864114411 184991207 813268217 896637473 253763933 811640099 818493665 345632313 998357997 807585809 952201639 51010585 198916519 308438643 385480721 738201173 933058629 851756275 379666953 924800745 322758951 602340383 294733729 372280891 722138705 457960821 300181525 127281177 796056437 713966165 814328521 157037239 14423785 270641415 926469193 721739187 542965421 547536827 330396999 552622355 777043815 729485 392694685 301169731 322102119 525035389 213307729 982683929 474549669 953357171 104989581 327916753 87055551 31271747 895680419 82975507 219319293 834488229 698363409 751975145 890201679 177877305 24124279 209690571 248107337 843082635 329252771 734832275 671817263 679567369 97546887 649941129 504184037 549992207 299659583 75696731 734057721 194043101 527113485 629815067 618777767 940752027 803270749 972061001 929910219 169268061 565080001 539920841 898310379 276220699 452284151 543276265 212506681 553391029 739868127 634409309 920901773 802671607 297706887 330333507 971334243 150727823 817702689 341970719 703233251 511808281 771303689 312882913 730550495 224333075 70659521 589401821 391946699 443936491 829569781 828755151 735707847 232241389 872682105 645368031 198773149 876008023 567701319 44232343 549376441 220117575 13200003 25660909 902880563 127353545 410630263 818950207 831620041 460385227 191336855 268485973 624034789 947892775 128008575 171362391 263670167 428181665 17076209 243524829 208139153 969116895 209587673 211511269 133653559 659906677 617145931 507369681 69988495 698488793 915042689 471114355 921770313 212036977 560430047 151815677 489591227 208831105 381931759 308452877 892707555 738065981 253657703 841192359 921234027 462502077 248670495 180378939 280421281 984169989 166339611 969898907 772922491 303550203 226188169 134453511 791660699 292617843 663025593 559234595 738142277 148025891 806136359 445199101 481209195 184474031 163717239 254068235 911277733 840694687 713160563 303924519 838271535 391228517 93201 985985689 697217265 862324059 917853289 954999309 625374589 808818111 389245633 9909145 773059335 351537597 603116673 32803513 844568175 593392999 507508031 574779221 883675967 741569459 658657207 290385591 456997025 685697413 205690057 805400727 683321969 815800997 592182915 871181839 787426349 518589125 398626581 281101481 491174395 534957693 885505503 365693773 273818027 407574607 983667807 892555603 972032949 527213989 198200645 468302713 268481591 531289553 557589857 526572771 702920185 137942281 150741169 656523807 123643241 512871793 953133397 867631137 35013025 114473489 97370267 147533639 750675805 936946651 248488949 387838039 52677639 926808743 901689343 35403645 67476653 756819511 831982969 391980365 160080133 611629877 116540499 203410889 604576881 713051185 855596191 881361233 723581687 572052645 77351317 456054709 504950341 756473331 618279069 161025835 110245555 370213475 157766207 743198029 488128577 137128487 479043375 158579747 549777301 472340055 27582281 208397593 908499713 987035125 864008335 162294791 57796985 576694507 585704493 124874277 226762141 177879305 709183349 759923997 664532151 112250633 193355493 678371323 714112433 563294605 673506079 562053171 426415143 378475035 123038189 262336673 797629271 478634025 800256835 148860559 482398503 724279309 248977469 685756071 21850407 773403145 604291613 13906429 596671375 130721095 679055183 296835857 966065213 69925591 705180775 321988807 724625337 406077619 671877407 876342125 617751601 962714299 444438875 92542905 446018175 104108987 838123557 605943237 233155871 524632675 662046897 64037401 852160315 67736139 158186843 834932897 861857185 306411253 338574503 638724531 944431047 811730121 359650365 127537419 255665871 411975195 87421939 444607697 431322749 146730531 465006275 449751695 753900611 898174979 832587729 815454781 613431351 477573569 790178151 362097463 670461465 79600979 612179963 992068417 874815057 475608461 887228709 957280649 285112555 257321781 957556395 557761959 192628897 724914163 293060469 350127253 57782227 426000727 156550809 7655865 147656581 788685273 603366993 432548319 137631849 134793183 389927683 167825985 537534419 414428845 264562741 847644023 789250247 723503481 148051359 709481095 558007529 570387543 170557465 635375073 924329353 515569485 904324777 414299737 154807455 495235907 894282103 228526123 406717897 59811591 912074971 653548031 872653647 113577047 57273419 405383135 309820191 971150033 859544429 324731969 340026323 290972929 452627725 40179461 995544999 847304533 854663197 294977133 816867205 948410665 377667255 310535719 243747833 525131707 228114209 653016139 683182655 94383929 496393925 480995409 356836657 287407023 703456565 531004451 949255771 658387995 605144879 185216269 80394473 945056603 501497747 980575939 765745331 302386489 185583727 129212513 385343801 147985257 604979701 755975025 331052707 544164991 203145601 402079453 62735037 351538433 253338773 372072441 155271681 943113813 870800349 534204805 375866509 503957967 644094507 245799591 972310313 729669541 236392317 14479337 648515653 756227067 354182133 254782529 491821303 890167257 883505373 307445773 517244415 606815793 897975209 910687763 989068995 523386589 275035893 172276863 908552787 398181787 31366019 613264871 673085029 229609753 614920511 767374921 332038235 796034019 541700669 215550983 517578811 469866357 237980597 853553907 206010291 384234801 309793039 374558527 269009181 28859233 328365779 913995911 304685685 631546419 670012343 404529877 305120357 547948225 150402451 627459985 12399931 24096781 859806315 363853461 487376877 511382017 890577771 316228377 87459613 459214959 461137895 737072329 711077391 294541837 277627481 548845739 897880501 136827775 474216293 227760697 738548133 835481677 154773205 241625681 911201567 603526121 73081503 732900403 765786121 85936299 943893979 892460177 382895093 830004437 874992077 125999231 158560535 782344081 925280483 845576825 506342223 666332657 745174445 994361703 494680357 747819499 631071207 293082003 644770505 251139939 493778805 365343669 595470609 784843041 601917283 724265959 989463163 423933909 623941857 29519025 45028913 20326685 806563917 532057089 31077121 5845109 380234795 989121065 530842211 275667529 457150501 456938729 327660917 563854057 478793229 335062627 129183231 679286159 55274207 589415465 552705903 312020829 55843263 548202541 255718365 777237083 403207929 82897869 8573707 698146425 345111807 275990733 970931035 169056915 490281835 34757725 971585249 595733355 739915779 409328145 641851985 371190949 659207089 817852133 441853453 113079767 427718535 317616191 148369689 858073979 635751363 564991213 507489319 790869485 383377605 765571109 937223821 808124027 240860699 791472769 702218571 151189075 72790903 151632137 471342601 771072401 709949363 754306089 21643795 978046005 737869269 141958839 667538787 267494697 161292295 739880177 296174999 224803645 764822171 828941177 601752311 253430315 99077903 187222625 674817907 775500693 927469317 253420057 469505953 931272705 582196039 224919683 997057983 754864101 327602889 283087329 579781815 76926615 185141669 523355107 339724567 279232857 767946787 330775197 962581527 550659667 815573929 909908873 810421397 700814745 927309771 640180371 457868823 834694179 60007239 860893953 202245585 580394193 231909119 424251533 703476629 821762415 837751037 952995925 210479845 292057515 252503413 832944601 332881385 806475809 534131139 456045579 175442543 192554833 845599593 549843007 104700141 674422437 141474067 405775155 931139459 217926507 662814101 426739209 859073275 744299489 755207401 659499345 979622849 824248869 43570483 822232577 59826925 237794115 715210685 300485235 847324991 602246185 794172413 162430321 773276189 418904755 336617099 120599331 848409751 122534561 399540779 894851617 923016293 319826075 105347785 69951593 798634725 410183989 618108537 361421407 434454049 67625447 319617655 525217743 233492419 10105873 769053219 885170929 951771175 853052413 357318665 30025569 628933961 907808733 721374941 906293541 329417683 359538891 683961469 842341801 845818899 905165767 879287527 312429761 536339201 426145977 209573195 673235887 101111611 643785077 653673209 404715027 492247561 284397745 560236141 768724733 455347801 315467025 715843147 929774561 611831235 39978527 697933919 591657887 601408903 868500297 923845275 397503865 428597133 20108009 124426777 26038301 145972579 391668035 430218783 191909025 79027519 239004029 421973269 87478147 40723713 957695147 163935635 320931237 925703475 110841539 792285007 819938137 588088833 349274537 676372527 173949775 133753923 740408869 298329919 646873001 222787193 527824105 903090609 533028075 275662281 296207759 4303841 479117567 551201027 977663893 770477647 337913919 948383135 53858663 242930347 793058405 598223035 288684887 430113479 134534551 204540959 219555483 333712795 989039459 850613563 465686615 779315279 299944893 430962723 81029267 603835179 176567811 440289947 250014529 230943395 674870779 845979911 508399417 981996113 64507601 452470135 507508031 504165371 466609179 714282145 510265593 196391051 339049685 40743143 192911865 491225877 688901735 259725647 412164283 620644819 965047707 216847495 826568603 956155687 608315815 566798311 172598247 58530463 907450667 10704497 981845199 360052205 800274217 813895623 436014187 998245869 882266641 105946941 754375359 119986081 872778421 731444935 678268593 446864183 600298325 422669829 340318483 938014973 441302165 975369537 548300703 552142451 257153665 842320487 778533367 952151867 450289553 194450959 814892195 605023263 167825825 644797559 131485205 231289877 911353079 608073867 642293157 40615733 353572671 212951253 332390037 164622787 204469389 733630607 683159823 379916587 478946403 336558231 266339619 163009281 982492833 324792437 208776651 155536895 994905239 549221207 465315817 610022665 793033209 677205783 206437701 735880233 335087079 458477875 82478991 876023701 481767907 227253199 907093859 545755813 552984795 177207487 819100481 690611423 579301925 393454713 567699603 609035499 790610559 913559835 887388841 262899103 202600203 302613355 56606141 791370485 768443995 684127709 673005553 302139665 880975713 346380675 20358219 715003711 841245307 778559263 641448897 702949103 381866605 905721881 640633897 331704001 371998567 858640253 407286085 689151859 900846075 125691653 113046975 286764277 286478889 622541329 599366695 240398167 475965013 767350949 658070007 319174103 518181453 94467699 804285071 66245589 360885317 43687377 613662779 51179999 69651421 591797951 609314601 599916197 192803093 512095203 757276277 79718919 549695839 65960333 255503135 739826693 433197199 691394229 606350607 901569481 48083939 922823673 966990873 978921643 674268413 16789153 371295989 870367521 925806319 955235741 471490629 536315347 663906089 768146561 682751375 725481097 602770573 252126865 632148551 481085749 830067293 240666543 649081543 699508471 557902153 152566639 612334415 592268047 539469923 136763399 981366537 448271337 282215979 213044053 640310019 698744855 57028485 490759647 382456635 717563223 633573053 665887703 954105743 997821323 589789835 879798805 661961419 925135293 406340875 119837973 162259869 69068577 800364227 182254079 899924897 28321299 822868895 239772069 984940629 384722709 663426037 297851771 340789799 255036883 703645569 900872865 192889701 985020959 522722409 274204897 582298951 113744119 177041979 877128101 668305137 177889149 639843565 924363529 179890285 924128251 568553433 446560459 127055273 540610277 273486023 387340625 188520319 406170583 548053219 610860715 283510963 887956117 550336453 102184337 172187371 414132743 419527781 874645601 682487739 906176835 944612397 990992931 591179163 413739139 450514407 554736007 346050283 432230443 240185035 78309345 539282165 145798597 812936053 906876469 652126955 371108101 790194923 562562599 373439205 386975943 965926295 256662789 712303847 403243023 908034643 181028555 411175383 219941125 504044377 534803221 33985673 937376767 178733903 808311337 65858739 564825719 563570243 52428793 935787001 975490065 905984169 473956637 731384547 792154521 190218847 733696465 898819555 498814975 652895147 316731645 964093523 292698979 162878521 367253299 430842225 404286467 947465759 491589543 269262185 407792975 350112987 681614649 4104269 850847447 149324367 829151089 745627411 542754647 175722957 411909503 530256543 936511411 564134661 983198009 426203833 406913015 698784537 427618847 578210067 618585685 175248779 809121879 38822981 83266087 610313035 478624689 946285267 447258867 673725867 949481125 206647331 801979235 997882731 277257041 382340487 61457481 108095919 905668221 259542841 999008161 410196741 363427991 836039515 729388945 106472545 254277817 956735733 815465823 835828769 202954655 807988473 588327555 541039881 890937523 952986943 563016087 968462665 834492675 486300553 423743837 797512565 620654661 397313665 317475265 433103753 875271131 685435575 472740565 219220461 103970251 339485095 582345687 301285995 790634435 933548205 189186599 792900921 963704859 740374551 128110163 621850615 77913811 956937237 641406221 954374311 876229777 387831743 359076913 646722231 423627687 987395607 338222529 184057853 904640777 424315655 374743273 406141367 933412183 550231647 285880061 549242249 606081497 221230809 197084789 149211263 69790591 836061463 922789369 527097873 223933407 292382369 968337745 987006747 511662137 660592871 842185329 699501283 644200563 890763845 507752565 791234579 279283229 992334587 490487455 606685125 174820207 406221363 521517405 162386547 858695 886406909 465792829 819881731 795677485 605335891 387024383 433896387 822059087 538040087 174374277 136124263 675607687 516518159 367611609 457839119 851233361 138168305 249343281 439868987 237162711 811512659 573605093 251388383 699409125 35597495 536664697 566643531 573575671 108491397 80815001 649359933 70227241 110551313 26456601 700446941 968130625 447186835 198723315 181874869 135222961 866735405 976191819 847089085 225742479 670305253 475135853 195941199 510319003 256416177 153267145 18511157 16183357 332922215 25846269 238679191 824477825 520595911 959063501 711914767 382315297 132298367 119522337 756603797 228186237 996402973 951361041 650128275 598239129 442427931 260799443 841790421 586222375 878192601 393976269 818041743 897720955 394450849 878648201 589169503 957913241 885715111 946795709 85827659 246993701 127828737 456835649 433912511 66805615 227761839 857838363 341610897 283929455 176536223 537484661 595088637 945093315 501871007 997354401 429442985 500389299 481375079 514653467 656441253 459861549 191227291 108880777 473932129 160647883 17650885 215660977 514480831 843763145 906693459 561796235 432666113 986272273 19838113 398663729 375817429 981839919 548489197 450964709 984449361 316723551 205551461 646227473 185447155 335744635 999211287 603044173 612917663 254178063 436941819 982231375 173404321 935264327 10752757 471855359 486732209 340930555 187107279 828116581 599531499 40353195 374395959 463424437 205911765 578063741 729694407 962878537 617338713 422982467 216506371 614616487 830848209 474637681 799756113 647911033 656927735 69960231 330120197 695656339 120733681 556494893 810972757 919751405 674319181 772773363 203208805 354054831 533511937 399974031 442692927 177458209 192940903 415529663 573996497 365099191 261770055 237563375 26575861 253915917 433937613 115515689 899430767 385267173 862171791 820847653 986483429 524700971 238127243 243468869 655083753 697964787 241778467 506439055 218783479 204639863 705713191 708626353 40603757 435312923 863482829 554870021 287660437 612877161 406857649 586162055 946968737 620777493 641678807 490296289 103561897 242034939 93475759 122962529 959380143 9548829 954101003 330231293 99195039 325803177 512296747 676583253 382829125 484893677 563305907 756444083 587151965 297338475 709242801 334662147 424799113 351023807 777675929 368516061 963764561 27742907 177601353 730818689 417046311 482549325 306417415 315710421 450531171 266239123 229765759 16972651 748053577 264358609 35117767 220227959 536034047 19445103 531591259 586789337 206455447 190376707 208233505 810132761 319171339 760794951 181617257 872936295 971088957 420807711 967914467 468833177 809406709 422642327 207925425 852022317 364595173 51833825 530678613 746024013 97961125 545348183 4001213 5032135 74769079 98777725 818973759 124691731 844090501 757935105 60325017 607248975 881367647 235374771 670173935 271083075 511554943 201182097 316003023 102741597 893834503 157256123 882900013 488254645 507200255 297587581 837513829 959827213 562709335 977165645 428069697 807973831 980344557 452848325 20927467 403735799 461493373 154248101 214459383 794765137 133279155 749844701 169814631 498553143 495503391 514674557 891951259 359716269 569605691 756374979 49242979 677843813 940300391 263957519 319356915 275236789 62175727 981846511 706845931 544070045 232923651 966086933 315558219 613068485 450236603 897183837 726493063 992793209 872089113 54552777 677933167 652671667 181693189 735950467 421031489 18368785 125524563 662014947 564037541 234365403 155161019 939028577 277245093 262610177 24117471 13462431 467543993 171510553 986968645 175893611 844951741 538913889 531192931 460958135 46553589 30863811 661872271 856042399 976332561 288230861 475938827 98949221 721619491 413023671 562046207 592056181 829459115 12244063 145320831 949449827 338636429 947467595 780473987 412490727 899189015 248147375 660450029 795192553 462347773 534241629 282150019 53169521 654738525 903552983 132049147 62246323 249710525 107053893 295208681 547538699 113730825 977738613 578149587 189398781 877160855 905087709 214330913 722706993 630767651 724333981 483298851 872161661 618638293 156497023 956228369 425939675 713227575 1134575 840817937 865194605 819545921 113585413 250512679 550747523 841965133 786826881 16192071 215499147 908157219 6993865 388771915 285074211 184392689 25165805 823368435 845161743 54172489 604601509 661752039 293997367 391163691 576669007 883571387 18585521 834968571 639965683 157208551 809330103 532108677 287387713 405886411 821746861 135756289 534795919 157714609 860957469 857948427 419461851 862726859 382461373 738116777 864944591 664796979 276732005 699857989 633424825 556253417 278882587 883733945 398799761 595435477 381138695 894807103 790530037 409393099 53237631 683884927 328043563 428581761 917124863 408489091 720762663 240862619 846518823 365919425 885775995 467793827 733215427 389233431 446503785 960271623 427324617 232427723 227151833 949883937 860963153 89379979 379113303 903546677 252404129 825659241 364377631 811963241 797227043 804931555 136478219 125578193 317479273 521817313 669703591 500423779 447271727 788832941 438891295 359962371 500752219 512084479 348929355 561051257 594746101 743060211 190461097 586257271 2089775 474219021 189413989 963542935 206565481 852317501 597533513 804933207 602969379 524038869 13997263 522697251 211571977 830546581 115538453 512445261 3377645 126322337 941739747 688349451 911604941 110514311 941061801 159933569 304183497 331158075 459098491 930401719 11193391 513890589 696301853 676675743 289542513 822817517 842286579 616220691 348299819 671363293 85273613 157491409 888153119 183870081 574694945 294326917 39954489 748534487 868010129 647791295 683054475 968293697 28102755 363876859 373481555 276290191 442492997 225237655 723144435 643750903 705290639 851942365 860682485 758879765 600481601 180391677 607648781 817801197 378523907 938550805 275845911 65379821 286044195 374108961 182311189 513520877 554074775 10504973 551792691 29506853 315486719 642812073 973952709 574901567 197110437 295249327 143241285 188138311 573283957 440867777 608779349 473080241 367387143 218552679 681725893 787032667 476664729 684588819 145617795 323173771 467755543 400468509 819675565 472501483 953208331 369152455 170741381 257128597 408580271 768093243 850777977 548364803 970250465 60297609 268255255 531555613 679825961 940943019 222381857 326284077 563982261 169319043 975150451 402018281 60629855 479823065 807234335 802867823 238334629 20366173 505920083 153019973 973176235 717831339 51545197 591433817 545613381 505860419 8510193 612519421 319683305 72007311 61606535 152915951 716315573 112556511 386101253 851756887 671439215 147214701 858313575 819633345 222931593 401683291 638412493 492961567 80037403 838405809 494276995 903794387 970782945 28889695 751887103 415750305 476852803 934425153 397552601 946923699 920247123 252400663 582432471 144433571 572945349 419925643 871311329 293981547 109341435 590867501 916027663 133941873 754764025 503986807 419688343 105252483 41386865 435062985 573689567 375519189 524550329 988986223 516359539 197993477 103874257 514676375 158837253 888471833 727053919 866721117 871698031 39138941 227625907 689959105 109575863 684812807 512837573 655915181 455671303 931776243 596980019 271624433 299339185 228695273 304772421 500662341 22569523 250085619 712594665 934175055 393694253 933173385 523955641 653283731 433889645 429119111 787542771 286243975 651539941 161162801 422991995 267222143 517665967 828685365 284763621 258288065 821356305 823022507 232451431 199302005 160361333 58448651 610568413 815661739 320292975 553487679 831638739 442705755 624794041 119916179 575558517 107433835 847196981 306614715 281691549 929158559 917094897 733203157 660516807 544448683 746373919 492524135 711242011 537692713 920784155 768494685 499798635 53799833 70636647 237292811 668136747 274780003 587029679 183232563 173566075 196375003 58801095 634246133 563017765 617733687 230026409 380509665 735217043 850782621 798088823 245652459 160481 607467025 404578177 556817267 356595661 635699079 737506869 523000379 972608701 503528153 123135537 158061425 727330753 794148037 225817399 155701931 260860817 830632185 645349427 805898471 793177227 756940033 391778361 348676489 240568759 551633243 215329667 226383709 725242309 22305381 831417461 82423707 985911305 440715113 868201625 340787935 575872903 340877721 369693605 732616237 426999267 277614863 141542513 692962805 180997739 469147081 269341185 436332811 447974171 822178995 19035267 433579 260707727 779138719 985896007 215662203 49921549 905292611 583421129 914645897 367895687 444465731 833547693 947736393 323667861 788638761 841656253 358792601 289401715 386308451 104908783 450471103 719333129 132341067 295756891 341865575 797406441 132396835 268780359 89746599 755723335 588266773 846993435 279245051 521211907 400760115 8037485 899796299 867317157 59444339 679220473 739910369 618820701 63001529 158893215 700863861 601571841 626535117 53678443 173003811 19526161 753766241 74430355 324626031 108324019 375507469 696318065 955060039 512347575 51758421 577326469 647462403 13505941 182917791 449660799 418199389 905890411 263992125 470877999 691812475 550550273 921905001 615949459 939037161 424773573 295964485 350782411 234491551 767205841 382762457 26353189 41531641 834551265 622598167 485290259 52313021 777004383 962902999 501327663 930584343 422882137 485915867 86732095 774808989 972166021 805158349 740794669 138831179 289172805 984480575 249739021 513560711 874960541 583833767 108284439 9836831 358420801 351395687 405831603 408411465 678992259 36562379 751745129 712717983 531432805 949093379 302997741 78780201 536126861 232622887 313929497 184622165 383243341 448887353 954470131 281791477 479972505 768805155 804068773 884293449 212661521 677091253 29265539 796453363 144949501 996191913 347685383 530218757 247998797 450722977 535749331 683193841 445471639 533443877 827684023 894956437 428602651 806619045 518172065 167832885 781862847 676425341 631003823 875753857 815871763 839412717 57633059 461445003 112964943 611718943 292812649 20973013 542658129 17028899 631817237 105614143 509023905 484408819 940102369 59917849 381845101 673106289 322368431 580551447 305426575 987559523 702354831 569505879 997887875 438320511 28448687 669525087 860553843 257959003 279811181 377479451 580928043 356095097 551386187 385124577 808311847 838407235 608592631 985342319 43336577 353408521 891843137 612158695 381167621 556508931 326937381 851188955 894924063 499409495 800024775 602321723 217557223 61825545 384954737 840249705 850143005 303796239 115994521 752937767 236405289 70527807 785346263 640606117 144053783 775644251 81507567 288173173 55352225 914798859 99993807 864626839 713695013 233779427 535930759 124396399 117748653 697063003 853530963 416670667 506940387 27447251 898025111 267827935 209684771 301965463 337457375 608373065 63783019 904614357 128456669 592529935 894514529 307630505 989863531 144682909 646841685 898144273 312715151 246038215 498827839 724298235 741644657 285109199 791882685 915711541 787820647 690891093 228008471 956281975 792109037 12008809 57720635 504793703 185263011 90988161 329403331 919783049 993350231 249165431 703110635 201001809 386744059 340594579 42146973 139758617 776956841 304690051 334918757 274526241 323201191 340906585 90760831 463143825 584283487 201017237 591708101 418876541 346096995 782293273 648703427 833459163 99620209 205845559 284490661 444613263 633261161 523398305 73736515 194370659 224270425 127916917 246265373 513563397 906027379 523605047 167088729 783464719 274107155 318806999 717907401 984017157 190198971 694546857 954008289 512553037 259939095 513468009 427400129 500926523 130794745 1967421 947681585 85097221 77931615 267814067 978205089 418791631 526831465 716307903 158682151 404237987 94963557 399350465 390986625 334973295 665384391 906217081 262579993 602331405 154646309 365106459 198466045 290197313 166371401 149563703 771248613 277728433 76158745 350761675 419102767 268496367 890188713 501033023 208659683 859634807 765902647 791867229 10334639 494341031 462100773 733950557 618369261 710888393 719783933 169805019 6219929 38887183 855469683 926779099 225205085 81410705 939720803 331830731 100582789 37622611 755896273 299227523 172193293 158531387 149400037 564695869 617706383 611349531 188760053 608538783 490871639 484485293 726110331 934529207 990526545 383256979 364737563 83193 886139413 830625365 541310623 686532163 207240163 861227109 939052029 729152987 288046497 989683227 474099533 892343405 79582945 209353147 827590099 268144909 169887703 238745195 898161149 552592445 961860195 493693245 473139803 63621853 928091405 152421419 388721321 795977533 110510085 513159959 167403211 296183315 633381409 246853833 303452107 724050297 364497375 71611379 192145119 310788601 268831849 606669357 933789279 145027451 112146061 464280825 464697041 915044951 749767619 987388609 588563421 953681995 200958761 519991765 449052507 427536251 817379973 207283055 679436353 139775347 864134475 165101745 788814773 879263275 829524365 912900003 479805443 899083519 310407439 311365175 880262045 506342837 375764019 343155525 374145053 880156535 483310349 401196943 927382345 191333855 745264209 175162559 406253065 570546663 684335713 665585765 439833461 378189557 775347777 759833851 148229059 643173335 931325603 693950177 602088283 353537987 952661213 64523107 549259715 899022163 470827503 767963057 719980211 740751759 212534143 476399587 6845701 36911331 226606303 389580795 319639483 443297317 995706883 629990625 672371457 86592915 521358987 250445675 240602409 247813585 760624319 975594315 443647409 918453483 277175951 687283753 401751097 153115481 207435409 211945611 53453711 397959413 17619715 971306721 707507877 85152265 645641935 962776711 77616535 212497469 274979971 462765757 684338343 772780459 704296279 501153709 825078593 624743373 442039847 313065317 248709881 689289865 218070143 158003427 858530441 631563565 955448205 303268103 943500501 306985325 756752677 621865367 440338407 940476519 261336265 588228169 669740019 832210337 679515809 73568689 634610773 979343879 796372601 7135317 220903055 738292463 463452365 753620893 205257037 357342997 389169079 512799961 997336419 635936159 491110915 878358081 553025227 433969949 399584797 643796475 301080489 540882559 500363549 842180875 245151559 663634471 755581379 349547623 21409561 858441431 832427381 85867491 425445821 372245181 356694339 898423109 238767601 994084465 284949733 324617523 519516067 915107819 605222329 593250881 615551207 784950165 267560903 8998375 392877303 880334651 563974335 269222789 615148343 81440017 155944695 431037285 341033011 247036597 968094317 533927355 806661787 31719979 133353931 118434715 844215887 457731811 344894815 367765515 834208077 454659249 4317729 657119985 973583557 745746641 715902127 425308705 392037383 937135337 758748239 630850641 101032335 842736135 66105333 731170343 282332673 298913 675817779 81762087 191414569 125338769 756012875 565317317 666200823 12903967 537944101 124216667 249756811 99610359 106698061 858716455 34830629 931723823 580335871 706680661 207753007 124007493 359663381 399122679 905538367 133543965 79948315 539055619 416501009 706744323 338995771 329511517 821591685 544930991 22519379 894531279 260303529 500689469 384644315 766169095 540213935 694357809 553591553 74779039 633373425 728403835 799939471 915275545 368837109 327937901 291213311 522237153 59373925 807660231 857290095 588886339 268008723 582124973 716057511 650067835 865134077 55001517 659755031 24228523 434172739 905752251 301096659 608871645 224621363 519975989 766507423 925642749 163075135 809657313 975975135 512630507 226314755 68615403 116109987 77179491 545220673 115972841 711735201 137220113 16818149 870686423 803144251 65240967 985700355 584371741 582339447 67092283 179696851 515609477 826557955 70650769 70040765 465604679 436148535 905453009 115127113 622902013 108314643 183600941 358329387 802378929 576510015 677530557 606805567 6697419 957949193 507607939 454185095 911312163 590642279 8769897 223329583 909145335 865522681 397824063 352943755 584599531 381644809 996665279 399369237 563202061 994399873 584514955 138468209 836230097 495153661 650640939 407013737 287192853 147001531 716307473 153456881 808480797 854838179 817453717 728750117 407806105 610218817 849310969 671371081 709951133 249893071 256532327 491686341 642042277 366742827 978835951 231006511 34215831 953480669 553768843 200329281 157337025 281542675 274843933 894150623 119802329 354348455 425472621 223208979 715323129 431832597 511967531 132096787 392537257 428918663 3360757 138104887 655045589 826123211 762824007 412199171 823060947 517508441 694822539 167345189 248862049 523691085 506274581 232766573 471123875 292580211 689574685 536986071 546581285 958095671 509450437 536773767 104181983 323666611 261615381 172799945 960548653 248894115 146804477 602151181 29676243 808606319 903567961 150438131 846161921 280731433 720217833 219865145 904693065 670341253 339893591 942146255 819806891 347595749 575974963 643163333 395156109 447855437 497002231 688140119 74721463 749075567 539221763 227114987 982715749 588446113 721113251 576309511 624797231 609738979 890212357 406275939 334106909 912271579 596393029 881408217 431315867 115664857 996793443 59500905 755663231 916804309 713235017 618928707 783708165 256364141 936773063 213119161 497220821 659345897 656981911 3657539 373826297 805728823 30041177 889249417 201803241 109754097 551005079 572593745 904247423 280433491 680015557 530176147 510043651 543018311 664211513 859376745 72014115 201486939 763080243 63409429 721270001 466169543 437445089 433829635 748128749 662818919 251251281 138117317 173759227 558782919 712999803 766861337 362376809 158334739 332261701 444797153 312363755 353529635 794084467 443534375 164589727 878656121 379139001 823606047 337987081 4719671 377891505 947432995 676897049 924637489 464620763 260349371 364398627 935980763 30935199 12819341 117419747 856395349 329814097 504435565 526933889 566860647 640877865 151200857 527819655 384141697 378391111 493387123 372073707 939624121 122056117 374135557 501224715 240507087 830433637 458034051 970323375 967213097 137650737 668571273 751188479 258790103 506916055 915842521 695420819 229433233 122975493 271884385 742677865 902914229 363876423 186383665 438894307 561105227 221847323 726804613 724627155 814910979 553663455 498702527 190948459 133835313 207505373 584409455 90353223 160881369 640903751 88721475 794088305 504451997 182035767 714637337 574075987 921800657 34112683 52350453 943827393 51240299 297488273 275034111 278592507 155377671 899616949 323550349 271241125 787765233 780147669 441250585 716285645 612793109 605774479 650939207 3827177 24504843 308339053 889402851 811551955 459554069 341086433 240084957 266617811 247136533 486158915 771949395 825671317 196667549 334662871 682015369 647422767 676559079 780536515 274301673 357060381 523756237 78079001 187027461 240015943 135565785 97832915 229785753 603341303 315634491 102375123 769315209 832559077 975388361 756359393 921460961 108345131 989138947 285883311 599442643 609605971 432915727 348047831 622304441 726114117 459381693 78278615 356075545 606839385 207422085 971693339 376718235 780113741 606732677 823169779 276717591 744264005 348323205 403655067 385960835 137317583 957155571 602016559 825879047 272080095 942958313 733624509 982827753 170588627 944307747 203804469 474679201 854750833 508247563 42510447 316287177 821313253 798929327 862297135 864911139 390822851 20201157 52851995 195336857 773988109 590587567 540028357 849795395 223392035 800030065 875679655 451135065 196075477 149739709 763068451 158668605 140034905 908185835 652568449 384514173 585046345 858585591 920056305 982550731 987041709 37895817 154425487 594850819 432699889 925968627 180162139 440658983 532993005 342613545 820319551 905183843 714745561 211349707 780254987 774881289 653549663 386895393 691659387 424555415 889510283 574625563 742734891 985243567 754259407 95314767 119143337 579071003 437321229 71463933 544809061 449997519 70858121 78719243 751126711 313910503 994626799 582837257 705692385 436170149 528534867 671947055 641314827 316398453 200347957 131799131 685094729 971011819 323646841 903527443 700355731 522968513 934608493 513925259 986285515 635157979 363369671 391593109 425643961 721853507 684033697 548339381 405392653 263798829 902738563 317239311 69406563 84069879 440856665 270234481 702641723 796097567 737498745 201435735 76954111 558395475 275836575 306770395 398494975 213611623 796027635 172082633 432748661 392825173 929850623 413119373 47299969 983039553 540848827 116817727 442434607 972500343 952253827 557621919 185475181 876883303 217932571 823368725 924121879 956424111 383180465 880512429 339093741 629174291 273037277 457518113 140360599 312673147 696437657 39581135 857977001 903076093 269409611 140050369 673942171 97075925 92131775 793014433 835166157 343299427 508956719 574733259 440385931 86324275 384122675 838361661 266086147 642920699 364257745 260281757 637444177 622094995 570208377 182998843 766522229 266223105 226167295 517104911 609000791 748260207 723362975 354247863 202555595 678823727 39113985 961200251 532500873 468968125 980393775 878515273 217178929 522384831 441551263 879816377 54017101 583236347 784859697 417175053 397489999 400516457 206152999 155774759 238357393 827786531 592657967 325620891 124423763 954177129 173180257 766579615 509977533 13958827 534883893 395702543 30028259 440050555 702111381 851120247 364294075 418528657 202419661 605211395 74118699 121428949 956704145 750921355 902975223 804316237 598164221 548688015 727785427 346967345 409558427 662907189 209026393 665698267 3494997 852035663 768233991 22543309 217522303 766240337 836406601 753450419 333668569 729705819 603937393 219217505 835397769 847589429 240734647 795842511 988722713 785631567 34017595 890115109 62796415 906910655 286704647 948181675 503452185 50981443 233419533 34646741 887701421 262515781 226027557 917665599 993982823 772987603 156468499 709090475 251945437 329874853 321032829 488197381 387841805 833441817 455534839 901193313 263417689 207849015 373066743 248306169 888177811 735003565 746771169 990162735 878317805 590940373 512465405 424032403 900739075 745590699 483564925 302887123 834692063 290646745 287543929 347198413 123958761 143247531 717662709 65990531 168206331 119842333 480444375 872226593 757495629 296902601 186703857 408278523 743352713 20119291 660170495 813658763 993335227 790334623 48170909 808345973 498396503 295703117 923865433 924170885 210515773 932769093 504800163 944753067 808558253 934530925 202424021 553102853 354609241 393292375 485340973 294100695 876970837 208129079 683037143 824633993 705763357 360797421 503077347 250642353 414539161 716587777 733797707 817286665 606813203 505017507 504763377 309470581 776088641 966251687 176426653 73519873 946440771 992042897 516248065 539507677 810030235 379189381 798717365 10235497 482272569 535342675 447324475 71220515 501562479 78483059 20272381 205596603 995951101 710884355 917543755 68959745 624461829 508956873 194839905 854231793 404234265 636103225 676411483 989210545 246147627 559197797 586691655 582596231 694641561 799347983 667726613 260090859 533394471 911862431 912289693 164484469 251667205 445953315 970705057 174697195 745554887 218483025 384916939 697592631 493644137 823959947 11436203 845310827 914766673 709512405 780306363 988107717 281725005 640518625 74231645 838995109 209699729 651701253 699476183 867789721 77952957 153740865 422061407 293395027 142779347 250609723 976185099 591902637 616737857 61775173 19485661 949500589 356767709 123798355 972286655 271418237 801601253 921859077 901816961 716065393 11173371 77180323 538101981 192262401 319669553 793119261 660263795 816477397 695402743 551439367 72916687 652678837 715017519 96893861 143493471 838775701 705890843 466744795 29442175 985234833 565560683 801963833 660894575 993205995 165246769 186731767 250032729 98421007 422556909 679308273 268570445 913422223 567241347 629113779 133823299 568895273 968859457 391220585 286001953 992415935 985200347 337637101 761369771 789267035 163435633 119885755 371537815 18845745 990499203 495429629 133499515 914148765 780091651 954973567 474058199 332382753 336377413 2977981 38156569 455820907 704764935 736846801 653868943 418625353 765305195 564633991 139128179 529897659 844653825 944066123 343581925 129597155 536316863 769191733 225214703 811096843 761374207 771020037 116817541 28616361 245862539 585666337 794089851 938291797 883187595 338962073 643237271 615283923 500130199 479199525 337203585 899266065 514282157 978413603 469064647 371695647 499544881 200334235 423772135 806861881 414460143 346345277 182336319 440739779 503999007 656202591 306045979 572491591 56984669 796338175 856524457 503671163 661450671 44100551 807911939 969506871 897397121 349047045 738288429 692275073 93665191 270565553 231421453 788214401 201600355 844198247 613842551 625230989 26010197 941335155 744702243 370712095 259199373 817264323 831397553 196656093 17223807 216437739 498339499 900198285 421940747 232818477 21285507 151675175 647925107 963411057 222006931 396052419 540183397 510144323 998932761 788322983 870516983 697295327 355977537 797139517 312206503 559138847 513238557 585291543 669348183 895814285 81741221 361260273 933743449 505217881 525594041 804730801 859333981 800576857 349773603 106099805 12664197 971005197 978572949 790936621 223560277 433418139 472116647 382440827 335027127 162360789 513232349 379898057 162745861 92706095 828468637 452962753 463723769 835637449 775956281 454550587 818740921 148760171 943145453 899270445 986133715 677257091 147880663 447208383 663292731 245665323 717832193 286919225 101214031 629174305 490331997 638127887 948422869 5251019 451401155 65960923 476382969 882165047 463582197 779653733 590192977 850536737 627534749 144928145 847363801 200586725 943949389 682428025 85636857 655787147 53227643 45253461 429041275 262270913 786248331 318452871 304883349 270744799 807374789 796880797 637609959 274743525 247161691 391149131 640405363 467051899 480090981 774288743 38423977 160867821 703201765 103707131 583841115 840160311 724438981 872917037 954437321 950257139 907604437 20563 301813911 315044715 655789521 609405925 429373137 761169039 44486997 735678091 44624367 961974773 458253039 518175501 89315789 688302557 884863759 26330721 246140593 410922797 12341005 792630943 664028743 695012471 194046507 665286155 64056483 377705197 30527635 6038545 758119239 815086453 446215253 448119365 784677395 813717905 443991149 891371873 407943767 939806321 960071607 383119945 743225287 105885679 272371713 13047561 485930883 285093255 678291707 988863441 790244109 868811619 456139581 813657087 360447827 172421969 72930633 653687063 884383659 159786953 11178121 92434369 718357203 506626791 245150797 363051219 536280557 158203767 953274575 31914567 271701387 829543909 286573615 544508995 273749151 916747083 631057785 293816333 528033671 510707301 399118747 190071069 156737799 987912859 703305841 411182091 687847247 496312063 917369275 166057885 548063985 633531717 381087267 957406651 966649325 491675341 14213689 965391995 367917223 319654305 788594039 852094233 921339629 670570861 48795965 318003957 434569459 297518217 963714007 646237853 799691865 110254323 970522997 681095875 275400991 27530071 33751853 102008641 908688055 808446975 745423877 736612893 414721781 300322277 407569893 201686145 58780951 167432615 405392029 384971711 401641151 716838541 753117415 482450517 374182655 440909701 435320163 896866019 184676167 179126313 983333789 558307639 589870201 903998901 792260355 218130243 794740183 433378835 800360945 9754657 532108305 674088657 337896615 509121303 355392569 808310821 958672973 2199183 259018447 218655217 990512631 330041117 361790135 300989627 629239709 514604153 421539901 331545777 315364639 255947915 143554585 211683499 865663815 435168347 664749159 760055081 586382025 214500125 648279469 837461843 681825081 565719341 134577623 697212405 891375133 146061069 748326715 773797003 324993499 147818089 65662357 491202607 210006215 381636885 637201163 326102699 490166297 531023371 22725931 434213743 220822769 960812653 239569387 851593361 94854489 285665929 667016869 555917777 213713219 779226835 638039329 428845461 216005513 183873763 146525835 371593197 867096811 91485821 395227259 253680017 297031441 482515085 662172649 618549983 1985423 803453479 704401983 147233503 202528475 364192133 290252871 486774335 73116505 875310859 847979833 913837145 903832145 219111491 720369073 992376363 157706997 16798433 280112309 435015513 24418655 9928643 240956591 57884983 716296079 228894183 247693433 528560059 17133677 869697403 224576077 565722753 647343307 465306835 117523665 208942037 223347301 357903723 186349075 631528867 664790745 980975331 169076359 199925891 817450673 861590023 388609547 986199733 412338271 505035725 928987365 472452897 545666875 437544013 409286337 6776403 749269641 104045515 591931317 83784581 719084143 264459701 581699391 507981207 160835327 784673691 233990977 223530509 257530165 415546425 86923021 680002585 425530861 903491189 106760787 430125969 984409847 21428309 508220981 462961653 354934781 538511377 201009717 228059499 948387743 219260673 830551363 942842307 268663897 245066411 934865585 533255029 148006807 859913657 903403327 951751839 817377961 568814845 962188305 69996041 103036363 573821045 806806965 481394721 445489945 872795713 657846047 450182657 571551137 116666799 218880685 70300261 835028563 783272497 350876963 531335863 176221447 529229921 19549361 159114757 81814401 613337349 200900587 869833221 169175655 438725639 40241357 454531097 880893515 765282169 517276095 762273349 716313767 278210201 926612107 968328763 861367005 329114311 359482727 12915283 143090485 810401425 227185139 60234377 95388639 899311785 655047729 982467461 240699383 195000043 334182799 351331737 939544703 243286361 647270883 889591737 899594587 898498335 882081387 375802501 141771875 717119889 161944267 148117317 990299723 746700585 815846927 573504233 97879989 674839689 206015919 407943943 76002349 289399679 295432839 23511263 563511587 619180543 86485979 736179287 255048431 952165663 811176539 360569599 632415187 774616105 219583259 232225037 526802681 625283971 387115159 916627555 566149489 730489795 978178997 137667975 689077557 907489443 588870851 16011945 454801445 107751429 21096565 520795293 430658317 246243065 65157355 188900839 650911899 878166701 570652837 911676329 88055915 434794879 737573271 531148983 528050685 292167665 557545489 134912135 839356347 716467121 80297937 282753589 281713141 222305935 269366015 791310221 495237605 220973959 761361701 189541371 659968171 572965309 242870843 723838871 694936147 169993595 797194651 191920161 44168907 932071733 546659087 843803135 327345903 159831177 815176127 970011971 877384575 196797749 892241221 843629217 517190179 356403241 393894553 219510393 828963951 515043445 804500261 287916499 674286299 509003861 84527029 706449247 323762119 880576045 164424061 974556787 463826047 169555337 815276827 551871503 45950001 568729113 407026069 813558745 653958905 897459901 351217495 184800545 31411927 895499379 380583735 696624607 130291379 268259691 744690545 279472049 605288289 475779061 595977899 596615901 33403545 64306575 189521141 107428695 163395067 562977753 629479103 256363441 126300177 312542625 533535211 129030191 974511439 135402967 147441851 840101811 24661257 916719771 872918237 644845265 879101061 103432749 691941479 814129341 329644521 759154681 424421591 156396121 897188681 92854161 666575889 759586091 25155997 441463219 64930657 75078241 787001797 132324671 574451839 228533203 942933899 238646339 133302919 664060161 156146337 960301809 444658431 100616209 417426337 744846499 578478801 328865493 43058441 393340639 602914135 373751745 697050183 594114127 698072907 839293685 815760551 751276999 898659283 36265273 966576743 527169857 339327869 964145405 117994917 572088031 173378879 594717527 841229163 519590383 330295667 694356229 792877739 990112739 378550497 923273585 582590271 133599063 681391029 505878441 775707365 877518605 425177221 200771941 384411721 218954481 922379597 521240067 35462141 702706455 586914933 258446731 730687863 139293881 309526983 234128811 661526043 310980923 429062011 894465213 127472177 910634279 698588461 454436029 856377835 772210993 820661985 655440981 980252771 757113141 541742087 610737105 389048983 676777271 989235313 321934381 505286771 765019743 185858911 331329027 801006535 918738435 122997 690067615 197901647 699120285 372880577 59974893 404296105 265285841 798589367 70922373 979557983 892524137 140435509 490670759 505544419 720405337 102925185 747021625 519382413 369259711 270848583 328425419 27324063 213435353 401878941 314382997 182114115 182573333 438473727 503805815 568490121 760959751 285829203 214484725 89135725 117843819 145026793 504357697 33702091 303298081 575371889 993879855 907563633 303821877 489532173 121485635 848752655 597591261 468584767 390591649 635922749 393044593 192172789 448507929 458637695 939716983 51026053 73699619 419245881 335026071 617932717 798484699 109926083 26154151 287300753 676631309 833304913 899968931 692115647 89211687 867773445 626303403 204015147 845478717 249585387 238694669 189942833 3888913 314117107 783621689 941874331 413708555 283182069 854683343 535447699 637888313 196196275 380347535 922987437 280330833 129973463 641809507 850769131 631605429 13667569 954119011 871201709 365879145 531216507 922235333 710933699 998137631 283426775 305324015 990193505 773150509 270448203 682256749 791796261 393602195 160459021 345769457 716562965 966362359 177758259 205322327 88625567 136478123 10646975 522300833 996285333 685258403 609770139 193692155 461149237 986769279 921495959 193305527 806039079 799274119 785672813 703949395 878622069 585557931 298714301 700372847 779160215 887232895 506912531 780147673 507583849 989100103 526106589 515705987 386608175 356931815 331661431 824847241 129999001 200343023 72402977 895671597 819241145 561363093 152013573 945536219 930591759 423165883 366806835 741470759 335984767 18503911 753970085 755643339 1787735 203433799 906449723 778166441 464664139 243522229 468368833 239777999 317990521 384547501 371903205 753938545 314501479 188864857 287075651 523029735 602919425 837422725 102119259 284884405 754938269 816138413 232905365 410385287 783259383 929269739 32786501 516315441 413034807 267692299 197034147 792167085 199290087 385595511 230440911 769375263 475540221 579679565 851264213 620995793 421513689 71732805 380264611 472935479 643775549 875173069 898878741 764050669 796633689 348318703 524180969 658935735 58366143 873320805 156432333 693440125 471250287 320931469 150406477 189456725 617631949 192725359 262559207 718596473 680450725 506640827 128475897 188975693 125845295 97713095 807755983 749382749 985693703 914093457 646015383 282670681 253384499 797087683 180426861 705128991 500801565 424765099 596978255 580991411 749594271 765402433 348627243 566085693 836886515 211678753 316408525 647724821 991922625 760405143 144279027 865300657 716957459 198586767 636878651 292542903 601892191 451668643 333982255 566729203 499091331 750634255 836655681 275331925 4307141 105989821 793500619 285477629 466411987 540673337 185568011 242295337 583349695 505779901 953441071 949096265 927477511 754595625 862060355 594814189 393307795 985332993 85026117 3089107 940480685 965466231 96264979 145691867 462128653 89920609 706534263 721186835 713550543 234829119 904285987 548375981 912073079 653995575 997756335 722312195 318941173 277786651 272775327 938931611 791410843 261720159 456616025 827881503 759220009 122104867 460258095 503098721 973099459 579703087 106530909 958218335 726768119 22982897 22114049 501598777 414176185 102157187 858676517 839859517 624387177 382187171 223898299 690194397 432529863 706395317 668229275 67999157 952991493 29148621 692691335 596251783 201040823 245915809 362898219 373827903 221452507 834769295 773567251 525932271 371290579 571731869 452672443 787207125 421845871 831767423 283863941 439288403 853872869 891283591 442017721 300950515 521992913 70504375 856958857 254966889 646419511 150636727 472855821 400553105 672633221 3295955 449855047 436669293 159375763 79596039 457159713 341025577 700737177 285375981 133627757 310533145 908663105 13578447 206573025 882361783 995473303 358260893 655796001 552692135 603148303 152074733 407588275 522303667 904859271 473837823 558031885 305566671 943160645 588703417 915315589 957781783 455263219 538749869 234605407 612540623 470750891 732283661 723857855 627801183 433456359 5360063 47602365 417991517 897275023 789919045 547067213 466278531 689459949 15911119 232351825 877258421 539444663 691934263 889767317 376824829 109065739 933658873 819329225 439184529 927027055 917886783 178690693 496489417 914202833 728269527 140278091 14665001 179496323 888805945 237255813 772860767 321814083 347669889 446428035 96990011 923833913 458422139 345595519 258064569 249004529 297844883 23319449 550566397 781933661 458636259 688831453 408720467 311682015 994812455 839057467 922294059 79841595 402076359 847733387 890026787 542355611 182572757 429842063 755422463 860088985 277141509 581325551 546061481 316558639 986399671 715808831 965020723 272001219 424086517 59922423 417069785 301651747 918134379 306772857 856428033 564071555 783200113 921672971 980446257 830643841 615320325 152002275 382412833 757532963 281770449 446126615 346789289 662754773 555173413 223857577 877857487 619868781 452409077 170234753 55577277 852157479 357407969 498250611 470569157 623631019 233196337 522949687 768916325 429850371 953063635 614122605 119597885 545458343 436871009 686343073 38829083 466805361 762148887 251074881 927117297 873030571 286445279 525402537 65006555 683384061 174434631 604875545 127140123 786318209 49399173 195806905 548665885 918870447 178151291 538159517 23560563 441910385 156486575 558036413 170458843 648438803 183352399 504283897 386236981 28180809 792654387 863400475 660917903 96388657 580961243 257060311 3622683 812368209 804374127 102787009 274383925 78738581 342109883 487390047 150168159 921828945 665091643 941982999 598400325 168312389 799698953 514002749 510883515 171267223 392719855 414099209 844267963 157515985 975100253 818087323 529505129 377125609 144393321 528282877 481455631 600845375 571543763 569402659 787158049 728601749 354945281 102943969 939093819 33622809 771702019 891831037 518312735 241621345 288931217 70044445 175570619 577586283 654264073 811104469 885103389 873569691 561473651 854262427 234996357 549679549 463229565 603077331 821570901 805168649 427224193 713491655 927193369 949824795 750645627 146976165 522914177 795675639 508083989 922349447 639748971 915229965 38522013 183643761 86688729 557095727 998563339 742042441 583243513 801879711 139026171 734633185 917094683 175862269 748823481 49225461 622260155 653274969 19351601 226330403 437218941 137276199 404986619 602817525 956786219 621553989 302860887 967838173 432050619 95287801 147462445 600788531 777724741 546038511 328697353 677781051 114541839 723877949 798049829 627622939 359958145 259826527 233255521 303485925 299373875 175925309 918789697 354376341 389195739 871301153 958866679 859949321 466938719 610757315 983626329 530633995 862179275 905726271 355378149 782443085 134984015 278696217 118787015 988601703 85343563 55830847 47124425 907908827 696821567 304998153 914702435 928039955 314589141 907331889 452663737 193028193 847073765 411099357 306708619 708740603 863412069 841777817 757545807 305558277 269901435 822246749 128357657 707930759 800282739 592354181 640025767 519168369 757465279 413532631 53704035 348448161 440332795 415799423 409470553 251099347 196104935 161416211 326649157 901499827 509995379 920668303 44412291 637432017 78506417 964802137 935233305 676317095 326112473 97225535 686328249 938064279 37819475 138980215 894417851 722050793 735063207 627483803 547306779 930849231 862462089 17397939 698399873 348708193 517601749 909738797 37188669 996966561 509363341 112187867 918962503 446983033 516028893 661332989 143307839 33765817 221205271 773115701 414757481 446124571 93519033 976317589 450906295 980268863 367843685 292064143 746495167 909897905 136150245 450109185 577561535 610440161 237436205 833260591 176810915 867091239 411779929 209884617 501317621 1598149 973216427 604556001 653612781 51704293 423309711 839737337 617348205 404140951 139288729 42840049 959859963 416157653 995073923 903420697 796396743 406578303 316054065 901342757 330048165 911013473 274640813 386677043 204857625 684864041 537015595 302356169 529218885 856621427 720147719 794766035 417940477 87190463 641862085 258399655 152499381 311669623 799761165 359209219 402548879 790693611 268086965 878654729 799864145 411579221 106288567 398775627 424436329 657806805 129137975 57504697 857011183 720209527 439337855 392041397 30791587 322966825 948529413 531505409 765465579 925961927 305879905 96459981 758776025 6629905 498729049 72032939 159977761 412718769 599830741 200397211 958624547 124784181 475228139 108225281 285660647 768232731 685212117 558995371 730407965 626227139 550052601 525488333 91359515 247558003 682671325 449993477 875562465 799380831 274871609 505691481 424636437 355143585 668412133 810876981 820107527 822039609 497298151 927490157 395250861 339545615 252692839 884446275 914464937 205001207 693653693 732508247 569626945 282361769 867003999 267315897 588868709 358323397 630156275 459143135 843268777 774176727 388875333 625752995 511432273 290802509 961899591 232234573 667439167 899172993 68548115 640975243 443883271 890449079 641087471 688758127 823863773 44316693 523267909 457705337 162839971 845645999 401877927 670404491 972772319 32912765 749258195 422809847 931995071 590612319 801662121 883032943 583778587 782466079 257017911 137773073 557092723 80561007 579312815 698184801 814799085 981505001 860549485 250320719 352408921 751822349 165178867 293983279 760492335 959964995 8365293 25430973 747234959 193386717 217839405 897527583 395297341 370418455 66374833 513388259 34567339 541886991 641567643 787036669 780170991 399844559 711284533 157172429 978804167 656507465 58046707 661670931 33184925 476562519 332819825 45465091 422787711 33387191 526712177 634670893 291068197 856384533 487333599 66107279 346420205 877868291 68511183 631048593 662650591 32761591 175468409 712459517 431065001 230892373 605458245 467446283 539872933 69317221 664087483 722533975 193870287 733589081 482687889 929867749 699360207 435904075 692306591 477193763 401552119 699526969 205585129 130260201 995628091 263345935 799917467 415266161 568339005 496185247 675298313 240393569 256662595 951176607 51313837 841795527 503149883 607219123 318993963 34645527 916595901 204093795 974551117 337492271 993892873 551808545 948041481 179583573 618404101 29524549 557497207 405925941 476464961 696674833 904942811 83666403 330387701 58218159 995950499 599120865 239745025 75028273 361784415 540542223 170196713 174981005 601866955 590820285 965607901 137451943 434342603 281765025 123084727 49189447 943148395 856293333 927531765 40390685 40896987 906502625 68775613 840869061 839154297 211930291 855583711 951033793 382003657 327271069 168596433 798505847 53543797 88633695 655788469 884769337 970282831 741889309 471351633 970150721 291421779 817238883 252874773 68618161 148850085 811534377 557971989 33544079 619555729 111508171 782680851 914784465 827375753 515132687 887779703 820184141 534923303 421047327 695787343 214428357 549132849 710131605 75044689 118538723 487933329 304424555 111900125 751865143 169139545 795995655 717033469 954046779 528433607 36573495 86318173 94789201 561917243 797370673 118830165 542132161 617864003 879158415 690830053 879106235 365710225 767603801 59251635 88125787 579941631 93303035 960238607 381711777 224215187 400183627 217820145 672144503 21466743 190525831 832803065 201667245 588317439 173380179 233622379 712509949 438419363 573049275 540188983 276741127 897196555 618824759 299554039 510328663 164111103 606733217 648405225 666789469 270588275 835339331 667355635 389554287 22272897 760167877 861530277 298341075 971406193 996649025 67943477 670043569 950204073 156026161 192860037 852165913 539777213 699789435 284398107 484470789 281019499 470358893 168711973 402157397 325886613 602468795 671231613 193006293 471301445 587422851 10994591 820912179 708300463 855421259 25114805 107137547 280568879 774006527 947218315 65733853 231444295 428198133 236696731 554049041 235133091 763304425 238919685 526674171 380245271 815470337 961229453 270450131 262949533 820292301 733386917 783547065 938531673 147861053 600474467 591082681 987008661 750513075 555534215 893627585 991210439 754190321 557681785 794711725 612964743 12128037 171179333 528268859 294069401 984904679 752255909 281402393 19400427 307809839 726894839 866604757 321972875 648548455 127828803 26650599 394366139 574085211 447571001 459666613 570441433 728755775 21975085 970220419 47680369 192344497 903119139 768224389 192075577 262765749 651583423 622925525 394941961 49379003 940867153 162552177 66471397 380326807 286883791 39024711 228121083 516571781 956145371 515569443 175443355 576799531 433183931 692116675 954130753 293164695 245512797 782555589 623747473 58231871 505412443 905660339 548356695 679271165 422407921 109841919 368503173 230276633 687734535 799009027 903660085 951684671 789767983 989546239 835713453 80822917 685734301 821313307 807211605 656424297 495407155 650815593 1350341 629752783 387367285 804942053 284685491 77989379 816939413 498103405 480632325 581308605 117500265 693354955 455382471 867083287 161915249 573938609 726267179 670395035 289584851 894926263 50186893 856582195 80868961 646717793 67306605 797899059 231434637 482155797 560308347 834500955 88590205 378208039 63300233 960971471 851310579 978659021 345920399 859640605 666982495 326172459 46100661 687388729 569345755 504142921 336307779 534605697 64065827 149440537 506888877 404179643 957230497 477139315 972797837 248242451 903284323 380620059 589748905 275791903 844164641 591124663 311398123 715707611 60133177 514062809 338197863 340534447 943908017 386778363 582351959 69227621 198079805 516620415 173258781 915438389 279455279 583112621 372156487 524722617 526585481 507915191 438389383 416370937 276397043 883990197 969276345 960119139 823925689 996411051 441301727 497267657 846682581 557793917 329545767 162754667 858937831 327816963 799448543 15406573 912617523 62322161 207630215 889427549 970858667 203127019 313652417 85977135 569294821 375425145 737583703 274449729 826550305 804099851 352622911 197510615 20743237 406235645 368611217 225799585 763039969 452420753 682740113 260322483 134278445 218573549 530688683 375745673 346231815 326874915 237993075 325437193 370176247 319986221 128069539 921765249 157826349 799548139 683111199 305300391 908290175 916710185 634232561 408270997 103006315 636985495 417883471 572679635 791110427 872509389 23992721 103769677 757930077 668964173 947655485 612052313 218197671 538023041 784872699 879010229 798657563 577162425 105318305 330521733 964244351 665808431 958682921 920521301 72726337 429057797 273062839 298426909 977719929 186072641 470821527 298336825 599024105 819331801 854766907 381380461 189241587 312224931 707279933 198652393 526956203 604389217 843015265 96628287 877075141 89006523 456696725 262677615 515822241 329192005 14804969 976483551 874442825 411250807 700566171 940605271 124672359 185822131 14252299 862550547 586990679 48146495 284591047 286899371 416247575 590922833 439025023 645812519 865858125 519949567 908395539 64884467 664410187 181381451 510628739 619432933 60540931 211386141 871329529 28804409 502812187 898425417 844173261 794538135 83982293 50172807 941939317 608945929 446920737 21521271 30302617 630254087 66255001 857385893 781572865 806319211 386934393 274490239 758273183 483075965 884523947 928302433 310246291 257515 243680701 724875659 117197597 434713287 159827685 462051109 626883497 414288529 210297605 869223235 285919691 157553197 634454179 764459485 805778235 103658473 451214829 47074515 352204769 442507897 793709499 46405873 991245509 484008955 516080781 302187237 584064283 91452659 209913739 662847051 120812863 275750737 152832897 747655329 294039475 929263977 462147049 67959381 740744227 95404279 383978467 738985907 242336353 266061345 696502067 541559801 154755947 865626231 27178315 900642885 477389923 894625257 28404289 203603619 423408019 738782679 445521877 690404609 858348911 674660359 222307437 803966521 724926867 111953831 796302361 837493519 500608963 870402633 68497 910987049 129763047 750394093 244880691 930183707 953831957 956178165 588391431 888335451 635628423 147401523 416346811 986089549 69156257 635183833 126004393 811242299 103662061 617326723 876742861 804147795 565992991 646279483 953686737 122068911 507766547 929100651 792338435 916082515 632039885 740423655 8021081 242179621 297432181 606109935 992001397 593278713 783815521 747992359 423677853 970574725 924227083 35436701 21696703 895209325 572980759 994208709 32949107 430638905 741448785 102226047 962676729 366322523 562457001 773040397 24345401 471129901 988114495 440983837 313721791 541378029 182596177 843868357 169687237 88717255 964707663 739395457 209788715 690170061 828498121 770088249 640145525 964977653 551698811 986934583 210261461 113494051 295885385 551454003 841750817 93447455 344302399 475104839 322575319 458333339 623170191 133103613 969364003 451595567 578588563 617552701 505922511 359335773 283480529 501273439 934686547 886825615 718020595 72956705 451240145 776914967 81715915 958566311 239535375 609973291 408933461 744512895 964766845 292618991 555443895 845039005 236065327 414544235 926732601 978366047 242774761 189831825 213970253 95428235 42665487 654181945 690548115 218132045 926346415 836522021 357691083 57912377 786170501 988157183 38115041 407384145 95498987 48010071 333054951 324466421 782901229 547429031 971706139 792601589 715486007 446726737 55621597 730621831 554584865 423502493 412801211 765253957 440282027 11739069 100286055 639915831 316306301 865397961 795049149 402081481 753385187 230369475 676349375 586138067 519229655 553024405 978185369 737597837 890901497 447837455 413127327 639056289 122631053 142828011 664399433 840066331 841244293 545488075 647692351 837863789 516280951 228248373 767120457 172616569 17393825 373943455 815965787 767932547 182920429 367697247 917614993 545550135 776433387 153969079 171450669 325277865 546765005 358392529 614829981 715135833 373269111 174100413 273690479 841959979 528583279 838141557 848036963 528777581 371381477 228905177 306288731 720495061 825142957 346979253 737761377 382645117 171943499 778000825 163118507 819440365 363744993 37434493 217710737 669254161 473271107 422808963 977128855 893457727 746741477 569370419 193493609 432791603 378829545 782356961 291050203 129599253 408944917 11170501 702524903 775528815 318050519 10508031 408838321 214250297 915621959 290479259 3202437 412100559 52503845 35929991 721880787 425252085 594833367 444059807 134938681 456188889 892514415 163073699 420150651 927567379 71445409 5470525 351350147 667869341 381168589 336629757 15680355 839664861 166120443 658029915 553335639 31376287 66643163 175039421 903533507 215145501 556131267 684929639 190623283 707775727 148946867 832394383 720272471 85372187 972843601 388266569 17601807 589915409 598443245 977183131 658821977 555406757 210968957 416793965 882805605 157339923 735678371 64710285 257480067 570571267 486436261 393195705 977033007 132151423 88915315 107293583 567679503 836456189 144373665 644229019 669140201 653353821 468221041 894006603 232426677 878117857 219135691 91564027 49866125 640605239 413633853 229835497 856363955 734039671 855666941 227520579 420648081 881147417 985495789 59539477 464491967 897221895 89350289 392311645 724803059 67282061 243034395 312430841 145538069 730501727 82771043 51584691 948926509 25052569 714028517 511458879 848375407 751024069 840552905 533467697 30067253 516031437 16098783 658875663 389552901 493869317 458170015 850370623 982517641 6865453 606394409 33927957 598164117 768861803 695694657 131913671 977722403 713700425 56438361 835194489 636801621 803657405 233459845 414200883 596190329 159832613 912718985 177019879 294395393 789773127 218787785 182804847 225570185 456067151 190513493 36139657 691596755 357445075 894743781 193873379 332369099 981971409 693549527 272333833 670849157 85024939 764834867 131279479 733694011 301278259 967756199 327539855 293731665 236527257 709811339 192184475 569917521 80542079 494438113 400126151 72667631 728132841 732886859 732919859 556003335 891616833 183996957 149224411 209490587 650702689 109810251 255226795 137077465 900618625 684454519 494036853 752733711 95512139 885915621 183558639 590272703 767682763 445748103 941181373 552907141 271258741 366691061 614956647 467349043 252821543 16662891 972202847 668545207 247012135 330984657 283096317 163695151 243295265 899211447 174896515 978420191 564157995 175321941 915001883 768092207 874308545 117988491 356574167 743349 383391179 332138205 76533933 921605675 414844051 686480507 83684993 868444021 961468111 409984575 910742555 571513503 80262815 395980455 891596331 382132443 854413445 128263897 776401487 437239939 598364273 340521381 359250435 230542363 203824821 966296705 634556339 796692817 539368207 115085967 509059503 721824245 825670567 214897557 844839729 391897861 251760649 88104705 940113755 834775969 58971177 805516525 60605493 648362517 425092453 524056853 382248367 357808855 625567105 682215907 58478757 646086529 437109165 85491043 461645271 95918035 341759357 659496017 418557679 244872381 457748461 389089031 724717437 542553423 588350051 847027345 580214267 42861511 133334957 978157979 890470091 639934597 263265023 781009789 279221045 718917911 178645753 196029751 534205545 902076207 421533853 579437679 354556035 609503657 663488601 171234933 732223875 52511623 547431171 669282113 860084819 714829555 534123225 457056883 284702147 715554373 295315069 405531215 552050573 734878965 82090497 381803205 650514771 20511397 608702421 472113263 729747355 192044579 433475035 807817611 744409307 174432353 59605589 670841087 322212969 542051195 251057907 236303195 169955207 809118643 797562311 407505877 147453021 466008181 626682961 218077007 318852351 806739285 542793845 196299087 371361893 716820235 875349377 455668995 840726895 822504575 315071273 66747973 394463721 914108345 905855117 605086865 959190401 55988973 613248301 928697359 815825107 204026231 670746619 607989393 667972191 43688155 568334411 796360843 576620429 575602625 764163803 537250847 842709425 91215615 959797965 945936913 748581635 566762127 320522417 268139731 104260003 235566227 222970749 790672251 127403677 401164891 744253323 640883401 69869791 810219349 800648613 550178853 456963141 6369311 19149811 713576091 651553423 76255101 475353869 451274213 579101285 436825943 297486577 641123169 257053275 851551171 581874179 478673687 167010279 91418107 180239 451341495 688839791 167067491 795021133 260935829 827492407 251368581 185931097 302997685 89863027 511384599 84586553 97939387 513316157 390956017 605973849 86302199 73717909 56492057 815088269 702355039 213284195 805823415 335819031 53606293 372870011 402779169 351736471 954851551 52806035 656721875 466002973 652707115 363762767 12940653 801637149 612150291 829829945 313009339 772466807 130890963 178492351 532324787 953415533 490951507 507367483 355844461 760865965 98070309 562688241 998505263 534443853 387420797 743116039 755195235 227827145 801264445 393255823 333423771 412564745 440266217 787969157 346692245 415892313 147798195 870126535 95009073 873008491 409751665 500057119 59532157 446548833 857679779 368861759 999111337 528641983 935091567 834995649 814478613 184638575 925362853 360245795 187419457 355224011 913496765 920312273 367196889 958573453 977449175 197819677 946595759 509220827 713503415 927647037 596515521 198570563 99950541 790514005 948573999 592813241 686779955 555110765 298419527 79035035 362629541 940244343 944087931 296021935 54682253 233444939 451435367 582254881 731178745 774705325 354879181 229087367 429781921 729972291 846930073 292118237 241044707 664124575 632685533 131804043 505667013 916644923 477939927 997605211 973026041 96865145 261075433 11034499 246118871 114969505 54805149 364788387 913209179 266812389 190789287 674864061 304558383 130566237 922846947 933600065 251897503 62030605 303779411 234822657 960563621 616437467 499078947 175330365 87142369 672805017 92312999 205190297 498747799 636343297 104287065 29609249 143883961 922519733 751738843 698509901 68176861 708859709 500276733 199993337 470410563 571738633 409340589 897094763 698456529 714772599 561517577 360563023 58781719 678738883 985238099 113759929 703825741 977622041 658219257 882613803 887518801 938489737 415559561 63881605 922964651 698205453 637448389 896084503 842689931 558431111 526326665 828594581 601963719 222447293 455663079 797024543 928677853 431251045 458756109 427705399 882430711 750697749 335099225 845262283 114715107 953021263 734349647 625312561 850501399 839213181 534774423 799657767 961240245 164662255 67809287 402754767 266810243 893053407 929118107 360393403 324308463 494569071 20049779 672789469 424056081 864879781 792279771 483879059 971997609 743867255 94650697 114064801 275432735 901323451 683763029 675899191 444532353 667259443 583378885 513542119 538405765 421304457 207702147 96607665 234314123 194270797 487500193 769542905 314583707 104636153 899578459 974100365 342194277 617978349 921165333 582100897 370005823 838467445 812973915 336677077 513898281 701754303 70179039 515100969 518416585 513511911 190051963 297538575 915040879 717095661 192003125 362256731 812194067 561311417 500576567 43622987 331381587 887078175 451904723 66354817 725656183 598350039 960786823 689137423 77538159 743812739 502865395 282598757 652459985 822470057 553953765 760061029 2769627 251368893 803695951 372075345 69286007 849754905 141166925 547079383 952665139 88951805 909221663 651954191 229606469 250478993 611523893 893156211 44336783 137716969 55707681 63244777 492344727 375885821 312933277 967400893 822266251 91791533 379056011 854650791 40770883 843735493 955838201 441158083 661792063 992514547 749943065 565975703 529369255 434402003 612784711 252750863 252940359 294928355 880454405 483252865 127824793 128212369 181224191 286776233 905500093 382137899 396473865 127802797 969294455 650730729 176495389 200110107 859984185 318564591 663289181 722082025 202399769 312144455 334192409 627480433 156119767 480200927 369320639 489761659 917792217 982910865 871675885 840871987 620786479 610645793 572856421 97239857 103187857 716972853 533869843 13930349 754766173 789508961 523099915 560980561 89993115 246230045 92695687 119902887 709672185 535014345 777881579 850442151 871363793 90431919 313468609 441864173 461021215 495489793 215538367 846976639 471283341 911994327 987079869 623811015 247960937 872007221 742598591 836010655 495693993 808154881 262799347 582686529 121744879 115464463 580436393 615004755 729128833 101215253 262235741 670310883 353429837 907467191 301309875 663862373 348420587 758590077 183949941 961186743 219300251 565500121 967264665 370794015 35151173 976296997 434280247 598664521 823580021 641624479 708010389 743470411 199215973 155249011 492544027 497901987 906501109 155213747 870444127 379973683 46521513 434856789 875879709 934599757 82156211 663832381 115979573 495494561 441444329 892797747 488003251 330348369 500095433 503614185 356996557 354156255 404822141 858995447 6704093 533372219 882986965 386407393 167117411 496634807 945046083 659648781 605167119 109476115 929514475 27056589 353542065 891261555 759102355 34146395 295294791 298705509 94196139 286873305 327922929 404952029 133429063 203293775 697597437 262218041 15595819 310309295 969500125 859339581 705654969 778348753 289604395 616540185 496157445 424069495 833535149 146249313 823787973 536256587 361605197 782952465 411461717 153049053 320786463 465344401 897923265 490165161 951593819 198967467 89735861 789706507 503171433 676950421 304718985 571947089 438692561 509228015 919891517 194844587 122478663 277331899 626024569 878228529 490818981 2710119 287842697 799105765 190741745 197833161 677355623 68136881 316470613 385907999 945292211 716362853 777727013 100665357 967431857 233394107 358356955 894312863 669379155 478806613 217439513 207594829 550754863 57575355 769855919 614604275 635825027 473080157 276035979 919111381 186113593 666850711 635167691 592075427 556241375 360965801 98732977 101901425 762457773 930902973 412723113 690876603 323698305 500358627 252153415 999354983 652504547 211061013 897469765 645143491 349771523 959257909 363912327 996995459 53160117 176648969 224656663 616282565 486023035 361980231 430976553 981189903 180991613 772181893 725710873 118370637 332306569 379709253 900233579 46685909 350817557 456851695 914104263 390182757 343372099 693633239 701608707 269708065 59949273 252063285 313625625 534609301 370116421 328912939 270888493 113438905 709023903 417203903 724518281 164789735 415193767 565895655 209543843 11249385 799663555 826887799 617572115 943650535 708412933 603090741 384965277 675540857 123296801 893072841 90187311 228617629 671639671 262675395 359412441 487955127 252581903 3749789 700233943 547191701 898831769 172480951 981216397 754850155 940497003 250185563 917586823 136781527 214105987 691127741 974435191 41503967 807826573 290017009 959276343 610471919 628303571 404910333 86890445 72470749 501642829 422449865 339843937 688660453 150274205 265507107 382739017 411902381 543181321 898828745 683273217 411952709 921406593 125700697 399175721 225014301 14219929 732852575 421195663 567029527 852021907 373056329 317480229 853378933 708651351 601309555 765848325 376350437 876219763 429020443 918867829 858588029 20637213 761306735 454178271 573271227 622966327 783260539 69542357 940718211 887860549 610668861 358997525 618740769 656165497 310507667 189087103 323763533 802717099 329088329 154708513 678936867 800092247 629213453 1799213 13231401 341629605 56220281 611435263 692752457 344077925 648185361 749181465 986608605 160286223 233748283 931913255 642023071 698291651 34636619 92668923 98820533 58279493 768922743 945094547 843574701 490327045 468053219 455776015 892932477 512652317 515817367 597047231 674932607 684363595 168405895 216385297 45763707 447395573 206374023 333185441 522293405 894957099 660400219 945818167 747818619 517899429 835724719 802133177 892283409 306933697 88448783 592027451 767592391 558673285 827018745 260124923 962724199 776594853 824138187 257217883 518081833 595078771 444623 412108517 931793577 66553331 842317623 821648973 970187755 605223623 737601563 50914159 78051935 27403587 206017661 425439311 688312279 591191131 220768327 688385557 746117011 116963505 896741195 687099927 546639671 333772681 688293439 694367439 739303377 513144277 262283207 140396769 163057365 254661421 418537323 728267287 507502881 270900939 874179229 863435367 462475259 846051485 539895221 412715241 428204047 727755309 503230711 273860833 683123315 699961781 245538697 933035197 121471907 867778835 507776125 215398157 87491717 448723665 511105997 798599565 968131433 464687897 200325467 471956001 252540159 261398215 281016815 709566419 416137577 512630873 723448379 996312537 462050089 463448309 994272215 45780619 527910957 436945259 947193925 267467887 93822155 618569009 942621679 530585901 538629313 607639913 710175013 930425501 454415411 247124441 295806753 786750389 219565743 333868015 811690757 22258587 175825447 807530437 231648985 376952987 267281917 685639959 799859853 400741671 945948661 863746639 132221183 978868441 632920891 503923577 964025579 504857975 914949987 297538897 328171515 400890347 392346991 357220913 592706501 177755975 967597247 309343013 950173885 52378567 97954339 165858009 153274693 100218321 260031695 750417573 785128105 80939245 109761377 469872009 30745113 733922509 762695903 987146027 684569517 796649041 901190583 108159195 20578151 594392697 246165179 47694993 644069935 685222769 916716585 386309611 71823065 970366347 362999977 511138099 717601053 652011589 862839365 124752467 905234077 222600513 134061429 199200231 332395487 840470855 989715477 849645101 297571673 478117201 7563369 179820555 640719457 510515059 116249121 306009105 578743865 979442165 313035087 349485941 876357897 957111361 349740403 718577945 891640549 520110059 458688113 71467651 700801221 284141485 7984023 781564129 459704203 412771947 800339097 626894861 421343485 358208047 576186005 823011203 967111375 501631277 177906961 644261227 815147419 651437249 610281209 314196375 13959649 584203885 369448867 248884347 935904523 178873565 776446411 806296633 268079207 858682085 731662489 513468309 919092787 318196863 774122135 229264129 962201743 678081999 960495291 109368723 31494273 457035295 979512165 455791115 432533757 46161123 775608663 290295247 579596765 543927481 196598977 52372465 890087137 169073247 605704757 955831845 967730865 353527235 612264883 38118347 841528801 150947065 55601053 238933739 5060073 665972027 615280581 390979893 688665129 878346221 346539613 775197437 183428843 245972891 544737539 704525895 375214177 588499189 234343357 165227447 418413989 857161691 371123189 819823005 429575607 407616075 840927621 330516207 491627647 810050933 459081127 761480271 170359249 985404585 948081155 781867779 489910371 932341347 4102563 455609849 835572953 804325191 76670973 15401163 423461053 517522721 630841327 860376245 721917821 448829409 441567423 237694879 759270259 627658407 838689561 347511579 56814819 50019507 774944277 631559517 741605107 646187119 627776043 751223367 184029367 957764721 185690693 892444253 119307813 311676533 415802029 285437393 198595873 974792795 155156507 262914425 325500019 482426161 895551147 658622421 388975821 50447401 456677601 74842123 950613449 343096733 880574125 284640491 566686437 491470355 577034337 142113261 256627341 933249333 681854909 920458287 605182227 102118613 754776805 257865081 552695725 124525553 805649255 60853563 855148415 367327147 60463415 333102475 903421585 589125707 993233845 726463527 790239957 608509001 481341601 466507641 771815205 363897151 722905901 448990095 200611903 905479919 277623533 718863649 547899855 58622021 562860255 31431307 413917029 641445461 754880101 460677849 223875965 69868375 22304335 520152247 157590131 443449779 653077971 883543935 802281365 965061873 413581 791046189 389339155 590707909 317334657 704384105 39721479 805194763 404635933 625903493 554781551 311818693 171140153 677561717 983952183 731384863 453687821 257534427 540131887 883962733 908404547 677658363 862587409 732557097 343429607 62520007 828855423 309682935 74286701 41982933 994222081 718502817 222116531 377661029 638787849 256281115 519751933 544854877 950980847 381423233 193264379 277780301 215123701 159957783 412565697 671640941 44847429 713789765 191435211 738402971 647482863 628957857 116363777 396768863 907630573 906986981 532297389 428022761 737508897 722487797 265905541 39068431 856094803 100555995 569187239 426598735 913069107 215215309 552346265 107327699 685582429 626938147 455822153 362375017 175902545 126756193 712865033 308387207 826438265 128496693 783917207 997320527 274956069 184880751 427205403 367325063 24546191 502551563 480968993 402580637 869858265 90540845 514460571 585909161 647220491 164610849 154638059 601482091 495057429 287826775 261315029 508346187 770272467 410101359 523827331 362865237 384308997 840607527 297400719 357168709 17065813 248177519 801426163 526442613 301139539 165927255 691086101 807472879 240341881 930578461 237663683 203606371 416546343 749032225 375844657 484837415 36240553 160671983 899036413 28751675 401535277 94093885 991473965 959993669 514273487 304534757 22533933 265818261 469707919 539309287 506734291 505423907 130680919 454176627 521458523 409058957 626640885 368539099 600111213 324229403 431044647 24847511 439055123 539580605 424976781 530788431 567186117 558621961 608117165 653069001 718914141 551770941 638975997 284138493 688255269 913486147 959622865 252947717 268583365 482805417 909176943 232626467 388389717 699446181 293398015 835082435 323487827 810539033 208092815 990103159 962670499 879600267 777002013 62763005 890185619 914349865 95014023 812499767 150940375 760788171 454248601 544775471 591309197 183763441 68224257 585825561 44894779 366684099 559138651 838974799 706819787 406252813 804068135 340847193 517575063 915434825 87639245 945317853 301883481 957320087 830061729 622943151 13037881 131849147 640298969 904904909 94404033 374277927 101796761 425380441 978416615 775218673 856326123 76739741 532179723 391156697 911563453 816211469 376359151 789539653 55342827 870550085 569151169 61695557 886765875 99592967 737801751 673236369 956974403 696285505 920118767 837847943 117964967 824957443 296730029 141292847 348784093 423253897 282509341 544958263 92395331 269355061 92015223 995693305 196136483 661171607 271081303 4786545 886756271 140026205 883137473 230650953 538366465 520077413 801883173 334016207 70064919 715119027 942442325 999315193 90316253 890787183 455870865 55035497 253627173 932503535 898765695 151762277 375098021 146324141 66205481 739341787 47789057 465965389 10860805 855242339 652356545 440681627 619445489 985609021 453789783 708445575 255808307 272835409 516792605 961144367 942726007 309049643 579570513 159876311 583028179 6772229 589651743 937312489 182785987 22509245 574232217 822068215 299785519 975823069 50171573 62189757 454307169 60726673 338444887 123187231 521129489 99147439 687352647 682263593 705065563 194312123 859425079 280324365 292544451 879361753 903258815 317660197 890234679 621563865 633856611 509806327 374604815 749861683 881794441 133173803 7499013 749903109 189350787 162456217 684764479 746997783 430717579 95798839 117217609 735057113 288139459 185838381 572704795 198647903 525829427 5934273 669987345 787013485 293564109 669936235 808304113 369724261 405874537 58323141 870306791 905318747 710308041 197282961 912483465 894387973 804775319 938603451 39488467 727568319 361746533 525035605 136894507 214608277 415881897 462770589 101522783 750508083 729094085 561371891 169808293 386832881 201437701 997748965 377437847 106614479 894635417 857838117 85404221 66691957 534911897 947883663 783506949 709893167 392210183 370382885 15732673 362227191 902990797 451808275 471230129 683515757 941521851 389779883 720000631 995554261 502030731 194911083 788070437 851133985 534783455 540904949 55885613 793949669 714848831 100678419 166955629 656382053 835432987 599165625 854126889 959658885 673648591 70710275 294194193 13121237 774409115 774925875 875737655 280121997 681412265 550512053 504777755 428074635 597180937 842435357 189168291 720299863 90433973 265939493 193486361 538317087 745691535 64830129 916661043 420918461 179778653 546424267 51837967 612250797 126657237 724642473 578486579 524650009 304091789 282496419 618037899 177970639 111218439 722993469 190583917 637140805 630486699 337771299 662183063 727439261 791508429 969540393 394621227 973115547 853075365 174243401 258752955 370814899 762582869 873596839 284056631 525925111 462542563 834992527 445032449 276998185 295701061 617208433 431698651 967330223 319180369 834924011 788001781 732564379 113625545 987907009 901425889 450731169 963601493 304605915 425527967 73899809 743272329 319371343 242746003 629096995 217192413 952000601 151963531 198530135 981739953 933878105 127336635 636212499 118084177 898830555 866065601 760365397 690634475 415387285 799205027 799876295 648298395 175058271 794685645 68511415 225409631 249089087 987333139 215071005 237057573 394988383 612734647 975479703 169893819 54715153 37592409 465682029 493977817 795248849 914513929 732805517 838491429 157311045 359898941 666200465 686629667 202461235 668172495 916487861 865529671 749349779 465025287 717335011 948529387 291613311 771856275 642156969 388540239 117821751 213709445 558527805 569902235 88021291 481002845 654751105 380817635 733502445 975480317 86591481 983180061 924151861 988027831 648526295 522902573 58985195 459658301 9730289 843962333 143728661 632520877 121657543 374964187 692997099 425431691 53640065 841192641 83193287 286532295 310162155 953531667 295559467 335079093 799576447 155448375 423762627 340615953 714511707 321793409 372089187 874589953 134443849 150006567 113652995 105807635 755512755 140795213 107056075 904422459 867292597 156344061 394791683 878222551 951431181 983376677 940215327 892418477 926443041 711551391 955842491 733623019 23047425 372538927 434881177 573258531 855542885 999626619 525594789 669541459 861588395 735410709 495249907 778022627 996550361 100625785 541690813 481996957 191000995 712974085 496950629 744073657 506977883 818599171 956568955 965151699 201526531 405343141 478560941 401725167 225825347 647988227 460646617 297288315 830272617 619193633 590376961 901483087 178461291 361089253 374765393 217755557 722257131 746225953 262724125 925637667 176310573 609327247 383117535 414708439 749816355 325083601 374451259 834987317 225053539 641357423 934786045 843120155 40386093 757179355 34875413 683751119 817256041 469784173 691212705 144620027 562617251 132984425 410099685 672321721 694831125 192201461 173975369 308625285 619386269 323796259 63955043 968136001 678432963 863383789 364453613 610753597 627624887 755045429 710204619 461302575 494209871 349833667 236807433 427138609 733599755 815736393 387107031 930359755 259169041 336681823 181592725 937772523 728806705 48060551 34793665 520977123 489302497 507729963 271662859 807665779 965740611 174205083 117078851 235370687 299877405 871038225 839286885 893324627 361242333 233938095 390250903 682045479 963301021 318899069 258192671 484214423 245697817 661035373 683395957 318992489 959493819 576594263 983189041 228601543 126477199 678457853 900369177 364989259 995717713 804745993 144764695 830975215 541568347 444455435 306797373 542490393 487518649 185277309 83592137 395056791 961750039 965867967 982966043 120218271 529388493 124032541 98047681 110084043 953410523 615375815 520687213 207170339 461191655 614855381 753710329 267268371 870469441 26187593 437060971 894457457 240605153 84513291 764079085 44491643 677909861 515466735 388365011 908366547 976776727 613429933 519986069 13538443 125051361 64818151 107988955 819404053 934329183 794023973 667696749 816080973 378241231 113154007 944128575 916930173 886222101 63138393 772586861 270349133 212901573 945887979 661020217 744700631 184851221 200088501 786135055 913273493 282900195 344604363 306942081 451227757 499537335 468498213 435162701 608273325 743152319 146822053 813299285 95233545 378551763 613210129 123292323 2855583 279665269 965683743 698640235 900087541 796838087 797561955 220958729 508724215 749206685 886121827 724617215 565250811 586367595 967700103 690484219 209864381 28090451 809447199 233763019 588567651 144384281 171189091 851322479 982860413 667263279 587386745 265606409 850256891 985977259 344939109 536070117 862235967 828781901 854975259 754982515 551911691 874886523 958117749 746974545 973702541 803152199 410753843 427580225 631817565 661450341 485110013 748286513 64390771 662186037 669490535 592916017 879439673 932852415 881184745 375275133 24716667 548691889 221233123 405825145 156050285 797734757 182662047 105925807 137496237 809079769 541316433 633628117 286897471 753864627 425678861 25952195 407671443 449995587 389477593 557302911 987584125 158329727 604856219 682371889 152352313 286859017 60544039 758861103 927891309 670178599 96161587 629677299 685131559 869530311 362610533 410506531 247513309 539580801 303009857 339377029 5016425 142914711 197383483 39283729 612762643 719339 53748907 995177951 488740231 369696017 162467029 420184117 342607579 158347325 719919327 444793725 234350733 844330321 57532381 812962377 803143039 902381265 106204101 311243349 908107267 856738031 802397819 875757959 664784075 134134401 188673737 4592357 768273395 559580167 835742557 494524327 125766661 123872935 494045649 854258727 181077225 392839985 529946023 111407335 876464889 889183517 96259915 85998481 734631919 49394057 327674121 170478077 613410289 165026365 42053149 464089377 254574733 211217577 370150825 751116837 619325367 137796835 330337717 30068049 643984589 433321641 501367859 176159513 512405397 669501541 336984573 90813209 590828347 513521189 684518353 946864403 647134549 666739873 932983131 545316851 301015775 16817717 322380845 288003787 707936577 362422765 788674237 465641433 188846917 340697205 250890607 571672445 353985571 293037863 828844427 36653895 150587509 301663999 780483649 707648741 649283907 346165157 139107247 588390709 414982907 934822507 714469329 52622137 884161135 526372165 950947731 97130269 652798431 376248277 292299717 389878581 897102319 995299935 34743841 210488571 859841197 792333013 526949961 421178385 949276301 985516493 878094533 309419845 342725485 682337671 363983879 835799435 192620433 431735529 934466407 74278139 638511273 991317635 953073703 316252633 256831689 157860237 182683249 931366801 719453549 768832229 698245717 205754295 956956795 869615635 114802381 397902597 441759553 741663303 814448827 407308383 644269429 997324629 567282663 128724433 138236977 842890433 852747777 622084491 826974973 920001711 198789541 77675755 432459973 114987247 451771221 397528437 548166879 294394359 204273269 562278353 121883657 589445609 135865947 136305877 870415207 336284043 739940671 234210429 65941381 657532235 605070659 502139113 373514587 593206337 284231023 591450981 7008581 316002093 476827827 960559463 175327751 505482103 23101163 356415879 881215441 427221035 152617943 649626763 892971317 267605765 333212705 326708827 779313715 606830943 938491481 722327823 790057777 876466499 89462777 700112861 106429431 231235681 94457441 97859115 914979521 242788111 85584349 922762373 142196007 790838605 744997019 610399133 649792817 100044225 388535735 65133901 251500619 905691323 948383793 528726939 10745931 818668851 949782003 473184177 617726061 873646023 269620429 839683297 727668825 345199551 341502327 733650345 636367129 158936587 450796183 996994729 899410467 489539647 292063153 906585519 544079447 907651999 416108603 1250477 469263095 258795535 817190025 331730109 878419635 895901983 696222945 526377765 355134621 479487749 374329963 911465039 272270133 657250211 934877751 626667727 119908191 963738493 214801981 767769181 43176809 644795079 24927843 518889697 149304839 480197203 887897453 877678947 488645463 777345699 500581903 595381527 69932509 197146845 989836771 137217625 464580489 667039187 487766633 567931819 555944623 317521145 661978121 109717177 981591819 799869809 699556631 562353495 828499651 454731519 578895561 883161215 430730087 779343637 510479941 41589075 884091111 265765321 617410959 182243361 170363555 488638681 768357019 455925597 767102561 844027057 975548483 470955679 226462031 575832411 563377477 905748907 598719231 75609489 827591503 575591277 892228209 789202353 465454573 791968505 702889735 714876099 847031709 214162569 90808211 405368181 270579901 523522177 633085767 839534369 132283031 121787499 45125823 897878211 173383773 708446205 589945605 871884293 109733417 889923087 624690307 269579317 289668601 427252133 47725069 466683209 789338811 12828395 761017315 148708067 678793019 534853173 490945193 66697543 495977781 164858111 551559277 774681193 90934859 210192617 360220067 228087003 988716807 599633087 309104683 934359263 159731671 36878711 136118343 968933723 912222741 695039785 797841317 981674209 6593283 288696345 683791963 942688421 845834957 542017461 271543269 427761031 790589311 891319693 524241451 616656145 216696853 83453021 627730039 605035117 25064305 453222155 544815745 551291255 936293723 57868189 782538083 549805485 706139525 926949451 358323365 128593717 567291529 220192877 304767797 686431199 515332837 183173001 808640613 641607203 119257605 947578953 296354549 723608095 901685049 188231551 506130441 683782299 607995579 485289769 582714927 117722119 877132461 847307111 907409499 861135223 133287447 933707143 248769259 565421487 303400427 661673723 764836005 361925137 931236865 287843421 528275893 59862449 571673117 303990899 82792623 273875011 601336035 868396327 570134933 317806889 723561707 498427019 208192199 846247017 485094825 712156637 686494741 740774321 948652161 821191293 51224501 462042457 636475833 864916729 999381825 411378529 737701767 4966403 929442497 838211697 222394113 339271543 756102049 97906389 178072873 71835479 288165305 500554631 567228905 415701199 798278721 722729253 54662929 375275827 658092259 962944249 212301147 723263741 418624171 610855917 689135977 620628687 798130443 70281117 705945795 338095735 391385317 432133959 858902233 587004393 491009405 644713681 528271369 398777403 656004989 278163403 555157647 638995127 117779967 471178349 222610837 522485699 663573885 595509909 858701871 701714933 505533661 369804491 432805973 384537351 114774125 734730557 265943529 984947419 767737571 634723013 255741363 1667713 252532313 826874335 872466019 667403047 461577047 750391733 5047189 105397547 395906505 654466837 642008777 158253327 139314181 688189813 105499753 890999937 808247751 944218103 393295557 795706705 51333431 119522911 472772373 288834683 180882399 819878431 571658367 375271715 656117175 115426127 147505417 907107731 330050075 325736363 709724835 201778753 119249615 754497435 225924137 826848965 149109505 311192367 480735323 823709923 61152841 239274783 404618465 773318025 280841633 883025355 507305295 828121031 952024687 669278775 428747293 715625945 71082879 448901397 215163819 912295459 264124939 154650555 361842501 349492273 914103467 929292583 667500057 702566835 544359525 118769923 110379075 208877449 184312745 728076445 876431299 852237489 398579531 888986605 630582145 118905691 464916871 987232913 439858769 198440919 159442181 450075857 421117931 601839523 788404687 196688539 260547055 95909983 225350747 954857097 792404199 109963993 787857545 514244311 259845445 188979713 711540379 467684463 833212515 642914807 732692543 743119839 230089601 913279739 10075021 760306269 244909255 155116153 201455101 770928843 317760585 544704515 595198329 993766061 26199293 821231191 385471309 868086069 145872329 660749909 995278123 670437945 165967473 346257931 290244661 233369913 989336745 455764907 107231727 311167581 400973067 922993809 494895429 648045937 758367765 600826431 442934155 78579951 951269683 103604063 392739201 517470965 713154999 645880521 571749453 934430797 254305241 286896757 583578745 722629473 853238713 308758661 917884155 846411085 667813985 283508295 466097201 602698447 675157187 111766829 792513249 273430349 673711287 743531475 579535159 600433623 988739073 202749179 918793673 713261091 432949575 960891539 6374549 811370899 143061787 163337385 874811901 182719021 513643769 305956477 344809939 32787873 567231039 612936049 806858823 208165955 800318263 687796751 878517499 909257749 186110483 152070923 298120177 85043647 210764267 427659329 261469849 251870607 197404099 851314613 358674629 379227771 996925313 937271439 599604149 937623333 734605559 844830245 974433037 49858257 30354145 726369521 691183067 440363633 224916955 248572823 241163155 692217755 899873139 734703073 830425875 908383631 258337561 993552835 238935457 975690293 922495271 173722203 166445545 756046105 745660891 227130087 302232833 310192245 837998177 634501077 293203813 811605031 27937737 913144249 358691837 359615159 970295821 271417423 103809299 682555477 24554767 278712183 345431389 114210775 665865623 503054397 676486907 283920315 480501335 938568663 699523695 580649259 756410087 873986717 294833575 339664629 626270409 844336917 718555387 721227921 345105511 335849703 845680675 201547549 278714897 221879785 134634313 703973985 399931139 143898391 505959929 379511755 236800089 276930449 106617383 91218805 214197281 224302501 212476209 652815643 639060555 522040771 57731291 617083685 336846255 740192139 982990421 170720677 400924431 48017085 507545907 358661967 556487701 554693699 496388209 656310917 179680337 443138357 921782645 644588107 406876221 133427145 360612621 499183955 880345147 729402983 365279341 399099125 470692753 336081557 299630645 96736813 962889589 640397835 180075367 171351715 553447933 84869539 384374897 616988583 416998699 877270623 111538217 136446257 651893737 961813099 60813003 568188127 277621511 664386585 302440191 298070777 892077631 807551207 272691921 576920943 655755057 649090677 238905523 282882775 572308073 60310417 624029319 955783023 950920277 413280045 975096463 832674337 391000145 574216549 38030971 656917371 683530653 134037627 962454621 853868725 171526755 527821275 383825333 601122477 913097395 255567641 165317223 88217323 600872325 971876591 296610753 278851229 199878591 459286591 226790775 228093851 429245221 298856727 479724713 520656743 15663981 942507 309462231 70824483 865591597 270626131 273151731 527097763 209714917 627002259 68431441 562564187 836974595 276617495 884195247 664021101 224317909 425914035 826223663 319245469 903113877 960600161 251075169 111995741 740399203 605677125 442329915 319341507 989705801 650943401 208436503 957156495 750157627 453910017 301885117 381845287 166872845 35304425 720322651 923161757 389475205 186187813 219617923 673202851 160019787 720390301 936427829 787314335 150136045 550213479 332530901 682758291 296675305 776060861 484005679 737252911 89923485 340472579 885713019 289149901 449179733 426304453 772687445 917007723 232835647 345373363 808072387 593436591 802439797 300552107 317183281 226021095 11234811 242498225 623003507 44103183 53574839 643196141 229384907 306264515 445090429 327606711 452197081 965664587 425571333 698959237 286758061 938946453 920592879 4856061 669306299 599039545 375380933 366117867 507033827 442154617 284200185 814889023 914713959 31761463 411366885 273199385 65817077 294826759 801269447 718796215 879258531 758308125 300747 713706633 375303917 620920921 398861571 146129951 179186363 628557125 363540837 297128503 303206233 539795469 958242261 74323633 48988025 200034185 988951325 565783195 627936573 366483001 629213163 424946471 215324457 147407171 127623641 376387759 553032487 903202679 583220843 59561401 477743505 228148301 35331079 680977903 496490529 675902179 632281343 681704227 102433533 646187777 414023311 29728851 658652595 649747479 65979349 967803039 379281975 269954107 718662875 13859925 647228903 871536939 327810451 314009063 112311433 550524241 353556693 782617329 944861513 869968059 883827043 783318325 33672125 237778463 372270311 675661215 409209057 740552159 989745907 394345281 410819611 124122369 322326013 671221849 662371899 498720819 159945321 96006473 405015665 866356431 668903295 714915227 243851103 134388177 396448369 500536067 386278407 109230305 845795671 115850845 296845529 47029073 149675571 122430123 522798247 745241877 176809967 777561113 377306545 730828751 300848475 535092987 892122267 827679171 505866803 48119499 96189809 707413219 261880851 109853485 957018795 462870981 937769353 600251115 692381221 946617513 294970117 398774521 794566693 111278709 955152863 365387635 320462935 240105913 133900633 803597469 28060367 812302253 153563037 74599391 54743823 207605551 864852155 123701967 469799159 521073095 135561133 322253351 834799063 371328677 506152277 887333579 221805923 862462877 995061627 380504773 618165435 322133043 302005713 632262731 661646689 825867403 683290351 575917237 571672643 876050037 664594263 598161287 804675255 142285927 829161587 531984751 223269243 199004291 984251795 2885437 19056561 354761615 847545585 577780461 437724139 439152633 350211245 553858211 629194523 234212057 107944403 334633387 36871581 243568367 742403409 450206069 429457979 593892259 335697667 173584031 707860255 714463233 848621737 164979181 486824157 836069827 458778349 961685833 492703093 979663433 805972575 110354117 584832843 45808023 33672825 235232669 766624813 57988447 653036187 378745143 742048335 715039223 80804113 54060569 745981263 561787231 718468107 658472187 244788019 548536893 104141471 944363957 646255463 203478241 911448019 768546893 823134145 559022147 48902031 768971245 496878463 581533953 636786083 649664487 20123203 424895587 63603913 586070201 49703711 450401625 985895329 194472707 643451779 508862839 729998263 611600531 96757841 773295105 501311609 166746971 462297803 58351835 92319299 372179575 911256479 442662291 482293587 801300265 23182309 950189669 926096087 454577629 306489879 14226733 883037661 23607589 269353243 364519025 535252061 379687615 376380221 221379685 329074237 74131083 976196405 195751387 933475905 944628119 106453279 18272597 320217885 872215317 970690945 735280121 978762347 425357153 292403783 568923801 661144491 693656317 131113415 476814505 746836293 870731157 585870269 616140105 958122381 334669565 600538191 849655875 894889915 935851567 313356043 975941379 574558447 260158031 788222439 73327009 487240499 94530983 807273021 127347163 843484281 784601259 504707029 78693915 979224475 164101879 562606043 578710641 85762393 595096141 615278055 35441039 797796699 881209243 781668593 733074393 621114675 817976815 568082019 604346453 42193757 282477449 590321415 672523699 22690871 562504907 815239189 675025737 963050763 680257857 81959465 401480725 431191819 289788059 452771401 983863745 282401361 119902135 313857759 393342363 309343963 475238295 70575301 205334937 735439767 749916777 803284021 630055261 693211985 303479933 582699477 430838059 886198727 118324047 463848883 824500471 692934807 156592259 106246211 740599635 524832331 808158435 750659939 499073153 580782421 194405221 609179993 285691751 982193421 890954273 78618065 52997271 874443447 913375581 726750433 827614533 276166777 1017985 1548295 931952209 278872677 466017061 536452389 567692101 331169653 340634623 84299661 141892427 841619595 122181109 423645423 54951487 389250927 294247187 796374637 283014559 284383187 650798473 431865737 196652945 372719697 961758391 273982259 110769637 743971687 750319133 472199357 852504339 306809473 214565477 856072423 602466617 520536303 921734247 642031829 870147359 374289133 327518745 828704021 182115123 643605143 620380577 488822939 490052239 58214651 903655499 934192581 949148143 872398601 641808265 421907287 119888573 329810073 628155383 430627201 156269063 704730991 488070741 152271063 247191427 83374641 719700627 777072469 926483091 168336753 323267779 437733731 855803197 959860905 315850269 329017547 463244591 449705275 702766601 683872707 772360385 800535407 815142159 713222635 424980467 949606261 603240931 154111813 670169453 28135017 187824225 872760639 931279739 726111565 442110603 263459759 360710935 492166149 129073037 411889619 739454687 978096745 518542009 836736335 215482397 226741037 783065229 444025135 873405883 396936947 620944299 508060907 913716565 458415431 258560477 158132063 785580073 162546585 570884375 397088719 14546461 191030337 535706741 212176107 951888577 384714625 1251641 129077703 135188557 568216705 652101583 605596895 75891359 900214359 68067531 802463513 49946687 784657143 315578343 828442819 676472155 856975939 170487047 906873489 921523405 312947975 111036213 362483361 825244433 501382129 814142373 190259577 752608593 897117853 52893363 218347269 415036507 774706827 936933603 306011547 748236709 367432741 959006173 558663417 724457553 475532219 359437175 966708547 820259 359654535 11669163 934947845 797936269 76532137 344286877 49055031 757197223 953868589 343402391 135410739 240189741 609907457 459393039 857252547 859118471 321536001 503659421 555616783 500072133 320533229 897173511 260838831 205023647 164451693 214783541 46996129 223261301 395125525 408160061 625571913 876282443 579896925 517717337 640520053 441632723 715296165 947628271 968080217 178015331 446667321 424457605 230080659 461427449 116647239 495411923 591506473 533257023 913461995 203636145 821109383 655242371 367584549 372959013 704281731 941505725 654399197 803421015 550365273 993723275 557521127 29397151 788738735 632248117 674452219 912569459 541932949 669070249 517328057 837573241 206637947 794096513 987206827 581506429 338056259 668748025 504674629 288276593 780314671 762206971 74964955 185319791 892056301 280072725 964784051 294978237 748804243 95922045 420106483 349821893 732768415 970102293 727901615 301032473 384524533 88438625 435949791 433124983 431464673 381917331 878242659 720029631 838042139 451981185 344219909 261857279 356034495 552182187 643666807 45056873 109835603 448795449 428019027 318928217 934469569 41096695 356726039 117504849 343369315 100863583 786179633 137620477 318684147 679137423 795394541 465161263 237737367 229249359 719296137 619025381 590263773 331601167 365967907 539766593 833205177 229234405 801363397 764264333 434437515 475727761 237607521 658331709 328440853 524960889 427079119 987391469 549508997 764231341 565305299 814030175 220153457 606192611 574540051 27440767 484832469 720717693 70412835 558979937 97867033 470591361 866849913 938823999 626811143 874609567 559064953 896656251 18783959 949693483 860037995 910420643 121520165 190609191 948902529 360911723 593972469 912464187 213903315 415429035 632413367 780632757 100001381 645711719 898150205 701097611 577667101 296827339 457143239 619453279 604321485 969473579 973672953 539530357 104358193 752680705 807675105 730805439 6790631 235619057 736727027 899673043 801502841 134667205 441200141 397906673 176581719 951182707 285292661 923791361 977956831 366515987 548993495 378880143 382501709 454366185 583457609 746634453 496133069 398835811 52259655 993808561 525941871 581937937 113171639 351263915 908004655 241030575 217435113 717640435 917674473 514149921 141958029 159443551 488224107 678255987 128431045 919195501 407598181 154367189 29853971 971580231 215274607 459909797 835782501 33339579 715533579 998877031 329888017 516440897 521186979 389772997 382960597 336258039 50569097 304540817 238808533 319914149 840537331 225685959 811038879 768791737 670351875 550157195 670003237 470954061 518936773 27634217 307242953 594812701 227351849 592683539 475197775 723376529 137067015 990246115 535309795 812046267 617996321 491321439 29633817 812019279 351855393 340099441 350575089 125179823 168414871 638959915 115254737 684734175 975556349 138556363 920526723 389977745 730212021 900371377 687500861 280987677 418970373 369029739 936110749 690717821 79815971 42940843 346650537 987917151 447101733 582328395 174649295 755698701 792555277 792672593 184900065 212699265 226755525 450632935 491997213 524558425 250471965 313398113 846956331 491288541 137681871 443848247 858159381 315731197 291898491 749916945 597964883 937609295 23381677 166553271 244635329 15792657 68065491 247029789 659901091 70843693 42883145 931157853 753005481 960179249 282142799 568100031 877481957 177188437 663685391 134726057 639919319 842678903 490810521 163870639 314263651 26113567 384081383 885182863 454155735 566312571 36288985 247213611 462168295 842662243 328630331 605620621 539888305 852359255 887360187 352399337 637104315 971635071 301628405 108147867 280957425 151367849 57612905 453433125 252961705 409695819 289592191 283325491 89534111 986570375 578719883 225487513 201620475 30219297 504072645 800229457 81049159 323516299 720543565 416411007 825508985 248426459 537061421 293684589 894377713 660401617 581371225 259142545 778753137 207513299 710918821 229738627 515873065 327471089 633396695 9504007 505349035 87124707 39316887 437527819 211453431 388005129 33438323 96108701 993501807 243091047 223140329 954745087 538225893 299120813 937209687 572743055 206725515 790941749 17035017 571989721 310005759 558854397 726548781 362084755 432981575 3463593 516539613 563541397 761475533 636334733 794975005 319764707 585449067 606022815 287174101 724026539 136042331 667050109 135729875 117117501 733242947 364019567 741702869 288361493 868060723 59036771 554527353 461258967 356416667 257427185 846965065 545029199 187001435 50912857 799371447 867743343 795134137 703062147 331155741 327733329 44336225 125339389 64790713 914503995 515115115 581704189 776336569 127083925 557370191 220303203 311703081 725025271 757767671 289703865 498050311 990871575 841553069 542387499 404118833 335302107 134734377 926797457 506088817 216330319 28723847 535447659 150718585 106149541 635849803 749388255 693548001 546804537 942679909 869997501 271827757 947235979 853369895 301738365 858868931 264309835 107782737 512655933 426251509 985957963 658262023 142746053 617620223 945517443 481001687 277203333 682129919 466142491 680412341 188226451 969276415 532974427 669235457 379115437 292666609 108130487 773961595 987398205 647162797 230004937 723713877 325834065 13623541 599510359 252904995 378271647 334733939 578180427 259494627 968028553 504635321 593547705 62216951 359511061 946182973 614244571 839101743 495461873 256980323 457677075 719612609 294741621 916319603 804918255 819324489 610655395 22604447 757462817 22726347 343225885 807055103 230991237 981400757 771532855 408729749 219024415 844861663 880941797 943110731 253409559 462052737 318372295 347383539 5404353 366031173 191064359 159580227 714198683 380914231 693457649 399229917 228505159 892847819 858270653 119315021 499116687 392606943 774854091 140296195 716729961 402401975 446243841 242711639 210253293 153726979 235688687 768720011 21794143 526857431 216382925 1330889 616688171 734166703 694474617 92207395 599788005 778263411 668402043 785747087 431704903 921743981 974025987 810931183 187697973 684775763 481493477 308164879 825775545 302833475 51083173 390889375 471021833 116603331 808807527 421476919 369118845 190601665 259640825 937572697 710859675 685529743 554601175 866070639 264050955 198299883 808029981 287169737 284523427 49222653 124476817 745604257 737788253 969945169 858197159 215677463 963815005 541126361 818722673 159945271 936514543 470304247 102126257 524878321 462900101 315650159 100628431 521642781 331726777 22923371 720558551 767859069 951272785 625267845 577699459 850684857 311759925 864419511 389245747 123873381 241481851 885121895 318209003 934001401 912802143 883832419 735874141 16166615 772593217 929276383 143603423 876083781 269260719 588162425 52011377 777707385 356018265 632731447 924478137 158615945 276159519 688746117 647614215 518252917 414818049 602293049 174725971 219094315 962975273 254078607 970010683 411214457 744603375 219401263 848945927 390595097 771570633 576349987 158967463 775795371 877490527 154452195 740493487 238892475 825977209 468346441 552096355 232233143 881763851 806548127 863377829 745321979 470502959 431444621 304503817 727733703 205911339 633329963 851748805 741256003 258195305 94675191 11738807 266837891 838101373 34821845 429328741 114001023 209992479 950380819 31750657 454994455 943550007 688777317 843951971 900422421 275310029 708467433 482277895 797883949 800379669 67734309 755858709 658564339 741741675 648136451 695858015 657397997 739389521 176860893 646624857 827755649 253837427 563594861 947972899 632623619 700117669 645951963 647439751 947361451 187049439 214438577 643672817 844621209 349974857 570497253 7256439 537525463 754861355 579494359 884522205 220296279 588825081 672009033 321035655 89946867 690357071 815777897 937198471 111322987 753330929 73464525 208574863 174768999 580758471 721260403 563512835 74595963 964201191 21704639 953120745 294855965 753778315 296888445 940167153 371141041 136052503 31275237 714053999 872235903 781916693 220188563 546582375 915869115 842976057 486667659 727328637 353825401 583113055 902103869 334445823 737672639 556859275 819130235 803330537 219228787 643036645 127063173 795659735 309572967 762388675 885829377 679555343 60608599 595087775 601830649 484048259 107904225 729820189 224142051 896621515 317350799 863798537 245503645 822824483 366126803 542483283 443280493 265738099 726179845 384772379 179019263 34048589 954115177 83902623 811995497 781686757 753659941 147253071 200110119 713554715 274435915 754109627 630622241 607471479 209430231 106044831 615240865 848950313 94946727 565264095 65037663 926568711 804892037 121157767 211267447 349612433 945360931 686181065 282965101 828188141 601935385 850065151 713991983 278460395 784636905 681842863 748289813 896185347 890828029 160568451 386813145 949408851 872699047 452802893 858496415 777615779 298672925 117460745 528299001 508421729 287889539 923689437 516318937 44494759 531102689 587677969 722138269 185821233 114035751 666286615 652359179 970666345 586006323 969370511 6587727 870374493 695468737 14644281 777806591 29989571 989223805 130523137 122733847 228612605 105269239 192444153 104659965 707268113 350508969 300902495 634421631 790059181 275754485 967897491 909781971 859285545 128697123 862605603 678141075 567385733 755911523 941198273 915170247 992664679 399332819 76635465 324981981 408000033 614781807 388985277 719627175 330686119 7576099 922912841 107739493 470466201 224068543 885316161 527542201 448862529 910455037 752686109 453034421 554606985 113259133 134326405 130753739 268288781 478134731 620449601 139489753 290947851 263883351 822772805 310525987 90697577 340826233 656032941 266292313 96097207 594770035 1174971 799727501 242545709 220341103 32621021 487768127 188396201 406301309 889120161 643521877 689010099 821122455 960471239 856357145 161254265 666843805 616457521 571100225 517307093 361350747 454543849 765042923 593160259 113325951 788147237 145350557 425692397 52700581 513145405 432627779 513948577 4302413 771879093 43558707 88667093 21444577 258743609 293016107 490382507 655017649 652041629 56517453 187059175 942091255 826558683 693619755 744468731 246896339 819333655 572753077 859563517 63922001 716359069 468018253 948298925 780113759 766572509 377843381 168053619 21581785 776555127 347259677 226324059 359711615 222135081 496021783 21897247 660859387 878032099 446746531 988656415 25038555 992052405 52010021 573394015 501544605 825517275 376114539 770466449 794998177 891167161 641040041 807614217 86037293 228285147 542024317 327506123 814409333 582015473 946660845 204076923 355002259 241984475 807083877 949467241 837133447 209549207 532707769 730492301 608156217 699070293 703920427 881468037 894420861 652485477 407086683 97757081 77352459 896701253 803023705 335133879 94033283 986825877 518197403 448525945 857367663 714115617 158881275 813521179 557726019 118250207 969317825 122886535 83327315 644133609 44938139 165072969 184635877 142074497 880689563 275445917 968506655 205591313 722382657 122219357 376276757 809408049 946186863 858701333 908654783 221050519 507167351 837989361 137428733 662986539 545556235 150155977 727322009 201180661 542854473 222674461 177552453 593641257 732719285 330789397 24853403 218966561 282134591 393840253 743152665 127285859 350103355 918779855 876359981 51733145 708032101 481030697 985241123 159004055 688908515 720618579 105016121 784883031 798976835 932417213 498931853 47879163 389366905 564792957 179473705 20565201 180152035 689492051 373252095 815725899 373042503 528731045 7281385 807730181 142061523 249641347 909383077 303649729 663908121 519793571 941572319 363249259 617675031 444513639 327689001 764484631 325301301 33710293 431339001 877409791 232817213 999559067 381276339 238565767 981756775 153442323 912194463 869704505 322770765 157022265 790627055 614778313 974722553 847738039 224220605 356862739 601618131 84863451 965693191 590896921 759200693 822509211 714498745 74870537 65404889 315614105 876656805 10915891 135601893 392235033 615547265 121832211 71535079 725871885 535842801 909988939 566241875 491965963 262188925 372410795 536643847 391706707 319877527 418966305 150918471 263996363 485900951 854194123 365652419 902985221 725010111 411156717 867372431 983588661 369231161 89923311 323610921 895239483 921494805 437066343 855391603 171597471 411897423 814963471 892598973 650209169 531245251 821591755 677848509 345251047 536412991 292099239 636640397 915672863 618619507 709003733 20756405 78081891 255989751 268158639 317952291 573652097 579756367 519782841 58558249 299082737 760750305 458910369 269409159 902676177 756753663 775474999 394374241 649346793 441357027 508209273 451549507 429842343 974603183 68753287 781572133 851607331 714893673 890857133 306128483 520274207 338428935 562293857 603014083 336063997 512439391 943149629 524781935 46864337 535721267 414950913 695707393 311119695 498028077 468600989 936421747 833186009 679151325 887078177 261342251 111112051 482986941 275773899 829872631 707229135 127815983 116965627 479682573 37127491 622979195 112543807 328448263 766341839 111264465 926474569 542079469 260534299 293785677 859306741 278820139 206188659 171504367 189572677 33259415 776901073 279577505 71009123 472371055 663734227 685941043 841328807 663781205 462119105 464062815 598139785 987800411 227179147 679605701 263264683 880822771 453564359 24023281 962948059 569225977 811923123 233391441 507349771 969827511 463489593 829355585 38146391 99684053 924165351 683549953 842364673 871285101 394563573 19894715 771526005 517902329 997134401 792452735 428707399 602336351 732028241 343517255 147905585 701301741 852478041 543785971 612280341 769037399 668239659 360481615 543144961 297338043 119866697 402294793 277768745 2620575 252956379 327812285 672456163 858320623 236094383 424361963 776049337 681719551 650432571 550772475 347108689 705910673 387837087 570792769 12770433 591365061 57352613 381346549 874223171 376092717 532197305 638217271 996821689 959933881 612710899 199421971 947285299 206388939 75565843 872158583 517075231 145805349 900100735 865116223 860650267 679001589 383392071 617926185 52071403 94684369 427392291 451268579 819116407 771003575 199526257 548725755 911881173 791680011 266748987 350777833 348444223 23791259 166688043 285060881 223287321 652592795 425505949 210729405 847610349 37286825 325416589 897317915 603522673 437000137 303465893 254410567 148854653 932047467 169371699 208574527 397393175 242866531 121499439 207286513 726169703 266973677 516055351 874903849 612234435 461741487 501572497 718184869 938048167 616773047 855175985 69299971 192320691 493155195 339159465 564414669 754105011 307147733 663033915 481572981 8534173 411287565 27123919 243744341 383641481 378069199 51689203 994272427 787935933 311105329 948741853 70782629 828513955 398750641 790823021 411349839 377658317 572768561 163918381 295446695 634656761 173667331 901460553 817765003 225560839 748989145 491046809 588244933 135220229 943921615 61311131 610758407 161420323 827523951 934787195 324467689 693418433 807866273 347493379 758131695 897341279 886796479 482880685 462480767 921724073 717898371 811048855 506253037 903717745 606732051 994556553 491278703 925463221 74161661 712934643 469705257 404443541 231571765 172284137 683571491 860407903 556142105 344390191 659156559 345110405 930005615 157432105 291705989 463792803 848018275 56511463 321244809 519857019 350698123 43549471 127553025 91838713 284179171 652660531 117465727 878427183 501077971 391874857 311279229 591120731 354492965 814083503 444791389 807461087 938848017 670463005 626234727 461548613 15100209 291136373 135798989 18250049 384773517 627994457 320340647 315948207 91301523 147539741 91175671 819028369 469581589 872232629 609749671 286818323 322774355 375209409 494920841 324817545 449733105 401209995 929835091 838381165 222322429 415004927 713757097 681144673 151069419 975042997 709575443 342277685 454346647 258906859 618436865 621441495 134226763 78231949 497131727 34694245 942331825 9740325 338964927 439934497 844276959 549603309 898485749 431861369 465414225 338621379 744319881 12793085 117188589 901236015 52031855 938315369 613436161 17855327 736135305 444115361 530532675 410978349 256222371 723976367 195653581 694965527 410351469 210877895 772731431 194367553 345040767 465502791 786257725 649640831 855187291 188146093 44056677 643944775 540220011 805042855 927005277 988490679 991031295 361506827 717903433 425476501 122808401 757854159 275466421 803375445 791222145 40060953 9197721 955133449 891883675 649889843 764467281 900069491 57346703 54588307 467511457 172873211 436693813 421469393 495753145 702239661 777727567 342919347 393331243 597567811 657330309 185769251 66447351 220145181 360756331 659297843 970065795 337529919 300777337 589040927 653317271 897799003 705817873 870371659 318692719 69979591 975794041 223692099 357602723 501607299 738212071 802666937 568353595 358481205 999157361 533035143 860920227 717496621 167384857 494934451 186485937 993518179 610263239 805288551 754293153 715598197 874067279 79658485 366916123 73810347 876487529 609157339 164805417 979298803 215316917 868719033 156330049 299295719 785902527 146298973 109980739 417255621 177604853 537885369 258250865 566759025 925416371 792197097 733531003 133161599 105008697 230391087 306757747 794819877 423462319 765392629 93233625 327814719 120674601 898159059 270326417 136778329 207080607 740102017 226791145 403302815 960808945 523182561 104975765 241683179 697147883 859804161 28740275 745095353 554145083 173992723 510795463 263853617 110677371 713766771 67953089 470886949 560564271 888293795 106321909 729561609 509895103 925662543 165696799 636696317 990046329 69110859 811221861 298517707 464165787 341725073 597096533 572718813 350612547 469347907 280546277 466840911 779724411 616100017 623613807 19842015 212340279 715435849 521789115 688108787 953477707 130865065 136806647 767323291 555658621 804355987 719657397 960406415 427480947 973595635 843824115 695211053 195932097 34550749 142828313 554802557 16818397 26017675 965582835 179854895 227764011 95455585 982517685 528244119 34596853 180622057 998933243 723022521 523365993 856616921 817266383 571542329 142105249 602327305 500474779 201385573 174198433 558803837 571844659 388337721 830801743 283499363 857643735 52683345 249229181 597377803 1556523 8986867 142065383 524290545 302981181 888180753 931621163 672094137 928344449 370825283 243050707 213393709 325224407 749200837 763922001 852636483 585688961 71318399 954750205 901799443 363465773 845923331 607424539 269369315 611478001 335106693 331196369 265016347 344724553 762133477 731222065 852967505 391403293 454282667 667318839 361545537 661077943 493795079 373292225 89016267 326084559 902574031 522781593 738674685 679928447 184627587 639250033 976958471 193021775 648230985 587657697 644176201 112769837 393515505 170594923 421228865 540565355 885254899 925701497 661322399 998802633 755506029 125743197 461210675 142710379 407392807 779390285 779119099 294361823 96818063 809803885 945668119 129906457 483558591 695077573 288896981 69767031 283834483 901667655 551821479 628519103 241310229 914433995 952441127 934543645 979556019 300704787 227161115 924811045 137408003 827019977 729832813 419365081 207735143 523566205 949029169 548363929 164119269 338199209 744691359 378868789 533993515 829151919 737234719 510729187 264316817 134369495 543019321 472421181 830418711 492759379 177832865 898058315 775404387 833512763 348677681 475096697 67716807 302922129 888639215 366275999 388404791 724642879 299041029 640215797 463630931 424440597 311139783 472436773 709479011 245595853 942094255 813254713 989385559 642988553 154277217 500706473 847834309 782587471 200215719 86080081 360671213 371905813 683039605 559416951 65538741 818353329 556476647 53535685 362524333 46696293 667665471 11675477 524408845 192702043 508146153 397718945 712594099 830462115 402948217 233421711 265605415 498747447 681017257 968653677 576723863 963219191 189212509 877832175 529406685 890257327 681494687 784197941 886224757 209245455 973470371 886648257 475127945 604444333 763736005 805118849 185341157 894188047 564841609 456566475 663304709 963142557 166390423 271274843 664217859 599765415 442784197 338072409 769823147 878648167 87772941 989306959 509908841 103657469 377823635 276842037 342456917 668993397 548133281 883562087 248462383 303694781 909903789 514699433 158097759 579833777 555848527 983391273 545723377 854645265 683777099 103015039 46253215 662300295 481523599 852147365 3969481 467591843 392745003 70288385 374347891 315042013 695315547 152556895 697407309 476682651 492661379 504972791 324623793 934066209 325925935 389054567 387685533 136092069 331367185 924361647 10558391 262137403 347207683 183992385 949443151 294687209 847669259 452760817 503231069 252780439 217295697 760422907 886797695 702480915 172607531 316221447 563384829 863255835 483376149 499088159 389100485 355357261 926147247 554335161 191790449 459534389 655145671 252238773 330871613 597866817 920741711 166454101 301903379 378419405 265306209 225562695 738318975 720891415 624174147 436532897 409976253 242477901 716269663 767410657 635948199 746511483 858677319 445734379 432907977 789836959 286486713 172720653 713440079 110649495 924820629 624211961 611972625 474969133 963275241 845079249 260771983 642712339 36341479 146703897 692760303 183419875 861527275 974649021 919326467 220717853 792243575 136593425 115251007 506395177 122704183 970495189 785567171 40199257 568975613 161608239 769482071 818746345 348734663 532131495 345384555 132331767 311979191 366639929 812182549 553281165 843926551 699121725 851357459 665885597 810727515 969990779 201727183 928412673 914789917 247699487 133527129 906445687 945767461 215469503 439520099 682444459 417416793 867335001 376363857 734153263 562672333 536769359 635553321 888271225 498578111 229438323 579262873 906534893 49763729 238320117 70462971 700392403 399959501 240422519 348079435 56463709 141955113 476511483 390254643 919110565 134540411 821863153 754539263 132813737 663049933 138940459 20873387 617576789 192324677 819038185 882496977 953277563 735408697 31315407 73469885 716905425 972960547 721710827 760489307 497342459 864157095 974270641 883446851 889349761 35479439 97574911 53945781 426900693 78936273 283525659 188677015 706125135 732963461 381286833 169003387 634558513 407812591 95288279 272858517 471010469 551865725 904440585 56233413 719310269 426156479 549943343 508778131 258650479 124821105 309502867 807656495 603256735 657325943 480582635 488517487 9291541 744729051 54784343 849086161 803420289 225765075 333570649 623714687 310690689 806511799 217265375 194740295 662714257 419385357 257448769 570735265 139271965 739570813 64481591 332064683 304516213 984843231 918129899 262323501 331273427 525607209 890610665 982013077 589563737 991027073 790440997 111821307 283844111 805557043 474373885 236636449 816408805 516944561 565305909 281754217 117763255 920167829 401722109 41529319 880791621 114153381 372649705 691676239 943333689 940068811 566617845 195022851 12633379 530122521 729564295 596820999 999305341 182266315 484872813 62756109 805121449 649579591 903540699 999022187 967029231 200864789 545445745 64148769 363250815 420754663 71863345 158980311 40254325 109033885 319540361 426767577 802689233 535556407 165267279 707560225 460707709 354000865 307092671 102429005 955568713 472697325 534005633 936382373 224274671 490015449 990053791 394906649 953374993 212762183 301916049 514458431 630880565 127418625 958558515 376669013 105120721 445118971 921434825 62278469 570023483 381253455 222870531 589587869 78736819 946568003 334404339 326644117 2588263 390777153 306363161 473157131 112742501 258027229 383991385 283988101 875916967 41392849 538825217 904933943 549850125 980648961 473920453 491584243 983980643 431121527 225803973 569300539 330775895 140015207 166766721 60464695 346152325 280297261 502252011 284775605 843228525 637307979 848292951 388341291 186510455 634149997 963167873 919144633 496761335 168049767 991681425 401850665 214589477 926715443 219385361 27775975 254004513 65026037 335426809 311038475 27409911 513840375 370547363 621108309 155100053 164037807 404537815 975566379 494260183 518664629 989635779 407022237 449695357 758880973 953035769 670423907 314076719 613742051 537903481 615482843 515261313 61762315 425309607 277088269 941644777 223443327 956097615 562795433 587043533 353391267 894512553 554472197 944698993 198944003 643393873 517042719 141537033 477840719 164793165 573729697 393960879 529006439 601295113 594977753 710871905 41497929 654677593 98140095 553751053 210810917 77080191 709671409 944661375 169143627 670067995 544334773 618580597 787155767 601011517 961776639 800366477 542243981 785364569 968138337 315017297 949667097 557842255 981400093 309601845 859041995 791783777 315935515 528547213 896869059 241945917 135676647 451087007 188123201 798474745 419748797 376712337 501192623 696628241 573329783 502001781 461721509 768649837 879998113 592658503 360089049 880778585 115240805 946208229 330042929 939876743 649414305 485493273 372784569 927713049 810255565 690149781 675325347 811424913 768827159 272648691 145026121 94831583 698483273 177384113 221694513 921868119 854053853 570942523 250557189 877254837 583240433 839785699 375079063 674707487 933464397 693564383 204218853 781634337 917953633 467687507 60631569 843156917 330966081 924220999 527353699 34469683 215946417 330762157 691918419 132710243 947486229 882621277 283714171 196231025 288606845 952486427 729026973 613037811 368811167 818672525 644647589 206017765 89524445 736991045 121295527 626604205 954565181 428387261 718392283 193815323 536721261 975987543 886069929 925839199 504893381 102061915 908981913 840615963 736501829 710310139 771504479 257276497 13696149 622855247 94520791 848173169 403162627 625725787 210158339 914646861 146268293 57271045 658005775 503863589 668240315 294869535 819392591 34898077 773870575 229937763 589929533 367956417 527555853 690661235 320568957 536055049 368243629 175263703 738367961 699637329 593063949 507231743 884432709 578459103 759423257 657636169 794212061 421015903 543608155 85947121 928137957 661307621 812482573 17526563 643506373 956178419 420059149 876674031 579704339 310461033 946901219 869872719 303302025 820717463 339692989 699179813 553065483 26234161 967358069 597901879 634920355 530234455 979256969 71335227 667037319 929506955 26682397 736373959 633169935 565203131 959613701 301405021 901646271 963778621 112855991 7539303 920115781 819097551 431971409 913593141 323674225 21322899 848900505 667849729 833466943 437467419 496022017 957046509 381095891 882969177 773371553 345344255 496471161 624793257 55857205 803098925 452048801 587051733 718575141 885393741 673698795 435959559 95221123 583831329 314592277 337322963 748035 386851155 272047631 791415609 97050375 216267379 446109161 897647005 507509907 105609209 521196257 970858189 356538457 475042635 382665815 392588029 445732015 824053423 811918039 743165387 902399381 526058581 37795607 797347133 760000945 713225561 767514865 234660031 790981459 317682363 565972583 344686119 112940403 723013731 498245283 682619571 435453615 888290341 439156989 914146309 855434831 784844473 468163051 293251885 356901185 460046527 811847189 414292897 719236895 636784067 391194945 822609469 71655205 905271091 756892007 136463941 950801725 592913771 972189089 651670119 409539317 364911787 543901489 993814459 749795973 115087899 60393091 560627899 742911433 308999887 561473065 419813965 816179021 241353919 742770145 164654781 843300157 593545163 449186189 761309379 915380851 213987519 518245943 331006587 322206571 89949257 197238035 320952427 743591245 638581765 789846139 428803711 768410347 994287985 691420407 853275917 748738489 988348155 432328749 242079697 394983639 827058927 791810033 302567153 244286477 513933963 943055169 685214715 493008075 822990573 956454719 728766181 680536359 105678881 140150325 614937865 410032865 382322709 190254231 136883759 357221983 404486051 235032065 763886979 645504945 145461647 932839991 258946203 135686543 342466943 368115233 991731829 952927831 483811591 261075669 479954037 663387921 748535965 395606669 222823271 464684653 946710183 181425579 591448707 338520511 633929833 82473919 436669029 252237835 628988183 870531703 109807121 276216563 303547081 370774193 261305847 742919115 457699203 658209137 247434987 848790153 801403435 152037087 419800873 877577929 464617365 254124369 231616343 435400919 244389239 246026305 186187651 521567391 589032309 827173203 613159457 846921403 68131351 244419411 120383247 720762215 671624655 256126769 284048019 574229899 607127543 807602445 316368985 700165049 965104077 980156709 925803639 308524325 762171773 597312233 373279851 648150191 833370393 150409193 301906455 6283231 990993303 798550241 902456525 143499237 504136667 718572213 294074429 60173975 711652781 637321073 786666889 684368245 717255359 56926535 461511731 221560997 972017065 131155345 976364331 79050231 76261101 549654485 582735299 342383075 447742455 353327803 691687611 2791559 696397843 138337563 850636087 129459883 34815357 46702827 500520387 416910525 679483991 404433491 999276889 356274135 600761769 388762777 912707665 71712437 758836837 944294197 693545841 79002817 880402019 458440897 694936297 398883593 456239461 91256831 259210061 554902851 754199061 146598619 239978137 189053137 3256579 794946919 167603509 929582007 484474793 392857313 757624043 37505449 572501865 311298217 558939633 229466873 962184843 571077453 194991591 933531049 565581633 302195071 917758671 388235871 717620899 57362203 224155671 398865261 889632691 258914851 400520597 451539399 563074651 827680707 224098439 874826253 91458155 400470861 721870993 933147015 486688925 430174015 293316287 872406309 911515539 734551099 973061257 997413501 988229845 756235787 618982603 988080847 294579667 534231203 301025993 361637889 3026153 112086303 757873971 822008227 131548247 721099457 244952861 130152941 277859143 171938293 782819075 437979837 848241865 796412751 16110027 118081691 543881431 198755977 815851971 250275765 783577939 644526471 773652383 783744229 517630211 662351187 213365629 510367911 409705629 754164515 554847715 684727845 514166711 782761295 982574269 612138027 708270035 148282971 197403745 264179765 678068569 707424243 104109197 787805533 815995549 552143339 957340515 720191343 998722263 90216765 566538869 704568279 976246057 468513549 451073973 494585517 960410521 821272999 638245503 307854769 973553181 146291067 769760411 177390923 411857801 171842599 393682231 274811271 831512739 286899055 17104357 703739167 655822611 103456315 985953701 393445489 691791465 243315617 280122331 422560903 851292445 4420061 186200405 124721675 12958613 603401551 662229831 761061465 575577877 112386947 609777743 493084783 447963347 283288111 710493043 2861555 872070371 302469675 703142687 293348405 58379083 275549309 272578089 378351917 358236915 189529935 435096269 477126265 574399657 35440371 638009265 344885857 26365483 371539173 249013475 76405459 376433431 158521035 999805657 408114281 260420089 902651243 39138157 944769887 992871231 356695485 678730985 871568543 660230213 184208347 348537589 792251061 174600777 320948229 97322921 739266269 405481337 124861355 285096067 81750513 253828577 965313631 306025831 700178301 955588735 841491673 698704801 246173357 915833905 991946241 571363049 684441433 345829057 448729567 795803739 502530817 989323747 846701221 941713789 49160651 416306731 853804979 979341113 522081161 194033183 274452105 675782889 212947119 191953189 876454867 96682311 993883485 607194257 614083173 62125945 976017499 249692313 114079287 393551885 450175001 265985889 759735153 844781047 810881965 254818801 247022427 577162135 789848533 878284603 460049257 411230127 161449467 285464345 949522999 954874477 612369197 313311561 185374343 831211623 700641571 715358329 708333125 225927577 431405371 458881845 916233093 961085035 979345789 328872187 658548609 401874087 537075607 7510311 101087643 340054661 172964323 249647113 626832483 853787041 705278045 852358093 751623303 563621375 850496431 975967629 262265829 604264719 757450789 410902091 180013183 46464163 393731771 607636977 90758017 993075195 466941451 567587409 107148351 222871227 929115489 782575137 265333043 655487473 49967017 936296965 681560321 205376273 317634683 419058565 190774133 694745849 916674839 784972307 561910911 831340783 9822051 607978503 578386237 660247455 358352113 742323109 703430387 397423135 713491957 833264659 348241929 832052971 95453775 424101987 487797525 512233 991603335 884164751 412787665 819180137 697246413 581250169 187192353 197257243 816192501 506746601 36150033 526980641 534403203 52883089 678638545 358150909 83767195 451774217 232934593 470923933 959910925 288565715 419567199 330656599 465091409 962424665 128577115 899492073 46648453 900590571 163189381 836425591 771072367 758786755 692401625 70696589 985288579 356270851 774773117 96941091 171527891 237246643 755169207 248051605 72867617 94455747 243222271 744395945 498521813 668090639 711996141 814390411 732199421 909582169 602766151 516391119 148253007 105530437 542252791 502638709 44486957 847418729 90591503 68421859 635978395 936311615 43865549 760217827 709525579 5699619 828859281 11099563 328231315 335430499 79326697 366344665 964940147 791977517 723939463 130924147 152518545 513645213 773898309 518435303 636510527 585139891 237957161 449313031 902148209 590438233 421489245 950619665 308056775 951539551 422984501 759365037 810729609 712006783 698803241 902909925 285507495 718022235 331589345 656578353 324646581 130797433 507832869 704987501 963683319 931410511 831860969 863907037 319904337 264362035 736111433 336658737 347859539 589398119 930698631 67445371 973949237 784264979 387352335 841648699 140694995 585492043 740162419 962470485 981178297 267438343 77188977 706736663 961584149 942214183 958350827 433909557 809005755 838178167 59559659 968960205 516072237 613942949 173448357 9915493 438294931 929488973 280668789 829379305 681292729 668497135 318900189 536718255 855643675 431063541 490501515 561466227 83171027 473868461 481677901 459045725 424657069 402044757 452681251 223789047 400363029 387854347 519010095 511099959 362757155 463637467 895444669 553565309 305422743 474382771 426808381 299136907 862503383 223024495 24603213 646806417 74197491 175971023 583961519 327225633 331358115 785177211 49346129 265034299 970115141 392569607 337610819 44876609 798352353 215621611 836989633 300213765 949517863 134930567 83705647 4710073 138442605 552483109 349722647 817190139 544660401 804385783 314864687 472632529 893653917 382388759 226838351 251166117 171391871 281350277 989024637 839014737 984186959 126658857 868677601 661524751 95251627 916612567 42489809 699121797 838186969 416004933 504503239 598444225 294661837 322416663 923634281 16327993 968779545 424780759 829840253 500799687 298828287 441236979 990720251 93887155 761868647 445361861 83239931 700317097 858205405 116737681 254545347 218020545 665631901 836498557 279670461 308438131 596552321 797924253 634393467 88844713 596422931 364306919 708838841 793275565 400543875 817886527 515102045 133335607 808718759 926375533 278841197 423702115 768080127 829588515 621851937 36771765 265516979 320039419 118957779 569946653 157105295 392463731 232112901 191850477 258502413 840627447 345576801 25690341 251455563 872817369 630585791 469435177 110417937 652846671 606371607 955959367 212123597 517113981 182949515 564798515 63559577 412235115 97256553 69973069 391154995 100386059 944178979 635743317 714738433 604390965 130651221 287957373 368343827 223975341 231819713 556106585 429003807 996682009 305767507 277447911 693313671 733244939 904903453 47548809 361830225 828924159 992984157 343225871 847052075 462916177 844280435 321657775 79209325 407980367 293065967 963646725 216974103 812919593 266598783 945736469 379659729 422119415 649359105 3323469 47924967 731540925 398720119 868577667 351361109 346088289 958283277 720543989 305140661 639414197 884479511 193065287 325314387 173708403 487919631 26637959 216293657 754889021 879957911 723521321 251265443 453410459 493966207 558526219 860146991 575482623 756582581 521461873 352577187 5110721 333729111 803873035 587555985 191613475 476140967 778555117 526184493 992232015 655533841 923189139 637904471 152764501 688340265 131640035 455283351 935492911 738722985 873532973 407639067 878245823 240196725 669233953 297129149 963216333 398943897 10502367 740013561 734083337 492912965 937620205 50400761 578382351 650146263 734000185 983506059 99940703 13434323 348348949 705163303 22930531 65901025 694354239 881271529 231463019 251826391 836088031 456206237 479485361 307733169 478875519 405743279 823547991 115102095 532645911 942084409 442294629 549184701 157742339 996986359 875612107 181545905 717943561 483889233 262220133 268974851 512890963 156235609 62605811 200703353 943299451 763658435 487131679 849750779 22401659 704014831 149931129 265119649 937968569 181561063 329143419 676066977 912103171 164101975 845810053 190892385 403056781 282677143 44849635 108371053 203517429 743643045 486426563 59492471 194059585 38492205 277701185 323458393 1464797 227849081 838049373 655326489 924194719 681748611 997698561 672320737 203510723 216164329 795297531 769219587 542766577 129634547 208397833 778172669 29805875 396504719 264543179 529545839 882455297 653901399 279338439 276865575 638264885 799074183 983963505 639919639 718068761 737560073 537294115 56358745 779895125 494923627 368815389 756239667 45876481 986556389 489075337 876719631 63844763 926019411 686340725 895287425 987483655 814917697 891955935 408966721 45715091 849968859 321388965 716569399 185257971 981415417 478969235 839687275 998618181 849597469 496179031 143589137 827807247 789977193 143842957 648589701 557311291 942183345 922989235 741997129 61053987 906251113 149684279 39435017 762264193 244032177 751422823 808310681 556403325 815563601 515997563 806589171 241398177 784656057 940999063 789734457 743629283 338078463 706716613 130578361 160370339 913745379 223660019 569670631 650456483 215235531 867575549 793553499 737268753 568153799 137106849 853134041 87896451 980193679 679147915 312833101 417421047 350328961 17819725 456722891 632797137 81518245 910846559 209283469 593487069 106988203 29747745 544739319 780550483 6956519 434927837 831264915 72516047 814516061 889451973 373327127 789408085 421193903 836119795 330842203 406222421 178121521 196756581 561894755 354552225 191851225 140232967 720344155 938823545 788084547 507146667 316885399 467678851 984103611 601017351 809053331 298478279 269905197 915149759 518171887 373406913 889003313 849240411 95191927 632886345 991161607 918288717 644094753 536841127 407035799 853618415 237552133 952336519 517868909 439296895 574777449 555578111 642206661 518571305 428434357 412571275 899890041 935851519 974001023 356849427 562658323 406359287 108472451 549704673 326415043 965147381 290159521 585978029 964968287 711070145 145826533 944960657 394442087 830067981 690077317 148676887 882761473 797284209 489168857 331468583 119973373 214771057 339773031 488004635 260557523 211852915 992702169 165628587 853168033 51719113 463442945 559394305 525919023 223957421 844215261 469188265 519202283 417392705 308550797 614252439 621737199 280702093 10528607 836775721 447269623 808058243 950865861 660028453 391692653 58257147 436846169 606413495 25351519 389208759 650894817 856994677 797612675 99028321 838958151 986753627 566171707 183734153 273784221 71575503 177199243 889599147 613226785 846335391 523435813 198604835 580542517 366759937 415851617 826065471 21212513 714584719 868547131 310520111 943596893 249646417 630034779 379238411 845147651 344554933 710011411 423686613 356374869 361138061 87949143 253672567 900073087 305250841 551405511 336338881 578785493 837902587 926139563 606849133 646510289 380438853 948660979 133791517 697818901 91867241 550479925 711518041 654897007 69715781 346376625 249936017 187035091 393131293 60787533 454128417 547723607 33592481 835835545 890567497 600442693 440870627 790937037 908633651 338417155 910569059 33543879 153261295 777906727 145085447 695367181 631659383 165937003 578154009 99239379 215722925 968370097 306685263 687138539 834318423 636352009 966467527 930744281 865841195 334413217 60447751 939846079 914516671 838765783 422840827 438542705 480258453 13889581 379719161 24985189 591512341 958537041 880656831 172791223 920507283 30793747 940671855 368981299 149786183 487646063 786892953 537731141 534868051 950225545 444565811 364536069 240080317 647868331 458589337 386154291 573553787 271358795 866124431 642475831 882005347 825298177 336971845 879428381 196875573 45338257 695107405 368788383 230015903 633121513 570920615 161712411 597353519 656197401 999816631 331767451 941199199 988989789 522566987 835058889 426238863 374164505 215162519 568935169 664686091 152619225 513117753 204374593 945459713 225871181 439724855 769866799 11938701 730028117 47439869 310837275 957949101 379878127 30493023 193074173 95518287 36253003 272332703 649550195 471651649 816203193 42961757 758014659 219221819 131480503 270659241 172166625 102853091 228220133 60007929 891787103 136803261 83341841 760719655 388224385 580831037 78018093 974949499 584062249 457917373 655827795 337508259 547450603 847327869 102516169 544048305 494031357 809885093 895529209 93710115 748677435 492432713 98032245 761900257 148604465 802647135 518114043 106540855 613840907 740200907 410142571 534549977 393554593 969914711 96852435 278823397 83493235 978656945 28833893 998121695 784900775 715457651 254348925 152072631 295537167 966168865 436499357 341642689 614921247 88963617 778654319 786753977 258844407 513020615 965062091 557516997 41943903 86545737 816013225 56352115 186712519 190160843 399712299 792967863 639604037 35222871 721882271 621247215 513358999 354122459 409572471 749470945 854566695 643745329 92489295 863644859 652451843 356229405 766947561 886611727 288614115 497236037 394649651 496660955 404270885 902034491 898436155 586940807 708948177 323722875 24633921 355454941 805389717 86554723 513188263 769251093 481800651 192984125 265017591 151213769 878779759 634069051 73094885 981744899 257535275 72186229 742235981 901088043 692612427 18675437 998349363 660810523 439653579 424518287 990580415 452482573 506235461 130290215 781807175 931551655 645827845 785671281 437572421 342009077 228717559 537975311 355700829 204635505 208879795 348154505 896158041 700964339 554121337 423216465 549922861 541562817 739933999 442220735 315837943 676950411 242383463 430320919 497741813 834704997 386461267 119898495 622640277 484527821 382404825 250135305 279168107 651045285 248870523 954537391 990337331 892281149 997074283 322832211 286582477 945286731 854711933 937189053 985610309 736067305 17675317 978535071 152190673 645257631 762696631 931506321 55205577 836260955 513367507 840834069 122593971 511447407 64629761 425301909 421210679 342933659 58586975 811962721 840543531 585676803 215962547 972397235 833179787 35822899 870111345 723772077 979327351 520506915 28986795 56877399 141344829 54196271 306721571 735276195 527713613 393064733 992844097 117707625 478106183 692457495 755546643 648271467 176037099 712404151 986880591 343011667 754378787 868266999 796271703 963606449 671880455 587181885 551870255 714843647 198271949 282326359 250317705 641384093 206609117 254523771 236641467 911979223 553001917 279050819 918807493 362684893 495467045 844893879 521505357 711927239 987764463 327326531 943913381 238017175 482949917 223216317 128594369 789434677 993440475 699072355 397331009 216224885 87540347 51660247 400915309 160696335 43065211 234676779 863006517 389456293 762991483 929050321 157773869 760290749 210255689 648625573 15526041 720296653 89286103 633934065 988547421 432491051 127511873 535525469 530140937 517097753 203596233 341331459 506942163 699217343 184125147 822413149 399378333 86316593 92100107 42042961 431308013 863604071 297408019 295747117 20211185 728227907 980585941 436806821 347897475 82769547 158216545 701050583 685658655 201973237 321929445 831542857 11478767 599448341 981279167 627161575 629657791 133948017 392965489 199294213 45327371 550940529 971766951 970770021 640791277 149039461 43493429 870064935 537042481 632404101 905806357 882548699 939695683 919967991 777404523 857158519 547093563 549689279 165024385 751323735 726837465 482204113 421585867 301416255 7580547 206652679 88708325 20375645 581398345 211908897 91921043 772600391 515268067 483285703 275542205 474193659 348504239 580810381 582499705 298298077 533766581 24699883 155881985 652432315 430079141 501905473 295647161 525728201 889747413 178714073 245723949 136959653 938814275 102388967 522748173 525314131 232945561 16705663 355126583 962580547 207180069 788913575 967881135 693506121 807891679 357324869 551403421 295339425 229700963 482871853 597496921 820512241 369271293 775048725 639292505 377701447 958561689 611167905 509862979 421570585 695181265 91058011 51460067 997220929 899097569 744696241 435414825 645693447 86977459 963537405 817802549 706954263 281075923 622400643 186934085 100988295 546205051 524111465 966760393 91615445 589733259 923448003 424197969 857683171 951028103 737768839 402445723 210977283 435465121 820088985 946578055 557359335 375778991 220330177 903721763 695623595 630135601 889760945 624286881 704511705 900145229 779158019 773178715 691058265 897245397 727529013 940927447 810392197 368639549 286759861 214184895 952856343 546443173 453230799 319885029 436368437 36103893 908074175 145415751 231086957 984597819 57994407 920667909 395800243 299034353 219324559 391758189 799238501 728666549 231248489 888478705 811502409 157141997 61487887 795299373 172485003 522328999 982020927 742586339 525255617 350288799 849143461 973527551 811159271 477694001 305429713 981945749 483244133 646507621 753858623 642017501 267349765 426183913 628503885 713252415 929168895 75614997 608169285 17845571 684078573 464055273 639063895 701691293 875271639 605213965 74953121 593682985 888956971 720005069 136819743 852299241 720407995 725757989 946680253 429148937 397590727 172427695 900094795 35045341 165718003 961230517 704135811 111679455 125778251 555822375 621835527 673388211 817325895 359033243 839897439 166491939 853050307 973033553 80384509 299863075 72297733 19939375 658647609 489129935 304997049 934024135 786696533 553035371 287073525 819883083 585035643 710948191 475166005 281208481 107431099 837098561 165377887 453194827 535050255 696757707 563107521 579214457 990234713 940709089 846306577 657367301 520898913 395990925 930318185 292646763 569931479 632366085 497574737 1133525 93205847 994084257 490173365 634881553 24182115 386098149 230963179 303275159 922192479 58768255 543384241 447079299 651818401 825736511 928226603 248598945 255444833 495758625 183384037 652332381 270927809 430513993 47022551 600237009 224319433 239807747 949130077 141916089 328111209 760306111 32514363 196894845 132481917 976904733 635129761 201380655 201065669 856308955 57055521 820540803 585925355 197147113 51006907 605475033 382038143 728318807 960105939 952329531 942988539 200321121 672317239 543330389 41490367 604609133 602193437 882192511 82301207 109155841 247652895 546845111 605644593 197583317 614762821 624054441 369978665 663455171 233216763 516534687 417520639 89876427 574368023 96970643 54539677 359017757 403091669 965335843 226951123 734556425 63993821 412234135 991607641 498453517 852649273 133549533 14589653 776083145 95828575 337770383 629508043 451108619 247316527 422011881 751330225 698169541 921095659 828957397 488672475 670595347 473005123 340535777 388157327 477202743 293675593 765942595 268694261 307633565 990001789 306895069 937280029 428125911 647478723 581922613 815945983 631062691 110426217 460255353 301433217 892199649 733469987 846605697 562297447 45291167 65113615 842749645 573268581 917743377 881606577 587851653 648530709 986683021 441005049 226344053 679864311 360879003 142790971 925727001 608100211 53869541 746985267 896515211 859292637 939091263 108039 43680405 18343019 245307555 908634949 827778215 315479107 426981685 545597667 257857751 55575913 878456127 336245307 799695589 229768657 930720053 204708629 200224055 407611477 767956147 995660447 1110493 556772787 860486011 662438507 158809487 864319897 226722939 143133047 592556203 167990163 143990977 800045355 943572537 735681055 943328397 533161555 889414887 28971931 336173633 131529763 275121167 151069521 162777449 634501431 150397101 509231731 33479093 571635865 356120683 977026331 26461187 37232817 735105687 50279239 147511637 590754393 716020009 599179747 939470297 129935307 380272061 969515457 111720927 310965677 141680799 625256087 792699619 729057805 797732795 805237769 178783881 124037471 991874473 753604769 281841565 993294723 883341993 691819213 138764559 471206585 321916323 923894247 737084669 605079221 920643875 340604721 333416363 591855495 866355299 644239063 291835521 751187629 447553091 163439845 891430679 440370703 201434695 199574615 854070819 743860471 519680417 173739535 880127115 648822045 694163495 270663637 164779611 858736027 450391385 508761947 820272067 425338361 376481117 465468217 906308131 255990053 729334787 170605555 843079419 819251313 862962115 963897071 224983797 830337693 169051835 129080703 226879209 974760653 607013299 565190621 666631373 984058767 463234329 793152043 966071495 243496919 59174407 375455601 416027683 529328131 948582201 213136033 917931603 50994905 925534745 363121555 588861427 38837379 825244085 334899209 351066053 683576731 731376579 189775021 735366579 831675933 74358693 824009745 997530581 69103211 140766047 115115435 262019425 540781653 334242467 699747551 716832703 826546191 775035337 460578291 778950007 19550009 175049421 72754461 620771133 759031253 511797335 725955955 295127789 908176721 959908023 184053239 507899529 786905477 95689447 6593171 248234813 577808297 640208257 191972631 31438427 152393063 214206415 570153533 550370401 433187273 23393473 825141415 507900401 802201159 630935533 859356637 594324181 709545917 838954643 866071375 853166337 753763185 295107225 832485209 19847569 355107341 175358351 475574845 205940679 310543531 186705835 578098975 519947279 338917829 809425615 591009557 115187965 944677953 225231745 419140631 483969099 897041517 31906289 177512967 326583261 73700605 876604659 48219053 473959613 947500049 953283851 428413369 397755423 852667435 134874459 168339399 739014239 781710137 898693303 354442583 994123265 937292177 28199573 668371155 645720237 741269743 831334417 171248779 298186297 775696251 226879735 690919351 874451871 394898623 500092083 689850749 990305795 657648819 702296413 870161889 480784815 190731443 60601013 606150873 481759001 936955011 730661153 705328443 846518233 632351569 876629683 146856393 254342581 302506165 877113887 572442155 439165845 278588841 493267397 153284085 273505935 239152019 425253549 706113951 526332639 96599359 491451271 139963785 716493029 95290853 379234729 324934911 961246765 347746339 971646483 884269871 228619885 708006649 242117227 89776693 814074493 87808729 409891841 431147537 457409891 594894999 415840973 54720427 998963015 687869551 520782957 756739031 849993857 763524361 998908711 25962571 761631367 191950447 41436399 139432109 458359039 428734231 736584791 25714561 224954549 598758625 214374307 540613435 155719323 882761743 781499317 761918261 396432075 107082319 215461153 570319023 267138443 577314743 794407707 619150289 501473861 200431045 925780101 997163695 293951115 346795613 966792421 856404031 947515163 615594701 763898217 521810277 195506389 430229703 176257001 105893867 877522375 698578285 729136101 150823807 56283171 196300355 123984771 183395515 251250501 870237237 33641109 301474851 739945647 927246999 544357263 542263069 875868429 459460137 451904145 224734461 531881777 704257553 627691107 27036153 958549273 253011159 895948661 374992439 420345063 290957175 257444573 226526395 452011493 827257929 559965017 916427897 296140679 968133653 9158227 107284809 993678953 652396807 869358809 681438447 845029709 637530037 188893859 937241617 105335327 261584925 48303887 412556609 891074803 864308897 707455013 964048891 33950467 276408083 26149267 896720797 877033905 478517667 939498419 435801713 978881931 821565939 869446785 97476777 514523461 6257157 221339815 475095389 797806263 903832393 809225329 4906897 25835493 128766865 726498011 269339435 504191483 172806173 266835583 383827453 834160717 18900625 868973737 399822529 849973589 567981563 392433221 757450265 59950007 336228303 321345771 113224589 919045949 285955307 968653787 440047247 964238813 861904533 280936187 297817975 236207 385167225 882897883 158896777 639778039 348444845 852094131 473284843 288452899 129365677 526712163 112189359 747895235 466134113 678293615 25286351 629336723 188363283 444600327 685609517 821849975 380805753 600829189 490440337 994142075 526675891 404318695 680296621 859642831 54175299 135791571 62405145 311673041 79647255 918416793 233612375 950862085 152703879 742277297 133062609 633911317 945223755 799142967 945880279 367066579 72616589 47428599 810539683 251884347 548594649 606531423 422525527 361970545 991152163 903616131 104895483 657070785 858562761 916465957 232286593 217257373 243448207 121898925 1797057 590090143 375659429 457794601 533103485 138251917 186422943 282506063 253404767 654645073 924978041 634874239 150333431 326170365 894597529 257717187 866318527 121765839 866524109 647651015 255232279 532578343 326099273 714980835 51302987 76262291 182422701 597000727 381388683 104327109 699142907 34690313 401985775 423217047 848222369 388182027 899585145 968316431 876011125 514566417 647792915 11866455 515946163 666834363 411613069 981331907 901533699 612628561 274098079 93091531 203213935 902521539 692110063 410979863 923703407 987999141 806204419 373003375 791378911 76298555 190253899 398983367 409868547 820387945 774399523 501918523 263760779 638423999 52820427 515763213 357695881 935179891 339047533 664361641 674937981 718127463 749028377 582041761 977164875 523496993 540506567 33725107 917212225 97560527 316268637 943834049 869386771 194503755 296553375 397484501 664721631 324181265 565688643 229833507 92918315 934730315 39450079 330098439 512226531 453499845 123548147 321064195 850253405 60959227 361295597 124512195 830987605 154935559 869713435 233783323 801859827 809502131 594359221 550869509 688909249 876146287 30032865 438709157 752845495 302498899 917084579 224674373 369769007 543045657 402620401 84699995 284217073 327784239 959239327 360970111 428991275 125105311 134458227 497554293 304898927 207609891 745707283 520271659 738393533 84890393 138480659 408418481 464714873 136229257 639974379 626274627 797952879 56488739 150572539 298773573 829278423 580081725 447379597 601642049 872462413 170684117 270147029 611186157 667503063 431769493 384371431 487927073 208448225 481225931 222082761 424564705 747891007 436599663 575522657 179912027 142977073 849793565 865236099 498875103 366100829 483468321 677864677 911556841 716451277 408019559 11113773 174815261 245655287 980797065 169539295 962838087 318372283 194641859 548589935 593747801 894915419 364016639 743898935 906315373 256918149 654995657 649579125 944899785 517343823 672122971 61279317 586433749 723726133 392694421 733987305 488313641 519112223 913386491 798244647 93159291 955234649 957464767 580226035 909927857 269110165 877030839 856664855 126926551 716763893 972155747 601811265 947065887 194573819 387234537 722401291 376233445 404406423 563107099 856551673 360469161 720310557 847840621 813984881 651662875 679487817 881390335 898339013 383072269 2884929 861470617 827364145 645938551 779687569 16519337 829824721 441132929 385792819 736163913 237330869 273789555 188020863 386617911 156513735 781721793 452375613 871108823 79543271 428092421 899101593 96785981 953315537 445995525 96919593 917164831 153553457 307022763 999337193 857358811 123065241 455817739 242957119 721817975 743645567 671455071 883054075 757279911 15808071 763379721 850723917 715034813 407069497 639233943 960134871 457519291 854497159 616603069 240803995 30967369 169259849 830273361 197016583 458608819 560723073 978229085 517509107 406164467 859208217 191596551 369844377 506431913 29348065 786057123 844526237 168204825 105871509 980284847 583750673 321259829 596830417 673273805 852036455 24556947 382334499 23803591 884601981 595442035 191766779 765153171 298740121 693559227 847918257 96299081 539509351 504107773 582825607 738492205 867851515 334359147 668950183 983463851 858521301 519405291 325840673 132387159 415430107 230782975 184898799 808567531 689703767 622005463 443523827 661661515 525123327 843868493 439682805 355818627 703159795 772698845 708926119 29257923 199294901 923015601 682853537 853075305 159902003 818266007 888806245 481198073 515274691 959544069 41123931 594582811 75385891 282259485 51780825 655887781 755242357 125742501 675382035 31098257 53275723 405909515 188425003 335896835 685725079 227569769 553134125 111584071 395865013 909105531 393690375 543762383 113156975 774578345 300722069 969010485 103248109 17071365 175132567 145503295 164647625 447299651 840668087 242691797 270374141 656315843 330823813 268714253 22041583 164189583 38370171 470822947 147279213 836681555 874501113 615811959 771774891 965646183 731227211 368060311 863921223 312867785 339471519 270287155 694570311 426142499 667452433 430851115 702311959 256052677 104869281 836764287 73217165 976792737 94655801 188811609 274983911 479107165 285430953 990839825 39885767 929497147 808102571 477693725 359580989 382317355 174296543 143933733 589424063 775128775 4262863 791918065 331096105 404116555 416364527 733291381 303836607 647561633 236528789 279881931 795350831 537858647 464179201 965887289 268457361 998095523 656569697 906788649 76917087 324332647 455952323 407101743 203484541 566122025 458262815 779897091 718859325 61806615 571153755 740889229 523359825 857518345 782448443 433661141 195255255 57266047 522679667 912791311 93363029 851737249 395873181 363118999 26124983 393750843 409202489 260910831 32266321 590158535 369782447 381492931 875315173 903312485 528233555 243864295 549452179 439323609 679535965 894890579 739978475 942237845 506057453 727018543 954105827 129609903 352622349 486835907 578635221 465254375 603616687 59989125 882476681 848347299 449197485 907646219 588349739 871495411 831665605 558667807 157979473 617826191 256376229 187983015 831370745 983723733 723459801 75574713 530199687 171809229 173559775 525376399 258200007 484034853 68336917 586888333 976934129 304574007 316851653 591635517 481876129 50747903 25426721 100360275 651412443 70904871 143338819 720150443 135841039 563656701 917297193 412327753 464692497 78646647 957246657 930409301 247079965 471367735 813198295 743532581 63212249 44017795 311308585 895910195 524954451 580681801 274177621 251740707 29160959 958862369 247937509 532619201 323131579 770573387 650438731 401080573 445366221 891182511 347112671 732019191 889718497 9454297 671105253 835744493 895493645 861872387 721739395 480847183 815410383 930003725 700274635 520712877 35581193 341414523 886993335 256441283 875121163 80816255 547328297 572974455 390025611 624452335 448587241 603806671 351536293 107375433 643262377 861689603 821168349 917686201 549409539 31057003 785659683 291015689 947348597 922161549 950446281 672266929 48711531 207317779 385975439 351579605 584445749 629064143 324042649 553817141 456758287 377702333 247928435 359761991 797542421 975495427 367794711 807550749 327634517 27999465 285732061 173978491 207164351 371755745 969482635 878926021 659790379 34794379 191238737 294528009 160708445 55864743 575713219 101529347 363744251 165306657 988018653 987602191 324243095 809259019 499579655 233059379 252249259 596482467 506545419 402317857 718403481 550371145 720075295 19348271 489711017 209170827 379647459 204600671 548164875 442385179 81026649 832399187 324588763 921106389 106520303 217887069 449701915 851462075 746282363 342105717 552637615 802127353 316802875 808718651 179642479 303522787 526886355 373424371 59268623 460760049 220191823 251660943 380385841 338166987 878308391 883326885 338650209 111735865 219804727 168697203 941913615 924209199 650765251 137351651 287314835 633702857 196834683 731545733 158008111 796689993 624451187 997404043 898945547 851079197 754469159 144167129 34976571 55369683 149282941 386799861 461843127 215167275 252202691 34895887 535592545 594557447 541926061 468513019 169284353 114926449 190001753 624037949 787277127 148374687 243033165 565232375 126873295 521854953 116001397 465961981 894214937 990735827 283257639 707002051 615345295 145152009 535851553 715342443 783991681 404995679 437549445 965479611 340939561 604903889 42581733 681318177 521465511 738024829 319822897 846901685 571665415 662308789 680809675 489331767 445143863 34395879 484191861 499638541 716496147 555880627 730136671 322190409 648268891 218197719 244903963 594111135 161111735 949600835 822675625 332486255 549747643 198636551 496302445 616239809 797070815 262672991 415099189 525847621 296163203 319884207 395928373 353519697 791334899 573538179 132139019 346533349 160344157 549944715 300195005 238689447 52338909 766801063 746388407 39783399 778031987 95347157 174948815 354189211 476125959 668971333 696416577 797472613 801201773 122096967 51105459 793387915 90090333 601198425 50877491 279463421 791500151 291669275 610869815 797049167 223035717 834581851 803433113 275845061 829927225 122088713 68913571 326639169 801904301 481139781 862315773 717377879 825007329 265831247 288176319 461045307 296224253 406858129 612437095 893071823 132029973 530823331 235298777 582582167 633213471 991939899 837221985 763417799 738329345 672658497 636138935 999175985 332565119 631075773 998228727 865450071 857029197 453807075 6557093 391958111 922643205 322162189 921294001 649956633 843796773 346865089 285922159 523925245 7267355 924214697 395858075 264647723 569130291 165146777 208123227 144529767 280499883 285821579 656643133 526845219 751008929 949815713 598374965 803368563 870314015 528411945 191075235 417415707 618425879 825887381 239545673 542210431 651457121 944231041 331254101 630401967 805635777 574163375 450405981 446301795 82231773 888462347 213328477 739033849 629841993 847801257 261237181 968540025 221458811 72400323 839353927 712643473 20229847 493144509 899818035 207173529 721704613 474081825 853192989 268075923 177695511 995669411 972785417 471495713 862089541 482387999 214062439 886173079 238500403 238651287 390137865 651292905 172387783 861038905 438115887 715712185 20313555 800264277 56013693 764564557 768975123 411476839 392483585 995657363 169411619 967679249 725100591 659317539 501556371 556535075 421498853 33985853 472598989 316060043 820975465 235265735 605399089 248432487 369893223 240154449 780385275 849915387 359309045 490849043 506114135 959585711 633039503 487814637 404398677 251671321 249464091 789053027 933340143 931708403 459487463 247602341 527188743 78451747 432321705 580980109 895042149 360348847 761513597 150450073 69181115 475496143 785851111 806995439 36484513 920180955 138285013 519776095 850423961 925740377 248457629 521147743 562210829 262474225 957293565 510672145 99011661 682854009 323595033 587250235 931779733 12336621 841934461 924477515 712671745 781524845 447928353 194703195 221928095 703998277 797737313 179854631 78903391 227095019 369345027 583639577 864579609 198381817 622835507 484653119 401349775 494210095 565209221 870842447 434337131 371576957 985461497 684539561 667054141 575959795 180318709 597449815 341256575 451533775 968398403 923408901 570170771 658057585 328177433 556032779 757328831 983862631 25645845 919928937 993198393 808930147 8210237 143261125 761658903 43289153 652561405 897943151 289004635 461128451 506283053 298311263 46057199 478143955 877230597 933794101 848991907 319840009 311234607 462137653 576097585 667444253 846511797 879684175 931313209 247968433 555488271 310125853 325186119 973485971 263808537 178495453 639766473 11831733 789166359 97288565 109693467 3739955 25906873 413934709 548457085 575525455 216630545 369760787 927468825 402803829 807429023 496572721 48215039 537553721 181657159 275519829 925079081 627740501 491011671 481863085 13172343 103425963 118423939 905386515 178832563 626737737 734730985 866668547 826097809 20890979 93517839 662249895 70606503 44900431 400688097 946765515 230816119 256232599 522791349 664443369 437161577 995303137 22148679 317188897 582301905 252965379 140075199 533689655 215835879 601435127 845667239 260218013 828446411 810975455 277917685 518778985 316959623 87068683 925426697 942310235 878791183 463059689 820894373 150166235 456158775 422976023 652580855 81668085 409989061 595665497 530682007 213970531 900709217 942185879 639683711 973906307 285871001 358953959 113716243 889862493 571773931 325545603 812423461 461652897 893349301 85080783 158417383 750944419 862850371 671778645 21085687 950683751 224698563 808463051 165536603 289001361 223032655 157119241 479754621 242730609 449761771 796534805 559022135 787983357 572305533 265061655 590048963 212948183 276464345 102810469 906983111 56341061 259361207 400180603 682810193 148793141 318102455 621544953 32631255 230939457 737960547 750492331 855137075 469240229 481014573 967882631 699331245 434657353 935664751 633892261 714045681 41765055 59645543 728174155 878715669 313264955 51654723 932465635 352653719 674426271 93106959 893984511 217592667 711267951 682149065 212070749 726894253 473806813 776035151 451374301 984974917 248975551 444304235 888208013 221175359 250257301 356108239 913989533 187260703 501559685 581904403 845965933 467324117 397866337 403176379 922172285 855385011 658967195 308871981 264385145 175105401 97625177 13848251 50691379 84755531 617849437 539599777 642078889 834683831 337303063 83707645 603166715 824528305 474749345 768160985 975057783 843223959 933211319 19784999 120046479 571909423 94199747 22908607 999594975 397477797 437938387 164037731 176015401 316963471 255793311 88436157 144330073 44092139 836936069 265736799 268121217 644992539 722140299 500533439 188800991 945412335 622989413 946727745 615756757 607777437 89738341 749243181 971341293 519842753 338933645 124973493 389361627 48348511 946314117 352307953 972350075 789389285 782297497 252094179 962684623 529297961 741406659 314916981 666993411 53042281 475081123 509293175 352995691 10580809 791674237 920876709 963512193 438545623 467593027 104820379 783625961 572659591 212957579 556472551 332872301 313424695 169932437 876376057 94807809 217348139 945747783 563360041 158913 431055379 518388273 471499193 202117103 22008579 890262667 587305939 817626617 960816247 452639027 241291655 482669167 65421397 105308593 820495825 415752717 693845995 193019189 425332109 137740215 502524143 814222229 349580937 248305527 443018875 426291279 322402933 327963521 513088023 270247309 159399913 285668659 120579761 636130077 697397095 870873611 994357659 427723637 254243929 489714359 161351059 958780087 377761807 11987981 133490113 960187305 137540291 408727043 991860911 896847033 677399189 959432895 929537877 672599295 650192529 6356363 83762703 606434621 305443751 49141213 533226401 244505301 861931949 895282253 595632187 979657435 800989801 103211937 821422193 859587331 340393091 25419203 672618559 130525357 856840331 79192261 573747723 520366563 305486331 933726691 2571683 796678735 516998197 114955393 154857787 655433805 735232383 710357803 211503217 752124891 212956175 496850579 8343371 464790431 317834489 797787283 719866677 294576619 999195459 812804913 438874629 889074097 267951317 73588119 265050871 75149205 893047679 612845335 631472563 847434973 930483707 555543599 798586691 349079673 300277993 327113599 137487135 619560959 139676117 255615701 221122081 448270509 676452909 427317795 912976787 565613677 630595149 100042373 930899997 918496461 568832629 422025021 920570583 833277443 965905869 938277557 882539583 928733169 267715945 890421125 919578937 105864989 595582785 858420069 42178579 452335029 98736437 239570999 492472705 420972177 448860687 935511817 251750305 889011249 153884291 332916493 493192441 236791741 647174181 755993759 959424883 379055617 784975483 454423617 962745705 871445111 690076651 928165791 287605909 87676479 665493193 543108237 931299615 383637789 218394189 68318725 378416785 918215811 943706007 438087979 489102049 292370055 480659633 528200265 443229551 829324521 898872717 343036883 816924157 97679887 527516421 703832933 564624313 354700809 526684121 242927297 910832697 791929231 743392689 795456211 794823803 648076543 763813921 534738607 713423843 780990305 525703583 251838607 233227581 664459619 359162511 857725655 598984129 487070815 226649657 862659345 223050251 316360529 462642129 763091187 744304415 505127395 862708587 554812245 214120813 542074211 406392077 542518075 365400519 697847239 85940125 234145491 996443245 118720177 520314349 727287405 436219397 887252071 302677433 808592261 595503767 873225431 737878175 461184447 3728031 354060441 98437929 944551909 743920117 856181741 42304457 792500973 466841313 456949179 404159447 177857263 319834383 405909135 851979415 841302065 787742869 218324387 684337199 759118363 722996975 106610647 910364337 549152323 837712389 290820783 984969497 357697893 973945633 777408861 144477763 436012641 486811643 722462135 814601727 662982469 16708525 552150843 764643319 578321985 276791745 600838675 561696459 290740917 297871135 419093519 958649591 149158943 375177505 391011233 802095079 175177007 832188543 373746925 936084715 230153909 723081315 17722553 467735103 71375535 873659225 678391669 430382081 875070269 16575573 116410421 178823483 808790957 212447669 362048445 313685725 838602609 357622847 228217713 43254981 894952739 963162143 629683807 922941103 620347273 139077611 492499523 949203271 586915981 37831583 280404087 853510429 491790403 941631905 208518919 101777835 592452579 648443327 70119839 468017747 561546965 949628463 519457943 947516765 915989921 612395147 607362543 482958585 627685627 781456091 961687631 852531269 24766653 831598733 562318339 89536573 833559789 197149043 855449605 212541645 994281143 87715019 273066229 102042053 760262505 302281789 749674007 918654431 567142787 228672213 208511069 365176763 891672487 325517831 431555933 5088997 504229279 171244721 328934997 875363021 321430367 301654039 719640367 898545611 494534147 623125225 626450297 688660513 982487757 913839161 4517739 474825977 305457193 305106567 937842403 510520675 656658091 322464441 108355177 306247001 790622733 994670871 836630573 548595899 938132531 247879261 459617027 576242773 729201191 547642019 347908973 24277205 970323741 971212401 834863251 742898135 395580273 473495987 374486851 833799387 135675303 471012031 673553651 927014475 182823783 404754259 836974789 246880375 171700359 413861265 805019263 57898649 863327745 372930313 281655695 239525841 651177209 660587953 616742413 706749995 944791993 595092709 650614201 583949205 724893879 521381481 836268281 860756715 454519691 688652653 852782559 487170285 241189369 918866307 765558559 764483395 413456111 54590891 983483161 866329473 364153213 310731081 748656853 344459295 485384159 62308651 371084035 797632893 796394617 527950469 113742073 777364711 914182871 525032949 599257527 619305867 669414571 751987329 690126563 607145861 191502543 945318035 9521613 136866517 290957897 997894917 365982827 650344547 527010113 252431379 66650207 677093635 967610383 856739935 47141359 115359853 990275625 56262137 431169291 603620929 452292917 701234519 756890695 366311177 239447039 897293907 296607205 337191225 937556857 642467637 271148237 277864485 515639229 646471083 264744333 262769939 97368849 648070087 143762779 483923497 555200223 567102727 59220761 662067579 606532793 910520659 585607243 9167873 752867165 571685367 260368931 277490843 258723243 9369767 538490489 160324371 327391153 651504769 337529033 747964187 584370081 838947081 43021115 925144397 945623767 751039279 758561183 246905383 119845589 321321543 256164461 520289047 269745223 825790733 969556933 713778025 484378111 116552359 833786475 715497819 301842939 871072163 129905361 677766923 586624093 384912629 757116427 298618755 954719855 409093883 734366429 983658933 755273125 206351995 900392107 670739835 363939483 99247521 961230469 605256851 399339539 110782211 926677027 670539177 962934265 933941407 110187235 954050383 970539615 347314905 845615309 76599035 286651523 931033469 916881807 850396177 832871367 635059907 116773249 84745945 4918965 285658693 605211813 911380869 35265539 755677197 617971613 620114735 558056841 74491779 121442493 528107733 954639179 222934657 122672889 343819875 903718517 813892161 350405363 551993769 464445019 964686953 88546287 395926371 21097335 883631621 134082271 929445935 781942381 25880719 876379483 249223063 46357767 968795871 572616863 610247949 586905403 875526203 504845971 43864809 534447649 285413715 486532807 865710445 447502589 518160187 863053683 112487363 19748413 134394993 584889461 631476987 28571761 154533847 739628631 173964561 558739797 775276477 802765123 995624929 102610637 525773017 141731349 50367545 604879843 695277381 61999435 236071113 793868749 570914697 71727627 875814185 329143011 188610451 799855397 305875677 350008235 561656757 13402127 27457097 494170575 537570735 795268587 469052869 907870497 595158437 166244991 644869765 289824413 849278755 383934265 914603435 396298599 180587553 421152307 351031107 565048779 17343995 835921193 948412221 215158331 323021943 735243909 412069489 102714449 953590975 353177171 878161313 847683539 553852525 236902223 244202103 444652459 712220283 770026451 943167107 524644075 693360207 193840363 970561087 783473103 633471159 621006659 318163981 204141245 892792041 570656307 94235957 191454525 827195775 977945275 204643559 88845057 888690049 205901953 447252799 461200617 722734939 811888853 834988093 78270965 41786339 427627439 335089355 352360529 258027863 255558831 361181113 327583311 992563801 675262489 480001217 755516781 82943739 869098461 642591619 177968461 389542319 807864469 783948939 278674617 887951441 285321343 616477767 579737765 659731755 332195457 257978899 869888299 745609189 436992811 84413231 423833745 889572505 750951859 47045573 642456129 927578305 724279035 48398821 56006095 129592899 456879241 902451849 411129333 927987307 420060555 997120145 355841431 561655027 386920923 718471113 815854783 34108147 619494133 864088031 869159329 594097139 929648385 966271855 954038169 780519135 202887633 450298105 360544809 120561419 319085017 114337253 229678077 953965369 409070907 814113159 661195753 51766409 780100283 245777943 682020327 546581387 921255627 195409845 22385691 982449461 924833409 781861229 834171343 474429923 573286557 733745197 262798457 263644761 612871301 681823185 104585393 9792197 237501771 264750103 430218043 355109309 49488547 105727405 350123011 571206975 59343853 252309793 216927005 183667631 677760817 381641707 400362947 1688283 167898655 192840047 844509529 714025207 943834379 168731127 161790059 672720289 698778617 491092401 743890857 184210653 935254413 329700793 346824435 958961179 509811735 930789133 530288711 66704175 900219533 617194907 658485973 621138773 355425169 237839663 74013165 775020595 14666857 22335623 133721099 455473879 695677955 876627521 322909651 838154421 398679033 942460391 1968401 759164589 605644167 939870443 368506807 396074497 371654293 208697767 96740063 23070559 922287797 893841497 266171343 716349405 200790043 398376495 738378991 254936569 924937385 565772853 870248151 876426901 793600739 55579241 881747261 655831043 192269051 555571369 266439687 753078005 197918151 583135167 357514817 472592775 279408071 833469021 789493533 233332803 838026273 430064155 220724469 236116753 455792037 741888637 518750799 628750411 944750027 266000873 778343125 589098923 736989617 57706673 143220827 289227095 46123297 173664273 428741593 149642973 737129861 448559911 864563831 642020401 33694969 183011837 238876795 140668081 346714425 724544133 869908573 722370595 353536687 606635927 660240823 16387507 481944425 990179317 698211403 590990583 620990495 951932747 324413701 188823787 130605359 932646693 932316921 699131127 270246815 684594175 190980193 269750245 626092577 964320315 241291167 302680813 480902157 938103585 169053249 483219113 678006879 936377827 789984249 312957985 700900545 160786585 512628643 297765827 320211583 580280645 383830593 863397985 859152275 912940241 275819521 701128251 84509597 121535503 840762673 666130933 728290017 954447541 580437329 608536475 470453585 690369127 737624579 484080549 197880195 819986859 481173521 611742191 540092343 373331703 69388399 527119039 828171475 34644385 156211001 894242753 888922983 694029037 634160307 140085003 898178219 632218879 806254149 489742873 669447037 438950895 156146053 289938641 555826021 198316721 430885165 956693633 940224915 173205543 385041953 275862751 124990429 9261085 33405035 743242501 278387137 650987587 361764929 909261435 248757097 976068401 599572731 398899757 283447971 513790825 127264285 811986801 289848805 597865045 619897429 40160517 877777745 37452613 384903283 598801421 531980205 630097523 82330739 782832917 885199719 217023999 789042809 637059349 894421399 667658485 766854609 238900329 62427901 817110085 102193131 935367637 352830721 270841287 226728295 11826569 875553967 15324989 294042883 274201623 342346179 772218703 354167471 839789951 182474647 959219857 532508283 484299813 374272565 895814779 366924197 133973463 706414925 661782127 103073165 892957387 322222901 538435251 270732991 988299931 575030253 442623357 686454769 121905487 359004699 237753315 398571773 648211539 231120911 559337703 575074789 440313725 341421761 664965745 344336339 357876233 609853135 391215189 555731487 170615711 511928193 433407307 571653439 348362057 787866055 566196211 388414939 164449917 695482679 523549145 10643897 538474011 547804431 680336491 530684113 67574117 305167673 631182853 6125117 234451723 493035331 862976231 95674687 191326239 762526051 809393209 545688643 503538465 448311675 886322447 125197275 649774325 188800017 663806817 827405253 850520551 369300819 331722511 153057251 467774641 653337625 50841827 900661055 498333547 33336035 778923409 152106253 230827675 457537753 645661869 972572073 698751537 655630535 20762557 672337813 347363969 133475879 584207145 180645501 243826503 650673689 957160767 186983987 172000425 87823457 3034941 410310069 867965493 426275953 667406913 128563749 89637857 325294687 750632533 524704717 946997511 289276907 728570221 446832929 440700783 245147515 67171933 486819261 554668615 147650847 539352043 337167205 146732321 46514063 922996669 708237569 285929723 290756393 778703207 983729063 847891773 513505013 443146591 649322385 264532147 632441761 965150729 69266209 929199759 744049799 354708143 610089959 397143923 447653539 956949631 280082321 455299171 648696223 671824787 193993469 784145865 948798153 176472559 825798959 400501887 221934103 755225209 441990223 811838143 558659883 752851971 868400819 211077935 577072715 722220617 349307861 577668573 860546917 40389353 839781209 962689341 442075921 771819117 664993803 976155951 222988687 46283591 964932315 124049907 181461959 743809231 799904233 100482877 321551941 74211913 459442547 659143453 816613443 294466011 770681065 882153233 77517985 618997143 594763739 329875201 418128611 678119545 789001989 831558711 847362107 31902559 613993291 325954665 844241023 888140819 542381753 668758199 749428525 814044231 213516673 82646691 230839407 503310483 804161277 409252125 736683541 79437689 985631923 66388343 242378897 679463523 114875213 749520497 586363399 250026147 230566301 629380399 239168829 286812783 72681887 944430655 359047331 281423851 152716665 918895765 244335437 560541727 480627825 305355919 530223615 295476731 664867327 498322163 180844571 907992925 580092605 553638379 617126581 266949121 378925421 518950929 110901635 983970963 518584315 853612895 107135457 401906083 827945593 734652989 540173787 995048107 797625381 853216373 560489245 300615437 742356063 527178813 807825407 457983249 665315765 757356853 384197249 692632809 695405273 144732511 569883467 987177901 410360743 335163433 882664617 682012767 191138337 678282601 203580309 615565033 524461427 875128413 820352175 300585243 766881521 450702505 628583739 61173679 188524307 227258713 49001003 534073159 632236673 217561061 219655445 226857321 719088387 125580585 492867895 704581515 846479501 854656107 234345083 515909635 767838267 698329685 930910319 749035283 202299727 129056257 187477835 38047717 326155829 258330601 739824877 821841801 46549377 267907827 728246749 917935609 632388845 595096429 243860553 373615893 633727581 599422987 906034955 988598185 666601691 403772653 401144479 759978595 247655325 887451797 718541871 268679903 227707131 620564721 507705481 317485213 321655673 913690199 361033507 208537607 134913731 317498499 217428767 356583277 957499053 850598813 186895425 90296841 593927729 840025391 210902525 104172283 588585075 499378481 701554277 696939599 850389951 959587581 813164347 114955763 920736389 600790621 737989861 682330819 162299491 728018553 404564341 689739135 618565405 379295979 646272415 99801553 839639963 697089709 860951491 781587271 702619891 291191077 735725289 170144863 20559713 545029407 339492289 606533497 6352709 823904723 641592225 227586523 138066475 655482845 880424327 276722361 135888329 848240195 775243549 581335085 410950391 316288369 367350195 116232759 221379259 632636477 459272507 338303423 634708287 541455075 615860569 866533785 901501141 72097803 767399507 925142909 687172857 135515583 391288857 761507083 793026897 94134389 940081471 631805647 347670179 490257421 949416967 310562615 74161127 500366025 187337561 718956445 985114423 434408023 188721091 365039941 521291475 577218765 543593083 354746967 530279979 652502953 994688611 131154145 318963409 67692751 353380607 500621281 682476413 729826699 432403329 676326965 859218199 576958357 281472449 177008039 405777319 182463497 271877435 884385257 263178591 44160621 641953303 293421973 599287711 326801325 452887589 744580907 460195303 416453917 554193373 135716371 959025891 928774013 728534367 784958367 860824935 15703537 935900527 730273291 741709675 99094791 935501437 565150069 48887063 840906165 967204771 82707687 522450867 468157013 408631711 655286611 601524403 971590063 291138007 850058899 594270387 916173807 118576987 256223333 484138613 54388139 435606499 30431093 897467877 816566497 546331341 554258005 632045335 171486707 512223775 510115963 634465093 46197939 972284301 858861899 316351443 526272337 329413481 439361805 986601291 166677359 61585847 413516275 152044641 100625167 450605337 606434583 598868721 796236705 994430947 802884983 620296445 465420535 708497161 634053887 442574771 395297873 967054125 140412801 482375265 896912723 297378707 125136307 407906183 938710795 442120493 312756793 966559175 602748653 677330323 853063835 685611245 609178071 158774271 780576843 398555369 54166287 102179423 863974817 364553945 905631041 582292029 866179295 161953793 475860867 878848979 504067375 22594761 29587537 367310079 827820451 735775175 735869587 577921099 763957297 222932661 606380691 428445665 547497149 589848951 709284103 279836317 736172559 717814553 891188239 313672957 571335383 27982027 149033517 414314535 353304753 755889389 757760335 163624171 872911647 945548285 795884493 352733375 14343303 243898795 817369439 374643397 152158523 383239111 383974447 935361219 18440821 447655245 563428809 595213351 468330327 74151779 238760481 452568331 512700903 632835663 183651477 572484907 154360347 686623369 7446249 583189233 718169801 624353193 417213517 819655785 620940467 784368501 668535381 396267599 280627075 11434711 238074877 195449085 998892745 814338785 521830571 361137023 166032127 335667153 377581869 352262273 632203911 150774791 11715255 740541787 236782761 333278993 425678825 912617229 271412885 902996129 134476741 212520765 567315559 579732369 630181561 939028795 137079327 586815719 51424155 30182655 814536871 516275917 562468519 578010663 139851471 390874007 316546693 38075133 629311569 346702525 130369343 116199787 610630349 463842279 239274829 754860045 948692175 376558557 974237835 420232993 69058759 54094227 319534397 396905869 919244811 834706725 627923731 849851871 183411169 649396949 587192863 608954707 750659697 557032975 572246497 980745925 874354123 815665767 414662205 974770621 288465129 306388629 728915585 670701417 215209643 136280449 286368353 76051875 665098973 805172019 967293179 718200295 510219565 197855199 414776789 251378269 957623863 185350881 448216539 835943639 85064315 625243581 146189411 777750473 438173025 403885339 736663593 882932565 151820349 778509263 593409621 669556287 193007943 407217111 413551473 29379321 831255199 261374293 955235445 889823385 943308625 658525589 943369659 633275359 430772811 420246023 305440267 752502833 21672297 116040521 750870419 208190113 45494379 36137501 435068645 699620067 569412089 193182833 824564737 196087895 677190823 364130901 363775307 673467141 750737899 407460101 740881551 927749277 921714475 278607333 799410693 700250483 800102571 616426367 585519433 226923915 995404959 116071561 358638689 690048905 381770273 768791259 307884729 412053437 354199599 943668859 758499877 511111453 381627063 751426193 511278565 654260299 491803525 487258739 421691807 763691149 640416599 762921629 402045021 383600337 252340939 562859951 796208533 428048561 459747179 954998645 11272743 297698153 253767849 178166757 714268499 606613217 113243871 169907223 778025933 768429739 833670221 108436305 920341669 774521595 833752091 507500541 988523609 813218227 186381147 673255597 50141137 208285527 174566921 233793821 32826199 620115481 255796739 401346867 289806243 950808271 481054739 765047797 144816337 925790201 474589419 376733851 892588389 180446909 109081125 307773823 767603535 800190955 205884735 581638947 384251619 607798523 101623461 40032563 642717149 871895307 56778921 720373121 582397539 767558115 987095681 959168779 77104641 186049779 585549649 374594801 777320625 521839697 783790369 117084545 516425675 195329467 773245411 227960109 396661015 886680475 485525103 910277009 685501377 985093119 808619401 726934639 144735071 668600223 111474391 975798963 985455853 682742487 493828587 970903407 723677649 979871923 7114047 213637857 901589723 28594143 390484789 560563563 738299195 390861237 447895317 447507607 697908115 206241073 364529681 76881433 639619813 464503803 592664641 354777293 234219935 890398565 623294377 247972789 438525593 997648227 815232815 79703805 909708813 32327575 998380965 54773497 942080671 892779077 449059013 119939875 901517409 524062559 9506865 388066589 920353221 363549051 349142129 616061367 730246313 438930137 280604149 930736095 595312467 494038111 261246491 870657459 733099887 126741661 911717407 512751477 493004049 897345227 617336877 482799249 973124025 150356423 163209813 489421979 383185741 480492825 663884177 315182157 927808791 631208945 164811459 419663499 702231245 161903651 168353201 980481889 717822351 865556275 225754129 475550975 498384095 252493125 654485113 452309187 791358891 263717929 571767659 592313393 470787913 419290197 596693073 211567089 292357751 371986411 327078011 454406873 548427863 432261041 661876259 846370533 338539899 610377749 327762283 943871029 888046293 142580271 536537433 644986901 27990209 584965311 751718115 749827067 722104329 528147757 331993055 143021183 841310421 610793093 334835215 761959527 428145599 230845571 524664347 626822043 865544897 376600193 807038615 300903987 631811137 10029705 310646523 105990501 617132557 147582027 61905577 180171415 587981401 908539933 645206503 164907605 583688387 372380671 664101099 357832529 969856337 709716119 865369291 585214821 149163375 724952117 953686153 561033367 735928563 782077905 836631053 41596945 648622875 930572297 172561707 475170597 638476169 618670629 589474459 194842193 376509773 503920405 537703165 731405365 435519965 356992109 481889757 653586079 614670357 405600625 816877737 605805953 454575417 588277765 88023997 504402421 479908343 383527865 917534041 486054209 731586919 945141443 90170533 232348623 87797251 893721349 586289333 759570995 778652847 204490499 329032065 399354407 84853181 20481777 307587817 757767053 686297055 670985121 197316537 208609139 959505715 826740117 677586591 864992523 216767551 818432501 652640055 751716017 199382767 457613709 790535423 507881191 119900567 818467799 67398245 754344281 474263545 134146035 130614709 295456219 707970101 592249765 752276013 105190247 270715867 25515615 928262891 546688799 745979105 456839735 644317179 929214801 175311009 523892971 765994827 568029297 546194659 57993447 543094709 47300631 87125715 306120757 536109565 606952967 561730055 746976143 863133129 944273197 147060605 455111507 557264557 124913821 473066649 563984521 346726687 304687249 807701031 880182239 388069763 312034669 890063199 57201327 884823331 860158139 142249693 65549813 104813357 310771761 89897893 560809307 568656315 199699623 187158567 883286575 417017041 558924577 898778423 607743591 435580757 325124045 929132817 668666277 53182491 91905273 809140315 429234223 854589657 797898791 979756835 198147059 957358387 821224693 70154717 427263881 25242545 81420335 431810663 193937201 739701957 579318987 23485703 816901073 236882377 254175457 975440233 387029499 279628283 39640759 780618659 597006563 425138567 869118901 309095219 131776873 420377727 934786417 806273531 732074775 174273497 292981415 658288459 477365529 977718393 533078583 285191385 477060933 957554727 681313325 311097793 5582111 971838613 292031679 828657543 432720075 877802075 118260549 26878747 618629145 912269307 413785413 987984335 338974593 426681055 22651241 77365859 791593249 873709145 429691523 228070907 459482561 141403295 415316625 64066851 862297553 751513557 807962035 915278035 380617829 514373891 535539511 731169129 977346113 266014491 547645583 674487205 354306759 238416373 500970069 922464185 453336843 120382291 896207183 372220985 421547203 505866207 819476839 948122401 912615755 27927081 789452463 576887001 111118511 852454315 68220517 906064171 925435547 319062471 402356203 875652173 545566567 46125765 241132489 742629855 835453203 402750167 274856121 386866147 686058567 405923093 80085647 209741255 556781903 96034433 481274195 848077153 364422437 253274885 64432687 834458095 67733609 467386481 278538359 193430805 757061727 101090175 694237349 403684831 578374649 572344017 972464987 200028613 251910347 749066221 634307175 653564835 773443609 647600201 890940861 287166653 882875335 809269819 79504501 486798787 236408677 781401605 56885203 91796425 516677419 81684177 527081027 762024779 689422583 363074479 402866777 650718511 635150673 253454489 102266831 703998915 464363623 158707567 146668679 363271099 624651027 15275261 97076625 782894389 769543633 384750067 193590811 902250167 511687627 426802153 816462467 503447597 399242191 208151137 390176587 545071597 432816979 346484163 727413281 123987893 569377657 209255011 693449429 64560551 322308613 857465721 920777315 386341205 549687913 845862949 418108399 356142767 800110781 203879539 652099011 440562967 144156861 112476755 707996245 215321167 271532753 6849691 710036797 197008263 623245577 273116177 954097727 493076049 371451935 645076573 716416073 113188781 679070829 895750927 26983531 627332351 191179517 105030815 745507553 97690389 504170111 916109171 810086927 446394659 448442953 26310351 349747585 131898823 340639065 88796137 737458919 14071815 834648921 502557909 798243105 490990159 332344215 665487769 593430829 997889909 521604619 19519261 182349627 748141493 271368787 920931375 609567643 469232053 458823863 342811277 331470283 207011203 114809125 390619093 927434091 174837653 81546295 195783827 896539977 404360645 437600297 288646965 73228887 820961373 998218725 115617559 785702063 490547461 880720889 433381239 937400983 756611029 600803227 72155779 985167225 405498443 997564333 304325703 175550695 480374347 304704435 812834753 1863583 342104865 816911071 232635855 729474177 896510597 674104583 422694459 356757403 304069011 693458347 916983481 562748703 622187471 813786355 719933405 61180009 675273257 227396267 511238701 880688891 125159413 940682061 189348111 347146625 105482223 823099639 130110423 273746637 192249149 102263923 423583419 818986205 723376749 3174443 694387167 225552849 414888563 392729403 324417611 244279031 73697199 678801505 276468465 899943363 878418659 972209923 874340267 824821451 100680765 307959857 455101495 974065367 767280211 377649571 379595587 800387539 562870561 902351029 540176219 85456845 192762639 22291315 903683579 382126085 961009127 410215819 618810501 525515229 526063585 266976081 229670723 963878879 945878169 347611847 430308961 274804927 462873619 228664981 198957311 607020633 741627839 173442825 161932313 83147953 365924207 96241945 133629339 509110511 56337507 592880999 777171287 99661929 833851967 386241847 929719811 411553689 796668945 545146747 184482371 524069667 281164109 715754441 749665695 11514065 203846353 914443617 611682185 262211223 924225507 629703211 154695257 314313619 115026735 699811763 343678033 132748547 353591243 98562611 284506779 941769045 167014451 264832905 857881161 21422365 907735885 462410301 489032529 175509015 483702631 631907967 31374231 706006563 699241783 521730853 270933475 938391629 903429337 771652783 96566501 852337099 960388817 839727171 491025979 238768373 432236301 494519985 986269537 24177745 884920291 621620079 128028355 408481671 475761937 790638495 235445425 468158573 716393147 405285639 480862309 780733951 798204013 767598869 633992961 554289501 432843807 457155043 889227405 729000661 313628973 257234221 379071225 598908119 445202269 595232605 797418785 973096707 763504603 939864191 545286599 728167705 545057339 4782415 312070799 611401731 585266557 965435431 563115791 668056281 495641351 12560403 758572991 413564881 955804067 190273471 124637953 699949395 487812231 457444995 78317085 854670053 360215121 174036319 568812099 329924671 751585287 922829305 547957135 721655867 476909589 327606689 43094017 984030683 462950739 643710031 535775363 31519051 735972345 69077409 137439717 443782365 524666545 456264671 617204193 960077327 317227397 635340025 490572313 309087361 420664045 235850629 867025683 303912705 54256325 435855809 885928261 796359297 246413137 453665431 613611013 554210589 416626753 753476245 865604245 652016919 700031911 354353907 791706909 619735003 39060227 264576143 419771825 443585277 621517369 649023729 180369737 64296759 223741591 10409799 25491141 460839787 679338449 59023721 657766897 274119593 366867205 417946329 124735099 351867423 86116281 901770681 318016767 977257003 140025049 349431773 539726333 682720591 33898427 213296569 154533087 43846199 959824667 430358895 593049331 575127479 461742625 853449667 165320823 111094217 811167575 934578471 625221513 946571921 266994611 262265521 962503477 43123033 217547669 241249569 792902761 691862933 699505087 366430173 579735297 978676705 784397919 950979575 457825981 388097281 625392653 89569059 739647557 818923741 382834369 68191937 199907885 583386507 993432293 110776537 69774315 723701317 925782085 964045593 362707685 277828719 905902357 262205403 560821599 869998741 448346355 24375069 82815885 844765543 964195811 52774277 646570121 637337283 128089941 258021731 469280083 12854957 353055517 889032109 725058003 114105423 125434999 136676101 739508189 878602491 8026889 230191281 847484967 735442733 120322529 17804191 139549525 224318857 971487349 724360551 426921713 197128667 173176223 957836107 521120873 737232403 230280871 622354221 328203799 368703825 633197113 830898337 920373311 44635347 791741803 184721883 551368711 144184585 820915387 68511421 459645571 352175235 772616973 224381387 585592233 339563263 388782253 255572279 254962525 551618141 823153235 914464727 438463591 100886443 801067035 884754475 840669561 879894043 845330057 344885593 42052653 675144711 819117453 485332017 529388545 823681525 825471865 200908843 80123233 185510287 134649357 163801189 688116383 12692135 460934509 532074663 629421809 638844475 960570663 413991521 234172795 710671211 630760239 637957033 52272709 652481157 107082979 346744893 539688257 570722299 617365001 400622215 793731399 190585705 564686285 473477269 815480603 276022417 374762437 653438749 574753891 347515487 456229615 148162177 208736945 316444647 318347437 764236231 409575553 654726497 586966479 23208861 529044527 834929973 145638795 929960797 453376777 21842155 583412859 313475587 494286399 328594487 923769769 406901047 885145065 701063157 350059389 942129739 271127563 142313767 533135567 703665459 501311371 849826809 923689949 734734737 442079547 330126015 200417611 882306473 288335061 391544051 55992615 283920749 546545147 49028665 446615013 213805427 790520629 125011291 560264035 419585019 436285173 920692045 540028901 995014123 62772371 928168491 92430619 263518675 895558481 288906809 521633049 109441259 125224281 541620959 828203355 783390737 948908219 160763827 238339015 178494157 494318193 280701807 278799275 623492175 398461789 967253239 578469565 412233835 585525063 810255445 600367127 683079333 526562271 322734527 640184129 86356257 416789953 142548621 495481641 490503599 345229165 658291267 45245729 338717893 816723021 20840847 327654887 662673541 354843057 420916545 158462627 662235061 221054419 555559765 152226783 122884291 360132821 31455215 462769299 495788743 998927805 893548635 566530331 122188417 342361985 398690313 826529851 986928985 430826999 995552153 573562915 91406939 55059169 772083657 129048935 100476225 345100521 122538633 340971011 157721451 800456351 457648617 56188509 499639517 231141757 228303653 57379395 343020873 410169059 338246051 662855657 255369989 790113053 356734953 456335597 264655377 282821209 439782063 707954005 665613587 887114675 350875599 943903885 264505435 161723947 97560905 163982443 538780385 882524585 957638733 592192043 893697859 458884097 445938219 546784629 94439625 243145195 154180961 771277139 413065827 780450825 819904655 494746429 198308773 451284961 422174595 250659853 895372755 493014759 693567023 171880205 778147025 910215541 59857327 22068965 780429357 465223627 852260165 372084397 282226723 420928275 22228829 202302691 643504271 512591963 741169289 989395563 550650359 137738657 945106567 395696019 93011087 114135235 519026487 324819215 110929705 78106253 209173927 728170237 793742919 51335597 864665867 301258721 684185359 501271487 310755769 619679147 258377299 948134977 982422585 633238191 709413255 206088609 136019511 657989289 370383821 743289389 209648001 146455489 47865065 825196829 917294359 930169729 156302413 875835285 260836891 217308127 257123855 933938079 93054679 25522235 871178733 624180009 382633407 676634711 123591763 850205965 364879471 441479521 876847947 22490639 595804329 971494639 729028493 332260821 282275163 810523135 496470397 649400819 591370643 488150003 674818077 767860961 564671377 797676957 361161757 760911615 87508407 644177967 818281175 291239831 546591121 287936071 670467911 991090651 343766223 953601769 111757591 790406115 406308943 455877253 803848597 266289587 329097493 728619501 973905591 477868593 64792905 542906209 275004447 142659121 203216193 412524935 160518673 61876585 143758455 540272743 900377729 434376573 138694799 531523197 702886401 34972917 41699413 941959073 432745683 541548099 587053753 44015131 115446749 532153537 975527897 449248663 993754545 249147821 272146937 362839595 499770755 419685171 467380353 112542547 738307635 439280485 477683465 851559671 950947659 888244025 270601287 74528353 605836789 869658003 799299873 870913353 177483789 353370171 40617891 357205193 575770897 359035107 577859069 985131627 10494247 677114915 232223119 357313303 277980191 861756031 66011097 642591271 493916785 98135901 4435845 396268115 851852859 43993615 788713323 267104965 679868997 591543503 723796865 324785161 307935487 610273215 157895661 684451603 544605565 902035431 746966011 126029889 540978305 688589369 363014941 229276761 75656051 710413453 187958255 798352775 814150497 8975525 326735155 193982049 579836417 843156267 7983315 493344483 680384693 771994799 740028647 388623731 385344387 55670445 71550629 592186335 268182553 396028545 713412469 76311645 744497871 165100665 939031007 317329543 252440997 659004101 474705559 492783717 330246979 966030461 137679737 536252261 363553781 901019299 201678983 664413017 845583029 566023969 595370733 890035583 802311713 754952647 70522365 802076031 900091779 131135823 513866805 826067045 841109957 345127515 966111799 996838821 292484227 879647859 17300429 436529179 163992827 93281543 675567339 406636817 668695827 38423667 484450477 172500273 203718235 836038903 104826965 162473871 663023371 98808765 402521679 912858283 515878145 279194069 443041071 984133483 347285189 458256185 511730863 672411671 406431365 351412171 52861107 537220971 902667035 555647057 669930053 777910655 328326403 519156609 892696729 755274971 108692327 289661681 909746187 579991403 983748885 650086435 533438239 888870277 561317251 544985471 37014397 674126053 554280403 703105369 499516155 82096563 772272585 27008745 668463763 765444985 97230551 494542161 298055529 160894511 951960853 939542167 291177929 644922673 202756159 489031857 172746275 88071235 314719421 678020211 187913237 255488661 256077471 92648611 363165027 896006073 417071773 348636393 121982709 34681007 732917527 468274901 269808097 748038875 557922577 980020449 126582883 166841099 357318461 978968941 939270875 27454067 695853809 476949443 105139413 23083441 540572459 20767511 124526599 255497163 687419285 197951869 786731337 101114155 123578749 863530747 584249761 901792427 971095259 864984697 342142265 647966343 30271309 723433159 726393955 768981345 957813531 72119709 962888347 308739401 77361715 335006879 298246021 567846581 984612655 105855575 573018093 470678399 134427211 869414707 886152901 611774959 174561393 287453839 292006951 909366195 671904303 8591785 395685977 277300957 735015611 278966447 93576389 943846635 48375031 425973679 974178557 742255557 448315495 462162337 573273535 909296311 891030077 944729449 355905515 654287221 793593423 245986001 89957775 301144349 28262429 676319111 888221405 752886579 773486543 16753189 509466929 293465767 885071665 260014383 483148301 941025995 228748989 837113867 591252509 65113697 235286161 806224909 624074803 702665353 633568119 74054507 867741261 877424595 793492953 954717257 253841549 297195827 163617491 175912369 82551357 392426759 152241955 789850257 167756497 808716821 450528815 838575299 286479589 842761353 426373383 78326795 733214011 325449465 668972385 986047759 821306815 36313955 42168991 260750433 823146629 809900587 788594887 938462077 86367943 50601245 564096393 532594113 179985895 886528113 410707769 960043383 651445877 201545153 574731225 367190737 503175967 408246039 852567569 374563559 96316355 102164443 428323887 773639867 260008547 813036007 673897257 983412793 24249387 763519093 485304737 785607469 690566767 996786987 162296027 73240147 871690153 645239573 248404937 119312461 738424445 15241645 935684609 845933219 722191029 143684043 183656131 782874823 159391815 523351221 989340663 646141201 189485131 448269083 679734057 168616901 969683973 802213905 783036051 66496009 40476643 703597077 826831379 576186095 423074933 114079753 132472881 785091185 548073847 287958077 330481437 714928241 616923341 133705063 983785389 844471735 137073539 295221665 831803487 91554037 770603721 325544819 302609501 361374659 986072319 329109707 736232565 799276451 717844643 241899003 253241375 964633343 483714405 653100227 764964985 916609575 863490325 729343813 247611211 690699861 122685615 25761043 682233859 151087275 114637143 471692831 5031099 671938353 306409305 962965959 158885167 876727255 157702439 479005135 658234311 295578491 290340955 50789735 530343573 787957465 983366843 469404707 616749133 235646875 672565041 125849855 794165073 305356119 198229711 813480289 701592741 698704001 944801235 294042647 217175803 338523515 241675933 662668375 232738731 973466513 270251707 768897211 143004079 283239923 619003359 755068491 506604725 27408057 960583395 595123571 487145991 972706789 566670029 75465481 916521887 268769887 498439111 83697483 965089563 435037435 582172197 978910939 466744003 847947633 585034591 980994507 261889159 177681763 267014429 687754379 934546685 715214167 268343335 249530109 286356579 905178051 757925745 567506277 955168163 460169725 573836055 906708845 68961099 312939335 191233883 900040495 337481875 43199945 175108009 35711525 556296793 330070935 207966099 53400117 857151525 403043753 137033175 203690155 386641189 75576033 55167831 127339841 2977585 565721861 242903069 517653263 845236683 349287881 984608861 608105373 915922709 859525063 47530355 823272919 647877859 527419775 925246177 576762641 968524201 18319451 306705749 434188301 913766281 314407851 431337373 952475627 332985671 432305063 707729849 70881083 747608405 858537589 266413003 886904563 521900233 761413401 719227165 574255471 115154531 573873799 774744869 208101235 421966729 331386521 112287867 710433069 201070923 189273359 110957539 702586163 384660833 133608081 376959307 58261891 940606251 520106931 418280643 941714049 513045165 609845741 205306247 632037883 918731671 798554783 843207419 396173861 290815043 604558355 458219433 69681309 493021871 739653755 867808839 156640103 163081601 391429361 134528685 491459059 126086407 683654773 645624031 328896021 20943933 549120239 128727051 148705545 769642943 894226483 912754561 386531957 409347285 26721015 702027709 849254247 343281261 984288223 300788579 608553811 130106399 169991797 94745663 225692953 579388715 259446823 428250179 853104123 850483065 813888847 559140489 353448615 171494039 125902385 34378839 681926195 811849403 753851379 681440277 19612445 821087173 369635241 453606491 958118983 479723583 553724745 390912735 604414979 725520469 890030775 473027977 829384451 25388767 64286395 903755615 465845603 321969245 261826055 973475225 172000685 405603317 19964981 1447057 217281481 864970359 95923395 146630343 604780049 977390939 617752093 710571499 966013503 624866751 568518293 550207951 651701881 772031851 238563681 190814571 152580685 681453519 595205029 321549799 141390767 182361857 290365801 486839179 288460285 369162943 517289119 574202571 517646077 962091379 766951457 471731521 302202331 284282667 216810669 931170995 506806829 1153693 400678383 867574795 263647983 471240235 216321911 482401373 501959049 877335771 22368193 810657251 551271621 802651483 51711787 224205055 207947739 361301765 18727167 876111167 987377509 321147093 92943469 614626903 590526059 817486451 164851603 574771485 857871707 394993969 551465069 243990683 775495943 915964675 31589351 476986103 757781423 889341323 713592017 942553221 272559607 422692109 525843685 974577859 699887083 405528955 547448773 863756115 166723587 603191147 20900857 445825791 163066395 915579165 19241971 819817661 548658809 792831351 839724811 634946213 66711753 699704585 117947523 371465979 557147425 364154123 909276805 106106667 652093693 959142491 689736993 557990089 440050755 377156225 514496849 788661391 749675585 804277933 300609527 43907937 102445229 321963699 309892827 321772875 155055265 806246423 494551469 437111421 325613477 905060605 835823369 618261077 17316517 757751605 67955567 367654999 217855223 861250357 303305289 623967019 136660825 792124703 76197095 254653863 895447279 882332087 696837507 603332037 127203909 653091697 433570879 60360617 330405971 793525599 386862627 115148447 841363829 452294723 342780447 694664217 531550831 876356997 671372303 254442161 817680241 574128177 342880691 68892461 33799437 457338881 381925301 820099445 949659459 30022741 578866853 794600863 746124407 708120881 937433085 581045479 120296567 925637703 178214685 767237805 899357049 604725741 306694225 851357567 4656407 363295779 754542535 741484557 21639001 717048719 680897691 98778679 565595051 448795265 351841229 331668477 502486499 589453809 533447495 842553995 173167421 466200189 591596247 423192883 457598815 114284397 367534395 819002481 780649817 39135665 48998163 366004459 167589019 573530845 398891493 613506665 487512583 130068533 737871655 775486175 897397471 605867421 998703917 597865319 634835923 625923235 86006845 504603463 233998837 43661187 114870655 598525161 695452101 127416857 649299457 727170785 306846247 146525419 465575361 57546471 783381863 204731947 968709789 123320035 441390653 379990193 721238881 653200861 648958663 800526585 110670011 765375241 804865413 170346539 853887559 98105027 795301481 881994009 997588869 808806797 171856839 469687607 614474973 231531795 926317915 671032741 181787811 878692649 932909899 366383661 659204621 620882631 899380517 129461819 710899777 19250965 203442399 484285415 220888387 169603675 172937683 839084271 676925191 557614863 854605257 738868157 942791783 281465543 436821487 496504417 365449249 188903757 712339415 127870349 867754979 201469319 819203199 68760485 74445113 196046475 801381199 570319279 357583521 606068883 860878611 977646683 926219897 666081283 652746493 308465919 748716043 405171301 562230191 883330713 751853193 927924589 950884397 61252819 574277133 375826937 111413473 699363067 853516437 723520263 808741541 157639431 591801613 321598149 718195123 964705433 444036167 597683591 912901809 386166773 919181305 205448903 477075885 93057293 965680583 225885225 270783259 533550713 968237115 942344313 517545179 142740085 869923265 50108585 603224877 529793001 30125497 209911507 26450373 173401447 514530655 626052923 197374129 935490595 450604767 970263375 9225077 997254397 569396299 320824991 358909937 443222399 336385177 933919719 290606455 709913811 654818989 138305549 931174839 31753941 843292751 359090455 100941267 885985539 626324785 23897917 842507085 349959555 413837291 513122263 487501077 918748709 521416449 924513899 994114685 409744737 730140633 466533283 115939397 929044821 407804869 217601105 571875217 380888777 745028351 202649203 39961327 575632939 677651881 321661993 887070035 815011477 235428555 726553793 75753755 229513923 976164695 407043499 745083661 902140447 428013349 941234055 961231699 15665079 399098871 414986517 530542727 161160001 743211639 832689729 591973539 375906335 633241399 761981213 868107279 946459735 55660461 253769959 687744661 50805143 293604155 505727231 791317099 295931447 900175405 833443827 170319153 465191479 567340211 813686389 97598697 232034365 54446053 585340001 206709505 252695195 675422917 328532409 776646479 325500485 883585853 558843817 377145105 240216027 274501405 687926661 318051307 394516647 525453087 196614599 852970217 932899219 187879397 606679313 783264643 875344443 824993015 934969137 446253717 657846237 789339077 702522393 771358565 912833119 873234091 899013861 700167837 775022417 414581225 955922137 462268759 716525803 112177321 284973149 858714637 588695819 144204283 635343877 822678949 23130169 309017049 803478927 390088301 176300195 108822565 518144733 477921049 685622051 398507429 546072825 413322185 653226549 724398351 139091225 168118015 403947779 998945273 6299029 796436137 854214747 787580389 173837041 477838109 418947507 690611005 379643099 518330391 64679469 224737359 16308513 339622335 167091085 18257497 140929733 219297183 754290501 429967483 267117797 622489007 445812589 685189819 391323597 658038601 266716097 917906703 691507697 421494327 634793129 931539021 737324783 722551201 128639029 165477175 329922181 933437217 918331165 628239221 466275747 594386865 155774401 988809883 244040537 381680823 150202661 736596257 810897379 977872639 981072891 227591015 724550565 908668353 415842201 515028153 517838379 227895193 921278205 669100613 384670501 66924429 563583953 84589095 48999795 68799497 379232099 78821981 781038611 152481251 935412139 345178581 364622133 195387223 69533767 235513693 467460905 973594893 50440575 346505389 50175853 949008143 173681473 780383083 39670177 847336403 33504807 538285595 344589459 700154681 482457709 181406001 574905139 650131843 980152573 54071303 510744993 904958047 773814883 272618461 894920733 820277219 877459419 557743323 909604883 155108749 316554815 90302741 812217109 557605697 742623515 554892673 198698975 231663691 3243419 119443715 874226007 757707363 316117911 97026405 805453189 6270629 941514383 333727829 422691997 307592855 504936619 876338797 841791481 88454949 450056631 985454129 19582239 426931619 821447213 423850247 627330233 917894353 237575723 930544707 891068827 133110739 890756729 609612315 793015231 234352439 725736327 456537779 723215175 157519347 597815915 97879829 49941889 770039905 238374373 120002095 751358943 216222537 463211867 317110747 979935485 521315543 440101853 412400093 506061725 455073697 594517281 657410267 487653291 648115109 940287113 936271207 98253115 422545733 574611995 595097853 13475719 740435539 665804677 943199995 751114739 209573631 62873377 784149931 704631561 622541547 282526443 740172607 655376765 691472921 531254157 810647759 68952875 949728761 256547157 387294559 118020117 705271389 359135545 693046997 19494249 100398725 800202715 986490627 440444535 537710101 920207487 938877603 756620731 782735387 596373015 862768215 372929497 160123403 451984953 638705575 184029339 760209603 489424933 521223685 421429237 179639177 963398083 708689353 865116931 89325833 113541791 783265079 812239625 62526041 432344819 163239285 582810223 427480565 372482717 547701141 298425291 978717381 636009509 728295825 172745945 789283603 321878459 935121227 197990777 78874005 593463349 775263627 843547319 920234603 69858833 287442179 457283017 975131159 747680377 806551371 335635719 735395975 652582459 456221669 509197559 39834131 449692879 309186363 75971393 789222515 129913171 701871005 628946875 629045713 682576271 186902085 998611297 179536313 548402417 860650581 93372243 404938271 94456209 43123669 707347935 97417313 555191601 790044343 209845109 191691331 120334387 346804179 846136757 499187957 347382955 605327851 725596765 367825419 708142413 639944873 854019677 873028225 215948411 305199005 627871431 784614333 221837625 107776833 405656531 728267917 326197817 706338805 397048807 698887205 48113361 926158085 615292559 661162789 739929601 89488289 668904317 450427535 14007153 722226657 328838029 326065873 346273389 534499271 921936321 577488577 386351343 894064699 278151237 440484507 323395733 805212177 731075947 400118535 984240039 674596097 210967729 330492431 591095829 977288365 951186359 955496491 935686261 79587741 597073739 160937783 303716101 724778561 890186335 341549431 662632111 149872117 909336847 312263835 827980801 57176569 727101853 996862133 448278579 447441527 876221813 799574853 734893603 149129085 726822955 474831919 898339159 233607177 916525177 879089345 737813251 433066235 525295937 118688431 584092409 28014617 211083409 423063831 204903611 544120601 620837533 800864639 918866033 574092431 643627195 934718675 414649321 692877569 104829045 678435433 566103449 955265495 847040113 929204989 315188129 962821217 847042949 702981559 888211147 101755607 231706539 557282081 467757955 240573279 58631431 784142899 98140897 492202237 640147171 539056455 83514789 596714663 314773171 524200741 126547253 261038129 927630099 617427451 796093601 14730593 778364103 42126427 210613153 309757149 565548471 723345477 147571093 626995001 70737401 787247645 823619713 462177773 109522119 45876143 305096725 221542489 865197957 112254259 28092075 546262727 395268799 18770501 462895169 541294443 575279397 161019627 331453307 823424857 483720853 469874321 495644845 147638167 399052563 114219275 585285325 893138955 955448775 565673881 879869561 887306889 484621319 77975521 117357305 142201799 400785487 896190701 464761659 541116011 965640511 532867635 690860247 476244985 816292003 30023825 36069645 87804389 61907569 449554253 654202821 120544903 256527299 892551957 861055117 611116067 807080921 541243643 96614811 53890527 323108131 852115325 219291343 360811727 35755569 580276611 303623347 445575401 450157249 629730135 237737843 129187345 151547059 15848881 399950823 737251601 625014549 522503853 103616655 828941463 161147159 672519887 256991889 465915453 854711577 368728071 182281917 110030725 391985051 946404009 490040971 200051931 631656009 636012655 206999321 665484427 563464437 890601349 237350447 233852881 259797149 877019505 427916093 168020943 955473505 239225903 93061719 279331981 483089551 667461399 411682625 88885245 315435929 180340721 559489631 539340537 314213659 118168553 653153729 29750335 5703895 946471571 16888349 195913083 195071929 10849009 665642453 126738495 309971 293331043 531877359 667357441 327654499 840027067 739505945 271347749 930379979 446680617 795229355 857425139 986218389 439884367 199991719 724713627 483837557 825772847 336354735 540332347 938935367 98899255 76076567 294046927 550271501 144575295 471765203 876545603 612745203 537272193 972599171 285999719 526639181 939597473 419625073 335657205 678565525 350546609 673042825 496529295 155363439 986591779 35547491 806482109 795148965 139531989 189603391 397248753 570467883 799554829 331145987 121261443 946492189 989654135 56908351 188972469 930034621 220283687 191685419 321862577 469587833 972617885 556597413 210984327 299115489 282524863 726364725 411605553 341567409 841214167 881787659 459501201 965210573 140288155 258748155 791600239 235753535 624533291 541431177 890991995 873122107 324465673 43189465 604042833 187154975 84070435 568960185 94231411 891516521 362587343 509557669 101790277 136801481 248704715 152438713 829541405 455522831 746567993 204336571 77403443 434335287 166781611 970092575 838343081 39152485 750582291 294372855 161029767 921432803 728754637 523425797 695619261 274592295 829625507 403866545 618937895 100251081 832945341 255437319 484800645 396863119 936977589 595413697 852826753 947445859 683725445 507613503 901280939 855347543 41011859 228119941 691577469 550118055 411214509 417759557 169422167 168694199 139514631 797592277 399834501 894039315 917514047 738454069 775145269 191738221 845511003 183541771 223598979 822083231 624839367 6378151 913586543 410367151 290217817 211508993 409621731 727845575 777160271 555684791 373391791 62606905 651565899 954795537 345822347 909340035 822557533 827635455 438679581 414421317 527779323 136242709 880913385 875380045 826691073 992439447 59927909 772830093 959222963 374389863 562072295 574371617 83073727 221043993 42283695 172498251 907940669 780734691 75136491 215405175 954363045 664636323 321256361 656164663 654307297 159633375 748443105 987896137 778813245 272973769 78731385 625908365 332407661 594537017 17049653 899545617 584578191 123338667 245958601 840594183 757703465 60728647 852175055 621542347 713778983 211901407 142551239 418468063 507742429 661124839 888678425 237190127 257807885 868383103 173488409 823582415 554963159 288688497 903827197 689841785 821336267 453764135 932830955 390304785 224330207 118508477 106561255 270951905 283826029 466129393 606553829 179046493 573008189 961514281 646483391 366595873 822953083 110286197 881612339 570919919 779802301 18448781 597812719 309736371 314959105 176609743 501917311 461439873 542157995 283325763 126666849 955487123 932248711 221837977 196855795 198530125 9082317 559772965 740534399 660074297 684121369 264808939 103182135 833264141 378209135 288623759 217724469 361735073 605588799 19101279 377213815 38947065 656833373 217322839 128241643 797430339 760157701 435379475 268601437 319956943 150726621 302315993 79044233 382428953 708539635 970406811 906927121 115462085 152558523 602967281 480655231 631222941 989643795 116293655 742788417 809297047 68374593 111606261 840852657 92697035 741270001 436999965 377340689 390581375 145080121 434367683 271293069 380651035 526965655 488116679 46078769 971646517 92845805 927187377 95303161 325050761 917878411 27500465 810868679 566192375 792498215 186367901 347783779 537319565 365849309 542085877 364146559 35289211 281156657 614867935 969333685 969180193 734583571 454498347 295862147 450854141 416525525 10156113 368045653 395257279 526474807 124819567 902516603 695614263 369689181 563747149 410166577 895493987 702840275 485696857 534364563 496733283 21993361 150931373 675754927 76911493 747053045 281542917 592030837 427153979 804300735 41194699 956524989 701235999 80449313 425192461 577253195 725569271 757380271 860525697 824747971 632116653 116507749 42972553 71191485 228065621 64282281 267493675 353715373 811873575 388004171 196657941 815169015 840586379 263725179 621749151 704506337 699317257 700013531 354949833 643769505 801493589 767134573 291837753 749591885 936870217 763312799 951875393 288149223 589742317 142657863 201202645 116630873 884813415 100501155 339379093 418660979 495975179 192835159 645581769 547605233 881617239 262062447 778603361 905485679 486642157 103355235 4775923 611623291 564793495 843425551 137755327 304504453 72941897 239110071 918238123 43816165 198243103 134152203 730711111 28587741 40098651 351595295 647577803 144545685 369238121 46963567 107435797 462818849 636953821 909788129 701548461 541124217 298023025 208062147 382775489 108676223 818938633 832468169 200465707 963874043 964743599 371966993 730043239 851236509 616313239 889484577 582294175 507432705 273124125 619666405 244777887 363894695 332741829 835689139 549466083 98071289 841029175 506504521 651454599 280371015 603025225 743870921 948160849 199329227 982893301 902492613 610534835 382597029 603220575 551322925 390504899 922598625 123990993 206431587 904238913 892517741 931250113 758819369 528679573 602075173 158004679 647483567 997219275 47462857 859168681 891355783 540111773 842278401 306848847 344230065 353297003 956044385 591796431 307842705 881240377 685016929 555254627 695923957 448531129 274322785 846385263 953154833 479519295 563576749 323626879 704557443 282661071 588970355 877842501 454368593 222854669 690120911 18399131 316185319 18893129 910905281 770999943 138990363 242736763 930579761 661231409 105627689 95804225 828712947 108501489 573715127 752973283 160171455 812922429 55228627 538624591 442142773 184372667 518192371 22512415 669338591 898215735 804247281 615727759 232656687 99916195 344580885 356079497 815972735 526072601 101482253 227164825 56707599 305224671 476593899 857822459 542265095 196901727 276659247 330388873 12021883 487550251 990432445 25533903 377183585 749422593 630114273 930175225 644511391 129701057 54825299 618370783 563652089 233000825 413822511 919457025 839386915 280853083 175716857 923616645 110764727 296572099 266803105 126363197 460945715 652064819 76464251 130867613 695421443 211497303 953919299 291357125 679677561 975660289 60706079 695165821 889779917 338942255 287405213 260473141 789601567 241211395 965036721 295569411 712801401 638480071 373248955 664181927 919121357 766949615 802945661 747376263 404937971 435562263 35887909 75308211 153887663 28047873 761826377 549805793 952146599 68657561 81865189 341011059 386001519 403148787 549072993 844333935 554751101 121210439 687056775 578443139 73111093 239935485 397481359 704719625 316940255 428064669 197216789 412494845 5013421 770784733 357733149 395337993 774538935 628668565 356203031 17892987 521099777 274511305 230706901 420329801 693846897 715254949 42522263 965825043 302131417 65219709 318165249 816949795 371092213 196444107 756628257 684743269 399604833 720573235 849793131 397595249 274121387 155405951 554885565 534632327 855852867 849973157 160932957 384508813 611175043 856519101 102547703 72073237 168612009 799895051 375324833 726433619 777361633 712358141 85520855 861225767 696243259 5165859 475278207 901303833 634930353 471578681 338712551 223942233 660139045 606010915 122480581 57069757 253130591 347378667 42202931 480655811 365048081 125596359 648815291 129583765 668756691 324919567 297848901 477707777 110432295 120119113 862691881 754732927 766846327 91113247 144097829 487577133 148664083 285520483 261979741 31960531 107390007 122519057 603031645 746219999 792627199 468933965 42976797 764979305 903662713 974616675 24400633 775121715 972177301 951988165 716424375 107627167 76213291 200983309 157986947 917075137 203445501 88311809 466053617 414161485 302461365 874225547 378725377 705730981 642229731 299610813 247992857 16198093 517208577 732803539 783357187 898961271 130879601 17358643 348119541 995838457 880953977 643650661 704786829 755679827 644273487 618421021 323032785 734430765 450512649 310097461 891361837 653746387 977314729 637032115 896774263 180866111 591690265 252415169 231108589 260709391 499886889 285843633 380473139 785787019 91352723 536821761 583580757 398077859 433955831 624465491 557944267 632531437 307242465 317841009 149236593 621970343 2952383 674216271 285615499 789517243 921427437 225766151 377067977 721434295 118469291 668460511 72513085 557721043 467378979 426473283 927763047 199996909 52047717 397012161 590082091 970230411 907003497 974569241 570846423 660680929 634993941 6937901 519514143 59443905 503826733 489314567 906642209 153133997 60438119 333069531 485401955 484417997 564241753 354666501 851755985 563309807 979431555 973477895 81663937 879404937 130338643 112442765 494848495 215630267 245466903 903044971 299419011 511293519 862364169 67420059 712401159 505268657 352043593 921727041 328914801 369186553 85875425 827594919 578149153 753696487 504584901 248277571 290448601 516775137 754129865 835459501 395887815 471248375 912174515 535821737 780256643 672499169 776231211 953408035 70714117 253522941 690535615 793895215 578977719 36173909 188313581 283530761 961534309 585215635 94275091 45347855 835920451 195404563 9922429 336476115 463832559 114726353 183618137 605527043 81878125 57278839 680203201 977559167 135217965 624936019 329106617 719637829 187550211 209280349 958232871 386539397 412138027 434326323 530480863 310127247 464546123 160494363 577107609 901562591 799565937 708133897 785750261 802311449 117646611 830010255 782268285 719117065 857435147 740312815 404093859 149405857 757792417 584736273 927072705 36426491 955119489 80999041 536872981 682090333 781322689 769289851 174755787 392645679 765793759 983328729 998140917 226118665 553354431 273663783 987493513 538322593 345443501 589936785 419973483 342949853 910026337 34904303 586928485 33584329 824711159 335112895 42963749 536514199 778031091 83891501 922618437 332651425 390528581 192049411 955233865 332842605 553926975 231402939 141733271 504811173 584485025 692162163 485234817 411660317 494431375 429679347 103023683 320566221 126688407 913877675 862947835 881329885 923569325 649726895 911012787 52808597 919392815 991291843 457444701 590046825 157715683 559032651 56146897 398148339 471938037 746444887 920739793 495382777 739621627 306159517 719878919 928849765 69887219 137024383 489002245 503248203 591664959 332557571 884998209 963409125 379137711 325973207 90748191 343465621 784319609 144143955 204481255 216601065 258895159 929783417 396126411 125346963 354114547 133283051 257828067 166653295 294767381 485863165 517520177 357910399 568127861 899762339 916724383 557967089 216619857 511287165 821291005 7416339 793715021 778794453 771343623 91872869 917306743 91776407 579499353 776647561 189946435 784519515 604939649 200717897 311697807 675179871 408397295 423521689 9789855 490793103 897819643 707728789 66313763 837121909 340907239 134218369 602095919 822750539 646059741 96227269 207019583 95002863 106854893 780996343 539320633 543380457 10522385 520254161 54191467 743224679 993065771 866874935 590379659 198252355 88801283 641692979 703689651 434241275 546444107 344431611 927178859 355970739 653139867 497714151 782688673 828655167 547257717 792977531 742833831 986179093 847462979 135592549 543816251 205004371 270839125 694258805 367273349 698743743 461509349 253096103 653625615 824903885 745099027 976396063 213120465 68005519 644424427 385327913 454779943 343975367 924420955 545121845 363398869 126705627 958449727 772903651 48585227 631301085 357254487 21117425 965788765 131380609 795623757 834060623 535284167 795191849 167858353 12644109 229029551 703497177 704417533 162572393 406808803 161844291 436330385 142621379 156067479 896113085 223204025 609539753 883771753 330740295 800388261 189658827 35841887 794678407 483061355 633565449 483967461 356399309 605284625 771116387 185570513 313580561 532296831 414820099 269137247 838673649 726581381 28890433 340930359 551788213 432534493 803564179 725882723 54126667 114119463 87312289 520394075 591243085 394189807 795340337 18817017 295947001 276187043 367631419 104555655 105254707 321397919 205200089 260301741 406433679 494912801 585358669 284893827 592495171 803837015 556064771 725891463 94984491 213045583 894881165 876753309 919285459 942887427 277825961 972257555 795962727 652507219 893145145 115284637 400623041 164397833 818670663 499277401 346950749 188345559 875403015 599954123 240685667 858979159 329481429 611800035 592816805 587563529 713158195 745505781 237548695 633857877 468920525 373707965 274080601 814545807 283898997 98330211 445083317 397499375 9011241 749090417 910352405 41890709 822755083 219023069 277669781 662667403 89198949 965091079 320516339 307509955 743066539 674558641 858259605 915566871 291348857 829031177 55379083 606196295 866269331 399617445 766159245 530126843 966685153 131125123 534197753 900823493 730180217 429812741 897889495 196462625 900299413 167888381 876384983 415362925 716014745 4443805 143827277 851518707 56120335 431963779 375573309 309804005 147364011 669732019 844030539 77568093 626552649 630346141 581110725 786738777 153028845 251863571 571071911 557667527 332759999 213186133 573543821 158726259 645769237 598566151 515169213 245220123 544474985 272654391 187927081 42801245 770801503 792313435 995874153 29902531 495810755 479778125 257246137
RRRRRLLLRLRLLLLLLRLLLLRRLRRLLRLLRRLLRRRRLLRRRLRLRRRLRRLLLLLLLLLLLRRLLRLLRRRLLRLRLRLRLLRRLLRRLLRLLLLRLLRRRLRLLLRLLRRRLLLLLRRLLRLRLRLLLRLLRRRRLLLRRLLLRRLLLRRLLLRLRLRLRRRRRLLRRRRLRLRRRRRLLRRRRRLRRRRLRLLRLLLRLRLRRRRRRRRLLRRRLLRLLRRLLLLLLLLLLRRLLLLLLLRLLRLLLLLRRRLLLRLLRLLLLLRRLLRLLLLRRRLRLLRLRRLRLLLLLLLRLLRRLRRLRRLLRRLRRRRRLRRRRLLRLLLLLRRLRLLRLLLRRRRLLRLLLLLRRRRRRLLLRLLRLLLRLLLLLLRRRLRLLLLLRLRRRLLRRRLRLRLRRRLLLLLRRLLLRLRLLLRLRRRRRLRLLRLRRLLRRLRLLLLLRRLRLRLLLRRRLRLLLLRRRRLLLRRLLRLRLRRLRRLRLLRRLLLRRRLLLLLLRRLRLRRRRLLRLLRRLRRLRRRLRRLRLLRRLLLLRRLLLRLRRRLRLRRRLRRLRLLRRLRRRRLLRRLRLRLRLRLLLLRLLRRLRRRRLLLRLLRRRRRRLLLLRLRLRLRRRRLLRRLLLLRLRLRLRLLLRLLRLRRLLLRRRRLLRRRRRRRLRLLLRRLLLLLRRRRLRRLRLLRRRLLLRLLRLRRRLRRLLRLRRLLLLRLRRLLRRRLLRRRLRLRRRRRRLRLRLLLRLRRRRLLRLLRRLLLLRLLLRLLRLLRRRLRLLRLLRRRLLLLRLLRRLRLRLRRLLRRLLLLLLRLRRRRLRRLRRLLRLLLRLLRRRRLLRLRRLLRLRLRRLLRLLLRRLLRLRLRRLLRLLLLRLRLRLRLRLRRLLLLRLRRRLRRLRLRRRLRLLLLRLRLRRLLLRRLLLRLRLRRLLLLRLLLRLRRRLLRLLRRLRLRRLRRLRRLLLRLLLRRRRRRRRLLLRLRLRRRRLRRLRLLRLRLRRRRLRRLRRLLLLRRRLLRRLLLRRLLRLLRLLRRRLLRLLLRRRRRLLLLLRRLLLLLRLRRRRRRLRRRRRLRRLLRRRLLRRRLLLLLRRRRLLRRRRRLLRLRLRLLLLLLLRRRRLLLRRLRRRRLLLRRRLLLRRLLRLLLRLLRLLLLLRLRLLRLRLRRRLLLLLRLLRRLRLRLLLLLRLLLLRRLLLLLRLRLRRRRRRLLRRLRRLLRLLRRLRLRLRLLRLLLLLRRRRRLRRRRRLRRRRRLLLLRRRRRRLRLRRLLLLLLRRRLLLRRRLLRLRLLRLLLLLLRLRLRLLLRLLLLRRLLRLRLRLRRRRLLRLLLLRRLLRLRLRRLRRRLRRLRRRRRLRRRLLRRRLRRRLRLLLRRLLRRRRLLRLLLLLRLRRLLLLRLRLLRRRLRRRLRRRLLLRLLLRRRRLLLLRLRRRLRRRLLRRRRRLLRLLLLLLLLRRRLRRLLRLLLLLRRLLLLRLLRRLRRLRLRRLRLRRLLRRLRRRLRLRRLRRLRLRRRLRLLRLRLLLLRLLLLRRLLRLRLLLLLRLRLLRLRLRLRRLLLRLRRLLLLLRRRRLLLLRLRLRLRRLLLRLLLLLLLLLLLLRLRLRLRRLLLRRRLLLRRLLLRRLRRLRLRRRLLLRRLLRRRRLLRRRLLRLLRLLLLRLRRLLRRRRLLRLRLLRRLRRRRRLRRRRLLRLRLLRRLRRRRRRRRRLLRRRLLLLRLLLLRLLRRRRRRRLLLLRLLRRLLLRRRLLRLLRLRRLLLRRLLLRLRRLLLLLLRRLLLLRRRRLRRLLLLLRLRLLLLRRLLRRRLRRRLLRRRRLRLLRRLRLLLRRLLLLRLRLRLRRRLLRRRRLLLLRRLRLLLLLLLLRRLLLLRRRRLLRRLLLRLRRRLLRLRLRRRLLLRLRLLRLRRLRRRLLRLLRLRRLRLRLLLRRRRRRLRLRRRLLLLRRLLLLRLRLLRRRRLRLLRLRRLRLLLRRLRLLLLLRLRLRLLRRLLLLRLLLRRLRLRRRRRLRLLLRRLLLLRLRLLRRLLRLLLRRLRRLLLRLRLLRRLRRRLLRLRLLRRLRRRRLRLLLLRLLRRRLLLLLLRRRLRRLLLRLRRRRRLLRRRRLLRLLRRLLRRLLLLLRLLLLLLRRLLRLLLLLRLRLRLRLRLLRRRRRRRLRLRRLRRRLLLLLRRLRLLLRLRRLRRLLLRLRLLLLRRRRRLLRLRLRLLRRLRLRRLLRRRRRRRRLLLLLRLRLLLRLRLLLLLRRLLRRLLRLRRLRLRRRLLRRLRLRLLRLRLLRLLLLRLLLRRRRLRLLRLLLRLLLLRLLRRLRRRLRLRLLRLRLLLRRRLLLRRRRLLRRRLLRLRRRRLLLRLRLLLRLLLLLLLRLLRRRRLLLLRRLRRRLLRRLLLLRRRRLRRRRLLLLRLLLRRRLLLRRRRRRLRRRLRRLRLLLRLRRRLRLRRLRRRRLLRLLLRLLRRLRLLLLRLLRRLLRRLLLLLRRRLRRRLLRLLRLLRRRRLRLRRRRLRRLRRRLLLLLLRLLRLRRLRLLLLLRLRLLLRRRLRRLRLRLRRRRLRLLRRLLLRRLLRRRRRRLRRRLLRRRLLLRLLRLRLRRRLLRRRLRLLLLLRRLLRRLLLLRRRLLLLRRRRLLLRRLLRRRLRLLRLRLRLRLLRRLRLRRRLRRLRRLRLLRRLLLRLRRLRLLRRRLRLLRLLLLRRLLRLRLLLRLRLLRLRLRLLRRLLLRRLRLLRLRRRRRLLLLLRRRRRRRRRLLLLRRLLLRRLLRLRLRRRLRLRLLRRRRLRLRLLLRRLRRLLRLLRRLRRRRRRRLRRRLRRRLRLRRRRLRLLRRRLRRLLLLLLRRLLRLRRRLRRLLLLRLLRLRLLLRRRRRLLRLLRRLLRRLLRRLRRRLRRRLLLLLRRLRRRRRRLRLLLLLRLLLRLLLRLRLRLLLLLRLRRRLLRRLLLLLRRRRLLRLLLLLRLLRRLLLRRLRRRRLRLRRLRRRLLLLLLLLRRRLRLRLLLRLLRLLRRLLRLRLLLRRLRLRRLLLLRRRLLLRRRLLRRLRLRRLLLLLRRRLLRLRLRLRLLRRLRLRLLRLRLRLLRRRRRRLRLLLRLLLLLRRRLRRLRLLRRLRLLLLRLLLLRRLLRLRLLRRRRRLRLRLRLRLLRLRRLRRRLLRLLRRRLRRRLLRRRLLRRLRLLRLRRRLRRRRLRRLLLRLRRLRRLLLRLRLRLLRLLLRRRLLLLRRLLLLRRLLLRLRLLRLRRRRRRRLLLLRLRLLLRRLLRRRLLRLRRLRRLLLRLLLRLRRRLLRRRLRLLRRLLLRLRRLLLRLLRRLRLLLRLRRLRRRLRRLLRLLRRRLLRLLLLRLRRLRRLRRRRRLRRLLLLLLRLLRRRRRRRRLRRRRRLRRRRRRRRLRLLLLRLLRLRRRLRRRRLRLRLLRLRRLLRRLLRRLRLLLRLLRLLRLLRRLRRLLLRRLRLLLLRRLRLRRLLRRRRLRRRRRRRLRLRLLRLRRRRLRLLRRRRLRRLRLLLLLRRLLRLRRLRLLRRRLRLLRLLRLRRLLRRRLLLLRRLLLLLRRRRRRLLRRRLLRLLRRRLRRLLRLLLRLLLLLRRLLRLRRRRRRLRRLRRRLLRLRRLRLLRRRRRRLRRLLLRLLLLRLRRLLLLLLRLRLLRRLRRLLRRLLRRLLLLLRRRRRLLRLLRRLLRLRRLRLRLLLRLRRLRRRLRLRLRRRRLRRLLRRRLRLRRLRLLLLLLRRRRRRLRLRLLLRLLRLLLRRLRLRLRRLLLRLLRRRLRRRRRRRRRLLLRRLRLLLLLLRLRRLRRLRRLRLRRLLLLLLRRRRLRLLLLRRRRLRRRRRRLLLRLRLRLRRLLRLRLLLLRLRRLLLLLRRRRRRRRRRLRLRLRRRRRRRLRRLLRRLRLLRLLLLRRRLLRLRRRRLRLLRLRRLRRLRRRLLLRRLLLRLRRLLLLLRLRRRLLLLRLLRLLLLRLLRRRRRLLLLLLLLRLLLRLRLLRRRLLLLRRRRRRLRLLLRRRRLRLLLRRLLRRRLLRLLRLLRRLRRRRRRRLLLRRLRRLRLLLRLRRLLLRLLLLLRRLRRLLLLRRLLLLLLRLLRRRLLLRRLRRRRRLRLRLRLRRLRLRRLLLLLLLLLLRRLLLRRLRRLRLLRLLRLRRLRRLRRRLRLRRRLLLRRLRRLLLRLRLRRLRLRLLLRRLLRRRLLRRRRRRRLRRLRLLRLRLRLLLLRLLRRLLLRRLRLLLRLLRLLLLLRLLLRRLRRLLLRLLLLRLLLRLRLRRLLRLLRRRRRRLRRLRLRLLLRLRRLLLLLLLLLRLRLLLLLRRRRRLRRRRLLLRLRRLLLRLLLRLLRRLRLLRLRRRLRRRLLRLRRLLLRLRLLLLLRRRLLLRLRLLLRRLLLLRRLRRRRLLLRLRRLLRRRLLLRRRRRLRLLLRRRRLRLRRLLRRRLRRRRLLLLRLRLLRRLRLRRRRLRLLRRLLRLRLLRLRLRLRRLRLRLLRRLRLRRRRRLLRLLLLRRRRRLLRRLLLLLRLLLRLLLLLLLRRLLLRLRLRLRLLRLRLRLLRRLLLRRLRRLRLRLLLRRLLRRRLRLLRRRLLLLLLLRLRRLRRLLLLLRRLLRRLRLRRLRLRRLLLRLRLLLLLRLLRRRRLLRLRRLLLRLLLRLRRLLRRLRLRRRLRLLLRLRRRLLRRRRLLRLRLLRLRLLRLRRLRLLRRLLRLLRRLLRLRRLLRRLLLRRLRLRLRRRRLLRLRLRLRLLLLRRRLLLLLRRLLRLRLLLLRRLLRRRRLRLLRLLRLLRRLRLRLRLRRRLLLLRLLRRLRLLRLRRLLRLRLRLRRRRRLLRLRLRLRLRRLLRRRLLLRRRRRRLRRRLLRLLRLLLRLRRLLRRLLRLLLLLLLRRLRRRLRLRRRRRLRRRRLLLRRRRLLRRLLRRLLLLRRRLRLLRLRLRLLRRRRRLLLRLRLRLRLRRLRRLRLRLLRLLLLLRLLRLLLLRRRLRLLLLRRLLRRRLRLRLRRLLLRRRLRRRRLLRLLRRLLLRRLLLLRLLLRLRLLLRLRRLLRRLRLRRRRLLRRLRRRLLRRRLRRRRRLLLLLLLRLLLLRRLRLLRLRLLRLRRRLLRLRLLLLLLRLRRRRRLLRRLLRLLRLLRLRRLRRLRLRRRLLRRRLRLLLRRLLLLLRLRRLRRLLLRLLRRLRLLLRLRRRLRLLRLRLLRRLRRLLLRLLRLRRLLRLLRLRRLLRRRRLRRLRRRRLLLLRLRLLLRRRRLLLRLRLRRLRRLRRRLLRLRLRLRLRRLLRRRRRLLLLLRRRRRLRLRLRLRRRLLRRRLLRRRLRLRRRLRRRRRRLRLRLRRRRLLRLLLLRLLRLLRLRRLLLRRRLLRRRRRRRLLRRRLLRLRLLRLLRLRLLRLRLRRRRRLRRRRLLRLRLLLRRRRLLLRRRRRLRRLLLLLRRLRLRLRLRRRLLLLLLRRLLRLRRRRLLLLLRLLRLLRLLRRRLRLLLRLLRLLRLRRRLRLRLRRLRLRLRLRRRRLRLLLRLLRRLRLLRRLRLRRLLLLRRLLLLLRLLRLLRRRRLLLRRRRLLLLRLRLRRLLLLRLRRRRLLLRLRRLLLLLLRRLLRLRRRRRLRLLLLRRRRLLLRLRRRRLRRRLRRRRLRRRRRRLLLRLRRRLRRRRLRLRLLLRLRLRLLRRRRRLRLRLLRLRLLRLRLRRLRLRLLRLRRLLRRRLLRLLRRRLLLRRRLRLRLLLLLLLLLLLRRRRLLLRRRLLRRRLRLLRLLRRLLRLRRRRRRRLRRLRRLRRRRRRRRRRLLRRLLLRRRRLLRLRRRRRRLLRRRLLRRLLRRRLRLLRRRRLRRRLRLRLRLRRLLRRLRRRRLRLLLLLLRLRRLLLLLLLLRRLLLLLLRLLLLRLRLLRRRLLLLRLLLRRLRLLLLRLLRRRRLLRLLLLRLLRLLRLRRLRLLLLLLRRRLLLRLRRLRRRRRRLRRRLLRLRLRLLLLLLRRLRLLRLLRLLRLRRLRLRLLLLLRRLRLRLLLRLRRRRLLRRRRLLLLRRRRRLLLRRLLRRRRLLLRLRLRLLLRLRRLRRRRLLLLRLRLLRRRLRRRRLRRLLLRLRRLRLRLLRLLLRLRLRLRRLLLLLLLRRLRRLRRRLLRLRRRLLLRLLLRRRRLLLRRLLRRRLLRLRLLLLRRRLLRRLLRLLLRRRLLLLRLRLLRLLRRLLRLRLRRRRLLRLLRRRLRRRLLLRLLRLLRRLRRRRLRLLLRRLRRRLLLRRLLLRLLLRLRRRRLLLLRRRLLRRLLLRLRRRLRRRLRLRRLRRRRLLLRRLLRRRRRLRLLLRRRRRLRRRRLLRRLLLLRLRLRRLLLLLRLLRLLRRLRRLRRLLRRLLRLLLRRLLLRLLLRRRRRLLLLRLLRRLLLLRRLLRLLLLLRLLRRLRLRLRRRLRLRLRLLRRLLRRRRLRRLRRLRLRLLLLRLLLRLRRLLLLRLRRLRLRRRLRRLRLRLRRLRRLLLLRRLLRRLLRLRRRLRRLLLRLLLRLRRLRRRRLRLRRLLRRRRLRLLLRRLRLLRLRRLLRRLLLLRRLLLRLLRLRLLRRLLRRRRLLLRRRRLRLLRLLLLLLLLLRRLLLLLRRRLLLRLRRRRRRLRRLRRLLRRRRRLRLLLRLLRRRLRRLRLRRRLRRRRLRRLRRRLRLLLRRRRRRRLLRRRRLRLLRRLRRRLRLLLLRLLRLRLRRLRLLRLRLRRRLRRRLLRLLRLLRRRLRRLLLRLLRRLLLLLLRRRLRLRLLRLLLLRRLRLLLLLLLRLLRLLRRLLRLRRRLRRRRRLLRRRRLLRLRLLLRRRLLRRRLLLLLRRRRRRRLLRRLRLRLRLRRRRRRLRLLRLRRLRRLLRRLLLRLRLLRLLRLRRLLRLLRLRLLLLRLLLRRLRLRRRRRRLLLLRLRLLLLRLRLLLRLLRRLRRLLLRLRRLRRLLRRRRRLLLLRLRLRRLRLRLLLLLLRRRLRLRRRLLRLRRRRLLRRRRLRLLRRLRLRRRRRRRRRLLLLRRRLLLLLLLLRLLRRLRLLRLLLRRLRRRRLRRLRLRRRRRLLLRLLLLLRLRRRLLLLRLRRRLRRLRLRRLRRRRLRRRLLRRLLRRLRRLLRRLRLRLRLLLRRLLLRLRLRLLLRLLLRLRLRLRLRRRLLLRLRRRRLLLLRRLRRRRLRLRLLLLLLLRLLLRRRLRRLRLLRRLLLLRLLRLRLLLRRRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLRLLRLLLRRRRLLRLLLRLLRRLRLRRLLLLLLLLRRLRLRRRRLRRLRLRLLRRLRLLRRLLLLRRRRLRLLRRLRLRRRRRRRLLLRLLRRLRRRRRRLLLLLRLRLLLRRRLRRLLRLLRLLLRRRLRRLLLRLLLLRLRRLLLRLLRRLRLLLLLLLRLRLRLRRRRLLRRLLLLRLLRRRRLLLLRLRRLRRRRLRLLRRRLLLRRRLLRLLLRRRLLLRLLRRRRRLRRLLLRRLLRRLRRLLRLRRRLRRLRLRRLRRLLRRRRLLLLRLLRLRLRLLRLLRLRLRLRLRRRLRRLLRRRRLRRRLRLRRLRRRRLRRRRLLLLRLLLRLLRLLLRRRLRRRRLLLRLLRRLLLLRLRLRRRRLLLLRLLRLLLRLLLLLLRRLRLRRRRLLRLLLLRLLLRLRLLLLRLRRRRLLRRRLRLLLLRRLRLLLLLLRLLRLLRRRRLLRLRRRLLRRLLLRRRLLRRRLRRLLRRLRRLLRRLLRRRLLLRRRLLRRRRLLRRRRRLLRLRRLRRLLLLLRLRRLRLLRRLLLLLRLRRLRLLRRLRRLRLLLLLLRRRRLRRRRRRRRLLLRLLLRLLLLLRRLRLRRLLLLRLRRRRLLRRRRLRLLLLLRRLLLLLLLLLLLRRRLLLLLRLLRLLLRLLRRLLRRRRRLLRLRRLRRLLRRLRRLLRRLRRLLLRLRLRLLLRLLRRLRLLRLRLLLLLLRLRRLRRLLLLRRLRLRLLRLRRRLRLLLLRRRLLLLLLLLLRLRLLLLLLRRRRLRLRLLRLLRLRLRRRLLRRLLLLLLRRRLRRLRLLLLRRLRRRLLLRLRLLRRLRLRLRLRRRLRLLLLLRRRLLLRRLRRLRLRRLLLLRRRRRLLLRLLRLLLRLLLLRRRLLRLLRRRRLLRLLLLLRLLRLRRLLLLRRRRLRLLRLLLLLRLRRRRLRLRLLLLLLLRRLLRRRLLLRRRLLRLLLLLLRLRRRRRLRLLLLLRRRLRLLRLRRLRRRLLLRRRLRLLLLRLRLRRLRRRRRLRRRRRRRRRRRLRRRRRLRRRLLLRRRRLLRLRLLRRRRRRRRRRRRRLRLLRRLLLRLLRLRLLRLLLRRLRRRLRRRLRLLRRLLRLLRLRRRRRRLLLRRRRLLLRLLRRRLRRRLRRLRLLRRRRLRRRLLRLLLLRRRRRLRLLLLRLLRRLRLLLRRLLRRLRRLLLRRLRLLLRLRRLRLRLRLRLLRLLLLRLLRLLRLLLRLLRRRLRRRRRLLRLRRLRRRLRRRRLRLRLLLRRLRRLLLLRRRLLLRLLRRRLLLLLLRLRLLRLRRRRRLLLRRLLRRLRRRRRRRRLLLLLRLRRLRRLRRRRRLLLLRRLRRRLLLLLRLRLRRRLRRLRLRRRLRRLLRRLRRLRRRLLLRLRRLRRLRRLRRRLRRRLRLRLLLLRRLLLLRLRLRLRRRLRLLLLLLLRRLLRRRRRLRLRRRRRLLRLRLRRRLLLRLRRRLLLLLRRRLLRLLRLRLRRLLRLRRLRRLRRLLRLRRRRRLRRRLRLLLRRRLRLRLRRLLLLLLLLRRLLLRLRLLRRLLLLRLRLRLRLRLLLLLRLRRLRLLRRLLRLRLRLLLRRRRLRRLLRRLLRRRLLRLLRLLRLRRLLLLLRLLLRLLRRRLRRRRLRLRLRRLRRRLLLRLLRRRLLLLRRLRLLLLLRLRLRRLRRLRRRLLLLRLRLLRRLLRRRRRRLLRLLLLLRLLRLLRRLRLRLRLRLLLRRLRLRLRLLLRLLRLRLRRRRLLRRRRRLRRLLRRLRLRRLLRLLLLLLLRLRRLRRLLLRRRRRRLRLRRLLRLLLRLLRLLRRLLRLRLRRRLRLRRRLRRRLRRRLRLRLRLRLLLRRLRLLRRLRRLLLRRLLLRLLRRLRRRLLRLRRRLRRRRLRRRRRLLLLRLLRRRLLLRLLRLRLLLRLRLLRLRRRLLLLRRLLRRRLRRLLRRLLRRRRRLRRRRLLRLLRLLRRRLLRRLLLLRLLLRRLRRRRLRRRRRLRRRRLRLRLLLRRLLLRLRRRLLLRRRLRRRRRLLRLRRLLRLLLRRLRRLLLLLLRRLRLLLRRRRLLRLLRRRLLLRLLLLRLRRLRRRRLRRRRLLLLLLLRLRLRLLLRLRLRLLRLRLRLLLLRRLRLRRRRLLRRRLLRRLRLLRLLRLLLRRLRLRRLLRLRRLLLRLLLRRRLRLRRLRLLRLRRLRRLRRLRLLRRRRRLRLRRLRLLRRRLLRLLRRLLRLLRLRLRLRRLLRRRLLLLLRRLRLLLRLRRRLLRRRLLLLRRLLRLRRRRRLRLRLRLRLLRRRRRLRLRLRRRRRRRRRLLRLLRLRRLLLRLRLRLLLLLLRRLLRRRLLLRRRLLLLRLLLRRLLLRRLLRLLRRRRRRRRRLRLLRRLLLLLLRRRRLRRRLRRRRLRRRRLRLRLLLLRLLLRRLLRRRLLRRLLRLRRLRLRRLLRLLLRRLLLLLRRLRRRRLRRLLLLRLRLRLRRRLRRLRRLRLRLLLRLLLLRLLRLLLLRRLLRLLLRLRLRLRLLLRLRLRLRRRRLLLRLRLRLLLLRRRRRRRRRRRRLRRLRLRRRRLLLRLRLRRRRRRLLLLRLRLRRLRRRLLRRRLRRRLRRRRRRRRRRLRLLRLLRLLLRRRRLRLLRLRRLLRRRLRLRRRLRRLLLRLLRLRLRLLLRLRRLRLRLLRRLLLLRRLRRRLLRLLLRLLRLLLLRRLRLRRRLLLRRLLLLRLLLRLLLRRRLRRRRLRRLLLLLRLRRRLLRRLRLRLRLLRRLRRLRRLRRLLLRRRLLRLRLLLRRLRRLLRLRLLRLLLRRRLLRLRRRLLLRRLLLRRLLRLLRRLRLRRLLRLRRRRRLLRLLRLRLRLRLRLLLLLRRRRLRRLRRRRLRRRRLRRRRLRLLRRRLLRRLRRLLLLRRLRLLLRRRLRLRRRLLLRLLLRRLLLRLLLRRRLLRLLLLRLLRRLLLLRLRRRLRLLRLRLRRRRRLRLRLLRLLLLRRRLLRLRRRRRLRLRLRLLRRRRRRRRRLLLLLLRLRLRLRRLRLLRRLLRLRRLRRRLRLRRLRLLRRLRRLRRLLRRRLLRRRLLRLRRLLLRLLRRRRLRRLLRRRRRLRLRLRLRRRRRRLLLLLRRRRLRRRLRLLRRLLLRLRLRLRRLRRRRLRRLRRRLRLLLRLLLRLLRLLLRLLLLLLLRRLLRRRRLRLLRLRLRLRLLRRLRLRLRRRRLRLLLLLRRLRLRLRRRLLLRLLRRLRLLLLLLRRRLRLLLRRRRRRLLRRRRLRLRLLRLRLRLLRLLRLLLRRLRLLLLRLRRLRRRLLRRRLLRLRLRLLRRRLLRLLRRRRRLLRLRLRLLRRRRRLRLLLLRLLRLRRRLLLRRLRRLLLRRRLRLLLLLRLRRRLRRRRRLLRRLRRLLRLRLRLLRLRRRLLLLLLLLRRLRLRRLLLRLRRLLRLRRRLLLLLRLRLRRRLLLLLRRRRRRRLLLRLLLRRLLRRLLRRRRRRRLLLRRLLLRRLLRRRRLRLLRLRRLRLLLRLLRLLLRLRLLRRLRRRLLRRLRRLRLRRRRRRRRLRLLLRLRRRRLLLRRRLLRLRLRRLLRRRRLLRLLLLRRRRLLRRLRRRRRRRRLLLRLLLRRRRRRLRRLRRLLLRLLRRLRLLRLRLRLLRRRRRRLRRLLLRLRLLRRRRRRRRLRLLRLLRRLLRLLRLRRLRRRRLLRLRLRRRLRRLLRRLLRRLLRRLRLLRLRRLRLLRLRLLLLRRLRRLRRRRLRLLLLLRRRRRLLLLLLRLLRRLRLLRLLLRRRLRRLLLLRLRRLRLLLLRLRRRRRLLRLLLLLRRLLLLLRLRLRRLLLRLLLRLRRLLLRLLRLLLRLLLLRRRRRLRLRRLLLLLLLRLRLRRLRLRRRLLLRLRRLRRLRRRLLRLLLLLLLRLLLRRRRRLLLLLLRRLLLLLRRLLLLRLRRRLRLRLRRRLRLRRLRLRLLLRRRRLLLLRRLRRLRRLRLRLRRRLLLLRRLRLRRRRLRLRRLRRRLLLRLRLRLRRRLLLLRRRLRRLRLRRRRRRLRLRRRRRLLLLRLLLRRRLLRRRLRLLRRRLRLRRRLRRLRLRRRLLRRLRRLLLLLLLLLRLLLLLLRRRRLLLLRLLLLLRLRLLRRRRRRLLRLLRLRRRLRLLLLLLLLLLLRRLRLRRLRLLRLRRRRLRLLLRRRLLLRLRRRLLLRLRRLRLLLRLLLLRRRRRRLRLRLLLRLLLRLRLRRLLRRRLLRLRRLLRRLLLRRLRLRRRRLRRRRLLRLRLRRLRRRRLLLRRLLLRRLRLLLLLRLRLLRLRRRLLRRLLLLLLRRLRRLRLRLRRRLLRLLRRRRLLLLRRLLLRRLRLRRLLLLRRLRRRRLLLLRLLRLLLRRRLLRRLRRLRRRLLRLLLLLRRLLLRRLRLRLLLLRRRRRRLRRLRLLLRLRLLLLRRRRRRLRLRLLRRLLLRRRLRRRLRRLRLLLRLLRLRLLRLRRRRLLLLLLLLRLRLLLLLLRRLRRLRLLRLRRLLLLRLLLLLRLLRLLRLRRRLLLLLRLRRLLRLRLRLRRLRRRLLRLRLLLRRRLRLRLRRRLRLRLRLRLLLRRLRRRRRRRRRRRRLRLLRRRLRLRLRRLLLLLLLRRRLLLRRRRLLLRRLLLLRRLLRLRRLRRRRRLRLRRRLRRRLLLRLLLRLLRRLLRRLLRRLRRLLLLLLRLRRRRRRLLLLRLLRLRRLRLLLRRRRRRLRLLLLRLLLRLLLLRLRLLLRRRRRRLLLRLLRLLLRRLRRRLRRRLRLLLLRRRRRRLRRLLRRLLLLLLLLLRLRLRRLRRRRRLLRLLRLLLRLRLRRLLRRRRRRLRRLLLLLRLRLLRRLLLLRRRRLLLRLRRLRRLLRLLRLLRLLLRRLRLLLLLRRLRLRLRRRLLLRRRLRRLRLLLRLRRLRRLRRLLRRRLLRLLRLRRRRLLRLLRLLLRRRRRRLLRRRLRRRRRLRLRLRRRRLLRLRRRRLLRLLLLLRRRRRRRLRRRRLRLLRLLLLRLRRLLRLLLLRRRLLRRRLRRRRLLLLLLRRLLLLLRLRRLLLRLLLLRRLLRLLRRRLRLRLRRLRLRRRRLRLRLLLLRRLRRRRRRRRRRLLLLRLRLRLRLRLRLRLRLLRLRRRLLRRRRRLRRRRLRRRRRLRLRRLRRLRRLLLLRLLLRRLRLRLLLRRRLRRRRRRRLRLRRLRLRLRLRLLRRLLLRRLRRLLLLLLLRLRRLLRRLRRRRLRLLLRRLRRRLRRRRLLRLLRLRLLRRLLRLLLRRLLLRRLRLLRRLRRLRRLLRLLLRLRRRRRRRRRRLRRLLRLRRRRRLRLRRLLRLRLLLRLRLRLLLLRLLLLRLRLRLRLRRLLRLLRLRLLRRLRLRLRLLLLRRLRLRLRRRLLLRRRLRRRLRLLLRRRLRRLLLLRRRLRLLRLLLLRRRRLLLLRLRLRLLLRRLLLRRRLLLRLLLRLRRLLRLRRLLLLRRLLRRLRLLLRLLRLRRLRLRLRLLRLRLRRLLRLRLLRLLLRLRLRRLRRRLLRLRRRRLRRLRRLLLLLLRRLLRLRLLRRLRLRRRLRRLRRRLRRRRLLLLRLRLRRRRLRRRRLRLLLLLLLRRLLLRLRLLRLLRRLRRLLLRLLRRRLLLLRLLLRLLRLLRLRLRRLLLLLRLLRLLRRRLRLRLRLRRRLLLLRRLLRLRRRLRLLLRRLLLLLRLLLRRLRLRRLRLRLLRRLLLRLLLLLLRLRLLRRRLRLRLLRLLLRRLRLRLLRLRLRRRRRRLLLLRRRRRLRRRRLRRRRLRRRLLLLRLLRRRRLLRLLRLRLRRRRLRRLLRLRRLRLRRRLLLLRRLRRLRRLLLLLRLLRRRLLLRRRRRLLLRRRLLRLLRRLRRRRRLRLRLLLLLLRLLLRRLRRLLLRRLLRLLRRLRRRLLLRLLLLRRLLLLRLRLLRLLLRRLLLLLRLRRLLRRLRRRLLLLRLRLRLRLRRRLLRLLLRRLRLLRRRRRLRRLRRRLLRRRLRRRRRRRRRLLLRRRRLLLRLLLLLLLLLRRLRLLLLRLLLRRRRRLRRRRLRLRLRLLRRLLRLLLLLLRLLRRLRLLLRLLRLRLLRRRLRRRRRRLLLRLRLLRLLLRLLRLLLRRRRLRRRRRRLRLLLRRRRLLRLLRRLRRRLLLRLLRLLRLLRRLLLLLRRRLLRRRRLRLLLRLLRRLRLRRLRLRRLLRLRLRLLRLRLRRRLRLRRRLLRRLRRLLRLLRLRLLRRLRLLRLRRLLLRRRRRLRLRLRRLRLLRLLRRRLLLLLLLRLLRLRRRLRLRLLRRRRLLLRRRRRLLLLLLLRLRLRLLLRRLLLLRLLLRLLLRLRRLLRLLRLRLRLLLRLRRRRRRRRRRRRLRRLRRRRRRLRLLLRLLRLRLLLRLRLLLRLRRLRLRRLRLRLLLLLRRLRLRLLRLLRLLRLLRRRRRLLLRLLLRRRRLLRLRRRLRLLRRRLLRRLLRRLRRLLLRLRRLLRRRRRLLLLRLRLRRRLRRRRRLRLLLRLLLRLLRLRLRLRLLRLRLLLLRLRLLLLRRLRLLLLLRRLRLRLRRRRRRLRRRLRLLRRRRLLRRRRRLRLRRLRRLRLLLRRLRLRLRLLRLLRRRLLRRLRLLRLLRLRLRRLLLLRRRRRLLLLRRLLRLRLRRLRLLLLRRRLRLRRRLLLLLLRLRRRLRLLLRLLLLLRLRLLLLLRRRRLRLRLLRLLLRRRRLLRRLRLRRLRRLLRRRRLLRLLLRLRRRRRLRLRRRRRRRRLLRLLRLLLLLRRLRRLLRRRRRLLRLLLRLLRRLRLLRRLRLLLLRRLLRLRLLRRRLLLRRLLLLLRRLLRRLLLLLRLRRLLLLLLRLLLRLRLRLRLLRRLRRLRLLRRRRRRRLLRRLRLRRLRRRLLRRLRRLLRLRRLRRRRLLLLRRRRRRRLLRLRRRRLRRLRRLRLLRRRLLRRRRRRRRLLRRLLRRLLRLRRRLRLLLLLRLLLLLLLRRLRLLLRRRLLRLLRLRRLRRLRRLRLLRLRLRLRRLLLRRRLRRLRRLLRLLLLRLLRRRRRRLLRLRRRRRRLLLLRRLLRLRLRRRLLLLLLLLLRRRRLRRRRLLRRLRLLRRLRRRLRLRRLRLLLLRRRRLLLLRLLRRRRRRRRRRLLRLLLRRLRLLLRLLLRRRRLRLRRRRLRRLLRLRRRRRLRRLLLLRLLRRLLRRLLLLLRRLRLRLLRRLRRLLRLRLRLLLLRLRRRLLRLLRLRLRRLRRRLRRLLLLRLRLLRRLRLRRRLLLRRLLRRLRLRLRLRLRLLRRLLLRLRLLLLLRLLLLLRLLRLRLRRRRLLLLRLLLLRLLRRRLLRLRRLLLRRLLRRRRLRLRRLRRRRRRRRRRLLLRRLRLLRRLRLRLRLLRLRLLLRLRLLLLLRLRLLRRLLRRRRLLRRLRRRRRLRRRRRRRLLLLLRLRLRLLRRLRRLLLRRLLLRLLLRLRRRLLRRRLRRRRRRRLLLLRLLRLLRLLRLRLLLRLLRRRRLLLRRLLLLLRLLLRLRLRRLLRRLRLLRLRRLRLRLLRRLLRLRRLRLLLRLRRLRLLRRLLRLLRLLRLRLRRRLRRRLLLLRLLLLRRLLLLRLRLRLLRRRLRRRLLRRRRLRLLLRRLLRRLLLLRLLRLLLRLLLLRLLLRRLRLLLLLRLRRRLLLRLLLLRLLRRLLLLRRRRLLLRRRRRLRLLRRRRLLLLLLRLRRRRLLRRLRRLLRLRRLRLLLLLLRLLRRLRRRLLLLLLRLLRRLRRRRLRRRRLLLLLLRLRRLRRLRLLRLRRRRRRLRRLLRRRLLLLLLLLRLLLLLLLLLLLRRRRLLLRRLLRRLLLRRRRRLRLLLLLRRLRLLRRLLLLLRLLLLLRRRRRRRLLRRLLRRLLRRRRRLRLRLLRRRRLRLLLRRRLLRRLRRLRRLLRRLRRRRRRLRRRRLRLRRRLRRLLRLLLRRLRLRRLLLRLRLRLLLRRLLLLLLLLRLRRRRLLRLLLRRLRLRRLRLLLLLRLLLRRLRRLLRLRLRLRRLRLRRRLRRRLLRRLLRRLLLRLLLLLLLRRLLRRRLRLRLLRLRLRLLLRLLLRRRLLLLLRLRLLLLRLLLRLLRLRLLRLRRLLLRLRRLLRRLLRLLRRRLRLRLLLRRRLRRRRLRLRLRRRLLLLLRLLLRRRLLLRLRLLLLLLRRRRLLLRLRLLRRLRRLRRLLRRRRRLLRLRLLRLLLRRRRLRRRLLRRRRRLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRRRRLRLRLLLLLRLRRRLLRLRRLLLLLRRRRRRRLLLLRLLLRRLLRLLLRRLRRLRRLLRRRRLLLLRLLRLLRLRLLRLLLLRRRLLRLLLLLLLRRRRRRLLRLRLLLLLRLLRRLRRRRRLLLLRLRLRRLRLRRRRLLRRLLRRLRRLRLLRRRLLRLRLRLLLLRLLLRRRRRRRLLRLRRRRLLRLLLLLLLLLRLLLLRRLLRRRLRRRRLLRLRRRRLRLLLLRRRRRLRLRLLLLRLRLRLLLRLLRLRLRLLLRLRLLLRRRLRLRRRRLRLLLRRLRLRRRLRLLLLLLRRRLLLRLLLRRLLLLRLLLRLRLLRRRLLRRRLRRLRLRLLRRLLLLLRRLRRLRRRLRLRLRLRRRRLRLLRLRRRRLLRLRRRLLLLRLLLLRRLLLLRRRRLLRLLLRRLRLLLLRRLLLLLRLRRLLRLRLLRRRLRRLLRLLLRRLLRLLLRRLLRRRLLLRRLLRRLLLRRLRLLRRLLLRLLRRRRLLLRRRLLLRRLLRRLRRRRRLLLLRRLRLRLLLLLRRLLRRRLLRRLLRRLRLLRLRRRRLRRRRLLRRRRLLLLLLLLLLLRRRLRRRRRRRLRRLLRRLLRLLLLLRRLRLLLLLRRRRLLRRRRRLRRRLRLRLLRRRRLRRLLRRLLRLLRRRLRLRLRLRRLRRLLLLRLLLRRRRRLLRRRLRLLLRRLLLRLLRLRRRRLRLRRLRLRLRLLLRRLLLLLLLLRRLRLLLRLRRRRLLRLRRLRLRLRLRLRRRRRRRLLLRLRRRLLRRLLLLRRLRRLLRLLRRRRLLLLLRRRRRLLLRRRLRRLLRLLRLLRLRLRRRRLLRLRRLRLLLRRRLLLLLLRLRLLRLRRLLRLLLRLLLRLRRLRRLRRLRLRRRRRRLRRRRLRRLRLLRRLLRLRRRRLLLRRLLLLLRLRLLRLLRLRLLLRRLLLLRRLRRRLRLRRLLLRRLRRRRRLRLLLLLRRLRRRRRLLLRLRLLLLLRLLLRRRRRLLLRRLRLRLRLLRRLLRLRLLLLLLLLLLLRRLLLLRLLLLLRLLRLLRRRLLRLLLLLLRLRRRRLRLLRLRLRRLLRLRLRLLLRRLRLLLLLLLLLRRRLLRRLRRLLLLLLLLRRRLLLRRRLLRLLLLRLRLRLRLLRRLLLLRLRRRLLRRLRLRLLLRRRRRRLRRRLLLRRRLRLRLLRLLRLRLLRLRLLLRLRRLRRRRLLRLLLRRLLRRLRRLRRRRLRRLLRRLLLLRRLRRRRLLLLRRLRRLRRRRRLLRLLRLRRLLLRLRRRRLRRLLRRLRLRLRLLLRRRRLRRLRLLLLLRRLLRLLLRLRRRRLLLLLRRLLLLLRRRRRLLRLRLLRLRRRRRRRRRRLLLLRLRLLLLRRLRLLLRLLRLRRLRLLRLLLLLRLLLRLLLRLRLRRLRRLRRRRRRRRRLLLLLLLRRRRRLLRRRLLLLLLLLLLLLLRRLLLRLLLRLRLRLLLRRLRLRLLRRLRRLRLLLLLRLRRRRLLRLLRLLRLRLLLRRLRLLRRRRLLRLLLRLLLLRRLLRRLRRRRRRRLRRRRLRRLLLRRRLRLLLRRRRRLLRLRRRRLLRRLRLRRLLLRLRLLRRLLRLLRRRRRRRLRLLRLLRRRRRRLRLLRLLRLRLLLRLLLLRLLRLLLRRLRLLLLRRRRRLLRLLLLLLLLLRLLRLRRLLLRRRRLRLRRRLRRLLLLLRLRLRRRRRLRRLRRLLRRLLRLRLLRLLLLLRLRRRRRLRRLRLLRRLLRRLLLLLRLLLRLRRLRRLRRLRRRRRRRLRLLLRLRRRLLLLLRRLRLLRLLLLRRRRLRRLLRLRRLRLLLLLRLLLRRRLLLLLLLRRRLRLRRRLLLRRRRLRLRRLRLLRRLLRRLLRLLLRRLRLLRRLLRLRRLRLLRRRRLRLRLRRRLRRRLRLRRRRLLRRLLLLLRLRRLLRRRLLRLLRLLLRRRLLRLRLRLLRRLRRLLLLRRRRRLRLRRLRRRLRRLRLRLLLLRLRLLRRLLRRRLLLRRRRLRLLLRRRLLRLLLLLLLRLLRRLRLRRRRLLLRRLRRRLLRRRRLRRRRLRRRRLLLLLRRLLRRRLRRLRLLLRRLLLRRRRLLRRLRLLLRRRLRLLRRRRRRRLRRLRLLRLLLLLLRRRLLLRLLRRRRRRRLRRLLRRLRLRRLRLRRLRLRRRRRRRRRLLRLLRLLRRLRRLRLLRRRRRLLLLRLLLLRLRRLLLRRRRRLLRRRRRLRLRLRLLRRLRLRRRRLLRLLRRRRRLLLRRRRRRRRLLLRLRLLLRLLRLLLRLRLRRLLLLLRLRLRLRLLLLLLLRRRRRRRRRLRRLRLRLRRRRLLLRRRRLLRRRLLLRRRRLLRLLLRRLLLRRRRRLLRLLLLLLRRRRRRRRRRRRLLLLRLLLRRLLLLLRLLLLLLRLRRLRRRRLRRLLLLRRLRLLRLLRLRRLRLLLRRLRRRRLRLLRLLRLRRLRRLRLRLRRLLLRRRLRLRRRRLRLLLLRRLRRRLLRRLLRLLLRRRRRLRLRLLRRLLLRLLLRLLRRRRRLRRRRRRRLLRLLLLLLLLRLRRRRLLLLLRRRRRRLLLLRRLRRLLRRRLLRLLRRRLLLLLLLRLLLRLRLRLLRLRRLRRLRRLLRLLRLRRRRLRRLLLLRLRLRLLLRRRRLLRLRLRLRLRLLLRRLRRRRLLRRRRLRLRLLRRLRRLLRRLRRRLLLRRLLLLLRLLLLLRLLLRRLRRRLLRLLLLRRRLRRRRRLRLRLRRRRLLRLRLRRRLRLLLLLRRLRRLLLLRRLLRRRRLLLLLRRLRLRRRRLRLLLRRRLLLLRRRLLRRRLLRLLRLLLLRRRLRRLLLLLLLRRLRRRRLRLRLLLRRRLRLRRLLLLLLRLLRRLRLRRLLLLLLRLLLLRLRRLLRLRRLRLLRLRLLLLLRRLLRLRRLRRRRRRRLRRRRLLRRLRRLRLLLLLRRRRRRLRLLLRRLRLRLLLLLLLRLRLLRRRRRRRLRLRRLRLLRRRLLLRLLRRLLLLLLRRRLRRLRLRRLLRRLRRLLRRLRRLRLLLLLRRLLLRRLRRLRRLRLRLLLRRRLLRRLLLLLRRLRRLLLRRLRRRLRRLRRRLLLRRLLLLLLRRRRRRLLLRLLRRLRRLLRRLRRLRLRLLRLRRLRRLRRLLRRRRLLRRLLRRRRLRLRLRRRRRLLRRLRLRRRRLRRLRLRLRLRLRRRLLLLRRRRRRLLRLLLLLRRLLLRRRLLLRRLLRRLLLRLLRRLRRRLRRLRLRRLRLLLLRLLRLRLLLRRLRRLRRRLLRRRRRRRLLRRRRLRRLLRRRLRLRRRLLLRRRLRRLRLLLRLLLLRRRRLLLLLRLRRLRRRRLLLLLRRRRLRLLRRRLRRLLRRRRRRRRLLRLLLRLRRLRRRLRLLRLRRRRLRLLRRRLRRRLRLLRRRLLRRRLRLRRLLRLLLRRRRRLRRRLLRRRRLRRLRLLLLRRRLRLRLRLRRLRRLLLLRLLRLLLLRRRLRRRLLLRRLLRLRLLLLRRLLRRLRRRLRLRRRLLLRLRRRLLLRLLLLLLLLLRLRLLRRLRLLLLRRRLLRLRLLLLRRRLLLLLLRLRRRLLLLLRLLLRLLLRRLLLRRRRRRRLLLLLLRLLRLRLRRLRRRRRRRLLRLRRLLLLLLRLRLLLRRRLLRRLLLLRLLLRLRLLRRLRLRLRRRRLRRLRLLLRLRLLLLLRLRRRLLRRLLLLLLLLLRLRLLRRRLLLLRRRRLRRLLRLLLLRRRRRLLLRRLLLRRRRRLRLLLRLRRRRRRLLLRLLRLRRRRLLRLLLLLRLLLRRLLRRRLRRRRLRRRRRLRLRLLRLRLRRRRRLLRRLRRRLRRLLRRRRLRLLLLLRLRRLLRLRRRRLRLLRRRLRLRLRLRLLRLLRLLLRRLRRRRRLRRRRRLLLRLLRRRLRLLRRRRRLLRLRRLRRRLRLRLRRLLRLRLLLLRLLLRRRLRLLLRLRRRLRLLLRRLRRRRLRRRLLRLLLLLRLLRLLRRRRRRRLRRRLRLRLRRRRLRLRRLRRRLLRLLLLLRLLLRLRRRRRRLRLRLRRLLRRLRRRLLRLRLLLRLLRRRLLLLRLLRLLLRLRLRRLLLLRRRRRRLLLRRRRLRLRRLLRLRLLRLLLLRRLRRLRLLRRRLRRRLLRRRRRLLRLRLRLLRLLLLLLLRRRLRLLLRRRLLLLRRLLRLLRLRLRRLRRLRLLLRLRLLLLRLLLRRLLRLLRLRRLRLRRLRRLRRLLRRRLRRRLLLRLLLLLLRRLRRRLRLLLLRRRRLRRLRRRRLRRRLRRRLRRRRLRLLRRLLRLRRRLLRLRRLRLRLLLRRLRLLLLLRLRRLRRLRLLRLRLLRLLRLLLRRLRLRRRLRRLLRRLLRRRLLRLRRLLLRRLRRLRRRLRRRLRRLRLRRRRLLLLLLRRRRLLRLLRLLLRLLLRLLLRLRRRLLRRRRLLLRLLRRLRLLRLRLRLRRRLLLRLLLLLRRLRRLRRRLLRRLRRLLLLLRLRRLRLLLRRRLRRRLRLRLLRRRRRLRRLRRRLRLLLRLLLLLRLRRRRLRLLRRLRRRLLRLRRRRLLRLRLRLRLRLLLLRRLLLLRLLRLLLRLLRLLRRLRRRLLRRLRLRRLLRRLLLLLLRLRLLRRRRLLRRLRLLRLLLLRRLLLRLRLLLRRRRRLLRRLRLRRLRRRLLRRLLLRRRRLRLRLLRLRRRRRLRLRLLRLLLRLLLRLRLLRRRRLLLRLRRRRLRLLRRLLLLLLRRRLRRRLRLRLRLRLRLLRRLRRRRRLLLRLRLRRRLLRLRLRRRLLLRLRLLRRLLLLRRLRRLLRRLRLRLLRRLLLLRLRLLRRRRRLRLRRLLLRRRLLRLRRLLLLLLRRRRLRRRRRRLRRLLRLRLRRRLLLLLLRRLRRLRLLLLLLRRRLLLLLLRLLRLLLRLRLRRLRRLRLLLRRRRLLLRRLRLLLLLRRLLLRLLLLLRLRLLRLRLLRLLRLLRRRLRRRLRLLRLLLLRLLRLLLRRRLRRRLRLLRLLRRRRLLLRRLLLRLRLLLRRRRLLRRRRLRLLLLRRRLRLRRLLRRLLRLLLRLRLRLLRRLLLLLRLLRLRRRLLRLRLLLLLLRLLRLRLRLRRLLLLRLRLLLLRLLLLLRLLLLLLRLRRLRLLLRLRLLLRRRLRLLLRLLLRRRLLRRLLRLLRLRRLLLLLRLLLRRLRLRLRLRLRRLLRRLRRRLLLRLRRRLRRLLLRLLLRLLLRLRLLLRRLLLLRLRLRRLRRLRLLRLLRRRLRRRLRRRLLRLRRLRLLLRLLRRLLRLLRLLLLLLLLRRRLLRRRRLRRLLRLLLLRRLRRRRLLRLLLLRRRRRRRRRRLLLRLRLLRLLRRLLLRRLLRLRLRLRLRRRLRLLLRLLLRLRRRRRRLRRLLRRRLRLLRLLRRLLLRLRRLRLRLLLLLRRRRLRLRRRRRLLRRLLLLLRLRRRRLRLRRRLRLLRRRLRLRRLLLLRRRLRRLRLRRRRRRLRRRLLLLLRLLLRRLLRRRLLLRLLRLLLLRRRLLLRRLLRRRRRRRRRRLRRLRRLRLLLLLLLLRLLLLRLRLRLLRRLRLLRLLLLLRLRLLRRRRRRLRRLRRRRLRLLRLRRLRRLLLRRRRRLLLRRRRLLLRLRLLRRRRLRLRRRLRRLRLRRLRRLRRRLLLRLLLRRRRLLRLLLLLRRLLRRRLRRRRRLRRRLLLLRRLLLRLRRLLRRRRRRRRRRLRLLLRRLLLRLLRLRRRRLLLRLRRLLRLRLLLLLLLRRLLRRLRLLLLLLLLRRLRLLRRRLLRLLRLRRLLLLRLRLLLLRLLRRLRLRRLRLLLRRRLLLRLLRLRLRRRRLRLRLLLRRRLLRLRRRRLLRRLRRLLRLLLLLRLLLRRRRRRLRLLRRLRLRRRLLRRLLLLLRLLLLRLLLRLLLLRRRLLRLLRLRRRLLRRLRRRRLLRRLLRLRLLRRRLRLLLRRRRLRRRLRRRLLRLRRLLLRRRLRLLLLRRLLLRLLRRLLLLLLRRLLLRLLRRRRLRRRRRRLLRLRLRRLRRRLLLLLRLLLLRLRRLRRRLLLLLRRLRRRRRLLRRLRRRLLRRRLRRLRLRRLLRLLRRRLLLRRLRRLLRRLRLLLRLLRRRLLLLRLLRLLLRLRRRRRRLRLLLRLLLLRLLRLRRLLRRLRRLLRRRLLRRRLRRLLLRLLRLRLLRRRLLRRLRLLRRRLLLLLRLLLRLRRRRLLLRLRRLRRLRRLRLRLLRLLRLRRLLLLLLRRRRRRLLRLRRRRRRLLRLRRLRRLLRLRRLLRRRLLRRLLLLLRLLLLLRRLRRRLRRLRLRRRLLLRRRRRLLLRRRLLLLRRLRLRRRRRRLLLRRLRRLLLRRLLLRRLLLLLLLLRRLLRLRRLRLLRRRRLRRRLRLRLLRLLRLRLLLRRRLLRLRLRRLRRLRRLLRLRLLLRLRLRLRLLLRLLLRRLLRLRRLLRRRRRRLRLRLLRRRLRLLRLLRLLRLRRRLRRLLRLRRRLLLRLLRRLRRRRRRRRLRRLLRRLRLLRRRLRLRLRLLLRLRRRRRRLRLLLRLLLRLLRLLLRLLRRRRLRLLLLRLLLRLLRRLRLRRLLLRLRRRLLRLRRRLLRRRLRLRLLLRLRRRLLRRRLRLLLRRRLRLLRRLLLRLLLLLRLLLRLLLRLLLLRLRRRRRRRLRRLRLLRRRLRLRLRRRRRLLLLLLLRRRRRRRRLLRLRLLRLRRRRRRLLLLLLRRLRRRLRRRLRLRLRLRLLLLLRRLLLRLRRLRRRRLLLRRRLLRLLRLLRLLLRLLRRRLLLLLLRRLLLLRRRRRRLLRRLRLLRRRLRRLLLRLRLRRRLRLLRRRRRLRRRRRRLRLRRRLLRRLRRLRRRLRLLLRRLRLRLRRLRRLLRRLRRRRRLLRRRLLLLRRLLRLLRLLLLRRRRRRLLRRLLLLRLRRRLRRLRLLLLLRLRRLLRRLRRLLRRRLRRRRRRLLRRRRLRRRLLLLRRRRRRRRRRRLRLRRLRLLLRRRLRLLLRLRRRLRLLLLRRLLRRLRRRLLRLLLLLLLRLLRLLLLLRRRRLLLRLLRRLLRLLRRLRRLLLRLRRRLLLRLRLLLLRLLLRRRRRRRLRLLRRRRLLLLRRRRLRRLLLLRLRLLLLLLLLRRLRLRRRLRRLRLLLRLLLLLLRLLRLLRRLLLLRRLLRRRLRRLLLRRLRRRRRLLRRRLRRLLLLLRRLLLRLLLRRLRLLLRRLRRLRLRLLLLLLLRLRRRRLRLRRLLLLLRLLLLRRLLRLLRLRLLLRLRLRLLLRRRLRLRRRRRRRRRRRLLRLRLRLRLRLRRRLLRLRRRRLLLLLLLLLRRLLLRLLLRLRRRRLRLRRLLLLLLLRLLRLLLRRLLLLRLRLRRLRLRRRRRLRLRLLRRLRRLLLLLRRRRRRRLLLRRLLRLLLLLLRRRRRLLLRLRRRLRRLRLLLLLRRLRRLLLLRLRRRLLLLLLLLLRRRLRLRRLRRLRRLRRLRRLRRLLLLRLRRLRRRRLRRRRLRLRLRRRLRRLLRLRLLRRRLRRLLLRLRLLRLRRRLRLLRLLLRLLRLRRLLRLRRRRLLRLRRRRRRLRRLRLRRLRRLLLRLRRRLRRLLRRLLRLLRLRRRRLRRLLRLLRRRLLLRRLRLLLLRRRLLRRRRLRRLLLLLRRLLRRLLRRLLLRRRRLLLLRLRLLLLRRLLLLLLRLRRRRRLRLLLLRRLLRLLRLLLRLRRRRRLRRLLLRLRLRLRRRRRRLRRLLRRLLLRLRLLRLLLRRLLLLRRLRRRRLLLLRLRRRLLRLLLLLRRLRRRLRLLRRRRRLRRRLLLRRRRLLRRLRRRRLLLLRRLLRRLLLLRLRRLLRRRRRLLLRRRRLLLLLLLRLLRLRRRLRLLLLRLRLLRLRLLRLRLRLRLLRRRRLLRRLRRLLLLRLRLLLLLRRRLRLLLLLLRLLRRRLLRRRLLRRRLRLRLRRRLRRRLRRRRRLRLLLRRRLRRRLLRLRLRLLLRRRRLRRRLRRLRRRLLLLLRLLRLLLLRRRLLRRLLRRRLRRRLRRRLRRLRLRRLRLRLLRRRRLRRLRRRRRRRLRRRRRRRLRRRRRLLRLLLRLLRLRRLRLLRRRLRLRRRRRRRLRRLRLRLRRRRRLLLRLLRRRLRLLRLRRRRRRLRRRRLLRLLLRRRRRLRLLLLLLLRLRLLRLLRRLRLLRRLLLLLRLLRLRRRRRLRRRLLLLLRRLLLLLLRRRRLRRLLRRRLRLRRLRLRRLLLLLRLRLLLLLRLLLLRLLRRRRLLRRLLLLLLRLRLRLRRRRRRRRLLLLRRRRLRLLLRRLLRRLRLLLRLLLRLLLLRRRRLRRRLRLLRLRLRRRRLRLRRRRRRRRRRLLRRLRRLLLLRRLLRLRRRLLLLLRLRRRRRLLRLRRRRLLLLLRRLRRLLRLLRRRRLRLRRRRRRLRRRRLRRLLRLLLLRLLLRRRLLRRLRRRLLRRLRLLRRRLLLRLLRRRRLLRRLRRLLLRLRRRRLLLRRRLRLRRRLLRRRLLRRLLRRRLRLRRLLRLRRRLRLRLRLLLLRLRRRLLLLRLLLRLRRRRRRLLLLRLLLRRLLRLRRLLRRLLLRRRLLRRRLLLLLRRRRLRLLRRRRRLRRRLRLLLRLLRRRLLLLLRRRLLRLLRLRRLRRLLLLRRLRLRRLLLRRRRLLRRRRRRRRLLLRRLRRRRRLRRLRLRRRLRLRRRRRRRLRRLRRLLLRRRRRRRLRLRLRRRLRLRRLLRRRRLRLRLLLLRRLRRLLLLRRRRLLRLRLRLLLLRLLLRLRRRRLLRRRLRRRRRRLRRRLLRRLLRRLLRRRLLRLRLRRRRLRRRLLLLRRRLLRLRRRRLRLLLLRLLLLRLRRRLLRRLRLRRRLRLLRLRLRRLRLRLLLLLLRLRLRRRLRRRRLRLLLRRLRRRLLRLLLRLRLRLRLLLLLLRRRLRLRLLLLRRRLLLRRRRRLLRLRLRLLLRRLRRLRRRRLLLRLRLRRLRRLRRRRLLLRRRRRLRRLLLRLLRRRRLRLRLLLRLLLLLLLRLLLRLLLRRLLRRRRLLLRRRRLRRLLLLRLRRRRLRLLRRRLLLRLLRLLRRRLRRRLLRLRLLLLRLLRLRRLLLLRLRRLLLRLRLLRLRLRLLLRLRRRRRLLRLRRRRRLRRRLLLLRLLRRRRRRLRRLLRRLRRLLRRRRLLLRRLRRRLRRLRRLLLRRRRLRRRRRLRLLLRLRLLRRRLLRLRRLLRLRLRRRLLRLLRLLRRRLRRRRRRRRRLLLLRLLRRLRLRLRLRLLLRLRRLLLLRRRLLLRRLRLLLRRRRRRRRRLRRLRRLLRLRLRRRRRLLLLLLLLLLRRLLRLLRRLRLRLRRRLLLLRRRLRRRLRLLLRRLLRLLRRRRLRRRRLLLLRLLRRLLRRRLLRLLRLLRRRLLRRRRLLLRRRLLRLRLRRLRLLLLLRRLLLRRRRLRLRRRRRRLLRLRRLRRRRRLRLRRLLLLRRLRRRLRRRLLRRRLLLLLRRLLLLLLLRRLLRLLLLLLLRLLRLLRLLLRLLLLRRLRLLRRRLRLLRLLLLRRRLRLLRLLRLRLLLLLLLRLRRRLRRLRRLRRRLRLLRLLRRRRLLRLRRRLRLLLLLRLLRRRRRLLLLLLLLRRRRRRLLRRRRRLRLRLLLLRLRRRLLRRLLRRLRRRRLLRRRLRLRLRRLLLLLLRLLLLLRLLRRRRLRRRLRRLRLRRRRRRLRRLLRRLRRRLLLRLLRLLRRLLLLRRRLLRRRLLRLLLRRRRRLLLLLRLLRRRRLLLLRLRRLRLRRLLLLRRLRRRRRRRRRLRRLRLLLRLLLLRLLLLRLLRRLRLLRRRRRLLLLLRRRRLLLLRRLRRRLRLRRLLLLRRLRRRRRRLLLRLLRRLRRLLLLLLLRLRLRRLRRLRLRRLLRRRRRLRLLLRLLRLRRRRLRLRRLLLRRRRRRLRLLRRRRLLLRRRRLLRRRRLLRRRRLLRRLRLRRLLLLLLRLLRLRLLRLLRLLRLRLRRRLRRLRRRRRRLRRRLLRRLLRRRLLLRLRRLLLRLLLLLRLRLLLRLRRLLRLRLRRRLLLRLLRLRRLRRRRLLRRLLLRRLRLRRRRRRRRRRRRRLLLRLLRRRLLLRLRLLLRRRLRRLRLLLLRLRLRLRLLRRLRLRRLRRLLRLLLRLRRLLLRRLRRRLRRLRLRLRLRLLLRLLLLRRLLRRRRRLRLLLRRLLLLLLLLRRRLRLRRLLLRLRRRRRLRRRRLLLLLLLRRRLRRLRLLLRLRLRRRRLRLLRLLRRRLLRRRLLRLRRRLLLRLRLLRRLRLRRLRRLLRLRLLLLRRRLLRLLRRLLLLLRRLLLRLLLLRRRRRLLRRRRLRRLLRRRLLLRRLLLLLRRLLLLRRRLLLRLLRLRLLLLLRLRRLRRLRRRRRRLLLRLRRRRLLLRLLLLLLRRLRLLRLLRLRLLRLRLLLLLLLLLRLLRRLRRLLRLLLLLRLLRRLRLRRRRRRRLRLLRLRLRLRLRRRLLLRRRLRRRLLLLRLRLRRLRRLRRRLRLLRRRLLLLLRRRRRRLRLRRRLLLLRRRRLLRRRRLLRLLLLRLLLRLLRLRRLLLLLLLLLRLLRRLLRRLLRRRLLRLLRLRRLLRLRLLLRRRRRRRLRRRLLLRRRRLRRRRRRRLLLLLLLLLRRRRRRRRLLLLRLRRLLLRRLRLLRRRRLRRLRLRLRRRLLLLRRLRLLRRLRLRRRRRLLLRLRRRRRRLLRLLLLRRRRLRLLRRLLLLRLRLLLLLLRRLRLLRLLLLRLRRLLRRRLRRLLLLRLRRLRRRRLRRRLRLLLLLLRLLLLLLLRRLRLRRLLRRRLLLLRRRRRRLLLLLLRLRRLLRRLRRLLLRRLLRLRRLRLRRRLLRLRLLLRLRRLRLLRLLRLRRRLRRRRLLLRRLLRLRLLRRRLRRRLLLRRRLRLRRRLRLLRRLLRLLRLLRRLRLRLRLRLLRRLLRRLRRRLRRRRLLRLRRRLRRRRRRRRRLLRRLLLLLRRRRLRLRRLLLRRRRLRLRLLRRLRLRRLLLLRRRRRLLRLRRLRRRLRRLLLLRLRRRLLRRRRRLLRLLRRLRLRLRRLRLLRRRLLRRRRLRRRRLLLRRRLRRRLRRLLLLLLLRLLRRRLLLLRRRLLLRRRRLLLLLLLLRLLRRRRRRLRRRRLLLLRRLRLLRLRLRRLLRLRRLLRRLRLLRRLLLLLLRLLRLRRRLRLLRLRRRLRLLRLLLRLRRRLLRLLLLLRRRRRLLLRLRLLRLLLRRLRLRLRLRLLRRRLRRLLLLRLLRRLLRLLRLRRLRLLLRRLLRLRLLLRLRRLRLLLRRLLRRLLRLLRLRRRRRLLLRRLLLRRRRRRRLRLRLLRRLRLRLLLLLLRRRLRRRLLRLRRRRRLRRRLRRLRRLRRLLRRLLLLRLLRLLLLRRLLRLLRLLRLRLLLRLRLLLRRRRRRLRLLRLLLRLRLLLLRLRRLRLLRRLRRLLRRLRLLLLLRRRLRLRLRLRLLRLLLRRRLLRRLLRRRRRRLLRRLLRLLRLRLLRLRRRLLRRLRLLRRLLLRLRLLLRLLLLLLLLRLLLLLLLLRLLLRRLRRLLRRRLRLLLLRLLRRLRRRLRLRLRRRRLLLRLRLLLRRRRRLRRLLRRLRRLRRLLRRRLLLRLLLLRLRRRLRRRRLLLLLRRRRRLLRRLLLLRLRRLRRRRLLLLRRLLRRLLLLRRRRRRLRLRLRRLRRLLRLLRLLRLRRRRLRLRLRLRLRLLRRLRLRLLRRLRRLLRRLRLLLRRRLRRRLRLRLRRLRRRRLRLLRRRLRRLRRRLRLLLRRLLRLRRLRLLRLRLRRLLLLRRLRLLRLRLRRRRLRLLRRRRRRRLLLLRRRRLRLRLRLRRLLLRLRLLRLLLRRLRRRLRLRLRLRLLRLRLLLLRRRLRLLRRRRLRLRLLRRLLLRRLLLRLRLRRRLRLRRLLRLRRLLLLRLLRRLLRRLRRLRLRRRRLRLRRLLRRRRRLRRRLLLRLRLLRLRRRLLRRLLRRLRRRRRLLRRRRRLLRRRRRRLLRLRRRLRRLLLLRRLRLRRLRLRLLLRLRRRRRLRRRLLRRRLLRLLLLRRRLRRRLRRRRLRLLLLLLRRRRRRLRLLRLRLRRLLLLLRRRRLRLLRRLRLLLLRRLLLLLRLLLRRRRLRRRRLRRLRRRLRRLRRRLLLRRRRLRRLLLRRRRRLLLLLRLRLLLLLLRLLLLLLRLLLLLRRRLRRRLLLLLRRRLRLLLLLLRRLLRRLLLRRLRRRRRRLRRLRRLLRLLLLLLLRLLLRRLLLRLLLLLRLLRLLLLRLRRLRLLRRLLRLRRLLLRRRLLRLLRLLRLLLRLRRRLRRLRLLLRRRRRLRLRRLRLRLRLLRRRRRRLRLLLRLLLLLRLRLLRRLRLRRLRRRLLLRLLRLRRLLLRLLLRRRLLRLRLLRLRLRLLRRRRRLRLLLRRRRRRLLLRRRLLRRLRLLRLRRRLLLRRRRRLLLRLRRLRRRLLRRRLRLRRLRLRRLLLLLRLRLLLRRLLLRLRLRRLRRRLRRLLLRLRLRRLLRLLLRRRLLLLLRLRRLLLLLLLRLRRRLRRLRLLLRRLRLLRLRRLRLLLRLRRRLLLRLLRLLRRLRRRLRRLRRRRRRLLRLRLRLRRLRRLLRRLRLLLLLLLRLLLRRRRRRLLRRRLRLRRLRLLRRLRRRLLLLLRRRRRLRRRRLRRRLLRLLRLLLRLLRLLRRLLRLLLLLRRLRLLLRLLLRRRLRRLLRRLRLLRLLLRRLLRLRRRRRRRLRLLLRRRRLLRLLRRLRLRRLLLLLRLRRLLRLLRRRLRRRRLLRLLLLRLRRLLRLRLLLLRRLLLLRLRLRRRLLLRRLRRLRRRRLRRLLRRLRRLRRLLRRLLRRLRRRRLLRRLLRRLRRLRRLRRLLRLRRLLRLRLLRLRLLRLRRLRLLRRRLLLLRRLLRLLRRLLRRLRLLRRRRLLLRLRLRRLLRLRRLRLRLRRLLRRLRRRLRLRRRRLLLRRLRRRLLRLRRLLRLRLRLLRLRRLLRLRLRLRLLLLRLRRLRLLLRRLLRRLLLRRLLRRRLLRRRRLLRRLRLLLRLLRLLLLRRLRRRRRRRLLRLLLRRRRLLLLLLLRLRRRRLRLRRLLLLRLRLRRLLLLRLLLLRLRRLRLLRLRRRLRRRRRLRLRLLRLRRRRRRRLLRRRRRRRRRLLRRLRLRLRRLLLRRRRLRRLRRRRRRLLRRRLLLRRRRRRLRRLRRRRLRLRRLRRLLRLRLRRRRRLLLLRRLLLRRLLRLLLLRRLLLLRRRRRLLLRLLLRLRRRLRLLRRLLLRRRLRLLRLRRRRLLRRRRRLLLRRRRRLRRLLRRRRLLLRRLRLLRRLRRLLLRLRLRRRRLRLRRRRLRLRRLRRRRLLLLRRRLRRLRLRRRRRLRLLLLLLRRRLRLRRRLRLRLRLRLRRLLRLRRRLRLLRRLRLLRRRRRLLRLRLRRRRLRRLLLRRRRLRLLRRRRRRRLLRLLRRRLRRRLRRLRLLRRLLLRRLRLRLRLLRLLRLLRLLRRRLRLLLLLLLLRRRLLRLRRRRRRLLLRLRRRRLRRLRLRLLLRLLLLLRLLRRLLRRRLLLLLRRRRLLRRRRLLLRLRRLLRRRLRLLLRRRLLLRLRRRLLRRRLRLRRLLLLLRRLRRRLRLLLLRLRLLRRRLLLLRRLRRLRLRLLRLRLLRRRRRRRRLLRRRLLLRLRRRLLRRRLRRRLRLRRLRLLLLRLLLRLRLRLLRLRRLLLRLLRLRLRLRLLLLLLRLRRRLRRRLLRRLRLRRRLLRLRRRRLLLRRRLLLRLLLRLLLLLLRRRRLLRLRLRRRRLRLRRRRLRLRLRRRLRRLRLRRRRRLRLRRLLLLLLRLLRLLLLRLLRRRRLRLLRRRLLLLLLRRLLLLLRRLLLRRLLLLRLRLLLRLLLLRLRRLLLRLLLRLRRLRLRLLLRLRLRLRLLLRLRLLRLLRLLLLRLLRLRLLRRRRLLLLRLLLLLLRRLRLRRRLLRRLLLRLLRLRLRRRRLLLRRLRLRRLLRRRRLRLLLRLRRRRRRRLLLRLLRRLLLRLRRLRLLRRRRLRRRRRRRRLLLLRRLRRLRLLLLLRRLLRRLRLRRLRRRLRLRRRLLLRRLLRLLLLLLRRRLRRRRRRLRLRRRLLLLRLRLRRLLRLRLLLRLLLLRRRLLLRRRLRLRLRRRRLRRRRLRRLRLRLLLLLRRLLRLLRLRRRLLRRLRLLLLRLRLLLRLLLRLLLRLLLLRLLLLLRLLRRLRLLRRRLLRLLRRLLRRLLRRRLRRLLLLRRLLRLRRRLLLRRLRLLLRRLLRLRRRLLLLLRLLLLLRRRRLRRRRLLRRLRRLLLRRLLRRLLRLLLLLLLRRLLLRRRRLLRLRRLLLLRRRLRRLLLRLLRRLRRRRRLRLLLLLLRRLLRLRRRRLRRLRRLLRRLRLRLLLRRRRLLLRLLRLRRLRLRLLRLLLLRLRRLRRLLLLRLRLLRRRLRLLLRRRRLRRLLRLRRLRRRLRRRRRRRLRRRRLRRLLLLLLLRRRRLLLRLRLRRLRRLLRRLLLLRLRLLLRRLLRRRRRLRRLLLRRLRLRLLLRLLRLRRRRRLLRRRRLLLRRLRLLRLRLLLRLRRRRLLRLLRRRLLRRLLLRRRRRRRRLLRRRRRLRLRRLRLLRLLLLRLLRRRLRLRRLRRRLRLRLRLLLLLLLLLLRRLRLRRRRRRRLRLRLRLRRLLLRRRLRLRLLLLLLLRLRLRRLLRRLRRLRRLRRLRLLLRLLRRLRRLLRRRLLRRRLRLRLLLLRRLLRLRLRRLRLLLRLLLRLRLRRRLLLLLLRLRRRLRLLLRRLRLLRRRLLLLRRRRRLLLRRLRRLLRLLLLRRRLRLLRRRLRLLLLLLRLRRLRRRRLLRLLLLLLLRLRLRLLRRLRRRLLRRLRLRRRRRRLLRRLRRRLRRRLLRLLLLLLLRLRLLRRRLRLRLRLLLRRLRRLRLRRLLLRLLRLRLRLLRLLLLLLRRRLLRLLRLRLRLLLRLLLRLRLRRRRLLLRRRLLRRRLLLLRLRRRLRRLRRRRRLRRRLLRLLLRRRRRRRLRRLRLLLLRLRRLLRLRRLLRRLLRRRLRRRLLLRLLRLLRRLRLRRRLRLRRRLRRLLLRLLRRRLRLRRRLLRLRLLLLLLLRLRRLLLLLLRRLLLRLRLLLRRLRRLRRLLLRLRLLRLRLLRRRRRLLLRLLRLLRRRRLRRLRRLLRLLRRRLLRRLRRLLRRLLLLRLRLLRRRLRLLLLLLRLLRLLLLRRRLRLLLLLRRLLLLLLRLRRRLLLRLLRRRLLRRRRLLLLRRRRRLRLRRRLRRRRLLLRRLLRLLLRLLRLLRRRLLLLRRRLLRLRRRRRRLRRLLLLLLRLRLRLLLLRRRLRLRRLLRRRLLLLRRRRRLRRLLRLRLRLRLLRLRLRRRRRRLRLLLLRRLLRRRLLLLRLLLLLRRRRLLLRRLLLLRLLRLLRRLRRLLLLRLLRRRLLRLLRRRLRRRLLRRLRRLLRRLRLRLLRLRLRRLRRRLLRRRLLRRLRLRRRRRRLLLRLRRLLLLRLLRLRRLLRRLLRRRLRRRLRLRLRRLLRRLRLLLLRRRRRRRRRRRRRRRRLRLRRLRLRRLLLRLRRLRRLRRLRRRLLRRRRLRLLLLRRLLLRLLLRRLRRLLLLRLRRRRLLLLRLLRRRLLLRLLRRRRLRLRLLLRRRRRLLRLLRRRRRRRLLRRLRRRLLLLRLLRRRRRLRLLRLRLLLLRLRLRLLLLRLLRLRRRRLLRLLRRRLLRLRLLLLRLLLRLLLLRRRLLRRRLLLLLLRRRRLLRLRLRLRLLRRLRRLLRLLLLLRRLLLRLLRLRLLLRLLRLLRLLLLRLRLRLLRLLLLLLLRLLRRLLRLRLRLLRLLRRLRRLLRRLRRLLRRRRRLLLLRRLLRRRLRRRRRLLRLRRRRLLRRRRRLLLRLRLRRRRRRLRRRRLRLLRLLRRRRRLRLLRLRRLRLRRRRLRRLRLRRLLRRRLRLRLRLLRLLLRLLRLRLRRRLLLRLLRRRLLRRRRLLLLLRLRRLRLRLLLRRLRRRRRLLRLRRRLRRRRLLLRRRRRRRLRLLLRRLRLRRRRRRRLRRRRLRRLLRRLRLRLRLLRRRRLLLLLRLRRLRLLRRRLLLRLRRRRLRLRRLRLRRLRLRLLLLRLLLLRLRLRRLRRRLLRLRRRRLLLRLLRRLRLRLRLLRLLLRLLRRLRLRRRRRRLLRLLLRLRLLRRLLLRLLLRLLLRLRRLRLRRRRRRLRRRLRLLLLLLRRLRRLRRRRRRRLLLRRRLRRLLLRLRLLLLLRLLRLRLRRLRLRRLLRLRLLRRLRLLLLLLLLLLLRRLLLLLRLRRRLRRLRRRLRRRRRLRRRRLLLLLLLRRRRLRRLLLRLRLLRRRRLLRLRLRLLLRLLLLRLLRLRRLRRRLLRLLRRRLRLRRRLRRRRLRLRLLLLLLLRRLLRRRLLRLLLLLRLLLRRRRRLRLLLRRRLRRLRLRLLRLLRLRLRLLRLLRLRRRRRLRRRRRRLLLRLRRLLLRRRRLLRLRLRLRRRLRLRRLLLLLLLRRRLLLRLRRLRRRRLRRLRRLRLLRRRRLRLRLRRLLLRRRRLRLRRRLRLLLLLLRLLLLLLRRLLRLLRRRRLLRRLLRLLLRRLRLLLLLRLRRLLLRLLRLRLRRLRLLRRRRLLLLLRLLLLLLLRLRRRRLLRRRLRLRLLRRRLLLLLLLRLLRRRLLRLRRLRLLRRRRRLLLLLRRRRLLRRLLRLRRLRRRLLRRLLRLLRRLLLRRRLRRLLLRRRLLRRLRRRLLLLLRLRRLRLRLLRLRRRLLRRRLRRLLRLRLRRRRLRLLLRLRRLRRRLLRRRRLLRLLLRRRLRRLLLRLRRLRRRLLLLLLLRLLLRRLLLRRRRLLLLRLLRLLLRLLLLLLRRLLLLRRLRLRLLLLRRLLLLLLLLRRLLRRRLLLRRLRRLLLLLLRRLLLLLLLLLLRLLRRRLRLRRRLLLRLLLRRRLLRRRRRRLLRLRLRLLRLLLRLRLRRLRRLLRLRRLLRRRRLLLRLRLLLRLLLLLRLLRLRLLLLLLLLLRRRLRRLLLRRLRLRLLLLLLRLRRLRLRRRRRRLLLLLLLRLLLRRRRLRLLRRLLLRLRRRRRLRRLRLRLLRLLLRLRLRLLLLLLLLRLLLLRLRRLRLRLLLLRLLRRLRRRLRRLRRRRRLLRRLRLLRRRLLLRLLLLLLRRLLRLRRRRRLLRLRLLLLLRRLRRLRRLLLLRRLRLRLLRLRRRLRLRRRLRRLLLLRLRLLRLRLRRLLLRLRRLRLRLLLLLLLLLRRRLLLRLLLRLLRRRLLLLRLLRLRLLRRLLRLRLRLLRRLRRRLRLRRRRRRRLRLLRRLRLRLLRRRLRRRRLRLRLRRRLLLLLLRLRLRLLLLRRLLLRLRRLRRLLRLLLLLRLLRLRRLRRLRLRRRRLLRLLLLLRRLLRRRLLRLLLLLLLRRRLRLRLLLRLRRLRRLLLLLRLRLRLRRLRLLLLLRLLRLLLLLLLLRRRRLRRLLRLRLLLLLRRRLRLRRRRRRLRRRRLLRLLRRLRRLLRRLLLLRRLLLRLRLLLRLLRRRRRRRRRRRLLRRLRRLLLRRLRLRLRLRRLLRRLLRRLRRRRLRRLLLRLRRRLRRLLLRRRRRLLRRLRLRLRRRLRRLLLLRRRLLRRRLLRRRLLRRRLRLRLRLLLLLRRLLLLRLRLLLLLRRLLLLLRLLLLRLRRLRRRLRLRLLLLLLLLRRLLLRRLRRLLRRRRRRRRRRLLRRRRRRRLRRLRRRRRLLLRRRLRRLRRRRRLLRRLRRRRLLLRLRRLRLLRLRRRRRRRLRRLLRLLRLLRRLLRLLLLLRLLLLRRLRRRRRLLRLRRLRRRLLLLRRLRRRRRLLLLLLRRRLRRLRRRLRRRRRRLLLRLRRRRRLRLLLRRLLLRLRLRLLLRRRRRLLRRRLRLRRRLRLLLLLRLRRLRLLRRLLRLRRRRRLLRLRLRRRLLLRLRRRRLLLLRRRLLRRLRLRLLRLLRLRRLLRRRLLLRRRRRRLLRLRLLLLRRLRRLLRLLRLLLRLLRLRRLLRRRRLLRRRLRLLLRLRLLLRLLRLRRLLRLLLLRRLLRLRLRLRLRRRRLRRLLRLLLLRRRLRRLLLLLLRRRRLRLRLRLLLLRRLLRRRRLRLRLRLRRRLRRLRLLRRRLLLLRRLLLLLLLRLRRRLLRRRRRLLLLRLLRLRRLLLRRRLRRLRLLLRLLRRLRLLRRRRLRLLRRLLLRRLLLRLRLLLLLLRLRLRRRLRLLLLRRLRRLLRRRRLRRRLRRLRRLLLRLRRLRRLLLRRRRLRRLLRLRLRLLRRLLRRRRRRLRLLLLRLLRLLRRLRRRLRRLLLLRRLRLLRRLRLRLLRRLRRRLLRRLRLRLLRRLRRRRLRLRLRLRLRLLRRRRLRLLLRLLRLRLLLRLRRRRLRLRLLRRRLLRRRLRLRLLRRRRLRRRLRLLLRRLRRLLRLRLLRLLRLLRRRLRRRLLLLLLLLRRRLRLRLLLLRLLRLRRLRLRLLLLRLLRLLRRRRLLLRRLLRRRLLRRLRRLRRLLLRRLRRRLLLLLRRRRRLLRRRRRLRLLLLLLRLLLLLRLLRRLLLRRLLLRRRRRLLLLRRLLLLLRRLRLRLRRRRRRRLLLLRRRLLRLLLLRRRLLLRRRLLRRLRRRLRRLRRRRRLRLRRLRLRLLLRRRRRLRRLLRLRLRRRRRLRRRRLLRRRRRLRLRLLLLLLRRLLRLLRRLRRLLRLRLRLRRLRRRRRLLLLLRLLLLLRLLLLLRRRRLLLLLLRLRLLRRRRRRLLLRRRLLLRRLRLRRLRRRRRRLRLRLRRRLRRRRLLRRLRLRLRLLLLRRLRRRRLLRRLRLRLLRLLLRLLRLLLLLRLLLRRLLLRLLLRLRRRLLRRLLLLRRLRRRRRLRLLRRRRLRLRRLLLRLLLRLLLRRRLRRRLLLLRRRRLRLLLRLLLRRLLLLLRRLRRRRRRRRLLLRLLRRLRRRRRLLRRRRLRRLLRLLRLRLLRLRLLRRLLRLLLRLRLLRLLRLRLLLRLRRLRLRRRRLRRRRLLRRLRLRRRRRLRLRRLRLRLRLLRRRLRLLRRRRRLLLLRRRRLRLRLRLLRRRLRRRRRRRRRRRRLRLRLRLLRRRLLLRRRLLRRRLLRLLRLRLLLRRRLLRRLLLLRRLLLRRLRRLRRRRLRLLRRLLLLRRLRLRRLLRLLLLLRLLLLRRLRLRRLLRLLLLLLLLLRRLLLRRRRLRRRRLRRLLLLLLLRRRRLRRLLRRRLLLRRLRRLRLLRRRLLRRRLRLLRRRRRRLLRRRRLLLLRLLRRRRRLRLRRRRLLRRLLLRLLLRRLLLLRLRRLLRLRRRLLRRRRLRLRLRLLLRRLLLLRRRRLLRLRRRRRRRRLLRRRRLLLLRRLLRRRLRLLLRRLRLRLLLRRRLRLRRLRLLRLLLRRLRRLRLLRLRLRRRLLLLLLRLRLLLRRRRLLRRRRLRLRRLLLLRLRRLRLLRLRRRLLRLRRRRRLRLRLRRLLRRRRLRRRLLRLRLLLLLRLRRRLLRRRRLRLRRLLRRLRRRLLRLLRRRLRLRRLLRLLLRRLRLRRLLRLLLLRLRRRRLRRLLLRRRRRRLLLRLLRRRLRLLLLLRRLLLLRRLRRLLRRLLRRRRRLRRRRRRLLRRLRRRRRLRLRLRLRLRRLLLLLLLRLRLLRLLLRRRRRLLRLRRRLRLLRLLRRRLRLRRRRLLLLLRRLRLRLRRLLRLRLLRRLLLLLLLLRRRRRLRLRRRLRLRRRRRLLRRLLRRLRLLRLRLLLRRLLRLRLRRLRLRRLRRRRLRRRLLLLRLRRLRRRLRRRRLRRLLRLLLRLRLRRLRLRRRLLLRRRLLLLRRLLLRRLRLLLLRRRLRLRRRLRRRRRRRLRRLLLLRRRRLLRLLLRRLLRRRRLLLLRLLLLRRRRLRRRLLLRRRLLLLLLRLLLRLLRLRRRLRLLLRLRLLRLLLLRRLRRRLRRLLRLRRRRLRRLLRRLLRRRRRLLLRLLLRRLRRLRRLLLLRLRLLLLRLLRLLLRRRRRRLRRLRLLRLRRRRRLRLRRRLLLRLLRLRLRLLLLRLRRLLRRRLLRRLLLLLLRLLLRRLLLRRRLRRLRLRLLLRRLLLRLRRRRRLLRRLLRRRRLLLRRRRLLLLRRRLLRRLLLRLRRLRLRLRLRRLLRLRLLLRLLRLLRLRRLLRRRLRLLRLRRLLLRLRRLRRRRLLRRLRLRRRLRLRRLRLRLRRLLRRRLLRLRRLRLLLLLRRRRRLLLLLLLLLRRRRLLRRRLLRRLRLRLLLRLRLRRLLLLRLRLRRRLLRLLRRLRRLLRLLLLLLLRLLLRLLLRLRLLLLRLRRLLLRLLRRRRRRLLRRLRLLLRLLRRRRLRRLRLRRRLLLLLRRLRRLLRRLLRRLLRLLLRLLLRRRRRLLRLLLLLLRLRRRRRLRRRLRRRLRLRLRRRRRLRLLLRRLLRRRRRLLLLRRLRRRRRLRRLLRRRLLRLLLLRLRLLRLLLRRRRRRRRLLLRLRLRRRLRRLRRLLRRLRLRRRLLRLRLLRRRRLLLRRRLLLRRLLRLRLLRRRRRLLLRRLRLRLRLRRLLRLRLRRLRLRLRRLLLLLLRLRRRLRRRRRLLLRLLRLRRLLRLRRRRLRRRRLLRRLRLRRLLLLLRLRLRLRLRRLRLLRLLLRRLRRLLLRLLLRRLLLRRLLRLRRLRLLLRLLLLRLLRRRLRLLRLLRRRLRLRLRRLRRRLLLRRRRLLRRRRLLRRRLRLRRLRLLLLLLLRRRRLRLRRRLLRRLLLRRLRLLRLLRRRLRRRLRLLLRRLLLRLRRLLRRRLRLLRRRLRRLLRLRRRLRLLRLLLRLLRRLRRLLLRRLRRRRLRLLRLLRLLLLLRLLRRRRRRLRRLLLLLLLLRLLLLLRLLLLLLLLRLRRRRLRRLRLLLRLLLLRLRLRRLRLLRRLLRRLLRLRRRLRRLRRLRRLLRLLRRRLLRLRRRRLLRLRLLRRLLLLRLLLLLLLRLRLRRLRLLLLRLRRLLLLRLLRLRRRRRLLRRLRLLRLRRLLLRLRRLRRLRLLRRLLLRRRRLLRRRRRLLLLLLRRLLLRRLRRLLLRLLRRLRRRLRRRRRLLRRLRLLLLLLRLLRLLLRRLRLLRLRRLLLLLLRLLRRRLRRRRLRLLRRRRRRLRLRRLLRLLRRLLRRLLRRRRRLLLLLRRLRRLLRRLRLLRLRLRRRLRLLRLLLRLRLRLLLLRLLRRLLLRLRLLRLRRRRRRLLLLLLRLRLRRRLRRLRRRLLRLRLRLLRRRLRRLLLRLLLLLLLLLRRRLLRLRRRRRRLRLLRLLRLLRLRLLRRRRRRLLLLRLRRRRLLLLRLLLLLLRRRLRLRLRLLRRLRLRRRRLRLLRRRRRLLLLLLLLLLRLRLRLLLLLLLRLLRRLLRLRRLRRRRLLLRRLRLLLLRLRRLRLLRLLRLLLRRRLLRRRLRLLRRRRRLRLLLRRRRLRRLRRRRLRRLLLLLRRRRRRRRLRRRLRLRRLLLRRRRLLLLLLRLRRRLLLLRLRRRLLRRLLLRRLRRLRRLLRLLLLLLLRRRLLRLLRLRRRLRLLRRRLRRRRRLLRLLRRRRLLRRRRRRLRRLLLRRRLLRLLLLLRLRLRLRLLRLRLLRRRRRRRRRRLLRRRLLRLLRLRRLRRLRLLRLLRLLLRLRLLLRRRLLRLLRRRLRLRLLRLRLRRRLLRRLLLRRLLLLLLLRLLRLRRLRLRLRRRRLRRLLRRRLLRLRRRLRRLRRRRRLRRRLLRLLRRRLRRRRLRRRLRLRLLRRLRRLLLLLLRLLRLRLRRRLRLLRRRRRRRRRLRLRRRRRLLLLLRLLLLRRRLRLLRRRLRRRLRRLLRLRRLRLLLRLLLRRLRLLRRRLRLRRRRRLLLRRRLRLRRRLLRRRRLLRLLLLRRRLRLLRRLLLRRRLLLLLRLRRRLLLLRLRLLRRLLLRLLLLRRRRLRLRRLLRLRLLLLRLRRLLRRLRLRRLRLRLRLLRLRLRRLLRLRLLLLLRRLRRRRLLLLLRRLLRRRRRLRRRLRRRRRRRLLRRRLRLRLRLRRLRLRLRRLLRRRLLRLLRLRLRRRLLRRLLLRLRRLLLRRRRRRRLRLLRLLRRRRRLLRRLLRLRLLRLRLLRRRLRLRRRRRLRRLLLLRRLRLLRRRLRRRLRLLRRLLRLRLLLRLRRRLRLLLRRLLLLRRLRLRRLRLRRLRLLRLRRLLRRLRRLLRRLRLLRRLLRRRLLRLRLRLLLLRRLRLRLRLRRRRLLLRRRRRLLRRLRLRRRRLLRRLLLLRLRRLRRLRRLLRLRLRLRLLLRRRRLRRLLRLRRLRLLRRLRLRLRLLLLLRRLRLRLRLRLLRRLLLRRRLLLLLLRLLLRRLRRLRRRLRLLRRLLRRLRRRRRRRLLRLLLRLRLLLLLRLLLLRRRLLLLRRLLRRLLRRRRLLLRLRRLRLRLRRLLLLLRRRLRLRLRLRLLRLLRLRLRRLRRRRRLRRLRRRRLLLRLRRRRLLRRLLLRLRLRLLRRRLLLRLLLLRRLRRLLRRRLLRRRRLRRRLRLRRRLRLLRRLLRLRLLLLRRLLRLLLRRLLLRLLLLLRRRRRRRLRRRRLLRLRRLRLRRLRLLLRRLRLRRRRRRLRLLLLLRRLLRRLRRLRRLRLLRLLRLRLLLRRLLLRLRRRLLRRRRRLRLLRLLRRRLRRLLRLRRRLRLLLRLRRLRLRRLLRLLRRRLRRLRLLRRLRRLRLLRRLLLLRLLRLLLLRRRRLRLRRRLLLLRRRLRLRLLRLLRLLLRRLRLRLRLRLLRRLLLLLRRRRRLLLLLRLRLRLRLLLRRLLLRRLLLRLRLLLRLLLLLLRLRLRLLLLRRLRRRRLRRLRRLRLLRRRLLLRRLLLLLLLRRLLLRRLRLRRLRRLRLRRLRLRLLLLLRLLLLRRLRLRRRLLLLRRRLLLLLRLLRRRRRLLRLRLRLRLLLRRRRRRLLRRLRLLLLRRRRRLRRLRRLRRLLLRLRRRLRRLRRLRLLLRLRLRLLRLRLRLRLLLLRLRRRLRRLLRLRRLLRLRLLRRRRLLRRRRRLRRLRRLLLLRRRLLLLRRRRLRLRLLRRRRLRLLLLRRRLRLLRRRRRRLLRRLRLLLLLRLRRRRLLLLRRRLRLLLLRLLLRLLLLRLLLLLLRRRLRLLLRLLLLRLRLRRRLRLRLRRLLLLLRLRLRRLRLRRLRLRLLRLRLRRLRLLRRLLLRRLRRLLLRRRLLLRLRLRRRRRRRRRRRLLLLRRRLLLRRLLLRLRRLRRLLRRLRLLLLLLLRLLRLLRLLLLLLLLLLRRLLRRRLLLLRRLRLLLLLLRRLLLRRLLRRLLLRLRRLLLLRLLLRLRLRLRLLRRLLRLLLLRLRRRRRRLRLLRRRRRRRRLLRRRRRRLRRRRLRLRRLLLRRRRLRRRLLRLRRRRLRRLLLLRRLRRRRLRRLRRLRLLRLRRRRRRLLLRRRLRLLRLLLLLLRLLLRRLRLRLRRRRRRLLRLRRLRRLRRLRLLRLRLRRRRRLLRLRLRRRLRLLLLRRLLLLRRRRLLLLLRRRLLRRLLLLRRRLRLRLRRRLRLLRLLLLRRRRLRLRRLLLRLLLLRLLRRRLRLLRLRLRRLRRRLRLRLRLLRRRRRRRLLRLLRLLLRRLRLLLRRRLRRRLLLLRRRLLRRLLLRRLRLRRRRLLLRRLLRRLRRRLLLRRRRLRLRRLRRLLRRLRLRLLLLRRLRRLLLRLLLRRRLRRLRRLLRLLLLRLRRRLLRLLLRRRLLRRRLRRRLRLLLLRRRRLLLRRLLRRRLRLLLRLLLRLRLLRLLLLRRRLLRRLLLLLRLRRRLLLLLRLLLLRRLLRRRRLRLRLLRRRRRLRRLRRLLRLLRLLRRLLRRLRRRLLRRRLRRRLLLLLRRRRLRRLLRRRRLLRRLRRRRRLRRLLRLRLRLLLRLRLRLRRLLRRLLLLRLLRLLRLRLRRRRLRRRLRLLRRRRLRLLRLRLLLRLLRLRLRLLRLLRRRRLLRRLLRRLRLLLRLLRRRLRRRLRLLRLLLLRLRLLRRLLLLRLRRRLLRLRRLRLLRRLLRRRRLLRRRLRRLRLRRLLRRLLLLRRRLLLLRLRRLRRRRRRRRRLLRRRRRLLLRRRLRLLLLLLRLLRLLRRLLLLLRLRRRLRRLLLRLLRLRLLLRLLLLRLLRLLLRLRRRLLLLLLLRRLLLLRLRRLLRLLLRLRRRRLRRLRLRLLRLRRLRLRLLLRLLLRRLRRLRRLLLRLLRRRLRRLLRRRRRRLLLRLRLRRLRRRRLLRLRRRRRRRLRRLRRLLRRLRLLLRLLLLLRRLLLLRRLRLRRRLLLRRLLLRRRRRLLLLLLLRRLLRLRLRLRLLLLLLRLRRLRLLRLLRRLLRRRLRLRRLRRLRLLRRLRRLRLRRRRLRRRLLRLRLLLLLLRRRRLRLRRRRLRLRRRLRRLLRLLRRRLRLLRLLRRLLLLLRRRRLRLRLLRLRLRRRRRRLLLRLRLLLRRLRLLLLRRLLLLRLRRLLRLRLLLLLLLLLRRRRLLLRRRRRRRRLRRLLRLRRLRRRLLRLLLLRLLRLRLLLLLRRRLRRRRRLRLLLRRRRLRLLLRLLRLRLLRLLLLRLLLRRLLRRLLRLLRRLLRLRLRLRRRLLRRRLRLRLRRRLRRRLRLRLRLRLLLRRRLRLLLLRRRRLLRLLLLRLRLRRRRRRRLRRRLLLRLLRLRRLLRRRRLRRLRLRRRLLLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRLRRLRRRLLLLRRLRRRLRRLLRLRLLRRRRRRRRLLRLRLLLLRLLRLRLRRLLRLRRLLRRRRLLLLRLRRLLRLRLLLLLLLRRRLRRLLRLLLLLLRRRRRLRLRRRLLLRLLRRLRRLRRRLLLRLLRRRLRRRRLRLLRRRLRRLLRLRRRRRRRLRLRLRLLLLRRLLRRRRLRRLLLLRRRRLRLLRLLLLRLRRLLLRRRLLLRRLRRRLLLRRRLRRLLLLLRLLRRRLLRRLLRLLRRLRLLLRLLRLRLLRLLRRLLLLRRRRLRRLRLRLRRLRRLRLRLRLRLLLRLLRRLLLLRLLLRLRLLRLLLLRLLLLRRRRLRRRLRRLRRRLLLRLLLLRRRLRRLLRRRRLRLRLLLLRRRRLRRLRRRLRRRRRRLLRLRLLLLRRLRRRRLRRRLRLRRRRLRLLLLRRLLLRLRRRRLLRLRRRRRRLRRLRRLLLLRRLRLLLRRLLRRRLLLRRLLLRLLRRLLRLLRRLLRRLLLRRRLLLRRLLLLRRLLLLLRRLRLLRLLRRRRRLRLLRLRRLLRRRRRLRLLRLRRLLRLLRLRRRRRRLLLLRLLLLLLLLRRRLRRRLRRRRRLLRLRLLRRRRLRLLLLRRLLLLRLRRRRRLLRRRRRRRRRRRLLLRRRRRLRRLRRRLRRLLRRLLLLLRRLRLLRLLRRLLRLLRRLLRLLRRRLRLRLRRRLRRLLRLRRLRLRRRRRRLRLLRLLRRRRLLRLRLRRLRLLLRLRRRRLLLRRRRRRRRRLRLRRRRRRLLLLRLRLRRLRRLRLRLLLRRLLRRRRRRLLLRLLRLRRRRLLRLLLRRRLRLRRLLRLRLRLRLLLRLRRRRRLLLRRRLLRLLRLRLLRRRRLLLLLRRRLRRLRRRLRRRRLLLRRLRRLLLLRRLRRRRRLRRLRLLRRRRLLLLRLRRLRRRRRLRLLLLRLRLRRRRRRRLLRRLLLRRRLLLRRLRRRRRRLRLLLLLRLRRRRRLLLRLRRLRLLRLLLRRRLLLRLRRRRLRLRLLRLLLLLRLLLLLLLLLLLRLLLLLRLLLRRRLLLLRRLRLRRLLLLLLLLLLLLLRLRRLLRRRLRRLRLRRLRRRLLRLLLRLLLRLRRLLRRLRRLRLLLLLLRRRLLLLRRRLRRLLLRLLLRLLRLRRLLLLRLLLRRLRRRRLLLLLRLRRRRLRRLLRLRRRLLRRLLRLLRRRLLRLRRRLRLLRLRLRLRLRRLRRRRLRRLRRLRRRLRRLLLRLLLLLRRLRLLRLLLRLLLLRLRLRRRLLRLLRRRRLLLRRRLRRLLLRRRRRRLRLRRLRLLLLLRRRLLRRLLRLLLLLLLLRRRRRLRLLRLLRLLLLLRRRRLLRLLLRRRRRLRLRLLLRLLRLRLLLRLLRRLLRLLRLLLRRRLRLLRLLRLLRLLLRLLLRLRLRRRRLLRRRRLRLRLRLLLRLRRRRRRRLLRRLLLLLRLRLLLLLRRLRLRLLLRRRLRLLLRRRRRLLLRRLRRLRLRLLRRLRLLRLLRLLRRLRLLLLLRLLLRLRRRLLLRLRLRLLRRRRRRRRLLRRRLRLRRLLRRRRLRLRLRLRLRRRRRLRLLRLRRLLRRLRLRLRRRLLLLRLLRRLLRRLLLRRLRRLRRLRLLRRRRRLRRRLRRLLLRLLLLRLRLRLLRLLLRRRLRRLLLRRRRLLRLRRRRRLRLRLLRLLRLLLRRRRLRLRRLLRRLLLLLLRRLRRRRRLRRLRRLLRLRLRLRLRRRLLRLRLRLRRRLRRLRLRLLLLRRLLLLLRLLRRLLRLRLLRRLRRRRRRRLRLLRLLRRRLLLLLLRLRLLRRLRRRLRRLRRLLRRLRLRLLLRLRLLLRLLLRLLLRLRLRLRLRRRLLRLRRLLRLLRRRLLRRRLRRLLRLLLRRLRLLLRLLLLRLLLLLRRRRLRRLLLRRRLRRLRLRRRLRLRRLRLLLRRRRLLRRLLLRLLRRLLRRLLLLLRLLLLRRLRRLRRLLLRRLLRRRRLRRRLLRLLLLRLLLLLRLLLLRLRLRRRLLRRRLRLLLRRRLLLRLLLLLRRLRLLRRLRRRLLRLLRRRRRRLLRLRRRLLLLRRLRRLLLRRRLRRRRLRLLRLLLLRLLLLRRRRRRRLRLRLRRRLRLRLRRLRLRLRRRRLLRLRLLLLRRLLLRRLLRLRRLRRLRRRLLRLRLLRRLRLLRRRLRRRLLLRLRLLRLRRLRLLRLLRLLRLRRLLLLLRLRLLRLRRLLLRRLRRLLRRLRRLRLRLRLLRRLLLRRRRRLLRLRRRLRLLLRRLLLRRRRLLRRLRLLLLLRLRLRLRLRRLLLLLRLRLRLLLLLLLLLRRLRRLRLLRRRLRLRLRRRRRRLLRRLLLRRRLLLRRRRLRRRLLRRRLLRRLRRLLLLLLLLLRLRRLLRRRRRRLLLLRLLLRLLLLRLLLLRLRLRRRRLRRRLLRRLLLRRLLRRLRLLRLRLLRRLRRRLLRRRRRLLRLLLLRLLRRRRLRLRLRLLLRLLRLLRLRLRRRLRRRRLRRLRRRRLLRRLRRRLRLRLRLRRRLRLRLRLLLLRRRLRLRLRRRRLLLLLLLLLLLLRLLRLRLLLLRRRLRLRLLLLLLRRRRLRLRLLRLLLRRLLLRLLLRLLLLLLLLLLRLRRLRRLRRRLLLLRLRRLRLLRRLLLRLRLLLRLLRRRLRRLRLRLRRRLRLLRLRLRRLLRRRRLLRLLLRRLRRRLRRLRRRRLLRLRLLLRRRLLRRRRLRRRLRRRLLLRLLLLRLLRRRRRLRLLLRRLLRLRLRLRRLLRLLRLLRLLRRRLLLRRLRLRRRLLRLLRRLRLRRLRRRLLLRRLRLLLRRRLLRRRLLRRLRRLLRLRLLRRLRLLLLLRRLRRLRLRLRLRLRRRRRLLLLRLLRLLLLRLLLLRLLLLRLRRLLLRRLLRLLRRRRLLRLRRRLLLRLRLLLRRRLRRRLLRRRLRRRLLLRRLRRRRLRRLLRRRRLRLLLRLRRLRLRLLLLLRLRLRRLRRRRLLLRRLRLLLLLRLRLRLRRLLLLLLLLLRRRRRRLRLRLRLLRLRRLLRRLRLLRLLLRLRLLRLRRLLRLLRLLRRLLLRRLLLRRLRLLRRRLRRLLLLRLLRRLLLLLRLRLRLRLLLLLLRRRRRLLLLRLLLRLRRLLRRRLRLRLRLLRLLLLRLLRLLLRLRRRLRRRLRRLRRRLRRRRRRRLLRRLLLLRLRRLRLRLRLRRLLRLRLRLLLLRLRRRRRLLRLRLRLLLRRRLRRLLRLRRRRRRLLLRLRRRLLLLLLRRLLLLRLRLRRLRLRLRRLRRLRRRLLRLRRRRLRLLRLLLRRLLLRRLRLRLRRLLLRRLRRLLLLLRRLRLRLRRLLLLLRLRRRRLRRLRLLLRRRLLRLLRRRLLLRLRRRRRLRLLLRLLLLLRRLLRLLRRLRLRLRRLRLLLRRRRRRRRLLRLRLLRRRLRLLRRLRLLLRRRRRLRLRLLLRRRRRLLLLLLLRRRLRRRLLRRLLRRLLLLLLLRRRLLRRRLLRRLLLLRLRRLRLLRLRRRLRRLRRRLRLRRLLRLLLRRLLRLLRLRLLLLLLLLRLRRRLRLLLLRRRLLLRRLRLRLLRRLLLLRRLRRRRLLLLRRLLRLLLLLLLLRRRLRRRLLLLLLRLLRLLRRRLRRLLRLRRLRLRLRRLLLLLLRLLRRRLRLRRLLLLLLLLRLRRLRRLLRRLRRLRLLRLLLLRRLRLRLLLRLLRRLLRRLLRRLLRLRRLRLLRLRRLRLRRRRLLRLLRLLLLRLRRRRRLLLLLRRRRRRLRRLLRLRRLRRRLLLRLLRRRRLRLLRLRRRRLRLLLLLRRLRRRRRLLRRRRRLRLRLLRRRLRRRLRLLRRRLRRLRRRLRRRRLLLLLRLRLLRRRRRRRLRLRLLRLRLLLRRRLRLLRLLRLLLRRLRRRRRRRLRRRLLLLLRRRRRRLLRRRRRLLRRRRLRLLLRLRLRLLLRLRLLRLRLRRRLLLLRRRRLLRLLRLLRLRLRLLLRRRRLLRLRLLLLRLRLLRLLLRRRLRLRLRLLLRRRRLLLRLLRLRLLLLLLRLRLLLLLRRRRLRRRLLLRRLLLRLRRLLLRLRLLLRLLRLRLLLRRLLRLLRRRRRRRRRLRRRRRRLLLLRRRRLRRRRRLRLRRLLLLLLRRLRRLRLLLRLRRRRRRRRRRRLLRLRLLRLRRLRLLLLRLRRRLLLRRRLRLLLRRRLRLLRLRRRLRRRRLLLLLLRLRLRRRLRRRLRLRLLRRLLLRRLRLLRRLLRRRLLRLRLLLLRLLLLRRLRLRLLRLLLLRRRLLRRRLLRLRRRRRLRLRRLRLLLRRLLRRRRRRLLRLLRLRLRLLLRRLRRLLLLRRRRLLRRRLLRLRLLRRRRLLRLLLLRRRRLRRLRRRLLLRRLLRLLRLLLRRLRRRRRLLRRRLLRLRLRRRRLLLLLLRLLRLRRRLRLRRRRLLLLLLRLRLRRLLRRRLLLRLLLRLLRLRRRLRRLRLRRLRLLLLRRRRRRRRLRLRRRRRRLLRLLRLRRLRLLRRRRLRRRRRLRRLRRLRLLLRRRRRLRLLRRLRLRLRLLRLLLRRLRLRRRLLLRLRLRLLLRLRLRLRLRRRLLRLLLLLLLLLLLLRLRRLLLRLRLRLLRRRRRRRLLLRRRLLLLRRRLLRRRRLLRRLRLLRLLLLLRLRLLLRLLLRRRLRRRLRRLLRRLLRRLLRLLRRRRRRLRLLLLLLRRRRLRRLRLLRLRRRLLLLLLRLRRRRLRRRLRRRRLRLRRRLLLLLLRRRLRRLRRRLLRLLLRLLLRLRRRRLLLLLLRLLRRLLRRRRRRRRRLRLRLLRLLLLLRRLRRLRRRLRLRLLRRLLLLLLRLLRRRRRLRLRRLLRRRRLLLLRRRLRLLRLLRRLRRLRRLRRRLLRLRRRRRLLRLRLRLLLRRRLLLRLLRLRRRLRLLRLLRLLRRLLLRRLRRLRLLLLRRLRRLRRRLLLLLLRRLLLRLLLLLRLRLRLLLLRRLRLLLLRRLRRRRRLLLLLLLRLLLLRLRRLRRRRLRLLRRLRRRRLLLRRLLLRLLLLRRRRRRLLRRRRRLRLLRRRLRRRRLLRRLRRLLLRLRLRLLRLRLLLLRLRLRRRRLLRLLLLLLLLLLRRRRLRLRLRLRLRLRLRLRRLRLLLRRLLLLLRLLLLRLLLLLRLRLLRLLRLLRRRRLRRRLLRLRLRRRLLLRLLLLLLLRLRLLRLRLRLRLRRLLRRRLLRLLRRRRRRRLRLLRRLLRLLLLRLRRRLLRLLLRLLLLRRLRRLRLRRLLRRLRRRLLRRRLLRLRRLLRLLRLLRRLRRRLRLLLLLLLLLLRLLRRLRLLLLLRLRLLRRLRLRRRLRLRLRRRRLRRRRLRLRLRLRLLRRLRRLRLRRLLRLRLRLRRRRLLRLRLRLLLRRRLLLRLLLRLRRRLLLRLLRRRRLLLRLRRLRRRRLLLLRRRRLRLRLRRRLLRRRLLLRRRLRRRLRLLRRLRLLRRRRLLRRLLRLRRRLRRLRLLRLRLRLRRLRLRLLRRLRLRRLRRRLRLRLLRLLLRRLRLLLLRLLRLLRRRRRRLLRRLRLRRLLRLRLLLRLLRLLLRLLLLRRRRLRLRLLLLRLLLLRLRRRRRRRLLRRRLRLRRLRRLLRLLRRRLRRLLLRRRRLRRRLRRLRRLRLRLLRRRRRLRRLRRLLLRLRLRLRLLLRRRRLLRRLRLLLRLRRRLLRRRRRLRRRLLRLRLLRLRLRRLLRRRLRRRRRRLRLRRLLLRLRLRRLRRRLLRLRLRRLRLRLLLLLLRRRRLLLLLRLLLLRLLLLRLLLRRRRLRRLLLLRRLRRLRLRLLLLRLLRRLRLLRLRLLLRRRRLLRLLRLLRRRRRLRRLLLRRRLLLLLRRRLLLRRLRRLLRLLLLLRLRLRRRRRRLRRRLLRLLRRRLLRRLRRLLRLLLRRRLRRRRLLRRRRLRLRRLRRRLLRRRRRLRLLRRLLRLLLRRRRLRLRLRLRLLLRRLRRRLLRLRRLLLLLRLLRLLLRRLLLRLLLLLLLLLRRRLLLLRRRLRRRRRRRRRLLRLRRRRLRRRLLLLLRLLLLRLRLRLRRLLRRLRRRRRRLRRLLRLRRRLRRLRLRRLLLRLLLLLLRRRLRLRRLRRRLRRLRRRLLLLRLLLLLLRLRRRLLLLRRLRRLLRLLLRRRLRRLRRLRRLLRRRRRLLLRRLLLLRLRRRLRRLLRLRLLRLRLLRRLRLRLRRLRLRLLLRLRLLLRRLLRLLRRLRRLRLRRLLRLRRLRLLRRRLLLLLRLRLRLLRLRRLRRLLLRRRRRRRLRRLRLLLRLRLRRLLLLRRRLLLLLRRRRRRRLRLRLRRRLLRRRRLRRRLRRRLRLLRRLRRLRLRLRRRLRLLLLLLLLLLLLRLLRLLLLLLRLRRRLRRLRLRRRLRLRRRLRLLRLRLLRLRLRRRRRLLRLRLRRLRRLRRLRRLLLLLRRRLRRRLLLLRRLRLLLRLRRLLLRRLLRRLLRLLRRRLRLLRRLLLLLRRRRLRLRLLLRLLLLLRLRRRLRRRLRRLRLRLRLRRLRLRRRRLRLRRRRLLRLRRRRRLLRLRLRLLLLLLRLLLRLRRLLLLRRLLLLLRLRLLRLLRLRRRLLRLRLRLRRLRRLLLRRLLRLRRLRRLRLRLLRRRRLLLLLRRRRLLRRLRLRLLRLRRRRLLLRLRLLLRRRRRRLRLLLRLRRRLRRRRRLRLRRRRRLLLLRLRLRRLRRRLLLLRRLLRLRLLRLLRRLLLLRRLRRRLRLLLLLRLRLLLLLLLLRRLRRLRRRRRLLRLLRRLLLLLRRLRRRLRRLLRLRRLLRLRRRRLLRRLRLRRLLLRRRLLRRRRRLLRRLLRRRRRLRLLRRRRRRLRRRLRLRLRLRRLLRLLRLRRLLLLLLLRRLLRLRLLRLLLRRLLRLLRRLRLLRLLLLRRRRLLLLLLLRRLRLLLLRLLRLLRLRRLLLRRLLLLLLLLRRLLRRLLRRLRLLLRLRRRRRLRRRRRRRLLRLRRRLLLRRLRRLRLLRLLRLLRLRRLRLRLRLLRRRLLLRLLRLLRRLRRRRLRRLLLLLLRRLRLLLLLLRRRRLLRRLRLRLLLRRRRRRRRRLLLLRLLLLRRLLRLRRLLRLLLRLRLLRLRRRRLLLLRRRRLRRLLLLLLLLLLRRLRRRLLRLRRRLRRRLLLLRLRLLLLRLLRRLRLLLLLRLLRRRRLRRLLRRLLRRRRRLLRLRLRRLLRLLRRLRLRLRRRRLRLLLRRLRRLRLRLLRLLLRLLRRRRLRLRRLLRLRLLLRRRLLRRLLRLRLRLRLRLRRLLRRRLRLRRRRRLRRRRRLRRLRLRLLLLRRRRLRRRRLRRLLLRRLRLLRRRLLRRLLLLRLRLLRLLLLLLLLLLRRRLLRLRRLLRLRLRLRRLRLRRRLRLRRRRRLRLRRLLRRLLLLRRLLRLLLLLRLLLLLLLRRRRRLRLRLRRLLRLLRRRLLRRRLRRRLRLLLRRLLLRLLLLLLLRRRRLRRLRRLRRLRLRRRLRRLLLLRRRLLRRRRRLRRRLRLRLLRRLLRLRRLRLLRLRLRRLLRRLRLLRLRRRLRLLRLRRLLRRLRRLRRLRLRLLLRLLLRRRRLRRRRLLRRRRLRLRLRRLLLRLLLRRLLLLRLRRRLLRRLLRRRRLRRLRRRLRRRRLRRRLLRLRRRRRLRLLLRRRLRRRRLRRLLRRRRLLLLRRRLLLLLRLRRLLLLRRRRRRLRLLLLRRLLRLLRRLRLLRLRRRRRRLRRLLRLLLRRRRRRLRRLLRLLLLRLLLLRRRRRRLRLLRLLRLRRLRLLLLLLRLLRRLLLRRRRRRRRLRRRRRRRRRRRLLLLRRRLLRRLLRRRLLLLLRLRRRRRLLRLRRLLRRRRRLRRRRRLLLLLLLRRLLRRLLRRLLLLLRLRLRRLLLLRLRRRLLLRRLLRLLRLLRRLLRLLLLLLRLLLLRLRLLLRLLRRLRRRLLRLRLLRRRLRLRLRRRLLRRRRRRRRLRLLLLRRLRRRLLRLRLLRLRRRRRLRRRLLRLLRRLRLRLRLLRLRLLLRLLLRRLLRRLLRRRLRRRRRRRLLRRLLLRLRLRRLRLRLRRRLRRRLLLRRRRRLRLRRRRLRRRLRRLRLRRLRLLRRRLRLLRRLLRRLRRLLLRLRLRRRLLLRLLLLRLRLRLLLRRRRRLRRRLLLRRRLRLRRRRRRLLLLRRRLRLRRLLRLLRLLRRLLLLLRRLRLRRLRRRLLLLRLLLRRLLLLLRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLLLLRLRLRRRRRLRLLLRRLRLLRRRRRLLLLLLLRRRRLRRRLLRRLRRRLLRLLRLLRRLLLLRRRRLRRLRRLRLRRLRRRRLLLRRLRRRRRRRLLLLLLRRLRLRRRRRLRRLLRLLLLLRRRRLRLRLLRLRLLLLRRLLRRLLRLLRLRRLLLRRLRLRLRRRRLRRRLLLLLLLRRLRLLLLRRLRRRRRRRRRLRRRRLLRRLLLRLLLLRRLRLLLLRLRRRRLLLLLRLRLRRRRLRLRLRRRLRRLRLRLRRRLRLRRRLLLRLRLLLLRLRRRLLRLRLLLRLRRRRRRLLLRRRLRRRLLRRRRLRRRLRLRRLLLRRLLLRLLRLRLRRLLRRRRRLLRLLRLLLRLRLRLRLLLLRLRRLRLLLLRRLRLLLRRRRLRRRRLLRRRRLLLLRRLRRRLLRLRRRRLLRRRRRLRLLRRLRLRRLLLRLLRRLRRRLLRRLRRRLLRRLLLRRRLLRRLLRRRLLRLRRLLRRRLRRLLLLRRRLLLRRRLLRRLLRLLLLLRRRRLLRLRLRRRRRLLRRLLLRRLLRRLLRLRRLRLLLLRLLLLRRLLLLRRRRRRRRRRRLLLRLLLLLLLRLLRRLLRRLRRRRRLLRLRRRRRLLLLRRLLLLLRLLLRLRLRRLLLLRLLRRLLRRLRRLLLRLRLRLRLLRLLRRRRLRRRLLLLLRRLLLRLRRRLLRRRLRRLRLLLLRLRLLRLRLRLRRRLLRRRRRRRRLLRLRRRLRLLLLRRLRLLRLRLRLRLRLLLLLLLRRRLRLLLRRLLRRRRLLRLLRRLRRLLLLRRRRRLLLLLRRRLLLRLLRRLRRLRRLRLRLLLLRRLRLLRLRRRLLLRRRRRRLRLRRLRLLRRLRRRLRRRLRLLRLLRLLRLRLLLLLLRLLLLRLLRLRRLLRRLRLLLLRRRLLRRRRRLRLRRLRRLRLRRRLLRRRRLLRLLLRLRLLRRRLLRLLLLLRLRRRRRLLRLLLLLRRRLRLRRRRRLRRRLLLLLRRRLLRLRLRLRRLLRRLRLRRRRRRRRRRRLLRRRRLRRRRRLRRLRRLLLRRLRRRRRRLRLLLLRLRRLRLRLLRRLRLRLRRRLLRLRRRRRRRRRLLLRRLLRLLRRRRRRRRLLLRRRLLLRRLRRRRLRLRLRLRRLLRRRRLRLLLRRLLRLRLRRRLLLLLLRLLLRRRLLLRLRLRRLRRLRLRRLRLRRRLRLLRLLLLRRLRRRLLRRLLRLLRLLLLRLLRRLLRRRRLLRLLLLRRRRLLRLLRLLLLLRRLRRLRLLRRRLRLLLLRLLRRLLRLRLRLRRRLLLLRLLRLRRRRRLLRRLRRRLRLLLLRRRRRLLRRRRRLLLLLRRLRLRRLRLLLLLLLLLLRRRRLRLRRRRLLRLRRRLRRLRLLRLRRLRRRRRLRRRLRRRLRLRLLRLLRLLLLLLLLLRRRRRRRLLLLLRRLLLRRRRRRRRRRRRRLLRRRLRRRLRLRLRRRLLRLRLRRLLRLLRLRRRRRLRLLLLRRLRRLRRLRLRRRLLRLRRLLLLRRLRRRLRRRRLLRRLLRLLLLLLLRLLLLRLLRRRLLLRLRRRLLLLLRRLRLLLLRRLLRLRLLRRRLRLRRLLRRLRRLLLLLLLRLRRLRRLLLLLLRLRRLRRLRLRRRLRRRRLRRLRRRLLRLRRRRLLLLLRRLRRRRRRRRRLRRLRLLRRRLLLLRLRLLLRLLRRRRRLRLRLLLLLRLLRLLRRLLRRLRLRRLRRRRRLRLLLLLRLLRLRRLLRRLLRRRRRLRRRLRLLRLLRLLRLLLLLLLRLRRRLRLLLRRRRRLLRLRRLRRRRLLLLRLLRRLRLLRLRRRRRLRRRLLLRRRRRRRLLLRLRLLLRRRLLLLRLRLLRLRRLLRRLLRRLRRRLLRLRRLLRRLRLLRLRRLLLLRLRLRLLLRLLLRLRLLLLRRLLRRRRRLRLLRRLLLRRLRRLRRRLLLRRLRLRLRRLLRLLRRRRLLLLLRLRLLRLLLRLLRLRLRRRRLRLRRLLRRLLLRRRLLLLRLRRRLLLRRLRRRRRRRLRRLLRLRLLLLRRRLLRLLLRRLLLLRLLLLRLLLLRRRRRLLRRLLLRLLRLRRRLLRRRLLLLRRLLRLRRRLLLRLRRLLLLLLLRLLRLRRLRRRRRRLLLRRRLRRLLLLLLLRLLRRLLRLRLLRLRLLRLRLLLLLLLLLRRLRRLRRLLRLLRLRRLLLLLRRRRLRRRRLRLLRRRLLLLLRRLLLLLRLRLRLRRLLRLRLLLLRRLRRLLLLLRRRLLLLLLLLRRRLRLRRRLRRLRRRLRLRLLRRRRRLRLRLRLRRRRRRRLLLLLLLLLRLLRLRLRLLLLRRRLLLLRRLLLRRRLLLLRRLRRRLLRRRLLLLLRRLRRRRRRLLLLLLLLLLLLRRRRLRRRLLRRRRRLRRRRRRLRLLRLLLLRLLRRRRLLRLRRLRRLRLLRLRRRLLRLLLLRLRRLRRLRLLRLLRLRLRLLRRRLLLRLRLLLLRLRRRRLLRLLLRRLLRRLRRRLLLLLRLRLRRLLRRRLRRRLRRLLLLLRLLLLLLLRRLRRRRRRRRLRLLLLRRRRRLLLLLLRRRRLLRLLRRLLLRRLRRLLLRRRRRRRLRRRLRLRLRRLRLLRLLRLLRRLRRLRLLLLRLLRRRRLRLRLRRRLLLLRRLRLRLRLRLRRRLLRLLLLRRLLLLRLRLRRLLRLLRRLLRLLLRRRLLRRRRRLRRRRRLRRRLLRLLLRRLRRRRLLLRLLLLLRLRLRLLLLRRLRLRLLLRLRRRRRLLRLLRRRRLLRRLLLLRRRRRLLRLRLLLLRLRRRLLLRRRRLLLRRLLLRRLRRLRRRRLLLRLLRRRRRRRLLRLLLLRLRLRRRLLLRLRLLRRRRRRLRRLLRLRLLRRRRRRLRRRRLRLLRRLRLLRLRRLRLRRRRRLLRRLRLLRLLLLLLLRLLLLRRLLRLLRLRRRRRLLLLLLRLRRRLLRLRLRRRRRRRLRLRRLLLLLLLRLRLLRLRRLLLRRRLRRLLRRRRRRLLLRLLRLRLLRRLLRLLRRLLRLLRLRRRRRLLRRRLLRLLRLLRLRLRRRLLLRRLLRRRRRLLRLLRRRLLRLLLRLLRLLLRRRLLRRRRRRLLLLLLRRRLRRLLRLLRRLLRLLRLRLRRLRLLRLLRLLRRLLLLRRLLRRLLLLRLRLRLLLLLRRLLRLRLLLLRLLRLRLRLRLRLLLRRRRLLLLLLRRLRRRRRLLRRRLLLRRRLLRRLLRRRLRRLLRLLLRLLRLRLLRLRRRRLRRLRLRRRLLRLLRLLLRRLLLLLLLRRLLLLRLLRRLLLRLRLLLRRRLLLRLLRLRRRLRRRRLLLLRRRRRLRLLRLLLLRRRRRLLLLRLRRLLLRLLRRLLLLLLLLRRLRRRLRLLRLLLRLRRLRLLLLRLRRLLLRLLLRLRRLLLRRLLLRLRLLRRLRRRLLLLLRLLLRRLLLLRLLRLRRRRLLLRLRLRLRLLRLLRRRRLRRLRRRRLLLRLLLRRRLLRRLRLRRRRLLRRLLRLLLRLRLLLRRRLRLLLRRRLRRRRRRRRRLRLRRLLRLRRRRLLLRRLRLRRRRLLLRRRRRRLRLLLRRRRRLRRRLRRRLLRRRLLLLLLLRRRRRRLRRLRLRLLRLLLLLLLRRLRLLRRRRRRLRLRRRLLLRRLLRRRRLRRRLRLRRLLRLRLRLLLLRLLRLRRRLRLRRRRRLRLLLRRLLRRRRRRRRRLRLRRLLLRRRRLLLLRLLRRLRRRRLLLLLRRRLLRRRLLLLLRLRRRLRLLLLLLRRRLRRLRLLLLRRLRRRRRLRRRLLRRLLLRLLLLRLLLLLRLRLRRLRLRLLLLLRRLLRLLLRLLRRLLLLRLRRRRRLRLLRRLRLLLLRLRRLLLRLRLRLRLRRLRRLRRRLLRLLLLLRLLLLLRRRLRRLLLRLRRLLLLLRRLRLLRLLLRLRLRLLRRLRLRRRRLRRRLLLRLRRRLRLLLRLRRRLLRLLLLRLLLRRLRRRRRLRRLRRLLLLLLLRLLLRLRLRLLLLRLRLLRLLLRRLRRRRRLRRRLRLLLLLLRLRLRLLRRLLRLLLRRLRLRRRLRRLLLRRRRLRRLRRRLRLRLLRRRRLLLLLLRRRLLLLRLRLLRRLRLRRLRRRRLLRLLRLRRLLLRLLLRRLLLLLRRLRLRLRRLRRRRRRRLLLRLRRRLLLRRRRLLRRLRRLRLRLLRLLRLRRRLRLRRRRLRRRLLRRLRRLRLLRLRLLRLLRLLRRLLLRLLLRRRLRRRRRRLLRLLLRLRRRRLLLLRLLRLLLLRLLLRLLLRLLLLRLRRLLRRLRLLLRRLRLLRLRLRRRLLRLRRRRRLRLLRLLRLRRLRLRRLRRLRRRLLRLRLLLRLLRRLLRRLLLRRLRLLRRRLLRLLRLLLRLLLRLLRLRLLLLRRRRRRLLLLRRLRRLRRRLRRRLRRRLRLLLRRLLLLRRRLRRLLRLRRLRLRLRLLLRRRLRRRRRLLRLLRLLLRRLLRLLRRRRRLRLLRLRRRLLLRLLLRLRLRRLLLLLRLLRLLLRLRRRLRRRRRLRLLLLRLRRLLRLLLRRLRLLLLRRLRLRLRLRLRRRRLLRRRRLRRLRRRLRRLRRLLRLLLRRLLRLRLLRRLLRRRRRRLRLRRLLLLRRLLRLRRLRRRRLLRRRLRLRRRLLLLLRRLLRLRLLRLLLRRLLRRRLLLLRLRLRRLRLLLLLRLRLRRLRRRLRRRLRLRRLLLLRRRLRLLLLRLRRLLRRRRRRLLLRLLLRLRLRLRLRLRRLLRLLLLLRRRLRLRLLLRRLRLRLLLRRRLRLRRLLRRRRLLRLLRRLLRLRLRRLLRRRRLRLRRLLLLLRLRLLRRRLLLRRLRLLRRRRRRLLLLRLLLLLLRLLRRLRLRLLLRRRRRRLLRLLRLRRRRRRLLLRRRRRRLRRLRRRLRLRLLRLLRLRRRLLLLRRRLLRLRRRRRLLRRRLRRRRRLRLRRLRLRRLRRLRRLLLRLLLRLRRLRRRRLRRLRRRLLLRLLLRLRRLRRLLLLRRRLLRRRLRLRRRLLLLRRLLLLRLRRRRLLLRLRLLRRLLRRLRRRLRLRLRRLLRRRRRLRRLRLLLRRLRLRRRRRRLRRLRLRLRLLRRRRLRLRRRRLRRRRRLRRRRRRLRLLRLRRRLRLRRRLLLRLRRRLRRRLLLRRLLRRLRRLRLLRRRRRLRRRLLRLRLRLRLRLLRRLLRLLLRRRLRLLLRLLRRRLRRRLRRRLRLRRRLLRRRRLRLRLLRLLRLRRLRRLLLRLLLRLLLRRLRLLRLRRRLRRLLRRLRRLRRRRRRRRLLLRRLLLLRLLRRLRRRRLLRLLLLRRLRRRRLLLLLLLLLLRRRLRLRRLRRLLRRRLLRRLRLRLRLRLLLRLRRRLRRRLRLLLLLLRLLRRLLLRLRRLRRLLRRRLRLLRLRLRRRRRLLLLRLRLLLLLRRLLRRRRRLRLLLLRLRLLLRLRRLLLRLRLLRRRRLLLRLLRLRLLLLLLRLLLRRRRRLRRRLLRRLLLRRRLRRLRRRRLLLRRRLLRRLLLLLLLLLLRLLRLLRLRRRRRRRRLRRRRLRLRLRRLLRLRRLRRRRRLRLRRLLLLLLRLLRLLLLRLRRLRLLRLLRRRLLLLLRRRLLLLRRRLRLRRLLLLRLRLLLRLLRLRLLRLLRLLLRRRLRRRLLLLRRLRRRRRLLRRLLLRLLLLLRLLLRRRRLLRRRLRLLRRLLLLLLLLLLRLRRRLLRRRLRRLRLLLLRRRLRLLRRLRLRRRRRRRLLRRLLRLRRRRRRRRLLRLRRLLLRRLRRLRLLRRRRLRLRRRRLRRLLRLRLLRLRRRLLLRRRLRRLRLRLLLLRLRLRRRLLLRRLRLLLLRRLLRLLRRLRRRRRLRRRLLLLLLRLRRLLRLRLLLRRLLRRRRRLRRRRLRRRLRRRRLLLRRLRRLRLLLRRLLRLLLLRRLLRRLRLRRLLLRLRRRLLLLRLLLRLLLRRLRLLRRRLLLRLRRRRLLRRRLRRLLRRRRRRLLRRRLRRLLLLRLLLLLLRRLRLRLLRLLLRRRRRLRRRRLRLLRLLLRRRRRLLRLLLLLRRLLRLLLRRLLLRLLRLRLLRRLRRLLLRRRLLRLLRRLLRLRRRLRRLLLRRRRLRRLRRRLRLLLLLLRLRRRLRRRRLRRLRLLRRLLRLLRRLLLRRLLLRLLRRRLRRLRLRRLLLRRLLRLRRLLLRRRRRLRRRLRLLLLRRRLRLLRLLRLLRLRLRRLRRLRLLRRRRRRLLLLLLRRLRLLLLLLRRLRLLRLLRRLRLLRRLLLRRLLRRRRRLRRRRRLLRLLLRLLRLRLLLRRRLLLLLRRRLLLRRRRLLRLRLLLLLLRRRLLRLLRRRLLRRRLLRRRRRRRRLLRRLRLLRLRRLLLLRLLLRLRLRRLRRLRLRRRLLLRRLRLRLLRLLRLLRRLRLRRRLRLRLRLRRRLRRRLLRRLRLLRRLLLLLLRLRLRRLLLRLRRLRRLRRLRLLLRLLRRLRLLLRRRLRRLLRLLLLLLLLRLLRRLLRLRRLLLRLRLRLRRRLRLLLLLLRLRRRLRRRLRRLRRRLRRLLLLRLRRRRLRRRLRRLLRLRLLRRRLRLLLRRLRLLLRRLLLRLRLRRRLRLLLRRLLLRLRRRLLLRLRRLLRRRLRRRRRLRRRLRRRLRRRRLRLLLLLLLRLLRLRRLLLRLRLRLLLLLRRRRRRRLLLLLLLLRRLRLRRLRLLLLLLRRRRRRLLRLLLRLLLRLRLRLRLRRRRRLLRRRLRLLRLLLLRRRLLLRRLRRLRRLRRRLRRLLLRRRRRRLLRRRRLLLLLLRRLLRLRRLLLRLLRRRLRLRLLLRLRRLLLLLRLLLLLLRLRLLLRRLLRLLRLLLRLRRRLLRLRLRLLRLLRRLLRLLLLLRRLLLRRRRLLRRLRRLRRRRLLLLLLRRLLRRRRLRLLLRLLRLRRRRRLRLLRRLLRLLRRLLLRLLLLLLRRLLLLRLLLRRRRLLLLLLLLLLLRLRLLRLRRRLLLRLRRRLRLLLRLRRRRLLRRLLRLLLRRLRRRRRRRLRRLRRRRRLLLLRRRLRRLLRRLRRLLRLLRRRLRLLLRRRLRLRRRRLRRRLLLLLLLRLRRLLLLRRRRLLLLRLLRRRRLRLRRRRRRRRLLRLRLLLRLLRLRRRLRRRRRRLRRLRRLLRRRRLLRRLLLRLLRRRLLRLLLLLRRLLLRLLRRRRRLLRRRLRRRLLRLRRRLLRLLRLRLRRRRRRRLRLLLLRLRLLRRRRRLRRRRLLRRLRRLRLRRRLRLRLRRRLLLRLRLLLLLLLLLLLRRLRLRLRLRLRLLLRRLRLLLLRRRRRRRRRLLRRRLRRRLRLLLLRLRLLRRRRRRRLRRLRRRLLRRRRLRLRLLRLRLLLLLRLRLRRLLRLLRRRRRLLLLLLLRRRLLRRLRRRRRRLLLLLRRRLRLLLRLLRLRRRRRLLRLLRRRRLRLLLRRRRRRRRRLLLRLRLLRLLRLLRLLRLLRLLRRRRLRLLRLLLLRLLLLRLRLRLLLRLLRRLRLRRLLLRLLRRRLRLRRLRLLLRLRRLRRRLRRLRLLRRLRLLLLRRLRLLLLLLRLLRLRLLRLLRRRLRLLLRLLRRLLRRLRRLRLLLLRLLRRLRRLLLRRRLLRLRRRRLLLRRLLLLRLLRRRRRLLRRLLRRLLRRRLLLLRRRRLRLRRRRLLRRRRRRLRLLLLLRLRRRRLLRRLRRLRRRLRLLLLLRLLRRRLRLRLRLLLLLLRLLRRLLRRRLRLRRLRRRLLRRRRLLRLLLLRRRRLRLLLRRLRRRRRLLRLLLRLRRLLLLLRLLLRRRLLLLRRLLRLLLLRRRRLLRRLLRRRRLRLLRRLLLLLRRRLLLLRRRRRRRLRRLRLLLRLRRRRLRLRRLRLRRLRLRLRLRRLLLLRRLLRLLRRRRLRLRRRRRLLLRLRRRRRRLRRLLLRRLLLRRLLLRLRLRLLLRLLLRLLLLLRLRRRLLLRLLLRRLRLRLRRRLLLLRLLLRLLRLLLRRRRRLRRLRRRRLLLRRLLRRLLLRLLLRLLLRLLRLRLLRLRLRRLLLLRLLRLLLLLLLRLLLLLLLRLLLLLRRLRRRLRRLRLLRLRRLLLRLRLLLLLLLRLLRLRLRLLLLLRRRLRRLLLRLRRLRLLLLLLRLLLLRRLRRRLLLLLRLRRRRRRRLRLRRLRRLLRLRRLLRRRRRLRRLRLLLLLRLLLRRRRRLLRRRRRRLLLLRLLRRLLLRLRLLRLRLLRRRRRLRLRRRRRLRRRRLRRLLLLRRLLRRRRRRLRLRLRLLLLLLLLRRRRLLLLRLRRRLLRRLLRLRRRLRRRLRRRRLLLLRLLLRLRRLRLRLLLLRLRLLLLLLLLLLRRLLRLLRRRRLLRRLRLLLRRRRRLRLLLLLRRLRLLLLRRRRRLLRLLRRLRRLLLLRLRLLLLLLRLLLLRLLRRLRRRRLRRRLLLRRLLRLLLRRLLRLRRLLLRRRLRRLLLLRRLLRLLRRRLRLLLLRRRLLLRLRLLLRRLLLRRLLRRLLLRLRLLRRLRLLLRLRLRLRRRRLRLLLRRRRLRRRLRLLLLLLRRRRLRRRLLRRLRLLRRLLRRRLLLRRLLLRRRRRLLLLRLRRLLLLLRLLLRLRRRLRRLLLRRRRRLLLRRLRRLRLLRLLRRRRLLRLRLLRRRLLLLRRLLLLLLLLRRRLLRLLLLLRLLRLRLLLRLRLLLLLLLRLLRLLRRRLLLLLLLRLRLRLLLRLRLLRRLLLLRLRLRRRRLLRLLRRRRLLLLRRLRLRLRRRRLRRRLRLLLLRRLLLRLLLLLLRLLLRRLLRRLLRRLLLRRLRLRLLLLRLLLRRRRLLLRRLRLLLLRLRRRRLRRRRLRLLLRRLLRLRLLLRLRRLRLRLLRLRLRRRRRRLRLRLLLRLLLLRLRRRLLRLLLRRLRRRLRLRLRLRRRRRRLLLRLRLRRRRLLLRRRLLLLLRRLRLRLRRRLLRLLRLLLLRRRLRLRLLRLLRLLLLRRRLLLLLRLLRRRLRRLLLLRLRLRRRLRRRRRRRLRRRLRRRLLRRLLLLRRRLLLLRLLRRRRLRLLLLRLRRLLLRRRLRRLRRLLLRLLLRRLRLRRRRLRRLRLLRRRRLRLLRRRLRLRRLRLRLRRRLRLLLLLRRLRLLLLLRLLLRRRRLRRLLLLLLRLLRRLLRLLRRLLLLRRRLLRLLLRLLRLLRRRLLLLRLLLLLRLRRRLRLRRLLLRRLRLLRRLRLRLLLRRLRRLRRLLLRLLLLLLLLLRRRRLRRLLRLRLRLRLRRRLRLLRRRRLLLRRRLLRLRRRLLLLLLLLLRLLRLLRRLRLRLLLLLRRRRRRRRRRLLRRLRRLLRLRLRLLLRRRRLLLRLLLRLRRRLLRRLRRLLLLRLLLLRRRRLRRLLRRLLLRRLRRLRRLLLRRLLLLRRRLLLRRLRLRLLRLRRRRRLLRRRLLLLRLRLLLLLLRRLRLLRLLLLLRLRLLRRRRLLRLLLRLLLRRLLLRRRRRLLRRRRRRRLLRRLRRRRRRRLRRLRRLRRRLRRRRLLRLRRLLLRLRRLRRRRLLLRLRRLRRLRLRRRRRRRLRLLLRLLRLLRLLLRLRRLRRLLLLRRLRLLLRLRRRRRLRRLLLLLRRRRRRRRLLLLLLRRLLLLLRLRLRRRRLRLLLRRLLRRLLRLLLLRRLLLRLRLRLLRRRRRRLRRRRRLRRLLLLRLLLRLLRLRLLLLLLRLLRRLLRLLLRRRLRRLRRLLRRRRLLLRRLLLRRLRRRLLLLLRRRRRLRRLLLLRRRRLRLLRLRLLRRRRLLRLLLLLLLLLRLLRLRRRLRRRRLRRRRLRRLLRLRRLLLLLRRRRRLLLLRRRRLLRLLLRLRLLRRRRLLRLLLLLLRRRLRRLLRLLRRRRRRRLRLRLLRLLRLRLLRRLLLLLRLRRRLRRLRLLLLRLRLLRRRLLLLLLRLRRLLLLRRRLLLLRRLLLLRRLLLLRRLLRLRLLRRRRRRLRRLRLRRLRRLRRLRLRLLLRLLRLLLLLLRLLLRRLLRRLLLRRRLRLLRRRLRRRRRLRLRRRLRLLRRLRLRLLLRRRLRRLRLLRLLLLRRLLRRRLLRLRLLLLLLLLLLLLLRRRLRRLLLRRRLRLRRRLLLRLLRLRRRRLRLRLRLRRLLRLRLLRLLRRLRRRLRLLRRRLLRLLLRLLRLRLRLRLRRRLRRRRLLRRLLLLLRLRRRLLRRRRRRRRLLLRLRLLRRRLRLLLLLRLLLLRRRRRRRLLLRLLRLRRRLRLRLLLLRLRRLRRLLLRRLLLRRLRLLLRRRLRLRRLLRLRLLRLLRRLRLRRRRLLLRRLRRLLRRRRRLLRRRLRRRRLLLLLRRLLLLRLLRRLLLRRRLLRRRRRLLRRRRLLLRRRLRRLRLRRRRRLRLLRLLRLLLLLLRRRLRLLLLRRRLRRRRRRLLRLRRLRRLRLRRLRLRRRRRRRRRLRRLLRLLRRLRRRRRLRRLLRLRLLLLLLLRLRRLRLRLRLRLLLRRRLLLRLLLRRRRLRLRLLRLLRLLLRLRRLLLRRRRRLLLLLLRLRLLLRRRRLLLLRRLLLLRRLRRRRLRRRLRRLRLLRRRRRRRRRLRRLLRRLLRRLLLRRLRRLRLLRRLRLRRRLLLLLLLRLLLRRRLLLLRLLLLLLLRRRRRRRRRLLLLLLLLRRRRLRLLRRRLLRLRRLLLLRLLRLRLRLLLRRRRLLRLRRLLRLRLLLLLRRRLRLLLLLLRRLRRRRLLLLRLRRLLRRRRLRLRRRRRRLLRLRRLRRRRLRLLRRLLLRLLRRRRLRLLRLLLLRLLLRLRRRRRRLRRRRRRRLLRLRLLRRLLLRRRRLLLLLLRRRRRRLRLLRRLLRLLRRRLLRRLRLLRLRLLLRRLRLRRRLRLLRLRRLRRLRLLLRLLLLRRRLLRRLRLRRLLLRLLLRRRLLLRLRLLLRLRRLLRRLRRLRRLLRLRLRLRLRRLLRRLLRLLLRLLLLRRLRLLLRLLLLLLLLLRRLLRRRRRLLLLRLRLLRRRLLLLRLRLRRLLRLRLLRRRRLLLLLRRLRLLRLLLRLLRRRRLRLLLRRLLLLLRRLRRLLRLRLRLLRLRRLLLRRLLLLRLLLLRRRLLLRLLLRLLRRRRRRRLRRLLLRRRRLLLRRRLLLLRRRRRRRRLRRLLLLLLRLLLLRRRRLLRLRRLRLRLLRRLRLLRRLLRLRRLLRRRRRRLRRLRLLLRLRRLRLLLRLRRLRRRLRLLLRRLRRRRRLLLLLRRRLRLRRLRRRLLRLRLRLRLRRLLLRLLRRRRLRRLLRRLRRLRLLRLRRRLLRRLRLRRRLRLLRLRRRLLRRLLRRLRRLRLLLLLRRRLLRRRLLLLLLLRLRLRRLLRLRLRRRRRRLLLRLLLRRLRLLLLLRLLLRLLRLLRLLRRLLRRRRLRRLRRRRLLRRLRRLRRLRLRRRLRLRRRLLLLLLRLRRLRRRLRLRRRRLRLLRLRRLLRLLRRLLRLRRRRRLLLRLRLRLRLRRLRRRLLLRRLLRRLLLLLLRRLLRRLRRLRLRRLRLLLRRLLRLRRLLRRRLRLRRRLRRRRRRRRLRRRRRRRRLRRRLLRLLRRLLLRLRRRRLRRLLRLLLRLRLRLLLLRRRLRLRRRLLLLLRLLRRLLRLLRLLRRLLLRRRLRRRRLRLLLRLLLLRRRRRLLLLLRRLLRRRRLRLLRLLLLRRRRLLRRLLRRRRLLLLLLRLRLRLLRLLRRLRRLRRLRLLLLRLRLRLRLRLRRLLRLRLRRLLRLLRRLLRLRRRLLLRLLLRLRLRLLRLLLLRLRRLLLRLLRLLLRLRRRLLRRLRLLRLRRLRLRLLRRRRLLRLRRLRLRLLLLRLRRLLLLLLLRRRRLLLLRLRLRLRLLRRRLRLRRLRRRLLRLLLRLRLRLRLRRLRLRRRRLLLRLRRLLLLRLRLRRLLRRRLLRRRLRLRLLLRLRLLRRLRLLRRRRLRRLLRRLLRLLRLRLLLLRLRLLRRLLLLLRLLLRRRLRLRRLRLLLRRLLRRLLRLLLLLRRLLLLLRRLLLLLLRRLRLLLRLLRRRRLLRLRLLRLRLRRRLRLLLLLRLLLRRLLLRRLRRRRLLLRLLLRLLLLRLRRRRRRLLLLLLRLRRLRLRLLRRRRRLLLLRLRRLLRLRRRRLLRRRRRLRRRLLLLRLLLLRLLRLLLRLLRLLLRRRLLLLRLLRRRLLLLLRRRRRLRLRRRRRRLRRRRRRLRRRRRLLLRLLLRRRRRLLLRLRRRRRRLLRRLLRRRLLRLLLLLLRLLRLLRRLRRRRRRRLRRRLLRRRLRRRRRLRRLRRRRLRLLRLRRLLRRLRLLRRRLLLRRLRRLRRLRRRLRLLLRLLRLRRRLLLLLRLRLLRLRLRLRRLLLLLLRLRRRLRRRRRLRLRRLLRLRLLRLLLRRRLRRLRLLRRRLRRRLLLRRLRLRRLRLRLRRLLLLLRLRRRLLLLLLRRRLLLRRLLRLRRLRLLLRRRLLLLLRRRLRLLRLLLRRLLLRLRLLRLRLLRRRRRLRLRRRLLRRRLRLRLLRLLLRLLRRRLRLRLLRRLRRRLLLRRRRRLRLLRRRRRRRLRLLLRLLRLRRRLLRLRRLRLLRLRRRLRLLLRRRLRRLRRLLRLLLRLLRLLLLLLRRLRLRLRLLRLLRRLLRLRRRRRRRLRRRLLLLLLRRLLLRLRLLRLRRLLRLLLRRRRRLLLLLRLLLLRLLLRRLRRLRRRLRRLRRLLRRLRRRRRLLRLRRRLRRRLLLRLLRRLLRLRRLRRRLLRRLRLLLLLLLRLRRRLLLLRRLRRLLRLRLLRRRRRLRLLRRLRRLLLRLLLLRRLRRRRLRLLRRLRLRRRRLLRRRRLRLRLLLRRRLLRLLRLLLLRLLRRLLRLLRLLRRLLRRLLRLLLLRRLLRRLLRLLRLLRLLRRLRLLRRLRLRRLRLRRLRLLRLRRLLLRRRRLLRRLRRLLRRLLRLRRLLLLRRRLRLRLLRRLRLLRLRLRLLRRLLRLLLRLRLLLLRRRLLRLLLRRLRLLRRLRLRLRRLRLLRRLRLRLRLRRRRLRLLRLRRRLLRRLLRRRLLRRLLLRRLLLLRRLLRLRRRLRRLRRRRLLRLLLLLLLRRLRRRLLLLRRRRRRRLRLLLLRLRLLRRRRLRLRLLRRRRLRRRRLRLLRLRRLRLLLRLLLLLRLRLRRLRLLLLLLLRRLLLLLLLLLRRLLRLRLRLLRRRLLLLRLLRLLLLLLRRLLLRRRLLLLLLRLLRLLLLRLRLLRLLRRLRLRLLLLLRRRRLLRRRLLRRLRRRRLLRRRRLLLLLRRRLRRRLRLLLRLRRLLRRRLLLRLRRLRLLLLRRLLLLLRRRLLLLLRLLRRLLLLRRRLLRLRRLLRLLRRRLRLRLLLLRLRLLLLRLRLLRLLLLRRRRLLLRLLRLRLLLLLRLRRRRRRLLLRLRLLLRLRLRLRLRLLRRLRLLLRLRRLLRLRRLLLLLRRLRLRLLLLRLLRRRLLLLRLRRLLLLLLLRRLRRLLLRLLLRLLRLRRLLRRRLLRLRLRLRRLRRLRRLRRLLLRLRRRRRRRRLLLRRLRLLLLLLRRRLRLLLLRLLRLRLRRRLRRRRRLRRLLRRLLLRRRRRLLLLRRLLLLRRRLRLLRRLLLRLRRRLLLRRRLRLLLRRLLLRLRLLRRRRRLLRLLLRLRRRRLRLRRLLLRRRRLLRLLRLRLRRLRLRRLLLLLLLLRRLLLRRRLRLLLRRLLLRLLLRLRLLRLRRRRLRRRLRLRLRRLRLLRRRLRRLRLRLRLRRRRRRLRLLLRLLLRRLLRLRLLLRRLRLLLLRRRLLLRRRLRRRLRRRRRRLLLLRRLRLRLLLLRLRLLLLRLRLRLLLRLLRLRLLLLLRLRLLRRRRRRLRRLRRRRLRRLLLLRLRRLLLRRRRRRLLRRRRRLLRRRLLRRRRLRLRRRLRRRRLRLLRRRLRRRLRLLRLRLRRRLRLRLRLRRRLRLRRLRRLRRRRLRRLRLRRLLLLRRRRLRRRRRRLLRLRLLLRRLLRRRLRRLRLRLLLLRRRLLRLRLLRRLLLLRLRRRLRLLLLLLLRRRLRRLLRRRLRLLRLRRLLLLRLLLLLLLLRRRRLLRLLRLRRRRRLLRRLLRLRLLRLLLRLRLLLRRRLLRRLRRRRRRLLLRLLLLLLRLRLLLRRRRLRLRLLRRLRLRRRLRRRRLLLRRRLLLRLRLRLLLLRLLLLRLLRLRLRRRRRLLRRLRRLRLLLRRLLRLRRRRLRLRRRLRRRLRRRLRRRRLRRRRRLRRLLRLRRLLLRRLRRLLRRLLRRLLLRLLRRRRLLRRLRLLLRRRLLRLRRRLLRRLRLLLRRRRRLRRRRRLLLLRLLLLRRLLRLLRRRLLRRLLRRLRRRRRRRLLRRRLLLLRRLRLLRRRRLLLRLLRRRLRRLLRLLLLLRLRRRRRRLLRRLRLLLLRLLRLLRRLLRLRLRRRLLLLRRRLRRLRLLRLRLRRLRRRRLRLLRLLRRRRLRLRRLLLRLRRRLLLLRLLRRLRLLRLLLRLLLLLLLRLLLLRLLRRRRRRRLLLLRRRLRLRLLRLLRRLLRRRRLRLRRRLLRRLLLLLRLLRRRLLRLRLRRRLRRLRLLLLLRRLLLLRRRLLRLRRLRLRRRLRLLLLRRLRRLLLRRLLRRRLLLLLLLLRRLLLLLRLRLLRLRRLRRRRLRRLLLRLRLLRLLLRLRLRLRRRRRRRRRRLLRLRLLLLLLLRLRLRLRLLRRRLLLRLRLRRRRRRRLRLRLLRRLLRLLRLLRLLRLRRRLRRLLRLLRRLLLRRLLLRLRLRRRRLLRRLRLRLLRLRRRLRRRLRLRLLLRRRRRRLRLLLRLRRRLLRLRRLLLRRRRLLLLLRRRLLRLLRRLRRRRLLLRLRRLLLRLRRRRRRLRLLRLLLLRRLRRRRRRRLRLRLRRLLRLLLRRLLRLRLLLLLLRRLLRLLLRLLLRRLRRRRRRRLRLRRLLLRLRLRLRRRLLRLLRLRLLRRRLRRLRLRLRRLRRRRRRLLLRRLRRLRLRLRRRLRRRLRLRLLLLRRRLLLRRLLLRRRRLRLLLRLLRLLLLLRLLLRRLRRRLLLLLLLRLLRLRRRRLRLLRRLRLLRRLLRRLLLRLLLRRRLRRLRRLLRLRLLLRLRLLLRLLRRRLRRLLLRLRLLLRRLRLRRRRRRRLRLLRRRRRRLLRRRLRLRRRLLRLLRLLRRRLRLRRLRLRRLLLLLRRRLRRLRRLLLLRLLRLLRRLRRLLLRRLLRLLRRLLRRRRLRLRRLLLRLRRRRRRLRRLRRRRLLLRLRRRRRLLRRRRRRLRLLLRRRLRRLLLRRLLLLRRRRLLLLLRLRLLLRLLLLRRRLLRRLRRRLRRLRRLLLRRRRLLLRRLRLLLLLLRLLRRRRRRLRLRLRRRRLLLRLRLLRRLLLRRRRLLLLLRLLRRLRLRLRLRRLRLRLLLLLLRLRRRRLLRRLLLRRRRLRRRRRLLLLRRRLLRRRRLRRLRRLLRLLRRRRLRRLLLRRLRRLLLRLLLRRLLRLLRRLLRLRLRRLRLRLLRLLLRRLLLRRLLRLRLLLLLLRRRLRLLRRRRLRRLRLLRRLLRRLLLRLLLRLRLRLLRRLLRLRRRRLLLLLLLLLLLLLLLLRLRLLRLRLLRRRLRLLRLLRLLRLLLRRLLLLRLRRRRLLRRRLRRRLLRLLRRRRLRLLLLRRRRLRRLLLRRRLRRLLLLRLRLRRRLLLLLRRLRRLLLLLLLRRLLRLLLRRRRLRRLLLLLRLRRLRLRRRRLRLRLRRRRLRRLRLLLLRRLRRLLLRRLRLRRRRLRRRLRRRRLLLRRLLLRRRRRRLLLLRRLRLRLRLRRLLRLLRRLRRRRRLLRRRLRRLRLRRRLRRLRRLRRRRLRLRLRRLRRRRRRRLRRLLRRLRLRLRRLRRLLRLLRRLLRLLRRLLLLLRRRRLLRRLLLRLLLLLRRLRLLLLRRLLLLLRRRLRLRLLLLLLRLLLLRLRRLRRLLLLLRLRRLRLLRLRLLLLRLLRLRLLRRLLLRLRLRLRRLRRRLRRLRLRLLLRRRLRRLLLRRLLLLRRRRRLRLLRLRLRRRLLRLLLLLRRLRLLLRLLLLRRRLLLLLLLRLRRRLLRLRLLLLLLLRLLLLRLLRRLLRLRLRLRRLLLLRRRRRLRLLRLRRLLLRRRLRLLLLRLRLLRLRLLRLRLRRRRLRRRRLRLRLLRLLLRRLRLLLLRRRLRRLLRLRLRLRRLRRRLRRLLRLRLLLLLLRRLRRRLRLRRLLRRRLRRRLRRRLRLLRLRLLLLLLRLLLRLRRRRRRLLRLLRLLLLLLLRRRLLLRLLRRRLRLRRRRRLRRLRLRLLRLRLLRRLRLRRLLRLRRRRRRRRRRRLLRRRRRLRLLLRLLRLLLRLLLLLRLLLLRRRRRRRLLLLRLLRRRLRLRRLLLLRRLRLRLRRRLRRRRLRRLRLLRLLLRRLRRLLLRLRLLLRLLLLRLRLRRRRRRRLLRRLLLRRLRRRRRLRRRLLLLLRLRRRLLLRLLRLRLRRLRRLRLRLRRLRRLRLLLLLRLLLLLLRRRLRLLRRRLLLLRRLRLRLRLLLRLRLLRRRRRRRLLLRRRLRLLRLLLLRLLRLLRLRRLLLLRLRLRLLRRRLLLLRLRLLLRLRRRRRRLRRRRRRLLRRLRRLLLLRRLLRRLRRRLLRLRRRRRLRLLRRRLRRLRLRLLRLRRLLLLRRRRRLRRRRRRRLRLLLLRRLLLRLRLRRLLLRRRRRRRLRRLLLRRLRLLRLRRLLLLLRRRRRLLLLRRLLRRLRLLRLLLRRLLRRLRRLLRRRLLLRLLRRRLLLRRLLRLLLRRRRRLRLLRLRLRRLRLLLRRLLLRLLRRLRLRLLLLRLRRRLRLLRLLLRRLLLLRRLRRRLLLRLLRRRLRLLRLLLRRRRRRRLRRRLLRRRLLLLRRRRLRRLRRRLRRRRRRLLRRRRLLRLRLRRRRLLRRRRRRRRLLRRLLLRRRLLRLLRRRRRRLLRRRRRRRRRRLRRLLLRLRLLLRRRLRRRLLLRRLLLLLLRRLRLRLRRLRRRLRLRLLRLLRRLRLLRRLLLLRRRLRLRRRLRRRRRLRRLRLRRRRRRRRRLLLRLLRRRLLRLRLRRRRRRLRLLRLRLLLLLLRRRRRRRLRRRLLLLRLRRLLRRRLRLLLLLRLLRLRLRRLRRRLRLRLRRRRRRRRLRRRRLRLLRLRLRRRRLRRLLRLLLRLLRLLLLLRRLLRLRRLLLRRRLRRRRRRLLRRLRLLLLLRRLRLRRRRRLLRLLRLLRRRRLLRLRLRRLRLLLRLRLLLRLLRRRRLRLRRLRLRLLRRRLRLLRLRLRRRRRRRRRLLLRRRLRRRLRRLLLRRRRLRRLRLRRLLRRLRLRLRRLLRLLLRLRLLLLLLLRLRRLLRLRLRRLLLRLLLLRLRLRLLLRRRRRRLRLRLRRRRLLRRRLRLLRLLRRLRRRRRLRRLRLLRLLRLRLLLLRRLRRRRRLLRRLLLRRLRRRRRRRLLLRLRLRRRLRLLRLLRRRRRLRLRLRLLRLRRRRRLRRLRRRRRRRRLLLLRLLRRLRLRRRRRLLLRLRLLLLLLRLLLLRRLRRLLRLLRRLLRRRRLLRRRLRLRRRLRRLLLLLLLLLLLRRLLRLLRRRLLRLRLRLRLLRRLLRRLLRLLLLRLLRRRLRLLLRLLRRRLLLLLRRLLRLRLRLLLRLLRRRRLLLRRLLLRRLLLRRLLLRLRLRLRRRRRLLRRRRLRLRRRRRLLRRRRRLRRRRLRLLRLLLRLRLRRRRRRRRLLRRRLLRLLRRLLLLLLLLLLRRLLLLLLLRLLRLLLLLRRRLLLRLLRLLLLLRRLLRLLLLRRRLRLLRLRRLRLLLLLLLRLLRRLRRLRRLLRRLRRRRRLRRRRLLRLLLLLRRLRLLRLLLRRRRLLRLLLLLRRRRRRLLLRLLRLLLRLLLLLLRRRLRLLLLLRLRRRLLRRRLRLRLRRRLLLLLRRLLLRLRLLLRLRRRRRLRLLRLRRLLRRLRLLLLLRRLRLRLLLRRRLRLLLLRRRRLLLRRLLRLRLRRLRRLRLLRRLLLRRRLLLLLLRRLRLRRRRLLRLLRRLRRLRRRLRRLRLLRRLLLLRRLLLRLRRRLRLRRRLRRLRLLRRLRRRRLLRRLRLRLRLRLLLLRLLRRLRRRRLLLRLLRRRRRRLLLLRLRLRLRRRRLLRRLLLLRLRLRLRLLLRLLRLRRLLLRRRRLLRRRRRRRLRLLLRRLLLLLRRRRLRRLRLLRRRLLLRLLRLRRRLRRLLRLRRLLLLRLRRLLRRRLLRRRLRLRRRRRRLRLRLLLRLRRRRLLRLLRRLLLLRLLLRLLRLLRRRLRLLRLLRRRLLLLRLLRRLRLRLRRLLRRLLLLLLRLRRRRLRRLRRLLRLLLRLLRRRRLLRLRRLLRLRLRRLLRLLLRRLLRLRLRRLLRLLLLRLRLRLRLRLRRLLLLRLRRRLRRLRLRRRLRLLLLRLRLRRLLLRRLLLRLRLRRLLLLRLLLRLRRRLLRLLRRLRLRRLRRLRRLLLRLLLRRRRRRRRLLLRLRLRRRRLRRLRLLRLRLRRRRLRRLRRLLLLRRRLLRRLLLRRLLRLLRLLRRRLLRLLLRRRRRLLLLLRRLLLLLRLRRRRRRLRRRRRLRRLLRRRLLRRRLLLLLRRRRLLRRRRRLLRLRLRLLLLLLLRRRRLLLRRLRRRRLLLRRRLLLRRLLRLLLRLLRLLLLLRLRLLRLRLRRRLLLLLRLLRRLRLRLLLLLRLLLLRRLLLLLRLRLRRRRRRLLRRLRRLLRLLRRLRLRLRLLRLLLLLRRRRRLRRRRRLRRRRRLLLLRRRRRRLRLRRLLLLLLRRRLLLRRRLLRLRLLRLLLLLLRLRLRLLLRLLLLRRLLRLRLRLRRRRLLRLLLLRRLLRLRLRRLRRRLRRLRRRRRLRRRLLRRRLRRRLRLLLRRLLRRRRLLRLLLLLRLRRLLLLRLRLLRRRLRRRLRRRLLLRLLLRRRRLLLLRLRRRLRRRLLRRRRRLLRLLLLLLLLRRRLRRLLRLLLLLRRLLLLRLLRRLRRLRLRRLRLRRLLRRLRRRLRLRRLRRLRLRRRLRLLRLRLLLLRLLLLRRLLRLRLLLLLRLRLLRLRLRLRRLLLRLRRLLLLLRRRRLLLLRLRLRLRRLLLRLLLLLLLLLLLLRLRLRLRRLLLRRRLLLRRLLLRRLRRLRLRRRLLLRRLLRRRRLLRRRLLRLLRLLLLRLRRLLRRRRLLRLRLLRRLRRRRRLRRRRLLRLRLLRRLRRRRRRRRRLLRRRLLLLRLLLLRLLRRRRRRRLLLLRLLRRLLLRRRLLRLLRLRRLLLRRLLLRLRRLLLLLLRRLLLLRRRRLRRLLLLLRLRLLLLRRLLRRRLRRRLLRRRRLRLLRRLRLLLRRLLLLRLRLRLRRRLLRRRRLLLLRRLRLLLLLLLLRRLLLLRRRRLLRRLLLRLRRRLLRLRLRRRLLLRLRLLRLRRLRRRLLRLLRLRRLRLRLLLRRRRRRLRLRRRLLLLRRLLLLRLRLLRRRRLRLLRLRRLRLLLRRLRLLLLLRLRLRLLRRLLLLRLLLRRLRLRRRRRLRLLLRRLLLLRLRLLRRLLRLLLRRLRRLLLRLRLLRRLRRRLLRLRLLRRLRRRRLRLLLLRLLRRRLLLLLLRRRLRRLLLRLRRRRRLLRRRRLLRLLRRLLRRLLLLLRLLLLLLRRLLRLLLLLRLRLRLRLRLLRRRRRRRLRLRRLRRRLLLLLRRLRLLLRLRRLRRLLLRLRLLLLRRRRRLLRLRLRLLRRLRLRRLLRRRRRRRRLLLLLRLRLLLRLRLLLLLRRLLRRLLRLRRLRLRRRLLRRLRLRLLRLRLLRLLLLRLLLRRRRLRLLRLLLRLLLLRLLRRLRRRLRLRLLRLRLLLRRRLLLRRRRLLRRRLLRLRRRRLLLRLRLLLRLLLLLLLRLLRRRRLLLLRRLRRRLLRRLLLLRRRRLRRRRLLLLRLLLRRRLLLRRRRRRLRRRLRRLRLLLRLRRRLRLRRLRRRRLLRLLLRLLRRLRLLLLRLLRRLLRRLLLLLRRRLRRRLLRLLRLLRRRRLRLRRRRLRRLRRRLLLLLLRLLRLRRLRLLLLLRLRLLLRRRLRRLRLRLRRRRLRLLRRLLLRRLLRRRRRRLRRRLLRRRLLLRLLRLRLRRRLLRRRLRLLLLLRRLLRRLLLLRRRLLLLRRRRLLLRRLLRRRLRLLRLRLRLRLLRRLRLRRRLRRLRRLRLLRRLLLRLRRLRLLRRRLRLLRLLLLRRLLRLRLLLRLRLLRLRLRLLRRLLLRRLRLLRLRRRRRLLLLLRRRRRRRRRLLLLRRLLLRRLLRLRLRRRLRLRLLRRRRLRLRLLLRRLRRLLRLLRRLRRRRRRRLRRRLRRRLRLRRRRLRLLRRRLRRLLLLLLRRLLRLRRRLRRLLLLRLLRLRLLLRRRRRLLRLLRRLLRRLLRRLRRRLRRRLLLLLRRLRRRRRRLRLLLLLRLLLRLLLRLRLRLLLLLRLRRRLLRRLLLLLRRRRLLRLLLLLRLLRRLLLRRLRRRRLRLRRLRRRLLLLLLLLRRRLRLRLLLRLLRLLRRLLRLRLLLRRLRLRRLLLLRRRLLLRRRLLRRLRLRRLLLLLRRRLLRLRLRLRLLRRLRLRLLRLRLRLLRRRRRRLRLLLRLLLLLRRRLRRLRLLRRLRLLLLRLLLLRRLLRLRLLRRRRRLRLRLRLRLLRLRRLRRRLLRLLRRRLRRRLLRRRLLRRLRLLRLRRRLRRRRLRRLLLRLRRLRRLLLRLRLRLLRLLLRRRLLLLRRLLLLRRLLLRLRLLRLRRRRRRRLLLLRLRLLLRRLLRRRLLRLRRLRRLLLRLLLRLRRRLLRRRLRLLRRLLLRLRRLLLRLLRRLRLLLRLRRLRRRLRRLLRLLRRRLLRLLLLRLRRLRRLRRRRRLRRLLLLLLRLLRRRRRRRRLRRRRRLRRRRRRRRLRLLLLRLLRLRRRLRRRRLRLRLLRLRRLLRRLLRRLRLLLRLLRLLRLLRRLRRLLLRRLRLLLLRRLRLRRLLRRRRLRRRRRRRLRLRLLRLRRRRLRLLRRRRLRRLRLLLLLRRLLRLRRLRLLRRRLRLLRLLRLRRLLRRRLLLLRRLLLLLRRRRRRLLRRRLLRLLRRRLRRLLRLLLRLLLLLRRLLRLRRRRRRLRRLRRRLLRLRRLRLLRRRRRRLRRLLLRLLLLRLRRLLLLLLRLRLLRRLRRLLRRLLRRLLLLLRRRRRLLRLLRRLLRLRRLRLRLLLRLRRLRRRLRLRLRRRRLRRLLRRRLRLRRLRLLLLLLRRRRRRLRLRLLLRLLRLLLRRLRLRLRRLLLRLLRRRLRRRRRRRRRLLLRRLRLLLLLLRLRRLRRLRRLRLRRLLLLLLRRRRLRLLLLRRRRLRRRRRRLLLRLRLRLRRLLRLRLLLLRLRRLLLLLRRRRRRRRRRLRLRLRRRRRRRLRRLLRRLRLLRLLLLRRRLLRLRRRRLRLLRLRRLRRLRRRLLLRRLLLRLRRLLLLLRLRRRLLLLRLLRLLLLRLLRRRRRLLLLLLLLRLLLRLRLLRRRLLLLRRRRRRLRLLLRRRRLRLLLRRLLRRRLLRLLRLLRRLRRRRRRRLLLRRLRRLRLLLRLRRLLLRLLLLLRRLRRLLLLRRLLLLLLRLLRRRLLLRRLRRRRRLRLRLRLRRLRLRRLLLLLLLLLLRRLLLRRLRRLRLLRLLRLRRLRRLRRRLRLRRRLLLRRLRRLLLRLRLRRLRLRLLLRRLLRRRLLRRRRRRRLRRLRLLRLRLRLLLLRLLRRLLLRRLRLLLRLLRLLLLLRLLLRRLRRLLLRLLLLRLLLRLRLRRLLRLLRRRRRRLRRLRLRLLLRLRRLLLLLLLLLRLRLLLLLRRRRRLRRRRLLLRLRRLLLRLLLRLLRRLRLLRLRRRLRRRLLRLRRLLLRLRLLLLLRRRLLLRLRLLLRRLLLLRRLRRRRLLLRLRRLLRRRLLLRRRRRLRLLLRRRRLRLRRLLRRRLRRRRLLLLRLRLLRRLRLRRRRLRLLRRLLRLRLLRLRLRLRRLRLRLLRRLRLRRRRRLLRLLLLRRRRRLLRRLLLLLRLLLRLLLLLLLRRLLLRLRLRLRLLRLRLRLLRRLLLRRLRRLRLRLLLRRLLRRRLRLLRRRLLLLLLLRLRRLRRLLLLLRRLLRRLRLRRLRLRRLLLRLRLLLLLRLLRRRRLLRLRRLLLRLLLRLRRLLRRLRLRRRLRLLLRLRRRLLRRRRLLRLRLLRLRLLRLRRLRLLRRLLRLLRRLLRLRRLLRRLLLRRLRLRLRRRRLLRLRLRLRLLLLRRRLLLLLRRLLRLRLLLLRRLLRRRRLRLLRLLRLLRRLRLRLRLRRRLLLLRLLRRLRLLRLRRLLRLRLRLRRRRRLLRLRLRLRLRRLLRRRLLLRRRRRRLRRRLLRLLRLLLRLRRLLRRLLRLLLLLLLRRLRRRLRLRRRRRLRRRRLLLRRRRLLRRLLRRLLLLRRRLRLLRLRLRLLRRRRRLLLRLRLRLRLRRLRRLRLRLLRLLLLLRLLRLLLLRRRLRLLLLRRLLRRRLRLRLRRLLLRRRLRRRRLLRLLRRLLLRRLLLLRLLLRLRLLLRLRRLLRRLRLRRRRLLRRLRRRLLRRRLRRRRRLLLLLLLRLLLLRRLRLLRLRLLRLRRRLLRLRLLLLLLRLRRRRRLLRRLLRLLRLLRLRRLRRLRLRRRLLRRRLRLLLRRLLLLLRLRRLRRLLLRLLRRLRLLLRLRRRLRLLRLRLLRRLRRLLLRLLRLRRLLRLLRLRRLLRRRRLRRLRRRRLLLLRLRLLLRRRRLLLRLRLRRLRRLRRRLLRLRLRLRLRRLLRRRRRLLLLLRRRRRLRLRLRLRRRLLRRRLLRRRLRLRRRLRRRRRRLRLRLRRRRLLRLLLLRLLRLLRLRRLLLRRRLLRRRRRRRLLRRRLLRLRLLRLLRLRLLRLRLRRRRRLRRRRLLRLRLLLRRRRLLLRRRRRLRRLLLLLRRLRLRLRLRRRLLLLLLRRLLRLRRRRLLLLLRLLRLLRLLRRRLRLLLRLLRLLRLRRRLRLRLRRLRLRLRLRRRRLRLLLRLLRRLRLLRRLRLRRLLLLRRLLLLLRLLRLLRRRRLLLRRRRLLLLRLRLRRLLLLRLRRRRLLLRLRRLLLLLLRRLLRLRRRRRLRLLLLRRRRLLLRLRRRRLRRRLRRRRLRRRRRRLLLRLRRRLRRRRLRLRLLLRLRLRLLRRRRRLRLRLLRLRLLRLRLRRLRLRLLRLRRLLRRRLLRLLRRRLLLRRRLRLRLLLLLLLLLLLRRRRLLLRRRLLRRRLRLLRLLRRLLRLRRRRRRRLRRLRRLRRRRRRRRRRLLRRLLLRRRRLLRLRRRRRRLLRRRLLRRLLRRRLRLLRRRRLRRRLRLRLRLRRLLRRLRRRRLRLLLLLLRLRRLLLLLLLLRRLLLLLLRLLLLRLRLLRRRLLLLRLLLRRLRLLLLRLLRRRRLLRLLLLRLLRLLRLRRLRLLLLLLRRRLLLRLRRLRRRRRRLRRRLLRLRLRLLLLLLRRLRLLRLLRLLRLRRLRLRLLLLLRRLRLRLLLRLRRRRLLRRRRLLLLRRRRRLLLRRLLRRRRLLLRLRLRLLLRLRRLRRRRLLLLRLRLLRRRLRRRRLRRLLLRLRRLRLRLLRLLLRLRLRLRRLLLLLLLRRLRRLRRRLLRLRRRLLLRLLLRRRRLLLRRLLRRRLLRLRLLLLRRRLLRRLLRLLLRRRLLLLRLRLLRLLRRLLRLRLRRRRLLRLLRRRLRRRLLLRLLRLLRRLRRRRLRLLLRRLRRRLLLRRLLLRLLLRLRRRRLLLLRRRLLRRLLLRLRRRLRRRLRLRRLRRRRLLLRRLLRRRRRLRLLLRRRRRLRRRRLLRRLLLLRLRLRRLLLLLRLLRLLRRLRRLRRLLRRLLRLLLRRLLLRLLLRRRRRLLLLRLLRRLLLLRRLLRLLLLLRLLRRLRLRLRRRLRLRLRLLRRLLRRRRLRRLRRLRLRLLLLRLLLRLRRLLLLRLRRLRLRRRLRRLRLRLRRLRRLLLLRRLLRRLLRLRRRLRRLLLRLLLRLRRLRRRRLRLRRLLRRRRLRLLLRRLRLLRLRRLLRRLLLLRRLLLRLLRLRLLRRLLRRRRLLLRRRRLRLLRLLLLLLLLLRRLLLLLRRRLLLRLRRRRRRLRRLRRLLRRRRRLRLLLRLLRRRLRRLRLRRRLRRRRLRRLRRRLRLLLRRRRRRRLLRRRRLRLLRRLRRRLRLLLLRLLRLRLRRLRLLRLRLRRRLRRRLLRLLRLLRRRLRRLLLRLLRRLLLLLLRRRLRLRLLRLLLLRRLRLLLLLLLRLLRLLRRLLRLRRRLRRRRRLLRRRRLLRLRLLLRRRLLRRRLLLLLRRRRRRRLLRRLRLRLRLRRRRRRLRLLRLRRLRRLLRRLLLRLRLLRLLRLRRLLRLLRLRLLLLRLLLRRLRLRRRRRRLLLLRLRLLLLRLRLLLRLLRRLRRLLLRLRRLRRLLRRRRRLLLLRLRLRRLRLRLLLLLLRRRLRLRRRLLRLRRRRLLRRRRLRLLRRLRLRRRRRRRRRLLLLRRRLLLLLLLLRLLRRLRLLRLLLRRLRRRRLRRLRLRRRRRLLLRLLLLLRLRRRLLLLRLRRRLRRLRLRRLRRRRLRRRLLRRLLRRLRRLLRRLRLRLRLLLRRLLLRLRLRLLLRLLLRLRLRLRLRRRLLLRLRRRRLLLLRRLRRRRLRLRLLLLLLLRLLLRRRLRRLRLLRRLLLLRLLRLRLLLRRRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLRLLRLLLRRRRLLRLLLRLLRRLRLRRLLLLLLLLRRLRLRRRRLRRLRLRLLRRLRLLRRLLLLRRRRLRLLRRLRLRRRRRRRLLLRLLRRLRRRRRRLLLLLRLRLLLRRRLRRLLRLLRLLLRRRLRRLLLRLLLLRLRRLLLRLLRRLRLLLLLLLRLRLRLRRRRLLRRLLLLRLLRRRRLLLLRLRRLRRRRLRLLRRRLLLRRRLLRLLLRRRLLLRLLRRRRRLRRLLLRRLLRRLRRLLRLRRRLRRLRLRRLRRLLRRRRLLLLRLLRLRLRLLRLLRLRLRLRLRRRLRRLLRRRRLRRRLRLRRLRRRRLRRRRLLLLRLLLRLLRLLLRRRLRRRRLLLRLLRRLLLLRLRLRRRRLLLLRLLRLLLRLLLLLLRRLRLRRRRLLRLLLLRLLLRLRLLLLRLRRRRLLRRRLRLLLLRRLRLLLLLLRLLRLLRRRRLLRLRRRLLRRLLLRRRLLRRRLRRLLRRLRRLLRRLLRRRLLLRRRLLRRRRLLRRRRRLLRLRRLRRLLLLLRLRRLRLLRRLLLLLRLRRLRLLRRLRRLRLLLLLLRRRRLRRRRRRRRLLLRLLLRLLLLLRRLRLRRLLLLRLRRRRLLRRRRLRLLLLLRRLLLLLLLLLLLRRRLLLLLRLLRLLLRLLRRLLRRRRRLLRLRRLRRLLRRLRRLLRRLRRLLLRLRLRLLLRLLRRLRLLRLRLLLLLLRLRRLRRLLLLRRLRLRLLRLRRRLRLLLLRRRLLLLLLLLLRLRLLLLLLRRRRLRLRLLRLLRLRLRRRLLRRLLLLLLRRRLRRLRLLLLRRLRRRLLLRLRLLRRLRLRLRLRRRLRLLLLLRRRLLLRRLRRLRLRRLLLLRRRRRLLLRLLRLLLRLLLLRRRLLRLLRRRRLLRLLLLLRLLRLRRLLLLRRRRLRLLRLLLLLRLRRRRLRLRLLLLLLLRRLLRRRLLLRRRLLRLLLLLLRLRRRRRLRLLLLLRRRLRLLRLRRLRRRLLLRRRLRLLLLRLRLRRLRRRRRLRRRRRRRRRRRLRRRRRLRRRLLLRRRRLLRLRLLRRRRRRRRRRRRRLRLLRRLLLRLLRLRLLRLLLRRLRRRLRRRLRLLRRLLRLLRLRRRRRRLLLRRRRLLLRLLRRRLRRRLRRLRLLRRRRLRRRLLRLLLLRRRRRLRLLLLRLLRRLRLLLRRLLRRLRRLLLRRLRLLLRLRRLRLRLRLRLLRLLLLRLLRLLRLLLRLLRRRLRRRRRLLRLRRLRRRLRRRRLRLRLLLRRLRRLLLLRRRLLLRLLRRRLLLLLLRLRLLRLRRRRRLLLRRLLRRLRRRRRRRRLLLLLRLRRLRRLRRRRRLLLLRRLRRRLLLLLRLRLRRRLRRLRLRRRLRRLLRRLRRLRRRLLLRLRRLRRLRRLRRRLRRRLRLRLLLLRRLLLLRLRLRLRRRLRLLLLLLLRRLLRRRRRLRLRRRRRLLRLRLRRRLLLRLRRRLLLLLRRRLLRLLRLRLRRLLRLRRLRRLRRLLRLRRRRRLRRRLRLLLRRRLRLRLRRLLLLLLLLRRLLLRLRLLRRLLLLRLRLRLRLRLLLLLRLRRLRLLRRLLRLRLRLLLRRRRLRRLLRRLLRRRLLRLLRLLRLRRLLLLLRLLLRLLRRRLRRRRLRLRLRRLRRRLLLRLLRRRLLLLRRLRLLLLLRLRLRRLRRLRRRLLLLRLRLLRRLLRRRRRRLLRLLLLLRLLRLLRRLRLRLRLRLLLRRLRLRLRLLLRLLRLRLRRRRLLRRRRRLRRLLRRLRLRRLLRLLLLLLLRLRRLRRLLLRRRRRRLRLRRLLRLLLRLLRLLRRLLRLRLRRRLRLRRRLRRRLRRRLRLRLRLRLLLRRLRLLRRLRRLLLRRLLLRLLRRLRRRLLRLRRRLRRRRLRRRRRLLLLRLLRRRLLLRLLRLRLLLRLRLLRLRRRLLLLRRLLRRRLRRLLRRLLRRRRRLRRRRLLRLLRLLRRRLLRRLLLLRLLLRRLRRRRLRRRRRLRRRRLRLRLLLRRLLLRLRRRLLLRRRLRRRRRLLRLRRLLRLLLRRLRRLLLLLLRRLRLLLRRRRLLRLLRRRLLLRLLLLRLRRLRRRRLRRRRLLLLLLLRLRLRLLLRLRLRLLRLRLRLLLLRRLRLRRRRLLRRRLLRRLRLLRLLRLLLRRLRLRRLLRLRRLLLRLLLRRRLRLRRLRLLRLRRLRRLRRLRLLRRRRRLRLRRLRLLRRRLLRLLRRLLRLLRLRLRLRRLLRRRLLLLLRRLRLLLRLRRRLLRRRLLLLRRLLRLRRRRRLRLRLRLRLLRRRRRLRLRLRRRRRRRRRLLRLLRLRRLLLRLRLRLLLLLLRRLLRRRLLLRRRLLLLRLLLRRLLLRRLLRLLRRRRRRRRRLRLLRRLLLLLLRRRRLRRRLRRRRLRRRRLRLRLLLLRLLLRRLLRRRLLRRLLRLRRLRLRRLLRLLLRRLLLLLRRLRRRRLRRLLLLRLRLRLRRRLRRLRRLRLRLLLRLLLLRLLRLLLLRRLLRLLLRLRLRLRLLLRLRLRLRRRRLLLRLRLRLLLLRRRRRRRRRRRRLRRLRLRRRRLLLRLRLRRRRRRLLLLRLRLRRLRRRLLRRRLRRRLRRRRRRRRRRLRLLRLLRLLLRRRRLRLLRLRRLLRRRLRLRRRLRRLLLRLLRLRLRLLLRLRRLRLRLLRRLLLLRRLRRRLLRLLLRLLRLLLLRRLRLRRRLLLRRLLLLRLLLRLLLRRRLRRRRLRRLLLLLRLRRRLLRRLRLRLRLLRRLRRLRRLRRLLLRRRLLRLRLLLRRLRRLLRLRLLRLLLRRRLLRLRRRLLLRRLLLRRLLRLLRRLRLRRLLRLRRRRRLLRLLRLRLRLRLRLLLLLRRRRLRRLRRRRLRRRRLRRRRLRLLRRRLLRRLRRLLLLRRLRLLLRRRLRLRRRLLLRLLLRRLLLRLLLRRRLLRLLLLRLLRRLLLLRLRRRLRLLRLRLRRRRRLRLRLLRLLLLRRRLLRLRRRRRLRLRLRLLRRRRRRRRRLLLLLLRLRLRLRRLRLLRRLLRLRRLRRRLRLRRLRLLRRLRRLRRLLRRRLLRRRLLRLRRLLLRLLRRRRLRRLLRRRRRLRLRLRLRRRRRRLLLLLRRRRLRRRLRLLRRLLLRLRLRLRRLRRRRLRRLRRRLRLLLRLLLRLLRLLLRLLLLLLLRRLLRRRRLRLLRLRLRLRLLRRLRLRLRRRRLRLLLLLRRLRLRLRRRLLLRLLRRLRLLLLLLRRRLRLLLRRRRRRLLRRRRLRLRLLRLRLRLLRLLRLLLRRLRLLLLRLRRLRRRLLRRRLLRLRLRLLRRRLLRLLRRRRRLLRLRLRLLRRRRRLRLLLLRLLRLRRRLLLRRLRRLLLRRRLRLLLLLRLRRRLRRRRRLLRRLRRLLRLRLRLLRLRRRLLLLLLLLRRLRLRRLLLRLRRLLRLRRRLLLLLRLRLRRRLLLLLRRRRRRRLLLRLLLRRLLRRLLRRRRRRRLLLRRLLLRRLLRRRRLRLLRLRRLRLLLRLLRLLLRLRLLRRLRRRLLRRLRRLRLRRRRRRRRLRLLLRLRRRRLLLRRRLLRLRLRRLLRRRRLLRLLLLRRRRLLRRLRRRRRRRRLLLRLLLRRRRRRLRRLRRLLLRLLRRLRLLRLRLRLLRRRRRRLRRLLLRLRLLRRRRRRRRLRLLRLLRRLLRLLRLRRLRRRRLLRLRLRRRLRRLLRRLLRRLLRRLRLLRLRRLRLLRLRLLLLRRLRRLRRRRLRLLLLLRRRRRLLLLLLRLLRRLRLLRLLLRRRLRRLLLLRLRRLRLLLLRLRRRRRLLRLLLLLRRLLLLLRLRLRRLLLRLLLRLRRLLLRLLRLLLRLLLLRRRRRLRLRRLLLLLLLRLRLRRLRLRRRLLLRLRRLRRLRRRLLRLLLLLLLRLLLRRRRRLLLLLLRRLLLLLRRLLLLRLRRRLRLRLRRRLRLRRLRLRLLLRRRRLLLLRRLRRLRRLRLRLRRRLLLLRRLRLRRRRLRLRRLRRRLLLRLRLRLRRRLLLLRRRLRRLRLRRRRRRLRLRRRRRLLLLRLLLRRRLLRRRLRLLRRRLRLRRRLRRLRLRRRLLRRLRRLLLLLLLLLRLLLLLLRRRRLLLLRLLLLLRLRLLRRRRRRLLRLLRLRRRLRLLLLLLLLLLLRRLRLRRLRLLRLRRRRLRLLLRRRLLLRLRRRLLLRLRRLRLLLRLLLLRRRRRRLRLRLLLRLLLRLRLRRLLRRRLLRLRRLLRRLLLRRLRLRRRRLRRRRLLRLRLRRLRRRRLLLRRLLLRRLRLLLLLRLRLLRLRRRLLRRLLLLLLRRLRRLRLRLRRRLLRLLRRRRLLLLRRLLLRRLRLRRLLLLRRLRRRRLLLLRLLRLLLRRRLLRRLRRLRRRLLRLLLLLRRLLLRRLRLRLLLLRRRRRRLRRLRLLLRLRLLLLRRRRRRLRLRLLRRLLLRRRLRRRLRRLRLLLRLLRLRLLRLRRRRLLLLLLLLRLRLLLLLLRRLRRLRLLRLRRLLLLRLLLLLRLLRLLRLRRRLLLLLRLRRLLRLRLRLRRLRRRLLRLRLLLRRRLRLRLRRRLRLRLRLRLLLRRLRRRRRRRRRRRRLRLLRRRLRLRLRRLLLLLLLRRRLLLRRRRLLLRRLLLLRRLLRLRRLRRRRRLRLRRRLRRRLLLRLLLRLLRRLLRRLLRRLRRLLLLLLRLRRRRRRLLLLRLLRLRRLRLLLRRRRRRLRLLLLRLLLRLLLLRLRLLLRRRRRRLLLRLLRLLLRRLRRRLRRRLRLLLLRRRRRRLRRLLRRLLLLLLLLLRLRLRRLRRRRRLLRLLRLLLRLRLRRLLRRRRRRLRRLLLLLRLRLLRRLLLLRRRRLLLRLRRLRRLLRLLRLLRLLLRRLRLLLLLRRLRLRLRRRLLLRRRLRRLRLLLRLRRLRRLRRLLRRRLLRLLRLRRRRLLRLLRLLLRRRRRRLLRRRLRRRRRLRLRLRRRRLLRLRRRRLLRLLLLLRRRRRRRLRRRRLRLLRLLLLRLRRLLRLLLLRRRLLRRRLRRRRLLLLLLRRLLLLLRLRRLLLRLLLLRRLLRLLRRRLRLRLRRLRLRRRRLRLRLLLLRRLRRRRRRRRRRLLLLRLRLRLRLRLRLRLRLLRLRRRLLRRRRRLRRRRLRRRRRLRLRRLRRLRRLLLLRLLLRRLRLRLLLRRRLRRRRRRRLRLRRLRLRLRLRLLRRLLLRRLRRLLLLLLLRLRRLLRRLRRRRLRLLLRRLRRRLRRRRLLRLLRLRLLRRLLRLLLRRLLLRRLRLLRRLRRLRRLLRLLLRLRRRRRRRRRRLRRLLRLRRRRRLRLRRLLRLRLLLRLRLRLLLLRLLLLRLRLRLRLRRLLRLLRLRLLRRLRLRLRLLLLRRLRLRLRRRLLLRRRLRRRLRLLLRRRLRRLLLLRRRLRLLRLLLLRRRRLLLLRLRLRLLLRRLLLRRRLLLRLLLRLRRLLRLRRLLLLRRLLRRLRLLLRLLRLRRLRLRLRLLRLRLRRLLRLRLLRLLLRLRLRRLRRRLLRLRRRRLRRLRRLLLLLLRRLLRLRLLRRLRLRRRLRRLRRRLRRRRLLLLRLRLRRRRLRRRRLRLLLLLLLRRLLLRLRLLRLLRRLRRLLLRLLRRRLLLLRLLLRLLRLLRLRLRRLLLLLRLLRLLRRRLRLRLRLRRRLLLLRRLLRLRRRLRLLLRRLLLLLRLLLRRLRLRRLRLRLLRRLLLRLLLLLLRLRLLRRRLRLRLLRLLLRRLRLRLLRLRLRRRRRRLLLLRRRRRLRRRRLRRRRLRRRLLLLRLLRRRRLLRLLRLRLRRRRLRRLLRLRRLRLRRRLLLLRRLRRLRRLLLLLRLLRRRLLLRRRRRLLLRRRLLRLLRRLRRRRRLRLRLLLLLLRLLLRRLRRLLLRRLLRLLRRLRRRLLLRLLLLRRLLLLRLRLLRLLLRRLLLLLRLRRLLRRLRRRLLLLRLRLRLRLRRRLLRLLLRRLRLLRRRRRLRRLRRRLLRRRLRRRRRRRRRLLLRRRRLLLRLLLLLLLLLRRLRLLLLRLLLRRRRRLRRRRLRLRLRLLRRLLRLLLLLLRLLRRLRLLLRLLRLRLLRRRLRRRRRRLLLRLRLLRLLLRLLRLLLRRRRLRRRRRRLRLLLRRRRLLRLLRRLRRRLLLRLLRLLRLLRRLLLLLRRRLLRRRRLRLLLRLLRRLRLRRLRLRRLLRLRLRLLRLRLRRRLRLRRRLLRRLRRLLRLLRLRLLRRLRLLRLRRLLLRRRRRLRLRLRRLRLLRLLRRRLLLLLLLRLLRLRRRLRLRLLRRRRLLLRRRRRLLLLLLLRLRLRLLLRRLLLLRLLLRLLLRLRRLLRLLRLRLRLLLRLRRRRRRRRRRRRLRRLRRRRRRLRLLLRLLRLRLLLRLRLLLRLRRLRLRRLRLRLLLLLRRLRLRLLRLLRLLRLLRRRRRLLLRLLLRRRRLLRLRRRLRLLRRRLLRRLLRRLRRLLLRLRRLLRRRRRLLLLRLRLRRRLRRRRRLRLLLRLLLRLLRLRLRLRLLRLRLLLLRLRLLLLRRLRLLLLLRRLRLRLRRRRRRLRRRLRLLRRRRLLRRRRRLRLRRLRRLRLLLRRLRLRLRLLRLLRRRLLRRLRLLRLLRLRLRRLLLLRRRRRLLLLRRLLRLRLRRLRLLLLRRRLRLRRRLLLLLLRLRRRLRLLLRLLLLLRLRLLLLLRRRRLRLRLLRLLLRRRRLLRRLRLRRLRRLLRRRRLLRLLLRLRRRRRLRLRRRRRRRRLLRLLRLLLLLRRLRRLLRRRRRLLRLLLRLLRRLRLLRRLRLLLLRRLLRLRLLRRRLLLRRLLLLLRRLLRRLLLLLRLRRLLLLLLRLLLRLRLRLRLLRRLRRLRLLRRRRRRRLLRRLRLRRLRRRLLRRLRRLLRLRRLRRRRLLLLRRRRRRRLLRLRRRRLRRLRRLRLLRRRLLRRRRRRRRLLRRLLRRLLRLRRRLRLLLLLRLLLLLLLRRLRLLLRRRLLRLLRLRRLRRLRRLRLLRLRLRLRRLLLRRRLRRLRRLLRLLLLRLLRRRRRRLLRLRRRRRRLLLLRRLLRLRLRRRLLLLLLLLLRRRRLRRRRLLRRLRLLRRLRRRLRLRRLRLLLLRRRRLLLLRLLRRRRRRRRRRLLRLLLRRLRLLLRLLLRRRRLRLRRRRLRRLLRLRRRRRLRRLLLLRLLRRLLRRLLLLLRRLRLRLLRRLRRLLRLRLRLLLLRLRRRLLRLLRLRLRRLRRRLRRLLLLRLRLLRRLRLRRRLLLRRLLRRLRLRLRLRLRLLRRLLLRLRLLLLLRLLLLLRLLRLRLRRRRLLLLRLLLLRLLRRRLLRLRRLLLRRLLRRRRLRLRRLRRRRRRRRRRLLLRRLRLLRRLRLRLRLLRLRLLLRLRLLLLLRLRLLRRLLRRRRLLRRLRRRRRLRRRRRRRLLLLLRLRLRLLRRLRRLLLRRLLLRLLLRLRRRLLRRRLRRRRRRRLLLLRLLRLLRLLRLRLLLRLLRRRRLLLRRLLLLLRLLLRLRLRRLLRRLRLLRLRRLRLRLLRRLLRLRRLRLLLRLRRLRLLRRLLRLLRLLRLRLRRRLRRRLLLLRLLLLRRLLLLRLRLRLLRRRLRRRLLRRRRLRLLLRRLLRRLLLLRLLRLLLRLLLLRLLLRRLRLLLLLRLRRRLLLRLLLLRLLRRLLLLRRRRLLLRRRRRLRLLRRRRLLLLLLRLRRRRLLRRLRRLLRLRRLRLLLLLLRLLRRLRRRLLLLLLRLLRRLRRRRLRRRRLLLLLLRLRRLRRLRLLRLRRRRRRLRRLLRRRLLLLLLLLRLLLLLLLLLLLRRRRLLLRRLLRRLLLRRRRRLRLLLLLRRLRLLRRLLLLLRLLLLLRRRRRRRLLRRLLRRLLRRRRRLRLRLLRRRRLRLLLRRRLLRRLRRLRRLLRRLRRRRRRLRRRRLRLRRRLRRLLRLLLRRLRLRRLLLRLRLRLLLRRLLLLLLLLRLRRRRLLRLLLRRLRLRRLRLLLLLRLLLRRLRRLLRLRLRLRRLRLRRRLRRRLLRRLLRRLLLRLLLLLLLRRLLRRRLRLRLLRLRLRLLLRLLLRRRLLLLLRLRLLLLRLLLRLLRLRLLRLRRLLLRLRRLLRRLLRLLRRRLRLRLLLRRRLRRRRLRLRLRRRLLLLLRLLLRRRLLLRLRLLLLLLRRRRLLLRLRLLRRLRRLRRLLRRRRRLLRLRLLRLLLRRRRLRRRLLRRRRRLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRRRRLRLRLLLLLRLRRRLLRLRRLLLLLRRRRRRRLLLLRLLLRRLLRLLLRRLRRLRRLLRRRRLLLLRLLRLLRLRLLRLLLLRRRLLRLLLLLLLRRRRRRLLRLRLLLLLRLLRRLRRRRRLLLLRLRLRRLRLRRRRLLRRLLRRLRRLRLLRRRLLRLRLRLLLLRLLLRRRRRRRLLRLRRRRLLRLLLLLLLLLRLLLLRRLLRRRLRRRRLLRLRRRRLRLLLLRRRRRLRLRLLLLRLRLRLLLRLLRLRLRLLLRLRLLLRRRLRLRRRRLRLLLRRLRLRRRLRLLLLLLRRRLLLRLLLRRLLLLRLLLRLRLLRRRLLRRRLRRLRLRLLRRLLLLLRRLRRLRRRLRLRLRLRRRRLRLLRLRRRRLLRLRRRLLLLRLLLLRRLLLLRRRRLLRLLLRRLRLLLLRRLLLLLRLRRLLRLRLLRRRLRRLLRLLLRRLLRLLLRRLLRRRLLLRRLLRRLLLRRLRLLRRLLLRLLRRRRLLLRRRLLLRRLLRRLRRRRRLLLLRRLRLRLLLLLRRLLRRRLLRRLLRRLRLLRLRRRRLRRRRLLRRRRLLLLLLLLLLLRRRLRRRRRRRLRRLLRRLLRLLLLLRRLRLLLLLRRRRLLRRRRRLRRRLRLRLLRRRRLRRLLRRLLRLLRRRLRLRLRLRRLRRLLLLRLLLRRRRRLLRRRLRLLLRRLLLRLLRLRRRRLRLRRLRLRLRLLLRRLLLLLLLLRRLRLLLRLRRRRLLRLRRLRLRLRLRLRRRRRRRLLLRLRRRLLRRLLLLRRLRRLLRLLRRRRLLLLLRRRRRLLLRRRLRRLLRLLRLLRLRLRRRRLLRLRRLRLLLRRRLLLLLLRLRLLRLRRLLRLLLRLLLRLRRLRRLRRLRLRRRRRRLRRRRLRRLRLLRRLLRLRRRRLLLRRLLLLLRLRLLRLLRLRLLLRRLLLLRRLRRRLRLRRLLLRRLRRRRRLRLLLLLRRLRRRRRLLLRLRLLLLLRLLLRRRRRLLLRRLRLRLRLLRRLLRLRLLLLLLLLLLLRRLLLLRLLLLLRLLRLLRRRLLRLLLLLLRLRRRRLRLLRLRLRRLLRLRLRLLLRRLRLLLLLLLLLRRRLLRRLRRLLLLLLLLRRRLLLRRRLLRLLLLRLRLRLRLLRRLLLLRLRRRLLRRLRLRLLLRRRRRRLRRRLLLRRRLRLRLLRLLRLRLLRLRLLLRLRRLRRRRLLRLLLRRLLRRLRRLRRRRLRRLLRRLLLLRRLRRRRLLLLRRLRRLRRRRRLLRLLRLRRLLLRLRRRRLRRLLRRLRLRLRLLLRRRRLRRLRLLLLLRRLLRLLLRLRRRRLLLLLRRLLLLLRRRRRLLRLRLLRLRRRRRRRRRRLLLLRLRLLLLRRLRLLLRLLRLRRLRLLRLLLLLRLLLRLLLRLRLRRLRRLRRRRRRRRRLLLLLLLRRRRRLLRRRLLLLLLLLLLLLLRRLLLRLLLRLRLRLLLRRLRLRLLRRLRRLRLLLLLRLRRRRLLRLLRLLRLRLLLRRLRLLRRRRLLRLLLRLLLLRRLLRRLRRRRRRRLRRRRLRRLLLRRRLRLLLRRRRRLLRLRRRRLLRRLRLRRLLLRLRLLRRLLRLLRRRRRRRLRLLRLLRRRRRRLRLLRLLRLRLLLRLLLLRLLRLLLRRLRLLLLRRRRRLLRLLLLLLLLLRLLRLRRLLLRRRRLRLRRRLRRLLLLLRLRLRRRRRLRRLRRLLRRLLRLRLLRLLLLLRLRRRRRLRRLRLLRRLLRRLLLLLRLLLRLRRLRRLRRLRRRRRRRLRLLLRLRRRLLLLLRRLRLLRLLLLRRRRLRRLLRLRRLRLLLLLRLLLRRRLLLLLLLRRRLRLRRRLLLRRRRLRLRRLRLLRRLLRRLLRLLLRRLRLLRRLLRLRRLRLLRRRRLRLRLRRRLRRRLRLRRRRLLRRLLLLLRLRRLLRRRLLRLLRLLLRRRLLRLRLRLLRRLRRLLLLRRRRRLRLRRLRRRLRRLRLRLLLLRLRLLRRLLRRRLLLRRRRLRLLLRRRLLRLLLLLLLRLLRRLRLRRRRLLLRRLRRRLLRRRRLRRRRLRRRRLLLLLRRLLRRRLRRLRLLLRRLLLRRRRLLRRLRLLLRRRLRLLRRRRRRRLRRLRLLRLLLLLLRRRLLLRLLRRRRRRRLRRLLRRLRLRRLRLRRLRLRRRRRRRRRLLRLLRLLRRLRRLRLLRRRRRLLLLRLLLLRLRRLLLRRRRRLLRRRRRLRLRLRLLRRLRLRRRRLLRLLRRRRRLLLRRRRRRRRLLLRLRLLLRLLRLLLRLRLRRLLLLLRLRLRLRLLLLLLLRRRRRRRRRLRRLRLRLRRRRLLLRRRRLLRRRLLLRRRRLLRLLLRRLLLRRRRRLLRLLLLLLRRRRRRRRRRRRLLLLRLLLRRLLLLLRLLLLLLRLRRLRRRRLRRLLLLRRLRLLRLLRLRRLRLLLRRLRRRRLRLLRLLRLRRLRRLRLRLRRLLLRRRLRLRRRRLRLLLLRRLRRRLLRRLLRLLLRRRRRLRLRLLRRLLLRLLLRLLRRRRRLRRRRRRRLLRLLLLLLLLRLRRRRLLLLLRRRRRRLLLLRRLRRLLRRRLLRLLRRRLLLLLLLRLLLRLRLRLLRLRRLRRLRRLLRLLRLRRRRLRRLLLLRLRLRLLLRRRRLLRLRLRLRLRLLLRRLRRRRLLRRRRLRLRLLRRLRRLLRRLRRRLLLRRLLLLLRLLLLLRLLLRRLRRRLLRLLLLRRRLRRRRRLRLRLRRRRLLRLRLRRRLRLLLLLRRLRRLLLLRRLLRRRRLLLLLRRLRLRRRRLRLLLRRRLLLLRRRLLRRRLLRLLRLLLLRRRLRRLLLLLLLRRLRRRRLRLRLLLRRRLRLRRLLLLLLRLLRRLRLRRLLLLLLRLLLLRLRRLLRLRRLRLLRLRLLLLLRRLLRLRRLRRRRRRRLRRRRLLRRLRRLRLLLLLRRRRRRLRLLLRRLRLRLLLLLLLRLRLLRRRRRRRLRLRRLRLLRRRLLLRLLRRLLLLLLRRRLRRLRLRRLLRRLRRLLRRLRRLRLLLLLRRLLLRRLRRLRRLRLRLLLRRRLLRRLLLLLRRLRRLLLRRLRRRLRRLRRRLLLRRLLLLLLRRRRRRLLLRLLRRLRRLLRRLRRLRLRLLRLRRLRRLRRLLRRRRLLRRLLRRRRLRLRLRRRRRLLRRLRLRRRRLRRLRLRLRLRLRRRLLLLRRRRRRLLRLLLLLRRLLLRRRLLLRRLLRRLLLRLLRRLRRRLRRLRLRRLRLLLLRLLRLRLLLRRLRRLRRRLLRRRRRRRLLRRRRLRRLLRRRLRLRRRLLLRRRLRRLRLLLRLLLLRRRRLLLLLRLRRLRRRRLLLLLRRRRLRLLRRRLRRLLRRRRRRRRLLRLLLRLRRLRRRLRLLRLRRRRLRLLRRRLRRRLRLLRRRLLRRRLRLRRLLRLLLRRRRRLRRRLLRRRRLRRLRLLLLRRRLRLRLRLRRLRRLLLLRLLRLLLLRRRLRRRLLLRRLLRLRLLLLRRLLRRLRRRLRLRRRLLLRLRRRLLLRLLLLLLLLLRLRLLRRLRLLLLRRRLLRLRLLLLRRRLLLLLLRLRRRLLLLLRLLLRLLLRRLLLRRRRRRRLLLLLLRLLRLRLRRLRRRRRRRLLRLRRLLLLLLRLRLLLRRRLLRRLLLLRLLLRLRLLRRLRLRLRRRRLRRLRLLLRLRLLLLLRLRRRLLRRLLLLLLLLLRLRLLRRRLLLLRRRRLRRLLRLLLLRRRRRLLLRRLLLRRRRRLRLLLRLRRRRRRLLLRLLRLRRRRLLRLLLLLRLLLRRLLRRRLRRRRLRRRRRLRLRLLRLRLRRRRRLLRRLRRRLRRLLRRRRLRLLLLLRLRRLLRLRRRRLRLLRRRLRLRLRLRLLRLLRLLLRRLRRRRRLRRRRRLLLRLLRRRLRLLRRRRRLLRLRRLRRRLRLRLRRLLRLRLLLLRLLLRRRLRLLLRLRRRLRLLLRRLRRRRLRRRLLRLLLLLRLLRLLRRRRRRRLRRRLRLRLRRRRLRLRRLRRRLLRLLLLLRLLLRLRRRRRRLRLRLRRLLRRLRRRLLRLRLLLRLLRRRLLLLRLLRLLLRLRLRRLLLLRRRRRRLLLRRRRLRLRRLLRLRLLRLLLLRRLRRLRLLRRRLRRRLLRRRRRLLRLRLRLLRLLLLLLLRRRLRLLLRRRLLLLRRLLRLLRLRLRRLRRLRLLLRLRLLLLRLLLRRLLRLLRLRRLRLRRLRRLRRLLRRRLRRRLLLRLLLLLLRRLRRRLRLLLLRRRRLRRLRRRRLRRRLRRRLRRRRLRLLRRLLRLRRRLLRLRRLRLRLLLRRLRLLLLLRLRRLRRLRLLRLRLLRLLRLLLRRLRLRRRLRRLLRRLLRRRLLRLRRLLLRRLRRLRRRLRRRLRRLRLRRRRLLLLLLRRRRLLRLLRLLLRLLLRLLLRLRRRLLRRRRLLLRLLRRLRLLRLRLRLRRRLLLRLLLLLRRLRRLRRRLLRRLRRLLLLLRLRRLRLLLRRRLRRRLRLRLLRRRRRLRRLRRRLRLLLRLLLLLRLRRRRLRLLRRLRRRLLRLRRRRLLRLRLRLRLRLLLLRRLLLLRLLRLLLRLLRLLRRLRRRLLRRLRLRRLLRRLLLLLLRLRLLRRRRLLRRLRLLRLLLLRRLLLRLRLLLRRRRRLLRRLRLRRLRRRLLRRLLLRRRRLRLRLLRLRRRRRLRLRLLRLLLRLLLRLRLLRRRRLLLRLRRRRLRLLRRLLLLLLRRRLRRRLRLRLRLRLRLLRRLRRRRRLLLRLRLRRRLLRLRLRRRLLLRLRLLRRLLLLRRLRRLLRRLRLRLLRRLLLLRLRLLRRRRRLRLRRLLLRRRLLRLRRLLLLLLRRRRLRRRRRRLRRLLRLRLRRRLLLLLLRRLRRLRLLLLLLRRRLLLLLLRLLRLLLRLRLRRLRRLRLLLRRRRLLLRRLRLLLLLRRLLLRLLLLLRLRLLRLRLLRLLRLLRRRLRRRLRLLRLLLLRLLRLLLRRRLRRRLRLLRLLRRRRLLLRRLLLRLRLLLRRRRLLRRRRLRLLLLRRRLRLRRLLRRLLRLLLRLRLRLLRRLLLLLRLLRLRRRLLRLRLLLLLLRLLRLRLRLRRLLLLRLRLLLLRLLLLLRLLLLLLRLRRLRLLLRLRLLLRRRLRLLLRLLLRRRLLRRLLRLLRLRRLLLLLRLLLRRLRLRLRLRLRRLLRRLRRRLLLRLRRRLRRLLLRLLLRLLLRLRLLLRRLLLLRLRLRRLRRLRLLRLLRRRLRRRLRRRLLRLRRLRLLLRLLRRLLRLLRLLLLLLLLRRRLLRRRRLRRLLRLLLLRRLRRRRLLRLLLLRRRRRRRRRRLLLRLRLLRLLRRLLLRRLLRLRLRLRLRRRLRLLLRLLLRLRRRRRRLRRLLRRRLRLLRLLRRLLLRLRRLRLRLLLLLRRRRLRLRRRRRLLRRLLLLLRLRRRRLRLRRRLRLLRRRLRLRRLLLLRRRLRRLRLRRRRRRLRRRLLLLLRLLLRRLLRRRLLLRLLRLLLLRRRLLLRRLLRRRRRRRRRRLRRLRRLRLLLLLLLLRLLLLRLRLRLLRRLRLLRLLLLLRLRLLRRRRRRLRRLRRRRLRLLRLRRLRRLLLRRRRRLLLRRRRLLLRLRLLRRRRLRLRRRLRRLRLRRLRRLRRRLLLRLLLRRRRLLRLLLLLRRLLRRRLRRRRRLRRRLLLLRRLLLRLRRLLRRRRRRRRRRLRLLLRRLLLRLLRLRRRRLLLRLRRLLRLRLLLLLLLRRLLRRLRLLLLLLLLRRLRLLRRRLLRLLRLRRLLLLRLRLLLLRLLRRLRLRRLRLLLRRRLLLRLLRLRLRRRRLRLRLLLRRRLLRLRRRRLLRRLRRLLRLLLLLRLLLRRRRRRLRLLRRLRLRRRLLRRLLLLLRLLLLRLLLRLLLLRRRLLRLLRLRRRLLRRLRRRRLLRRLLRLRLLRRRLRLLLRRRRLRRRLRRRLLRLRRLLLRRRLRLLLLRRLLLRLLRRLLLLLLRRLLLRLLRRRRLRRRRRRLLRLRLRRLRRRLLLLLRLLLLRLRRLRRRLLLLLRRLRRRRRLLRRLRRRLLRRRLRRLRLRRLLRLLRRRLLLRRLRRLLRRLRLLLRLLRRRLLLLRLLRLLLRLRRRRRRLRLLLRLLLLRLLRLRRLLRRLRRLLRRRLLRRRLRRLLLRLLRLRLLRRRLLRRLRLLRRRLLLLLRLLLRLRRRRLLLRLRRLRRLRRLRLRLLRLLRLRRLLLLLLRRRRRRLLRLRRRRRRLLRLRRLRRLLRLRRLLRRRLLRRLLLLLRLLLLLRRLRRRLRRLRLRRRLLLRRRRRLLLRRRLLLLRRLRLRRRRRRLLLRRLRRLLLRRLLLRRLLLLLLLLRRLLRLRRLRLLRRRRLRRRLRLRLLRLLRLRLLLRRRLLRLRLRRLRRLRRLLRLRLLLRLRLRLRLLLRLLLRRLLRLRRLLRRRRRRLRLRLLRRRLRLLRLLRLLRLRRRLRRLLRLRRRLLLRLLRRLRRRRRRRRLRRLLRRLRLLRRRLRLRLRLLLRLRRRRRRLRLLLRLLLRLLRLLLRLLRRRRLRLLLLRLLLRLLRRLRLRRLLLRLRRRLLRLRRRLLRRRLRLRLLLRLRRRLLRRRLRLLLRRRLRLLRRLLLRLLLLLRLLLRLLLRLLLLRLRRRRRRRLRRLRLLRRRLRLRLRRRRRLLLLLLLRRRRRRRRLLRLRLLRLRRRRRRLLLLLLRRLRRRLRRRLRLRLRLRLLLLLRRLLLRLRRLRRRRLLLRRRLLRLLRLLRLLLRLLRRRLLLLLLRRLLLLRRRRRRLLRRLRLLRRRLRRLLLRLRLRRRLRLLRRRRRLRRRRRRLRLRRRLLRRLRRLRRRLRLLLRRLRLRLRRLRRLLRRLRRRRRLLRRRLLLLRRLLRLLRLLLLRRRRRRLLRRLLLLRLRRRLRRLRLLLLLRLRRLLRRLRRLLRRRLRRRRRRLLRRRRLRRRLLLLRRRRRRRRRRRLRLRRLRLLLRRRLRLLLRLRRRLRLLLLRRLLRRLRRRLLRLLLLLLLRLLRLLLLLRRRRLLLRLLRRLLRLLRRLRRLLLRLRRRLLLRLRLLLLRLLLRRRRRRRLRLLRRRRLLLLRRRRLRRLLLLRLRLLLLLLLLRRLRLRRRLRRLRLLLRLLLLLLRLLRLLRRLLLLRRLLRRRLRRLLLRRLRRRRRLLRRRLRRLLLLLRRLLLRLLLRRLRLLLRRLRRLRLRLLLLLLLRLRRRRLRLRRLLLLLRLLLLRRLLRLLRLRLLLRLRLRLLLRRRLRLRRRRRRRRRRRLLRLRLRLRLRLRRRLLRLRRRRLLLLLLLLLRRLLLRLLLRLRRRRLRLRRLLLLLLLRLLRLLLRRLLLLRLRLRRLRLRRRRRLRLRLLRRLRRLLLLLRRRRRRRLLLRRLLRLLLLLLRRRRRLLLRLRRRLRRLRLLLLLRRLRRLLLLRLRRRLLLLLLLLLRRRLRLRRLRRLRRLRRLRRLRRLLLLRLRRLRRRRLRRRRLRLRLRRRLRRLLRLRLLRRRLRRLLLRLRLLRLRRRLRLLRLLLRLLRLRRLLRLRRRRLLRLRRRRRRLRRLRLRRLRRLLLRLRRRLRRLLRRLLRLLRLRRRRLRRLLRLLRRRLLLRRLRLLLLRRRLLRRRRLRRLLLLLRRLLRRLLRRLLLRRRRLLLLRLRLLLLRRLLLLLLRLRRRRRLRLLLLRRLLRLLRLLLRLRRRRRLRRLLLRLRLRLRRRRRRLRRLLRRLLLRLRLLRLLLRRLLLLRRLRRRRLLLLRLRRRLLRLLLLLRRLRRRLRLLRRRRRLRRRLLLRRRRLLRRLRRRRLLLLRRLLRRLLLLRLRRLLRRRRRLLLRRRRLLLLLLLRLLRLRRRLRLLLLRLRLLRLRLLRLRLRLRLLRRRRLLRRLRRLLLLRLRLLLLLRRRLRLLLLLLRLLRRRLLRRRLLRRRLRLRLRRRLRRRLRRRRRLRLLLRRRLRRRLLRLRLRLLLRRRRLRRRLRRLRRRLLLLLRLLRLLLLRRRLLRRLLRRRLRRRLRRRLRRLRLRRLRLRLLRRRRLRRLRRRRRRRLRRRRRRRLRRRRRLLRLLLRLLRLRRLRLLRRRLRLRRRRRRRLRRLRLRLRRRRRLLLRLLRRRLRLLRLRRRRRRLRRRRLLRLLLRRRRRLRLLLLLLLRLRLLRLLRRLRLLRRLLLLLRLLRLRRRRRLRRRLLLLLRRLLLLLLRRRRLRRLLRRRLRLRRLRLRRLLLLLRLRLLLLLRLLLLRLLRRRRLLRRLLLLLLRLRLRLRRRRRRRRLLLLRRRRLRLLLRRLLRRLRLLLRLLLRLLLLRRRRLRRRLRLLRLRLRRRRLRLRRRRRRRRRRLLRRLRRLLLLRRLLRLRRRLLLLLRLRRRRRLLRLRRRRLLLLLRRLRRLLRLLRRRRLRLRRRRRRLRRRRLRRLLRLLLLRLLLRRRLLRRLRRRLLRRLRLLRRRLLLRLLRRRRLLRRLRRLLLRLRRRRLLLRRRLRLRRRLLRRRLLRRLLRRRLRLRRLLRLRRRLRLRLRLLLLRLRRRLLLLRLLLRLRRRRRRLLLLRLLLRRLLRLRRLLRRLLLRRRLLRRRLLLLLRRRRLRLLRRRRRLRRRLRLLLRLLRRRLLLLLRRRLLRLLRLRRLRRLLLLRRLRLRRLLLRRRRLLRRRRRRRRLLLRRLRRRRRLRRLRLRRRLRLRRRRRRRLRRLRRLLLRRRRRRRLRLRLRRRLRLRRLLRRRRLRLRLLLLRRLRRLLLLRRRRLLRLRLRLLLLRLLLRLRRRRLLRRRLRRRRRRLRRRLLRRLLRRLLRRRLLRLRLRRRRLRRRLLLLRRRLLRLRRRRLRLLLLRLLLLRLRRRLLRRLRLRRRLRLLRLRLRRLRLRLLLLLLRLRLRRRLRRRRLRLLLRRLRRRLLRLLLRLRLRLRLLLLLLRRRLRLRLLLLRRRLLLRRRRRLLRLRLRLLLRRLRRLRRRRLLLRLRLRRLRRLRRRRLLLRRRRRLRRLLLRLLRRRRLRLRLLLRLLLLLLLRLLLRLLLRRLLRRRRLLLRRRRLRRLLLLRLRRRRLRLLRRRLLLRLLRLLRRRLRRRLLRLRLLLLRLLRLRRLLLLRLRRLLLRLRLLRLRLRLLLRLRRRRRLLRLRRRRRLRRRLLLLRLLRRRRRRLRRLLRRLRRLLRRRRLLLRRLRRRLRRLRRLLLRRRRLRRRRRLRLLLRLRLLRRRLLRLRRLLRLRLRRRLLRLLRLLRRRLRRRRRRRRRLLLLRLLRRLRLRLRLRLLLRLRRLLLLRRRLLLRRLRLLLRRRRRRRRRLRRLRRLLRLRLRRRRRLLLLLLLLLLRRLLRLLRRLRLRLRRRLLLLRRRLRRRLRLLLRRLLRLLRRRRLRRRRLLLLRLLRRLLRRRLLRLLRLLRRRLLRRRRLLLRRRLLRLRLRRLRLLLLLRRLLLRRRRLRLRRRRRRLLRLRRLRRRRRLRLRRLLLLRRLRRRLRRRLLRRRLLLLLRRLLLLLLLRRLLRLLLLLLLRLLRLLRLLLRLLLLRRLRLLRRRLRLLRLLLLRRRLRLLRLLRLRLLLLLLLRLRRRLRRLRRLRRRLRLLRLLRRRRLLRLRRRLRLLLLLRLLRRRRRLLLLLLLLRRRRRRLLRRRRRLRLRLLLLRLRRRLLRRLLRRLRRRRLLRRRLRLRLRRLLLLLLRLLLLLRLLRRRRLRRRLRRLRLRRRRRRLRRLLRRLRRRLLLRLLRLLRRLLLLRRRLLRRRLLRLLLRRRRRLLLLLRLLRRRRLLLLRLRRLRLRRLLLLRRLRRRRRRRRRLRRLRLLLRLLLLRLLLLRLLRRLRLLRRRRRLLLLLRRRRLLLLRRLRRRLRLRRLLLLRRLRRRRRRLLLRLLRRLRRLLLLLLLRLRLRRLRRLRLRRLLRRRRRLRLLLRLLRLRRRRLRLRRLLLRRRRRRLRLLRRRRLLLRRRRLLRRRRLLRRRRLLRRLRLRRLLLLLLRLLRLRLLRLLRLLRLRLRRRLRRLRRRRRRLRRRLLRRLLRRRLLLRLRRLLLRLLLLLRLRLLLRLRRLLRLRLRRRLLLRLLRLRRLRRRRLLRRLLLRRLRLRRRRRRRRRRRRRLLLRLLRRRLLLRLRLLLRRRLRRLRLLLLRLRLRLRLLRRLRLRRLRRLLRLLLRLRRLLLRRLRRRLRRLRLRLRLRLLLRLLLLRRLLRRRRRLRLLLRRLLLLLLLLRRRLRLRRLLLRLRRRRRLRRRRLLLLLLLRRRLRRLRLLLRLRLRRRRLRLLRLLRRRLLRRRLLRLRRRLLLRLRLLRRLRLRRLRRLLRLRLLLLRRRLLRLLRRLLLLLRRLLLRLLLLRRRRRLLRRRRLRRLLRRRLLLRRLLLLLRRLLLLRRRLLLRLLRLRLLLLLRLRRLRRLRRRRRRLLLRLRRRRLLLRLLLLLLRRLRLLRLLRLRLLRLRLLLLLLLLLRLLRRLRRLLRLLLLLRLLRRLRLRRRRRRRLRLLRLRLRLRLRRRLLLRRRLRRRLLLLRLRLRRLRRLRRRLRLLRRRLLLLLRRRRRRLRLRRRLLLLRRRRLLRRRRLLRLLLLRLLLRLLRLRRLLLLLLLLLRLLRRLLRRLLRRRLLRLLRLRRLLRLRLLLRRRRRRRLRRRLLLRRRRLRRRRRRRLLLLLLLLLRRRRRRRRLLLLRLRRLLLRRLRLLRRRRLRRLRLRLRRRLLLLRRLRLLRRLRLRRRRRLLLRLRRRRRRLLRLLLLRRRRLRLLRRLLLLRLRLLLLLLRRLRLLRLLLLRLRRLLRRRLRRLLLLRLRRLRRRRLRRRLRLLLLLLRLLLLLLLRRLRLRRLLRRRLLLLRRRRRRLLLLLLRLRRLLRRLRRLLLRRLLRLRRLRLRRRLLRLRLLLRLRRLRLLRLLRLRRRLRRRRLLLRRLLRLRLLRRRLRRRLLLRRRLRLRRRLRLLRRLLRLLRLLRRLRLRLRLRLLRRLLRRLRRRLRRRRLLRLRRRLRRRRRRRRRLLRRLLLLLRRRRLRLRRLLLRRRRLRLRLLRRLRLRRLLLLRRRRRLLRLRRLRRRLRRLLLLRLRRRLLRRRRRLLRLLRRLRLRLRRLRLLRRRLLRRRRLRRRRLLLRRRLRRRLRRLLLLLLLRLLRRRLLLLRRRLLLRRRRLLLLLLLLRLLRRRRRRLRRRRLLLLRRLRLLRLRLRRLLRLRRLLRRLRLLRRLLLLLLRLLRLRRRLRLLRLRRRLRLLRLLLRLRRRLLRLLLLLRRRRRLLLRLRLLRLLLRRLRLRLRLRLLRRRLRRLLLLRLLRRLLRLLRLRRLRLLLRRLLRLRLLLRLRRLRLLLRRLLRRLLRLLRLRRRRRLLLRRLLLRRRRRRRLRLRLLRRLRLRLLLLLLRRRLRRRLLRLRRRRRLRRRLRRLRRLRRLLRRLLLLRLLRLLLLRRLLRLLRLLRLRLLLRLRLLLRRRRRRLRLLRLLLRLRLLLLRLRRLRLLRRLRRLLRRLRLLLLLRRRLRLRLRLRLLRLLLRRRLLRRLLRRRRRRLLRRLLRLLRLRLLRLRRRLLRRLRLLRRLLLRLRLLLRLLLLLLLLRLLLLLLLLRLLLRRLRRLLRRRLRLLLLRLLRRLRRRLRLRLRRRRLLLRLRLLLRRRRRLRRLLRRLRRLRRLLRRRLLLRLLLLRLRRRLRRRRLLLLLRRRRRLLRRLLLLRLRRLRRRRLLLLRRLLRRLLLLRRRRRRLRLRLRRLRRLLRLLRLLRLRRRRLRLRLRLRLRLLRRLRLRLLRRLRRLLRRLRLLLRRRLRRRLRLRLRRLRRRRLRLLRRRLRRLRRRLRLLLRRLLRLRRLRLLRLRLRRLLLLRRLRLLRLRLRRRRLRLLRRRRRRRLLLLRRRRLRLRLRLRRLLLRLRLLRLLLRRLRRRLRLRLRLRLLRLRLLLLRRRLRLLRRRRLRLRLLRRLLLRRLLLRLRLRRRLRLRRLLRLRRLLLLRLLRRLLRRLRRLRLRRRRLRLRRLLRRRRRLRRRLLLRLRLLRLRRRLLRRLLRRLRRRRRLLRRRRRLLRRRRRRLLRLRRRLRRLLLLRRLRLRRLRLRLLLRLRRRRRLRRRLLRRRLLRLLLLRRRLRRRLRRRRLRLLLLLLRRRRRRLRLLRLRLRRLLLLLRRRRLRLLRRLRLLLLRRLLLLLRLLLRRRRLRRRRLRRLRRRLRRLRRRLLLRRRRLRRLLLRRRRRLLLLLRLRLLLLLLRLLLLLLRLLLLLRRRLRRRLLLLLRRRLRLLLLLLRRLLRRLLLRRLRRRRRRLRRLRRLLRLLLLLLLRLLLRRLLLRLLLLLRLLRLLLLRLRRLRLLRRLLRLRRLLLRRRLLRLLRLLRLLLRLRRRLRRLRLLLRRRRRLRLRRLRLRLRLLRRRRRRLRLLLRLLLLLRLRLLRRLRLRRLRRRLLLRLLRLRRLLLRLLLRRRLLRLRLLRLRLRLLRRRRRLRLLLRRRRRRLLLRRRLLRRLRLLRLRRRLLLRRRRRLLLRLRRLRRRLLRRRLRLRRLRLRRLLLLLRLRLLLRRLLLRLRLRRLRRRLRRLLLRLRLRRLLRLLLRRRLLLLLRLRRLLLLLLLRLRRRLRRLRLLLRRLRLLRLRRLRLLLRLRRRLLLRLLRLLRRLRRRLRRLRRRRRRLLRLRLRLRRLRRLLRRLRLLLLLLLRLLLRRRRRRLLRRRLRLRRLRLLRRLRRRLLLLLRRRRRLRRRRLRRRLLRLLRLLLRLLRLLRRLLRLLLLLRRLRLLLRLLLRRRLRRLLRRLRLLRLLLRRLLRLRRRRRRRLRLLLRRRRLLRLLRRLRLRRLLLLLRLRRLLRLLRRRLRRRRLLRLLLLRLRRLLRLRLLLLRRLLLLRLRLRRRLLLRRLRRLRRRRLRRLLRRLRRLRRLLRRLLRRLRRRRLLRRLLRRLRRLRRLRRLLRLRRLLRLRLLRLRLLRLRRLRLLRRRLLLLRRLLRLLRRLLRRLRLLRRRRLLLRLRLRRLLRLRRLRLRLRRLLRRLRRRLRLRRRRLLLRRLRRRLLRLRRLLRLRLRLLRLRRLLRLRLRLRLLLLRLRRLRLLLRRLLRRLLLRRLLRRRLLRRRRLLRRLRLLLRLLRLLLLRRLRRRRRRRLLRLLLRRRRLLLLLLLRLRRRRLRLRRLLLLRLRLRRLLLLRLLLLRLRRLRLLRLRRRLRRRRRLRLRLLRLRRRRRRRLLRRRRRRRRRLLRRLRLRLRRLLLRRRRLRRLRRRRRRLLRRRLLLRRRRRRLRRLRRRRLRLRRLRRLLRLRLRRRRRLLLLRRLLLRRLLRLLLLRRLLLLRRRRRLLLRLLLRLRRRLRLLRRLLLRRRLRLLRLRRRRLLRRRRRLLLRRRRRLRRLLRRRRLLLRRLRLLRRLRRLLLRLRLRRRRLRLRRRRLRLRRLRRRRLLLLRRRLRRLRLRRRRRLRLLLLLLRRRLRLRRRLRLRLRLRLRRLLRLRRRLRLLRRLRLLRRRRRLLRLRLRRRRLRRLLLRRRRLRLLRRRRRRRLLRLLRRRLRRRLRRLRLLRRLLLRRLRLRLRLLRLLRLLRLLRRRLRLLLLLLLLRRRLLRLRRRRRRLLLRLRRRRLRRLRLRLLLRLLLLLRLLRRLLRRRLLLLLRRRRLLRRRRLLLRLRRLLRRRLRLLLRRRLLLRLRRRLLRRRLRLRRLLLLLRRLRRRLRLLLLRLRLLRRRLLLLRRLRRLRLRLLRLRLLRRRRRRRRLLRRRLLLRLRRRLLRRRLRRRLRLRRLRLLLLRLLLRLRLRLLRLRRLLLRLLRLRLRLRLLLLLLRLRRRLRRRLLRRLRLRRRLLRLRRRRLLLRRRLLLRLLLRLLLLLLRRRRLLRLRLRRRRLRLRRRRLRLRLRRRLRRLRLRRRRRLRLRRLLLLLLRLLRLLLLRLLRRRRLRLLRRRLLLLLLRRLLLLLRRLLLRRLLLLRLRLLLRLLLLRLRRLLLRLLLRLRRLRLRLLLRLRLRLRLLLRLRLLRLLRLLLLRLLRLRLLRRRRLLLLRLLLLLLRRLRLRRRLLRRLLLRLLRLRLRRRRLLLRRLRLRRLLRRRRLRLLLRLRRRRRRRLLLRLLRRLLLRLRRLRLLRRRRLRRRRRRRRLLLLRRLRRLRLLLLLRRLLRRLRLRRLRRRLRLRRRLLLRRLLRLLLLLLRRRLRRRRRRLRLRRRLLLLRLRLRRLLRLRLLLRLLLLRRRLLLRRRLRLRLRRRRLRRRRLRRLRLRLLLLLRRLLRLLRLRRRLLRRLRLLLLRLRLLLRLLLRLLLRLLLLRLLLLLRLLRRLRLLRRRLLRLLRRLLRRLLRRRLRRLLLLRRLLRLRRRLLLRRLRLLLRRLLRLRRRLLLLLRLLLLLRRRRLRRRRLLRRLRRLLLRRLLRRLLRLLLLLLLRRLLLRRRRLLRLRRLLLLRRRLRRLLLRLLRRLRRRRRLRLLLLLLRRLLRLRRRRLRRLRRLLRRLRLRLLLRRRRLLLRLLRLRRLRLRLLRLLLLRLRRLRRLLLLRLRLLRRRLRLLLRRRRLRRLLRLRRLRRRLRRRRRRRLRRRRLRRLLLLLLLRRRRLLLRLRLRRLRRLLRRLLLLRLRLLLRRLLRRRRRLRRLLLRRLRLRLLLRLLRLRRRRRLLRRRRLLLRRLRLLRLRLLLRLRRRRLLRLLRRRLLRRLLLRRRRRRRRLLRRRRRLRLRRLRLLRLLLLRLLRRRLRLRRLRRRLRLRLRLLLLLLLLLLRRLRLRRRRRRRLRLRLRLRRLLLRRRLRLRLLLLLLLRLRLRRLLRRLRRLRRLRRLRLLLRLLRRLRRLLRRRLLRRRLRLRLLLLRRLLRLRLRRLRLLLRLLLRLRLRRRLLLLLLRLRRRLRLLLRRLRLLRRRLLLLRRRRRLLLRRLRRLLRLLLLRRRLRLLRRRLRLLLLLLRLRRLRRRRLLRLLLLLLLRLRLRLLRRLRRRLLRRLRLRRRRRRLLRRLRRRLRRRLLRLLLLLLLRLRLLRRRLRLRLRLLLRRLRRLRLRRLLLRLLRLRLRLLRLLLLLLRRRLLRLLRLRLRLLLRLLLRLRLRRRRLLLRRRLLRRRLLLLRLRRRLRRLRRRRRLRRRLLRLLLRRRRRRRLRRLRLLLLRLRRLLRLRRLLRRLLRRRLRRRLLLRLLRLLRRLRLRRRLRLRRRLRRLLLRLLRRRLRLRRRLLRLRLLLLLLLRLRRLLLLLLRRLLLRLRLLLRRLRRLRRLLLRLRLLRLRLLRRRRRLLLRLLRLLRRRRLRRLRRLLRLLRRRLLRRLRRLLRRLLLLRLRLLRRRLRLLLLLLRLLRLLLLRRRLRLLLLLRRLLLLLLRLRRRLLLRLLRRRLLRRRRLLLLRRRRRLRLRRRLRRRRLLLRRLLRLLLRLLRLLRRRLLLLRRRLLRLRRRRRRLRRLLLLLLRLRLRLLLLRRRLRLRRLLRRRLLLLRRRRRLRRLLRLRLRLRLLRLRLRRRRRRLRLLLLRRLLRRRLLLLRLLLLLRRRRLLLRRLLLLRLLRLLRRLRRLLLLRLLRRRLLRLLRRRLRRRLLRRLRRLLRRLRLRLLRLRLRRLRRRLLRRRLLRRLRLRRRRRRLLLRLRRLLLLRLLRLRRLLRRLLRRRLRRRLRLRLRRLLRRLRLLLLRRRRRRRRRRRRRRRRLRLRRLRLRRLLLRLRRLRRLRRLRRRLLRRRRLRLLLLRRLLLRLLLRRLRRLLLLRLRRRRLLLLRLLRRRLLLRLLRRRRLRLRLLLRRRRRLLRLLRRRRRRRLLRRLRRRLLLLRLLRRRRRLRLLRLRLLLLRLRLRLLLLRLLRLRRRRLLRLLRRRLLRLRLLLLRLLLRLLLLRRRLLRRRLLLLLLRRRRLLRLRLRLRLLRRLRRLLRLLLLLRRLLLRLLRLRLLLRLLRLLRLLLLRLRLRLLRLLLLLLLRLLRRLLRLRLRLLRLLRRLRRLLRRLRRLLRRRRRLLLLRRLLRRRLRRRRRLLRLRRRRLLRRRRRLLLRLRLRRRRRRLRRRRLRLLRLLRRRRRLRLLRLRRLRLRRRRLRRLRLRRLLRRRLRLRLRLLRLLLRLLRLRLRRRLLLRLLRRRLLRRRRLLLLLRLRRLRLRLLLRRLRRRRRLLRLRRRLRRRRLLLRRRRRRRLRLLLRRLRLRRRRRRRLRRRRLRRLLRRLRLRLRLLRRRRLLLLLRLRRLRLLRRRLLLRLRRRRLRLRRLRLRRLRLRLLLLRLLLLRLRLRRLRRRLLRLRRRRLLLRLLRRLRLRLRLLRLLLRLLRRLRLRRRRRRLLRLLLRLRLLRRLLLRLLLRLLLRLRRLRLRRRRRRLRRRLRLLLLLLRRLRRLRRRRRRRLLLRRRLRRLLLRLRLLLLLRLLRLRLRRLRLRRLLRLRLLRRLRLLLLLLLLLLLRRLLLLLRLRRRLRRLRRRLRRRRRLRRRRLLLLLLLRRRRLRRLLLRLRLLRRRRLLRLRLRLLLRLLLLRLLRLRRLRRRLLRLLRRRLRLRRRLRRRRLRLRLLLLLLLRRLLRRRLLRLLLLLRLLLRRRRRLRLLLRRRLRRLRLRLLRLLRLRLRLLRLLRLRRRRRLRRRRRRLLLRLRRLLLRRRRLLRLRLRLRRRLRLRRLLLLLLLRRRLLLRLRRLRRRRLRRLRRLRLLRRRRLRLRLRRLLLRRRRLRLRRRLRLLLLLLRLLLLLLRRLLRLLRRRRLLRRLLRLLLRRLRLLLLLRLRRLLLRLLRLRLRRLRLLRRRRLLLLLRLLLLLLLRLRRRRLLRRRLRLRLLRRRLLLLLLLRLLRRRLLRLRRLRLLRRRRRLLLLLRRRRLLRRLLRLRRLRRRLLRRLLRLLRRLLLRRRLRRLLLRRRLLRRLRRRLLLLLRLRRLRLRLLRLRRRLLRRRLRRLLRLRLRRRRLRLLLRLRRLRRRLLRRRRLLRLLLRRRLRRLLLRLRRLRRRLLLLLLLRLLLRRLLLRRRRLLLLRLLRLLLRLLLLLLRRLLLLRRLRLRLLLLRRLLLLLLLLRRLLRRRLLLRRLRRLLLLLLRRLLLLLLLLLLRLLRRRLRLRRRLLLRLLLRRRLLRRRRRRLLRLRLRLLRLLLRLRLRRLRRLLRLRRLLRRRRLLLRLRLLLRLLLLLRLLRLRLLLLLLLLLRRRLRRLLLRRLRLRLLLLLLRLRRLRLRRRRRRLLLLLLLRLLLRRRRLRLLRRLLLRLRRRRRLRRLRLRLLRLLLRLRLRLLLLLLLLRLLLLRLRRLRLRLLLLRLLRRLRRRLRRLRRRRRLLRRLRLLRRRLLLRLLLLLLRRLLRLRRRRRLLRLRLLLLLRRLRRLRRLLLLRRLRLRLLRLRRRLRLRRRLRRLLLLRLRLLRLRLRRLLLRLRRLRLRLLLLLLLLLRRRLLLRLLLRLLRRRLLLLRLLRLRLLRRLLRLRLRLLRRLRRRLRLRRRRRRRLRLLRRLRLRLLRRRLRRRRLRLRLRRRLLLLLLRLRLRLLLLRRLLLRLRRLRRLLRLLLLLRLLRLRRLRRLRLRRRRLLRLLLLLRRLLRRRLLRLLLLLLLRRRLRLRLLLRLRRLRRLLLLLRLRLRLRRLRLLLLLRLLRLLLLLLLLRRRRLRRLLRLRLLLLLRRRLRLRRRRRRLRRRRLLRLLRRLRRLLRRLLLLRRLLLRLRLLLRLLRRRRRRRRRRRLLRRLRRLLLRRLRLRLRLRRLLRRLLRRLRRRRLRRLLLRLRRRLRRLLLRRRRRLLRRLRLRLRRRLRRLLLLRRRLLRRRLLRRRLLRRRLRLRLRLLLLLRRLLLLRLRLLLLLRRLLLLLRLLLLRLRRLRRRLRLRLLLLLLLLRRLLLRRLRRLLRRRRRRRRRRLLRRRRRRRLRRLRRRRRLLLRRRLRRLRRRRRLLRRLRRRRLLLRLRRLRLLRLRRRRRRRLRRLLRLLRLLRRLLRLLLLLRLLLLRRLRRRRRLLRLRRLRRRLLLLRRLRRRRRLLLLLLRRRLRRLRRRLRRRRRRLLLRLRRRRRLRLLLRRLLLRLRLRLLLRRRRRLLRRRLRLRRRLRLLLLLRLRRLRLLRRLLRLRRRRRLLRLRLRRRLLLRLRRRRLLLLRRRLLRRLRLRLLRLLRLRRLLRRRLLLRRRRRRLLRLRLLLLRRLRRLLRLLRLLLRLLRLRRLLRRRRLLRRRLRLLLRLRLLLRLLRLRRLLRLLLLRRLLRLRLRLRLRRRRLRRLLRLLLLRRRLRRLLLLLLRRRRLRLRLRLLLLRRLLRRRRLRLRLRLRRRLRRLRLLRRRLLLLRRLLLLLLLRLRRRLLRRRRRLLLLRLLRLRRLLLRRRLRRLRLLLRLLRRLRLLRRRRLRLLRRLLLRRLLLRLRLLLLLLRLRLRRRLRLLLLRRLRRLLRRRRLRRRLRRLRRLLLRLRRLRRLLLRRRRLRRLLRLRLRLLRRLLRRRRRRLRLLLLRLLRLLRRLRRRLRRLLLLRRLRLLRRLRLRLLRRLRRRLLRRLRLRLLRRLRRRRLRLRLRLRLRLLRRRRLRLLLRLLRLRLLLRLRRRRLRLRLLRRRLLRRRLRLRLLRRRRLRRRLRLLLRRLRRLLRLRLLRLLRLLRRRLRRRLLLLLLLLRRRLRLRLLLLRLLRLRRLRLRLLLLRLLRLLRRRRLLLRRLLRRRLLRRLRRLRRLLLRRLRRRLLLLLRRRRRLLRRRRRLRLLLLLLRLLLLLRLLRRLLLRRLLLRRRRRLLLLRRLLLLLRRLRLRLRRRRRRRLLLLRRRLLRLLLLRRRLLLRRRLLRRLRRRLRRLRRRRRLRLRRLRLRLLLRRRRRLRRLLRLRLRRRRRLRRRRLLRRRRRLRLRLLLLLLRRLLRLLRRLRRLLRLRLRLRRLRRRRRLLLLLRLLLLLRLLLLLRRRRLLLLLLRLRLLRRRRRRLLLRRRLLLRRLRLRRLRRRRRRLRLRLRRRLRRRRLLRRLRLRLRLLLLRRLRRRRLLRRLRLRLLRLLLRLLRLLLLLRLLLRRLLLRLLLRLRRRLLRRLLLLRRLRRRRRLRLLRRRRLRLRRLLLRLLLRLLLRRRLRRRLLLLRRRRLRLLLRLLLRRLLLLLRRLRRRRRRRRLLLRLLRRLRRRRRLLRRRRLRRLLRLLRLRLLRLRLLRRLLRLLLRLRLLRLLRLRLLLRLRRLRLRRRRLRRRRLLRRLRLRRRRRLRLRRLRLRLRLLRRRLRLLRRRRRLLLLRRRRLRLRLRLLRRRLRRRRRRRRRRRRLRLRLRLLRRRLLLRRRLLRRRLLRLLRLRLLLRRRLLRRLLLLRRLLLRRLRRLRRRRLRLLRRLLLLRRLRLRRLLRLLLLLRLLLLRRLRLRRLLRLLLLLLLLLRRLLLRRRRLRRRRLRRLLLLLLLRRRRLRRLLRRRLLLRRLRRLRLLRRRLLRRRLRLLRRRRRRLLRRRRLLLLRLLRRRRRLRLRRRRLLRRLLLRLLLRRLLLLRLRRLLRLRRRLLRRRRLRLRLRLLLRRLLLLRRRRLLRLRRRRRRRRLLRRRRLLLLRRLLRRRLRLLLRRLRLRLLLRRRLRLRRLRLLRLLLRRLRRLRLLRLRLRRRLLLLLLRLRLLLRRRRLLRRRRLRLRRLLLLRLRRLRLLRLRRRLLRLRRRRRLRLRLRRLLRRRRLRRRLLRLRLLLLLRLRRRLLRRRRLRLRRLLRRLRRRLLRLLRRRLRLRRLLRLLLRRLRLRRLLRLLLLRLRRRRLRRLLLRRRRRRLLLRLLRRRLRLLLLLRRLLLLRRLRRLLRRLLRRRRRLRRRRRRLLRRLRRRRRLRLRLRLRLRRLLLLLLLRLRLLRLLLRRRRRLLRLRRRLRLLRLLRRRLRLRRRRLLLLLRRLRLRLRRLLRLRLLRRLLLLLLLLRRRRRLRLRRRLRLRRRRRLLRRLLRRLRLLRLRLLLRRLLRLRLRRLRLRRLRRRRLRRRLLLLRLRRLRRRLRRRRLRRLLRLLLRLRLRRLRLRRRLLLRRRLLLLRRLLLRRLRLLLLRRRLRLRRRLRRRRRRRLRRLLLLRRRRLLRLLLRRLLRRRRLLLLRLLLLRRRRLRRRLLLRRRLLLLLLRLLLRLLRLRRRLRLLLRLRLLRLLLLRRLRRRLRRLLRLRRRRLRRLLRRLLRRRRRLLLRLLLRRLRRLRRLLLLRLRLLLLRLLRLLLRRRRRRLRRLRLLRLRRRRRLRLRRRLLLRLLRLRLRLLLLRLRRLLRRRLLRRLLLLLLRLLLRRLLLRRRLRRLRLRLLLRRLLLRLRRRRRLLRRLLRRRRLLLRRRRLLLLRRRLLRRLLLRLRRLRLRLRLRRLLRLRLLLRLLRLLRLRRLLRRRLRLLRLRRLLLRLRRLRRRRLLRRLRLRRRLRLRRLRLRLRRLLRRRLLRLRRLRLLLLLRRRRRLLLLLLLLLRRRRLLRRRLLRRLRLRLLLRLRLRRLLLLRLRLRRRLLRLLRRLRRLLRLLLLLLLRLLLRLLLRLRLLLLRLRRLLLRLLRRRRRRLLRRLRLLLRLLRRRRLRRLRLRRRLLLLLRRLRRLLRRLLRRLLRLLLRLLLRRRRRLLRLLLLLLRLRRRRRLRRRLRRRLRLRLRRRRRLRLLLRRLLRRRRRLLLLRRLRRRRRLRRLLRRRLLRLLLLRLRLLRLLLRRRRRRRRLLLRLRLRRRLRRLRRLLRRLRLRRRLLRLRLLRRRRLLLRRRLLLRRLLRLRLLRRRRRLLLRRLRLRLRLRRLLRLRLRRLRLRLRRLLLLLLRLRRRLRRRRRLLLRLLRLRRLLRLRRRRLRRRRLLRRLRLRRLLLLLRLRLRLRLRRLRLLRLLLRRLRRLLLRLLLRRLLLRRLLRLRRLRLLLRLLLLRLLRRRLRLLRLLRRRLRLRLRRLRRRLLLRRRRLLRRRRLLRRRLRLRRLRLLLLLLLRRRRLRLRRRLLRRLLLRRLRLLRLLRRRLRRRLRLLLRRLLLRLRRLLRRRLRLLRRRLRRLLRLRRRLRLLRLLLRLLRRLRRLLLRRLRRRRLRLLRLLRLLLLLRLLRRRRRRLRRLLLLLLLLRLLLLLRLLLLLLLLRLRRRRLRRLRLLLRLLLLRLRLRRLRLLRRLLRRLLRLRRRLRRLRRLRRLLRLLRRRLLRLRRRRLLRLRLLRRLLLLRLLLLLLLRLRLRRLRLLLLRLRRLLLLRLLRLRRRRRLLRRLRLLRLRRLLLRLRRLRRLRLLRRLLLRRRRLLRRRRRLLLLLLRRLLLRRLRRLLLRLLRRLRRRLRRRRRLLRRLRLLLLLLRLLRLLLRRLRLLRLRRLLLLLLRLLRRRLRRRRLRLLRRRRRRLRLRRLLRLLRRLLRRLLRRRRRLLLLLRRLRRLLRRLRLLRLRLRRRLRLLRLLLRLRLRLLLLRLLRRLLLRLRLLRLRRRRRRLLLLLLRLRLRRRLRRLRRRLLRLRLRLLRRRLRRLLLRLLLLLLLLLRRRLLRLRRRRRRLRLLRLLRLLRLRLLRRRRRRLLLLRLRRRRLLLLRLLLLLLRRRLRLRLRLLRRLRLRRRRLRLLRRRRRLLLLLLLLLLRLRLRLLLLLLLRLLRRLLRLRRLRRRRLLLRRLRLLLLRLRRLRLLRLLRLLLRRRLLRRRLRLLRRRRRLRLLLRRRRLRRLRRRRLRRLLLLLRRRRRRRRLRRRLRLRRLLLRRRRLLLLLLRLRRRLLLLRLRRRLLRRLLLRRLRRLRRLLRLLLLLLLRRRLLRLLRLRRRLRLLRRRLRRRRRLLRLLRRRRLLRRRRRRLRRLLLRRRLLRLLLLLRLRLRLRLLRLRLLRRRRRRRRRRLLRRRLLRLLRLRRLRRLRLLRLLRLLLRLRLLLRRRLLRLLRRRLRLRLLRLRLRRRLLRRLLLRRLLLLLLLRLLRLRRLRLRLRRRRLRRLLRRRLLRLRRRLRRLRRRRRLRRRLLRLLRRRLRRRRLRRRLRLRLLRRLRRLLLLLLRLLRLRLRRRLRLLRRRRRRRRRLRLRRRRRLLLLLRLLLLRRRLRLLRRRLRRRLRRLLRLRRLRLLLRLLLRRLRLLRRRLRLRRRRRLLLRRRLRLRRRLLRRRRLLRLLLLRRRLRLLRRLLLRRRLLLLLRLRRRLLLLRLRLLRRLLLRLLLLRRRRLRLRRLLRLRLLLLRLRRLLRRLRLRRLRLRLRLLRLRLRRLLRLRLLLLLRRLRRRRLLLLLRRLLRRRRRLRRRLRRRRRRRLLRRRLRLRLRLRRLRLRLRRLLRRRLLRLLRLRLRRRLLRRLLLRLRRLLLRRRRRRRLRLLRLLRRRRRLLRRLLRLRLLRLRLLRRRLRLRRRRRLRRLLLLRRLRLLRRRLRRRLRLLRRLLRLRLLLRLRRRLRLLLRRLLLLRRLRLRRLRLRRLRLLRLRRLLRRLRRLLRRLRLLRRLLRRRLLRLRLRLLLLRRLRLRLRLRRRRLLLRRRRRLLRRLRLRRRRLLRRLLLLRLRRLRRLRRLLRLRLRLRLLLRRRRLRRLLRLRRLRLLRRLRLRLRLLLLLRRLRLRLRLRLLRRLLLRRRLLLLLLRLLLRRLRRLRRRLRLLRRLLRRLRRRRRRRLLRLLLRLRLLLLLRLLLLRRRLLLLRRLLRRLLRRRRLLLRLRRLRLRLRRLLLLLRRRLRLRLRLRLLRLLRLRLRRLRRRRRLRRLRRRRLLLRLRRRRLLRRLLLRLRLRLLRRRLLLRLLLLRRLRRLLRRRLLRRRRLRRRLRLRRRLRLLRRLLRLRLLLLRRLLRLLLRRLLLRLLLLLRRRRRRRLRRRRLLRLRRLRLRRLRLLLRRLRLRRRRRRLRLLLLLRRLLRRLRRLRRLRLLRLLRLRLLLRRLLLRLRRRLLRRRRRLRLLRLLRRRLRRLLRLRRRLRLLLRLRRLRLRRLLRLLRRRLRRLRLLRRLRRLRLLRRLLLLRLLRLLLLRRRRLRLRRRLLLLRRRLRLRLLRLLRLLLRRLRLRLRLRLLRRLLLLLRRRRRLLLLLRLRLRLRLLLRRLLLRRLLLRLRLLLRLLLLLLRLRLRLLLLRRLRRRRLRRLRRLRLLRRRLLLRRLLLLLLLRRLLLRRLRLRRLRRLRLRRLRLRLLLLLRLLLLRRLRLRRRLLLLRRRLLLLLRLLRRRRRLLRLRLRLRLLLRRRRRRLLRRLRLLLLRRRRRLRRLRRLRRLLLRLRRRLRRLRRLRLLLRLRLRLLRLRLRLRLLLLRLRRRLRRLLRLRRLLRLRLLRRRRLLRRRRRLRRLRRLLLLRRRLLLLRRRRLRLRLLRRRRLRLLLLRRRLRLLRRRRRRLLRRLRLLLLLRLRRRRLLLLRRRLRLLLLRLLLRLLLLRLLLLLLRRRLRLLLRLLLLRLRLRRRLRLRLRRLLLLLRLRLRRLRLRRLRLRLLRLRLRRLRLLRRLLLRRLRRLLLRRRLLLRLRLRRRRRRRRRRRLLLLRRRLLLRRLLLRLRRLRRLLRRLRLLLLLLLRLLRLLRLLLLLLLLLLRRLLRRRLLLLRRLRLLLLLLRRLLLRRLLRRLLLRLRRLLLLRLLLRLRLRLRLLRRLLRLLLLRLRRRRRRLRLLRRRRRRRRLLRRRRRRLRRRRLRLRRLLLRRRRLRRRLLRLRRRRLRRLLLLRRLRRRRLRRLRRLRLLRLRRRRRRLLLRRRLRLLRLLLLLLRLLLRRLRLRLRRRRRRLLRLRRLRRLRRLRLLRLRLRRRRRLLRLRLRRRLRLLLLRRLLLLRRRRLLLLLRRRLLRRLLLLRRRLRLRLRRRLRLLRLLLLRRRRLRLRRLLLRLLLLRLLRRRLRLLRLRLRRLRRRLRLRLRLLRRRRRRRLLRLLRLLLRRLRLLLRRRLRRRLLLLRRRLLRRLLLRRLRLRRRRLLLRRLLRRLRRRLLLRRRRLRLRRLRRLLRRLRLRLLLLRRLRRLLLRLLLRRRLRRLRRLLRLLLLRLRRRLLRLLLRRRLLRRRLRRRLRLLLLRRRRLLLRRLLRRRLRLLLRLLLRLRLLRLLLLRRRLLRRLLLLLRLRRRLLLLLRLLLLRRLLRRRRLRLRLLRRRRRLRRLRRLLRLLRLLRRLLRRLRRRLLRRRLRRRLLLLLRRRRLRRLLRRRRLLRRLRRRRRLRRLLRLRLRLLLRLRLRLRRLLRRLLLLRLLRLLRLRLRRRRLRRRLRLLRRRRLRLLRLRLLLRLLRLRLRLLRLLRRRRLLRRLLRRLRLLLRLLRRRLRRRLRLLRLLLLRLRLLRRLLLLRLRRRLLRLRRLRLLRRLLRRRRLLRRRLRRLRLRRLLRRLLLLRRRLLLLRLRRLRRRRRRRRRLLRRRRRLLLRRRLRLLLLLLRLLRLLRRLLLLLRLRRRLRRLLLRLLRLRLLLRLLLLRLLRLLLRLRRRLLLLLLLRRLLLLRLRRLLRLLLRLRRRRLRRLRLRLLRLRRLRLRLLLRLLLRRLRRLRRLLLRLLRRRLRRLLRRRRRRLLLRLRLRRLRRRRLLRLRRRRRRRLRRLRRLLRRLRLLLRLLLLLRRLLLLRRLRLRRRLLLRRLLLRRRRRLLLLLLLRRLLRLRLRLRLLLLLLRLRRLRLLRLLRRLLRRRLRLRRLRRLRLLRRLRRLRLRRRRLRRRLLRLRLLLLLLRRRRLRLRRRRLRLRRRLRRLLRLLRRRLRLLRLLRRLLLLLRRRRLRLRLLRLRLRRRRRRLLLRLRLLLRRLRLLLLRRLLLLRLRRLLRLRLLLLLLLLLRRRRLLLRRRRRRRRLRRLLRLRRLRRRLLRLLLLRLLRLRLLLLLRRRLRRRRRLRLLLRRRRLRLLLRLLRLRLLRLLLLRLLLRRLLRRLLRLLRRLLRLRLRLRRRLLRRRLRLRLRRRLRRRLRLRLRLRLLLRRRLRLLLLRRRRLLRLLLLRLRLRRRRRRRLRRRLLLRLLRLRRLLRRRRLRRLRLRRRLLLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRLRRLRRRLLLLRRLRRRLRRLLRLRLLRRRRRRRRLLRLRLLLLRLLRLRLRRLLRLRRLLRRRRLLLLRLRRLLRLRLLLLLLLRRRLRRLLRLLLLLLRRRRRLRLRRRLLLRLLRRLRRLRRRLLLRLLRRRLRRRRLRLLRRRLRRLLRLRRRRRRRLRLRLRLLLLRRLLRRRRLRRLLLLRRRRLRLLRLLLLRLRRLLLRRRLLLRRLRRRLLLRRRLRRLLLLLRLLRRRLLRRLLRLLRRLRLLLRLLRLRLLRLLRRLLLLRRRRLRRLRLRLRRLRRLRLRLRLRLLLRLLRRLLLLRLLLRLRLLRLLLLRLLLLRRRRLRRRLRRLRRRLLLRLLLLRRRLRRLLRRRRLRLRLLLLRRRRLRRLRRRLRRRRRRLLRLRLLLLRRLRRRRLRRRLRLRRRRLRLLLLRRLLLRLRRRRLLRLRRRRRRLRRLRRLLLLRRLRLLLRRLLRRRLLLRRLLLRLLRRLLRLLRRLLRRLLLRRRLLLRRLLLLRRLLLLLRRLRLLRLLRRRRRLRLLRLRRLLRRRRRLRLLRLRRLLRLLRLRRRRRRLLLLRLLLLLLLLRRRLRRRLRRRRRLLRLRLLRRRRLRLLLLRRLLLLRLRRRRRLLRRRRRRRRRRRLLLRRRRRLRRLRRRLRRLLRRLLLLLRRLRLLRLLRRLLRLLRRLLRLLRRRLRLRLRRRLRRLLRLRRLRLRRRRRRLRLLRLLRRRRLLRLRLRRLRLLLRLRRRRLLLRRRRRRRRRLRLRRRRRRLLLLRLRLRRLRRLRLRLLLRRLLRRRRRRLLLRLLRLRRRRLLRLLLRRRLRLRRLLRLRLRLRLLLRLRRRRRLLLRRRLLRLLRLRLLRRRRLLLLLRRRLRRLRRRLRRRRLLLRRLRRLLLLRRLRRRRRLRRLRLLRRRRLLLLRLRRLRRRRRLRLLLLRLRLRRRRRRRLLRRLLLRRRLLLRRLRRRRRRLRLLLLLRLRRRRRLLLRLRRLRLLRLLLRRRLLLRLRRRRLRLRLLRLLLLLRLLLLLLLLLLLRLLLLLRLLLRRRLLLLRRLRLRRLLLLLLLLLLLLLRLRRLLRRRLRRLRLRRLRRRLLRLLLRLLLRLRRLLRRLRRLRLLLLLLRRRLLLLRRRLRRLLLRLLLRLLRLRRLLLLRLLLRRLRRRRLLLLLRLRRRRLRRLLRLRRRLLRRLLRLLRRRLLRLRRRLRLLRLRLRLRLRRLRRRRLRRLRRLRRRLRRLLLRLLLLLRRLRLLRLLLRLLLLRLRLRRRLLRLLRRRRLLLRRRLRRLLLRRRRRRLRLRRLRLLLLLRRRLLRRLLRLLLLLLLLRRRRRLRLLRLLRLLLLLRRRRLLRLLLRRRRRLRLRLLLRLLRLRLLLRLLRRLLRLLRLLLRRRLRLLRLLRLLRLLLRLLLRLRLRRRRLLRRRRLRLRLRLLLRLRRRRRRRLLRRLLLLLRLRLLLLLRRLRLRLLLRRRLRLLLRRRRRLLLRRLRRLRLRLLRRLRLLRLLRLLRRLRLLLLLRLLLRLRRRLLLRLRLRLLRRRRRRRRLLRRRLRLRRLLRRRRLRLRLRLRLRRRRRLRLLRLRRLLRRLRLRLRRRLLLLRLLRRLLRRLLLRRLRRLRRLRLLRRRRRLRRRLRRLLLRLLLLRLRLRLLRLLLRRRLRRLLLRRRRLLRLRRRRRLRLRLLRLLRLLLRRRRLRLRRLLRRLLLLLLRRLRRRRRLRRLRRLLRLRLRLRLRRRLLRLRLRLRRRLRRLRLRLLLLRRLLLLLRLLRRLLRLRLLRRLRRRRRRRLRLLRLLRRRLLLLLLRLRLLRRLRRRLRRLRRLLRRLRLRLLLRLRLLLRLLLRLLLRLRLRLRLRRRLLRLRRLLRLLRRRLLRRRLRRLLRLLLRRLRLLLRLLLLRLLLLLRRRRLRRLLLRRRLRRLRLRRRLRLRRLRLLLRRRRLLRRLLLRLLRRLLRRLLLLLRLLLLRRLRRLRRLLLRRLLRRRRLRRRLLRLLLLRLLLLLRLLLLRLRLRRRLLRRRLRLLLRRRLLLRLLLLLRRLRLLRRLRRRLLRLLRRRRRRLLRLRRRLLLLRRLRRLLLRRRLRRRRLRLLRLLLLRLLLLRRRRRRRLRLRLRRRLRLRLRRLRLRLRRRRLLRLRLLLLRRLLLRRLLRLRRLRRLRRRLLRLRLLRRLRLLRRRLRRRLLLRLRLLRLRRLRLLRLLRLLRLRRLLLLLRLRLLRLRRLLLRRLRRLLRRLRRLRLRLRLLRRLLLRRRRRLLRLRRRLRLLLRRLLLRRRRLLRRLRLLLLLRLRLRLRLRRLLLLLRLRLRLLLLLLLLLRRLRRLRLLRRRLRLRLRRRRRRLLRRLLLRRRLLLRRRRLRRRLLRRRLLRRLRRLLLLLLLLLRLRRLLRRRRRRLLLLRLLLRLLLLRLLLLRLRLRRRRLRRRLLRRLLLRRLLRRLRLLRLRLLRRLRRRLLRRRRRLLRLLLLRLLRRRRLRLRLRLLLRLLRLLRLRLRRRLRRRRLRRLRRRRLLRRLRRRLRLRLRLRRRLRLRLRLLLLRRRLRLRLRRRRLLLLLLLLLLLLRLLRLRLLLLRRRLRLRLLLLLLRRRRLRLRLLRLLLRRLLLRLLLRLLLLLLLLLLRLRRLRRLRRRLLLLRLRRLRLLRRLLLRLRLLLRLLRRRLRRLRLRLRRRLRLLRLRLRRLLRRRRLLRLLLRRLRRRLRRLRRRRLLRLRLLLRRRLLRRRRLRRRLRRRLLLRLLLLRLLRRRRRLRLLLRRLLRLRLRLRRLLRLLRLLRLLRRRLLLRRLRLRRRLLRLLRRLRLRRLRRRLLLRRLRLLLRRRLLRRRLLRRLRRLLRLRLLRRLRLLLLLRRLRRLRLRLRLRLRRRRRLLLLRLLRLLLLRLLLLRLLLLRLRRLLLRRLLRLLRRRRLLRLRRRLLLRLRLLLRRRLRRRLLRRRLRRRLLLRRLRRRRLRRLLRRRRLRLLLRLRRLRLRLLLLLRLRLRRLRRRRLLLRRLRLLLLLRLRLRLRRLLLLLLLLLRRRRRRLRLRLRLLRLRRLLRRLRLLRLLLRLRLLRLRRLLRLLRLLRRLLLRRLLLRRLRLLRRRLRRLLLLRLLRRLLLLLRLRLRLRLLLLLLRRRRRLLLLRLLLRLRRLLRRRLRLRLRLLRLLLLRLLRLLLRLRRRLRRRLRRLRRRLRRRRRRRLLRRLLLLRLRRLRLRLRLRRLLRLRLRLLLLRLRRRRRLLRLRLRLLLRRRLRRLLRLRRRRRRLLLRLRRRLLLLLLRRLLLLRLRLRRLRLRLRRLRRLRRRLLRLRRRRLRLLRLLLRRLLLRRLRLRLRRLLLRRLRRLLLLLRRLRLRLRRLLLLLRLRRRRLRRLRLLLRRRLLRLLRRRLLLRLRRRRRLRLLLRLLLLLRRLLRLLRRLRLRLRRLRLLLRRRRRRRRLLRLRLLRRRLRLLRRLRLLLRRRRRLRLRLLLRRRRRLLLLLLLRRRLRRRLLRRLLRRLLLLLLLRRRLLRRRLLRRLLLLRLRRLRLLRLRRRLRRLRRRLRLRRLLRLLLRRLLRLLRLRLLLLLLLLRLRRRLRLLLLRRRLLLRRLRLRLLRRLLLLRRLRRRRLLLLRRLLRLLLLLLLLRRRLRRRLLLLLLRLLRLLRRRLRRLLRLRRLRLRLRRLLLLLLRLLRRRLRLRRLLLLLLLLRLRRLRRLLRRLRRLRLLRLLLLRRLRLRLLLRLLRRLLRRLLRRLLRLRRLRLLRLRRLRLRRRRLLRLLRLLLLRLRRRRRLLLLLRRRRRRLRRLLRLRRLRRRLLLRLLRRRRLRLLRLRRRRLRLLLLLRRLRRRRRLLRRRRRLRLRLLRRRLRRRLRLLRRRLRRLRRRLRRRRLLLLLRLRLLRRRRRRRLRLRLLRLRLLLRRRLRLLRLLRLLLRRLRRRRRRRLRRRLLLLLRRRRRRLLRRRRRLLRRRRLRLLLRLRLRLLLRLRLLRLRLRRRLLLLRRRRLLRLLRLLRLRLRLLLRRRRLLRLRLLLLRLRLLRLLLRRRLRLRLRLLLRRRRLLLRLLRLRLLLLLLRLRLLLLLRRRRLRRRLLLRRLLLRLRRLLLRLRLLLRLLRLRLLLRRLLRLLRRRRRRRRRLRRRRRRLLLLRRRRLRRRRRLRLRRLLLLLLRRLRRLRLLLRLRRRRRRRRRRRLLRLRLLRLRRLRLLLLRLRRRLLLRRRLRLLLRRRLRLLRLRRRLRRRRLLLLLLRLRLRRRLRRRLRLRLLRRLLLRRLRLLRRLLRRRLLRLRLLLLRLLLLRRLRLRLLRLLLLRRRLLRRRLLRLRRRRRLRLRRLRLLLRRLLRRRRRRLLRLLRLRLRLLLRRLRRLLLLRRRRLLRRRLLRLRLLRRRRLLRLLLLRRRRLRRLRRRLLLRRLLRLLRLLLRRLRRRRRLLRRRLLRLRLRRRRLLLLLLRLLRLRRRLRLRRRRLLLLLLRLRLRRLLRRRLLLRLLLRLLRLRRRLRRLRLRRLRLLLLRRRRRRRRLRLRRRRRRLLRLLRLRRLRLLRRRRLRRRRRLRRLRRLRLLLRRRRRLRLLRRLRLRLRLLRLLLRRLRLRRRLLLRLRLRLLLRLRLRLRLRRRLLRLLLLLLLLLLLLRLRRLLLRLRLRLLRRRRRRRLLLRRRLLLLRRRLLRRRRLLRRLRLLRLLLLLRLRLLLRLLLRRRLRRRLRRLLRRLLRRLLRLLRRRRRRLRLLLLLLRRRRLRRLRLLRLRRRLLLLLLRLRRRRLRRRLRRRRLRLRRRLLLLLLRRRLRRLRRRLLRLLLRLLLRLRRRRLLLLLLRLLRRLLRRRRRRRRRLRLRLLRLLLLLRRLRRLRRRLRLRLLRRLLLLLLRLLRRRRRLRLRRLLRRRRLLLLRRRLRLLRLLRRLRRLRRLRRRLLRLRRRRRLLRLRLRLLLRRRLLLRLLRLRRRLRLLRLLRLLRRLLLRRLRRLRLLLLRRLRRLRRRLLLLLLRRLLLRLLLLLRLRLRLLLLRRLRLLLLRRLRRRRRLLLLLLLRLLLLRLRRLRRRRLRLLRRLRRRRLLLRRLLLRLLLLRRRRRRLLRRRRRLRLLRRRLRRRRLLRRLRRLLLRLRLRLLRLRLLLLRLRLRRRRLLRLLLLLLLLLLRRRRLRLRLRLRLRLRLRLRRLRLLLRRLLLLLRLLLLRLLLLLRLRLLRLLRLLRRRRLRRRLLRLRLRRRLLLRLLLLLLLRLRLLRLRLRLRLRRLLRRRLLRLLRRRRRRRLRLLRRLLRLLLLRLRRRLLRLLLRLLLLRRLRRLRLRRLLRRLRRRLLRRRLLRLRRLLRLLRLLRRLRRRLRLLLLLLLLLLRLLRRLRLLLLLRLRLLRRLRLRRRLRLRLRRRRLRRRRLRLRLRLRLLRRLRRLRLRRLLRLRLRLRRRRLLRLRLRLLLRRRLLLRLLLRLRRRLLLRLLRRRRLLLRLRRLRRRRLLLLRRRRLRLRLRRRLLRRRLLLRRRLRRRLRLLRRLRLLRRRRLLRRLLRLRRRLRRLRLLRLRLRLRRLRLRLLRRLRLRRLRRRLRLRLLRLLLRRLRLLLLRLLRLLRRRRRRLLRRLRLRRLLRLRLLLRLLRLLLRLLLLRRRRLRLRLLLLRLLLLRLRRRRRRRLLRRRLRLRRLRRLLRLLRRRLRRLLLRRRRLRRRLRRLRRLRLRLLRRRRRLRRLRRLLLRLRLRLRLLLRRRRLLRRLRLLLRLRRRLLRRRRRLRRRLLRLRLLRLRLRRLLRRRLRRRRRRLRLRRLLLRLRLRRLRRRLLRLRLRRLRLRLLLLLLRRRRLLLLLRLLLLRLLLLRLLLRRRRLRRLLLLRRLRRLRLRLLLLRLLRRLRLLRLRLLLRRRRLLRLLRLLRRRRRLRRLLLRRRLLLLLRRRLLLRRLRRLLRLLLLLRLRLRRRRRRLRRRLLRLLRRRLLRRLRRLLRLLLRRRLRRRRLLRRRRLRLRRLRRRLLRRRRRLRLLRRLLRLLLRRRRLRLRLRLRLLLRRLRRRLLRLRRLLLLLRLLRLLLRRLLLRLLLLLLLLLRRRLLLLRRRLRRRRRRRRRLLRLRRRRLRRRLLLLLRLLLLRLRLRLRRLLRRLRRRRRRLRRLLRLRRRLRRLRLRRLLLRLLLLLLRRRLRLRRLRRRLRRLRRRLLLLRLLLLLLRLRRRLLLLRRLRRLLRLLLRRRLRRLRRLRRLLRRRRRLLLRRLLLLRLRRRLRRLLRLRLLRLRLLRRLRLRLRRLRLRLLLRLRLLLRRLLRLLRRLRRLRLRRLLRLRRLRLLRRRLLLLLRLRLRLLRLRRLRRLLLRRRRRRRLRRLRLLLRLRLRRLLLLRRRLLLLLRRRRRRRLRLRLRRRLLRRRRLRRRLRRRLRLLRRLRRLRLRLRRRLRLLLLLLLLLLLLRLLRLLLLLLRLRRRLRRLRLRRRLRLRRRLRLLRLRLLRLRLRRRRRLLRLRLRRLRRLRRLRRLLLLLRRRLRRRLLLLRRLRLLLRLRRLLLRRLLRRLLRLLRRRLRLLRRLLLLLRRRRLRLRLLLRLLLLLRLRRRLRRRLRRLRLRLRLRRLRLRRRRLRLRRRRLLRLRRRRRLLRLRLRLLLLLLRLLLRLRRLLLLRRLLLLLRLRLLRLLRLRRRLLRLRLRLRRLRRLLLRRLLRLRRLRRLRLRLLRRRRLLLLLRRRRLLRRLRLRLLRLRRRRLLLRLRLLLRRRRRRLRLLLRLRRRLRRRRRLRLRRRRRLLLLRLRLRRLRRRLLLLRRLLRLRLLRLLRRLLLLRRLRRRLRLLLLLRLRLLLLLLLLRRLRRLRRRRRLLRLLRRLLLLLRRLRRRLRRLLRLRRLLRLRRRRLLRRLRLRRLLLRRRLLRRRRRLLRRLLRRRRRLRLLRRRRRRLRRRLRLRLRLRRLLRLLRLRRLLLLLLLRRLLRLRLLRLLLRRLLRLLRRLRLLRLLLLRRRRLLLLLLLRRLRLLLLRLLRLLRLRRLLLRRLLLLLLLLRRLLRRLLRRLRLLLRLRRRRRLRRRRRRRLLRLRRRLLLRRLRRLRLLRLLRLLRLRRLRLRLRLLRRRLLLRLLRLLRRLRRRRLRRLLLLLLRRLRLLLLLLRRRRLLRRLRLRLLLRRRRRRRRRLLLLRLLLLRRLLRLRRLLRLLLRLRLLRLRRRRLLLLRRRRLRRLLLLLLLLLLRRLRRRLLRLRRRLRRRLLLLRLRLLLLRLLRRLRLLLLLRLLRRRRLRRLLRRLLRRRRRLLRLRLRRLLRLLRRLRLRLRRRRLRLLLRRLRRLRLRLLRLLLRLLRRRRLRLRRLLRLRLLLRRRLLRRLLRLRLRLRLRLRRLLRRRLRLRRRRRLRRRRRLRRLRLRLLLLRRRRLRRRRLRRLLLRRLRLLRRRLLRRLLLLRLRLLRLLLLLLLLLLRRRLLRLRRLLRLRLRLRRLRLRRRLRLRRRRRLRLRRLLRRLLLLRRLLRLLLLLRLLLLLLLRRRRRLRLRLRRLLRLLRRRLLRRRLRRRLRLLLRRLLLRLLLLLLLRRRRLRRLRRLRRLRLRRRLRRLLLLRRRLLRRRRRLRRRLRLRLLRRLLRLRRLRLLRLRLRRLLRRLRLLRLRRRLRLLRLRRLLRRLRRLRRLRLRLLLRLLLRRRRLRRRRLLRRRRLRLRLRRLLLRLLLRRLLLLRLRRRLLRRLLRRRRLRRLRRRLRRRRLRRRLLRLRRRRRLRLLLRRRLRRRRLRRLLRRRRLLLLRRRLLLLLRLRRLLLLRRRRRRLRLLLLRRLLRLLRRLRLLRLRRRRRRLRRLLRLLLRRRRRRLRRLLRLLLLRLLLLRRRRRRLRLLRLLRLRRLRLLLLLLRLLRRLLLRRRRRRRRLRRRRRRRRRRRLLLLRRRLLRRLLRRRLLLLLRLRRRRRLLRLRRLLRRRRRLRRRRRLLLLLLLRRLLRRLLRRLLLLLRLRLRRLLLLRLRRRLLLRRLLRLLRLLRRLLRLLLLLLRLLLLRLRLLLRLLRRLRRRLLRLRLLRRRLRLRLRRRLLRRRRRRRRLRLLLLRRLRRRLLRLRLLRLRRRRRLRRRLLRLLRRLRLRLRLLRLRLLLRLLLRRLLRRLLRRRLRRRRRRRLLRRLLLRLRLRRLRLRLRRRLRRRLLLRRRRRLRLRRRRLRRRLRRLRLRRLRLLRRRLRLLRRLLRRLRRLLLRLRLRRRLLLRLLLLRLRLRLLLRRRRRLRRRLLLRRRLRLRRRRRRLLLLRRRLRLRRLLRLLRLLRRLLLLLRRLRLRRLRRRLLLLRLLLRRLLLLLRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLLLLRLRLRRRRRLRLLLRRLRLLRRRRRLLLLLLLRRRRLRRRLLRRLRRRLLRLLRLLRRLLLLRRRRLRRLRRLRLRRLRRRRLLLRRLRRRRRRRLLLLLLRRLRLRRRRRLRRLLRLLLLLRRRRLRLRLLRLRLLLLRRLLRRLLRLLRLRRLLLRRLRLRLRRRRLRRRLLLLLLLRRLRLLLLRRLRRRRRRRRRLRRRRLLRRLLLRLLLLRRLRLLLLRLRRRRLLLLLRLRLRRRRLRLRLRRRLRRLRLRLRRRLRLRRRLLLRLRLLLLRLRRRLLRLRLLLRLRRRRRRLLLRRRLRRRLLRRRRLRRRLRLRRLLLRRLLLRLLRLRLRRLLRRRRRLLRLLRLLLRLRLRLRLLLLRLRRLRLLLLRRLRLLLRRRRLRRRRLLRRRRLLLLRRLRRRLLRLRRRRLLRRRRRLRLLRRLRLRRLLLRLLRRLRRRLLRRLRRRLLRRLLLRRRLLRRLLRRRLLRLRRLLRRRLRRLLLLRRRLLLRRRLLRRLLRLLLLLRRRRLLRLRLRRRRRLLRRLLLRRLLRRLLRLRRLRLLLLRLLLLRRLLLLRRRRRRRRRRRLLLRLLLLLLLRLLRRLLRRLRRRRRLLRLRRRRRLLLLRRLLLLLRLLLRLRLRRLLLLRLLRRLLRRLRRLLLRLRLRLRLLRLLRRRRLRRRLLLLLRRLLLRLRRRLLRRRLRRLRLLLLRLRLLRLRLRLRRRLLRRRRRRRRLLRLRRRLRLLLLRRLRLLRLRLRLRLRLLLLLLLRRRLRLLLRRLLRRRRLLRLLRRLRRLLLLRRRRRLLLLLRRRLLLRLLRRLRRLRRLRLRLLLLRRLRLLRLRRRLLLRRRRRRLRLRRLRLLRRLRRRLRRRLRLLRLLRLLRLRLLLLLLRLLLLRLLRLRRLLRRLRLLLLRRRLLRRRRRLRLRRLRRLRLRRRLLRRRRLLRLLLRLRLLRRRLLRLLLLLRLRRRRRLLRLLLLLRRRLRLRRRRRLRRRLLLLLRRRLLRLRLRLRRLLRRLRLRRRRRRRRRRRLLRRRRLRRRRRLRRLRRLLLRRLRRRRRRLRLLLLRLRRLRLRLLRRLRLRLRRRLLRLRRRRRRRRRLLLRRLLRLLRRRRRRRRLLLRRRLLLRRLRRRRLRLRLRLRRLLRRRRLRLLLRRLLRLRLRRRLLLLLLRLLLRRRLLLRLRLRRLRRLRLRRLRLRRRLRLLRLLLLRRLRRRLLRRLLRLLRLLLLRLLRRLLRRRRLLRLLLLRRRRLLRLLRLLLLLRRLRRLRLLRRRLRLLLLRLLRRLLRLRLRLRRRLLLLRLLRLRRRRRLLRRLRRRLRLLLLRRRRRLLRRRRRLLLLLRRLRLRRLRLLLLLLLLLLRRRRLRLRRRRLLRLRRRLRRLRLLRLRRLRRRRRLRRRLRRRLRLRLLRLLRLLLLLLLLLRRRRRRRLLLLLRRLLLRRRRRRRRRRRRRLLRRRLRRRLRLRLRRRLLRLRLRRLLRLLRLRRRRRLRLLLLRRLRRLRRLRLRRRLLRLRRLLLLRRLRRRLRRRRLLRRLLRLLLLLLLRLLLLRLLRRRLLLRLRRRLLLLLRRLRLLLLRRLLRLRLLRRRLRLRRLLRRLRRLLLLLLLRLRRLRRLLLLLLRLRRLRRLRLRRRLRRRRLRRLRRRLLRLRRRRLLLLLRRLRRRRRRRRRLRRLRLLRRRLLLLRLRLLLRLLRRRRRLRLRLLLLLRLLRLLRRLLRRLRLRRLRRRRRLRLLLLLRLLRLRRLLRRLLRRRRRLRRRLRLLRLLRLLRLLLLLLLRLRRRLRLLLRRRRRLLRLRRLRRRRLLLLRLLRRLRLLRLRRRRRLRRRLLLRRRRRRRLLLRLRLLLRRRLLLLRLRLLRLRRLLRRLLRRLRRRLLRLRRLLRRLRLLRLRRLLLLRLRLRLLLRLLLRLRLLLLRRLLRRRRRLRLLRRLLLRRLRRLRRRLLLRRLRLRLRRLLRLLRRRRLLLLLRLRLLRLLLRLLRLRLRRRRLRLRRLLRRLLLRRRLLLLRLRRRLLLRRLRRRRRRRLRRLLRLRLLLLRRRLLRLLLRRLLLLRLLLLRLLLLRRRRRLLRRLLLRLLRLRRRLLRRRLLLLRRLLRLRRRLLLRLRRLLLLLLLRLLRLRRLRRRRRRLLLRRRLRRLLLLLLLRLLRRLLRLRLLRLRLLRLRLLLLLLLLLRRLRRLRRLLRLLRLRRLLLLLRRRRLRRRRLRLLRRRLLLLLRRLLLLLRLRLRLRRLLRLRLLLLRRLRRLLLLLRRRLLLLLLLLRRRLRLRRRLRRLRRRLRLRLLRRRRRLRLRLRLRRRRRRRLLLLLLLLLRLLRLRLRLLLLRRRLLLLRRLLLRRRLLLLRRLRRRLLRRRLLLLLRRLRRRRRRLLLLLLLLLLLLRRRRLRRRLLRRRRRLRRRRRRLRLLRLLLLRLLRRRRLLRLRRLRRLRLLRLRRRLLRLLLLRLRRLRRLRLLRLLRLRLRLLRRRLLLRLRLLLLRLRRRRLLRLLLRRLLRRLRRRLLLLLRLRLRRLLRRRLRRRLRRLLLLLRLLLLLLLRRLRRRRRRRRLRLLLLRRRRRLLLLLLRRRRLLRLLRRLLLRRLRRLLLRRRRRRRLRRRLRLRLRRLRLLRLLRLLRRLRRLRLLLLRLLRRRRLRLRLRRRLLLLRRLRLRLRLRLRRRLLRLLLLRRLLLLRLRLRRLLRLLRRLLRLLLRRRLLRRRRRLRRRRRLRRRLLRLLLRRLRRRRLLLRLLLLLRLRLRLLLLRRLRLRLLLRLRRRRRLLRLLRRRRLLRRLLLLRRRRRLLRLRLLLLRLRRRLLLRRRRLLLRRLLLRRLRRLRRRRLLLRLLRRRRRRRLLRLLLLRLRLRRRLLLRLRLLRRRRRRLRRLLRLRLLRRRRRRLRRRRLRLLRRLRLLRLRRLRLRRRRRLLRRLRLLRLLLLLLLRLLLLRRLLRLLRLRRRRRLLLLLLRLRRRLLRLRLRRRRRRRLRLRRLLLLLLLRLRLLRLRRLLLRRRLRRLLRRRRRRLLLRLLRLRLLRRLLRLLRRLLRLLRLRRRRRLLRRRLLRLLRLLRLRLRRRLLLRRLLRRRRRLLRLLRRRLLRLLLRLLRLLLRRRLLRRRRRRLLLLLLRRRLRRLLRLLRRLLRLLRLRLRRLRLLRLLRLLRRLLLLRRLLRRLLLLRLRLRLLLLLRRLLRLRLLLLRLLRLRLRLRLRLLLRRRRLLLLLLRRLRRRRRLLRRRLLLRRRLLRRLLRRRLRRLLRLLLRLLRLRLLRLRRRRLRRLRLRRRLLRLLRLLLRRLLLLLLLRRLLLLRLLRRLLLRLRLLLRRRLLLRLLRLRRRLRRRRLLLLRRRRRLRLLRLLLLRRRRRLLLLRLRRLLLRLLRRLLLLLLLLRRLRRRLRLLRLLLRLRRLRLLLLRLRRLLLRLLLRLRRLLLRRLLLRLRLLRRLRRRLLLLLRLLLRRLLLLRLLRLRRRRLLLRLRLRLRLLRLLRRRRLRRLRRRRLLLRLLLRRRLLRRLRLRRRRLLRRLLRLLLRLRLLLRRRLRLLLRRRLRRRRRRRRRLRLRRLLRLRRRRLLLRRLRLRRRRLLLRRRRRRLRLLLRRRRRLRRRLRRRLLRRRLLLLLLLRRRRRRLRRLRLRLLRLLLLLLLRRLRLLRRRRRRLRLRRRLLLRRLLRRRRLRRRLRLRRLLRLRLRLLLLRLLRLRRRLRLRRRRRLRLLLRRLLRRRRRRRRRLRLRRLLLRRRRLLLLRLLRRLRRRRLLLLLRRRLLRRRLLLLLRLRRRLRLLLLLLRRRLRRLRLLLLRRLRRRRRLRRRLLRRLLLRLLLLRLLLLLRLRLRRLRLRLLLLLRRLLRLLLRLLRRLLLLRLRRRRRLRLLRRLRLLLLRLRRLLLRLRLRLRLRRLRRLRRRLLRLLLLLRLLLLLRRRLRRLLLRLRRLLLLLRRLRLLRLLLRLRLRLLRRLRLRRRRLRRRLLLRLRRRLRLLLRLRRRLLRLLLLRLLLRRLRRRRRLRRLRRLLLLLLLRLLLRLRLRLLLLRLRLLRLLLRRLRRRRRLRRRLRLLLLLLRLRLRLLRRLLRLLLRRLRLRRRLRRLLLRRRRLRRLRRRLRLRLLRRRRLLLLLLRRRLLLLRLRLLRRLRLRRLRRRRLLRLLRLRRLLLRLLLRRLLLLLRRLRLRLRRLRRRRRRRLLLRLRRRLLLRRRRLLRRLRRLRLRLLRLLRLRRRLRLRRRRLRRRLLRRLRRLRLLRLRLLRLLRLLRRLLLRLLLRRRLRRRRRRLLRLLLRLRRRRLLLLRLLRLLLLRLLLRLLLRLLLLRLRRLLRRLRLLLRRLRLLRLRLRRRLLRLRRRRRLRLLRLLRLRRLRLRRLRRLRRRLLRLRLLLRLLRRLLRRLLLRRLRLLRRRLLRLLRLLLRLLLRLLRLRLLLLRRRRRRLLLLRRLRRLRRRLRRRLRRRLRLLLRRLLLLRRRLRRLLRLRRLRLRLRLLLRRRLRRRRRLLRLLRLLLRRLLRLLRRRRRLRLLRLRRRLLLRLLLRLRLRRLLLLLRLLRLLLRLRRRLRRRRRLRLLLLRLRRLLRLLLRRLRLLLLRRLRLRLRLRLRRRRLLRRRRLRRLRRRLRRLRRLLRLLLRRLLRLRLLRRLLRRRRRRLRLRRLLLLRRLLRLRRLRRRRLLRRRLRLRRRLLLLLRRLLRLRLLRLLLRRLLRRRLLLLRLRLRRLRLLLLLRLRLRRLRRRLRRRLRLRRLLLLRRRLRLLLLRLRRLLRRRRRRLLLRLLLRLRLRLRLRLRRLLRLLLLLRRRLRLRLLLRRLRLRLLLRRRLRLRRLLRRRRLLRLLRRLLRLRLRRLLRRRRLRLRRLLLLLRLRLLRRRLLLRRLRLLRRRRRRLLLLRLLLLLLRLLRRLRLRLLLRRRRRRLLRLLRLRRRRRRLLLRRRRRRLRRLRRRLRLRLLRLLRLRRRLLLLRRRLLRLRRRRRLLRRRLRRRRRLRLRRLRLRRLRRLRRLLLRLLLRLRRLRRRRLRRLRRRLLLRLLLRLRRLRRLLLLRRRLLRRRLRLRRRLLLLRRLLLLRLRRRRLLLRLRLLRRLLRRLRRRLRLRLRRLLRRRRRLRRLRLLLRRLRLRRRRRRLRRLRLRLRLLRRRRLRLRRRRLRRRRRLRRRRRRLRLLRLRRRLRLRRRLLLRLRRRLRRRLLLRRLLRRLRRLRLLRRRRRLRRRLLRLRLRLRLRLLRRLLRLLLRRRLRLLLRLLRRRLRRRLRRRLRLRRRLLRRRRLRLRLLRLLRLRRLRRLLLRLLLRLLLRRLRLLRLRRRLRRLLRRLRRLRRRRRRRRLLLRRLLLLRLLRRLRRRRLLRLLLLRRLRRRRLLLLLLLLLLRRRLRLRRLRRLLRRRLLRRLRLRLRLRLLLRLRRRLRRRLRLLLLLLRLLRRLLLRLRRLRRLLRRRLRLLRLRLRRRRRLLLLRLRLLLLLRRLLRRRRRLRLLLLRLRLLLRLRRLLLRLRLLRRRRLLLRLLRLRLLLLLLRLLLRRRRRLRRRLLRRLLLRRRLRRLRRRRLLLRRRLLRRLLLLLLLLLLRLLRLLRLRRRRRRRRLRRRRLRLRLRRLLRLRRLRRRRRLRLRRLLLLLLRLLRLLLLRLRRLRLLRLLRRRLLLLLRRRLLLLRRRLRLRRLLLLRLRLLLRLLRLRLLRLLRLLLRRRLRRRLLLLRRLRRRRRLLRRLLLRLLLLLRLLLRRRRLLRRRLRLLRRLLLLLLLLLLRLRRRLLRRRLRRLRLLLLRRRLRLLRRLRLRRRRRRRLLRRLLRLRRRRRRRRLLRLRRLLLRRLRRLRLLRRRRLRLRRRRLRRLLRLRLLRLRRRLLLRRRLRRLRLRLLLLRLRLRRRLLLRRLRLLLLRRLLRLLRRLRRRRRLRRRLLLLLLRLRRLLRLRLLLRRLLRRRRRLRRRRLRRRLRRRRLLLRRLRRLRLLLRRLLRLLLLRRLLRRLRLRRLLLRLRRRLLLLRLLLRLLLRRLRLLRRRLLLRLRRRRLLRRRLRRLLRRRRRRLLRRRLRRLLLLRLLLLLLRRLRLRLLRLLLRRRRRLRRRRLRLLRLLLRRRRRLLRLLLLLRRLLRLLLRRLLLRLLRLRLLRRLRRLLLRRRLLRLLRRLLRLRRRLRRLLLRRRRLRRLRRRLRLLLLLLRLRRRLRRRRLRRLRLLRRLLRLLRRLLLRRLLLRLLRRRLRRLRLRRLLLRRLLRLRRLLLRRRRRLRRRLRLLLLRRRLRLLRLLRLLRLRLRRLRRLRLLRRRRRRLLLLLLRRLRLLLLLLRRLRLLRLLRRLRLLRRLLLRRLLRRRRRLRRRRRLLRLLLRLLRLRLLLRRRLLLLLRRRLLLRRRRLLRLRLLLLLLRRRLLRLLRRRLLRRRLLRRRRRRRRLLRRLRLLRLRRLLLLRLLLRLRLRRLRRLRLRRRLLLRRLRLRLLRLLRLLRRLRLRRRLRLRLRLRRRLRRRLLRRLRLLRRLLLLLLRLRLRRLLLRLRRLRRLRRLRLLLRLLRRLRLLLRRRLRRLLRLLLLLLLLRLLRRLLRLRRLLLRLRLRLRRRLRLLLLLLRLRRRLRRRLRRLRRRLRRLLLLRLRRRRLRRRLRRLLRLRLLRRRLRLLLRRLRLLLRRLLLRLRLRRRLRLLLRRLLLRLRRRLLLRLRRLLRRRLRRRRRLRRRLRRRLRRRRLRLLLLLLLRLLRLRRLLLRLRLRLLLLLRRRRRRRLLLLLLLLRRLRLRRLRLLLLLLRRRRRRLLRLLLRLLLRLRLRLRLRRRRRLLRRRLRLLRLLLLRRRLLLRRLRRLRRLRRRLRRLLLRRRRRRLLRRRRLLLLLLRRLLRLRRLLLRLLRRRLRLRLLLRLRRLLLLLRLLLLLLRLRLLLRRLLRLLRLLLRLRRRLLRLRLRLLRLLRRLLRLLLLLRRLLLRRRRLLRRLRRLRRRRLLLLLLRRLLRRRRLRLLLRLLRLRRRRRLRLLRRLLRLLRRLLLRLLLLLLRRLLLLRLLLRRRRLLLLLLLLLLLRLRLLRLRRRLLLRLRRRLRLLLRLRRRRLLRRLLRLLLRRLRRRRRRRLRRLRRRRRLLLLRRRLRRLLRRLRRLLRLLRRRLRLLLRRRLRLRRRRLRRRLLLLLLLRLRRLLLLRRRRLLLLRLLRRRRLRLRRRRRRRRLLRLRLLLRLLRLRRRLRRRRRRLRRLRRLLRRRRLLRRLLLRLLRRRLLRLLLLLRRLLLRLLRRRRRLLRRRLRRRLLRLRRRLLRLLRLRLRRRRRRRLRLLLLRLRLLRRRRRLRRRRLLRRLRRLRLRRRLRLRLRRRLLLRLRLLLLLLLLLLLRRLRLRLRLRLRLLLRRLRLLLLRRRRRRRRRLLRRRLRRRLRLLLLRLRLLRRRRRRRLRRLRRRLLRRRRLRLRLLRLRLLLLLRLRLRRLLRLLRRRRRLLLLLLLRRRLLRRLRRRRRRLLLLLRRRLRLLLRLLRLRRRRRLLRLLRRRRLRLLLRRRRRRRRRLLLRLRLLRLLRLLRLLRLLRLLRRRRLRLLRLLLLRLLLLRLRLRLLLRLLRRLRLRRLLLRLLRRRLRLRRLRLLLRLRRLRRRLRRLRLLRRLRLLLLRRLRLLLLLLRLLRLRLLRLLRRRLRLLLRLLRRLLRRLRRLRLLLLRLLRRLRRLLLRRRLLRLRRRRLLLRRLLLLRLLRRRRRLLRRLLRRLLRRRLLLLRRRRLRLRRRRLLRRRRRRLRLLLLLRLRRRRLLRRLRRLRRRLRLLLLLRLLRRRLRLRLRLLLLLLRLLRRLLRRRLRLRRLRRRLLRRRRLLRLLLLRRRRLRLLLRRLRRRRRLLRLLLRLRRLLLLLRLLLRRRLLLLRRLLRLLLLRRRRLLRRLLRRRRLRLLRRLLLLLRRRLLLLRRRRRRRLRRLRLLLRLRRRRLRLRRLRLRRLRLRLRLRRLLLLRRLLRLLRRRRLRLRRRRRLLLRLRRRRRRLRRLLLRRLLLRRLLLRLRLRLLLRLLLRLLLLLRLRRRLLLRLLLRRLRLRLRRRLLLLRLLLRLLRLLLRRRRRLRRLRRRRLLLRRLLRRLLLRLLLRLLLRLLRLRLLRLRLRRLLLLRLLRLLLLLLLRLLLLLLLRLLLLLRRLRRRLRRLRLLRLRRLLLRLRLLLLLLLRLLRLRLRLLLLLRRRLRRLLLRLRRLRLLLLLLRLLLLRRLRRRLLLLLRLRRRRRRRLRLRRLRRLLRLRRLLRRRRRLRRLRLLLLLRLLLRRRRRLLRRRRRRLLLLRLLRRLLLRLRLLRLRLLRRRRRLRLRRRRRLRRRRLRRLLLLRRLLRRRRRRLRLRLRLLLLLLLLRRRRLLLLRLRRRLLRRLLRLRRRLRRRLRRRRLLLLRLLLRLRRLRLRLLLLRLRLLLLLLLLLLRRLLRLLRRRRLLRRLRLLLRRRRRLRLLLLLRRLRLLLLRRRRRLLRLLRRLRRLLLLRLRLLLLLLRLLLLRLLRRLRRRRLRRRLLLRRLLRLLLRRLLRLRRLLLRRRLRRLLLLRRLLRLLRRRLRLLLLRRRLLLRLRLLLRRLLLRRLLRRLLLRLRLLRRLRLLLRLRLRLRRRRLRLLLRRRRLRRRLRLLLLLLRRRRLRRRLLRRLRLLRRLLRRRLLLRRLLLRRRRRLLLLRLRRLLLLLRLLLRLRRRLRRLLLRRRRRLLLRRLRRLRLLRLLRRRRLLRLRLLRRRLLLLRRLLLLLLLLRRRLLRLLLLLRLLRLRLLLRLRLLLLLLLRLLRLLRRRLLLLLLLRLRLRLLLRLRLLRRLLLLRLRLRRRRLLRLLRRRRLLLLRRLRLRLRRRRLRRRLRLLLLRRLLLRLLLLLLRLLLRRLLRRLLRRLLLRRLRLRLLLLRLLLRRRRLLLRRLRLLLLRLRRRRLRRRRLRLLLRRLLRLRLLLRLRRLRLRLLRLRLRRRRRRLRLRLLLRLLLLRLRRRLLRLLLRRLRRRLRLRLRLRRRRRRLLLRLRLRRRRLLLRRRLLLLLRRLRLRLRRRLLRLLRLLLLRRRLRLRLLRLLRLLLLRRRLLLLLRLLRRRLRRLLLLRLRLRRRLRRRRRRRLRRRLRRRLLRRLLLLRRRLLLLRLLRRRRLRLLLLRLRRLLLRRRLRRLRRLLLRLLLRRLRLRRRRLRRLRLLRRRRLRLLRRRLRLRRLRLRLRRRLRLLLLLRRLRLLLLLRLLLRRRRLRRLLLLLLRLLRRLLRLLRRLLLLRRRLLRLLLRLLRLLRRRLLLLRLLLLLRLRRRLRLRRLLLRRLRLLRRLRLRLLLRRLRRLRRLLLRLLLLLLLLLRRRRLRRLLRLRLRLRLRRRLRLLRRRRLLLRRRLLRLRRRLLLLLLLLLRLLRLLRRLRLRLLLLLRRRRRRRRRRLLRRLRRLLRLRLRLLLRRRRLLLRLLLRLRRRLLRRLRRLLLLRLLLLRRRRLRRLLRRLLLRRLRRLRRLLLRRLLLLRRRLLLRRLRLRLLRLRRRRRLLRRRLLLLRLRLLLLLLRRLRLLRLLLLLRLRLLRRRRLLRLLLRLLLRRLLLRRRRRLLRRRRRRRLLRRLRRRRRRRLRRLRRLRRRLRRRRLLRLRRLLLRLRRLRRRRLLLRLRRLRRLRLRRRRRRRLRLLLRLLRLLRLLLRLRRLRRLLLLRRLRLLLRLRRRRRLRRLLLLLRRRRRRRRLLLLLLRRLLLLLRLRLRRRRLRLLLRRLLRRLLRLLLLRRLLLRLRLRLLRRRRRRLRRRRRLRRLLLLRLLLRLLRLRLLLLLLRLLRRLLRLLLRRRLRRLRRLLRRRRLLLRRLLLRRLRRRLLLLLRRRRRLRRLLLLRRRRLRLLRLRLLRRRRLLRLLLLLLLLLRLLRLRRRLRRRRLRRRRLRRLLRLRRLLLLLRRRRRLLLLRRRRLLRLLLRLRLLRRRRLLRLLLLLLRRRLRRLLRLLRRRRRRRLRLRLLRLLRLRLLRRLLLLLRLRRRLRRLRLLLLRLRLLRRRLLLLLLRLRRLLLLRRRLLLLRRLLLLRRLLLLRRLLRLRLLRRRRRRLRRLRLRRLRRLRRLRLRLLLRLLRLLLLLLRLLLRRLLRRLLLRRRLRLLRRRLRRRRRLRLRRRLRLLRRLRLRLLLRRRLRRLRLLRLLLLRRLLRRRLLRLRLLLLLLLLLLLLLRRRLRRLLLRRRLRLRRRLLLRLLRLRRRRLRLRLRLRRLLRLRLLRLLRRLRRRLRLLRRRLLRLLLRLLRLRLRLRLRRRLRRRRLLRRLLLLLRLRRRLLRRRRRRRRLLLRLRLLRRRLRLLLLLRLLLLRRRRRRRLLLRLLRLRRRLRLRLLLLRLRRLRRLLLRRLLLRRLRLLLRRRLRLRRLLRLRLLRLLRRLRLRRRRLLLRRLRRLLRRRRRLLRRRLRRRRLLLLLRRLLLLRLLRRLLLRRRLLRRRRRLLRRRRLLLRRRLRRLRLRRRRRLRLLRLLRLLLLLLRRRLRLLLLRRRLRRRRRRLLRLRRLRRLRLRRLRLRRRRRRRRRLRRLLRLLRRLRRRRRLRRLLRLRLLLLLLLRLRRLRLRLRLRLLLRRRLLLRLLLRRRRLRLRLLRLLRLLLRLRRLLLRRRRRLLLLLLRLRLLLRRRRLLLLRRLLLLRRLRRRRLRRRLRRLRLLRRRRRRRRRLRRLLRRLLRRLLLRRLRRLRLLRRLRLRRRLLLLLLLRLLLRRRLLLLRLLLLLLLRRRRRRRRRLLLLLLLLRRRRLRLLRRRLLRLRRLLLLRLLRLRLRLLLRRRRLLRLRRLLRLRLLLLLRRRLRLLLLLLRRLRRRRLLLLRLRRLLRRRRLRLRRRRRRLLRLRRLRRRRLRLLRRLLLRLLRRRRLRLLRLLLLRLLLRLRRRRRRLRRRRRRRLLRLRLLRRLLLRRRRLLLLLLRRRRRRLRLLRRLLRLLRRRLLRRLRLLRLRLLLRRLRLRRRLRLLRLRRLRRLRLLLRLLLLRRRLLRRLRLRRLLLRLLLRRRLLLRLRLLLRLRRLLRRLRRLRRLLRLRLRLRLRRLLRRLLRLLLRLLLLRRLRLLLRLLLLLLLLLRRLLRRRRRLLLLRLRLLRRRLLLLRLRLRRLLRLRLLRRRRLLLLLRRLRLLRLLLRLLRRRRLRLLLRRLLLLLRRLRRLLRLRLRLLRLRRLLLRRLLLLRLLLLRRRLLLRLLLRLLRRRRRRRLRRLLLRRRRLLLRRRLLLLRRRRRRRRLRRLLLLLLRLLLLRRRRLLRLRRLRLRLLRRLRLLRRLLRLRRLLRRRRRRLRRLRLLLRLRRLRLLLRLRRLRRRLRLLLRRLRRRRRLLLLLRRRLRLRRLRRRLLRLRLRLRLRRLLLRLLRRRRLRRLLRRLRRLRLLRLRRRLLRRLRLRRRLRLLRLRRRLLRRLLRRLRRLRLLLLLRRRLLRRRLLLLLLLRLRLRRLLRLRLRRRRRRLLLRLLLRRLRLLLLLRLLLRLLRLLRLLRRLLRRRRLRRLRRRRLLRRLRRLRRLRLRRRLRLRRRLLLLLLRLRRLRRRLRLRRRRLRLLRLRRLLRLLRRLLRLRRRRRLLLRLRLRLRLRRLRRRLLLRRLLRRLLLLLLRRLLRRLRRLRLRRLRLLLRRLLRLRRLLRRRLRLRRRLRRRRRRRRLRRRRRRRRLRRRLLRLLRRLLLRLRRRRLRRLLRLLLRLRLRLLLLRRRLRLRRRLLLLLRLLRRLLRLLRLLRRLLLRRRLRRRRLRLLLRLLLLRRRRRLLLLLRRLLRRRRLRLLRLLLLRRRRLLRRLLRRRRLLLLLLRLRLRLLRLLRRLRRLRRLRLLLLRLRLRLRLRLRRLLRLRLRRLLRLLRRLLRLRRRLLLRLLLRLRLRLLRLLLLRLRRLLLRLLRLLLRLRRRLLRRLRLLRLRRLRLRLLRRRRLLRLRRLRLRLLLLRLRRLLLLLLLRRRRLLLLRLRLRLRLLRRRLRLRRLRRRLLRLLLRLRLRLRLRRLRLRRRRLLLRLRRLLLLRLRLRRLLRRRLLRRRLRLRLLLRLRLLRRLRLLRRRRLRRLLRRLLRLLRLRLLLLRLRLLRRLLLLLRLLLRRRLRLRRLRLLLRRLLRRLLRLLLLLRRLLLLLRRLLLLLLRRLRLLLRLLRRRRLLRLRLLRLRLRRRLRLLLLLRLLLRRLLLRRLRRRRLLLRLLLRLLLLRLRRRRRRLLLLLLRLRRLRLRLLRRRRRLLLLRLRRLLRLRRRRLLRRRRRLRRRLLLLRLLLLRLLRLLLRLLRLLLRRRLLLLRLLRRRLLLLLRRRRRLRLRRRRRRLRRRRRRLRRRRRLLLRLLLRRRRRLLLRLRRRRRRLLRRLLRRRLLRLLLLLLRLLRLLRRLRRRRRRRLRRRLLRRRLRRRRRLRRLRRRRLRLLRLRRLLRRLRLLRRRLLLRRLRRLRRLRRRLRLLLRLLRLRRRLLLLLRLRLLRLRLRLRRLLLLLLRLRRRLRRRRRLRLRRLLRLRLLRLLLRRRLRRLRLLRRRLRRRLLLRRLRLRRLRLRLRRLLLLLRLRRRLLLLLLRRRLLLRRLLRLRRLRLLLRRRLLLLLRRRLRLLRLLLRRLLLRLRLLRLRLLRRRRRLRLRRRLLRRRLRLRLLRLLLRLLRRRLRLRLLRRLRRRLLLRRRRRLRLLRRRRRRRLRLLLRLLRLRRRLLRLRRLRLLRLRRRLRLLLRRRLRRLRRLLRLLLRLLRLLLLLLRRLRLRLRLLRLLRRLLRLRRRRRRRLRRRLLLLLLRRLLLRLRLLRLRRLLRLLLRRRRRLLLLLRLLLLRLLLRRLRRLRRRLRRLRRLLRRLRRRRRLLRLRRRLRRRLLLRLLRRLLRLRRLRRRLLRRLRLLLLLLLRLRRRLLLLRRLRRLLRLRLLRRRRRLRLLRRLRRLLLRLLLLRRLRRRRLRLLRRLRLRRRRLLRRRRLRLRLLLRRRLLRLLRLLLLRLLRRLLRLLRLLRRLLRRLLRLLLLRRLLRRLLRLLRLLRLLRRLRLLRRLRLRRLRLRRLRLLRLRRLLLRRRRLLRRLRRLLRRLLRLRRLLLLRRRLRLRLLRRLRLLRLRLRLLRRLLRLLLRLRLLLLRRRLLRLLLRRLRLLRRLRLRLRRLRLLRRLRLRLRLRRRRLRLLRLRRRLLRRLLRRRLLRRLLLRRLLLLRRLLRLRRRLRRLRRRRLLRLLLLLLLRRLRRRLLLLRRRRRRRLRLLLLRLRLLRRRRLRLRLLRRRRLRRRRLRLLRLRRLRLLLRLLLLLRLRLRRLRLLLLLLLRRLLLLLLLLLRRLLRLRLRLLRRRLLLLRLLRLLLLLLRRLLLRRRLLLLLLRLLRLLLLRLRLLRLLRRLRLRLLLLLRRRRLLRRRLLRRLRRRRLLRRRRLLLLLRRRLRRRLRLLLRLRRLLRRRLLLRLRRLRLLLLRRLLLLLRRRLLLLLRLLRRLLLLRRRLLRLRRLLRLLRRRLRLRLLLLRLRLLLLRLRLLRLLLLRRRRLLLRLLRLRLLLLLRLRRRRRRLLLRLRLLLRLRLRLRLRLLRRLRLLLRLRRLLRLRRLLLLLRRLRLRLLLLRLLRRRLLLLRLRRLLLLLLLRRLRRLLLRLLLRLLRLRRLLRRRLLRLRLRLRRLRRLRRLRRLLLRLRRRRRRRRLLLRRLRLLLLLLRRRLRLLLLRLLRLRLRRRLRRRRRLRRLLRRLLLRRRRRLLLLRRLLLLRRRLRLLRRLLLRLRRRLLLRRRLRLLLRRLLLRLRLLRRRRRLLRLLLRLRRRRLRLRRLLLRRRRLLRLLRLRLRRLRLRRLLLLLLLLRRLLLRRRLRLLLRRLLLRLLLRLRLLRLRRRRLRRRLRLRLRRLRLLRRRLRRLRLRLRLRRRRRRLRLLLRLLLRRLLRLRLLLRRLRLLLLRRRLLLRRRLRRRLRRRRRRLLLLRRLRLRLLLLRLRLLLLRLRLRLLLRLLRLRLLLLLRLRLLRRRRRRLRRLRRRRLRRLLLLRLRRLLLRRRRRRLLRRRRRLLRRRLLRRRRLRLRRRLRRRRLRLLRRRLRRRLRLLRLRLRRRLRLRLRLRRRLRLRRLRRLRRRRLRRLRLRRLLLLRRRRLRRRRRRLLRLRLLLRRLLRRRLRRLRLRLLLLRRRLLRLRLLRRLLLLRLRRRLRLLLLLLLRRRLRRLLRRRLRLLRLRRLLLLRLLLLLLLLRRRRLLRLLRLRRRRRLLRRLLRLRLLRLLLRLRLLLRRRLLRRLRRRRRRLLLRLLLLLLRLRLLLRRRRLRLRLLRRLRLRRRLRRRRLLLRRRLLLRLRLRLLLLRLLLLRLLRLRLRRRRRLLRRLRRLRLLLRRLLRLRRRRLRLRRRLRRRLRRRLRRRRLRRRRRLRRLLRLRRLLLRRLRRLLRRLLRRLLLRLLRRRRLLRRLRLLLRRRLLRLRRRLLRRLRLLLRRRRRLRRRRRLLLLRLLLLRRLLRLLRRRLLRRLLRRLRRRRRRRLLRRRLLLLRRLRLLRRRRLLLRLLRRRLRRLLRLLLLLRLRRRRRRLLRRLRLLLLRLLRLLRRLLRLRLRRRLLLLRRRLRRLRLLRLRLRRLRRRRLRLLRLLRRRRLRLRRLLLRLRRRLLLLRLLRRLRLLRLLLRLLLLLLLRLLLLRLLRRRRRRRLLLLRRRLRLRLLRLLRRLLRRRRLRLRRRLLRRLLLLLRLLRRRLLRLRLRRRLRRLRLLLLLRRLLLLRRRLLRLRRLRLRRRLRLLLLRRLRRLLLRRLLRRRLLLLLLLLRRLLLLLRLRLLRLRRLRRRRLRRLLLRLRLLRLLLRLRLRLRRRRRRRRRRLLRLRLLLLLLLRLRLRLRLLRRRLLLRLRLRRRRRRRLRLRLLRRLLRLLRLLRLLRLRRRLRRLLRLLRRLLLRRLLLRLRLRRRRLLRRLRLRLLRLRRRLRRRLRLRLLLRRRRRRLRLLLRLRRRLLRLRRLLLRRRRLLLLLRRRLLRLLRRLRRRRLLLRLRRLLLRLRRRRRRLRLLRLLLLRRLRRRRRRRLRLRLRRLLRLLLRRLLRLRLLLLLLRRLLRLLLRLLLRRLRRRRRRRLRLRRLLLRLRLRLRRRLLRLLRLRLLRRRLRRLRLRLRRLRRRRRRLLLRRLRRLRLRLRRRLRRRLRLRLLLLRRRLLLRRLLLRRRRLRLLLRLLRLLLLLRLLLRRLRRRLLLLLLLRLLRLRRRRLRLLRRLRLLRRLLRRLLLRLLLRRRLRRLRRLLRLRLLLRLRLLLRLLRRRLRRLLLRLRLLLRRLRLRRRRRRRLRLLRRRRRRLLRRRLRLRRRLLRLLRLLRRRLRLRRLRLRRLLLLLRRRLRRLRRLLLLRLLRLLRRLRRLLLRRLLRLLRRLLRRRRLRLRRLLLRLRRRRRRLRRLRRRRLLLRLRRRRRLLRRRRRRLRLLLRRRLRRLLLRRLLLLRRRRLLLLLRLRLLLRLLLLRRRLLRRLRRRLRRLRRLLLRRRRLLLRRLRLLLLLLRLLRRRRRRLRLRLRRRRLLLRLRLLRRLLLRRRRLLLLLRLLRRLRLRLRLRRLRLRLLLLLLRLRRRRLLRRLLLRRRRLRRRRRLLLLRRRLLRRRRLRRLRRLLRLLRRRRLRRLLLRRLRRLLLRLLLRRLLRLLRRLLRLRLRRLRLRLLRLLLRRLLLRRLLRLRLLLLLLRRRLRLLRRRRLRRLRLLRRLLRRLLLRLLLRLRLRLLRRLLRLRRRRLLLLLLLLLLLLLLLLRLRLLRLRLLRRRLRLLRLLRLLRLLLRRLLLLRLRRRRLLRRRLRRRLLRLLRRRRLRLLLLRRRRLRRLLLRRRLRRLLLLRLRLRRRLLLLLRRLRRLLLLLLLRRLLRLLLRRRRLRRLLLLLRLRRLRLRRRRLRLRLRRRRLRRLRLLLLRRLRRLLLRRLRLRRRRLRRRLRRRRLLLRRLLLRRRRRRLLLLRRLRLRLRLRRLLRLLRRLRRRRRLLRRRLRRLRLRRRLRRLRRLRRRRLRLRLRRLRRRRRRRLRRLLRRLRLRLRRLRRLLRLLRRLLRLLRRLLLLLRRRRLLRRLLLRLLLLLRRLRLLLLRRLLLLLRRRLRLRLLLLLLRLLLLRLRRLRRLLLLLRLRRLRLLRLRLLLLRLLRLRLLRRLLLRLRLRLRRLRRRLRRLRLRLLLRRRLRRLLLRRLLLLRRRRRLRLLRLRLRRRLLRLLLLLRRLRLLLRLLLLRRRLLLLLLLRLRRRLLRLRLLLLLLLRLLLLRLLRRLLRLRLRLRRLLLLRRRRRLRLLRLRRLLLRRRLRLLLLRLRLLRLRLLRLRLRRRRLRRRRLRLRLLRLLLRRLRLLLLRRRLRRLLRLRLRLRRLRRRLRRLLRLRLLLLLLRRLRRRLRLRRLLRRRLRRRLRRRLRLLRLRLLLLLLRLLLRLRRRRRRLLRLLRLLLLLLLRRRLLLRLLRRRLRLRRRRRLRRLRLRLLRLRLLRRLRLRRLLRLRRRRRRRRRRRLLRRRRRLRLLLRLLRLLLRLLLLLRLLLLRRRRRRRLLLLRLLRRRLRLRRLLLLRRLRLRLRRRLRRRRLRRLRLLRLLLRRLRRLLLRLRLLLRLLLLRLRLRRRRRRRLLRRLLLRRLRRRRRLRRRLLLLLRLRRRLLLRLLRLRLRRLRRLRLRLRRLRRLRLLLLLRLLLLLLRRRLRLLRRRLLLLRRLRLRLRLLLRLRLLRRRRRRRLLLRRRLRLLRLLLLRLLRLLRLRRLLLLRLRLRLLRRRLLLLRLRLLLRLRRRRRRLRRRRRRLLRRLRRLLLLRRLLRRLRRRLLRLRRRRRLRLLRRRLRRLRLRLLRLRRLLLLRRRRRLRRRRRRRLRLLLLRRLLLRLRLRRLLLRRRRRRRLRRLLLRRLRLLRLRRLLLLLRRRRRLLLLRRLLRRLRLLRLLLRRLLRRLRRLLRRRLLLRLLRRRLLLRRLLRLLLRRRRRLRLLRLRLRRLRLLLRRLLLRLLRRLRLRLLLLRLRRRLRLLRLLLRRLLLLRRLRRRLLLRLLRRRLRLLRLLLRRRRRRRLRRRLLRRRLLLLRRRRLRRLRRRLRRRRRRLLRRRRLLRLRLRRRRLLRRRRRRRRLLRRLLLRRRLLRLLRRRRRRLLRRRRRRRRRRLRRLLLRLRLLLRRRLRRRLLLRRLLLLLLRRLRLRLRRLRRRLRLRLLRLLRRLRLLRRLLLLRRRLRLRRRLRRRRRLRRLRLRRRRRRRRRLLLRLLRRRLLRLRLRRRRRRLRLLRLRLLLLLLRRRRRRRLRRRLLLLRLRRLLRRRLRLLLLLRLLRLRLRRLRRRLRLRLRRRRRRRRLRRRRLRLLRLRLRRRRLRRLLRLLLRLLRLLLLLRRLLRLRRLLLRRRLRRRRRRLLRRLRLLLLLRRLRLRRRRRLLRLLRLLRRRRLLRLRLRRLRLLLRLRLLLRLLRRRRLRLRRLRLRLLRRRLRLLRLRLRRRRRRRRRLLLRRRLRRRLRRLLLRRRRLRRLRLRRLLRRLRLRLRRLLRLLLRLRLLLLLLLRLRRLLRLRLRRLLLRLLLLRLRLRLLLRRRRRRLRLRLRRRRLLRRRLRLLRLLRRLRRRRRLRRLRLLRLLRLRLLLLRRLRRRRRLLRRLLLRRLRRRRRRRLLLRLRLRRRLRLLRLLRRRRRLRLRLRLLRLRRRRRLRRLRRRRRRRRLLLLRLLRRLRLRRRRRLLLRLRLLLLLLRLLLLRRLRRLLRLLRRLLRRRRLLRRRLRLRRRLRRLLLLLLLLLLLRRLLRLLRRRLLRLRLRLRLLRRLLRRLLRLLLLRLLRRRLRLLLRLLRRRLLLLLRRLLRLRLRLLLRLLRRRRLLLRRLLLRRLLLRRLLLRLRLRLRRRRRLLRRRRLRLRRRRRLLRRRRRLRRRRLRLLRLLLRLRLRRRRRRRRLLRRRLLRLLRRLLLLLLLLLLRRLLLLLLLRLLRLLLLLRRRLLLRLLRLLLLLRRLLRLLLLRRRLRLLRLRRLRLLLLLLLRLLRRLRRLRRLLRRLRRRRRLRRRRLLRLLLLLRRLRLLRLLLRRRRLLRLLLLLRRRRRRLLLRLLRLLLRLLLLLLRRRLRLLLLLRLRRRLLRRRLRLRLRRRLLLLLRRLLLRLRLLLRLRRRRRLRLLRLRRLLRRLRLLLLLRRLRLRLLLRRRLRLLLLRRRRLLLRRLLRLRLRRLRRLRLLRRLLLRRRLLLLLLRRLRLRRRRLLRLLRRLRRLRRRLRRLRLLRRLLLLRRLLLRLRRRLRLRRRLRRLRLLRRLRRRRLLRRLRLRLRLRLLLLRLLRRLRRRRLLLRLLRRRRRRLLLLRLRLRLRRRRLLRRLLLLRLRLRLRLLLRLLRLRRLLLRRRRLLRRRRRRRLRLLLRRLLLLLRRRRLRRLRLLRRRLLLRLLRLRRRLRRLLRLRRLLLLRLRRLLRRRLLRRRLRLRRRRRRLRLRLLLRLRRRRLLRLLRRLLLLRLLLRLLRLLRRRLRLLRLLRRRLLLLRLLRRLRLRLRRLLRRLLLLLLRLRRRRLRRLRRLLRLLLRLLRRRRLLRLRRLLRLRLRRLLRLLLRRLLRLRLRRLLRLLLLRLRLRLRLRLRRLLLLRLRRRLRRLRLRRRLRLLLLRLRLRRLLLRRLLLRLRLRRLLLLRLLLRLRRRLLRLLRRLRLRRLRRLRRLLLRLLLRRRRRRRRLLLRLRLRRRRLRRLRLLRLRLRRRRLRRLRRLLLLRRRLLRRLLLRRLLRLLRLLRRRLLRLLLRRRRRLLLLLRRLLLLLRLRRRRRRLRRRRRLRRLLRRRLLRRRLLLLLRRRRLLRRRRRLLRLRLRLLLLLLLRRRRLLLRRLRRRRLLLRRRLLLRRLLRLLLRLLRLLLLLRLRLLRLRLRRRLLLLLRLLRRLRLRLLLLLRLLLLRRLLLLLRLRLRRRRRRLLRRLRRLLRLLRRLRLRLRLLRLLLLLRRRRRLRRRRRLRRRRRLLLLRRRRRRLRLRRLLLLLLRRRLLLRRRLLRLRLLRLLLLLLRLRLRLLLRLLLLRRLLRLRLRLRRRRLLRLLLLRRLLRLRLRRLRRRLRRLRRRRRLRRRLLRRRLRRRLRLLLRRLLRRRRLLRLLLLLRLRRLLLLRLRLLRRRLRRRLRRRLLLRLLLRRRRLLLLRLRRRLRRRLLRRRRRLLRLLLLLLLLRRRLRRLLRLLLLLRRLLLLRLLRRLRRLRLRRLRLRRLLRRLRRRLRLRRLRRLRLRRRLRLLRLRLLLLRLLLLRRLLRLRLLLLLRLRLLRLRLRLRRLLLRLRRLLLLLRRRRLLLLRLRLRLRRLLLRLLLLLLLLLLLLRLRLRLRRLLLRRRLLLRRLLLRRLRRLRLRRRLLLRRLLRRRRLLRRRLLRLLRLLLLRLRRLLRRRRLLRLRLLRRLRRRRRLRRRRLLRLRLLRRLRRRRRRRRRLLRRRLLLLRLLLLRLLRRRRRRRLLLLRLLRRLLLRRRLLRLLRLRRLLLRRLLLRLRRLLLLLLRRLLLLRRRRLRRLLLLLRLRLLLLRRLLRRRLRRRLLRRRRLRLLRRLRLLLRRLLLLRLRLRLRRRLLRRRRLLLLRRLRLLLLLLLLRRLLLLRRRRLLRRLLLRLRRRLLRLRLRRRLLLRLRLLRLRRLRRRLLRLLRLRRLRLRLLLRRRRRRLRLRRRLLLLRRLLLLRLRLLRRRRLRLLRLRRLRLLLRRLRLLLLLRLRLRLLRRLLLLRLLLRRLRLRRRRRLRLLLRRLLLLRLRLLRRLLRLLLRRLRRLLLRLRLLRRLRRRLLRLRLLRRLRRRRLRLLLLRLLRRRLLLLLLRRRLRRLLLRLRRRRRLLRRRRLLRLLRRLLRRLLLLLRLLLLLLRRLLRLLLLLRLRLRLRLRLLRRRRRRRLRLRRLRRRLLLLLRRLRLLLRLRRLRRLLLRLRLLLLRRRRRLLRLRLRLLRRLRLRRLLRRRRRRRRLLLLLRLRLLLRLRLLLLLRRLLRRLLRLRRLRLRRRLLRRLRLRLLRLRLLRLLLLRLLLRRRRLRLLRLLLRLLLLRLLRRLRRRLRLRLLRLRLLLRRRLLLRRRRLLRRRLLRLRRRRLLLRLRLLLRLLLLLLLRLLRRRRLLLLRRLRRRLLRRLLLLRRRRLRRRRLLLLRLLLRRRLLLRRRRRRLRRRLRRLRLLLRLRRRLRLRRLRRRRLLRLLLRLLRRLRLLLLRLLRRLLRRLLLLLRRRLRRRLLRLLRLLRRRRLRLRRRRLRRLRRRLLLLLLRLLRLRRLRLLLLLRLRLLLRRRLRRLRLRLRRRRLRLLRRLLLRRLLRRRRRRLRRRLLRRRLLLRLLRLRLRRRLLRRRLRLLLLLRRLLRRLLLLRRRLLLLRRRRLLLRRLLRRRLRLLRLRLRLRLLRRLRLRRRLRRLRRLRLLRRLLLRLRRLRLLRRRLRLLRLLLLRRLLRLRLLLRLRLLRLRLRLLRRLLLRRLRLLRLRRRRRLLLLLRRRRRRRRRLLLLRRLLLRRLLRLRLRRRLRLRLLRRRRLRLRLLLRRLRRLLRLLRRLRRRRRRRLRRRLRRRLRLRRRRLRLLRRRLRRLLLLLLRRLLRLRRRLRRLLLLRLLRLRLLLRRRRRLLRLLRRLLRRLLRRLRRRLRRRLLLLLRRLRRRRRRLRLLLLLRLLLRLLLRLRLRLLLLLRLRRRLLRRLLLLLRRRRLLRLLLLLRLLRRLLLRRLRRRRLRLRRLRRRLLLLLLLLRRRLRLRLLLRLLRLLRRLLRLRLLLRRLRLRRLLLLRRRLLLRRRLLRRLRLRRLLLLLRRRLLRLRLRLRLLRRLRLRLLRLRLRLLRRRRRRLRLLLRLLLLLRRRLRRLRLLRRLRLLLLRLLLLRRLLRLRLLRRRRRLRLRLRLRLLRLRRLRRRLLRLLRRRLRRRLLRRRLLRRLRLLRLRRRLRRRRLRRLLLRLRRLRRLLLRLRLRLLRLLLRRRLLLLRRLLLLRRLLLRLRLLRLRRRRRRRLLLLRLRLLLRRLLRRRLLRLRRLRRLLLRLLLRLRRRLLRRRLRLLRRLLLRLRRLLLRLLRRLRLLLRLRRLRRRLRRLLRLLRRRLLRLLLLRLRRLRRLRRRRRLRRLLLLLLRLLRRRRRRRRLRRRRRLRRRRRRRRLRLLLLRLLRLRRRLRRRRLRLRLLRLRRLLRRLLRRLRLLLRLLRLLRLLRRLRRLLLRRLRLLLLRRLRLRRLLRRRRLRRRRRRRLRLRLLRLRRRRLRLLRRRRLRRLRLLLLLRRLLRLRRLRLLRRRLRLLRLLRLRRLLRRRLLLLRRLLLLLRRRRRRLLRRRLLRLLRRRLRRLLRLLLRLLLLLRRLLRLRRRRRRLRRLRRRLLRLRRLRLLRRRRRRLRRLLLRLLLLRLRRLLLLLLRLRLLRRLRRLLRRLLRRLLLLLRRRRRLLRLLRRLLRLRRLRLRLLLRLRRLRRRLRLRLRRRRLRRLLRRRLRLRRLRLLLLLLRRRRRRLRLRLLLRLLRLLLRRLRLRLRRLLLRLLRRRLRRRRRRRRRLLLRRLRLLLLLLRLRRLRRLRRLRLRRLLLLLLRRRRLRLLLLRRRRLRRRRRRLLLRLRLRLRRLLRLRLLLLRLRRLLLLLRRRRRRRRRRLRLRLRRRRRRRLRRLLRRLRLLRLLLLRRRLLRLRRRRLRLLRLRRLRRLRRRLLLRRLLLRLRRLLLLLRLRRRLLLLRLLRLLLLRLLRRRRRLLLLLLLLRLLLRLRLLRRRLLLLRRRRRRLRLLLRRRRLRLLLRRLLRRRLLRLLRLLRRLRRRRRRRLLLRRLRRLRLLLRLRRLLLRLLLLLRRLRRLLLLRRLLLLLLRLLRRRLLLRRLRRRRRLRLRLRLRRLRLRRLLLLLLLLLLRRLLLRRLRRLRLLRLLRLRRLRRLRRRLRLRRRLLLRRLRRLLLRLRLRRLRLRLLLRRLLRRRLLRRRRRRRLRRLRLLRLRLRLLLLRLLRRLLLRRLRLLLRLLRLLLLLRLLLRRLRRLLLRLLLLRLLLRLRLRRLLRLLRRRRRRLRRLRLRLLLRLRRLLLLLLLLLRLRLLLLLRRRRRLRRRRLLLRLRRLLLRLLLRLLRRLRLLRLRRRLRRRLLRLRRLLLRLRLLLLLRRRLLLRLRLLLRRLLLLRRLRRRRLLLRLRRLLRRRLLLRRRRRLRLLLRRRRLRLRRLLRRRLRRRRLLLLRLRLLRRLRLRRRRLRLLRRLLRLRLLRLRLRLRRLRLRLLRRLRLRRRRRLLRLLLLRRRRRLLRRLLLLLRLLLRLLLLLLLRRLLLRLRLRLRLLRLRLRLLRRLLLRRLRRLRLRLLLRRLLRRRLRLLRRRLLLLLLLRLRRLRRLLLLLRRLLRRLRLRRLRLRRLLLRLRLLLLLRLLRRRRLLRLRRLLLRLLLRLRRLLRRLRLRRRLRLLLRLRRRLLRRRRLLRLRLLRLRLLRLRRLRLLRRLLRLLRRLLRLRRLLRRLLLRRLRLRLRRRRLLRLRLRLRLLLLRRRLLLLLRRLLRLRLLLLRRLLRRRRLRLLRLLRLLRRLRLRLRLRRRLLLLRLLRRLRLLRLRRLLRLRLRLRRRRRLLRLRLRLRLRRLLRRRLLLRRRRRRLRRRLLRLLRLLLRLRRLLRRLLRLLLLLLLRRLRRRLRLRRRRRLRRRRLLLRRRRLLRRLLRRLLLLRRRLRLLRLRLRLLRRRRRLLLRLRLRLRLRRLRRLRLRLLRLLLLLRLLRLLLLRRRLRLLLLRRLLRRRLRLRLRRLLLRRRLRRRRLLRLLRRLLLRRLLLLRLLLRLRLLLRLRRLLRRLRLRRRRLLRRLRRRLLRRRLRRRRRLLLLLLLRLLLLRRLRLLRLRLLRLRRRLLRLRLLLLLLRLRRRRRLLRRLLRLLRLLRLRRLRRLRLRRRLLRRRLRLLLRRLLLLLRLRRLRRLLLRLLRRLRLLLRLRRRLRLLRLRLLRRLRRLLLRLLRLRRLLRLLRLRRLLRRRRLRRLRRRRLLLLRLRLLLRRRRLLLRLRLRRLRRLRRRLLRLRLRLRLRRLLRRRRRLLLLLRRRRRLRLRLRLRRRLLRRRLLRRRLRLRRRLRRRRRRLRLRLRRRRLLRLLLLRLLRLLRLRRLLLRRRLLRRRRRRRLLRRRLLRLRLLRLLRLRLLRLRLRRRRRLRRRRLLRLRLLLRRRRLLLRRRRRLRRLLLLLRRLRLRLRLRRRLLLLLLRRLLRLRRRRLLLLLRLLRLLRLLRRRLRLLLRLLRLLRLRRRLRLRLRRLRLRLRLRRRRLRLLLRLLRRLRLLRRLRLRRLLLLRRLLLLLRLLRLLRRRRLLLRRRRLLLLRLRLRRLLLLRLRRRRLLLRLRRLLLLLLRRLLRLRRRRRLRLLLLRRRRLLLRLRRRRLRRRLRRRRLRRRRRRLLLRLRRRLRRRRLRLRLLLRLRLRLLRRRRRLRLRLLRLRLLRLRLRRLRLRLLRLRRLLRRRLLRLLRRRLLLRRRLRLRLLLLLLLLLLLRRRRLLLRRRLLRRRLRLLRLLRRLLRLRRRRRRRLRRLRRLRRRRRRRRRRLLRRLLLRRRRLLRLRRRRRRLLRRRLLRRLLRRRLRLLRRRRLRRRLRLRLRLRRLLRRLRRRRLRLLLLLLRLRRLLLLLLLLRRLLLLLLRLLLLRLRLLRRRLLLLRLLLRRLRLLLLRLLRRRRLLRLLLLRLLRLLRLRRLRLLLLLLRRRLLLRLRRLRRRRRRLRRRLLRLRLRLLLLLLRRLRLLRLLRLLRLRRLRLRLLLLLRRLRLRLLLRLRRRRLLRRRRLLLLRRRRRLLLRRLLRRRRLLLRLRLRLLLRLRRLRRRRLLLLRLRLLRRRLRRRRLRRLLLRLRRLRLRLLRLLLRLRLRLRRLLLLLLLRRLRRLRRRLLRLRRRLLLRLLLRRRRLLLRRLLRRRLLRLRLLLLRRRLLRRLLRLLLRRRLLLLRLRLLRLLRRLLRLRLRRRRLLRLLRRRLRRRLLLRLLRLLRRLRRRRLRLLLRRLRRRLLLRRLLLRLLLRLRRRRLLLLRRRLLRRLLLRLRRRLRRRLRLRRLRRRRLLLRRLLRRRRRLRLLLRRRRRLRRRRLLRRLLLLRLRLRRLLLLLRLLRLLRRLRRLRRLLRRLLRLLLRRLLLRLLLRRRRRLLLLRLLRRLLLLRRLLRLLLLLRLLRRLRLRLRRRLRLRLRLLRRLLRRRRLRRLRRLRLRLLLLRLLLRLRRLLLLRLRRLRLRRRLRRLRLRLRRLRRLLLLRRLLRRLLRLRRRLRRLLLRLLLRLRRLRRRRLRLRRLLRRRRLRLLLRRLRLLRLRRLLRRLLLLRRLLLRLLRLRLLRRLLRRRRLLLRRRRLRLLRLLLLLLLLLRRLLLLLRRRLLLRLRRRRRRLRRLRRLLRRRRRLRLLLRLLRRRLRRLRLRRRLRRRRLRRLRRRLRLLLRRRRRRRLLRRRRLRLLRRLRRRLRLLLLRLLRLRLRRLRLLRLRLRRRLRRRLLRLLRLLRRRLRRLLLRLLRRLLLLLLRRRLRLRLLRLLLLRRLRLLLLLLLRLLRLLRRLLRLRRRLRRRRRLLRRRRLLRLRLLLRRRLLRRRLLLLLRRRRRRRLLRRLRLRLRLRRRRRRLRLLRLRRLRRLLRRLLLRLRLLRLLRLRRLLRLLRLRLLLLRLLLRRLRLRRRRRRLLLLRLRLLLLRLRLLLRLLRRLRRLLLRLRRLRRLLRRRRRLLLLRLRLRRLRLRLLLLLLRRRLRLRRRLLRLRRRRLLRRRRLRLLRRLRLRRRRRRRRRLLLLRRRLLLLLLLLRLLRRLRLLRLLLRRLRRRRLRRLRLRRRRRLLLRLLLLLRLRRRLLLLRLRRRLRRLRLRRLRRRRLRRRLLRRLLRRLRRLLRRLRLRLRLLLRRLLLRLRLRLLLRLLLRLRLRLRLRRRLLLRLRRRRLLLLRRLRRRRLRLRLLLLLLLRLLLRRRLRRLRLLRRLLLLRLLRLRLLLRRRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLRLLRLLLRRRRLLRLLLRLLRRLRLRRLLLLLLLLRRLRLRRRRLRRLRLRLLRRLRLLRRLLLLRRRRLRLLRRLRLRRRRRRRLLLRLLRRLRRRRRRLLLLLRLRLLLRRRLRRLLRLLRLLLRRRLRRLLLRLLLLRLRRLLLRLLRRLRLLLLLLLRLRLRLRRRRLLRRLLLLRLLRRRRLLLLRLRRLRRRRLRLLRRRLLLRRRLLRLLLRRRLLLRLLRRRRRLRRLLLRRLLRRLRRLLRLRRRLRRLRLRRLRRLLRRRRLLLLRLLRLRLRLLRLLRLRLRLRLRRRLRRLLRRRRLRRRLRLRRLRRRRLRRRRLLLLRLLLRLLRLLLRRRLRRRRLLLRLLRRLLLLRLRLRRRRLLLLRLLRLLLRLLLLLLRRLRLRRRRLLRLLLLRLLLRLRLLLLRLRRRRLLRRRLRLLLLRRLRLLLLLLRLLRLLRRRRLLRLRRRLLRRLLLRRRLLRRRLRRLLRRLRRLLRRLLRRRLLLRRRLLRRRRLLRRRRRLLRLRRLRRLLLLLRLRRLRLLRRLLLLLRLRRLRLLRRLRRLRLLLLLLRRRRLRRRRRRRRLLLRLLLRLLLLLRRLRLRRLLLLRLRRRRLLRRRRLRLLLLLRRLLLLLLLLLLLRRRLLLLLRLLRLLLRLLRRLLRRRRRLLRLRRLRRLLRRLRRLLRRLRRLLLRLRLRLLLRLLRRLRLLRLRLLLLLLRLRRLRRLLLLRRLRLRLLRLRRRLRLLLLRRRLLLLLLLLLRLRLLLLLLRRRRLRLRLLRLLRLRLRRRLLRRLLLLLLRRRLRRLRLLLLRRLRRRLLLRLRLLRRLRLRLRLRRRLRLLLLLRRRLLLRRLRRLRLRRLLLLRRRRRLLLRLLRLLLRLLLLRRRLLRLLRRRRLLRLLLLLRLLRLRRLLLLRRRRLRLLRLLLLLRLRRRRLRLRLLLLLLLRRLLRRRLLLRRRLLRLLLLLLRLRRRRRLRLLLLLRRRLRLLRLRRLRRRLLLRRRLRLLLLRLRLRRLRRRRRLRRRRRRRRRRRLRRRRRLRRRLLLRRRRLLRLRLLRRRRRRRRRRRRRLRLLRRLLLRLLRLRLLRLLLRRLRRRLRRRLRLLRRLLRLLRLRRRRRRLLLRRRRLLLRLLRRRLRRRLRRLRLLRRRRLRRRLLRLLLLRRRRRLRLLLLRLLRRLRLLLRRLLRRLRRLLLRRLRLLLRLRRLRLRLRLRLLRLLLLRLLRLLRLLLRLLRRRLRRRRRLLRLRRLRRRLRRRRLRLRLLLRRLRRLLLLRRRLLLRLLRRRLLLLLLRLRLLRLRRRRRLLLRRLLRRLRRRRRRRRLLLLLRLRRLRRLRRRRRLLLLRRLRRRLLLLLRLRLRRRLRRLRLRRRLRRLLRRLRRLRRRLLLRLRRLRRLRRLRRRLRRRLRLRLLLLRRLLLLRLRLRLRRRLRLLLLLLLRRLLRRRRRLRLRRRRRLLRLRLRRRLLLRLRRRLLLLLRRRLLRLLRLRLRRLLRLRRLRRLRRLLRLRRRRRLRRRLRLLLRRRLRLRLRRLLLLLLLLRRLLLRLRLLRRLLLLRLRLRLRLRLLLLLRLRRLRLLRRLLRLRLRLLLRRRRLRRLLRRLLRRRLLRLLRLLRLRRLLLLLRLLLRLLRRRLRRRRLRLRLRRLRRRLLLRLLRRRLLLLRRLRLLLLLRLRLRRLRRLRRRLLLLRLRLLRRLLRRRRRRLLRLLLLLRLLRLLRRLRLRLRLRLLLRRLRLRLRLLLRLLRLRLRRRRLLRRRRRLRRLLRRLRLRRLLRLLLLLLLRLRRLRRLLLRRRRRRLRLRRLLRLLLRLLRLLRRLLRLRLRRRLRLRRRLRRRLRRRLRLRLRLRLLLRRLRLLRRLRRLLLRRLLLRLLRRLRRRLLRLRRRLRRRRLRRRRRLLLLRLLRRRLLLRLLRLRLLLRLRLLRLRRRLLLLRRLLRRRLRRLLRRLLRRRRRLRRRRLLRLLRLLRRRLLRRLLLLRLLLRRLRRRRLRRRRRLRRRRLRLRLLLRRLLLRLRRRLLLRRRLRRRRRLLRLRRLLRLLLRRLRRLLLLLLRRLRLLLRRRRLLRLLRRRLLLRLLLLRLRRLRRRRLRRRRLLLLLLLRLRLRLLLRLRLRLLRLRLRLLLLRRLRLRRRRLLRRRLLRRLRLLRLLRLLLRRLRLRRLLRLRRLLLRLLLRRRLRLRRLRLLRLRRLRRLRRLRLLRRRRRLRLRRLRLLRRRLLRLLRRLLRLLRLRLRLRRLLRRRLLLLLRRLRLLLRLRRRLLRRRLLLLRRLLRLRRRRRLRLRLRLRLLRRRRRLRLRLRRRRRRRRRLLRLLRLRRLLLRLRLRLLLLLLRRLLRRRLLLRRRLLLLRLLLRRLLLRRLLRLLRRRRRRRRRLRLLRRLLLLLLRRRRLRRRLRRRRLRRRRLRLRLLLLRLLLRRLLRRRLLRRLLRLRRLRLRRLLRLLLRRLLLLLRRLRRRRLRRLLLLRLRLRLRRRLRRLRRLRLRLLLRLLLLRLLRLLLLRRLLRLLLRLRLRLRLLLRLRLRLRRRRLLLRLRLRLLLLRRRRRRRRRRRRLRRLRLRRRRLLLRLRLRRRRRRLLLLRLRLRRLRRRLLRRRLRRRLRRRRRRRRRRLRLLRLLRLLLRRRRLRLLRLRRLLRRRLRLRRRLRRLLLRLLRLRLRLLLRLRRLRLRLLRRLLLLRRLRRRLLRLLLRLLRLLLLRRLRLRRRLLLRRLLLLRLLLRLLLRRRLRRRRLRRLLLLLRLRRRLLRRLRLRLRLLRRLRRLRRLRRLLLRRRLLRLRLLLRRLRRLLRLRLLRLLLRRRLLRLRRRLLLRRLLLRRLLRLLRRLRLRRLLRLRRRRRLLRLLRLRLRLRLRLLLLLRRRRLRRLRRRRLRRRRLRRRRLRLLRRRLLRRLRRLLLLRRLRLLLRRRLRLRRRLLLRLLLRRLLLRLLLRRRLLRLLLLRLLRRLLLLRLRRRLRLLRLRLRRRRRLRLRLLRLLLLRRRLLRLRRRRRLRLRLRLLRRRRRRRRRLLLLLLRLRLRLRRLRLLRRLLRLRRLRRRLRLRRLRLLRRLRRLRRLLRRRLLRRRLLRLRRLLLRLLRRRRLRRLLRRRRRLRLRLRLRRRRRRLLLLLRRRRLRRRLRLLRRLLLRLRLRLRRLRRRRLRRLRRRLRLLLRLLLRLLRLLLRLLLLLLLRRLLRRRRLRLLRLRLRLRLLRRLRLRLRRRRLRLLLLLRRLRLRLRRRLLLRLLRRLRLLLLLLRRRLRLLLRRRRRRLLRRRRLRLRLLRLRLRLLRLLRLLLRRLRLLLLRLRRLRRRLLRRRLLRLRLRLLRRRLLRLLRRRRRLLRLRLRLLRRRRRLRLLLLRLLRLRRRLLLRRLRRLLLRRRLRLLLLLRLRRRLRRRRRLLRRLRRLLRLRLRLLRLRRRLLLLLLLLRRLRLRRLLLRLRRLLRLRRRLLLLLRLRLRRRLLLLLRRRRRRRLLLRLLLRRLLRRLLRRRRRRRLLLRRLLLRRLLRRRRLRLLRLRRLRLLLRLLRLLLRLRLLRRLRRRLLRRLRRLRLRRRRRRRRLRLLLRLRRRRLLLRRRLLRLRLRRLLRRRRLLRLLLLRRRRLLRRLRRRRRRRRLLLRLLLRRRRRRLRRLRRLLLRLLRRLRLLRLRLRLLRRRRRRLRRLLLRLRLLRRRRRRRRLRLLRLLRRLLRLLRLRRLRRRRLLRLRLRRRLRRLLRRLLRRLLRRLRLLRLRRLRLLRLRLLLLRRLRRLRRRRLRLLLLLRRRRRLLLLLLRLLRRLRLLRLLLRRRLRRLLLLRLRRLRLLLLRLRRRRRLLRLLLLLRRLLLLLRLRLRRLLLRLLLRLRRLLLRLLRLLLRLLLLRRRRRLRLRRLLLLLLLRLRLRRLRLRRRLLLRLRRLRRLRRRLLRLLLLLLLRLLLRRRRRLLLLLLRRLLLLLRRLLLLRLRRRLRLRLRRRLRLRRLRLRLLLRRRRLLLLRRLRRLRRLRLRLRRRLLLLRRLRLRRRRLRLRRLRRRLLLRLRLRLRRRLLLLRRRLRRLRLRRRRRRLRLRRRRRLLLLRLLLRRRLLRRRLRLLRRRLRLRRRLRRLRLRRRLLRRLRRLLLLLLLLLRLLLLLLRRRRLLLLRLLLLLRLRLLRRRRRRLLRLLRLRRRLRLLLLLLLLLLLRRLRLRRLRLLRLRRRRLRLLLRRRLLLRLRRRLLLRLRRLRLLLRLLLLRRRRRRLRLRLLLRLLLRLRLRRLLRRRLLRLRRLLRRLLLRRLRLRRRRLRRRRLLRLRLRRLRRRRLLLRRLLLRRLRLLLLLRLRLLRLRRRLLRRLLLLLLRRLRRLRLRLRRRLLRLLRRRRLLLLRRLLLRRLRLRRLLLLRRLRRRRLLLLRLLRLLLRRRLLRRLRRLRRRLLRLLLLLRRLLLRRLRLRLLLLRRRRRRLRRLRLLLRLRLLLLRRRRRRLRLRLLRRLLLRRRLRRRLRRLRLLLRLLRLRLLRLRRRRLLLLLLLLRLRLLLLLLRRLRRLRLLRLRRLLLLRLLLLLRLLRLLRLRRRLLLLLRLRRLLRLRLRLRRLRRRLLRLRLLLRRRLRLRLRRRLRLRLRLRLLLRRLRRRRRRRRRRRRLRLLRRRLRLRLRRLLLLLLLRRRLLLRRRRLLLRRLLLLRRLLRLRRLRRRRRLRLRRRLRRRLLLRLLLRLLRRLLRRLLRRLRRLLLLLLRLRRRRRRLLLLRLLRLRRLRLLLRRRRRRLRLLLLRLLLRLLLLRLRLLLRRRRRRLLLRLLRLLLRRLRRRLRRRLRLLLLRRRRRRLRRLLRRLLLLLLLLLRLRLRRLRRRRRLLRLLRLLLRLRLRRLLRRRRRRLRRLLLLLRLRLLRRLLLLRRRRLLLRLRRLRRLLRLLRLLRLLLRRLRLLLLLRRLRLRLRRRLLLRRRLRRLRLLLRLRRLRRLRRLLRRRLLRLLRLRRRRLLRLLRLLLRRRRRRLLRRRLRRRRRLRLRLRRRRLLRLRRRRLLRLLLLLRRRRRRRLRRRRLRLLRLLLLRLRRLLRLLLLRRRLLRRRLRRRRLLLLLLRRLLLLLRLRRLLLRLLLLRRLLRLLRRRLRLRLRRLRLRRRRLRLRLLLLRRLRRRRRRRRRRLLLLRLRLRLRLRLRLRLRLLRLRRRLLRRRRRLRRRRLRRRRRLRLRRLRRLRRLLLLRLLLRRLRLRLLLRRRLRRRRRRRLRLRRLRLRLRLRLLRRLLLRRLRRLLLLLLLRLRRLLRRLRRRRLRLLLRRLRRRLRRRRLLRLLRLRLLRRLLRLLLRRLLLRRLRLLRRLRRLRRLLRLLLRLRRRRRRRRRRLRRLLRLRRRRRLRLRRLLRLRLLLRLRLRLLLLRLLLLRLRLRLRLRRLLRLLRLRLLRRLRLRLRLLLLRRLRLRLRRRLLLRRRLRRRLRLLLRRRLRRLLLLRRRLRLLRLLLLRRRRLLLLRLRLRLLLRRLLLRRRLLLRLLLRLRRLLRLRRLLLLRRLLRRLRLLLRLLRLRRLRLRLRLLRLRLRRLLRLRLLRLLLRLRLRRLRRRLLRLRRRRLRRLRRLLLLLLRRLLRLRLLRRLRLRRRLRRLRRRLRRRRLLLLRLRLRRRRLRRRRLRLLLLLLLRRLLLRLRLLRLLRRLRRLLLRLLRRRLLLLRLLLRLLRLLRLRLRRLLLLLRLLRLLRRRLRLRLRLRRRLLLLRRLLRLRRRLRLLLRRLLLLLRLLLRRLRLRRLRLRLLRRLLLRLLLLLLRLRLLRRRLRLRLLRLLLRRLRLRLLRLRLRRRRRRLLLLRRRRRLRRRRLRRRRLRRRLLLLRLLRRRRLLRLLRLRLRRRRLRRLLRLRRLRLRRRLLLLRRLRRLRRLLLLLRLLRRRLLLRRRRRLLLRRRLLRLLRRLRRRRRLRLRLLLLLLRLLLRRLRRLLLRRLLRLLRRLRRRLLLRLLLLRRLLLLRLRLLRLLLRRLLLLLRLRRLLRRLRRRLLLLRLRLRLRLRRRLLRLLLRRLRLLRRRRRLRRLRRRLLRRRLRRRRRRRRRLLLRRRRLLLRLLLLLLLLLRRLRLLLLRLLLRRRRRLRRRRLRLRLRLLRRLLRLLLLLLRLLRRLRLLLRLLRLRLLRRRLRRRRRRLLLRLRLLRLLLRLLRLLLRRRRLRRRRRRLRLLLRRRRLLRLLRRLRRRLLLRLLRLLRLLRRLLLLLRRRLLRRRRLRLLLRLLRRLRLRRLRLRRLLRLRLRLLRLRLRRRLRLRRRLLRRLRRLLRLLRLRLLRRLRLLRLRRLLLRRRRRLRLRLRRLRLLRLLRRRLLLLLLLRLLRLRRRLRLRLLRRRRLLLRRRRRLLLLLLLRLRLRLLLRRLLLLRLLLRLLLRLRRLLRLLRLRLRLLLRLRRRRRRRRRRRRLRRLRRRRRRLRLLLRLLRLRLLLRLRLLLRLRRLRLRRLRLRLLLLLRRLRLRLLRLLRLLRLLRRRRRLLLRLLLRRRRLLRLRRRLRLLRRRLLRRLLRRLRRLLLRLRRLLRRRRRLLLLRLRLRRRLRRRRRLRLLLRLLLRLLRLRLRLRLLRLRLLLLRLRLLLLRRLRLLLLLRRLRLRLRRRRRRLRRRLRLLRRRRLLRRRRRLRLRRLRRLRLLLRRLRLRLRLLRLLRRRLLRRLRLLRLLRLRLRRLLLLRRRRRLLLLRRLLRLRLRRLRLLLLRRRLRLRRRLLLLLLRLRRRLRLLLRLLLLLRLRLLLLLRRRRLRLRLLRLLLRRRRLLRRLRLRRLRRLLRRRRLLRLLLRLRRRRRLRLRRRRRRRRLLRLLRLLLLLRRLRRLLRRRRRLLRLLLRLLRRLRLLRRLRLLLLRRLLRLRLLRRRLLLRRLLLLLRRLLRRLLLLLRLRRLLLLLLRLLLRLRLRLRLLRRLRRLRLLRRRRRRRLLRRLRLRRLRRRLLRRLRRLLRLRRLRRRRLLLLRRRRRRRLLRLRRRRLRRLRRLRLLRRRLLRRRRRRRRLLRRLLRRLLRLRRRLRLLLLLRLLLLLLLRRLRLLLRRRLLRLLRLRRLRRLRRLRLLRLRLRLRRLLLRRRLRRLRRLLRLLLLRLLRRRRRRLLRLRRRRRRLLLLRRLLRLRLRRRLLLLLLLLLRRRRLRRRRLLRRLRLLRRLRRRLRLRRLRLLLLRRRRLLLLRLLRRRRRRRRRRLLRLLLRRLRLLLRLLLRRRRLRLRRRRLRRLLRLRRRRRLRRLLLLRLLRRLLRRLLLLLRRLRLRLLRRLRRLLRLRLRLLLLRLRRRLLRLLRLRLRRLRRRLRRLLLLRLRLLRRLRLRRRLLLRRLLRRLRLRLRLRLRLLRRLLLRLRLLLLLRLLLLLRLLRLRLRRRRLLLLRLLLLRLLRRRLLRLRRLLLRRLLRRRRLRLRRLRRRRRRRRRRLLLRRLRLLRRLRLRLRLLRLRLLLRLRLLLLLRLRLLRRLLRRRRLLRRLRRRRRLRRRRRRRLLLLLRLRLRLLRRLRRLLLRRLLLRLLLRLRRRLLRRRLRRRRRRRLLLLRLLRLLRLLRLRLLLRLLRRRRLLLRRLLLLLRLLLRLRLRRLLRRLRLLRLRRLRLRLLRRLLRLRRLRLLLRLRRLRLLRRLLRLLRLLRLRLRRRLRRRLLLLRLLLLRRLLLLRLRLRLLRRRLRRRLLRRRRLRLLLRRLLRRLLLLRLLRLLLRLLLLRLLLRRLRLLLLLRLRRRLLLRLLLLRLLRRLLLLRRRRLLLRRRRRLRLLRRRRLLLLLLRLRRRRLLRRLRRLLRLRRLRLLLLLLRLLRRLRRRLLLLLLRLLRRLRRRRLRRRRLLLLLLRLRRLRRLRLLRLRRRRRRLRRLLRRRLLLLLLLLRLLLLLLLLLLLRRRRLLLRRLLRRLLLRRRRRLRLLLLLRRLRLLRRLLLLLRLLLLLRRRRRRRLLRRLLRRLLRRRRRLRLRLLRRRRLRLLLRRRLLRRLRRLRRLLRRLRRRRRRLRRRRLRLRRRLRRLLRLLLRRLRLRRLLLRLRLRLLLRRLLLLLLLLRLRRRRLLRLLLRRLRLRRLRLLLLLRLLLRRLRRLLRLRLRLRRLRLRRRLRRRLLRRLLRRLLLRLLLLLLLRRLLRRRLRLRLLRLRLRLLLRLLLRRRLLLLLRLRLLLLRLLLRLLRLRLLRLRRLLLRLRRLLRRLLRLLRRRLRLRLLLRRRLRRRRLRLRLRRRLLLLLRLLLRRRLLLRLRLLLLLLRRRRLLLRLRLLRRLRRLRRLLRRRRRLLRLRLLRLLLRRRRLRRRLLRRRRRLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRRRRLRLRLLLLLRLRRRLLRLRRLLLLLRRRRRRRLLLLRLLLRRLLRLLLRRLRRLRRLLRRRRLLLLRLLRLLRLRLLRLLLLRRRLLRLLLLLLLRRRRRRLLRLRLLLLLRLLRRLRRRRRLLLLRLRLRRLRLRRRRLLRRLLRRLRRLRLLRRRLLRLRLRLLLLRLLLRRRRRRRLLRLRRRRLLRLLLLLLLLLRLLLLRRLLRRRLRRRRLLRLRRRRLRLLLLRRRRRLRLRLLLLRLRLRLLLRLLRLRLRLLLRLRLLLRRRLRLRRRRLRLLLRRLRLRRRLRLLLLLLRRRLLLRLLLRRLLLLRLLLRLRLLRRRLLRRRLRRLRLRLLRRLLLLLRRLRRLRRRLRLRLRLRRRRLRLLRLRRRRLLRLRRRLLLLRLLLLRRLLLLRRRRLLRLLLRRLRLLLLRRLLLLLRLRRLLRLRLLRRRLRRLLRLLLRRLLRLLLRRLLRRRLLLRRLLRRLLLRRLRLLRRLLLRLLRRRRLLLRRRLLLRRLLRRLRRRRRLLLLRRLRLRLLLLLRRLLRRRLLRRLLRRLRLLRLRRRRLRRRRLLRRRRLLLLLLLLLLLRRRLRRRRRRRLRRLLRRLLRLLLLLRRLRLLLLLRRRRLLRRRRRLRRRLRLRLLRRRRLRRLLRRLLRLLRRRLRLRLRLRRLRRLLLLRLLLRRRRRLLRRRLRLLLRRLLLRLLRLRRRRLRLRRLRLRLRLLLRRLLLLLLLLRRLRLLLRLRRRRLLRLRRLRLRLRLRLRRRRRRRLLLRLRRRLLRRLLLLRRLRRLLRLLRRRRLLLLLRRRRRLLLRRRLRRLLRLLRLLRLRLRRRRLLRLRRLRLLLRRRLLLLLLRLRLLRLRRLLRLLLRLLLRLRRLRRLRRLRLRRRRRRLRRRRLRRLRLLRRLLRLRRRRLLLRRLLLLLRLRLLRLLRLRLLLRRLLLLRRLRRRLRLRRLLLRRLRRRRRLRLLLLLRRLRRRRRLLLRLRLLLLLRLLLRRRRRLLLRRLRLRLRLLRRLLRLRLLLLLLLLLLLRRLLLLRLLLLLRLLRLLRRRLLRLLLLLLRLRRRRLRLLRLRLRRLLRLRLRLLLRRLRLLLLLLLLLRRRLLRRLRRLLLLLLLLRRRLLLRRRLLRLLLLRLRLRLRLLRRLLLLRLRRRLLRRLRLRLLLRRRRRRLRRRLLLRRRLRLRLLRLLRLRLLRLRLLLRLRRLRRRRLLRLLLRRLLRRLRRLRRRRLRRLLRRLLLLRRLRRRRLLLLRRLRRLRRRRRLLRLLRLRRLLLRLRRRRLRRLLRRLRLRLRLLLRRRRLRRLRLLLLLRRLLRLLLRLRRRRLLLLLRRLLLLLRRRRRLLRLRLLRLRRRRRRRRRRLLLLRLRLLLLRRLRLLLRLLRLRRLRLLRLLLLLRLLLRLLLRLRLRRLRRLRRRRRRRRRLLLLLLLRRRRRLLRRRLLLLLLLLLLLLLRRLLLRLLLRLRLRLLLRRLRLRLLRRLRRLRLLLLLRLRRRRLLRLLRLLRLRLLLRRLRLLRRRRLLRLLLRLLLLRRLLRRLRRRRRRRLRRRRLRRLLLRRRLRLLLRRRRRLLRLRRRRLLRRLRLRRLLLRLRLLRRLLRLLRRRRRRRLRLLRLLRRRRRRLRLLRLLRLRLLLRLLLLRLLRLLLRRLRLLLLRRRRRLLRLLLLLLLLLRLLRLRRLLLRRRRLRLRRRLRRLLLLLRLRLRRRRRLRRLRRLLRRLLRLRLLRLLLLLRLRRRRRLRRLRLLRRLLRRLLLLLRLLLRLRRLRRLRRLRRRRRRRLRLLLRLRRRLLLLLRRLRLLRLLLLRRRRLRRLLRLRRLRLLLLLRLLLRRRLLLLLLLRRRLRLRRRLLLRRRRLRLRRLRLLRRLLRRLLRLLLRRLRLLRRLLRLRRLRLLRRRRLRLRLRRRLRRRLRLRRRRLLRRLLLLLRLRRLLRRRLLRLLRLLLRRRLLRLRLRLLRRLRRLLLLRRRRRLRLRRLRRRLRRLRLRLLLLRLRLLRRLLRRRLLLRRRRLRLLLRRRLLRLLLLLLLRLLRRLRLRRRRLLLRRLRRRLLRRRRLRRRRLRRRRLLLLLRRLLRRRLRRLRLLLRRLLLRRRRLLRRLRLLLRRRLRLLRRRRRRRLRRLRLLRLLLLLLRRRLLLRLLRRRRRRRLRRLLRRLRLRRLRLRRLRLRRRRRRRRRLLRLLRLLRRLRRLRLLRRRRRLLLLRLLLLRLRRLLLRRRRRLLRRRRRLRLRLRLLRRLRLRRRRLLRLLRRRRRLLLRRRRRRRRLLLRLRLLLRLLRLLLRLRLRRLLLLLRLRLRLRLLLLLLLRRRRRRRRRLRRLRLRLRRRRLLLRRRRLLRRRLLLRRRRLLRLLLRRLLLRRRRRLLRLLLLLLRRRRRRRRRRRRLLLLRLLLRRLLLLLRLLLLLLRLRRLRRRRLRRLLLLRRLRLLRLLRLRRLRLLLRRLRRRRLRLLRLLRLRRLRRLRLRLRRLLLRRRLRLRRRRLRLLLLRRLRRRLLRRLLRLLLRRRRRLRLRLLRRLLLRLLLRLLRRRRRLRRRRRRRLLRLLLLLLLLRLRRRRLLLLLRRRRRRLLLLRRLRRLLRRRLLRLLRRRLLLLLLLRLLLRLRLRLLRLRRLRRLRRLLRLLRLRRRRLRRLLLLRLRLRLLLRRRRLLRLRLRLRLRLLLRRLRRRRLLRRRRLRLRLLRRLRRLLRRLRRRLLLRRLLLLLRLLLLLRLLLRRLRRRLLRLLLLRRRLRRRRRLRLRLRRRRLLRLRLRRRLRLLLLLRRLRRLLLLRRLLRRRRLLLLLRRLRLRRRRLRLLLRRRLLLLRRRLLRRRLLRLLRLLLLRRRLRRLLLLLLLRRLRRRRLRLRLLLRRRLRLRRLLLLLLRLLRRLRLRRLLLLLLRLLLLRLRRLLRLRRLRLLRLRLLLLLRRLLRLRRLRRRRRRRLRRRRLLRRLRRLRLLLLLRRRRRRLRLLLRRLRLRLLLLLLLRLRLLRRRRRRRLRLRRLRLLRRRLLLRLLRRLLLLLLRRRLRRLRLRRLLRRLRRLLRRLRRLRLLLLLRRLLLRRLRRLRRLRLRLLLRRRLLRRLLLLLRRLRRLLLRRLRRRLRRLRRRLLLRRLLLLLLRRRRRRLLLRLLRRLRRLLRRLRRLRLRLLRLRRLRRLRRLLRRRRLLRRLLRRRRLRLRLRRRRRLLRRLRLRRRRLRRLRLRLRLRLRRRLLLLRRRRRRLLRLLLLLRRLLLRRRLLLRRLLRRLLLRLLRRLRRRLRRLRLRRLRLLLLRLLRLRLLLRRLRRLRRRLLRRRRRRRLLRRRRLRRLLRRRLRLRRRLLLRRRLRRLRLLLRLLLLRRRRLLLLLRLRRLRRRRLLLLLRRRRLRLLRRRLRRLLRRRRRRRRLLRLLLRLRRLRRRLRLLRLRRRRLRLLRRRLRRRLRLLRRRLLRRRLRLRRLLRLLLRRRRRLRRRLLRRRRLRRLRLLLLRRRLRLRLRLRRLRRLLLLRLLRLLLLRRRLRRRLLLRRLLRLRLLLLRRLLRRLRRRLRLRRRLLLRLRRRLLLRLLLLLLLLLRLRLLRRLRLLLLRRRLLRLRLLLLRRRLLLLLLRLRRRLLLLLRLLLRLLLRRLLLRRRRRRRLLLLLLRLLRLRLRRLRRRRRRRLLRLRRLLLLLLRLRLLLRRRLLRRLLLLRLLLRLRLLRRLRLRLRRRRLRRLRLLLRLRLLLLLRLRRRLLRRLLLLLLLLLRLRLLRRRLLLLRRRRLRRLLRLLLLRRRRRLLLRRLLLRRRRRLRLLLRLRRRRRRLLLRLLRLRRRRLLRLLLLLRLLLRRLLRRRLRRRRLRRRRRLRLRLLRLRLRRRRRLLRRLRRRLRRLLRRRRLRLLLLLRLRRLLRLRRRRLRLLRRRLRLRLRLRLLRLLRLLLRRLRRRRRLRRRRRLLLRLLRRRLRLLRRRRRLLRLRRLRRRLRLRLRRLLRLRLLLLRLLLRRRLRLLLRLRRRLRLLLRRLRRRRLRRRLLRLLLLLRLLRLLRRRRRRRLRRRLRLRLRRRRLRLRRLRRRLLRLLLLLRLLLRLRRRRRRLRLRLRRLLRRLRRRLLRLRLLLRLLRRRLLLLRLLRLLLRLRLRRLLLLRRRRRRLLLRRRRLRLRRLLRLRLLRLLLLRRLRRLRLLRRRLRRRLLRRRRRLLRLRLRLLRLLLLLLLRRRLRLLLRRRLLLLRRLLRLLRLRLRRLRRLRLLLRLRLLLLRLLLRRLLRLLRLRRLRLRRLRRLRRLLRRRLRRRLLLRLLLLLLRRLRRRLRLLLLRRRRLRRLRRRRLRRRLRRRLRRRRLRLLRRLLRLRRRLLRLRRLRLRLLLRRLRLLLLLRLRRLRRLRLLRLRLLRLLRLLLRRLRLRRRLRRLLRRLLRRRLLRLRRLLLRRLRRLRRRLRRRLRRLRLRRRRLLLLLLRRRRLLRLLRLLLRLLLRLLLRLRRRLLRRRRLLLRLLRRLRLLRLRLRLRRRLLLRLLLLLRRLRRLRRRLLRRLRRLLLLLRLRRLRLLLRRRLRRRLRLRLLRRRRRLRRLRRRLRLLLRLLLLLRLRRRRLRLLRRLRRRLLRLRRRRLLRLRLRLRLRLLLLRRLLLLRLLRLLLRLLRLLRRLRRRLLRRLRLRRLLRRLLLLLLRLRLLRRRRLLRRLRLLRLLLLRRLLLRLRLLLRRRRRLLRRLRLRRLRRRLLRRLLLRRRRLRLRLLRLRRRRRLRLRLLRLLLRLLLRLRLLRRRRLLLRLRRRRLRLLRRLLLLLLRRRLRRRLRLRLRLRLRLLRRLRRRRRLLLRLRLRRRLLRLRLRRRLLLRLRLLRRLLLLRRLRRLLRRLRLRLLRRLLLLRLRLLRRRRRLRLRRLLLRRRLLRLRRLLLLLLRRRRLRRRRRRLRRLLRLRLRRRLLLLLLRRLRRLRLLLLLLRRRLLLLLLRLLRLLLRLRLRRLRRLRLLLRRRRLLLRRLRLLLLLRRLLLRLLLLLRLRLLRLRLLRLLRLLRRRLRRRLRLLRLLLLRLLRLLLRRRLRRRLRLLRLLRRRRLLLRRLLLRLRLLLRRRRLLRRRRLRLLLLRRRLRLRRLLRRLLRLLLRLRLRLLRRLLLLLRLLRLRRRLLRLRLLLLLLRLLRLRLRLRRLLLLRLRLLLLRLLLLLRLLLLLLRLRRLRLLLRLRLLLRRRLRLLLRLLLRRRLLRRLLRLLRLRRLLLLLRLLLRRLRLRLRLRLRRLLRRLRRRLLLRLRRRLRRLLLRLLLRLLLRLRLLLRRLLLLRLRLRRLRRLRLLRLLRRRLRRRLRRRLLRLRRLRLLLRLLRRLLRLLRLLLLLLLLRRRLLRRRRLRRLLRLLLLRRLRRRRLLRLLLLRRRRRRRRRRLLLRLRLLRLLRRLLLRRLLRLRLRLRLRRRLRLLLRLLLRLRRRRRRLRRLLRRRLRLLRLLRRLLLRLRRLRLRLLLLLRRRRLRLRRRRRLLRRLLLLLRLRRRRLRLRRRLRLLRRRLRLRRLLLLRRRLRRLRLRRRRRRLRRRLLLLLRLLLRRLLRRRLLLRLLRLLLLRRRLLLRRLLRRRRRRRRRRLRRLRRLRLLLLLLLLRLLLLRLRLRLLRRLRLLRLLLLLRLRLLRRRRRRLRRLRRRRLRLLRLRRLRRLLLRRRRRLLLRRRRLLLRLRLLRRRRLRLRRRLRRLRLRRLRRLRRRLLLRLLLRRRRLLRLLLLLRRLLRRRLRRRRRLRRRLLLLRRLLLRLRRLLRRRRRRRRRRLRLLLRRLLLRLLRLRRRRLLLRLRRLLRLRLLLLLLLRRLLRRLRLLLLLLLLRRLRLLRRRLLRLLRLRRLLLLRLRLLLLRLLRRLRLRRLRLLLRRRLLLRLLRLRLRRRRLRLRLLLRRRLLRLRRRRLLRRLRRLLRLLLLLRLLLRRRRRRLRLLRRLRLRRRLLRRLLLLLRLLLLRLLLRLLLLRRRLLRLLRLRRRLLRRLRRRRLLRRLLRLRLLRRRLRLLLRRRRLRRRLRRRLLRLRRLLLRRRLRLLLLRRLLLRLLRRLLLLLLRRLLLRLLRRRRLRRRRRRLLRLRLRRLRRRLLLLLRLLLLRLRRLRRRLLLLLRRLRRRRRLLRRLRRRLLRRRLRRLRLRRLLRLLRRRLLLRRLRRLLRRLRLLLRLLRRRLLLLRLLRLLLRLRRRRRRLRLLLRLLLLRLLRLRRLLRRLRRLLRRRLLRRRLRRLLLRLLRLRLLRRRLLRRLRLLRRRLLLLLRLLLRLRRRRLLLRLRRLRRLRRLRLRLLRLLRLRRLLLLLLRRRRRRLLRLRRRRRRLLRLRRLRRLLRLRRLLRRRLLRRLLLLLRLLLLLRRLRRRLRRLRLRRRLLLRRRRRLLLRRRLLLLRRLRLRRRRRRLLLRRLRRLLLRRLLLRRLLLLLLLLRRLLRLRRLRLLRRRRLRRRLRLRLLRLLRLRLLLRRRLLRLRLRRLRRLRRLLRLRLLLRLRLRLRLLLRLLLRRLLRLRRLLRRRRRRLRLRLLRRRLRLLRLLRLLRLRRRLRRLLRLRRRLLLRLLRRLRRRRRRRRLRRLLRRLRLLRRRLRLRLRLLLRLRRRRRRLRLLLRLLLRLLRLLLRLLRRRRLRLLLLRLLLRLLRRLRLRRLLLRLRRRLLRLRRRLLRRRLRLRLLLRLRRRLLRRRLRLLLRRRLRLLRRLLLRLLLLLRLLLRLLLRLLLLRLRRRRRRRLRRLRLLRRRLRLRLRRRRRLLLLLLLRRRRRRRRLLRLRLLRLRRRRRRLLLLLLRRLRRRLRRRLRLRLRLRLLLLLRRLLLRLRRLRRRRLLLRRRLLRLLRLLRLLLRLLRRRLLLLLLRRLLLLRRRRRRLLRRLRLLRRRLRRLLLRLRLRRRLRLLRRRRRLRRRRRRLRLRRRLLRRLRRLRRRLRLLLRRLRLRLRRLRRLLRRLRRRRRLLRRRLLLLRRLLRLLRLLLLRRRRRRLLRRLLLLRLRRRLRRLRLLLLLRLRRLLRRLRRLLRRRLRRRRRRLLRRRRLRRRLLLLRRRRRRRRRRRLRLRRLRLLLRRRLRLLLRLRRRLRLLLLRRLLRRLRRRLLRLLLLLLLRLLRLLLLLRRRRLLLRLLRRLLRLLRRLRRLLLRLRRRLLLRLRLLLLRLLLRRRRRRRLRLLRRRRLLLLRRRRLRRLLLLRLRLLLLLLLLRRLRLRRRLRRLRLLLRLLLLLLRLLRLLRRLLLLRRLLRRRLRRLLLRRLRRRRRLLRRRLRRLLLLLRRLLLRLLLRRLRLLLRRLRRLRLRLLLLLLLRLRRRRLRLRRLLLLLRLLLLRRLLRLLRLRLLLRLRLRLLLRRRLRLRRRRRRRRRRRLLRLRLRLRLRLRRRLLRLRRRRLLLLLLLLLRRLLLRLLLRLRRRRLRLRRLLLLLLLRLLRLLLRRLLLLRLRLRRLRLRRRRRLRLRLLRRLRRLLLLLRRRRRRRLLLRRLLRLLLLLLRRRRRLLLRLRRRLRRLRLLLLLRRLRRLLLLRLRRRLLLLLLLLLRRRLRLRRLRRLRRLRRLRRLRRLLLLRLRRLRRRRLRRRRLRLRLRRRLRRLLRLRLLRRRLRRLLLRLRLLRLRRRLRLLRLLLRLLRLRRLLRLRRRRLLRLRRRRRRLRRLRLRRLRRLLLRLRRRLRRLLRRLLRLLRLRRRRLRRLLRLLRRRLLLRRLRLLLLRRRLLRRRRLRRLLLLLRRLLRRLLRRLLLRRRRLLLLRLRLLLLRRLLLLLLRLRRRRRLRLLLLRRLLRLLRLLLRLRRRRRLRRLLLRLRLRLRRRRRRLRRLLRRLLLRLRLLRLLLRRLLLLRRLRRRRLLLLRLRRRLLRLLLLLRRLRRRLRLLRRRRRLRRRLLLRRRRLLRRLRRRRLLLLRRLLRRLLLLRLRRLLRRRRRLLLRRRRLLLLLLLRLLRLRRRLRLLLLRLRLLRLRLLRLRLRLRLLRRRRLLRRLRRLLLLRLRLLLLLRRRLRLLLLLLRLLRRRLLRRRLLRRRLRLRLRRRLRRRLRRRRRLRLLLRRRLRRRLLRLRLRLLLRRRRLRRRLRRLRRRLLLLLRLLRLLLLRRRLLRRLLRRRLRRRLRRRLRRLRLRRLRLRLLRRRRLRRLRRRRRRRLRRRRRRRLRRRRRLLRLLLRLLRLRRLRLLRRRLRLRRRRRRRLRRLRLRLRRRRRLLLRLLRRRLRLLRLRRRRRRLRRRRLLRLLLRRRRRLRLLLLLLLRLRLLRLLRRLRLLRRLLLLLRLLRLRRRRRLRRRLLLLLRRLLLLLLRRRRLRRLLRRRLRLRRLRLRRLLLLLRLRLLLLLRLLLLRLLRRRRLLRRLLLLLLRLRLRLRRRRRRRRLLLLRRRRLRLLLRRLLRRLRLLLRLLLRLLLLRRRRLRRRLRLLRLRLRRRRLRLRRRRRRRRRRLLRRLRRLLLLRRLLRLRRRLLLLLRLRRRRRLLRLRRRRLLLLLRRLRRLLRLLRRRRLRLRRRRRRLRRRRLRRLLRLLLLRLLLRRRLLRRLRRRLLRRLRLLRRRLLLRLLRRRRLLRRLRRLLLRLRRRRLLLRRRLRLRRRLLRRRLLRRLLRRRLRLRRLLRLRRRLRLRLRLLLLRLRRRLLLLRLLLRLRRRRRRLLLLRLLLRRLLRLRRLLRRLLLRRRLLRRRLLLLLRRRRLRLLRRRRRLRRRLRLLLRLLRRRLLLLLRRRLLRLLRLRRLRRLLLLRRLRLRRLLLRRRRLLRRRRRRRRLLLRRLRRRRRLRRLRLRRRLRLRRRRRRRLRRLRRLLLRRRRRRRLRLRLRRRLRLRRLLRRRRLRLRLLLLRRLRRLLLLRRRRLLRLRLRLLLLRLLLRLRRRRLLRRRLRRRRRRLRRRLLRRLLRRLLRRRLLRLRLRRRRLRRRLLLLRRRLLRLRRRRLRLLLLRLLLLRLRRRLLRRLRLRRRLRLLRLRLRRLRLRLLLLLLRLRLRRRLRRRRLRLLLRRLRRRLLRLLLRLRLRLRLLLLLLRRRLRLRLLLLRRRLLLRRRRRLLRLRLRLLLRRLRRLRRRRLLLRLRLRRLRRLRRRRLLLRRRRRLRRLLLRLLRRRRLRLRLLLRLLLLLLLRLLLRLLLRRLLRRRRLLLRRRRLRRLLLLRLRRRRLRLLRRRLLLRLLRLLRRRLRRRLLRLRLLLLRLLRLRRLLLLRLRRLLLRLRLLRLRLRLLLRLRRRRRLLRLRRRRRLRRRLLLLRLLRRRRRRLRRLLRRLRRLLRRRRLLLRRLRRRLRRLRRLLLRRRRLRRRRRLRLLLRLRLLRRRLLRLRRLLRLRLRRRLLRLLRLLRRRLRRRRRRRRRLLLLRLLRRLRLRLRLRLLLRLRRLLLLRRRLLLRRLRLLLRRRRRRRRRLRRLRRLLRLRLRRRRRLLLLLLLLLLRRLLRLLRRLRLRLRRRLLLLRRRLRRRLRLLLRRLLRLLRRRRLRRRRLLLLRLLRRLLRRRLLRLLRLLRRRLLRRRRLLLRRRLLRLRLRRLRLLLLLRRLLLRRRRLRLRRRRRRLLRLRRLRRRRRLRLRRLLLLRRLRRRLRRRLLRRRLLLLLRRLLLLLLLRRLLRLLLLLLLRLLRLLRLLLRLLLLRRLRLLRRRLRLLRLLLLRRRLRLLRLLRLRLLLLLLLRLRRRLRRLRRLRRRLRLLRLLRRRRLLRLRRRLRLLLLLRLLRRRRRLLLLLLLLRRRRRRLLRRRRRLRLRLLLLRLRRRLLRRLLRRLRRRRLLRRRLRLRLRRLLLLLLRLLLLLRLLRRRRLRRRLRRLRLRRRRRRLRRLLRRLRRRLLLRLLRLLRRLLLLRRRLLRRRLLRLLLRRRRRLLLLLRLLRRRRLLLLRLRRLRLRRLLLLRRLRRRRRRRRRLRRLRLLLRLLLLRLLLLRLLRRLRLLRRRRRLLLLLRRRRLLLLRRLRRRLRLRRLLLLRRLRRRRRRLLLRLLRRLRRLLLLLLLRLRLRRLRRLRLRRLLRRRRRLRLLLRLLRLRRRRLRLRRLLLRRRRRRLRLLRRRRLLLRRRRLLRRRRLLRRRRLLRRLRLRRLLLLLLRLLRLRLLRLLRLLRLRLRRRLRRLRRRRRRLRRRLLRRLLRRRLLLRLRRLLLRLLLLLRLRLLLRLRRLLRLRLRRRLLLRLLRLRRLRRRRLLRRLLLRRLRLRRRRRRRRRRRRRLLLRLLRRRLLLRLRLLLRRRLRRLRLLLLRLRLRLRLLRRLRLRRLRRLLRLLLRLRRLLLRRLRRRLRRLRLRLRLRLLLRLLLLRRLLRRRRRLRLLLRRLLLLLLLLRRRLRLRRLLLRLRRRRRLRRRRLLLLLLLRRRLRRLRLLLRLRLRRRRLRLLRLLRRRLLRRRLLRLRRRLLLRLRLLRRLRLRRLRRLLRLRLLLLRRRLLRLLRRLLLLLRRLLLRLLLLRRRRRLLRRRRLRRLLRRRLLLRRLLLLLRRLLLLRRRLLLRLLRLRLLLLLRLRRLRRLRRRRRRLLLRLRRRRLLLRLLLLLLRRLRLLRLLRLRLLRLRLLLLLLLLLRLLRRLRRLLRLLLLLRLLRRLRLRRRRRRRLRLLRLRLRLRLRRRLLLRRRLRRRLLLLRLRLRRLRRLRRRLRLLRRRLLLLLRRRRRRLRLRRRLLLLRRRRLLRRRRLLRLLLLRLLLRLLRLRRLLLLLLLLLRLLRRLLRRLLRRRLLRLLRLRRLLRLRLLLRRRRRRRLRRRLLLRRRRLRRRRRRRLLLLLLLLLRRRRRRRRLLLLRLRRLLLRRLRLLRRRRLRRLRLRLRRRLLLLRRLRLLRRLRLRRRRRLLLRLRRRRRRLLRLLLLRRRRLRLLRRLLLLRLRLLLLLLRRLRLLRLLLLRLRRLLRRRLRRLLLLRLRRLRRRRLRRRLRLLLLLLRLLLLLLLRRLRLRRLLRRRLLLLRRRRRRLLLLLLRLRRLLRRLRRLLLRRLLRLRRLRLRRRLLRLRLLLRLRRLRLLRLLRLRRRLRRRRLLLRRLLRLRLLRRRLRRRLLLRRRLRLRRRLRLLRRLLRLLRLLRRLRLRLRLRLLRRLLRRLRRRLRRRRLLRLRRRLRRRRRRRRRLLRRLLLLLRRRRLRLRRLLLRRRRLRLRLLRRLRLRRLLLLRRRRRLLRLRRLRRRLRRLLLLRLRRRLLRRRRRLLRLLRRLRLRLRRLRLLRRRLLRRRRLRRRRLLLRRRLRRRLRRLLLLLLLRLLRRRLLLLRRRLLLRRRRLLLLLLLLRLLRRRRRRLRRRRLLLLRRLRLLRLRLRRLLRLRRLLRRLRLLRRLLLLLLRLLRLRRRLRLLRLRRRLRLLRLLLRLRRRLLRLLLLLRRRRRLLLRLRLLRLLLRRLRLRLRLRLLRRRLRRLLLLRLLRRLLRLLRLRRLRLLLRRLLRLRLLLRLRRLRLLLRRLLRRLLRLLRLRRRRRLLLRRLLLRRRRRRRLRLRLLRRLRLRLLLLLLRRRLRRRLLRLRRRRRLRRRLRRLRRLRRLLRRLLLLRLLRLLLLRRLLRLLRLLRLRLLLRLRLLLRRRRRRLRLLRLLLRLRLLLLRLRRLRLLRRLRRLLRRLRLLLLLRRRLRLRLRLRLLRLLLRRRLLRRLLRRRRRRLLRRLLRLLRLRLLRLRRRLLRRLRLLRRLLLRLRLLLRLLLLLLLLRLLLLLLLLRLLLRRLRRLLRRRLRLLLLRLLRRLRRRLRLRLRRRRLLLRLRLLLRRRRRLRRLLRRLRRLRRLLRRRLLLRLLLLRLRRRLRRRRLLLLLRRRRRLLRRLLLLRLRRLRRRRLLLLRRLLRRLLLLRRRRRRLRLRLRRLRRLLRLLRLLRLRRRRLRLRLRLRLRLLRRLRLRLLRRLRRLLRRLRLLLRRRLRRRLRLRLRRLRRRRLRLLRRRLRRLRRRLRLLLRRLLRLRRLRLLRLRLRRLLLLRRLRLLRLRLRRRRLRLLRRRRRRRLLLLRRRRLRLRLRLRRLLLRLRLLRLLLRRLRRRLRLRLRLRLLRLRLLLLRRRLRLLRRRRLRLRLLRRLLLRRLLLRLRLRRRLRLRRLLRLRRLLLLRLLRRLLRRLRRLRLRRRRLRLRRLLRRRRRLRRRLLLRLRLLRLRRRLLRRLLRRLRRRRRLLRRRRRLLRRRRRRLLRLRRRLRRLLLLRRLRLRRLRLRLLLRLRRRRRLRRRLLRRRLLRLLLLRRRLRRRLRRRRLRLLLLLLRRRRRRLRLLRLRLRRLLLLLRRRRLRLLRRLRLLLLRRLLLLLRLLLRRRRLRRRRLRRLRRRLRRLRRRLLLRRRRLRRLLLRRRRRLLLLLRLRLLLLLLRLLLLLLRLLLLLRRRLRRRLLLLLRRRLRLLLLLLRRLLRRLLLRRLRRRRRRLRRLRRLLRLLLLLLLRLLLRRLLLRLLLLLRLLRLLLLRLRRLRLLRRLLRLRRLLLRRRLLRLLRLLRLLLRLRRRLRRLRLLLRRRRRLRLRRLRLRLRLLRRRRRRLRLLLRLLLLLRLRLLRRLRLRRLRRRLLLRLLRLRRLLLRLLLRRRLLRLRLLRLRLRLLRRRRRLRLLLRRRRRRLLLRRRLLRRLRLLRLRRRLLLRRRRRLLLRLRRLRRRLLRRRLRLRRLRLRRLLLLLRLRLLLRRLLLRLRLRRLRRRLRRLLLRLRLRRLLRLLLRRRLLLLLRLRRLLLLLLLRLRRRLRRLRLLLRRLRLLRLRRLRLLLRLRRRLLLRLLRLLRRLRRRLRRLRRRRRRLLRLRLRLRRLRRLLRRLRLLLLLLLRLLLRRRRRRLLRRRLRLRRLRLLRRLRRRLLLLLRRRRRLRRRRLRRRLLRLLRLLLRLLRLLRRLLRLLLLLRRLRLLLRLLLRRRLRRLLRRLRLLRLLLRRLLRLRRRRRRRLRLLLRRRRLLRLLRRLRLRRLLLLLRLRRLLRLLRRRLRRRRLLRLLLLRLRRLLRLRLLLLRRLLLLRLRLRRRLLLRRLRRLRRRRLRRLLRRLRRLRRLLRRLLRRLRRRRLLRRLLRRLRRLRRLRRLLRLRRLLRLRLLRLRLLRLRRLRLLRRRLLLLRRLLRLLRRLLRRLRLLRRRRLLLRLRLRRLLRLRRLRLRLRRLLRRLRRRLRLRRRRLLLRRLRRRLLRLRRLLRLRLRLLRLRRLLRLRLRLRLLLLRLRRLRLLLRRLLRRLLLRRLLRRRLLRRRRLLRRLRLLLRLLRLLLLRRLRRRRRRRLLRLLLRRRRLLLLLLLRLRRRRLRLRRLLLLRLRLRRLLLLRLLLLRLRRLRLLRLRRRLRRRRRLRLRLLRLRRRRRRRLLRRRRRRRRRLLRRLRLRLRRLLLRRRRLRRLRRRRRRLLRRRLLLRRRRRRLRRLRRRRLRLRRLRRLLRLRLRRRRRLLLLRRLLLRRLLRLLLLRRLLLLRRRRRLLLRLLLRLRRRLRLLRRLLLRRRLRLLRLRRRRLLRRRRRLLLRRRRRLRRLLRRRRLLLRRLRLLRRLRRLLLRLRLRRRRLRLRRRRLRLRRLRRRRLLLLRRRLRRLRLRRRRRLRLLLLLLRRRLRLRRRLRLRLRLRLRRLLRLRRRLRLLRRLRLLRRRRRLLRLRLRRRRLRRLLLRRRRLRLLRRRRRRRLLRLLRRRLRRRLRRLRLLRRLLLRRLRLRLRLLRLLRLLRLLRRRLRLLLLLLLLRRRLLRLRRRRRRLLLRLRRRRLRRLRLRLLLRLLLLLRLLRRLLRRRLLLLLRRRRLLRRRRLLLRLRRLLRRRLRLLLRRRLLLRLRRRLLRRRLRLRRLLLLLRRLRRRLRLLLLRLRLLRRRLLLLRRLRRLRLRLLRLRLLRRRRRRRRLLRRRLLLRLRRRLLRRRLRRRLRLRRLRLLLLRLLLRLRLRLLRLRRLLLRLLRLRLRLRLLLLLLRLRRRLRRRLLRRLRLRRRLLRLRRRRLLLRRRLLLRLLLRLLLLLLRRRRLLRLRLRRRRLRLRRRRLRLRLRRRLRRLRLRRRRRLRLRRLLLLLLRLLRLLLLRLLRRRRLRLLRRRLLLLLLRRLLLLLRRLLLRRLLLLRLRLLLRLLLLRLRRLLLRLLLRLRRLRLRLLLRLRLRLRLLLRLRLLRLLRLLLLRLLRLRLLRRRRLLLLRLLLLLLRRLRLRRRLLRRLLLRLLRLRLRRRRLLLRRLRLRRLLRRRRLRLLLRLRRRRRRRLLLRLLRRLLLRLRRLRLLRRRRLRRRRRRRRLLLLRRLRRLRLLLLLRRLLRRLRLRRLRRRLRLRRRLLLRRLLRLLLLLLRRRLRRRRRRLRLRRRLLLLRLRLRRLLRLRLLLRLLLLRRRLLLRRRLRLRLRRRRLRRRRLRRLRLRLLLLLRRLLRLLRLRRRLLRRLRLLLLRLRLLLRLLLRLLLRLLLLRLLLLLRLLRRLRLLRRRLLRLLRRLLRRLLRRRLRRLLLLRRLLRLRRRLLLRRLRLLLRRLLRLRRRLLLLLRLLLLLRRRRLRRRRLLRRLRRLLLRRLLRRLLRLLLLLLLRRLLLRRRRLLRLRRLLLLRRRLRRLLLRLLRRLRRRRRLRLLLLLLRRLLRLRRRRLRRLRRLLRRLRLRLLLRRRRLLLRLLRLRRLRLRLLRLLLLRLRRLRRLLLLRLRLLRRRLRLLLRRRRLRRLLRLRRLRRRLRRRRRRRLRRRRLRRLLLLLLLRRRRLLLRLRLRRLRRLLRRLLLLRLRLLLRRLLRRRRRLRRLLLRRLRLRLLLRLLRLRRRRRLLRRRRLLLRRLRLLRLRLLLRLRRRRLLRLLRRRLLRRLLLRRRRRRRRLLRRRRRLRLRRLRLLRLLLLRLLRRRLRLRRLRRRLRLRLRLLLLLLLLLLRRLRLRRRRRRRLRLRLRLRRLLLRRRLRLRLLLLLLLRLRLRRLLRRLRRLRRLRRLRLLLRLLRRLRRLLRRRLLRRRLRLRLLLLRRLLRLRLRRLRLLLRLLLRLRLRRRLLLLLLRLRRRLRLLLRRLRLLRRRLLLLRRRRRLLLRRLRRLLRLLLLRRRLRLLRRRLRLLLLLLRLRRLRRRRLLRLLLLLLLRLRLRLLRRLRRRLLRRLRLRRRRRRLLRRLRRRLRRRLLRLLLLLLLRLRLLRRRLRLRLRLLLRRLRRLRLRRLLLRLLRLRLRLLRLLLLLLRRRLLRLLRLRLRLLLRLLLRLRLRRRRLLLRRRLLRRRLLLLRLRRRLRRLRRRRRLRRRLLRLLLRRRRRRRLRRLRLLLLRLRRLLRLRRLLRRLLRRRLRRRLLLRLLRLLRRLRLRRRLRLRRRLRRLLLRLLRRRLRLRRRLLRLRLLLLLLLRLRRLLLLLLRRLLLRLRLLLRRLRRLRRLLLRLRLLRLRLLRRRRRLLLRLLRLLRRRRLRRLRRLLRLLRRRLLRRLRRLLRRLLLLRLRLLRRRLRLLLLLLRLLRLLLLRRRLRLLLLLRRLLLLLLRLRRRLLLRLLRRRLLRRRRLLLLRRRRRLRLRRRLRRRRLLLRRLLRLLLRLLRLLRRRLLLLRRRLLRLRRRRRRLRRLLLLLLRLRLRLLLLRRRLRLRRLLRRRLLLLRRRRRLRRLLRLRLRLRLLRLRLRRRRRRLRLLLLRRLLRRRLLLLRLLLLLRRRRLLLRRLLLLRLLRLLRRLRRLLLLRLLRRRLLRLLRRRLRRRLLRRLRRLLRRLRLRLLRLRLRRLRRRLLRRRLLRRLRLRRRRRRLLLRLRRLLLLRLLRLRRLLRRLLRRRLRRRLRLRLRRLLRRLRLLLLRRRRRRRRRRRRRRRRLRLRRLRLRRLLLRLRRLRRLRRLRRRLLRRRRLRLLLLRRLLLRLLLRRLRRLLLLRLRRRRLLLLRLLRRRLLLRLLRRRRLRLRLLLRRRRRLLRLLRRRRRRRLLRRLRRRLLLLRLLRRRRRLRLLRLRLLLLRLRLRLLLLRLLRLRRRRLLRLLRRRLLRLRLLLLRLLLRLLLLRRRLLRRRLLLLLLRRRRLLRLRLRLRLLRRLRRLLRLLLLLRRLLLRLLRLRLLLRLLRLLRLLLLRLRLRLLRLLLLLLLRLLRRLLRLRLRLLRLLRRLRRLLRRLRRLLRRRRRLLLLRRLLRRRLRRRRRLLRLRRRRLLRRRRRLLLRLRLRRRRRRLRRRRLRLLRLLRRRRRLRLLRLRRLRLRRRRLRRLRLRRLLRRRLRLRLRLLRLLLRLLRLRLRRRLLLRLLRRRLLRRRRLLLLLRLRRLRLRLLLRRLRRRRRLLRLRRRLRRRRLLLRRRRRRRLRLLLRRLRLRRRRRRRLRRRRLRRLLRRLRLRLRLLRRRRLLLLLRLRRLRLLRRRLLLRLRRRRLRLRRLRLRRLRLRLLLLRLLLLRLRLRRLRRRLLRLRRRRLLLRLLRRLRLRLRLLRLLLRLLRRLRLRRRRRRLLRLLLRLRLLRRLLLRLLLRLLLRLRRLRLRRRRRRLRRRLRLLLLLLRRLRRLRRRRRRRLLLRRRLRRLLLRLRLLLLLRLLRLRLRRLRLRRLLRLRLLRRLRLLLLLLLLLLLRRLLLLLRLRRRLRRLRRRLRRRRRLRRRRLLLLLLLRRRRLRRLLLRLRLLRRRRLLRLRLRLLLRLLLLRLLRLRRLRRRLLRLLRRRLRLRRRLRRRRLRLRLLLLLLLRRLLRRRLLRLLLLLRLLLRRRRRLRLLLRRRLRRLRLRLLRLLRLRLRLLRLLRLRRRRRLRRRRRRLLLRLRRLLLRRRRLLRLRLRLRRRLRLRRLLLLLLLRRRLLLRLRRLRRRRLRRLRRLRLLRRRRLRLRLRRLLLRRRRLRLRRRLRLLLLLLRLLLLLLRRLLRLLRRRRLLRRLLRLLLRRLRLLLLLRLRRLLLRLLRLRLRRLRLLRRRRLLLLLRLLLLLLLRLRRRRLLRRRLRLRLLRRRLLLLLLLRLLRRRLLRLRRLRLLRRRRRLLLLLRRRRLLRRLLRLRRLRRRLLRRLLRLLRRLLLRRRLRRLLLRRRLLRRLRRRLLLLLRLRRLRLRLLRLRRRLLRRRLRRLLRLRLRRRRLRLLLRLRRLRRRLLRRRRLLRLLLRRRLRRLLLRLRRLRRRLLLLLLLRLLLRRLLLRRRRLLLLRLLRLLLRLLLLLLRRLLLLRRLRLRLLLLRRLLLLLLLLRRLLRRRLLLRRLRRLLLLLLRRLLLLLLLLLLRLLRRRLRLRRRLLLRLLLRRRLLRRRRRRLLRLRLRLLRLLLRLRLRRLRRLLRLRRLLRRRRLLLRLRLLLRLLLLLRLLRLRLLLLLLLLLRRRLRRLLLRRLRLRLLLLLLRLRRLRLRRRRRRLLLLLLLRLLLRRRRLRLLRRLLLRLRRRRRLRRLRLRLLRLLLRLRLRLLLLLLLLRLLLLRLRRLRLRLLLLRLLRRLRRRLRRLRRRRRLLRRLRLLRRRLLLRLLLLLLRRLLRLRRRRRLLRLRLLLLLRRLRRLRRLLLLRRLRLRLLRLRRRLRLRRRLRRLLLLRLRLLRLRLRRLLLRLRRLRLRLLLLLLLLLRRRLLLRLLLRLLRRRLLLLRLLRLRLLRRLLRLRLRLLRRLRRRLRLRRRRRRRLRLLRRLRLRLLRRRLRRRRLRLRLRRRLLLLLLRLRLRLLLLRRLLLRLRRLRRLLRLLLLLRLLRLRRLRRLRLRRRRLLRLLLLLRRLLRRRLLRLLLLLLLRRRLRLRLLLRLRRLRRLLLLLRLRLRLRRLRLLLLLRLLRLLLLLLLLRRRRLRRLLRLRLLLLLRRRLRLRRRRRRLRRRRLLRLLRRLRRLLRRLLLLRRLLLRLRLLLRLLRRRRRRRRRRRLLRRLRRLLLRRLRLRLRLRRLLRRLLRRLRRRRLRRLLLRLRRRLRRLLLRRRRRLLRRLRLRLRRRLRRLLLLRRRLLRRRLLRRRLLRRRLRLRLRLLLLLRRLLLLRLRLLLLLRRLLLLLRLLLLRLRRLRRRLRLRLLLLLLLLRRLLLRRLRRLLRRRRRRRRRRLLRRRRRRRLRRLRRRRRLLLRRRLRRLRRRRRLLRRLRRRRLLLRLRRLRLLRLRRRRRRRLRRLLRLLRLLRRLLRLLLLLRLLLLRRLRRRRRLLRLRRLRRRLLLLRRLRRRRRLLLLLLRRRLRRLRRRLRRRRRRLLLRLRRRRRLRLLLRRLLLRLRLRLLLRRRRRLLRRRLRLRRRLRLLLLLRLRRLRLLRRLLRLRRRRRLLRLRLRRRLLLRLRRRRLLLLRRRLLRRLRLRLLRLLRLRRLLRRRLLLRRRRRRLLRLRLLLLRRLRRLLRLLRLLLRLLRLRRLLRRRRLLRRRLRLLLRLRLLLRLLRLRRLLRLLLLRRLLRLRLRLRLRRRRLRRLLRLLLLRRRLRRLLLLLLRRRRLRLRLRLLLLRRLLRRRRLRLRLRLRRRLRRLRLLRRRLLLLRRLLLLLLLRLRRRLLRRRRRLLLLRLLRLRRLLLRRRLRRLRLLLRLLRRLRLLRRRRLRLLRRLLLRRLLLRLRLLLLLLRLRLRRRLRLLLLRRLRRLLRRRRLRRRLRRLRRLLLRLRRLRRLLLRRRRLRRLLRLRLRLLRRLLRRRRRRLRLLLLRLLRLLRRLRRRLRRLLLLRRLRLLRRLRLRLLRRLRRRLLRRLRLRLLRRLRRRRLRLRLRLRLRLLRRRRLRLLLRLLRLRLLLRLRRRRLRLRLLRRRLLRRRLRLRLLRRRRLRRRLRLLLRRLRRLLRLRLLRLLRLLRRRLRRRLLLLLLLLRRRLRLRLLLLRLLRLRRLRLRLLLLRLLRLLRRRRLLLRRLLRRRLLRRLRRLRRLLLRRLRRRLLLLLRRRRRLLRRRRRLRLLLLLLRLLLLLRLLRRLLLRRLLLRRRRRLLLLRRLLLLLRRLRLRLRRRRRRRLLLLRRRLLRLLLLRRRLLLRRRLLRRLRRRLRRLRRRRRLRLRRLRLRLLLRRRRRLRRLLRLRLRRRRRLRRRRLLRRRRRLRLRLLLLLLRRLLRLLRRLRRLLRLRLRLRRLRRRRRLLLLLRLLLLLRLLLLLRRRRLLLLLLRLRLLRRRRRRLLLRRRLLLRRLRLRRLRRRRRRLRLRLRRRLRRRRLLRRLRLRLRLLLLRRLRRRRLLRRLRLRLLRLLLRLLRLLLLLRLLLRRLLLRLLLRLRRRLLRRLLLLRRLRRRRRLRLLRRRRLRLRRLLLRLLLRLLLRRRLRRRLLLLRRRRLRLLLRLLLRRLLLLLRRLRRRRRRRRLLLRLLRRLRRRRRLLRRRRLRRLLRLLRLRLLRLRLLRRLLRLLLRLRLLRLLRLRLLLRLRRLRLRRRRLRRRRLLRRLRLRRRRRLRLRRLRLRLRLLRRRLRLLRRRRRLLLLRRRRLRLRLRLLRRRLRRRRRRRRRRRRLRLRLRLLRRRLLLRRRLLRRRLLRLLRLRLLLRRRLLRRLLLLRRLLLRRLRRLRRRRLRLLRRLLLLRRLRLRRLLRLLLLLRLLLLRRLRLRRLLRLLLLLLLLLRRLLLRRRRLRRRRLRRLLLLLLLRRRRLRRLLRRRLLLRRLRRLRLLRRRLLRRRLRLLRRRRRRLLRRRRLLLLRLLRRRRRLRLRRRRLLRRLLLRLLLRRLLLLRLRRLLRLRRRLLRRRRLRLRLRLLLRRLLLLRRRRLLRLRRRRRRRRLLRRRRLLLLRRLLRRRLRLLLRRLRLRLLLRRRLRLRRLRLLRLLLRRLRRLRLLRLRLRRRLLLLLLRLRLLLRRRRLLRRRRLRLRRLLLLRLRRLRLLRLRRRLLRLRRRRRLRLRLRRLLRRRRLRRRLLRLRLLLLLRLRRRLLRRRRLRLRRLLRRLRRRLLRLLRRRLRLRRLLRLLLRRLRLRRLLRLLLLRLRRRRLRRLLLRRRRRRLLLRLLRRRLRLLLLLRRLLLLRRLRRLLRRLLRRRRRLRRRRRRLLRRLRRRRRLRLRLRLRLRRLLLLLLLRLRLLRLLLRRRRRLLRLRRRLRLLRLLRRRLRLRRRRLLLLLRRLRLRLRRLLRLRLLRRLLLLLLLLRRRRRLRLRRRLRLRRRRRLLRRLLRRLRLLRLRLLLRRLLRLRLRRLRLRRLRRRRLRRRLLLLRLRRLRRRLRRRRLRRLLRLLLRLRLRRLRLRRRLLLRRRLLLLRRLLLRRLRLLLLRRRLRLRRRLRRRRRRRLRRLLLLRRRRLLRLLLRRLLRRRRLLLLRLLLLRRRRLRRRLLLRRRLLLLLLRLLLRLLRLRRRLRLLLRLRLLRLLLLRRLRRRLRRLLRLRRRRLRRLLRRLLRRRRRLLLRLLLRRLRRLRRLLLLRLRLLLLRLLRLLLRRRRRRLRRLRLLRLRRRRRLRLRRRLLLRLLRLRLRLLLLRLRRLLRRRLLRRLLLLLLRLLLRRLLLRRRLRRLRLRLLLRRLLLRLRRRRRLLRRLLRRRRLLLRRRRLLLLRRRLLRRLLLRLRRLRLRLRLRRLLRLRLLLRLLRLLRLRRLLRRRLRLLRLRRLLLRLRRLRRRRLLRRLRLRRRLRLRRLRLRLRRLLRRRLLRLRRLRLLLLLRRRRRLLLLLLLLLRRRRLLRRRLLRRLRLRLLLRLRLRRLLLLRLRLRRRLLRLLRRLRRLLRLLLLLLLRLLLRLLLRLRLLLLRLRRLLLRLLRRRRRRLLRRLRLLLRLLRRRRLRRLRLRRRLLLLLRRLRRLLRRLLRRLLRLLLRLLLRRRRRLLRLLLLLLRLRRRRRLRRRLRRRLRLRLRRRRRLRLLLRRLLRRRRRLLLLRRLRRRRRLRRLLRRRLLRLLLLRLRLLRLLLRRRRRRRRLLLRLRLRRRLRRLRRLLRRLRLRRRLLRLRLLRRRRLLLRRRLLLRRLLRLRLLRRRRRLLLRRLRLRLRLRRLLRLRLRRLRLRLRRLLLLLLRLRRRLRRRRRLLLRLLRLRRLLRLRRRRLRRRRLLRRLRLRRLLLLLRLRLRLRLRRLRLLRLLLRRLRRLLLRLLLRRLLLRRLLRLRRLRLLLRLLLLRLLRRRLRLLRLLRRRLRLRLRRLRRRLLLRRRRLLRRRRLLRRRLRLRRLRLLLLLLLRRRRLRLRRRLLRRLLLRRLRLLRLLRRRLRRRLRLLLRRLLLRLRRLLRRRLRLLRRRLRRLLRLRRRLRLLRLLLRLLRRLRRLLLRRLRRRRLRLLRLLRLLLLLRLLRRRRRRLRRLLLLLLLLRLLLLLRLLLLLLLLRLRRRRLRRLRLLLRLLLLRLRLRRLRLLRRLLRRLLRLRRRLRRLRRLRRLLRLLRRRLLRLRRRRLLRLRLLRRLLLLRLLLLLLLRLRLRRLRLLLLRLRRLLLLRLLRLRRRRRLLRRLRLLRLRRLLLRLRRLRRLRLLRRLLLRRRRLLRRRRRLLLLLLRRLLLRRLRRLLLRLLRRLRRRLRRRRRLLRRLRLLLLLLRLLRLLLRRLRLLRLRRLLLLLLRLLRRRLRRRRLRLLRRRRRRLRLRRLLRLLRRLLRRLLRRRRRLLLLLRRLRRLLRRLRLLRLRLRRRLRLLRLLLRLRLRLLLLRLLRRLLLRLRLLRLRRRRRRLLLLLLRLRLRRRLRRLRRRLLRLRLRLLRRRLRRLLLRLLLLLLLLLRRRLLRLRRRRRRLRLLRLLRLLRLRLLRRRRRRLLLLRLRRRRLLLLRLLLLLLRRRLRLRLRLLRRLRLRRRRLRLLRRRRRLLLLLLLLLLRLRLRLLLLLLLRLLRRLLRLRRLRRRRLLLRRLRLLLLRLRRLRLLRLLRLLLRRRLLRRRLRLLRRRRRLRLLLRRRRLRRLRRRRLRRLLLLLRRRRRRRRLRRRLRLRRLLLRRRRLLLLLLRLRRRLLLLRLRRRLLRRLLLRRLRRLRRLLRLLLLLLLRRRLLRLLRLRRRLRLLRRRLRRRRRLLRLLRRRRLLRRRRRRLRRLLLRRRLLRLLLLLRLRLRLRLLRLRLLRRRRRRRRRRLLRRRLLRLLRLRRLRRLRLLRLLRLLLRLRLLLRRRLLRLLRRRLRLRLLRLRLRRRLLRRLLLRRLLLLLLLRLLRLRRLRLRLRRRRLRRLLRRRLLRLRRRLRRLRRRRRLRRRLLRLLRRRLRRRRLRRRLRLRLLRRLRRLLLLLLRLLRLRLRRRLRLLRRRRRRRRRLRLRRRRRLLLLLRLLLLRRRLRLLRRRLRRRLRRLLRLRRLRLLLRLLLRRLRLLRRRLRLRRRRRLLLRRRLRLRRRLLRRRRLLRLLLLRRRLRLLRRLLLRRRLLLLLRLRRRLLLLRLRLLRRLLLRLLLLRRRRLRLRRLLRLRLLLLRLRRLLRRLRLRRLRLRLRLLRLRLRRLLRLRLLLLLRRLRRRRLLLLLRRLLRRRRRLRRRLRRRRRRRLLRRRLRLRLRLRRLRLRLRRLLRRRLLRLLRLRLRRRLLRRLLLRLRRLLLRRRRRRRLRLLRLLRRRRRLLRRLLRLRLLRLRLLRRRLRLRRRRRLRRLLLLRRLRLLRRRLRRRLRLLRRLLRLRLLLRLRRRLRLLLRRLLLLRRLRLRRLRLRRLRLLRLRRLLRRLRRLLRRLRLLRRLLRRRLLRLRLRLLLLRRLRLRLRLRRRRLLLRRRRRLLRRLRLRRRRLLRRLLLLRLRRLRRLRRLLRLRLRLRLLLRRRRLRRLLRLRRLRLLRRLRLRLRLLLLLRRLRLRLRLRLLRRLLLRRRLLLLLLRLLLRRLRRLRRRLRLLRRLLRRLRRRRRRRLLRLLLRLRLLLLLRLLLLRRRLLLLRRLLRRLLRRRRLLLRLRRLRLRLRRLLLLLRRRLRLRLRLRLLRLLRLRLRRLRRRRRLRRLRRRRLLLRLRRRRLLRRLLLRLRLRLLRRRLLLRLLLLRRLRRLLRRRLLRRRRLRRRLRLRRRLRLLRRLLRLRLLLLRRLLRLLLRRLLLRLLLLLRRRRRRRLRRRRLLRLRRLRLRRLRLLLRRLRLRRRRRRLRLLLLLRRLLRRLRRLRRLRLLRLLRLRLLLRRLLLRLRRRLLRRRRRLRLLRLLRRRLRRLLRLRRRLRLLLRLRRLRLRRLLRLLRRRLRRLRLLRRLRRLRLLRRLLLLRLLRLLLLRRRRLRLRRRLLLLRRRLRLRLLRLLRLLLRRLRLRLRLRLLRRLLLLLRRRRRLLLLLRLRLRLRLLLRRLLLRRLLLRLRLLLRLLLLLLRLRLRLLLLRRLRRRRLRRLRRLRLLRRRLLLRRLLLLLLLRRLLLRRLRLRRLRRLRLRRLRLRLLLLLRLLLLRRLRLRRRLLLLRRRLLLLLRLLRRRRRLLRLRLRLRLLLRRRRRRLLRRLRLLLLRRRRRLRRLRRLRRLLLRLRRRLRRLRRLRLLLRLRLRLLRLRLRLRLLLLRLRRRLRRLLRLRRLLRLRLLRRRRLLRRRRRLRRLRRLLLLRRRLLLLRRRRLRLRLLRRRRLRLLLLRRRLRLLRRRRRRLLRRLRLLLLLRLRRRRLLLLRRRLRLLLLRLLLRLLLLRLLLLLLRRRLRLLLRLLLLRLRLRRRLRLRLRRLLLLLRLRLRRLRLRRLRLRLLRLRLRRLRLLRRLLLRRLRRLLLRRRLLLRLRLRRRRRRRRRRRLLLLRRRLLLRRLLLRLRRLRRLLRRLRLLLLLLLRLLRLLRLLLLLLLLLLRRLLRRRLLLLRRLRLLLLLLRRLLLRRLLRRLLLRLRRLLLLRLLLRLRLRLRLLRRLLRLLLLRLRRRRRRLRLLRRRRRRRRLLRRRRRRLRRRRLRLRRLLLRRRRLRRRLLRLRRRRLRRLLLLRRLRRRRLRRLRRLRLLRLRRRRRRLLLRRRLRLLRLLLLLLRLLLRRLRLRLRRRRRRLLRLRRLRRLRRLRLLRLRLRRRRRLLRLRLRRRLRLLLLRRLLLLRRRRLLLLLRRRLLRRLLLLRRRLRLRLRRRLRLLRLLLLRRRRLRLRRLLLRLLLLRLLRRRLRLLRLRLRRLRRRLRLRLRLLRRRRRRRLLRLLRLLLRRLRLLLRRRLRRRLLLLRRRLLRRLLLRRLRLRRRRLLLRRLLRRLRRRLLLRRRRLRLRRLRRLLRRLRLRLLLLRRLRRLLLRLLLRRRLRRLRRLLRLLLLRLRRRLLRLLLRRRLLRRRLRRRLRLLLLRRRRLLLRRLLRRRLRLLLRLLLRLRLLRLLLLRRRLLRRLLLLLRLRRRLLLLLRLLLLRRLLRRRRLRLRLLRRRRRLRRLRRLLRLLRLLRRLLRRLRRRLLRRRLRRRLLLLLRRRRLRRLLRRRRLLRRLRRRRRLRRLLRLRLRLLLRLRLRLRRLLRRLLLLRLLRLLRLRLRRRRLRRRLRLLRRRRLRLLRLRLLLRLLRLRLRLLRLLRRRRLLRRLLRRLRLLLRLLRRRLRRRLRLLRLLLLRLRLLRRLLLLRLRRRLLRLRRLRLLRRLLRRRRLLRRRLRRLRLRRLLRRLLLLRRRLLLLRLRRLRRRRRRRRRLLRRRRRLLLRRRLRLLLLLLRLLRLLRRLLLLLRLRRRLRRLLLRLLRLRLLLRLLLLRLLRLLLRLRRRLLLLLLLRRLLLLRLRRLLRLLLRLRRRRLRRLRLRLLRLRRLRLRLLLRLLLRRLRRLRRLLLRLLRRRLRRLLRRRRRRLLLRLRLRRLRRRRLLRLRRRRRRRLRRLRRLLRRLRLLLRLLLLLRRLLLLRRLRLRRRLLLRRLLLRRRRRLLLLLLLRRLLRLRLRLRLLLLLLRLRRLRLLRLLRRLLRRRLRLRRLRRLRLLRRLRRLRLRRRRLRRRLLRLRLLLLLLRRRRLRLRRRRLRLRRRLRRLLRLLRRRLRLLRLLRRLLLLLRRRRLRLRLLRLRLRRRRRRLLLRLRLLLRRLRLLLLRRLLLLRLRRLLRLRLLLLLLLLLRRRRLLLRRRRRRRRLRRLLRLRRLRRRLLRLLLLRLLRLRLLLLLRRRLRRRRRLRLLLRRRRLRLLLRLLRLRLLRLLLLRLLLRRLLRRLLRLLRRLLRLRLRLRRRLLRRRLRLRLRRRLRRRLRLRLRLRLLLRRRLRLLLLRRRRLLRLLLLRLRLRRRRRRRLRRRLLLRLLRLRRLLRRRRLRRLRLRRRLLLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRLRRLRRRLLLLRRLRRRLRRLLRLRLLRRRRRRRRLLRLRLLLLRLLRLRLRRLLRLRRLLRRRRLLLLRLRRLLRLRLLLLLLLRRRLRRLLRLLLLLLRRRRRLRLRRRLLLRLLRRLRRLRRRLLLRLLRRRLRRRRLRLLRRRLRRLLRLRRRRRRRLRLRLRLLLLRRLLRRRRLRRLLLLRRRRLRLLRLLLLRLRRLLLRRRLLLRRLRRRLLLRRRLRRLLLLLRLLRRRLLRRLLRLLRRLRLLLRLLRLRLLRLLRRLLLLRRRRLRRLRLRLRRLRRLRLRLRLRLLLRLLRRLLLLRLLLRLRLLRLLLLRLLLLRRRRLRRRLRRLRRRLLLRLLLLRRRLRRLLRRRRLRLRLLLLRRRRLRRLRRRLRRRRRRLLRLRLLLLRRLRRRRLRRRLRLRRRRLRLLLLRRLLLRLRRRRLLRLRRRRRRLRRLRRLLLLRRLRLLLRRLLRRRLLLRRLLLRLLRRLLRLLRRLLRRLLLRRRLLLRRLLLLRRLLLLLRRLRLLRLLRRRRRLRLLRLRRLLRRRRRLRLLRLRRLLRLLRLRRRRRRLLLLRLLLLLLLLRRRLRRRLRRRRRLLRLRLLRRRRLRLLLLRRLLLLRLRRRRRLLRRRRRRRRRRRLLLRRRRRLRRLRRRLRRLLRRLLLLLRRLRLLRLLRRLLRLLRRLLRLLRRRLRLRLRRRLRRLLRLRRLRLRRRRRRLRLLRLLRRRRLLRLRLRRLRLLLRLRRRRLLLRRRRRRRRRLRLRRRRRRLLLLRLRLRRLRRLRLRLLLRRLLRRRRRRLLLRLLRLRRRRLLRLLLRRRLRLRRLLRLRLRLRLLLRLRRRRRLLLRRRLLRLLRLRLLRRRRLLLLLRRRLRRLRRRLRRRRLLLRRLRRLLLLRRLRRRRRLRRLRLLRRRRLLLLRLRRLRRRRRLRLLLLRLRLRRRRRRRLLRRLLLRRRLLLRRLRRRRRRLRLLLLLRLRRRRRLLLRLRRLRLLRLLLRRRLLLRLRRRRLRLRLLRLLLLLRLLLLLLLLLLLRLLLLLRLLLRRRLLLLRRLRLRRLLLLLLLLLLLLLRLRRLLRRRLRRLRLRRLRRRLLRLLLRLLLRLRRLLRRLRRLRLLLLLLRRRLLLLRRRLRRLLLRLLLRLLRLRRLLLLRLLLRRLRRRRLLLLLRLRRRRLRRLLRLRRRLLRRLLRLLRRRLLRLRRRLRLLRLRLRLRLRRLRRRRLRRLRRLRRRLRRLLLRLLLLLRRLRLLRLLLRLLLLRLRLRRRLLRLLRRRRLLLRRRLRRLLLRRRRRRLRLRRLRLLLLLRRRLLRRLLRLLLLLLLLRRRRRLRLLRLLRLLLLLRRRRLLRLLLRRRRRLRLRLLLRLLRLRLLLRLLRRLLRLLRLLLRRRLRLLRLLRLLRLLLRLLLRLRLRRRRLLRRRRLRLRLRLLLRLRRRRRRRLLRRLLLLLRLRLLLLLRRLRLRLLLRRRLRLLLRRRRRLLLRRLRRLRLRLLRRLRLLRLLRLLRRLRLLLLLRLLLRLRRRLLLRLRLRLLRRRRRRRRLLRRRLRLRRLLRRRRLRLRLRLRLRRRRRLRLLRLRRLLRRLRLRLRRRLLLLRLLRRLLRRLLLRRLRRLRRLRLLRRRRRLRRRLRRLLLRLLLLRLRLRLLRLLLRRRLRRLLLRRRRLLRLRRRRRLRLRLLRLLRLLLRRRRLRLRRLLRRLLLLLLRRLRRRRRLRRLRRLLRLRLRLRLRRRLLRLRLRLRRRLRRLRLRLLLLRRLLLLLRLLRRLLRLRLLRRLRRRRRRRLRLLRLLRRRLLLLLLRLRLLRRLRRRLRRLRRLLRRLRLRLLLRLRLLLRLLLRLLLRLRLRLRLRRRLLRLRRLLRLLRRRLLRRRLRRLLRLLLRRLRLLLRLLLLRLLLLLRRRRLRRLLLRRRLRRLRLRRRLRLRRLRLLLRRRRLLRRLLLRLLRRLLRRLLLLLRLLLLRRLRRLRRLLLRRLLRRRRLRRRLLRLLLLRLLLLLRLLLLRLRLRRRLLRRRLRLLLRRRLLLRLLLLLRRLRLLRRLRRRLLRLLRRRRRRLLRLRRRLLLLRRLRRLLLRRRLRRRRLRLLRLLLLRLLLLRRRRRRRLRLRLRRRLRLRLRRLRLRLRRRRLLRLRLLLLRRLLLRRLLRLRRLRRLRRRLLRLRLLRRLRLLRRRLRRRLLLRLRLLRLRRLRLLRLLRLLRLRRLLLLLRLRLLRLRRLLLRRLRRLLRRLRRLRLRLRLLRRLLLRRRRRLLRLRRRLRLLLRRLLLRRRRLLRRLRLLLLLRLRLRLRLRRLLLLLRLRLRLLLLLLLLLRRLRRLRLLRRRLRLRLRRRRRRLLRRLLLRRRLLLRRRRLRRRLLRRRLLRRLRRLLLLLLLLLRLRRLLRRRRRRLLLLRLLLRLLLLRLLLLRLRLRRRRLRRRLLRRLLLRRLLRRLRLLRLRLLRRLRRRLLRRRRRLLRLLLLRLLRRRRLRLRLRLLLRLLRLLRLRLRRRLRRRRLRRLRRRRLLRRLRRRLRLRLRLRRRLRLRLRLLLLRRRLRLRLRRRRLLLLLLLLLLLLRLLRLRLLLLRRRLRLRLLLLLLRRRRLRLRLLRLLLRRLLLRLLLRLLLLLLLLLLRLRRLRRLRRRLLLLRLRRLRLLRRLLLRLRLLLRLLRRRLRRLRLRLRRRLRLLRLRLRRLLRRRRLLRLLLRRLRRRLRRLRRRRLLRLRLLLRRRLLRRRRLRRRLRRRLLLRLLLLRLLRRRRRLRLLLRRLLRLRLRLRRLLRLLRLLRLLRRRLLLRRLRLRRRLLRLLRRLRLRRLRRRLLLRRLRLLLRRRLLRRRLLRRLRRLLRLRLLRRLRLLLLLRRLRRLRLRLRLRLRRRRRLLLLRLLRLLLLRLLLLRLLLLRLRRLLLRRLLRLLRRRRLLRLRRRLLLRLRLLLRRRLRRRLLRRRLRRRLLLRRLRRRRLRRLLRRRRLRLLLRLRRLRLRLLLLLRLRLRRLRRRRLLLRRLRLLLLLRLRLRLRRLLLLLLLLLRRRRRRLRLRLRLLRLRRLLRRLRLLRLLLRLRLLRLRRLLRLLRLLRRLLLRRLLLRRLRLLRRRLRRLLLLRLLRRLLLLLRLRLRLRLLLLLLRRRRRLLLLRLLLRLRRLLRRRLRLRLRLLRLLLLRLLRLLLRLRRRLRRRLRRLRRRLRRRRRRRLLRRLLLLRLRRLRLRLRLRRLLRLRLRLLLLRLRRRRRLLRLRLRLLLRRRLRRLLRLRRRRRRLLLRLRRRLLLLLLRRLLLLRLRLRRLRLRLRRLRRLRRRLLRLRRRRLRLLRLLLRRLLLRRLRLRLRRLLLRRLRRLLLLLRRLRLRLRRLLLLLRLRRRRLRRLRLLLRRRLLRLLRRRLLLRLRRRRRLRLLLRLLLLLRRLLRLLRRLRLRLRRLRLLLRRRRRRRRLLRLRLLRRRLRLLRRLRLLLRRRRRLRLRLLLRRRRRLLLLLLLRRRLRRRLLRRLLRRLLLLLLLRRRLLRRRLLRRLLLLRLRRLRLLRLRRRLRRLRRRLRLRRLLRLLLRRLLRLLRLRLLLLLLLLRLRRRLRLLLLRRRLLLRRLRLRLLRRLLLLRRLRRRRLLLLRRLLRLLLLLLLLRRRLRRRLLLLLLRLLRLLRRRLRRLLRLRRLRLRLRRLLLLLLRLLRRRLRLRRLLLLLLLLRLRRLRRLLRRLRRLRLLRLLLLRRLRLRLLLRLLRRLLRRLLRRLLRLRRLRLLRLRRLRLRRRRLLRLLRLLLLRLRRRRRLLLLLRRRRRRLRRLLRLRRLRRRLLLRLLRRRRLRLLRLRRRRLRLLLLLRRLRRRRRLLRRRRRLRLRLLRRRLRRRLRLLRRRLRRLRRRLRRRRLLLLLRLRLLRRRRRRRLRLRLLRLRLLLRRRLRLLRLLRLLLRRLRRRRRRRLRRRLLLLLRRRRRRLLRRRRRLLRRRRLRLLLRLRLRLLLRLRLLRLRLRRRLLLLRRRRLLRLLRLLRLRLRLLLRRRRLLRLRLLLLRLRLLRLLLRRRLRLRLRLLLRRRRLLLRLLRLRLLLLLLRLRLLLLLRRRRLRRRLLLRRLLLRLRRLLLRLRLLLRLLRLRLLLRRLLRLLRRRRRRRRRLRRRRRRLLLLRRRRLRRRRRLRLRRLLLLLLRRLRRLRLLLRLRRRRRRRRRRRLLRLRLLRLRRLRLLLLRLRRRLLLRRRLRLLLRRRLRLLRLRRRLRRRRLLLLLLRLRLRRRLRRRLRLRLLRRLLLRRLRLLRRLLRRRLLRLRLLLLRLLLLRRLRLRLLRLLLLRRRLLRRRLLRLRRRRRLRLRRLRLLLRRLLRRRRRRLLRLLRLRLRLLLRRLRRLLLLRRRRLLRRRLLRLRLLRRRRLLRLLLLRRRRLRRLRRRLLLRRLLRLLRLLLRRLRRRRRLLRRRLLRLRLRRRRLLLLLLRLLRLRRRLRLRRRRLLLLLLRLRLRRLLRRRLLLRLLLRLLRLRRRLRRLRLRRLRLLLLRRRRRRRRLRLRRRRRRLLRLLRLRRLRLLRRRRLRRRRRLRRLRRLRLLLRRRRRLRLLRRLRLRLRLLRLLLRRLRLRRRLLLRLRLRLLLRLRLRLRLRRRLLRLLLLLLLLLLLLRLRRLLLRLRLRLLRRRRRRRLLLRRRLLLLRRRLLRRRRLLRRLRLLRLLLLLRLRLLLRLLLRRRLRRRLRRLLRRLLRRLLRLLRRRRRRLRLLLLLLRRRRLRRLRLLRLRRRLLLLLLRLRRRRLRRRLRRRRLRLRRRLLLLLLRRRLRRLRRRLLRLLLRLLLRLRRRRLLLLLLRLLRRLLRRRRRRRRRLRLRLLRLLLLLRRLRRLRRRLRLRLLRRLLLLLLRLLRRRRRLRLRRLLRRRRLLLLRRRLRLLRLLRRLRRLRRLRRRLLRLRRRRRLLRLRLRLLLRRRLLLRLLRLRRRLRLLRLLRLLRRLLLRRLRRLRLLLLRRLRRLRRRLLLLLLRRLLLRLLLLLRLRLRLLLLRRLRLLLLRRLRRRRRLLLLLLLRLLLLRLRRLRRRRLRLLRRLRRRRLLLRRLLLRLLLLRRRRRRLLRRRRRLRLLRRRLRRRRLLRRLRRLLLRLRLRLLRLRLLLLRLRLRRRRLLRLLLLLLLLLLRRRRLRLRLRLRLRLRLRLRRLRLLLRRLLLLLRLLLLRLLLLLRLRLLRLLRLLRRRRLRRRLLRLRLRRRLLLRLLLLLLLRLRLLRLRLRLRLRRLLRRRLLRLLRRRRRRRLRLLRRLLRLLLLRLRRRLLRLLLRLLLLRRLRRLRLRRLLRRLRRRLLRRRLLRLRRLLRLLRLLRRLRRRLRLLLLLLLLLLRLLRRLRLLLLLRLRLLRRLRLRRRLRLRLRRRRLRRRRLRLRLRLRLLRRLRRLRLRRLLRLRLRLRRRRLLRLRLRLLLRRRLLLRLLLRLRRRLLLRLLRRRRLLLRLRRLRRRRLLLLRRRRLRLRLRRRLLRRRLLLRRRLRRRLRLLRRLRLLRRRRLLRRLLRLRRRLRRLRLLRLRLRLRRLRLRLLRRLRLRRLRRRLRLRLLRLLLRRLRLLLLRLLRLLRRRRRRLLRRLRLRRLLRLRLLLRLLRLLLRLLLLRRRRLRLRLLLLRLLLLRLRRRRRRRLLRRRLRLRRLRRLLRLLRRRLRRLLLRRRRLRRRLRRLRRLRLRLLRRRRRLRRLRRLLLRLRLRLRLLLRRRRLLRRLRLLLRLRRRLLRRRRRLRRRLLRLRLLRLRLRRLLRRRLRRRRRRLRLRRLLLRLRLRRLRRRLLRLRLRRLRLRLLLLLLRRRRLLLLLRLLLLRLLLLRLLLRRRRLRRLLLLRRLRRLRLRLLLLRLLRRLRLLRLRLLLRRRRLLRLLRLLRRRRRLRRLLLRRRLLLLLRRRLLLRRLRRLLRLLLLLRLRLRRRRRRLRRRLLRLLRRRLLRRLRRLLRLLLRRRLRRRRLLRRRRLRLRRLRRRLLRRRRRLRLLRRLLRLLLRRRRLRLRLRLRLLLRRLRRRLLRLRRLLLLLRLLRLLLRRLLLRLLLLLLLLLRRRLLLLRRRLRRRRRRRRRLLRLRRRRLRRRLLLLLRLLLLRLRLRLRRLLRRLRRRRRRLRRLLRLRRRLRRLRLRRLLLRLLLLLLRRRLRLRRLRRRLRRLRRRLLLLRLLLLLLRLRRRLLLLRRLRRLLRLLLRRRLRRLRRLRRLLRRRRRLLLRRLLLLRLRRRLRRLLRLRLLRLRLLRRLRLRLRRLRLRLLLRLRLLLRRLLRLLRRLRRLRLRRLLRLRRLRLLRRRLLLLLRLRLRLLRLRRLRRLLLRRRRRRRLRRLRLLLRLRLRRLLLLRRRLLLLLRRRRRRRLRLRLRRRLLRRRRLRRRLRRRLRLLRRLRRLRLRLRRRLRLLLLLLLLLLLLRLLRLLLLLLRLRRRLRRLRLRRRLRLRRRLRLLRLRLLRLRLRRRRRLLRLRLRRLRRLRRLRRLLLLLRRRLRRRLLLLRRLRLLLRLRRLLLRRLLRRLLRLLRRRLRLLRRLLLLLRRRRLRLRLLLRLLLLLRLRRRLRRRLRRLRLRLRLRRLRLRRRRLRLRRRRLLRLRRRRRLLRLRLRLLLLLLRLLLRLRRLLLLRRLLLLLRLRLLRLLRLRRRLLRLRLRLRRLRRLLLRRLLRLRRLRRLRLRLLRRRRLLLLLRRRRLLRRLRLRLLRLRRRRLLLRLRLLLRRRRRRLRLLLRLRRRLRRRRRLRLRRRRRLLLLRLRLRRLRRRLLLLRRLLRLRLLRLLRRLLLLRRLRRRLRLLLLLRLRLLLLLLLLRRLRRLRRRRRLLRLLRRLLLLLRRLRRRLRRLLRLRRLLRLRRRRLLRRLRLRRLLLRRRLLRRRRRLLRRLLRRRRRLRLLRRRRRRLRRRLRLRLRLRRLLRLLRLRRLLLLLLLRRLLRLRLLRLLLRRLLRLLRRLRLLRLLLLRRRRLLLLLLLRRLRLLLLRLLRLLRLRRLLLRRLLLLLLLLRRLLRRLLRRLRLLLRLRRRRRLRRRRRRRLLRLRRRLLLRRLRRLRLLRLLRLLRLRRLRLRLRLLRRRLLLRLLRLLRRLRRRRLRRLLLLLLRRLRLLLLLLRRRRLLRRLRLRLLLRRRRRRRRRLLLLRLLLLRRLLRLRRLLRLLLRLRLLRLRRRRLLLLRRRRLRRLLLLLLLLLLRRLRRRLLRLRRRLRRRLLLLRLRLLLLRLLRRLRLLLLLRLLRRRRLRRLLRRLLRRRRRLLRLRLRRLLRLLRRLRLRLRRRRLRLLLRRLRRLRLRLLRLLLRLLRRRRLRLRRLLRLRLLLRRRLLRRLLRLRLRLRLRLRRLLRRRLRLRRRRRLRRRRRLRRLRLRLLLLRRRRLRRRRLRRLLLRRLRLLRRRLLRRLLLLRLRLLRLLLLLLLLLLRRRLLRLRRLLRLRLRLRRLRLRRRLRLRRRRRLRLRRLLRRLLLLRRLLRLLLLLRLLLLLLLRRRRRLRLRLRRLLRLLRRRLLRRRLRRRLRLLLRRLLLRLLLLLLLRRRRLRRLRRLRRLRLRRRLRRLLLLRRRLLRRRRRLRRRLRLRLLRRLLRLRRLRLLRLRLRRLLRRLRLLRLRRRLRLLRLRRLLRRLRRLRRLRLRLLLRLLLRRRRLRRRRLLRRRRLRLRLRRLLLRLLLRRLLLLRLRRRLLRRLLRRRRLRRLRRRLRRRRLRRRLLRLRRRRRLRLLLRRRLRRRRLRRLLRRRRLLLLRRRLLLLLRLRRLLLLRRRRRRLRLLLLRRLLRLLRRLRLLRLRRRRRRLRRLLRLLLRRRRRRLRRLLRLLLLRLLLLRRRRRRLRLLRLLRLRRLRLLLLLLRLLRRLLLRRRRRRRRLRRRRRRRRRRRLLLLRRRLLRRLLRRRLLLLLRLRRRRRLLRLRRLLRRRRRLRRRRRLLLLLLLRRLLRRLLRRLLLLLRLRLRRLLLLRLRRRLLLRRLLRLLRLLRRLLRLLLLLLRLLLLRLRLLLRLLRRLRRRLLRLRLLRRRLRLRLRRRLLRRRRRRRRLRLLLLRRLRRRLLRLRLLRLRRRRRLRRRLLRLLRRLRLRLRLLRLRLLLRLLLRRLLRRLLRRRLRRRRRRRLLRRLLLRLRLRRLRLRLRRRLRRRLLLRRRRRLRLRRRRLRRRLRRLRLRRLRLLRRRLRLLRRLLRRLRRLLLRLRLRRRLLLRLLLLRLRLRLLLRRRRRLRRRLLLRRRLRLRRRRRRLLLLRRRLRLRRLLRLLRLLRRLLLLLRRLRLRRLRRRLLLLRLLLRRLLLLLRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLLLLRLRLRRRRRLRLLLRRLRLLRRRRRLLLLLLLRRRRLRRRLLRRLRRRLLRLLRLLRRLLLLRRRRLRRLRRLRLRRLRRRRLLLRRLRRRRRRRLLLLLLRRLRLRRRRRLRRLLRLLLLLRRRRLRLRLLRLRLLLLRRLLRRLLRLLRLRRLLLRRLRLRLRRRRLRRRLLLLLLLRRLRLLLLRRLRRRRRRRRRLRRRRLLRRLLLRLLLLRRLRLLLLRLRRRRLLLLLRLRLRRRRLRLRLRRRLRRLRLRLRRRLRLRRRLLLRLRLLLLRLRRRLLRLRLLLRLRRRRRRLLLRRRLRRRLLRRRRLRRRLRLRRLLLRRLLLRLLRLRLRRLLRRRRRLLRLLRLLLRLRLRLRLLLLRLRRLRLLLLRRLRLLLRRRRLRRRRLLRRRRLLLLRRLRRRLLRLRRRRLLRRRRRLRLLRRLRLRRLLLRLLRRLRRRLLRRLRRRLLRRLLLRRRLLRRLLRRRLLRLRRLLRRRLRRLLLLRRRLLLRRRLLRRLLRLLLLLRRRRLLRLRLRRRRRLLRRLLLRRLLRRLLRLRRLRLLLLRLLLLRRLLLLRRRRRRRRRRRLLLRLLLLLLLRLLRRLLRRLRRRRRLLRLRRRRRLLLLRRLLLLLRLLLRLRLRRLLLLRLLRRLLRRLRRLLLRLRLRLRLLRLLRRRRLRRRLLLLLRRLLLRLRRRLLRRRLRRLRLLLLRLRLLRLRLRLRRRLLRRRRRRRRLLRLRRRLRLLLLRRLRLLRLRLRLRLRLLLLLLLRRRLRLLLRRLLRRRRLLRLLRRLRRLLLLRRRRRLLLLLRRRLLLRLLRRLRRLRRLRLRLLLLRRLRLLRLRRRLLLRRRRRRLRLRRLRLLRRLRRRLRRRLRLLRLLRLLRLRLLLLLLRLLLLRLLRLRRLLRRLRLLLLRRRLLRRRRRLRLRRLRRLRLRRRLLRRRRLLRLLLRLRLLRRRLLRLLLLLRLRRRRRLLRLLLLLRRRLRLRRRRRLRRRLLLLLRRRLLRLRLRLRRLLRRLRLRRRRRRRRRRRLLRRRRLRRRRRLRRLRRLLLRRLRRRRRRLRLLLLRLRRLRLRLLRRLRLRLRRRLLRLRRRRRRRRRLLLRRLLRLLRRRRRRRRLLLRRRLLLRRLRRRRLRLRLRLRRLLRRRRLRLLLRRLLRLRLRRRLLLLLLRLLLRRRLLLRLRLRRLRRLRLRRLRLRRRLRLLRLLLLRRLRRRLLRRLLRLLRLLLLRLLRRLLRRRRLLRLLLLRRRRLLRLLRLLLLLRRLRRLRLLRRRLRLLLLRLLRRLLRLRLRLRRRLLLLRLLRLRRRRRLLRRLRRRLRLLLLRRRRRLLRRRRRLLLLLRRLRLRRLRLLLLLLLLLLRRRRLRLRRRRLLRLRRRLRRLRLLRLRRLRRRRRLRRRLRRRLRLRLLRLLRLLLLLLLLLRRRRRRRLLLLLRRLLLRRRRRRRRRRRRRLLRRRLRRRLRLRLRRRLLRLRLRRLLRLLRLRRRRRLRLLLLRRLRRLRRLRLRRRLLRLRRLLLLRRLRRRLRRRRLLRRLLRLLLLLLLRLLLLRLLRRRLLLRLRRRLLLLLRRLRLLLLRRLLRLRLLRRRLRLRRLLRRLRRLLLLLLLRLRRLRRLLLLLLRLRRLRRLRLRRRLRRRRLRRLRRRLLRLRRRRLLLLLRRLRRRRRRRRRLRRLRLLRRRLLLLRLRLLLRLLRRRRRLRLRLLLLLRLLRLLRRLLRRLRLRRLRRRRRLRLLLLLRLLRLRRLLRRLLRRRRRLRRRLRLLRLLRLLRLLLLLLLRLRRRLRLLLRRRRRLLRLRRLRRRRLLLLRLLRRLRLLRLRRRRRLRRRLLLRRRRRRRLLLRLRLLLRRRLLLLRLRLLRLRRLLRRLLRRLRRRLLRLRRLLRRLRLLRLRRLLLLRLRLRLLLRLLLRLRLLLLRRLLRRRRRLRLLRRLLLRRLRRLRRRLLLRRLRLRLRRLLRLLRRRRLLLLLRLRLLRLLLRLLRLRLRRRRLRLRRLLRRLLLRRRLLLLRLRRRLLLRRLRRRRRRRLRRLLRLRLLLLRRRLLRLLLRRLLLLRLLLLRLLLLRRRRRLLRRLLLRLLRLRRRLLRRRLLLLRRLLRLRRRLLLRLRRLLLLLLLRLLRLRRLRRRRRRLLLRRRLRRLLLLLLLRLLRRLLRLRLLRLRLLRLRLLLLLLLLLRRLRRLRRLLRLLRLRRLLLLLRRRRLRRRRLRLLRRRLLLLLRRLLLLLRLRLRLRRLLRLRLLLLRRLRRLLLLLRRRLLLLLLLLRRRLRLRRRLRRLRRRLRLRLLRRRRRLRLRLRLRRRRRRRLLLLLLLLLRLLRLRLRLLLLRRRLLLLRRLLLRRRLLLLRRLRRRLLRRRLLLLLRRLRRRRRRLLLLLLLLLLLLRRRRLRRRLLRRRRRLRRRRRRLRLLRLLLLRLLRRRRLLRLRRLRRLRLLRLRRRLLRLLLLRLRRLRRLRLLRLLRLRLRLLRRRLLLRLRLLLLRLRRRRLLRLLLRRLLRRLRRRLLLLLRLRLRRLLRRRLRRRLRRLLLLLRLLLLLLLRRLRRRRRRRRLRLLLLRRRRRLLLLLLRRRRLLRLLRRLLLRRLRRLLLRRRRRRRLRRRLRLRLRRLRLLRLLRLLRRLRRLRLLLLRLLRRRRLRLRLRRRLLLLRRLRLRLRLRLRRRLLRLLLLRRLLLLRLRLRRLLRLLRRLLRLLLRRRLLRRRRRLRRRRRLRRRLLRLLLRRLRRRRLLLRLLLLLRLRLRLLLLRRLRLRLLLRLRRRRRLLRLLRRRRLLRRLLLLRRRRRLLRLRLLLLRLRRRLLLRRRRLLLRRLLLRRLRRLRRRRLLLRLLRRRRRRRLLRLLLLRLRLRRRLLLRLRLLRRRRRRLRRLLRLRLLRRRRRRLRRRRLRLLRRLRLLRLRRLRLRRRRRLLRRLRLLRLLLLLLLRLLLLRRLLRLLRLRRRRRLLLLLLRLRRRLLRLRLRRRRRRRLRLRRLLLLLLLRLRLLRLRRLLLRRRLRRLLRRRRRRLLLRLLRLRLLRRLLRLLRRLLRLLRLRRRRRLLRRRLLRLLRLLRLRLRRRLLLRRLLRRRRRLLRLLRRRLLRLLLRLLRLLLRRRLLRRRRRRLLLLLLRRRLRRLLRLLRRLLRLLRLRLRRLRLLRLLRLLRRLLLLRRLLRRLLLLRLRLRLLLLLRRLLRLRLLLLRLLRLRLRLRLRLLLRRRRLLLLLLRRLRRRRRLLRRRLLLRRRLLRRLLRRRLRRLLRLLLRLLRLRLLRLRRRRLRRLRLRRRLLRLLRLLLRRLLLLLLLRRLLLLRLLRRLLLRLRLLLRRRLLLRLLRLRRRLRRRRLLLLRRRRRLRLLRLLLLRRRRRLLLLRLRRLLLRLLRRLLLLLLLLRRLRRRLRLLRLLLRLRRLRLLLLRLRRLLLRLLLRLRRLLLRRLLLRLRLLRRLRRRLLLLLRLLLRRLLLLRLLRLRRRRLLLRLRLRLRLLRLLRRRRLRRLRRRRLLLRLLLRRRLLRRLRLRRRRLLRRLLRLLLRLRLLLRRRLRLLLRRRLRRRRRRRRRLRLRRLLRLRRRRLLLRRLRLRRRRLLLRRRRRRLRLLLRRRRRLRRRLRRRLLRRRLLLLLLLRRRRRRLRRLRLRLLRLLLLLLLRRLRLLRRRRRRLRLRRRLLLRRLLRRRRLRRRLRLRRLLRLRLRLLLLRLLRLRRRLRLRRRRRLRLLLRRLLRRRRRRRRRLRLRRLLLRRRRLLLLRLLRRLRRRRLLLLLRRRLLRRRLLLLLRLRRRLRLLLLLLRRRLRRLRLLLLRRLRRRRRLRRRLLRRLLLRLLLLRLLLLLRLRLRRLRLRLLLLLRRLLRLLLRLLRRLLLLRLRRRRRLRLLRRLRLLLLRLRRLLLRLRLRLRLRRLRRLRRRLLRLLLLLRLLLLLRRRLRRLLLRLRRLLLLLRRLRLLRLLLRLRLRLLRRLRLRRRRLRRRLLLRLRRRLRLLLRLRRRLLRLLLLRLLLRRLRRRRRLRRLRRLLLLLLLRLLLRLRLRLLLLRLRLLRLLLRRLRRRRRLRRRLRLLLLLLRLRLRLLRRLLRLLLRRLRLRRRLRRLLLRRRRLRRLRRRLRLRLLRRRRLLLLLLRRRLLLLRLRLLRRLRLRRLRRRRLLRLLRLRRLLLRLLLRRLLLLLRRLRLRLRRLRRRRRRRLLLRLRRRLLLRRRRLLRRLRRLRLRLLRLLRLRRRLRLRRRRLRRRLLRRLRRLRLLRLRLLRLLRLLRRLLLRLLLRRRLRRRRRRLLRLLLRLRRRRLLLLRLLRLLLLRLLLRLLLRLLLLRLRRLLRRLRLLLRRLRLLRLRLRRRLLRLRRRRRLRLLRLLRLRRLRLRRLRRLRRRLLRLRLLLRLLRRLLRRLLLRRLRLLRRRLLRLLRLLLRLLLRLLRLRLLLLRRRRRRLLLLRRLRRLRRRLRRRLRRRLRLLLRRLLLLRRRLRRLLRLRRLRLRLRLLLRRRLRRRRRLLRLLRLLLRRLLRLLRRRRRLRLLRLRRRLLLRLLLRLRLRRLLLLLRLLRLLLRLRRRLRRRRRLRLLLLRLRRLLRLLLRRLRLLLLRRLRLRLRLRLRRRRLLRRRRLRRLRRRLRRLRRLLRLLLRRLLRLRLLRRLLRRRRRRLRLRRLLLLRRLLRLRRLRRRRLLRRRLRLRRRLLLLLRRLLRLRLLRLLLRRLLRRRLLLLRLRLRRLRLLLLLRLRLRRLRRRLRRRLRLRRLLLLRRRLRLLLLRLRRLLRRRRRRLLLRLLLRLRLRLRLRLRRLLRLLLLLRRRLRLRLLLRRLRLRLLLRRRLRLRRLLRRRRLLRLLRRLLRLRLRRLLRRRRLRLRRLLLLLRLRLLRRRLLLRRLRLLRRRRRRLLLLRLLLLLLRLLRRLRLRLLLRRRRRRLLRLLRLRRRRRRLLLRRRRRRLRRLRRRLRLRLLRLLRLRRRLLLLRRRLLRLRRRRRLLRRRLRRRRRLRLRRLRLRRLRRLRRLLLRLLLRLRRLRRRRLRRLRRRLLLRLLLRLRRLRRLLLLRRRLLRRRLRLRRRLLLLRRLLLLRLRRRRLLLRLRLLRRLLRRLRRRLRLRLRRLLRRRRRLRRLRLLLRRLRLRRRRRRLRRLRLRLRLLRRRRLRLRRRRLRRRRRLRRRRRRLRLLRLRRRLRLRRRLLLRLRRRLRRRLLLRRLLRRLRRLRLLRRRRRLRRRLLRLRLRLRLRLLRRLLRLLLRRRLRLLLRLLRRRLRRRLRRRLRLRRRLLRRRRLRLRLLRLLRLRRLRRLLLRLLLRLLLRRLRLLRLRRRLRRLLRRLRRLRRRRRRRRLLLRRLLLLRLLRRLRRRRLLRLLLLRRLRRRRLLLLLLLLLLRRRLRLRRLRRLLRRRLLRRLRLRLRLRLLLRLRRRLRRRLRLLLLLLRLLRRLLLRLRRLRRLLRRRLRLLRLRLRRRRRLLLLRLRLLLLLRRLLRRRRRLRLLLLRLRLLLRLRRLLLRLRLLRRRRLLLRLLRLRLLLLLLRLLLRRRRRLRRRLLRRLLLRRRLRRLRRRRLLLRRRLLRRLLLLLLLLLLRLLRLLRLRRRRRRRRLRRRRLRLRLRRLLRLRRLRRRRRLRLRRLLLLLLRLLRLLLLRLRRLRLLRLLRRRLLLLLRRRLLLLRRRLRLRRLLLLRLRLLLRLLRLRLLRLLRLLLRRRLRRRLLLLRRLRRRRRLLRRLLLRLLLLLRLLLRRRRLLRRRLRLLRRLLLLLLLLLLRLRRRLLRRRLRRLRLLLLRRRLRLLRRLRLRRRRRRRLLRRLLRLRRRRRRRRLLRLRRLLLRRLRRLRLLRRRRLRLRRRRLRRLLRLRLLRLRRRLLLRRRLRRLRLRLLLLRLRLRRRLLLRRLRLLLLRRLLRLLRRLRRRRRLRRRLLLLLLRLRRLLRLRLLLRRLLRRRRRLRRRRLRRRLRRRRLLLRRLRRLRLLLRRLLRLLLLRRLLRRLRLRRLLLRLRRRLLLLRLLLRLLLRRLRLLRRRLLLRLRRRRLLRRRLRRLLRRRRRRLLRRRLRRLLLLRLLLLLLRRLRLRLLRLLLRRRRRLRRRRLRLLRLLLRRRRRLLRLLLLLRRLLRLLLRRLLLRLLRLRLLRRLRRLLLRRRLLRLLRRLLRLRRRLRRLLLRRRRLRRLRRRLRLLLLLLRLRRRLRRRRLRRLRLLRRLLRLLRRLLLRRLLLRLLRRRLRRLRLRRLLLRRLLRLRRLLLRRRRRLRRRLRLLLLRRRLRLLRLLRLLRLRLRRLRRLRLLRRRRRRLLLLLLRRLRLLLLLLRRLRLLRLLRRLRLLRRLLLRRLLRRRRRLRRRRRLLRLLLRLLRLRLLLRRRLLLLLRRRLLLRRRRLLRLRLLLLLLRRRLLRLLRRRLLRRRLLRRRRRRRRLLRRLRLLRLRRLLLLRLLLRLRLRRLRRLRLRRRLLLRRLRLRLLRLLRLLRRLRLRRRLRLRLRLRRRLRRRLLRRLRLLRRLLLLLLRLRLRRLLLRLRRLRRLRRLRLLLRLLRRLRLLLRRRLRRLLRLLLLLLLLRLLRRLLRLRRLLLRLRLRLRRRLRLLLLLLRLRRRLRRRLRRLRRRLRRLLLLRLRRRRLRRRLRRLLRLRLLRRRLRLLLRRLRLLLRRLLLRLRLRRRLRLLLRRLLLRLRRRLLLRLRRLLRRRLRRRRRLRRRLRRRLRRRRLRLLLLLLLRLLRLRRLLLRLRLRLLLLLRRRRRRRLLLLLLLLRRLRLRRLRLLLLLLRRRRRRLLRLLLRLLLRLRLRLRLRRRRRLLRRRLRLLRLLLLRRRLLLRRLRRLRRLRRRLRRLLLRRRRRRLLRRRRLLLLLLRRLLRLRRLLLRLLRRRLRLRLLLRLRRLLLLLRLLLLLLRLRLLLRRLLRLLRLLLRLRRRLLRLRLRLLRLLRRLLRLLLLLRRLLLRRRRLLRRLRRLRRRRLLLLLLRRLLRRRRLRLLLRLLRLRRRRRLRLLRRLLRLLRRLLLRLLLLLLRRLLLLRLLLRRRRLLLLLLLLLLLRLRLLRLRRRLLLRLRRRLRLLLRLRRRRLLRRLLRLLLRRLRRRRRRRLRRLRRRRRLLLLRRRLRRLLRRLRRLLRLLRRRLRLLLRRRLRLRRRRLRRRLLLLLLLRLRRLLLLRRRRLLLLRLLRRRRLRLRRRRRRRRLLRLRLLLRLLRLRRRLRRRRRRLRRLRRLLRRRRLLRRLLLRLLRRRLLRLLLLLRRLLLRLLRRRRRLLRRRLRRRLLRLRRRLLRLLRLRLRRRRRRRLRLLLLRLRLLRRRRRLRRRRLLRRLRRLRLRRRLRLRLRRRLLLRLRLLLLLLLLLLLRRLRLRLRLRLRLLLRRLRLLLLRRRRRRRRRLLRRRLRRRLRLLLLRLRLLRRRRRRRLRRLRRRLLRRRRLRLRLLRLRLLLLLRLRLRRLLRLLRRRRRLLLLLLLRRRLLRRLRRRRRRLLLLLRRRLRLLLRLLRLRRRRRLLRLLRRRRLRLLLRRRRRRRRRLLLRLRLLRLLRLLRLLRLLRLLRRRRLRLLRLLLLRLLLLRLRLRLLLRLLRRLRLRRLLLRLLRRRLRLRRLRLLLRLRRLRRRLRRLRLLRRLRLLLLRRLRLLLLLLRLLRLRLLRLLRRRLRLLLRLLRRLLRRLRRLRLLLLRLLRRLRRLLLRRRLLRLRRRRLLLRRLLLLRLLRRRRRLLRRLLRRLLRRRLLLLRRRRLRLRRRRLLRRRRRRLRLLLLLRLRRRRLLRRLRRLRRRLRLLLLLRLLRRRLRLRLRLLLLLLRLLRRLLRRRLRLRRLRRRLLRRRRLLRLLLLRRRRLRLLLRRLRRRRRLLRLLLRLRRLLLLLRLLLRRRLLLLRRLLRLLLLRRRRLLRRLLRRRRLRLLRRLLLLLRRRLLLLRRRRRRRLRRLRLLLRLRRRRLRLRRLRLRRLRLRLRLRRLLLLRRLLRLLRRRRLRLRRRRRLLLRLRRRRRRLRRLLLRRLLLRRLLLRLRLRLLLRLLLRLLLLLRLRRRLLLRLLLRRLRLRLRRRLLLLRLLLRLLRLLLRRRRRLRRLRRRRLLLRRLLRRLLLRLLLRLLLRLLRLRLLRLRLRRLLLLRLLRLLLLLLLRLLLLLLLRLLLLLRRLRRRLRRLRLLRLRRLLLRLRLLLLLLLRLLRLRLRLLLLLRRRLRRLLLRLRRLRLLLLLLRLLLLRRLRRRLLLLLRLRRRRRRRLRLRRLRRLLRLRRLLRRRRRLRRLRLLLLLRLLLRRRRRLLRRRRRRLLLLRLLRRLLLRLRLLRLRLLRRRRRLRLRRRRRLRRRRLRRLLLLRRLLRRRRRRLRLRLRLLLLLLLLRRRRLLLLRLRRRLLRRLLRLRRRLRRRLRRRRLLLLRLLLRLRRLRLRLLLLRLRLLLLLLLLLLRRLLRLLRRRRLLRRLRLLLRRRRRLRLLLLLRRLRLLLLRRRRRLLRLLRRLRRLLLLRLRLLLLLLRLLLLRLLRRLRRRRLRRRLLLRRLLRLLLRRLLRLRRLLLRRRLRRLLLLRRLLRLLRRRLRLLLLRRRLLLRLRLLLRRLLLRRLLRRLLLRLRLLRRLRLLLRLRLRLRRRRLRLLLRRRRLRRRLRLLLLLLRRRRLRRRLLRRLRLLRRLLRRRLLLRRLLLRRRRRLLLLRLRRLLLLLRLLLRLRRRLRRLLLRRRRRLLLRRLRRLRLLRLLRRRRLLRLRLLRRRLLLLRRLLLLLLLLRRRLLRLLLLLRLLRLRLLLRLRLLLLLLLRLLRLLRRRLLLLLLLRLRLRLLLRLRLLRRLLLLRLRLRRRRLLRLLRRRRLLLLRRLRLRLRRRRLRRRLRLLLLRRLLLRLLLLLLRLLLRRLLRRLLRRLLLRRLRLRLLLLRLLLRRRRLLLRRLRLLLLRLRRRRLRRRRLRLLLRRLLRLRLLLRLRRLRLRLLRLRLRRRRRRLRLRLLLRLLLLRLRRRLLRLLLRRLRRRLRLRLRLRRRRRRLLLRLRLRRRRLLLRRRLLLLLRRLRLRLRRRLLRLLRLLLLRRRLRLRLLRLLRLLLLRRRLLLLLRLLRRRLRRLLLLRLRLRRRLRRRRRRRLRRRLRRRLLRRLLLLRRRLLLLRLLRRRRLRLLLLRLRRLLLRRRLRRLRRLLLRLLLRRLRLRRRRLRRLRLLRRRRLRLLRRRLRLRRLRLRLRRRLRLLLLLRRLRLLLLLRLLLRRRRLRRLLLLLLRLLRRLLRLLRRLLLLRRRLLRLLLRLLRLLRRRLLLLRLLLLLRLRRRLRLRRLLLRRLRLLRRLRLRLLLRRLRRLRRLLLRLLLLLLLLLRRRRLRRLLRLRLRLRLRRRLRLLRRRRLLLRRRLLRLRRRLLLLLLLLLRLLRLLRRLRLRLLLLLRRRRRRRRRRLLRRLRRLLRLRLRLLLRRRRLLLRLLLRLRRRLLRRLRRLLLLRLLLLRRRRLRRLLRRLLLRRLRRLRRLLLRRLLLLRRRLLLRRLRLRLLRLRRRRRLLRRRLLLLRLRLLLLLLRRLRLLRLLLLLRLRLLRRRRLLRLLLRLLLRRLLLRRRRRLLRRRRRRRLLRRLRRRRRRRLRRLRRLRRRLRRRRLLRLRRLLLRLRRLRRRRLLLRLRRLRRLRLRRRRRRRLRLLLRLLRLLRLLLRLRRLRRLLLLRRLRLLLRLRRRRRLRRLLLLLRRRRRRRRLLLLLLRRLLLLLRLRLRRRRLRLLLRRLLRRLLRLLLLRRLLLRLRLRLLRRRRRRLRRRRRLRRLLLLRLLLRLLRLRLLLLLLRLLRRLLRLLLRRRLRRLRRLLRRRRLLLRRLLLRRLRRRLLLLLRRRRRLRRLLLLRRRRLRLLRLRLLRRRRLLRLLLLLLLLLRLLRLRRRLRRRRLRRRRLRRLLRLRRLLLLLRRRRRLLLLRRRRLLRLLLRLRLLRRRRLLRLLLLLLRRRLRRLLRLLRRRRRRRLRLRLLRLLRLRLLRRLLLLLRLRRRLRRLRLLLLRLRLLRRRLLLLLLRLRRLLLLRRRLLLLRRLLLLRRLLLLRRLLRLRLLRRRRRRLRRLRLRRLRRLRRLRLRLLLRLLRLLLLLLRLLLRRLLRRLLLRRRLRLLRRRLRRRRRLRLRRRLRLLRRLRLRLLLRRRLRRLRLLRLLLLRRLLRRRLLRLRLLLLLLLLLLLLLRRRLRRLLLRRRLRLRRRLLLRLLRLRRRRLRLRLRLRRLLRLRLLRLLRRLRRRLRLLRRRLLRLLLRLLRLRLRLRLRRRLRRRRLLRRLLLLLRLRRRLLRRRRRRRRLLLRLRLLRRRLRLLLLLRLLLLRRRRRRRLLLRLLRLRRRLRLRLLLLRLRRLRRLLLRRLLLRRLRLLLRRRLRLRRLLRLRLLRLLRRLRLRRRRLLLRRLRRLLRRRRRLLRRRLRRRRLLLLLRRLLLLRLLRRLLLRRRLLRRRRRLLRRRRLLLRRRLRRLRLRRRRRLRLLRLLRLLLLLLRRRLRLLLLRRRLRRRRRRLLRLRRLRRLRLRRLRLRRRRRRRRRLRRLLRLLRRLRRRRRLRRLLRLRLLLLLLLRLRRLRLRLRLRLLLRRRLLLRLLLRRRRLRLRLLRLLRLLLRLRRLLLRRRRRLLLLLLRLRLLLRRRRLLLLRRLLLLRRLRRRRLRRRLRRLRLLRRRRRRRRRLRRLLRRLLRRLLLRRLRRLRLLRRLRLRRRLLLLLLLRLLLRRRLLLLRLLLLLLLRRRRRRRRRLLLLLLLLRRRRLRLLRRRLLRLRRLLLLRLLRLRLRLLLRRRRLLRLRRLLRLRLLLLLRRRLRLLLLLLRRLRRRRLLLLRLRRLLRRRRLRLRRRRRRLLRLRRLRRRRLRLLRRLLLRLLRRRRLRLLRLLLLRLLLRLRRRRRRLRRRRRRRLLRLRLLRRLLLRRRRLLLLLLRRRRRRLRLLRRLLRLLRRRLLRRLRLLRLRLLLRRLRLRRRLRLLRLRRLRRLRLLLRLLLLRRRLLRRLRLRRLLLRLLLRRRLLLRLRLLLRLRRLLRRLRRLRRLLRLRLRLRLRRLLRRLLRLLLRLLLLRRLRLLLRLLLLLLLLLRRLLRRRRRLLLLRLRLLRRRLLLLRLRLRRLLRLRLLRRRRLLLLLRRLRLLRLLLRLLRRRRLRLLLRRLLLLLRRLRRLLRLRLRLLRLRRLLLRRLLLLRLLLLRRRLLLRLLLRLLRRRRRRRLRRLLLRRRRLLLRRRLLLLRRRRRRRRLRRLLLLLLRLLLLRRRRLLRLRRLRLRLLRRLRLLRRLLRLRRLLRRRRRRLRRLRLLLRLRRLRLLLRLRRLRRRLRLLLRRLRRRRRLLLLLRRRLRLRRLRRRLLRLRLRLRLRRLLLRLLRRRRLRRLLRRLRRLRLLRLRRRLLRRLRLRRRLRLLRLRRRLLRRLLRRLRRLRLLLLLRRRLLRRRLLLLLLLRLRLRRLLRLRLRRRRRRLLLRLLLRRLRLLLLLRLLLRLLRLLRLLRRLLRRRRLRRLRRRRLLRRLRRLRRLRLRRRLRLRRRLLLLLLRLRRLRRRLRLRRRRLRLLRLRRLLRLLRRLLRLRRRRRLLLRLRLRLRLRRLRRRLLLRRLLRRLLLLLLRRLLRRLRRLRLRRLRLLLRRLLRLRRLLRRRLRLRRRLRRRRRRRRLRRRRRRRRLRRRLLRLLRRLLLRLRRRRLRRLLRLLLRLRLRLLLLRRRLRLRRRLLLLLRLLRRLLRLLRLLRRLLLRRRLRRRRLRLLLRLLLLRRRRRLLLLLRRLLRRRRLRLLRLLLLRRRRLLRRLLRRRRLLLLLLRLRLRLLRLLRRLRRLRRLRLLLLRLRLRLRLRLRRLLRLRLRRLLRLLRRLLRLRRRLLLRLLLRLRLRLLRLLLLRLRRLLLRLLRLLLRLRRRLLRRLRLLRLRRLRLRLLRRRRLLRLRRLRLRLLLLRLRRLLLLLLLRRRRLLLLRLRLRLRLLRRRLRLRRLRRRLLRLLLRLRLRLRLRRLRLRRRRLLLRLRRLLLLRLRLRRLLRRRLLRRRLRLRLLLRLRLLRRLRLLRRRRLRRLLRRLLRLLRLRLLLLRLRLLRRLLLLLRLLLRRRLRLRRLRLLLRRLLRRLLRLLLLLRRLLLLLRRLLLLLLRRLRLLLRLLRRRRLLRLRLLRLRLRRRLRLLLLLRLLLRRLLLRRLRRRRLLLRLLLRLLLLRLRRRRRRLLLLLLRLRRLRLRLLRRRRRLLLLRLRRLLRLRRRRLLRRRRRLRRRLLLLRLLLLRLLRLLLRLLRLLLRRRLLLLRLLRRRLLLLLRRRRRLRLRRRRRRLRRRRRRLRRRRRLLLRLLLRRRRRLLLRLRRRRRRLLRRLLRRRLLRLLLLLLRLLRLLRRLRRRRRRRLRRRLLRRRLRRRRRLRRLRRRRLRLLRLRRLLRRLRLLRRRLLLRRLRRLRRLRRRLRLLLRLLRLRRRLLLLLRLRLLRLRLRLRRLLLLLLRLRRRLRRRRRLRLRRLLRLRLLRLLLRRRLRRLRLLRRRLRRRLLLRRLRLRRLRLRLRRLLLLLRLRRRLLLLLLRRRLLLRRLLRLRRLRLLLRRRLLLLLRRRLRLLRLLLRRLLLRLRLLRLRLLRRRRRLRLRRRLLRRRLRLRLLRLLLRLLRRRLRLRLLRRLRRRLLLRRRRRLRLLRRRRRRRLRLLLRLLRLRRRLLRLRRLRLLRLRRRLRLLLRRRLRRLRRLLRLLLRLLRLLLLLLRRLRLRLRLLRLLRRLLRLRRRRRRRLRRRLLLLLLRRLLLRLRLLRLRRLLRLLLRRRRRLLLLLRLLLLRLLLRRLRRLRRRLRRLRRLLRRLRRRRRLLRLRRRLRRRLLLRLLRRLLRLRRLRRRLLRRLRLLLLLLLRLRRRLLLLRRLRRLLRLRLLRRRRRLRLLRRLRRLLLRLLLLRRLRRRRLRLLRRLRLRRRRLLRRRRLRLRLLLRRRLLRLLRLLLLRLLRRLLRLLRLLRRLLRRLLRLLLLRRLLRRLLRLLRLLRLLRRLRLLRRLRLRRLRLRRLRLLRLRRLLLRRRRLLRRLRRLLRRLLRLRRLLLLRRRLRLRLLRRLRLLRLRLRLLRRLLRLLLRLRLLLLRRRLLRLLLRRLRLLRRLRLRLRRLRLLRRLRLRLRLRRRRLRLLRLRRRLLRRLLRRRLLRRLLLRRLLLLRRLLRLRRRLRRLRRRRLLRLLLLLLLRRLRRRLLLLRRRRRRRLRLLLLRLRLLRRRRLRLRLLRRRRLRRRRLRLLRLRRLRLLLRLLLLLRLRLRRLRLLLLLLLRRLLLLLLLLLRRLLRLRLRLLRRRLLLLRLLRLLLLLLRRLLLRRRLLLLLLRLLRLLLLRLRLLRLLRRLRLRLLLLLRRRRLLRRRLLRRLRRRRLLRRRRLLLLLRRRLRRRLRLLLRLRRLLRRRLLLRLRRLRLLLLRRLLLLLRRRLLLLLRLLRRLLLLRRRLLRLRRLLRLLRRRLRLRLLLLRLRLLLLRLRLLRLLLLRRRRLLLRLLRLRLLLLLRLRRRRRRLLLRLRLLLRLRLRLRLRLLRRLRLLLRLRRLLRLRRLLLLLRRLRLRLLLLRLLRRRLLLLRLRRLLLLLLLRRLRRLLLRLLLRLLRLRRLLRRRLLRLRLRLRRLRRLRRLRRLLLRLRRRRRRRRLLLRRLRLLLLLLRRRLRLLLLRLLRLRLRRRLRRRRRLRRLLRRLLLRRRRRLLLLRRLLLLRRRLRLLRRLLLRLRRRLLLRRRLRLLLRRLLLRLRLLRRRRRLLRLLLRLRRRRLRLRRLLLRRRRLLRLLRLRLRRLRLRRLLLLLLLLRRLLLRRRLRLLLRRLLLRLLLRLRLLRLRRRRLRRRLRLRLRRLRLLRRRLRRLRLRLRLRRRRRRLRLLLRLLLRRLLRLRLLLRRLRLLLLRRRLLLRRRLRRRLRRRRRRLLLLRRLRLRLLLLRLRLLLLRLRLRLLLRLLRLRLLLLLRLRLLRRRRRRLRRLRRRRLRRLLLLRLRRLLLRRRRRRLLRRRRRLLRRRLLRRRRLRLRRRLRRRRLRLLRRRLRRRLRLLRLRLRRRLRLRLRLRRRLRLRRLRRLRRRRLRRLRLRRLLLLRRRRLRRRRRRLLRLRLLLRRLLRRRLRRLRLRLLLLRRRLLRLRLLRRLLLLRLRRRLRLLLLLLLRRRLRRLLRRRLRLLRLRRLLLLRLLLLLLLLRRRRLLRLLRLRRRRRLLRRLLRLRLLRLLLRLRLLLRRRLLRRLRRRRRRLLLRLLLLLLRLRLLLRRRRLRLRLLRRLRLRRRLRRRRLLLRRRLLLRLRLRLLLLRLLLLRLLRLRLRRRRRLLRRLRRLRLLLRRLLRLRRRRLRLRRRLRRRLRRRLRRRRLRRRRRLRRLLRLRRLLLRRLRRLLRRLLRRLLLRLLRRRRLLRRLRLLLRRRLLRLRRRLLRRLRLLLRRRRRLRRRRRLLLLRLLLLRRLLRLLRRRLLRRLLRRLRRRRRRRLLRRRLLLLRRLRLLRRRRLLLRLLRRRLRRLLRLLLLLRLRRRRRRLLRRLRLLLLRLLRLLRRLLRLRLRRRLLLLRRRLRRLRLLRLRLRRLRRRRLRLLRLLRRRRLRLRRLLLRLRRRLLLLRLLRRLRLLRLLLRLLLLLLLRLLLLRLLRRRRRRRLLLLRRRLRLRLLRLLRRLLRRRRLRLRRRLLRRLLLLLRLLRRRLLRLRLRRRLRRLRLLLLLRRLLLLRRRLLRLRRLRLRRRLRLLLLRRLRRLLLRRLLRRRLLLLLLLLRRLLLLLRLRLLRLRRLRRRRLRRLLLRLRLLRLLLRLRLRLRRRRRRRRRRLLRLRLLLLLLLRLRLRLRLLRRRLLLRLRLRRRRRRRLRLRLLRRLLRLLRLLRLLRLRRRLRRLLRLLRRLLLRRLLLRLRLRRRRLLRRLRLRLLRLRRRLRRRLRLRLLLRRRRRRLRLLLRLRRRLLRLRRLLLRRRRLLLLLRRRLLRLLRRLRRRRLLLRLRRLLLRLRRRRRRLRLLRLLLLRRLRRRRRRRLRLRLRRLLRLLLRRLLRLRLLLLLLRRLLRLLLRLLLRRLRRRRRRRLRLRRLLLRLRLRLRRRLLRLLRLRLLRRRLRRLRLRLRRLRRRRRRLLLRRLRRLRLRLRRRLRRRLRLRLLLLRRRLLLRRLLLRRRRLRLLLRLLRLLLLLRLLLRRLRRRLLLLLLLRLLRLRRRRLRLLRRLRLLRRLLRRLLLRLLLRRRLRRLRRLLRLRLLLRLRLLLRLLRRRLRRLLLRLRLLLRRLRLRRRRRRRLRLLRRRRRRLLRRRLRLRRRLLRLLRLLRRRLRLRRLRLRRLLLLLRRRLRRLRRLLLLRLLRLLRRLRRLLLRRLLRLLRRLLRRRRLRLRRLLLRLRRRRRRLRRLRRRRLLLRLRRRRRLLRRRRRRLRLLLRRRLRRLLLRRLLLLRRRRLLLLLRLRLLLRLLLLRRRLLRRLRRRLRRLRRLLLRRRRLLLRRLRLLLLLLRLLRRRRRRLRLRLRRRRLLLRLRLLRRLLLRRRRLLLLLRLLRRLRLRLRLRRLRLRLLLLLLRLRRRRLLRRLLLRRRRLRRRRRLLLLRRRLLRRRRLRRLRRLLRLLRRRRLRRLLLRRLRRLLLRLLLRRLLRLLRRLLRLRLRRLRLRLLRLLLRRLLLRRLLRLRLLLLLLRRRLRLLRRRRLRRLRLLRRLLRRLLLRLLLRLRLRLLRRLLRLRRRRLLLLLLLLLLLLLLLLRLRLLRLRLLRRRLRLLRLLRLLRLLLRRLLLLRLRRRRLLRRRLRRRLLRLLRRRRLRLLLLRRRRLRRLLLRRRLRRLLLLRLRLRRRLLLLLRRLRRLLLLLLLRRLLRLLLRRRRLRRLLLLLRLRRLRLRRRRLRLRLRRRRLRRLRLLLLRRLRRLLLRRLRLRRRRLRRRLRRRRLLLRRLLLRRRRRRLLLLRRLRLRLRLRRLLRLLRRLRRRRRLLRRRLRRLRLRRRLRRLRRLRRRRLRLRLRRLRRRRRRRLRRLLRRLRLRLRRLRRLLRLLRRLLRLLRRLLLLLRRRRLLRRLLLRLLLLLRRLRLLLLRRLLLLLRRRLRLRLLLLLLRLLLLRLRRLRRLLLLLRLRRLRLLRLRLLLLRLLRLRLLRRLLLRLRLRLRRLRRRLRRLRLRLLLRRRLRRLLLRRLLLLRRRRRLRLLRLRLRRRLLRLLLLLRRLRLLLRLLLLRRRLLLLLLLRLRRRLLRLRLLLLLLLRLLLLRLLRRLLRLRLRLRRLLLLRRRRRLRLLRLRRLLLRRRLRLLLLRLRLLRLRLLRLRLRRRRLRRRRLRLRLLRLLLRRLRLLLLRRRLRRLLRLRLRLRRLRRRLRRLLRLRLLLLLLRRLRRRLRLRRLLRRRLRRRLRRRLRLLRLRLLLLLLRLLLRLRRRRRRLLRLLRLLLLLLLRRRLLLRLLRRRLRLRRRRRLRRLRLRLLRLRLLRRLRLRRLLRLRRRRRRRRRRRLLRRRRRLRLLLRLLRLLLRLLLLLRLLLLRRRRRRRLLLLRLLRRRLRLRRLLLLRRLRLRLRRRLRRRRLRRLRLLRLLLRRLRRLLLRLRLLLRLLLLRLRLRRRRRRRLLRRLLLRRLRRRRRLRRRLLLLLRLRRRLLLRLLRLRLRRLRRLRLRLRRLRRLRLLLLLRLLLLLLRRRLRLLRRRLLLLRRLRLRLRLLLRLRLLRRRRRRRLLLRRRLRLLRLLLLRLLRLLRLRRLLLLRLRLRLLRRRLLLLRLRLLLRLRRRRRRLRRRRRRLLRRLRRLLLLRRLLRRLRRRLLRLRRRRRLRLLRRRLRRLRLRLLRLRRLLLLRRRRRLRRRRRRRLRLLLLRRLLLRLRLRRLLLRRRRRRRLRRLLLRRLRLLRLRRLLLLLRRRRRLLLLRRLLRRLRLLRLLLRRLLRRLRRLLRRRLLLRLLRRRLLLRRLLRLLLRRRRRLRLLRLRLRRLRLLLRRLLLRLLRRLRLRLLLLRLRRRLRLLRLLLRRLLLLRRLRRRLLLRLLRRRLRLLRLLLRRRRRRRLRRRLLRRRLLLLRRRRLRRLRRRLRRRRRRLLRRRRLLRLRLRRRRLLRRRRRRRRLLRRLLLRRRLLRLLRRRRRRLLRRRRRRRRRRLRRLLLRLRLLLRRRLRRRLLLRRLLLLLLRRLRLRLRRLRRRLRLRLLRLLRRLRLLRRLLLLRRRLRLRRRLRRRRRLRRLRLRRRRRRRRRLLLRLLRRRLLRLRLRRRRRRLRLLRLRLLLLLLRRRRRRRLRRRLLLLRLRRLLRRRLRLLLLLRLLRLRLRRLRRRLRLRLRRRRRRRRLRRRRLRLLRLRLRRRRLRRLLRLLLRLLRLLLLLRRLLRLRRLLLRRRLRRRRRRLLRRLRLLLLLRRLRLRRRRRLLRLLRLLRRRRLLRLRLRRLRLLLRLRLLLRLLRRRRLRLRRLRLRLLRRRLRLLRLRLRRRRRRRRRLLLRRRLRRRLRRLLLRRRRLRRLRLRRLLRRLRLRLRRLLRLLLRLRLLLLLLLRLRRLLRLRLRRLLLRLLLLRLRLRLLLRRRRRRLRLRLRRRRLLRRRLRLLRLLRRLRRRRRLRRLRLLRLLRLRLLLLRRLRRRRRLLRRLLLRRLRRRRRRRLLLRLRLRRRLRLLRLLRRRRRLRLRLRLLRLRRRRRLRRLRRRRRRRRLLLLRLLRRLRLRRRRRLLLRLRLLLLLLRLLLLRRLRRLLRLLRRLLRRRRLLRRRLRLRRRLRRLLLLLLLLLLLRRLLRLLRRRLLRLRLRLRLLRRLLRRLLRLLLLRLLRRRLRLLLRLLRRRLLLLLRRLLRLRLRLLLRLLRRRRLLLRRLLLRRLLLRRLLLRLRLRLRRRRRLLRRRRLRLRRRRRLLRRRRRLRRRRLRLLRLLLRLRLRRRRRRRRLLRRRLLRLLRRLLLLLLLLLLRRLLLLLLLRLLRLLLLLRRRLLLRLLRLLLLLRRLLRLLLLRRRLRLLRLRRLRLLLLLLLRLLRRLRRLRRLLRRLRRRRRLRRRRLLRLLLLLRRLRLLRLLLRRRRLLRLLLLLRRRRRRLLLRLLRLLLRLLLLLLRRRLRLLLLLRLRRRLLRRRLRLRLRRRLLLLLRRLLLRLRLLLRLRRRRRLRLLRLRRLLRRLRLLLLLRRLRLRLLLRRRLRLLLLRRRRLLLRRLLRLRLRRLRRLRLLRRLLLRRRLLLLLLRRLRLRRRRLLRLLRRLRRLRRRLRRLRLLRRLLLLRRLLLRLRRRLRLRRRLRRLRLLRRLRRRRLLRRLRLRLRLRLLLLRLLRRLRRRRLLLRLLRRRRRRLLLLRLRLRLRRRRLLRRLLLLRLRLRLRLLLRLLRLRRLLLRRRRLLRRRRRRRLRLLLRRLLLLLRRRRLRRLRLLRRRLLLRLLRLRRRLRRLLRLRRLLLLRLRRLLRRRLLRRRLRLRRRRRRLRLRLLLRLRRRRLLRLLRRLLLLRLLLRLLRLLRRRLRLLRLLRRRLLLLRLLRRLRLRLRRLLRRLLLLLLRLRRRRLRRLRRLLRLLLRLLRRRRLLRLRRLLRLRLRRLLRLLLRRLLRLRLRRLLRLLLLRLRLRLRLRLRRLLLLRLRRRLRRLRLRRRLRLLLLRLRLRRLLLRRLLLRLRLRRLLLLRLLLRLRRRLLRLLRRLRLRRLRRLRRLLLRLLLRRRRRRRRLLLRLRLRRRRLRRLRLLRLRLRRRRLRRLRRLLLLRRRLLRRLLLRRLLRLLRLLRRRLLRLLLRRRRRLLLLLRRLLLLLRLRRRRRRLRRRRRLRRLLRRRLLRRRLLLLLRRRRLLRRRRRLLRLRLRLLLLLLLRRRRLLLRRLRRRRLLLRRRLLLRRLLRLLLRLLRLLLLLRLRLLRLRLRRRLLLLLRLLRRLRLRLLLLLRLLLLRRLLLLLRLRLRRRRRRLLRRLRRLLRLLRRLRLRLRLLRLLLLLRRRRRLRRRRRLRRRRRLLLLRRRRRRLRLRRLLLLLLRRRLLLRRRLLRLRLLRLLLLLLRLRLRLLLRLLLLRRLLRLRLRLRRRRLLRLLLLRRLLRLRLRRLRRRLRRLRRRRRLRRRLLRRRLRRRLRLLLRRLLRRRRLLRLLLLLRLRRLLLLRLRLLRRRLRRRLRRRLLLRLLLRRRRLLLLRLRRRLRRRLLRRRRRLLRLLLLLLLLRRRLRRLLRLLLLLRRLLLLRLLRRLRRLRLRRLRLRRLLRRLRRRLRLRRLRRLRLRRRLRLLRLRLLLLRLLLLRRLLRLRLLLLLRLRLLRLRLRLRRLLLRLRRLLLLLRRRRLLLLRLRLRLRRLLLRLLLLLLLLLLLLRLRLRLRRLLLRRRLLLRRLLLRRLRRLRLRRRLLLRRLLRRRRLLRRRLLRLLRLLLLRLRRLLRRRRLLRLRLLRRLRRRRRLRRRRLLRLRLLRRLRRRRRRRRRLLRRRLLLLRLLLLRLLRRRRRRRLLLLRLLRRLLLRRRLLRLLRLRRLLLRRLLLRLRRLLLLLLRRLLLLRRRRLRRLLLLLRLRLLLLRRLLRRRLRRRLLRRRRLRLLRRLRLLLRRLLLLRLRLRLRRRLLRRRRLLLLRRLRLLLLLLLLRRLLLLRRRRLLRRLLLRLRRRLLRLRLRRRLLLRLRLLRLRRLRRRLLRLLRLRRLRLRLLLRRRRRRLRLRRRLLLLRRLLLLRLRLLRRRRLRLLRLRRLRLLLRRLRLLLLLRLRLRLLRRLLLLRLLLRRLRLRRRRRLRLLLRRLLLLRLRLLRRLLRLLLRRLRRLLLRLRLLRRLRRRLLRLRLLRRLRRRRLRLLLLRLLRRRLLLLLLRRRLRRLLLRLRRRRRLLRRRRLLRLLRRLLRRLLLLLRLLLLLLRRLLRLLLLLRLRLRLRLRLLRRRRRRRLRLRRLRRRLLLLLRRLRLLLRLRRLRRLLLRLRLLLLRRRRRLLRLRLRLLRRLRLRRLLRRRRRRRRLLLLLRLRLLLRLRLLLLLRRLLRRLLRLRRLRLRRRLLRRLRLRLLRLRLLRLLLLRLLLRRRRLRLLRLLLRLLLLRLLRRLRRRLRLRLLRLRLLLRRRLLLRRRRLLRRRLLRLRRRRLLLRLRLLLRLLLLLLLRLLRRRRLLLLRRLRRRLLRRLLLLRRRRLRRRRLLLLRLLLRRRLLLRRRRRRLRRRLRRLRLLLRLRRRLRLRRLRRRRLLRLLLRLLRRLRLLLLRLLRRLLRRLLLLLRRRLRRRLLRLLRLLRRRRLRLRRRRLRRLRRRLLLLLLRLLRLRRLRLLLLLRLRLLLRRRLRRLRLRLRRRRLRLLRRLLLRRLLRRRRRRLRRRLLRRRLLLRLLRLRLRRRLLRRRLRLLLLLRRLLRRLLLLRRRLLLLRRRRLLLRRLLRRRLRLLRLRLRLRLLRRLRLRRRLRRLRRLRLLRRLLLRLRRLRLLRRRLRLLRLLLLRRLLRLRLLLRLRLLRLRLRLLRRLLLRRLRLLRLRRRRRLLLLLRRRRRRRRRLLLLRRLLLRRLLRLRLRRRLRLRLLRRRRLRLRLLLRRLRRLLRLLRRLRRRRRRRLRRRLRRRLRLRRRRLRLLRRRLRRLLLLLLRRLLRLRRRLRRLLLLRLLRLRLLLRRRRRLLRLLRRLLRRLLRRLRRRLRRRLLLLLRRLRRRRRRLRLLLLLRLLLRLLLRLRLRLLLLLRLRRRLLRRLLLLLRRRRLLRLLLLLRLLRRLLLRRLRRRRLRLRRLRRRLLLLLLLLRRRLRLRLLLRLLRLLRRLLRLRLLLRRLRLRRLLLLRRRLLLRRRLLRRLRLRRLLLLLRRRLLRLRLRLRLLRRLRLRLLRLRLRLLRRRRRRLRLLLRLLLLLRRRLRRLRLLRRLRLLLLRLLLLRRLLRLRLLRRRRRLRLRLRLRLLRLRRLRRRLLRLLRRRLRRRLLRRRLLRRLRLLRLRRRLRRRRLRRLLLRLRRLRRLLLRLRLRLLRLLLRRRLLLLRRLLLLRRLLLRLRLLRLRRRRRRRLLLLRLRLLLRRLLRRRLLRLRRLRRLLLRLLLRLRRRLLRRRLRLLRRLLLRLRRLLLRLLRRLRLLLRLRRLRRRLRRLLRLLRRRLLRLLLLRLRRLRRLRRRRRLRRLLLLLLRLLRRRRRRRRLRRRRRLRRRRRRRRLRLLLLRLLRLRRRLRR
