3
200000 1000000000
229414169 335409049 830270013 654908933 693558895 524385637 972572467 316508657 595247119 898528355 176629405 975467835 706076945 157553279 341226815 286765585 518577185 424437353 58024931 978654181 422093417 617334933 346049627 5842551 796234403 115178055 265630847 261997255 753666057 216480389 814075701 52378659 415335781 230232865 109863271 364571937 359241219 650742195 622103813 722722459 785942203 998471835 349960201 410291381 567149289 754549759 98761591 47761887 524339061 104306899 73902169 95727047 113524685 831915981 131916481 455665263 825045223 165978223 961377993 424214297 812939841 263067647 208660883 878614351 57904867 689287823 968199241 543163369 387423319 178019831 308164383 481384961 356344761 602467541 953120845 353568765 673692833 339015061 360001815 216558215 960217659 722405219 982085319 659940247 547514417 742524219 471435183 295077731 432490941 909877469 9829929 548611445 735042203 809469903 691723159 299355031 55821327 497221729 281533795 786750175 834099693 186863277 681742337 712201893 198662533 250790293 489545195 193361297 538937019 338039229 245013665 287180431 665260273 481394327 468944815 591724497 108239895 189940061 9739687 372299733 511008163 475053069 297928483 348784735 696361363 52909169 898609605 425868157 779485037 182617879 279479095 11521663 924613441 606876763 478032941 312772869 805328035 908545369 149666657 754129393 691992499 446909691 655389331 204792433 655329815 213661937 375897999 52992761 570811389 969069747 208295719 816044611 924309785 564323971 603019315 848573527 463025069 370612329 374006427 234354045 610016125 852087091 783993411 699796301 634651863 773891451 266483233 906685345 558106515 56317089 875310895 858660767 566617613 352557005 252847469 426628785 564215341 920446191 297869031 380104077 307734627 554650559 789165743 569028909 758835361 775376575 466831327 327208921 882271079 80027189 965123737 452415515 526827707 442575667 388118791 624496583 448098605 80974481 603102301 808796921 519772881 159869421 658184661 391329559 254417479 480214195 851798959 258312653 725004213 816541969 848773175 849008653 525850057 158693631 878549695 43224341 128984759 664918845 585850017 376279401 377717569 492499541 494165567 634785237 299845547 387638679 187264005 619700333 308930755 598073881 675951971 335192975 845849313 108482495 71573459 401757405 493913827 789165101 829988315 575251013 853439277 496749527 69831681 476544249 244724399 477277427 955393497 904651897 407480287 347304065 458113277 542380421 590476733 165782347 223817231 37744939 65030347 627501279 885639609 822747585 589066267 679613081 709628847 636801505 650710081 407142549 470301611 215386991 622926941 815877309 900111469 806126745 766540053 311080385 364556481 567435475 891202967 146005531 98596473 647293401 308998297 372790537 33019761 704654509 545700183 218035093 969906823 16314527 186985115 466364301 589918375 423703617 28210611 774280843 151600581 30439023 72518515 394958063 952696283 397325135 128341305 163351777 670200297 726596427 967431151 732163409 338218747 416174105 151271679 489812727 316446501 58198453 524571489 604563285 706699901 806931811 862538899 540281779 186065959 969199279 864603549 152199199 494441807 919516269 635426827 865694323 236356133 631467963 980550899 665420621 447843043 215742203 98931191 123027225 27150543 933300953 224145463 980847877 242315055 132416331 151531367 754251785 149665879 522035855 42329275 103906279 973949601 196993573 470572017 279116325 576834927 116805595 32841295 934123797 652905005 243418309 36922275 518410445 970784587 304903233 857251653 605395505 602234693 303216369 923094803 203293671 794747803 514933699 422925425 31745885 972816857 912596715 631634257 609152975 875204241 54159587 991008037 341087037 932195423 327699315 141228525 839165293 451683553 802913955 920162609 132715759 496631749 427024843 185699069 31153183 488330171 618644101 936710887 237498393 632930687 560324535 823907601 62046151 498022097 247853195 218441501 840820443 696631165 457385335 607238969 479326921 337355349 797967157 263190303 719552471 324180021 25722317 3258635 18992647 487859451 804502409 168457411 536925743 645423253 91599357 762680471 393333987 235328499 294137093 817359451 166138757 655284753 847112647 305571949 304558397 161979119 407856557 798489783 99643387 548238489 231251311 471031715 865342329 480274977 907335173 38240555 926631477 720465571 802812341 933450185 369400951 96459325 484563723 412463495 503629651 505399069 600669659 96356593 375014301 945222259 180696131 639610397 371694837 308033403 437457317 409185197 566666951 285062773 235152301 770431939 663053633 147699631 961260371 156124941 497372253 182110327 921348047 513998277 206446295 624496681 135694247 673197735 630947645 283805993 440578985 626867195 725443291 829448669 198468069 229160587 26046153 43043261 164432571 949838513 375590123 667945533 150727631 599380811 733873383 428778469 485811467 227504319 623989549 985756987 285615523 786961913 524304373 835719635 369222935 330297713 151693887 704192841 886671911 148690983 534212309 236552763 907731939 7337119 1549639 455777623 115232925 93536743 426497261 512061517 684308209 976550549 465621989 57792729 84544709 8933323 192347161 289684413 285717571 587943467 70759483 382920129 803225313 813476581 979123905 512413881 445762651 542907567 558692075 714129537 262065077 368450759 583226307 894737399 977116219 270310387 703014681 128681481 255532161 884715395 602769539 977692839 338566499 713397835 540463715 409340877 826896647 695413675 378527457 660803709 53806553 146675847 882588911 903805887 752370571 470078545 435328833 682494375 444211227 934346235 594849629 582525521 305115853 422055687 508939397 115657947 489468205 789210743 513488591 685433971 941701137 915319263 751354383 972162889 763536531 198359119 23456487 60157337 31004439 497704299 339888063 242406053 547049035 548679765 655596999 636798389 919567393 802246333 885390839 511549215 451907801 717574105 946286097 648860473 833337331 67916135 202392477 549425513 62341951 605911725 897534185 608588055 623254477 282486651 73610765 680651957 850199805 155674405 889993197 529680575 854620531 100734859 57355567 813415095 780677657 567858707 569759043 458646053 168490789 874227881 546026337 508688285 513782033 960400583 305876363 702660539 191742373 572332647 727105415 918557213 474360555 757987091 590043623 173700209 470580791 719465177 98049283 774805353 108374821 503985995 970287609 764369341 315861659 493095053 542669237 173857583 43930563 141099073 832515043 822715789 848394005 345517207 264214527 981620645 288844103 424743749 449455177 112662101 699673699 318358153 532422343 427111291 54254771 680925739 1302091 638880517 874359245 623711349 638627179 820228069 628986761 437576515 855015817 663375123 694230799 601503983 840224719 432875153 711824843 697914207 959697449 104930413 165138545 838223109 317330515 329051061 22647803 463480277 43548875 1164679 604102831 154337867 15782875 79443969 722213657 53014129 461145233 294875473 249249551 856919253 882936265 508010153 136715435 347587977 498809631 924789057 413119825 736372529 809884669 14438237 120194735 753423343 505688211 602018117 706217913 244185715 635394267 72754255 464102825 649709811 503434131 887814097 966651655 579768367 337165123 478321713 149964955 858013801 552607549 503100375 752341629 875899507 643958937 553627189 709131015 430816929 258452791 268815559 333264863 680639955 92671167 34848783 776367343 619709551 554341793 786184343 164613485 804022115 41395223 258425327 226027733 132759331 70229791 912157109 117335019 208316593 90698113 404000393 371859387 141440145 924038863 726408469 866925209 110492113 856196193 607891211 13111073 921582857 203800661 518115367 416215865 971417431 675430551 296403755 646391565 866243935 212920789 685075169 612533775 421155409 785077895 412438809 785077245 988162277 366456815 686532529 41138651 411946069 258922771 163108231 126945525 102478697 404606915 348090251 313746401 84169585 496924059 656294825 652187511 200966979 175290103 518480351 793620961 231071291 269603843 327135023 602822533 213238081 988539821 345557155 605209629 171126721 693775531 769742411 501870497 553461941 57039491 940741701 981504857 172025753 863316089 958617009 637872845 240128371 26409117 450470841 931250901 134850513 25969355 659714703 952846987 307078603 458497439 778097775 14605395 837843711 411599235 813777051 894832347 41157265 953376169 242919517 605263895 748178995 754397445 969406471 328344643 927046423 752553307 501469169 557550305 26842365 461172275 235712385 822186433 124543277 989344731 946333215 366920181 822938483 612477549 933554751 823133913 586026789 317103817 470452825 324163859 946286627 623416729 570091505 163953551 834843603 773425737 656050321 286576767 483163171 583062547 695595721 249998945 786320009 211071737 391320375 226846457 500593411 474665155 123180411 405092947 844787479 22764031 745605439 201535939 640972499 406869767 48771895 797498597 292564943 319765241 282700827 489310879 399241769 823669953 862268335 474885661 722268037 631467021 216456635 278342609 589164565 251107925 730731797 852543099 934739851 589989339 215295125 133277211 199755303 446369957 680749085 676388095 299583409 463044997 746965911 936102589 304174197 617867539 940771829 497385261 219086923 595567279 558387765 848514937 608456591 878075263 885844565 762392329 59358761 585429367 262352479 937127569 201384583 332606541 588665193 965098769 209478301 129349249 649689739 249244873 245976301 311086173 499255783 786104393 553801085 621267697 205488039 907003747 481186519 3482901 260551423 162348083 626771221 235322983 775808295 468348445 95662805 528992849 121231459 199870673 427907645 433230085 128243965 554331455 130473977 528531065 335516229 85255331 450575425 184633197 421517721 134036869 189562837 800215147 857610585 719584431 869771511 652570305 34007535 506133557 560963707 558178697 743916751 94688885 696833201 181264037 61627761 471319823 871861371 665743289 250824793 257271285 770282047 710166327 809666577 406643287 104259307 128236889 12851755 103611827 157316853 746170141 323194433 35980493 890714459 242027339 183145717 134861489 614546595 206472055 390687473 41826229 335308253 545591541 62181865 289101937 588198813 207110119 878348181 32855247 162170115 318300723 193957561 210372853 399381685 652280975 222644255 883050077 370445791 580286317 42435481 348893375 897577785 875966481 195857665 239506211 497162243 488809857 998583609 617018065 951675137 431796623 369362731 100579937 385821569 662922195 460746955 686279341 71638619 776746669 867542545 321040857 661591787 771841091 874267137 818762835 80010777 426963337 96497573 565418447 88086867 434524983 963953935 350769735 763243407 616091849 641553497 280006915 764707915 73859467 863867045 194104717 337159309 998783885 658520349 299532473 26763237 725083303 571520501 114092451 726372199 217101175 618661223 301684913 631650483 374540905 856633011 532613261 272043759 554582185 705745701 905386797 200534471 995133747 893106445 265798349 971472501 113972679 737196745 209560817 160504499 961773547 850684345 903922533 351048651 875055087 322022217 594845501 892071817 790813165 739960809 349277655 292440901 743752391 661122067 288195541 75706589 930523425 231148363 744645667 900260789 827549807 742713627 566156537 137557949 729122789 469326357 891527375 709095019 902566791 417144531 109151595 298074557 35055389 676219127 638666969 794494265 396813621 95334443 718743663 936350959 742269483 908913443 352078789 140922995 824838939 33046681 417917893 34776037 837269743 981584973 782661015 636677355 744005463 207327755 608865711 616879025 332461517 71624357 172891853 482591217 534251149 866582261 988627697 60791783 730813349 215952093 82611819 980497241 784487905 939066439 974166733 134594709 685641179 694368295 683771379 323807603 597420275 994952567 660279041 964689999 20297809 870602807 334461285 83457809 37902309 2212467 33563091 546360871 947540327 709070141 282594119 974539655 61953881 755241391 817441797 222793649 382760961 179143659 384683673 91285159 464329329 604560413 761299671 171636987 408999809 8974709 933224667 264130241 661651663 346317613 13839883 429929113 468588487 925706633 760953873 360756393 289547415 680893139 484988389 8424863 369118519 454781533 609867967 944367023 402794599 719389057 283017509 336241563 934118577 71752355 147710947 660092839 674433381 866855977 536143629 370835105 402084761 688569225 276018433 157785313 724328753 870799421 946480993 261750085 250605009 447972549 757294619 112774193 517178861 73018797 676054625 818451605 241585083 16718983 441956785 731082983 158753851 105914605 603343057 630631461 359179319 329297281 971105481 857123543 406398269 120405743 634406897 426933769 736270505 127741159 708198115 251470929 226131095 562421539 718096771 333360335 788509425 383525481 70032383 116688425 759154279 113905535 662474699 400743821 54911347 192762937 992041633 286584751 102055763 995164785 204884873 510189521 729923857 932088585 409985485 420559031 409361019 61269229 139697663 580895153 201843499 322450957 216414465 854636947 185236865 220535907 223934193 55807419 486092197 745343733 925930561 594220817 192197767 447783625 134576289 778081029 722738401 180298739 829434895 869424265 582759471 283680397 264933837 534523165 985274303 988206521 7488363 4898249 194033565 115009699 728503229 364813337 489580963 997001595 682953691 629480227 1422959 765500029 638748717 662635143 391078509 604797161 468939103 283971947 355975371 528475659 174296419 914987389 256867969 360906293 278409847 964520947 146696529 138185153 899000351 964218505 916368577 788036115 644645415 741065867 606472483 507865233 748378021 147645889 187322509 648782257 614798323 411860357 482561507 684783597 984757685 589168565 443118539 91335877 381822937 553806773 321318323 403750855 166169745 9785205 427577559 571668353 348837981 851286637 492945719 698382991 74949373 581823127 77406873 725896339 200905857 632952701 160840077 922716473 912292411 646919467 743403119 552610097 336980423 60216119 857827931 129612599 930677257 514036161 618461755 266536715 439738415 690447471 643663809 693373561 63804589 867988847 826201187 858846805 104892479 639942775 909775969 339027317 487971561 337746885 832416195 537456573 155295989 401060127 873496413 812504345 57133563 588053205 640081347 76608633 664402903 307494587 124771927 126979801 288260523 49991471 875448385 762815545 92697827 92312091 792487793 814536359 561193525 480906729 555570593 549120817 685176477 210546833 884433231 845161203 187282527 70941331 203719363 199390223 148414471 5570035 36839185 427099313 868180329 34069823 68649229 756190217 184683683 869502605 221306455 860057939 371142935 4468349 858992219 405301969 261392499 591008053 493722951 141903051 448680361 863327587 143740181 812230805 402066425 980836669 57602691 783527817 928324067 936654721 258236953 267094539 580578869 860890741 312830761 133631619 128122629 124484841 73621705 290247267 149010093 558045489 513483997 729579815 940609745 671500333 88318731 724022095 156766047 843353665 488803779 50159975 626377099 570632287 502901053 844921091 750677199 3150585 853396601 697124281 391523315 714920721 8408641 434806829 655301633 832057129 956067365 864589067 498775883 956675669 96179069 245120517 605239923 487807269 227807847 143732945 705146711 592719547 170929357 325376055 797439529 50886591 188621153 155399421 908472921 103551833 744577177 242551545 49051043 863939141 224708533 115635713 324498703 317879231 666827711 682291961 718001639 413125263 758450311 450197709 404336831 363934719 410930083 651000687 959143541 911091435 208368501 549413589 107426603 95422635 627588645 119897607 559037261 304570923 221684901 207927819 614535315 420141269 58086315 290606839 348593909 778559907 612813495 862693601 689403833 640885263 107858193 146495215 209101931 998957859 301493965 483497543 750720479 296394859 455108543 933967649 446155059 892006143 559150217 611098547 230912713 608590973 178591123 609378623 791028047 463086601 658699277 722626323 607915193 508356435 324778735 938293117 311373121 842727825 952157179 875277529 997053039 707078785 621825721 937730187 211849227 521886057 341188471 244783099 787727661 509591577 779068493 395787675 344926511 544357861 772068895 674140135 880306357 618821805 930612115 332774497 986111661 577989591 889450521 482781841 455894347 175538511 128165609 461836045 611072267 38706319 268979717 550137451 750738865 9899409 756574003 539776081 786238279 720482271 30181637 315394663 651525413 444944773 175410643 723836767 898308327 704598555 117994171 203073013 195576687 84877247 618672809 211455467 108737001 921744405 38414665 789621001 685349067 855974221 116873241 475466787 342983889 732016925 448996179 592434197 575500287 379258307 222286083 397994687 367088289 333017861 383982073 822733323 344306251 290109747 216399563 560388843 575105243 497557027 906454747 565483611 33132403 857020463 786078547 296723549 402624897 452048195 351126559 936902393 666274231 336228299 984645371 934257477 353549075 850587067 455193701 323885143 37628891 150208917 112092839 229049429 607448727 929057117 29810895 544570727 946268957 197221793 95654329 384327871 823238027 234444409 565123841 827042713 790734149 628159619 954968593 905068599 818702325 381596131 579661593 191090401 836433551 635006281 324703251 738054381 946823763 343183083 922555325 713399217 836314561 41169287 358552223 298373011 676372393 866693477 256714253 193228027 137898013 672859473 725374233 528778077 900345721 353386913 229136809 238901297 67064163 654795573 777015651 876054009 516226501 220289651 141821111 543458115 752702421 836940871 118342111 901244829 429151503 765610795 29056473 239893157 131745845 94521883 61824365 220404987 22755415 315175837 153392173 20329289 160659911 449488575 368034161 623511873 407914275 968856089 62823255 122214047 198315597 687964873 163924427 505728037 545903473 877696883 51359611 712236701 789048325 863113543 20444895 938544599 325111239 699984635 759889209 386331569 297451447 741617615 138070415 745540875 44011811 347712133 604971441 720153807 78072991 161973871 551615803 513164015 760015113 295456865 187674761 924381543 266337411 784565693 837033415 406494521 584221051 523266403 720444387 923957103 277364643 977003207 486215061 414704153 278028539 791044829 227688029 832155477 678666947 173642019 437632389 161467459 718246027 298845855 4818715 875608589 458893091 111456479 763680507 448355047 789736363 143130875 512671169 304531209 295686279 778259089 990508503 180201911 475862113 8474821 390326383 526622265 91859247 620397895 768367229 668946149 559384363 56085327 566739909 507130897 153643997 939314327 321129423 898117411 713118991 84443239 641177833 311697283 805114837 640254095 936334125 24993701 316450187 352107621 845130109 997839873 933046487 439370181 777679997 146346523 767967395 808380951 682515359 810212733 894442277 972683081 604555803 556591287 68742361 29724881 623224307 685248615 134263683 484459691 731210479 231503405 200015151 479503971 646091677 450227123 477403953 436583937 818838103 575470509 763407143 370335519 879814203 853700307 42296819 787895771 475567157 566819561 332114627 353395161 100866035 709349817 827568649 766552393 562253551 971651091 803106435 146137571 990128485 984345813 313240117 317667297 575843681 447593951 431100781 909703949 83791283 352628507 744046523 939589043 483662579 926852989 312812799 145812905 707795585 79095805 174822491 982270801 161360259 555217567 998884669 881342605 229040109 525272429 627071065 646338507 497222005 799336311 76768425 811521285 848117917 564559835 769287797 322678967 411091883 544022201 232029253 307977447 580817839 78561851 992929777 402701861 849727877 553195925 765668755 724220037 748323529 436434943 484269201 202109607 607584997 128632765 661321365 296789679 57510411 196459289 788332693 13849935 929403441 109037413 669203917 807416505 817569815 186076665 522405569 612510637 794275911 687422779 403030077 774392435 111912975 723949973 792541781 60674519 456930443 42050165 76788581 232515633 237488023 346220891 98326291 87743069 67925725 437537989 905597769 776073411 328991437 753020223 418797887 577734225 180816801 845623385 928315501 623497085 741316695 537477553 337432473 342284613 356614583 534313959 609629135 605689391 701556053 502074277 825554275 822040907 379248773 608636575 451747571 787218221 28419945 386497679 680654945 371675381 601768937 640720437 358497243 35455303 273383605 965483099 443308755 787124053 448950853 334846167 515175689 789473745 508328411 743604097 341709181 173486589 937354877 266318651 361621885 354058909 179728381 273012975 955847583 715432191 711833587 403573905 746331325 705186297 150482623 863711771 735506685 30685421 821749895 21574797 176487113 785520317 606403135 420133105 24574933 553957081 417990303 380804957 987863585 500458551 473704739 263638505 397480175 526989397 815192855 872769975 325909449 885919289 614090379 980575731 515806599 712819059 231941975 33077963 869884227 493240087 110802969 254031487 868927331 194794181 395152701 413807693 72625299 250615203 532999151 796898177 772410053 965019997 642858283 604419181 507931191 895528747 3072177 109758315 621026411 925567693 222343175 446254557 667335473 291838343 473685885 825016109 821687709 676270887 335256879 228553167 76304135 951375109 851478009 53493819 900568599 699155709 24665733 158949877 237674937 782915703 545913413 245412487 382347295 822273889 996523629 100701315 592058823 926225201 283328257 904884867 802381941 829056487 896534473 793943081 778500151 744353541 413945171 909961505 500078685 570175133 128862203 278188059 627713159 227774019 62269149 87656401 879632791 96691223 569842403 501934599 944007867 949823935 979868093 523971207 183525991 928882535 356542181 285824035 249675093 142823113 647117975 251081141 886189965 367617567 155774689 864801055 120153431 419056947 127965327 523579469 75568203 327543379 567632443 724898351 484354627 514967377 997990725 645280191 433793125 54211729 844974805 237960449 658638875 510786549 259354843 252077055 429619227 567160301 482630415 575481291 515579233 653208687 722228211 466725759 421545519 643315705 359080909 718532413 663573269 710028435 591554991 96156977 805799909 834159817 765353585 529449611 698016445 176260785 461591985 974763141 344059645 650362603 462156507 736280933 677255255 585145245 722182685 573052273 346276795 105174899 221726063 570605565 525183591 981452455 17273745 197157475 113379551 935827957 71622925 364980997 479674351 794194851 18181427 681336909 828950445 894303359 931042587 355322287 533969009 338228961 310008995 18920613 607151075 339705253 359796085 991107503 36293615 294204725 358672899 326132057 830880201 384317051 406649987 567910197 298420459 663934959 690265077 859275485 100232219 813874831 505252131 642695923 791521895 4656867 699087771 663300131 918330399 13938679 203725497 485687837 713758179 199137377 476410521 581806749 758188949 128919361 915040037 112704099 347926885 254795581 765987085 65802299 219813057 715767683 201872075 493434871 665241451 539073735 205709725 562833265 935903331 300878411 814425229 526525323 953304825 315482323 929888617 429034289 401791423 976573869 304333771 755447891 774251921 240609713 229903379 342780141 271719573 883785277 622029417 228547071 92080437 868516405 184682941 328521877 360004903 869165321 519805129 504353473 728949863 732426161 502082313 216388765 451135033 306967975 857307595 68559181 293741609 965430261 733195547 815193591 374594315 906624039 451822803 129560273 603894269 677642067 76035985 684675093 58252129 563513113 225411009 355246339 319751651 494722207 644074641 548393703 945935225 117275027 79134969 813178387 232778849 387495209 388603579 497687267 819615259 372522275 848422749 855466165 422891125 341646533 602330929 349213943 999642755 735927775 487511119 545587225 241056163 349695941 534135701 806396053 802015865 189075031 907188143 277729777 256562669 751816953 960512009 985236915 209463353 467789723 159764447 877377647 411313621 311294899 852528433 997888191 822813321 411711809 702777797 416741447 977917021 863710151 544527915 657008813 270234793 596723031 387158719 189522599 459378439 568727431 569620125 410383599 77558877 816324723 220161711 723663175 727682005 678191555 340120743 941869431 997397477 463977893 939541499 774349907 659568455 454758863 708096747 125670581 536931331 6811775 548694911 375644801 798231139 49323387 444704907 384397213 709198843 678028049 978253475 751418111 295875239 22330649 633431337 698604449 211162509 14698481 456775493 992237445 6636569 395380093 808235239 349279411 823188221 88647215 414009289 752905279 391321399 527292409 952023145 299661635 875250443 610011485 760400145 984865251 92486405 336867933 299697871 983851589 434143993 929266571 131515005 578580897 418131205 472023805 851213243 536360235 301923979 219386703 990497263 627257643 344787255 806480041 73348429 114687975 591671809 226142137 848851405 246376627 180634145 157493941 971369005 799202539 955395101 319208027 311186677 338949357 883967683 958288113 31264119 427705127 194358819 734654279 868045515 763381001 810298525 114659761 32619727 690524175 897276373 683365135 725117231 205598393 39174069 353050053 704372825 248453525 123206513 152342211 808983173 513591345 470443657 708664449 142166195 572937769 533225407 607372793 675223469 649643553 584637469 447097781 709151491 443241665 56122363 798818497 639437325 685426107 351176691 112893365 743887593 612523211 454262763 66675117 208058243 72670385 789035021 609863505 785482375 380840507 447262159 991521743 175943281 424799031 470948077 938197981 743828095 206185345 759965803 502385337 474179515 226000893 144053141 168362793 357189621 195776915 990373631 621114493 927216835 549485621 331503493 944541577 253879943 255346143 90371405 656927661 565942121 289656721 566944451 533212111 514602075 28741721 15907225 972251995 473458707 509696069 702154189 955571019 150720529 837980017 484429987 253135129 795123101 655445249 192258985 325376975 472832715 84444189 169045423 60670713 741097839 896652023 439087573 732980655 577420331 560052171 960456829 662997389 550735207 177059803 135887445 407598011 796759635 782834799 888944463 136432615 343103463 893096411 579839403 218608455 365746149 361652347 251508969 70051225 147795413 987848109 388773593 151881765 615105029 966121183 121580171 789616823 459784847 334184579 948261727 8696997 82686033 149262095 824693241 312896975 565692919 915137035 156619587 170239897 281879279 93711101 696113523 795263989 983455345 336043643 38552325 982878805 619855487 841428251 824316347 392301755 145260767 468250755 324122533 778036907 714148387 119921755 548895765 160627763 379202723 265703765 244973735 438586603 223005565 784428077 925939265 227036911 128483229 716546213 296801293 129694185 909931697 700391557 133763203 866489859 716132913 50626723 387822171 379300597 857429597 540051413 220952985 325824765 117392191 13514753 649792655 203607009 49032103 790809871 824576715 408867313 531324459 709638641 765842475 446800641 174378029 130740131 177752021 726982513 940545751 464170535 590529333 661262631 338592277 925049733 854751487 2531985 10986915 958350547 905033261 509824419 107720191 158526247 120047877 854175455 144347507 522928295 631189523 571872329 757370637 875693435 36023597 507481711 824460713 342732501 672991853 503853417 707975907 663625201 660925239 759484371 48603685 717719825 603823417 135608791 586919839 432027263 456523623 606271007 884318539 576366987 661508347 219527907 806313447 953231251 475406973 273544417 469097467 334655733 465260725 642371681 321727707 695109151 396153275 413845037 431821211 466458755 762980841 460032161 378435099 832555929 123039973 243511959 482869255 99383781 576011929 371918967 774551501 893458415 392100411 920017197 6298535 67624781 85257031 249537331 7789203 314312085 139699841 885085573 40383321 786741101 15447797 579432617 211788683 570862461 553908471 821386157 150837377 688662905 632155939 710988073 863662681 609936665 214680415 605306937 721054463 809027361 385148375 47999367 154358561 966431321 705984509 90380349 924454199 446787735 338717071 679510291 949431427 613434801 832821649 939415879 176529419 423160461 47081807 560481697 829031839 508221459 317494623 228090221 443148507 603429943 265894041 622411649 805439003 652786929 788027175 35925821 425105291 423809349 478514543 893114759 111963673 279187003 985199915 798086093 924941949 276671465 338882643 101645573 482033207 862632037 163594799 127985835 456088721 736819925 233470023 55093193 818401177 351440993 473483635 96265709 492312875 971395389 833053389 868580395 949155299 411435937 813385913 834373665 465020971 940047569 209825765 349370105 169157941 240461845 138612805 523803229 195431413 108257731 275750933 350601605 153013807 472565299 389022937 950582321 434995051 893240007 43603547 94649251 85280247 25765097 889990067 692975021 564368367 149215499 875426877 272237477 502047791 303256491 278878361 796814183 745966433 533673541 168636345 753386075 791498485 143178345 133725133 174947439 414356003 335912103 884622163 270453527 937947885 728489367 244072975 843060821 414578971 513604831 403568653 181374381 395488059 986412071 7937185 579413807 367155111 350331427 612561767 465488495 616723325 210336651 864724293 179764109 542740905 682550819 965886823 736471085 684299225 233222581 556962367 833876607 345837959 256571667 421926029 473850427 994957551 602741525 412606033 87468443 249098269 511151009 168163801 106991721 951174113 158078111 571557051 269347057 357536467 583033603 751273681 30404361 406492755 272387013 735365951 59177233 126820231 437298409 566322035 648543471 897589347 56268921 523423775 114447121 657897117 587199879 377713219 388257645 103667895 167441195 867528223 338678401 355113207 940494219 240578115 551995475 703378541 72385745 611062401 291585395 103734261 863911467 510293749 378951157 89359147 945995481 832923397 862485113 618457465 102530329 703136859 178223907 83827473 164693813 673111021 899046051 937717225 999429763 404167413 284474161 241855169 137619035 550829563 323630471 47461411 546582303 723433929 975722479 626315613 41483577 91806323 847183157 451844491 374063645 129058391 753775025 24439433 535437635 957642005 458320959 566410753 536917807 428540063 44343111 552883811 972107371 593523237 117263287 530942953 922329225 75411237 103841797 473631633 356219169 393160291 790968623 508581923 763764953 870646507 562425275 750648627 52360795 679695635 790574265 626962965 292608341 83388787 836997309 554341099 443851143 54435317 248368871 820244893 377936303 370506431 587682779 49160923 634998425 394657099 580565195 264372509 124358677 675312977 978168425 864743845 923262977 434061273 736951287 25961337 723013949 116724267 944412215 177451115 740376757 437664991 417550461 131228179 503664215 84799183 653357977 683970769 453648931 931468831 208885999 107046603 158158615 833223997 943964001 16571125 125411903 282232285 202932831 416922119 15692717 900940283 984634591 853125501 923985273 955132121 556046431 102163107 603818697 749343239 578386917 920449417 935887559 431422039 418045697 643989511 298193315 593537253 457408711 580010171 997007255 885352983 800557271 497560593 782173671 221664919 802519637 164774709 879385053 152005211 393569523 993089315 851125707 997167519 935964131 603499931 827358219 394166247 679032551 168616483 338907647 386989311 655370051 922109195 215659793 857962491 941625029 308827247 904125365 700400697 717109445 602550571 766778469 883131995 689443103 790097897 561539233 514708813 781127483 456646683 93795829 142793543 488421639 962390261 692856051 891283137 856045561 306517627 902690867 771779969 910375439 887565429 116774237 614143379 479164113 244453235 761033749 469320781 502067275 987433931 894739729 669903689 630119955 492144799 256339209 715033963 189529161 246919383 652536769 349288929 794818193 532922403 943645443 312130333 445384989 563836413 192163233 177853919 560994719 434829987 740782709 556458535 137744473 567609373 106599265 548414533 217494287 975806781 717417553 951482315 732204559 73304219 560896053 870295189 768746289 681614231 851983879 676016071 501306067 690708313 822651341 851128527 879937753 748753361 508005261 937116769 151421363 63891127 632645209 541655417 3108695 781017229 18211151 98985051 749842499 533704089 502509713 282918291 107516543 350200045 194042949 318008053 677482133 245172577 689430433 798206109 976171681 116449939 241105375 311461873 194370365 347633135 893464383 362161307 763025553 780347299 828518413 833350547 969796425 643081127 492862363 965819921 641933215 94488763 278807363 738845851 855403597 632193385 665479015 517561853 868308381 326275841 283922035 200343115 373941341 703706267 933260759 347317731 299726049 582570005 466311949 386162279 567746567 445151001 142257305 439086533 835507255 349987353 343940869 13391663 418097761 511566155 667318755 741688867 570070775 661143983 829611213 276936039 312045817 353776143 187786855 528092163 977792239 845622777 120842583 399334991 917608419 682696393 592795475 803770085 608718961 418266779 31109141 660138921 171652019 15906649 903685213 380719305 931680849 862798259 859152119 334415801 44197751 968707107 141810613 777264179 282263007 416615399 390679665 224444735 522265797 824805897 149398543 168282663 484128495 390594647 612776309 897144191 104854955 175382123 323801753 526133795 598237137 282155685 785310581 417433655 967748799 174961453 838825737 407652907 734563161 963946739 590719073 320598959 125359887 276389041 912796047 659513025 52483287 827540963 71494829 424416421 755752497 951346135 16731359 21863141 381167647 385123481 656767819 387674203 882613299 868644867 709706281 358683677 105365891 485183155 633592237 184692371 529446827 773061909 259342109 810557033 882600915 822581847 934949317 407617937 182337959 407939953 42682867 360834121 631603809 676082213 291019779 99678741 883891645 763295737 630561111 248938179 551510785 559732031 961833819 788925795 36051453 575871503 469019775 281244501 502851077 728449351 846031679 907128635 814065911 543975827 246788891 477528067 5503037 479040095 893394335 965105121 570915777 784999143 590361437 760516943 465707259 160229675 963214577 905557523 182672875 794665713 628445689 492657723 471574035 944406729 216537635 204580633 411604869 72619791 169230367 935169097 256679895 654249183 888404647 986794671 443591973 298606371 314537857 891756921 363646743 140836237 521215603 313965339 34282971 701610899 84357713 832688721 645038373 587055477 958824949 658117407 525461303 150193979 788470083 45322703 165812183 693651897 960090147 884697593 182535503 130579331 241421191 621759353 188962681 935833595 814952041 351865713 165302451 272398409 658751183 62919501 750467809 670573663 502430911 865435075 964962421 814946289 575108429 188861903 358537057 264798083 919996821 185919413 677310501 333964125 422431157 771005953 200106185 467452557 198266331 577160841 143378905 411117 826718519 405241189 516994413 827212573 795290373 200562685 102396449 847896963 560872325 241308669 412926493 597512019 549191427 610842199 997237263 309074565 409725651 963382347 565279277 285605847 521107531 327621721 688691509 226529233 90484175 7435599 204833133 258453957 577005003 919529795 374405541 518011083 659241903 45795471 703058481 931454657 100125943 843252951 825642991 673195347 916109861 339743241 784304457 779321583 505472449 438409049 178700073 83186125 310147423 726878275 229977097 437822701 254141595 615918473 347699427 395011353 844584467 314772027 32172609 62134753 148955765 460874923 326072623 76980893 932753265 901575541 496500805 154530155 736619203 886564477 634137247 535124023 288240427 429554163 195562725 503141805 527317367 95455047 625057349 56069193 499840885 292142647 442761589 148399945 410236673 494173637 705449907 957520823 502942463 896897857 806733765 861880163 174402647 811381053 16180475 835194851 136292603 858725527 61931561 250326937 993020135 823314801 845981871 797385901 837882141 730452535 7040881 15668241 916280997 484111521 937825249 16569979 33237395 457988775 174089457 493710699 784606211 278757775 816608803 775764009 761797907 213740261 532091003 343456969 729917425 196878205 9770375 255229727 525824717 177045621 710649951 374704077 326204387 529049137 969702047 22460731 696097397 307473241 297839471 286448281 970948555 252622823 810932349 717186783 681076283 223960083 516268287 785235919 406800923 728507749 746269363 118505201 731084497 459800485 32957153 357316755 147419587 186329067 278518099 493813455 713728361 237128593 191877477 961007235 115416633 770628923 274212079 970436187 153875893 819483609 231615325 225544133 467553131 752411033 349886619 82143225 100171753 614638845 887592477 338132217 718074317 285461447 280355813 493197963 688591029 917041153 80238455 12122945 44058191 276485891 883270881 170325875 880120653 277571177 380768187 755603007 340698725 972130069 982205985 392981649 134266207 559027763 494679483 349187095 693489155 258475577 76393143 534191177 818172705 444239331 902966987 967426919 529715093 223088949 552561207 191068027 981389635 43551355 165388989 970122581 312929811 972203849 609269935 946392459 650669305 583189373 811888609 91409279 794900205 974715961 176999603 227998811 283330033 778719467 8593163 736230923 59597331 878256197 917908821 61091403 184296545 241219909 820289931 846076825 460734969 359470129 922569769 877385279 101458681 837597073 894825781 998940491 918864271 198141243 849644861 275071385 608641261 919731021 986401369 373546181 431606859 773296939 597906213 687056441 592016875 240567935 481857481 312979493 628096539 778057789 892572917 771374723 803318313 434104741 689474267 141868561 696130931 525212983 545755195 627065175 989376601 283899331 932101979 125358505 182603589 878629211 303013643 890069019 263980457 553385051 543681441 594225805 290602753 503586921 337970681 589858987 806805455 623711087 282177657 661671651 171085469 326009507 478701075 73527151 687261947 42887041 538508091 135799629 75997831 163926731 221276909 6346565 536847839 498651537 113924019 909598953 565424561 771487781 563516059 156024721 313184687 135610661 972539961 157053275 253738897 130561139 397098411 98855475 621312027 803493947 137008539 693398727 975985173 167859189 140047667 399569807 608048981 107097433 133499179 497115085 312945075 623283565 369718465 446155911 823232015 837147517 472777917 909753231 332369751 667956253 540903019 744508027 509854589 351745067 130528417 653126063 938494585 926918601 160756415 236589903 176422735 639141221 335431083 237556303 21532423 357882035 155341523 355005285 569764279 107847085 843273515 584570385 598841207 725365657 362664501 824228765 684347239 197579781 263455477 202211863 178976439 564272065 231677179 148222299 74313619 337640429 873822043 782976517 416456761 688209645 144134579 359987839 613765611 241672555 679982381 626158075 778084339 415361373 61320563 692794733 362262177 324480765 362030525 229174937 46401619 174331347 889316297 150010631 961937001 449242025 452985567 369750277 463353933 293642131 924936395 865596079 293909619 496090349 879022821 666253537 777269075 574049373 238525193 646693445 265193585 183690957 437247647 279387723 70300501 747183731 185793939 632010283 592353429 875793355 321769823 75506151 363097801 940867737 418623487 415251271 843515283 784529129 279855353 461263065 571702941 307957263 215760989 973113591 152555161 755573161 782524351 811866815 885387845 421773977 808310077 327996701 945046877 685957645 481609857 173308351 216985009 52007543 79513525 603741215 397079569 669630101 35147409 496120441 883917655 147086955 793083221 609405147 768045411 439713351 183245763 697201167 61789221 545984953 33313325 372283571 890977929 494245025 151170665 286075941 993120143 308368929 394719955 518958475 520462643 386988967 275080531 524830425 367098757 594002407 686485079 258209733 25670549 201856475 327822805 911779025 114494589 863169483 890942027 369268291 68283999 745332801 890697151 233486635 89953125 491356431 551445697 801273957 828180675 271126101 421550949 414161805 421177265 443784055 244862537 738773517 763445875 500392479 547644311 588146199 746280787 258442563 889431545 249841057 393150881 706028575 992992169 914966891 434255547 279696183 411914593 757270015 316651265 986785623 349470059 684068011 450916573 516214931 585926803 771231371 987968963 789257543 652512561 549613435 588690731 632558361 703945249 890638629 411697561 494085619 183698891 881430521 553556375 532872461 369454877 828288561 481190071 513058783 662899341 482552011 780255379 696211247 118157081 328087695 245972941 237459977 493636423 274699537 537487631 559263425 278753317 69321637 563685389 744379381 142993997 455224941 142995071 769120135 295074007 794166097 410550057 987309477 806883439 621411585 219908821 293340097 429009983 518949877 662750549 640190363 440225537 97178991 108078211 543811123 801093103 577326197 466252097 514914521 454725587 557416153 220699257 62360093 142550521 253970483 302490655 343996127 873888569 959577827 872152107 486193475 482377455 222491409 302520225 151449523 567989763 321860523 523133323 156464099 734962147 605538159 972157947 812900307 915443589 329942487 608366859 370694853 229813351 840313903 757199837 77413443 878698897 823747719 466613147 225562917 764197517 676423351 331961465 958997127 308759159 331225437 104981167 241270985 697466087 367522021 831995777 894485149 202233609 256513659 816282681 884840435 789622409 822648603 280005929 290095369 703578779 453186693 137598123 140138337 190204161 618152511 431293985 288420555 868122879 337713305 278835959 846083675 332483171 30213039 284049307 328172905 703147139 555235933 80963213 567892637 617175873 704975693 741841227 393477859 473377791 448313841 2703201 530888813 342418093 836204413 343306081 308130745 593230529 122594807 81786341 821042315 324005945 957993761 408163983 94241521 918317213 429348241 695262473 731226171 739746295 778885019 469366279 607850505 13741027 285260897 551228483 517956925 837201531 78802635 579041661 778577157 892353381 494196361 895260545 119770069 925080275 956224277 611265825 397411943 973992055 489544877 149122359 56808131 484265619 708561241 649064869 278382385 547991275 480664555 290400341 267980105 678377933 856095483 704670267 214546149 192622353 781428201 229801041 104919339 50424083 311039453 142733463 115625349 763367869 20747975 401370905 643489449 80432505 116824671 483658985 754110867 693785663 792821031 955279137 767936133 369537677 441272677 919725539 807524367 487563881 795894315 801211737 917299715 694259811 925517905 124399799 347930751 443234961 371892085 543442231 6425827 469259663 430836483 117778713 161578721 180924291 941033769 220876969 756751721 885527839 389804511 556795193 996959161 447118487 22627301 233028643 740448341 714530471 804290501 974425545 37680649 39552409 557323983 950012567 411908843 13906491 427741723 200078845 332151635 24112351 531431303 232638325 166292201 195906665 125530813 824407429 514043801 644775739 700260911 152821427 56725655 865888325 906520595 373296275 620304733 702945789 371593577 8720063 617463985 236731235 654526715 859688921 389783457 485925625 57401431 970898061 271667837 954629585 903443673 949866635 777821669 295739009 953134749 482270605 748422077 315082277 493330829 941282903 217842735 188611939 511517273 551963573 382658735 174853997 27684219 628901749 79630077 783164663 116935217 202648435 996216345 547767103 772669829 547590289 516676947 778105099 34509637 942123451 552149309 505533353 387974411 859433697 474111667 765637105 145518903 782925309 298594779 72350017 859265521 133401619 516534559 144756861 14513193 425557551 64628277 117957909 696390297 398587999 975248665 358436351 673444029 125220031 653724431 157269691 702616035 730854513 975691683 835864139 834545687 521637537 246413225 675301441 394992435 531703167 501650495 12598195 345432533 459578693 387733959 527552061 840292969 477797689 437005037 602467591 467018269 841667233 749825961 413615549 80356841 815816657 518649907 718599577 17380751 637129507 640797201 907893335 418294421 955719163 48836879 857389885 535811917 480420799 267678787 863197209 111867855 526386405 722351877 224063043 384534265 14387687 152747519 343272345 933178743 591886405 691618327 82253695 645849781 313380235 227067783 995897831 692632559 679480397 813836999 418235971 105229605 565072161 896682399 865587859 944065053 824974251 624482839 786000991 140720999 49041815 520599943 869087667 11527519 561382293 354832265 89339943 983023905 395939937 833116931 698591191 345508247 4941755 232680735 66478699 118762611 168846191 839113299 747663375 173654315 720073295 345647449 756191357 78557695 241860407 328007737 647050225 199288057 303781381 406530365 161942577 603045607 719468199 249700857 201179021 40946275 330337293 33083977 205317081 225368269 381208371 838406995 946768245 186437453 700405273 183831171 900863045 603704789 135560907 286974603 600692409 483370009 780620893 590703209 391902409 676744349 353289701 677726817 698974447 569632681 850410887 228134143 729809205 476116043 811543407 736737303 438866471 180539741 435571917 200785863 134487005 125167231 154563293 706083697 590487283 326944023 336733151 835583683 304884625 303972187 338615841 735836847 570430565 322319677 269632241 285810803 905371043 397538689 337549739 506418837 304928781 722407597 984157875 957486045 638027753 773138451 405577839 355671137 718213633 551315147 405710935 812363391 5591215 28576947 79591391 260289499 878048977 560451959 837906831 837040223 446238413 623302533 737013741 515700543 185735055 53510933 173323919 437813755 101954447 40569127 151637259 772911445 637422029 806968453 324813829 54672471 587125965 64621759 998316585 488177497 686862237 189397293 317073191 825828085 463190741 181301229 488990395 736592657 807854481 23778539 686582695 340288983 88486009 282884307 362390195 537951421 853230779 545615905 188884915 733585279 883876109 889876499 981416579 272960289 941637293 349614003 909298177 147845359 111443041 335683281 826282267 674135421 148292473 348111619 833277377 952926631 640099529 471552171 826402287 703653779 197041073 815138803 672496295 642233773 747742997 628510663 532045553 828183975 487126631 861637859 305546977 219381119 73535129 235448005 388859027 250885241 26802477 74941621 244067621 886553123 774712615 598095047 601308613 902823757 465962005 883533007 145431717 214357783 155156751 256476527 115733501 826998755 495820721 989964047 327204623 810473055 989184291 874117855 919847719 359749245 134781203 874037207 829395609 399295613 406759607 877212089 359866299 449272799 974468557 291261965 419902963 700793459 651843483 505342753 812795049 953556809 800513521 319460111 470894159 18646465 336057379 665812149 902917985 640054911 843178001 134604479 181084513 313078893 511428897 250158235 370361815 657993665 54861119 403514753 372380503 756720887 865597413 693886835 662392445 758888913 806736655 571249207 484892903 153900639 666095169 823966815 604832835 878799859 980331407 179624515 876857667 415749161 786858123 407226113 695111327 508881383 422941523 733049221 200200217 615237209 917262735 438171005 848010623 995670513 193163629 913703521 119373215 182415213 429322915 200314481 895505239 178003153 523261295 5688247 907796101 330696809 100097433 180288771 868464407 624090057 691434861 294911723 714958335 469389005 691261121 72096465 762635829 612313245 771653621 222109663 161680827 410124447 126748399 588375041 861339807 344866701 282750491 749368051 975958511 755397215 50502003 695081267 356989641 834977627 542293873 716306187 242711373 860766989 23404063 519701899 987142053 351483723 866553867 303389065 6443779 959003183 171011911 537697447 349216419 757836061 71377015 646462541 649509063 83880387 15393213 705150635 732752823 680868117 16384457 612950459 805365961 270430285 154714321 616894523 501236563 506512371 716597653 670215347 913901499 327698641 372358743 455382647 290850921 407165177 364653545 319390363 998523601 399252173 577132703 686059263 333220459 861286379 897755993 776210767 852014521 967573059 969738877 782124025 812780873 387566345 919479545 320401719 827545769 389818297 356296001 832907783 987066231 918632215 864869463 410003249 596040275 451137583 337597631 107520583 610535399 537327445 492564873 413342881 887300581 487670053 688652103 964046941 736141833 740750725 635452701 178017127 827909909 541849249 886505901 80082541 29103059 781244395 681318439 887863271 503274515 441137441 577235267 725737751 37975475 175441223 936510523 120347395 51488659 645770665 526142935 209783165 821713053 636747997 91561831 729194011 354807491 540264381 906196929 953364289 486620161 559764077 684475457 866247443 332135769 248707931 734208463 351550085 932110293 102905401 219035095 530632269 107074949 8336133 125666131 760187371 846686855 252029189 213435839 627465385 12760059 274796993 798134817 831941269 701399819 851077649 80080391 676802443 251887081 37695247 558288521 130702887 97630931 699887391 25358149 403343059 182200069 366538481 565236575 388062401 2566095 283417715 887089801 397017317 307935617 510433767 282068981 342191875 527455859 760988879 45465955 214445219 126475787 847046901 56248859 842172435 58645937 568550257 681000937 808005487 395551193 446839711 705070115 776396179 930061051 261145631 805427881 838399785 344345243 151506403 728895713 94999457 127436867 717697819 741321913 707121715 243561603 151120965 278348199 135144673 260297721 867438373 62412201 103063411 95265349 992055239 514468933 803530359 252811025 730492287 643792777 217230919 752304401 31193065 577157901 866235907 301052669 118374381 575259375 41636497 499957913 272400049 189887701 239818149 158837165 318178479 912343787 978105015 743481103 267612831 495055593 196354051 402075543 283609223 8884495 767784343 635546919 976867507 610134303 415159869 534095273 33915065 801408875 771277459 463574033 684483699 735206857 779168759 436929367 210775301 134377621 570671503 502637439 83683805 632896439 445544271 747473043 27782063 83488669 492578541 188162979 762617205 299762749 946568427 232712141 93490549 225736725 158143375 666742065 320136765 348027691 636837353 52333049 322477471 893528077 857614549 680458585 982433719 921839827 578977263 140461193 116782059 645969947 393968289 302218701 818098149 871447051 517776669 424357231 636279963 788889423 373236569 625444033 700221769 744728095 114513429 455255323 691064945 916028219 941330907 289257187 730158307 223585511 192563193 177323139 716775601 181576689 703653771 960946537 313734713 311591599 502943341 636224277 715404573 715797507 369022025 104479749 829586761 41982543 823256463 242332867 650878963 929703041 791816825 990622949 499866263 853611283 538598405 331066883 670342649 135950593 974972667 644973247 338139941 989101779 913247983 255450563 547925617 103264659 666781493 998083 414176375 649386459 632506351 756385143 149184795 853707977 754922757 623889571 839236233 853942019 221868839 958092049 824257593 761540021 774371533 330454163 691010531 801508249 938496825 21994243 656030863 29775849 433109361 2793795 847119237 916475759 202915655 744122429 46774621 789078391 63111763 443067365 825459953 324512985 951660277 995168307 456302181 155419377 181947733 122460715 74536487 541590695 246029409 514031319 294512619 841842537 328000215 763806793 266774957 650894893 198333489 404097691 104076975 423655537 354292155 461241071 683893377 361571131 418779013 454657647 607983093 363991067 966113127 338711375 981872167 266854949 79989247 535859657 716411261 32505593 511812537 544118045 996801185 946279357 554568641 300723351 521135497 516870173 148479251 76560007 961378417 630190931 159353199 740321611 580679901 517948697 968519771 284401219 108772505 527407289 888213543 928082139 807960761 193708033 407150319 705827715 527506075 271263299 848696719 206745269 807502049 472064355 358034097 182649845 751077495 447186115 170245063 328123085 879326101 890166355 777120773 421939663 430822067 361109385 190543729 403843477 173856151 400567907 947973069 772339137 98149453 510886503 748874671 169424383 920233515 830538661 253676907 781268221 271267531 173072305 133057059 505102203 154609937 932396203 787400895 846202679 832076331 553057337 355745519 356371965 362760331 896466057 295464493 764783263 449874161 217673551 693868727 160880631 632633181 382581453 901770901 738636263 92389407 172664519 616209049 961133147 682094793 966180747 638735195 547950657 148257591 304138993 310953019 804421785 148025997 667175253 160023137 136255329 554283065 784747679 299540413 991688869 807002351 854071613 24756743 262189431 136168363 703309607 482971073 284791025 457153713 638088919 477848881 999978805 470459533 685208661 583240041 658863215 292340499 596625457 380881729 539130319 42224223 818102399 793715799 998461071 648872919 352655327 368285207 830259443 250582821 314275447 451038383 643330373 866770241 416130805 490002455 268478679 94736227 627869069 558653199 858193667 169536529 422331649 905029665 454793261 106786327 935363477 918205085 323785915 285486985 189187607 621907867 532443171 26229957 894251231 744984825 968788447 659487085 824918731 310244961 10870383 698069359 450234943 798501445 78636127 904598013 613531179 609962715 385343297 902427797 316015365 660537123 517055151 144545789 879387085 848755175 921409867 286076733 717808389 973962933 700369345 909445293 752781759 407320809 366227905 675622119 785272463 512131743 79091973 859120591 241902741 577815489 520890451 79561619 605576823 234325759 312824433 160020903 126752611 350557395 35654451 682710469 557062671 928952955 961918067 337831669 981881271 11283713 168496403 588900481 699206437 514729523 866320895 583648509 187834279 565423531 424461095 730816325 829199377 273704905 40739973 603048319 133959617 467646645 310645535 319921685 642315169 710327135 434285051 299587261 957860123 123970689 585914669 988991859 769060647 205314455 764365007 847239547 488426307 25698799 321180675 759196769 904235639 97928085 471577077 70630649 427087439 326959715 970711253 757954655 199799265 962259191 650223327 317564665 576158925 993244605 171326291 404297075 980013113 845268451 892389757 103675839 474285523 523394145 788397487 91982875 849217233 429785337 355477059 883297291 273197297 41043249 742628509 978833757 386276729 459051867 698895395 748259617 91910199 72526223 354676045 551366839 635872899 650590891 881899663 571393217 47815227 672569691 735564145 237208621 440933571 110271243 301696889 987268911 368256011 152398583 352829243 680138817 101761931 727408927 355067729 250071337 482552637 349980489 170806109 142168053 256064683 494611973 320849675 861769207 156759521 493950895 726075659 787315915 151591029 965973347 936085017 500809557 413758087 681748491 300263413 120460995 88277437 604161881 783988845 407484297 22037573 168644803 432830543 338942051 324590037 475274889 78660727 492510549 305689771 438220981 647372487 774765737 90279565 505407509 612220203 862269433 473823691 371831107 529513107 972092187 588937273 745751967 423063547 278178615 25219125 952433745 524678499 582104503 589853609 942409547 8698073 64661329 777125631 913185345 221698923 460451073 886869039 622745015 205374005 259810571 511204793 52375029 118734171 107004411 710688161 860673545 26162435 772370343 877675125 647420621 160240739 29481511 684770379 900809185 140931765 969118435 322049989 14867115 965810235 243322759 948750597 798376289 436415805 948029191 99418297 405086197 981470479 153736861 699078427 593813803 807667467 133070543 907098855 56572297 721663381 980743785 714477155 72645217 607928085 333660033 781328991 957034187 609650941 947247729 234289967 502313125 178267849 31163613 621185459 816841115 295002361 438286515 785666127 625323547 789584411 717900071 178906613 950527581 221724605 562372021 167986455 379263329 556709243 898279199 828248759 651832305 823656953 123885173 300709209 526983069 59123677 512146441 407425547 527077821 118030047 103391351 828486499 674421359 732027061 20298659 620332675 554711455 374183457 630924733 629387277 467022329 815412719 971257909 233778481 837495801 43194867 436217033 247143075 751447773 164314115 772873851 234549671 192632751 252202245 239036571 233584381 551311935 660913119 684899259 676862453 38952995 403071113 915644601 517163369 490884541 511822585 778972087 996289201 624026423 812000817 955212577 519694521 718036349 486320957 814983855 21505261 643272523 610034737 639941721 362617921 241969183 857669923 689889637 330940471 17302849 802441017 275946847 936481745 552699077 161419675 346449181 811765923 691018367 310502523 96314807 636765117 638791953 527694869 274297239 379300547 719899363 650197929 960667491 807323351 656821541 253374597 760543509 181222313 60794063 113489143 201154277 552096879 539343779 699533661 24962139 934019303 123886377 376057109 319213375 725468247 987664303 567261069 445172905 939699855 844460879 703950645 459673075 563777763 525170407 672136329 465491905 239701299 887054115 991163659 394883843 187134693 244285809 397359683 925423591 826156005 456537865 121530567 454046447 721119661 727000045 824961837 647267805 122194999 218680803 911056155 794438845 685194509 510821245 959536185 170145507 49462845 807746835 846208313 369604587 861356889 49183683 859799255 941121723 192772229 50463865 59998421 715820157 288968547 857845987 81259259 170953127 326195747 95784057 184917535 434323189 434488443 848763771 511109399 981276779 752045737 303496691 629107145 311637077 179914357 901472945 227233309 257399367 575096361 820255819 755515141 686815263 602461601 549063203 59637117 997422335 946871607 146736995 677533063 586898005 169081553 409674743 81268011 402268883 878345441 970749339 167517055 311170935 699175257 89616589 973768601 345129095 779745467 486200791 446802847 744860299 751356171 145088457 992558009 885230427 210089175 115129721 881174297 204431631 768654391 236544649 524103419 884791057 647456201 514050657 389559713 189219081 502098353 659529009 878432597 25823723 601719455 575731955 908715367 406498551 846108873 398420581 346789685 641485997 225764589 685467151 809923357 363928029 649943379 509641541 74093965 803600537 144584903 17385755 328165367 727762237 362352543 960916851 210270163 138280815 643218107 250720243 747931045 104753945 162827393 275757329 33827829 349655409 77867999 815698687 717659225 34845683 896104265 989251265 688615015 417508193 927450049 651315485 407195333 602517707 139718603 915410341 193097755 695861379 765994613 813958577 740981789 368304935 674847831 425312607 30114947 70238361 293510799 300508827 424728079 410413317 586031041 485891091 884307343 701357539 852825885 771153983 204372689 631077611 158113625 26499681 922535859 645198115 713721269 911221631 435709205 815092183 512819443 902862187 596327905 210515355 548516453 20519355 490854409 252606797 197600481 159865555 882662283 434661135 902304707 627427543 199898467 669690703 991515635 767637691 911654561 747895233 100067549 146685237 222340437 104025695 486701947 473893317 53221783 332148847 606879561 130193333 192048781 368577407 713202509 622513939 690037087 462757471 83360533 374147515 588827713 888573999 132505529 887744073 302285675 567896915 555739351 350134055 635232801 789624949 321785747 971027335 837235627 113132427 493457309 555238493 251282527 570067153 551573037 799799151 735188629 640536521 547187453 95157311 767974829 273647683 630404439 610897187 186458391 745661777 485900551 949519407 782605119 133766735 103116643 570610757 922002595 201856483 187746379 610334221 963474117 539112695 686167333 178112247 900772143 138726337 646920671 439106619 69490291 948124861 252938735 447192539 271182121 297799087 215626067 17795487 552951031 144735907 505120145 313113621 776961413 371260653 829938871 320286103 989031815 439966763 233758813 831008581 280557493 838809407 414589089 405569029 732168147 496249175 581997863 794987403 266530731 591145701 510164513 60744015 927493133 586567847 380909377 97881485 851033559 247436449 838927559 978086483 719832297 861444897 559839355 317954667 54367533 102446007 843181225 387826291 102616983 3466819 300056361 599805385 348094239 399790567 133180503 256658835 441488329 869139473 46175771 482905029 889017759 502131061 856550115 906122773 618409393 342704399 282147491 232853765 537992989 98853153 940029917 666446043 774705155 659337787 238380695 148929703 452453517 664436269 29965147 538724165 56227823 809568025 419955779 440051281 31627617 772352605 984721389 531008823 558987559 481515945 454234749 649197603 382573963 515623921 460667557 294720785 963149791 793591921 770542743 537206463 469308285 75519405 505860373 977011639 46475975 259541617 293908065 939577159 394563111 805776081 248355661 306590859 250559761 300501289 532978735 301989727 98730749 627678495 983144419 329973613 588576879 513096351 407670993 288014117 535130609 900296411 624485351 652097729 859680019 884376401 920395163 300824895 590386547 619694789 435291371 779908969 685053361 962550339 228534877 57561293 693152377 10760735 301953281 260182213 925479801 191853815 462146411 636919665 667056241 749300909 7990971 274680505 193731103 446037359 488715671 492331341 317622095 893467825 265433899 523036069 729060305 528079405 218449455 360794371 439282563 977838313 728012259 116521581 678493509 344900147 352101643 656466357 239246851 368516251 297956597 951768691 577446315 932269825 262452345 113929991 656468029 700471689 334326515 478634393 115837111 195157149 347732299 923788567 879222821 214965233 754091759 389749823 724376215 87006085 309763797 743438475 177333803 43328155 114479739 669258567 595998209 573780157 81074919 611430019 72374597 117605059 19049897 818190871 693603367 156238793 602473941 122738849 837483745 850382383 763753739 556824717 968674487 553945255 890030193 335862023 716428019 951885601 648555955 37851403 247306215 678183899 506469899 559416409 583644141 856631385 431571251 267473527 330562151 474609253 530019957 391511989 768411839 595559193 870162333 698075695 866701673 584874955 244512771 221067969 603981021 634480931 115164035 98774037 126637729 925882893 631734663 861705117 545660985 281564347 466738169 994621069 256468541 257642923 972946001 480955115 719955269 694170275 212484237 97797241 844096243 984577451 116011059 692828621 990996723 560202265 81649491 872709947 310159861 370251659 363828609 616393701 351252147 398697699 837231325 394109107 69987569 289859407 378006285 909111637 866468985 166192451 237853245 763306309 413087261 295868793 938990631 579707073 478913719 469963257 595971845 179930577 41742377 721553675 92864673 604382535 379818591 850859591 105281865 365110715 173942857 454448007 91157201 693774477 960387297 421766129 86972823 171069669 911209515 20096239 396916611 518884019 430977585 506051383 544075523 632292783 451716613 260985285 712717 705453659 773486785 135140571 852977441 887626493 12302471 606333193 784648257 468380839 559411587 832309793 86786559 397876785 107824869 875606593 640911983 648232249 704773607 518089419 943340593 986442027 50914511 283604331 458643819 906970677 168950243 444265751 254909129 409847375 894753399 785613067 295428741 390240313 294337509 717721547 197341531 541974653 116799119 791634467 131963793 478105707 159998687 352468521 214521333 523553051 708047945 95966773 293006047 631753323 814044231 928393711 114880813 267453957 744248665 60178243 570044227 844809819 336668171 629379429 906607121 562014115 61297647 727049167 773314061 409074397 867059359 153283911 52113973 465078483 268068543 434976987 562705681 106191635 915776245 977232091 538816941 974915321 881402103 826441703 21497503 56057505 153393791 906644451 114161415 971068405 928863309 706785017 343460235 682060199 379612461 641850525 177106777 609594411 143528689 687838863 810716965 824765637 913077619 174997969 78406705 252765309 297719189 77794733 99040065 133649697 595379779 268735675 392066469 161098315 551318893 127467989 737621041 240042587 673935631 207546657 507164227 714482041 628293161 51635465 760530627 245464213 817121735 954128707 105780513 433861737 227616251 944287691 342879311 537460851 564637407 294039013 905998285 116586491 86868887 327048477 640353443 569550611 969388361 99762759 409912413 310454163 521507883 391476353 775953425 461269017 223684727 753914413 223279967 678440209 919744365 37251575 41442157 122788265 429548633 139004375 667787241 923939033 206177679 236393477 155788809 879367779 154943845 249430023 278791049 29110733 552276799 135810473 795733941 147353961 812205705 792185345 656987733 416797007 581839795 635660903 980438723 785398877 848171833 785521029 207853277 111649599 681260699 871777347 669062151 641251681 744015205 979429077 193893425 373778943 99913257 537577403 790828755 6396185 474742657 539224757 585345511 193341045 69654289 284806609 31352567 205427363 548990079 42396261 651115535 740668927 502763139 12006923 998634181 764854693 280851921 565632425 2425145 918656639 465770033 745236073 338643217 849855551 283946857 65841857 145781883 697500251 43253325 773200749 296672045 369364755 223296439 927589999 425566053 660450929 416382347 650950679 132042985 494025027 57465263 687960567 100072967 717307939 41771291 811737067 156852887 100439665 615507139 569021209 25489143 204311381 329391 290603245 680344333 919927489 633599205 747208729 104719173 248483945 672270969 891907483 51703191 418066129 832924293 380028855 411482755 358122561 376816941 922095353 396884491 86820295 44603033 782790965 102647491 376573501 115563003 475782793 707982523 591280963 442942095 149336151 344653461 987288129 58046101 349152845 230023799 617968999 85607001 177578333 987055887 724060333 701501741 803174085 177262227 32422613 200150637 318291211 293745601 776334949 304179831 973133047 890786527 534684847 528746937 666298017 537712829 382581963 818559907 587180129 951887279 461699735 116334001 448718305 125215893 950644671 679812197 751217417 402157523 404588721 758850631 177630479 694243931 133460901 513701099 68712813 211210911 454622107 400903659 895134443 381579681 89443679 56363499 440928913 643084259 780233851 237383059 377215671 825093751 41441357 665595029 594105335 237080051 654942449 968381101 481261111 584320371 350275155 425277595 461473697 98768287 706392351 593692973 80274347 906220965 493397457 963847729 31053841 329257019 654883751 512042371 30200791 239013023 369526187 218284551 231201865 785531289 51282861 247157413 761028091 952778355 1349443 497725775 269575625 890092039 591204559 403696129 216470489 658565043 717267579 223683003 151482007 335543389 367741747 679841163 433416117 821805937 355822515 690503039 852636465 809412585 337134457 946615731 184334415 5415743 798839757 445628747 704480413 62431869 592511171 472024943 536994539 369450287 383845423 806262865 496862297 545869933 937704627 648649773 770291529 168154067 18528439 936369733 143127145 197564555 150715755 134091745 935935403 14460989 644213703 949940565 476572495 632370213 908534157 894563069 305967829 863656961 493302341 750469175 241110541 441076499 151865917 905251953 393525767 801705773 88018319 930269725 657776165 817710499 917478681 232741299 629273861 923809877 645688711 785496757 232442263 837214375 917509191 784918193 828028943 50057355 331077265 375847477 525032169 258385267 126652007 167454685 575312871 188574561 275646351 361755981 206403865 176544729 742351515 564944941 144699857 57094889 45275619 857821487 798020011 458951721 681439365 187671311 623452557 304002997 956555117 269376399 871045795 339527991 330463817 531696759 729545567 952772825 372761233 826391709 229881471 925153363 615511685 770859735 159714823 403221987 707120175 853040907 408966211 586059599 927476319 988224801 418585799 9157351 65284523 94779403 327010673 662005887 236343669 360893637 497314147 377814647 985618151 708683089 632352265 169328821 843434989 179924409 359054875 195533735 578878531 251490061 11380881 325276481 284696679 548129385 448361905 531378181 182103715 512448497 833524231 503654903 631243783 266246605 769457513 762327461 746065257 167801649 231433201 558700839 155502187 833721173 14344963 613834011 895125109 352821371 612042317 57668517 123424695 419618033 803335875 572077941 286797867 979179525 147613087 985480897 353989775 902507797 930269033 871799879 390963563 199265921 878446315 691778639 366359571 406706355 829522487 786712997 622431131 629572381 786226095 162587295 288601061 872126779 397217009 585155613 922696855 587484559 232923629 889154181 121514023 750023329 455478743 899961027 859278023 886271495 885876779 111902033 24650107 292059479 444050349 110540075 410768649 865431863 751693673 170318039 254217987 790976591 801075123 191454051 378580673 572975699 756972327 465239911 971967585 818179323 374209451 413703681 457599439 177477387 868684651 977365461 313388985 890054987 433229273 512679955 841326743 382224273 68699827 801483633 12646827 801149875 418653949 485718829 351914491 842392727 405842435 694480399 531507033 994880293 16165467 442524003 490956123 869533521 891851487 381577215 426855525 882063635 838427571 399914307 303797403 807250287 375144773 401411093 560277745 160385389 751186759 660180451 616615965 609036067 887620025 155735459 720379807 733901479 955315675 750098643 127377089 51054879 963273531 283888249 659685777 17755571 988561071 333589539 305268203 989978263 154156881 585840361 461116523 868710403 122295173 933477481 347398011 13959995 536264187 284358599 582685261 615486857 454725281 354693811 234728405 377803069 8754617 362239587 619282905 88032949 663366341 983916695 249967579 379019089 655094671 353659537 433574449 981487227 497072943 624245795 488322287 981481125 834308353 495189667 307676919 562763341 419664805 785256429 611483889 416467185 394436621 707674985 597159501 455846427 522831465 929137925 807250499 757589601 435922231 639702069 110895317 357423193 976281659 840108795 819731915 81565097 541916545 530051291 240574899 190865403 53608029 781918181 973375719 923348477 640776813 837210541 226793095 356680301 338708115 638090323 31123833 27449101 847129595 259016571 330871665 558910375 636262173 922117973 194313703 60187917 766992561 58249625 912477463 744740887 35691197 747006081 42807567 737657515 824563597 614608343 28555417 392425651 417648823 138616807 584920659 190798621 183885845 543131783 872085403 392566503 653638347 66289689 510330775 34942483 66668103 87374975 971693627 602088619 984866109 316640295 352485693 680272833 96172199 474205451 795452703 387011695 506984653 570536871 470107687 242102997 516648503 756532737 124879717 851645219 846160061 363478185 520636341 369812613 576217721 285205427 563181235 981167675 279716561 618097087 865778635 254274179 776300399 462917361 758887721 104068007 928174921 8135163 710662345 442025213 530676635 181679887 50589033 335038941 774857447 929627885 992520595 879935145 522074109 658191837 883717269 737776075 544803567 460738731 159053707 344054455 826036763 989985711 825592913 755753701 422989091 696653765 203447441 487488217 152349683 128606037 374262971 766849821 464074689 339644237 837646089 146712899 634748937 646388771 659369081 79695077 557959567 717700821 783120341 270369957 259406177 520304105 757244075 47047469 211305935 811122799 510494293 146457137 518148473 525452027 899582195 147464041 175354433 620484781 713484397 645664153 848108117 572602921 784149363 467086731 595936039 840090785 506501245 709318929 543178869 607360711 516037837 383373827 374688581 149600733 460184937 581008711 59949791 383014565 271677987 616597447 663529947 157765747 13571731 348641651 196159763 175123991 848884505 72773701 505519787 613806837 826928605 420768065 875787537 999062511 668830671 929507185 325830137 162620021 384107943 957406951 116111199 121404797 250397413 24427453 477525637 749510277 400308435 760116501 10267899 902374547 786942849 971472921 634126739 932025143 178050247 361732349 387126121 244731269 585080131 147629049 533493475 89409821 188316001 796060753 950987947 68728611 166877261 876145999 137375927 368502089 37390595 268193093 895558467 293916353 380214083 957343885 878637011 759741773 452189843 831278217 21532723 772757553 485641539 584707747 300078455 6195003 460911983 984556879 7912701 574605251 640680947 782853895 380836199 356316069 225482105 457626443 145690017 434673737 291641203 531949991 310417891 979064221 758439189 405687981 17075365 293218583 272943717 991793911 545419693 261206199 367236901 137727527 342432007 233978879 212285931 616756199 55374857 160022273 676893963 886456043 153620045 679931217 726196647 511877099 646110903 25291535 280060583 396046509 42578549 977314273 646350267 232275703 466250745 477739507 702405213 838081435 956276227 392904959 730179787 198067575 335724691 758174527 875218701 505335405 547180025 780259965 478220277 435893347 910663111 664715015 877568027 204572751 994463705 370706607 943412959 253070121 934559571 395043289 208299369 635840759 905666981 52714087 723111337 769714111 238135677 461415113 894617431 706551957 812298205 494775029 476048629 437265555 300969223 550918505 546023113 875916251 378923399 330472493 866684901 414888087 147545393 876875725 841443617 175517691 842597921 571418719 681107995 659450177 764706749 717912707 531760191 389686441 717129137 499528799 855113147 690939007 419397359 265110687 485969543 61310997 204061877 561041277 804034915 229253317 855456135 829066165 322689241 123415793 927897137 376406925 623774265 803342085 245785799 584513491 121753755 274391153 258990503 22343391 370063325 299677359 795537523 376077709 676271017 407920195 336760601 322362951 176979569 662845369 884337355 621920759 592217195 459510943 62328583 28811029 575745687 59568785 375959699 935788703 474430399 444083249 566095991 900844829 384075123 505049129 29013771 470197147 626936073 765995565 740307177 700320431 195898531 148463095 445665269 485896057 74423849 350015559 909711965 452567711 496519245 151111657 153309077 45446477 366483843 623405231 795321177 290495037 246787855 370006131 663618731 261973163 440315897 83168281 283324123 44893 424749071 458928263 234317947 7838113 388246251 883021235 956566631 167226447 207795437 207758743 159673541 367568581 673887293 224463155 714413567 572303335 874252235 765249939 376008651 783199013 850608209 777934025 674615845 668985207 844443981 442520305 762555473 96443991 649739271 216498985 112384987 798802637 35682961 486911135 402414487 946044521 761187011 149187971 648020129 831969345 719796029 556972559 296643935 906348529 1627749 703895945 651649149 531548833 567462255 76986167 336741357 537681407 888869201 835554157 918535149 258152255 254759373 163514501 649839617 334241315 200055913 927576033 265948151 341409263 358368119 134916845 481617631 612844147 522733839 905118745 491905049 80815363 527093263 303770593 767399495 103545213 249218851 321835461 352802903 755186507 478055863 705875281 66811005 798843991 925993735 599144727 495017779 409279513 212268307 415451571 697381439 144848017 603861409 275932355 641305007 31255873 224243009 890753525 167237333 949809211 622647375 71672825 88815437 125418261 960528359 723784587 321934843 886962667 487693043 937560171 707209741 648848485 476554021 567947877 349342711 57459377 692810739 952862283 369817717 918361221 763050397 419912953 400172427 470472733 137904173 618015309 526969221 279545669 191868017 825023029 264190455 709212741 679601411 959355297 122916541 306990327 123082563 223463309 557561085 32804793 925807705 424257529 522060321 796005999 871039543 180358385 942695135 954696075 734898833 496200071 638098995 855437055 146890219 542288087 587781217 236009805 440620685 783112959 537698805 872595575 809158533 18130477 87888581 885281039 154611117 535993745 764405993 163364651 771417765 938047591 106919881 416305511 540987349 34476271 909046033 34203627 829677421 530092407 345605557 87553381 196769125 345866061 829874415 561745419 410076799 894268365 224009541 904561819 79193921 784100699 701923203 204457819 57612541 512725597 705106879 293063963 826072779 630262859 389536851 541246511 94101129 954743961 224899811 990873463 110406115 915321807 973502813 212844375 760171335 799843443 368290037 318103231 201657069 398053401 805378855 476045351 96530901 565439581 887748277 239057545 749960907 285941213 744453295 922619503 634744665 831090503 987183975 157581029 992430813 879673931 97557881 274298499 955009395 760956581 425879755 903154789 820841735 826734359 752714119 837382963 523176005 926070889 250414371 137846299 485074857 801593455 808336219 226398675 982346867 568676613 671162161 868050329 292925863 793661193 286612981 798760499 718888219 795026281 299232827 464620785 218352227 940124693 136388315 597003431 217186273 907652361 593415165 359473333 989108671 806427463 294031885 498385921 771702505 893723095 211105981 588863991 813767195 539913421 571328011 942759825 396018387 743010885 502652219 146752073 983433305 882855261 417272281 317213481 222390465 4964163 944092347 940638653 317473247 537555495 731094777 811586333 449651797 906822213 615356157 889749221 562570891 235854047 203315053 66495549 683049905 246093629 846210115 417291987 51304639 524250037 800213943 899528669 822200183 534218909 184858449 942752025 618096481 685023579 503114457 405016527 225915083 850884439 709945703 440945609 847289295 906457347 309495893 630462051 751703371 864720091 224173641 986755447 170074603 968549983 643484717 929570411 978523421 948390685 168820279 582281521 186287641 984574883 87580897 180078907 633237217 831412367 826076147 447074443 982439739 300957567 850047351 760050853 289764281 348153377 257032385 780750231 112989875 341084455 1026925 365039865 166264135 391374665 541699169 179004135 472717921 43274313 561500871 670017289 827435439 458289141 26735381 2420109 96328361 974998811 230232071 266858537 802267535 787677849 79216033 170779933 129633899 365643341 893409839 490715179 770689549 621772325 64168773 964566437 863305995 235059987 122666689 378399583 857009865 631843343 189698501 979765177 962611819 833441051 468771775 589367449 113857507 378617413 63424353 15603819 528940267 112385179 129698217 137071913 314177025 35718971 463879389 333907279 269367151 178998851 170919813 13797091 632770117 711201249 222513017 465597555 521528665 690715463 854658769 961672215 321647181 505336237 375457015 188910699 266335369 960329559 117360019 627855257 873316413 548997773 823946649 850959947 732965219 753029285 720749641 983560377 180313785 736567029 654407205 983817121 984202951 323229667 638522871 355497289 403247329 333893079 597218775 435830401 243219995 569859651 10861599 779803551 377120855 748520611 230424181 973601151 641197885 413277561 250265795 56813191 238084413 397808975 247724607 501797289 810364559 92247989 851706469 838041433 68475957 379132489 951698425 115660947 618007285 814654377 637315077 258408931 934314081 310177925 157795043 525377617 887796689 584598665 633129257 755734647 445194595 663239027 977139391 79751537 180165379 440915973 127889871 119852521 153160543 104354569 173366225 509065481 540453103 827327055 924627581 893974409 656276213 47061429 592347353 736497831 684226167 138038297 469713969 982985515 577982279 867642987 450409241 902426721 344713979 424307351 879153263 586693407 746766327 79360667 638777941 711760069 19799647 591796089 428059961 276028985 283284263 390129723 520788175 309760745 36314373 600898801 12729617 961093577 84273017 446357945 309065541 279224411 45204941 888937395 133172473 863749539 858381327 935236617 138242303 33418545 766258715 309854445 559603827 419267097 865846925 763849371 723708857 646332921 910948303 598711893 102105983 479159803 329127187 790330725 88612281 424425417 161981773 924211739 973018787 564990107 57163331 115001045 431598527 884837425 846248311 400979187 617951965 661531085 837657919 938166751 974235407 501151553 743102895 680382477 535453105 114409443 426243497 832844277 366194537 638882703 140135381 245483291 55853345 150741933 411536803 268265223 663985935 683811369 610969675 96851023 552546735 652929661 456582095 190244747 485424325 77573285 518970359 444558941 182569053 499615783 776224081 532196463 702421451 756608787 876634167 334454899 753785517 523610877 104767433 361685287 792802789 359609347 419051245 761647177 215693473 130544079 109330263 63858595 279133011 976188043 329479807 372254731 239832761 533766127 813196449 67464281 133889241 127623739 233873867 516357743 948042235 665212723 349801161 327127095 816425909 846683941 375737907 640493219 317283301 682490343 328118637 245335729 289262511 259053017 195807643 741693023 308105851 380164833 665794225 287863223 254896899 544533869 196917349 267298767 245477441 734389619 299444537 676050367 756705399 133328241 43518323 637454761 346295349 336494445 620317219 42322359 666893643 606199799 368805413 786378013 857799643 48688931 394547477 788206867 379439939 764497295 464861791 988983261 937778995 381966693 93643311 661910981 573895839 764857679 829036673 38462491 198703811 499448711 522204179 251847229 489728035 976836807 304973167 81262219 943362443 3238233 812759523 81335663 46145807 714359305 788839051 618097245 907455755 664448303 662144835 917406413 112768805 396806567 677594549 903181123 235465033 403330009 701207121 373932105 474836649 730825907 408200529 790456177 189461187 865944235 34050995 500342357 388249691 265597119 33868353 825724311 617543805 625019765 223694473 504552417 44322173 968104413 558043621 583835879 381555193 945275019 851611253 170578017 161886163 434134175 523883041 44885779 85843769 155909309 448673177 344877511 487907231 393947669 516651861 762241615 556231871 64422751 256707223 508922501 403512735 437760469 586282597 227025227 873129357 151270465 240366737 915353995 328526617 249076207 821506739 417743161 619181347 490580407 601197867 368304205 919030223 219792117 190366753 294989259 299034503 388612243 145548933 275169981 384928769 648645625 936646927 856888117 777504567 324210211 722939711 221600077 704784497 434308749 572602463 252754983 297839927 298644543 150690431 443923181 876339809 724671173 392112503 957492691 348479755 173956405 473001957 843305233 365605269 386655023 793444917 887503853 332878513 508579287 324536725 813785003 217760847 220269279 984170747 205103779 409324205 364096377 49097773 99984685 68947791 912026983 210685615 288172203 367069185 972547565 509148881 221217417 823811031 946668761 73712815 815999287 553411629 375043971 836632869 23351087 719350185 655548359 617341661 778026997 578042679 503774989 818935113 771633427 999093513 822468419 457926045 778206491 707405213 365387231 486773215 70452391 1618617 38259935 356324305 6618969 111320165 143032267 797042697 203993307 330638327 663310509 546232539 579805665 511338765 77608737 43326313 229306661 781133449 918947137 696846491 799198311 870306713 661609139 658489377 53533555 917708977 383856553 943809909 800137499 211855499 106750933 156547797 491515961 885377327 794262905 610262089 26040495 471217893 107546201 211392675 899177063 158800197 205363395 239611515 612466773 321126953 70396047 183968049 647908211 703863991 207182875 426280941 307562433 653924441 785876299 316293279 938758475 851454917 866734223 895570175 809661731 653712887 334397917 58807695 812671075 103011633 47468979 738521749 150301485 12260355 116430361 73016099 77071789 226199103 669100441 207746577 327364371 757849091 859312207 568719613 970140313 728263345 185220309 10571603 968124547 205587957 912364369 472972097 803012891 183603909 840553077 286082751 803908531 457441373 56595061 257514637 922593189 343641409 766236173 145185591 885887827 522965053 125298055 73696775 17610537 915933031 973639089 534241307 428270231 942481175 755575007 778502991 564969753 33116919 148990447 385753423 634422063 776700653 734902089 55363719 673478501 92543027 714604507 239665971 509679949 175912001 216344605 221519953 906512513 287544797 932446473 96903851 772713891 358718485 741108007 318497745 964128607 959551289 363608967 263587609 948951909 336423401 586050239 182902949 46307183 91106825 929220075 648954461 609422915 557906371 503849395 729566963 865199783 840576139 820077891 413110491 256744047 166743073 912708437 757051225 526078325 651073415 675799845 286053237 400380571 128526343 314080633 870292221 205697741 586657849 164878751 939470219 191237115 330743031 66712687 151319935 347324959 737208935 950142279 769791233 597012543 970218227 81243403 910383873 299020641 563169873 220633387 598754873 690221977 603390589 215966877 531020839 135514881 951931579 926090977 890439187 119809211 69876375 663850745 701698063 85919731 918535909 947686519 334103539 58080473 680886979 57728113 282549343 78310825 365744787 583442563 929975225 573915043 222494977 177051605 934680885 467582483 537554949 387407379 895520201 913241419 413585367 169022583 402414903 311228837 515814909 448087229 541381893 88738437 995810883 791444523 20575621 161463121 727886783 484211345 948259535 671053439 987470793 589226307 724388289 118617737 139483915 425115167 33750791 79830255 608595053 227461263 979565581 72948031 761976867 569393789 608459279 58618375 80428205 950247265 384905997 618222051 228751819 773090617 122208973 654633077 570373517 995296653 741368799 863168873 870731075 309718633 189833887 382836591 317772941 87144293 953985577 806698819 534383695 70637725 60439399 870321829 666837939 99324857 446630411 843743585 83591983 695633127 566521739 622542923 89421183 426543579 68620327 251749433 155652261 834913495 783655913 567999759 843491057 594390431 811840927 984199353 777674741 921491075 442720227 673994791 748901261 556893015 536752661 511856213 551704287 782579323 930715997 955669827 189722455 99229651 319433645 579835647 618937255 698279377 165821113 766900887 621996237 386719847 714417925 100205351 501757197 521501205 285866201 487038161 887396595 562794211 254149443 329093569 256711763 458352989 726856989 877146407 479805771 582016923 707530759 853514815 301025085 414630969 272231273 34725707 277946839 947303263 629083507 962560659 152073739 393700795 399964189 240768875 350234391 263257987 184253993 158710573 201061249 778212725 863161373 282222141 652973073 522161623 309587275 904555267 981477599 140960631 216330955 481678577 251815491 804334255 89450619 832779651 721841127 348573783 316014087 974843705 883709363 356016859 81079261 819322015 533080797 595551525 334471733 702936905 40016095 326524335 913716753 682376909 599364225 332399987 793224759 177312719 4191435 139159291 430568503 917083387 886999061 861835603 511334253 330359299 773075193 404964627 724328949 792274589 7798621 499649879 188763579 293050257 844527467 305602247 379302763 391199653 977670809 367661201 194347393 158022829 749780643 915131755 646569277 168740485 561213069 477001363 915070883 716176395 526252451 124879567 387093129 514530861 106289785 982380911 783591811 792385245 808582637 895118663 61775603 438358545 777520671 154114487 872516355 6876881 556431233 491187619 884760223 848831523 486771651 893972605 421520515 902068253 339047651 52266295 293695533 642693845 463602727 91594579 647458533 293662577 137909015 584066517 48737471 223039255 816216713 548112971 377930639 768961535 293088667 704692173 180622327 559604831 819417263 92098551 457774687 239046521 116236403 568975857 60428791 982139035 332035803 873023849 939271607 483197459 848283681 135203733 998141793 857065021 991381451 110553651 494809725 612053117 441340839 214598795 437779289 599106619 66528967 621385319 491289615 30268393 982717575 654255907 586110333 428956675 812394379 598117527 228815951 262351371 496068801 632619055 957041651 714083209 570938973 108600791 231650721 155807507 610296027 401005827 226384219 77993279 742861821 620304309 708896999 123336115 613762003 294851953 942341847 646321175 911385519 527633989 291920771 176739101 808339245 134822345 794070025 3687297 760014643 111491097 800216405 57024773 866744557 591064285 550368021 8535921 469024461 943383107 148748481 981045145 866320785 696489985 701702809 836278873 745940797 338644053 723347111 293735825 487048221 476128519 54082491 316798763 261246917 309843555 277824619 448469529 635643411 158606911 125095963 436896599 92033065 248015099 351903727 639154919 129020275 43830397 735592409 667571921 483194025 949012785 84643219 63738411 649345731 394042129 603902875 742884875 659670535 203403415 803277883 485290647 690628867 476559309 795231875 359070199 444669319 672293697 587871049 85398365 368114611 47388935 129945647 817429509 759020265 20114877 813882525 702409777 350565079 217774987 865552067 869325865 598711921 71417119 311116443 26787651 850314995 71208113 35384035 108619477 275315423 941256955 192366117 994086725 719951109 987125317 228211631 209383163 228014965 346421599 587418267 37300587 229876369 306416285 515381961 80274957 50362359 828391135 213991393 608687971 354450329 394029195 125055571 372337147 199791269 479658127 199014487 463230307 720625309 747081057 720418031 590931769 714910275 824203261 723320545 979150365 878414499 883191021 705817023 638632121 610455057 165348671 772380897 414345919 266681131 310641031 866045543 957366763 904017361 163253987 749923895 750558463 527910453 284956155 117321989 405345477 196602823 400606207 660417863 321141005 428849221 531766689 109354047 794280373 851864243 370043425 441292531 599210397 468464735 700259911 395897653 613534127 320023001 348402527 334647963 336910301 27656705 309404223 273823625 999799843 182782201 124025927 858587683 392168323 720594735 379745373 651377501 100593927 755156053 620101615 938849261 591917759 603282539 251747825 560264531 706046665 443241649 700846053 97744601 885238341 721477813 317950671 4870287 425926749 860789069 95050303 403026507 444261189 659243411 622153033 218503343 125478197 391101933 191991179 367691299 669818737 401903365 351497263 366771161 695161153 966040783 715643103 404268741 66970875 327971723 240942291 121688749 935039733 385559739 839385545 222203155 505421973 489297449 322160905 161694285 550931267 899572461 290649183 91914863 635915123 334768739 322551073 954893915 302680989 774480171 258980145 75472057 343381829 580327479 773719023 570060537 924213237 374238135 126395727 530063443 585817661 296284201 405371589 173433033 501122747 860007249 69732431 185860643 856738575 545020731 862887283 999791855 847665891 841560379 61215809 70971271 462831339 968445167 916563533 566436619 8219615 315573561 301002677 111390817 679384963 681499973 797656611 571204413 570023841 345363339 960751041 339467543 794896649 546613443 283578951 451561003 812508313 428573939 854639605 344743559 841978929 253447271 464731277 204147959 858487739 66389685 237817441 114230803 133878827 255967671 834647879 672901439 941129849 853803153 87145371 836434335 379284137 916764849 86936389 140109095 936566469 989591755 321519283 993574797 812640221 645188057 851863003 479198547 581914383 996387363 755053883 561581759 110176379 81860145 292659417 161189601 346581579 986133979 230141251 588433557 130313651 178516283 259582099 499947383 159367147 641257399 591995233 744655603 783122743 560130297 207461337 840008501 59884513 673394167 363886757 936147001 788218683 42724845 535606781 648763581 958740637 271480669 686152353 992250699 822467693 350928151 375587029 44162353 479484693 140679981 803309415 424257419 431279107 382003709 759360685 920682037 234577591 690374441 803953033 541220057 459154863 379215517 669619293 358368231 981726071 166746511 154190361 783238041 909513631 106607483 242582321 144176877 373809093 824770853 199604903 982442157 494507145 655995803 261115649 96451687 142504597 944177965 691126089 183417717 927325597 51979387 255728155 43741175 128470875 33371495 661314191 996631509 387303055 789574175 519136593 418149823 948750851 894542869 314796939 926269485 369802125 618244871 156133879 25217121 958976261 699569659 307569615 848081249 132341581 596897337 568729053 796525311 174696271 161244761 411169133 879269587 308147967 203386165 995725143 534133565 838109783 518269169 926859511 522560101 936871511 527887867 810439989 428401979 697328137 500783111 82947967 341201527 585725315 785048849 327403723 736653721 455138525 194051163 325651095 91684331 893717305 339951989 724983787 908045693 312265667 493745969 189573713 355444263 155530921 885076651 600675045 82941575 62287915 766709321 673819455 647903497 2689415 665584309 125207691 555193051 871776777 494100965 336465523 244948213 294752771 366003733 277483057 403484439 130513357 867890377 896966017 360519883 843128527 437268941 26186663 818656351 352244333 138339381 626380919 85363183 49232157 28491103 298052417 957124183 716038999 562926573 694047209 222826049 800829599 980419275 537137105 973299999 21727359 740536369 23498473 781918759 52436361 326918295 173547175 41819993 917602903 406071235 164713737 185736317 315763339 359503809 873141653 218305575 679802321 909852135 258457691 991953067 930175193 802804175 240717041 729539883 387019357 149328989 170764657 735151759 895410721 433499839 442032519 437584519 657611247 756237673 295795039 480362637 930972313 963869973 446069421 151482591 983787257 65716681 47526323 647949189 730679025 404654547 546391605 845972817 548527213 731659461 595746945 344801499 609485405 115914875 588151919 437997955 409825723 756174873 908104283 57910897 94619275 777087759 49242671 342762389 108204759 954087437 481069141 360139431 304778161 597620751 428361413 888613929 436247091 390153565 579857917 119381601 224108159 849991297 977560067 502742625 748442305 448412495 705275751 352688385 728529961 615880163 335178815 347182047 624876529 978493859 932439845 19142759 806236767 214504507 693229125 16381639 988308921 376596125 24353355 207069431 569255763 970672135 782754667 28287929 352598663 274916093 978226791 326579091 285777335 882827851 416139139 385453013 548522829 355580933 397148559 989326235 938341565 513366665 594153693 445464257 970361729 933974905 453455441 134379251 576935961 107350723 236400205 928335005 993916177 436946329 360949185 743968251 339446267 87173499 119052579 715002891 998661233 850516777 743608691 492339607 969210133 671111089 443077939 249512495 770879635 442447209 436766581 486475561 341139099 64564971 554462413 628057255 229960937 568472091 536891485 36629649 283889213 162081063 838059205 322488217 690464611 618747779 708924217 892059699 834042925 732606699 73024109 498484131 395687029 892237921 154581917 382478065 987200285 383683381 482689427 3758059 336147729 422980089 692544413 498335275 8401473 961600393 112404111 63048209 617880745 397801995 310873031 85347269 704190793 582553065 889933359 308700727 88971565 444265177 288863025 852519457 478086247 863577815 102599621 352648961 458562833 340151591 961780585 683977759 95958605 632660821 990082853 72455053 648319303 67432501 506910341 845942563 33411119 735881443 672793247 326349185 45092161 851526085 281930005 979296013 801094077 894738311 312679175 432076539 164927727 521861147 170591273 969872963 984477993 987683775 98172335 40134305 316006087 578130935 739447127 391292321 869124391 242411153 461739623 960916371 616475063 382958237 145634477 62389903 208108775 519412091 747829633 225998195 212962097 344360397 743170241 164559595 249132059 696118401 83471313 495624805 611287339 278002635 361259171 981357849 857260277 292094501 628023465 213489415 335174675 357023063 141468643 707267065 908955689 421684585 782613977 126983805 623526621 676736947 738562711 304156399 95837925 828079567 678247347 206469739 62372603 659121825 385886031 777907675 290088161 814259033 291148557 491374321 839730271 153559653 818997019 440130339 273946697 773022343 776694579 288297649 703072633 80572865 683195793 929884581 503736273 382848607 658824699 566848205 5327677 355764213 956128449 899337411 499091629 961102943 133655991 645418727 856189213 39226051 240422205 493221985 301531279 455108235 333303095 189825315 112704267 624134765 766056981 676304609 147722661 177522533 204518351 85214751 112509815 159749559 463896799 129015077 518391461 15349743 81360207 896526081 119719765 88505315 703940011 828709517 852831423 436633003 452862985 136248681 587441687 762666159 267581707 957155581 950147493 630930587 444756691 664011129 976727983 817590371 649128975 550658773 961574793 609305409 683492089 632562643 672232591 360160699 823821389 35287289 781647647 713169055 590951507 907553689 878095783 197632509 977036245 551470795 970632087 720813109 124013869 865308781 171133547 462581481 747835705 785302059 20597411 688544775 559899743 216712819 622504141 95073987 693841803 11634045 358048375 22194841 495458613 316961867 342486333 693860939 542997597 139841955 95027139 548727529 62351751 388141333 101881521 570394309 344478657 378739197 356660153 591076475 334022561 974915191 35304599 952520689 586180681 44281967 119618571 777309009 74376283 515543697 936508643 57522705 734298887 173865817 413568237 555693037 320805635 29713415 455281669 547732969 388954509 528975775 151815439 531495247 256644971 939189751 274019571 698526905 156432877 509288099 706559395 817892605 271855079 878170629 401444123 115856963 107514041 22502983 244560475 130324727 27110215 610542165 35834993 87524555 848032515 403627243 170956651 989275069 495941343 734409095 212334437 245683985 346532445 944730993 96826755 650229331 18603647 756280509 17193197 973700697 283945177 330742079 995258325 378321467 564367995 846156697 274455671 982335587 613662985 270280243 406146579 907223417 440761765 918625853 556004855 284407665 445861887 444674737 372021361 767304329 899868493 753131339 272496607 967918663 555470157 461645721 443245983 862222963 586750789 545108455 234287391 964540453 448653573 877428303 819074769 373981367 831763937 269413809 264803115 956139215 918437817 111161523 559760309 17990487 123814387 801880265 796835317 427330181 955049083 617283371 88602241 321659603 914299083 475656149 689000431 710263305 798762717 755564179 472725989 916510257 520470075 761739253 506159627 512001695 845072627 512398931 204238099 459736303 853182615 555782859 36742585 383841287 754030411 80062537 746726335 857298193 3231409 290803323 910833389 830803587 313197305 992294105 356630553 389224217 459971545 435657635 20546585 166049495 780673423 820438243 354074323 690803209 723519459 580494185 433058351 376405061 255171359 911952331 356933919 837866339 520171295 54122349 442005151 41906315 507912253 676838771 404648625 526344489 634856543 872589263 858030941 935993839 956918263 791106619 708646841 433929181 484322553 417925941 906684635 415190835 257478625 668291335 571701993 427774591 906848953 764193473 2267659 304461207 743847951 630163769 295857011 466834581 65540597 197409297 296753757 804059357 445463823 244612273 419200779 606349853 823506303 286675785 325019079 57790793 977080309 118647763 495436257 823537051 51143847 615912205 406972087 553894811 782784597 503399809 383847591 9617425 153847105 99346045 488447007 184012053 953727549 883336475 178365585 289553665 715223453 411393339 297120117 329743739 270903361 780583045 686635855 333081709 629026959 291052393 520114855 144815373 368685429 744191007 48532243 931110615 484466023 220427177 689059369 346350223 757819239 66418381 673141903 974407487 634443257 379097373 382858989 832657729 388446251 283238385 853468407 227019563 415799957 75703145 553914981 60215525 218248789 218396011 212891129 228758683 403364879 147158187 141484673 588866495 616383731 463423391 235060685 443464207 101489593 224360329 877330357 523939471 930602395 625679727 972791071 753273483 988359521 638349091 82826483 841848471 80125019 203687995 909581093 638899601 797892959 281870107 638945197 448734107 931933641 534538727 235906447 725804323 24694401 218371475 363343315 622177245 292038387 10045141 215316111 91730883 26856473 843559725 669572057 595706907 761674095 600605157 458733783 272794227 529731579 193946381 970703537 515254685 140239179 631282811 486948251 707918005 524640887 704943825 321568717 244979743 238081821 693832823 687479947 640857737 637127265 972539551 133689629 47295975 481459189 978532415 531188185 339753077 52110603 249248535 367609623 426856373 975717219 135138991 604035641 785116023 651448901 343202651 544411305 714984141 628049789 732942639 65964761 108664595 532604001 161445645 192008517 206724847 815128273 186098077 593984367 486103371 274704947 123088463 79165153 747047005 283438709 133751901 423546413 255355041 991702285 121459651 71860203 973017051 257785337 540052047 551872961 859326999 949322431 152802445 64367959 875267243 353644909 607221975 677612897 234086703 152166299 492147277 829061271 662649483 755985767 79210455 507209405 425649643 391112821 969315619 695223197 300819905 284687607 875456431 369895945 537383627 143546527 590560181 493822169 455588111 32108973 417146691 541856243 122083541 724066281 975331621 465878847 423545779 581564831 762362355 463712689 852247431 98044583 518926609 85648449 945614709 995531613 116461987 5381363 105378023 531874217 977691037 68992977 566832785 847988217 706680501 500291053 877499251 624826433 769597805 419989087 835682253 972429059 190163979 989552973 57952303 349486661 521716127 86519521 423256683 117379217 146002693 216971337 122822301 278153729 145692121 902811845 404707369 217449779 71230343 177345169 279709373 115349069 654844987 781125629 737725773 19170811 539454961 377237593 68557077 820501109 477679463 254091519 111212697 317398139 781533991 104730705 170377893 231843407 836019329 686979769 871403853 42325701 63423115 459752875 206543085 547007021 489082663 846549151 227490603 458574185 653306365 308591129 952102387 536081631 554884989 796477091 612174967 495580029 792301025 972302287 54861365 320206777 700015143 110996789 590766577 212207761 369579289 111585147 403860151 898753677 886400069 788582219 404606683 215977655 697773829 96832083 619457275 272334761 377406841 173981267 44995833 515287169 773185417 207543305 299180803 293487077 924312549 917612097 791191181 621654785 306080517 801853643 240616785 98291853 973533739 157993349 409725013 602761161 257184861 624736591 821666535 777446265 12352877 424766229 797629335 533652715 589014771 81973445 770956613 238227703 750702927 707950687 880502805 80557817 367941801 194085089 155019889 576679897 10951665 396201815 790952975 986493189 822316511 127842259 391326953 198546291 585717235 402291821 533889095 400444065 581687161 461517899 620956595 346042773 144764539 988087959 135846911 238935519 534083799 621455745 841693773 223806099 130439465 52931907 926600955 618532689 968018909 712396065 393540795 303669567 955899425 374477413 807064445 551099913 246731501 492444001 151353727 516221673 460660225 347745903 476557381 124125593 598747367 458162417 858696091 240536931 812962797 992867409 95628949 509811219 873916719 210665219 10074255 175723265 740289929 260521857 72740911 641392139 860866469 239024459 460998753 583559317 53365493 766875117 517626199 917226127 700665007 127948279 104096657 240513903 977964755 494917639 332277967 712990515 114729769 878939071 556272415 44212065 735674437 90894533 897772501 552155145 824769147 946961359 618496143 245101759 604931821 56513429 164663857 844263331 997268099 129820123 161530339 518633051 185242861 423091819 507955743 861669651 373308325 231078935 762882463 528129413 417721065 958634425 592454757 862141421 380710593 515876147 958991041 688081425 475248127 973894257 876208707 225917503 966193979 697937507 641201355 741003855 419536853 504260611 99912061 233220765 676861173 284873047 418599875 406231825 146337419 909426787 394232915 855512089 192295503 675381311 908655145 635118507 400350403 323892739 900701577 754090567 674599469 187387347 226725629 707610607 912008095 930965461 733047389 218178869 371405809 912955711 111724997 368325165 582292673 141373771 76095127 947775351 743674747 34610233 209402495 197940025 372399693 319898709 398850675 30459937 765429039 983044337 860150703 670894691 223131875 188987239 718705335 323834049 474433519 905160217 193858135 115600767 457398179 869425011 445933733 529516907 595702043 660627173 869144569 801325789 249787443 236031977 799992317 410850483 11327127 328391427 415801495 324885841 65284275 249507005 750683905 96983975 234152643 707675305 883889843 690904107 826715077 677626465 839333491 250665947 991409795 176962697 412754767 126215999 867872909 121756615 612583831 146618211 785739065 51369937 14768107 79417565 82095785 852263009 321853487 641789645 118139077 157200951 882248333 915568089 797464639 684914719 573751419 30487855 604254091 197013995 373087155 978201987 212987373 642524533 4295485 422435351 672791661 829743521 211066977 118244783 597859545 9075029 669678007 130630043 568537291 157397639 671321113 432866991 977588899 314476337 608139693 804347465 924867209 453920339 144090333 591917907 152699245 846929657 666536799 799302455 656577545 655132981 989170991 447658733 543253979 379361569 806227345 9588211 534871083 854171617 45856785 651701073 233709835 116267163 327774595 356049555 11901523 630209413 486949125 67559631 566736035 124774617 63400185 840271781 6178913 264735703 753963531 374701627 165740225 382798797 249945139 960476223 170159803 225726217 616521641 998064359 304820747 287755239 848973299 498270705 806580285 129207753 641350877 949605027 928002465 994386971 238545277 702742219 432085583 102946637 775231275 379680193 359992613 456725467 944232081 747934563 590118607 141703493 654261911 491632917 94666939 676881687 998795633 40081607 733526561 203165155 418750879 255871985 848478465 237533251 655695585 801760397 600216869 793313755 493696327 722664485 41715483 338155091 279945761 83154117 785366335 870260317 159000847 863993859 418458285 374284467 229732597 425909247 781109841 171677979 219994365 364116063 582196695 173725019 145616797 75665745 656292027 317632071 671697809 496148619 124819259 168214713 241346779 538478155 199216993 501719189 645963723 654068311 259728891 376817091 964016115 433372927 943013283 706758453 21895473 435205655 172152761 811834853 686883493 261363709 837184357 630086617 402295745 241514139 415967897 410338071 976431413 418672731 931085577 292976819 518096895 397481781 574546745 226324423 811671651 710491049 794270577 556271223 265205485 152752571 262235839 601526507 83027825 573408761 85875197 388979797 509790733 76806777 922855115 546963953 771129379 852782555 892540561 620880383 613390177 531680325 600359807 645665995 562762937 477851749 345221517 825451433 903353193 753822321 451714429 284421103 453171191 550370599 313714645 352846337 838687531 457367245 400053735 598169163 935289629 5448243 359289035 473790013 163457575 182634925 180898911 629732179 219319277 489906203 957261903 786661391 876127325 612969953 735949065 64934649 356836523 867592689 822565061 430777253 498916433 47396541 25572485 67248559 944808983 982437191 359718671 952278965 407159557 701079057 317833715 572901477 881803635 463485999 25419917 279509871 240570363 176481841 556988665 61988495 874969731 905691961 729366307 772663941 181388597 604076015 864145847 730585631 55252871 326065531 395384113 230072619 327406901 410946201 164128465 493020037 676046147 148156549 907010459 847460369 943968509 225533447 37311845 163886519 583234295 885422697 959389123 35212905 866883599 454751367 640727831 912090147 996783207 35538361 282100619 376186341 369150571 879567595 203376139 355467453 241503697 801178503 164501331 860184761 945424535 802625671 413364449 138219511 198225405 658276197 541560319 881955221 28520337 974382379 960457915 30097089 485149223 949758821 1684207 882054571 370290397 541774635 42178363 180112527 114037269 601427483 207376903 418512047 491029117 597478745 345656451 190505811 963097097 628152469 224718761 837501649 242518771 855537413 924585781 498432895 734665921 507199079 566359733 149655235 502904129 717755393 775870069 891122691 666011013 207360931 255104143 319930807 580855017 465396385 240262627 643208789 568311825 868136667 885201687 154663775 556662763 562534839 982500255 953663075 130939051 917977889 381835955 760857583 929509069 524184723 531512911 695396001 71584787 594480135 312408127 43288599 167329421 356296455 537238803 674893823 812936589 159888287 645390115 22912779 854222001 194938727 732776845 133897713 587911385 879692925 684351805 147449977 833879351 627211909 540796897 834212971 108509243 271584175 518266097 512313495 939439779 794189233 6355117 34299353 636150899 301437129 34496287 383031829 406624247 405070013 263342871 270053171 126928579 780536285 538745131 744172581 401774773 271084543 896843455 621644775 236645103 844683133 801537271 307204731 702645981 55406659 338984389 410536939 560471863 940225725 142235363 410973511 876736757 77459167 781063889 953082797 228625501 512203563 629245907 716303675 324976637 918545829 894770943 792058911 421264293 553299163 854122793 658087819 555404149 846713573 209452531 631855287 841074895 522451553 104464069 121672677 111004001 390800755 494063055 48513891 191594527 851187915 142376203 656011903 885467205 753200799 379375927 600828567 481242709 597392301 815316189 203243019 693894431 192650813 924043595 405196613 287049397 102167323 539154331 471262647 317587315 508705437 653546925 648917213 250832125 560208291 549768489 329985337 793895235 960348819 936175743 176042325 325998965 465674329 805118951 376822977 451322127 612175727 48575587 724678427 80868569 378796241 388038329 330468097 843812829 991365381 174591099 910144289 719164015 182188313 200956673 600713517 784049965 425455013 804770923 665087197 120022521 816849351 466271391 662027509 331081983 755580451 995046993 481359933 675318709 843676649 40840695 539453067 788395479 998810063 443709651 259389877 174541929 851842325 890140651 825793185 375832761 878761085 87087377 785017399 113110359 346940761 815268315 24567915 124998947 309380735 763337901 821529397 612872255 960387403 421254571 150549913 276482329 334103203 297958857 489177247 529859939 905902073 193036221 694251613 12068125 644428865 818270983 723734763 825342343 258746105 698564337 908582761 570960431 244639527 630982539 502686471 41589227 961570905 986355883 513589745 259956181 996480935 450774259 199448165 475137619 213000367 695634635 102857125 24170511 251675285 183233381 678544123 112793853 606209801 661594551 83260599 94633309 268519747 157642625 540695351 806908081 113464573 752428107 428639195 661654213 947219329 20215913 592910349 631286955 38085275 993912815 377324097 245156805 396791713 595126719 780814063 174804659 988513395 641645185 129384347 60341857 702498935 28474789 319305677 875871493 840712603 221451365 878384155 948689691 225185621 160673469 933419293 98467943 723192737 181576827 514571893 13880565 618060299 844668971 229013965 548559897 719942811 116230695 629345239 670872433 24854251 863787407 647436625 598697439 676611353 164035915 399808503 647318671 991344329 514308875 638170521 150977017 945925675 349391943 807297287 463219925 230937847 352034111 275541787 281344297 234404711 713971711 632231861 875003713 376165701 115490643 509054661 425310387 866950365 614720467 251920695 488113497 699775495 519976163 713619467 360996439 830204191 669814695 898808637 86678299 877369357 693190163 726581981 765529689 24846141 970717 104179707 916595979 612246697 306039175 127845809 431999865 972355789 284037975 245131297 737836075 291687343 47975005 943971189 487058169 390111711 606967157 100936929 795816957 234476401 667382843 716125085 940038301 99382533 921235483 482106861 861526147 700680895 904566081 18322971 286984357 953696081 925263785 482425207 982531647 165889261 516756497 987486559 470339027 319304789 280386819 620706355 938784817 310023115 796237263 48512093 659129195 986266145 54263691 591791953 799216095 119802285 775869465 174013575 837091119 970441035 272976161 843905667 861347143 739979619 799382291 443533775 763875677 581472483 85062697 917556733 472700141 762338369 711320417 703703719 580311741 783768699 244541317 760984175 660038613 846302231 523527203 409043455 790686859 281017893 291764885 302709515 542801277 229721401 403342587 390657867 692065933 618493555 24682813 442148739 945507305 648883319 28063243 309469821 853714179 992761975 319314909 540369931 414101915 987077413 364202485 880245255 390396081 47451075 576925529 160643923 359895443 689281813 660562395 884612825 514774231 676966505 924755731 271654541 144075095 995953813 294552417 272877159 343763255 736874747 270057709 85131627 423289573 751194237 267142823 673552547 594156565 230060683 374340423 406910497 420780739 927758363 965335629 168450047 423440945 635594411 588416261 656343391 924692463 335509825 775771513 823612779 161695951 784959341 403994503 379726935 293304301 424706627 911932875 72629851 154692527 538611043 610379953 296954043 602332351 19842547 162429287 74384065 706871059 757546399 56790757 444957375 220420839 521168287 237911275 100825359 436816831 892493235 853506307 53999891 377531751 922460447 950231931 637520951 427140851 232270769 997296239 748380393 595728833 241176769 145423547 927749033 972789875 888321067 650767625 96050165 306941943 110944087 768713931 653513561 773635199 770320435 13581111 692192359 507543689 660961845 864770637 653489593 644187609 894093149 674046933 630428913 170915451 814868781 650038371 184495033 758006725 82691511 35263563 640448197 916783441 355515535 421193903 641912015 402897923 592009685 333759095 758655895 295750921 312617775 992492371 898502377 118085335 259277513 205423805 742239639 979586599 607892573 966524147 229492859 762200321 452742693 661369341 508453239 216045997 704797675 722188461 355163253 69611971 126188541 56714139 961028713 339229469 46495277 252684327 905688653 52019425 857693407 908018041 456633889 560997497 669421557 831603073 503480817 250287259 420650975 6447607 285334223 169011265 453383827 28900189 532796373 133728179 507909775 938817529 728275237 76045179 141620187 365480157 946737897 759731565 89886467 640446177 106058837 949455269 199403037 130297253 807150755 950540169 638534089 370368655 553635859 844712645 551230509 87308755 801563889 171488843 791410677 238426983 251862671 431180633 242324315 889458701 410000455 127386227 242750747 76695627 625598587 932876901 270222715 257177457 25522071 889213763 395032393 180651675 372821259 795845995 589123293 599995301 82159185 633563775 570694419 985271355 692156911 890685037 438135381 85415625 347010155 276957799 218616717 940789131 553101657 414603757 475802931 96093567 935206483 857621439 385335877 762993007 590576635 562420459 569208139 453379819 24306941 783825351 300812625 711769417 580446985 55910637 737204973 976135851 825930713 547071553 217055551 235452153 36358193 408990193 307326189 915911909 197007067 680935281 343392549 212923619 956285867 770414717 494226587 462592567 400600695 792449047 323093137 869111785 84957731 141725071 371840459 425309639 434490777 423976311 138547607 22548331 529511631 872022187 225070285 297439541 552292793 646002001 16235723 302214477 514002269 607240659 670162549 46520483 773115079 748572135 802600251 595212273 324902917 2556809 190050325 858293429 473618739 459366909 696607357 698476087 873476467 922471631 993225085 510452361 482247665 639512275 467559073 67822467 462869725 548670757 641459967 710212549 155647601 711807019 105966647 637016501 116515315 825502865 988296047 172472967 763113641 83119689 940884565 43006259 583252199 976304017 719620125 623825781 764526343 658089455 972331145 65197273 301321323 630287147 561902813 269418415 80081535 496426587 629052137 126876175 103135155 451468509 17384449 85664983 940988035 561554259 779819013 599676595 171048559 839476395 210296921 426022161 685084419 445955865 572156653 74447145 646090451 808496407 817888055 158922491 65811573 988718189 665482551 221221457 702382477 435567395 554970223 675873723 224596935 733899409 470828785 854242703 476266451 131212881 19715667 871325423 634063469 882228039 433208497 622010565 421507413 903350947 919303603 911666877 334890071 415050963 224333191 926438483 394353733 815365785 839867363 469829061 50545659 173816823 855516421 854541597 688769879 124720441 452817075 103387433 508748871 70556659 162379579 346803843 98790331 783587329 569020021 61185163 643717295 692003465 290368703 245826665 519645987 663121141 267664383 42193935 113148707 943130107 137928865 903424305 686143427 516362903 464324765 36400211 867613721 965633805 867289203 97685437 229448777 561507819 91364901 5880957 387058815 749075713 820181061 404583789 249729003 103864429 233220329 624109613 420627913 665953175 158437549 154008101 656866905 990335525 674470329 915122053 982194153 488581905 812406971 171497029 518342599 468391315 884978665 509252391 563452239 651059249 866983425 605493425 987959525 326480313 398144841 394994229 289849583 896671291 900671633 748479179 538650341 186798103 72612397 564360785 928754235 874832111 124304125 331137651 554872185 54192305 662555493 548440479 762924325 441953425 403674199 956545549 850820307 839368203 355410501 49303231 558013471 16087009 942174767 672947835 694514087 788454691 525503133 969764049 817046041 305922595 325992603 821898525 678038821 290948477 567996609 782049659 955874951 210200343 140876331 825220055 77262081 277030683 235455361 776459485 232466779 586471167 350884337 770404105 278416745 945097343 880706609 321397659 425003271 392504479 179237247 51741079 309871891 105813163 883152547 334555347 743956091 567188279 409659111 56693987 191163695 257093407 341290277 632327723 795029291 186472585 643474619 24911055 10190705 344936417 761721487 387020225 7949065 757744857 495535117 399005115 192910343 630910319 501159983 915187771 516701319 439472871 422835823 821958283 948207015 996368589 436184023 336960185 613973653 63991 268849651 396402847 753296259 514799999 275578843 705386205 953071271 814383049 193339179 134691291 625763145 653751683 184948491 686845641 39166639 28903071 184614697 936608417 56100655 839552861 792879803 649408287 755362079 73612605 974279551 95941073 873165285 289434637 204923069 768097027 64046825 73233123 431277121 11408591 340656797 770196249 907890529 176539669 434095485 390984533 787624957 430119803 589220619 570077825 835786105 37652597 669209807 185289939 32972743 154780731 961565021 833157829 43926617 382620873 468917585 580195871 678851889 159330283 409568329 605312747 71535571 920430129 899748851 508881021 309855821 621224947 343560961 231575665 244974135 495846991 417865259 726826413 440531373 463647793 695294259 585598811 363568217 391376711 695977959 187111409 176210021 778871561 908979477 178109483 954104713 586849719 690972571 641760781 774794243 116802907 448064855 545498595 692962201 324570821 187537463 109598531 745420443 991511179 10953005 69097989 937927901 247676433 821636401 403258705 583675583 889605755 634684997 631423635 979478567 358979517 486146167 144575613 90289027 863017867 244133077 371056655 681204423 238778987 948305533 898533257 803779701 962586783 948894607 827423609 236108945 832528701 930923573 884771765 222845353 996033817 706032033 628343383 760214485 321807317 110252815 960446147 469478321 219900633 239898817 929023655 454457191 153613397 103844095 40861431 667567009 898801219 544271647 862053613 989136535 312935265 249327223 338904849 824772871 974913081 324797293 728958507 380272441 190594073 654136425 948900947 936533495 373116955 412275421 570325987 369211805 641327647 77003335 935639169 288001285 550474189 811535139 814943767 535322775 278602133 546364929 225778139 485635903 211340719 916519535 129802569 485206903 924169501 689587211 121064229 337441339 848021157 76444021 396111483 663353361 13247961 237073239 413894047 413588487 956310033 986052451 36846381 864681141 484366189 443722069 988810507 112065847 545071059 34509807 584827237 801973815 12338679 192531451 602139053 981884127 535255119 126357321 445359521 610357223 509302813 364917175 429892677 88075405 66410087 614650405 277255909 983838105 856488191 58772861 830005783 738971735 562505595 914819505 308137139 211667869 752835647 363247293 713742561 914674379 62281071 265179555 494983437 551703239 434915839 387867501 595763947 973620991 943450789 123227179 787708533 633305705 769538273 854307835 310646003 537745025 186586621 524906493 40076781 46428243 221865481 322883931 568649787 651117415 114153179 198832199 160134903 838133463 863011093 597405951 681436293 83862593 939237151 905832127 867622291 460580041 215522859 543501527 413267989 52558879 590015279 489585047 748172871 962249593 684287979 863692119 436359083 731484311 531891175 531182461 445989905 525372091 830766967 241189745 721604747 694786999 63972015 197944231 30720117 738169057 694585969 459664023 641950325 239163413 219755365 653534149 411221877 944106683 755680507 419726523 982825389 944382145 472961133 158425609 374573971 799468443 570189239 577154637 169598705 77985099 881298599 28931367 477970897 198557525 736018889 908959809 864653193 167828425 298131831 97228879 527619505 499893819 861189841 304647689 648262961 246015691 276682943 502832435 407990581 429623581 997725937 836813717 960673839 353345889 283798751 738817541 45516509 620845391 618588875 81681755 912002885 455002913 918097595 710244729 294540207 131931809 307847041 877451849 967950769 234866715 453398963 61063871 605808937 747318629 569953461 200546259 458181435 155744991 839968173 356465545 193015633 986326639 801256585 779941353 852985375 103699075 20537093 767010825 155766437 193221393 532443553 721383681 215122723 710652567 838238371 915748083 926438441 553272091 565399835 590846473 737549193 630929197 587108325 717179255 602085727 898884321 441909917 296890997 697367823 465231575 121133743 7864135 660525129 19787571 775715911 245575735 721646587 611607205 601035105 259155607 320148327 683015013 232510139 727101887 929891599 780864557 677269727 440863765 552073151 485834567 892461341 498707459 436274571 479549823 565724811 674380535 895726799 860609837 950331147 577411185 111505201 110230829 848259141 688597743 5133469 590434791 1512617 539206907 155499077 716813385 90037873 863880747 857965991 642563273 597912731 853279767 807098247 426902117 348065777 286608737 43563761 983988643 638334465 601370291 66469435 822550419 515782181 944219073 903009789 652963017 552665725 880124995 119187999 594261093 212710129 625746685 367921357 36658443 362162737 882846393 578104699 866237933 946764469 256231753 249071587 909633469 349189567 268779655 96972555 305503165 870121559 726179669 92445249 446291631 684698187 293929629 529521173 919625703 279609139 648860243 914727783 825610805 849590131 767687279 604933723 430266109 303023409 167233013 515303771 47144737 382013277 139665903 147570717 804934161 221818031 526470767 15413915 283114691 750583463 610731407 811008541 376785077 86705297 196456049 145577517 148483821 476757111 581128255 580533151 919717115 440252471 575308589 153975183 722426355 253541485 968708981 742320739 392132469 81762181 327141975 317291205 239679141 262797997 304890655 674450603 319496501 692069085 337793053 539858513 193571415 572654549 808184751 949761339 440804301 582617375 763487541 500722997 849136859 467469065 900256283 804971347 327529295 423489967 249039569 62891761 446122625 620211693 117324753 424249013 714992717 300881517 974317727 326941579 407324699 708423329 387444421 671312293 728946137 699952575 534160085 355676035 538603261 262762951 944925545 385618149 900061573 823458433 964908067 152077785 634185465 511445633 887698095 65628595 285926757 434149915 490350011 518342161 656841823 288868977 274965511 919146455 306691591 826271851 706409809 735851567 24035329 522219961 881529189 941913997 307564671 37954005 695143701 925311153 622758709 791077117 250946875 290665371 992675423 531655481 15100857 607451291 768722375 689119067 471191673 157809473 405201337 330053115 200554095 771859309 22169613 79615609 750379157 330468419 217449249 334091261 487698155 946695981 402230489 742378103 530778493 319235809 137643429 407079839 387920733 762939483 142637947 619211767 369305509 758249951 746807001 26687429 577084535 262241783 773851591 799171611 716828671 917644411 562213585 734301649 242808173 123591047 368550413 266544775 439408635 462012029 53172251 375873955 83835373 466341641 689814305 338615129 395796877 94987297 751350219 253141919 591337005 329840897 198221907 304876855 455159591 492056109 713389939 450480807 558850783 466125937 737637749 392697663 481122235 917325795 659132199 553382427 382300465 181930715 930344157 494545175 279249083 377719043 243272053 444876767 360134361 849288257 714438999 907419359 731905047 788652495 381493619 112523347 113946119 827344165 427718203 532892985 62685763 448754953 208878255 428209755 464021869 678888585 652281687 397300553 965433393 91054069 65849661 686303065 147762239 278028781 882068221 31743149 312840529 918414933 535316401 679323949 106175021 312384343 63639041 909563275 514946457 145843817 76719897 698860091 483253097 924381509 827857843 509845121 803925367 53751027 281185035 743808357 209276581 227350203 265915367 729138869 352088543 373034293 596867477 73615883 648140565 975820605 336169709 467274183 266641985 88655091 532207949 590990865 382293609 154610889 547380633 534940633 768261779 98379375 229787969 303033817 821133011 138242529 568166715 292458895 657817411 367489127 529427207 440074819 153545989 156923275 298922407 868821511 397969733 721437217 873258669 549033651 906552371 175888711 485402927 292450023 694589963 696093535 926513353 207752969 936249357 904492309 299284131 848814157 740807557 101287009 604162665 434524075 422425285 402460539 463574357 14435551 626032167 718178793 41512739 104319349 297153295 914111863 195429657 503580093 17292515 709081403 559875335 594105295 726046235 5429903 22717505 260767369 954774827 638913047 468795557 491520151 230026651 880585409 527496605 549086055 462201585 703904447 233191187 573339697 223299521 229420689 528363135 115412213 592774821 819012087 224161249 949154685 980510015 16073473 608987835 399637593 620011835 843867903 158464799 791816671 453822793 353271185 410165411 436379953 725188133 620509083 985443 552201017 14395279 515746887 737656583 870299043 641556309 317149707 212600253 363028971 836342341 35999651 335185209 145680975 43883835 64012561 328300477 587775193 901261337 140171429 236290831 20279895 940746443 931391473 583527289 354082659 698140737 927655635 762194133 215457117 907209079 242874987 583495041 53586799 848005741 560896555 463565665 62508933 681678641 773458115 534282471 129402201 469927121 966636337 964014085 315723629 462342249 180073401 171520315 743845897 806957085 657969383 91973777 183091259 798413331 946145935 215754387 469906653 959982465 332991183 282372441 515361167 205503905 417899785 771723135 448403897 589721781 107673323 58112301 974711179 340794629 115140967 866743057 545984765 785556965 900171709 418401121 672719569 708725935 534856813 692708059 398570381 679128519 842275397 40720837 799768195 126996885 912654683 677956847 246837963 352972683 738659337 766744237 194020931 18574629 551131635 71893469 55472791 178925283 710857991 17777897 572877365 222204755 893112953 547667131 63248725 745819139 191579075 663918029 98422521 507093135 921386925 533797145 829304807 705244571 721710911 843992361 145265071 431797197 806802129 158750473 318566317 762601181 12116223 42679633 610897917 698971263 393267113 145257757 502981259 209189243 814182143 539464469 304348675 509198487 327039605 298089063 621380321 459677609 100032455 936846793 934897765 376203399 263076857 35481209 25985941 55735829 197376599 251941181 13698625 532763455 47099765 28815717 664636931 65697783 921283633 69075909 16233789 165442611 723471021 816479165 255759891 284692219 821185877 156537395 296185207 765358933 283490271 461106323 340721187 92804951 998829129 829936597 234570645 324515095 557989843 87435641 161786135 594741179 918509579 158593667 501225655 180410475 527685061 932262017 160805455 753947481 255599647 737072267 611572863 21555905 683233659 227859005 678615983 598678499 130274951 648478911 739760399 25315853 433072951 77912511 16390041 162991501 935125445 562817139 645398793 880820415 65346999 546147481 158397165 225978119 258443995 765181305 929626001 358073293 337658435 456227037 224909071 398624643 339059019 401404449 987211335 737581221 96939671 486743839 215033823 46738613 405648661 701919037 736284491 999977787 102945017 395871341 136561603 599333069 860060351 397367841 769374531 860658177 210624555 373460059 536624535 35530365 819366727 585578655 700595535 107818985 533759851 901666555 250617027 355448567 301894195 968555271 536432915 900778595 25645695 439812831 499597605 664564207 173940097 522928171 744663725 335103843 182663593 555572505 186055969 768279957 716048309 757500767 8533185 855215963 599104937 185183037 91012503 385546395 889758673 178481269 968044659 485013309 580420545 958978905 693493227 650546227 332406103 909589949 829693283 716969593 849653173 690499073 164902911 75978769 584775239 629715467 156776371 905139459 185804229 787369031 737807411 42306149 370429223 144973487 414861317 779597133 863734451 668922303 622059371 718376929 168183543 473418109 223031163 31406665 84163011 344114807 851547401 255041463 500303159 46695109 91233207 959212903 801197749 53589763 777123053 84335515 825418731 951189337 622702301 983184541 6068173 709455991 775767419 436093885 49562007 280260239 694198667 330709593 358099915 33273953 239941013 220007119 112275257 643634739 567156455 169892237 521088499 301245141 203469467 949929477 875977301 269540509 972165265 20146607 856877059 303287399 221692017 344719119 713514221 372621977 698301611 546879661 967737923 955561509 672781687 376160287 114580865 357014911 497225175 994687227 651460463 386490275 376011409 234329575 549822231 129606939 534607159 431445387 871860941 309398773 919820577 510287769 135697199 728870853 955671663 572340687 281503263 906207913 616895239 745348329 620324297 2915915 730252701 204352951 464292771 349508565 328486055 376205831 704596841 442377215 913881447 157090743 556474401 953352199 917820131 436058023 619814675 335067317 78115565 754365633 439572693 505564501 539030299 702705399 890879557 471527101 943309265 88831559 858293637 380464717 2051379 726951853 914615043 510273259 233383477 651623993 568672881 725712901 434619277 135465979 551617999 402710671 392566971 738540299 160825949 805773835 790346505 615901839 353402793 570065789 61388935 954349999 275620489 650763893 20320523 157069983 782913559 269161991 247129399 482386327 283867321 458933201 931415923 667183579 85966105 59849981 995629809 591638195 909003565 414394165 591830695 876296821 156445999 684735409 735891541 45481337 926367399 179090991 410704259 353036063 124425567 863600631 302309509 454001367 786688619 413335253 800529263 164814093 152856871 388828705 907510051 508545599 350234169 786984887 500125769 68330991 116352651 158906623 543970385 436929959 451816019 579705829 987183733 343110647 650910733 638393827 380849843 144607613 280554365 993557749 248287443 379047385 200242863 430336161 897545063 621234357 38882551 834562807 664152775 501613253 984742387 252103051 876307987 614883009 746844293 407213691 728994867 961931373 197289945 205485425 612136151 780315027 956543079 265642135 800173943 95659779 364518631 550155173 512064597 486443419 353724255 268276443 1964407 792137019 701745691 573612027 355239855 640376269 588883121 383889753 992088979 333198917 886810875 348152005 801995911 511866779 24431133 527698081 901108145 247110611 457253765 362799827 945195263 869482743 907595751 105069513 950760493 82843671 287785021 165951353 883694011 327081041 923357391 894866017 87921135 150819269 676958245 448634503 249237467 819559581 93591575 962029691 712132693 590601741 425569471 410487889 634043135 752759117 306682755 183583911 216864579 184690337 732164621 787337127 515090765 835441747 672385363 395759611 553585945 273755573 907355281 303252957 902548837 262272033 250771531 560873479 708401339 257858041 187577675 386714307 23046763 851687335 554361769 77034717 945734027 784699039 734348225 571396269 840093693 486472281 532482869 958032143 168847721 705400665 991196657 414644331 550283841 648592937 559929643 138145711 447861945 570139737 709388385 385168209 79098325 491271047 994369619 433064015 609797213 933390931 583533583 201078063 331640799 672596329 315622377 468354817 800599989 941266551 988063871 357582937 666558975 795221309 761416627 834834005 98340005 934113401 487201203 446865823 876933719 815367413 768879601 91154785 971276173 440450695 616663085 441496149 661357961 867671815 565740903 981416373 968507731 588870487 361456877 669887051 147921593 572279393 58711893 612518243 456757075 147053081 725227897 975381973 169014149 8075897 121663357 566532861 780188533 638760065 904117711 776665539 319442451 575658813 969782819 991958421 179228695 230325437 290116725 563259753 55769345 825488159 45033991 241184445 631397405 671463299 366936681 368718489 982776693 442025749 272056429 965476999 878699751 412529669 88614191 507360163 460740367 408627341 828066581 906978695 837726809 853093873 153684169 878804825 12396019 99904891 789705281 720258763 49005269 877983101 85358009 674800911 601793215 879219281 746165941 948429287 73069883 438061401 564385537 737493655 2707095 95638527 81085873 960580333 641130735 750659255 817654819 904064065 303816991 519301625 340022009 692014191 690391505 176751947 398093089 940603615 291627639 34207793 414695629 308044159 858681927 562459971 886013563 96767429 630925633 750000921 130069999 61515695 273575725 465958741 498731319 412515525 800654495 657280419 54049187 700149521 422076395 856764083 322176211 823898671 669200435 78386495 307244969 341389369 615818335 938862859 782549843 253961941 924818463 391016929 275364421 765225013 872778989 431059603 560684345 118137867 603154695 246497275 953814071 646247065 605158005 342509563 104446343 462102947 699523593 501864575 498348225 203848567 858753115 218308727 611530175 655887853 785196235 722359517 961754535 167518561 759836289 255862197 198493667 347946429 102864237 451862281 260371241 197843307 409628999 47517675 853531763 210633315 205140625 199132533 401994249 827628323 754261905 122465225 718897269 38315441 158133081 664875795 826161547 217750685 849650369 967724163 739231591 655139325 137729385 726693715 889796975 829193325 356457143 875412937 249364815 738424851 501769951 516444715 689439737 193516961 566194647 687411149 442331819 880027467 166098017 532902409 283167721 594547661 723997443 176413505 90557055 863871857 942183181 760785887 881791617 525973765 721046427 296814935 283747405 207851739 521829001 376648995 384665989 969064407 239200643 886533059 959598615 532208219 321330933 29540291 528970037 412092247 578897691 209326261 81232991 210170691 847381747 291096627 806295125 653010713 617218375 812034273 141957669 384318817 519043495 432038757 617937957 429247275 909030761 853090677 130897135 39082253 389586607 576410315 50807399 869199395 501275489 72110119 812695227 345391379 539834417 696741461 644339039 327813903 614714259 978478887 936321039 374762699 506711243 806639223 944104909 849995653 60213473 479264551 639251945 712329219 982573987 390982691 562862325 874553235 875622571 755271003 984767949 424413965 69459545 872191179 864065687 767102927 625190613 606978419 849190845 987948221 812035343 733103711 63714549 131514183 364325313 247364001 238745659 401296995 549993577 388048211 119157459 554244497 314510415 523221657 823498825 323378131 223741829 745338521 743695729 75285691 391890915 456034697 743062375 408886623 789754889 579891107 906568849 140372827 574977117 594202663 16264091 342908375 522013203 547733089 324984439 304964223 992880163 860342949 981261667 71810701 493936201 640518985 179119589 414868413 82280977 788270513 630995909 567113045 277558219 881350985 267195417 959691555 502274959 608668801 944748607 99117183 913883195 478586835 738511577 855788871 205084795 851758789 244618965 611648223 113188797 133138141 994755175 939153721 610517305 304680623 790388745 500047303 467379951 379067605 181357443 799378569 485590185 330895603 174821597 743856391 574148343 571111087 313579887 333650253 818867247 462512833 475020499 410674931 224164723 189474269 610270191 81292821 781983149 156243915 366937581 659485275 60727945 190896209 677518147 790122993 797112195 473259587 3779243 757708433 34981081 243075195 208542765 240754807 362320021 616715485 884714515 586737001 513759109 972311887 793488369 95905719 277513283 76408521 596857251 2588981 58554415 457168959 6255183 585707587 14005875 723158457 607841119 683084997 341376251 747301693 674466187 688508203 291831169 528835551 211878347 694750573 727783047 67698361 483745381 929703429 78487125 429174255 188685797 888076029 550010361 927490473 703679519 882326753 428194893 335091993 182653233 534204873 42790129 419306875 656956029 791422545 141798221 799191311 29899695 969133217 435988881 743324705 663047615 273911655 925819317 483869699 24642533 345716439 638827643 578866705 976044199 817050547 120640105 837597865 973472979 841700417 162917585 864367673 35275385 892161867 672610507 993937457 75389945 177576235 478402103 29437453 430481655 172641471 449642171 581806159 753345885 415899757 608333003 178703743 64096351 775348513 501899421 165087537 104605565 106757459 11853619 154557695 204083063 809526275 99209555 648505741 305316189 126708661 663745165 613609347 758558593 529287031 466842173 872205971 84044415 125605857 944968319 854181497 48131645 670818831 694553919 763324917 713621221 275960489 859415849 19816917 252306413 965537501 269879993 444735975 603097361 555930465 866146607 19350535 24563541 731452787 721731985 771682073 560799749 543245273 198155183 970515973 649875893 992239075 876848419 182212285 750926657 715460197 766802511 428959549 714727119 199587007 877931351 337809541 980505803 67625429 535012141 67151267 636813543 739502873 974960267 363923109 352978209 308758397 836522223 427816871 732274365 338534019 295756195 940847565 288333639 195682607 548048053 261499455 947710357 962777871 420154879 489364783 847531713 445304635 296409633 642959065 841094447 851971919 875608963 27653759 835351949 194143859 840687957 601964393 554995149 201419861 112230545 514505707 394348591 527877675 519778037 574651489 611475507 751986611 561361929 939912745 335982503 885261363 538751519 276674225 661065633 516494203 923845967 310692459 274431867 768992991 520991865 953270223 198053339 715969599 828678723 830142559 701236651 739415297 838305313 712020905 157232417 623155985 545698123 643022395 888885431 158538217 551785405 832289969 135343669 460279173 583930691 905784495 758136229 48013161 358493293 755880925 992329307 12329385 694980499 128224493 14508531 741013975 734881237 935546523 419867475 180290577 933213209 781806761 908658597 415919615 272582675 249790687 510705503 698047951 741699385 500773395 804332861 279469879 854525387 220847899 95240515 116014197 289303507 912232413 59943357 324257617 586538017 941338177 367259201 331908119 417747275 755195705 813811367 12138141 766993589 752437697 712903191 20183875 311679875 988237787 655816701 279087599 486259113 648703887 523319563 632885005 201144027 998524403 387759681 677032599 674903967 812669981 973114847 294533383 593660471 584231987 912062067 935829095 121908153 14577245 109131219 449370949 925865721 769767375 866317337 246293429 83527577 56188865 103895721 493186133 432649985 665952885 556161329 476048205 96911715 861148217 487691429 720485707 769129651 538067035 684005951 737815685 690195381 404113977 649542279 72653755 448159985 820761651 809058885 849408303 551058357 707220659 346096017 571291059 438391579 760377643 260693701 302106523 225413891 9618711 897323399 137509831 71703829 202335993 277211073 970274973 823516097 33131353 214183593 470845195 368797503 104545229 484395963 891120517 247814801 451907563 924983227 526950669 122812029 528412249 334043061 569839655 249553045 809332159 406928893 677267939 522262577 282232273 769611055 662716117 829673841 23912519 552772401 523117083 451854395 500001765 67903023 690122845 200653123 404001651 467324315 514211529 212418303 959879367 556861747 180985367 579215537 880499639 599611387 291405697 97123679 97150249 54174015 544822225 165831387 971227653 218904981 236841041 27379899 689577023 704446421 627590109 608601443 583780815 393595433 473110991 784111351 144303033 427535607 102844175 657241195 70601477 566146553 622891785 532235381 133994953 137276199 891549879 281021077 182336027 144314825 109029269 714873877 771176225 396318567 108857513 235308805 108158467 282320601 343030659 940699963 233780981 33321273 269895989 609118041 992164911 882291435 5841763 537797577 137559285 294468765 314923823 740224439 336217233 80930371 354893387 862965791 719344467 234891801 226646505 559935679 734692249 408735649 525075913 666818847 916467395 263273131 97935667 773390227 665527355 678504009 478340595 282151983 675688563 308107223 411059551 663509973 318025193 631663099 672902487 960912173 667661849 693978527 524352833 743188391 966138515 85853947 892848395 33853053 940020199 775985799 136122411 991387053 187385005 774639111 501044383 463472383 618819723 649985931 462983661 109491973 822614315 5172839 847481891 204876311 142343483 811702835 656813785 669871445 709892985 479239127 52893229 841852839 512690087 615420543 30585285 858632893 385977743 383293085 860611533 130593807 398961667 321489649 555239421 325132767 12813787 202603387 778280597 67554355 414795517 588504201 643192151 700769757 797843793 134047665 344332949 294294899 921335243 174389963 19819045 639689305 391860579 786754817 391028323 667027893 448540189 382574011 989310775 759273333 746196995 7756717 810245903 825153365 185345063 466705879 789917153 905252821 421229473 884945017 660683819 28120891 809312407 443621923 292168179 625435289 841627955 644878503 795172295 717438661 365724835 191498273 830069695 680925025 781313575 867400181 961233017 624825303 314003965 251519955 760174107 189617747 611833455 240191147 459849553 179798737 32299731 339904441 727781459 394415631 152135297 534655365 688958945 852690583 363316699 921091801 879332927 975769529 221946699 544781769 93457467 602471051 820058693 161363633 814894123 323997423 151057985 93380919 874456817 973219981 457561539 487524167 521729775 64900055 157806421 519855635 21760275 467432705 864489097 105706265 653673943 164631823 319027449 626135325 213327415 300155593 614525255 78849835 976770235 353564605 879428125 193672601 325566061 627319621 213757743 648765695 578207719 945943425 108916277 353292613 783670855 143158873 72707571 933676695 400128563 205137021 156003635 392349289 515697367 134407781 173972935 28275317 498977005 572290899 511445383 943566785 38540719 405219919 385019225 47791515 681993191 421917991 749804071 909122707 654290145 729699187 307705825 347430793 813067637 56349591 998644865 941535905 330317567 715416505 757448459 661759045 704132711 572992201 181751433 58735659 902034203 531369343 801884429 976827469 527230481 55454045 678876337 654715891 864923847 8419241 260907159 893253287 340733509 149389939 48976361 365122877 133927957 605365143 556998875 651549905 589006161 240032177 111057317 772556745 230134679 734862637 155139979 376964815 792592909 798724921 391793111 183751641 623010911 24925389 550513883 832610595 45974471 342613417 432875761 667384881 944551935 552488279 698961275 305662671 603944529 364810279 709064163 47197713 656155787 88524335 890228381 17837907 686327807 634888273 524246051 102442813 809095825 177836341 526922229 867809461 879197091 227021901 359857567 525385203 4479781 340399823 335887283 558121845 319549581 939849403 910770891 331426555 101065177 813338075 588508297 449969299 8998031 7461053 830401687 938603923 222499519 100204987 989208489 568064915 112400893 843562485 995018359 963084157 768660073 664428627 892113607 695274105 432642473 632978565 105034847 703920379 690438635 822358021 650994193 136782787 450533091 285362961 320027835 158834385 628092115 803989937 207435327 318532213 265645439 556241079 806936195 867878463 630771509 236888251 798012029 420102161 174745037 212115229 487581477 253783817 263445411 468476677 459053185 639702679 959408799 547328611 898106007 50548079 981511471 517037807 346577531 543627917 916850507 32662827 319587143 794229813 527210349 535678813 463506205 670041841 129788317 207546007 301882919 54331547 178695787 22264241 625841049 200962377 189242347 600096843 666076333 564395619 844222141 198833099 299077027 839175059 753392903 934148709 937092807 286032847 681672567 214729231 746673515 714218579 988919361 631113611 382236393 72715171 846561319 574099295 650297251 61832845 806044013 992896219 559017477 484833569 190676705 312981787 133292927 758672319 223612635 90369531 675434379 16537609 758870073 166973223 313955501 649482219 739284831 835775243 446161265 40598685 725937469 468940771 717724517 853981591 187194953 878483117 612237349 824316833 180020611 319028275 68452947 989763523 945033069 559689221 321091225 139620947 368598297 101175161 906786475 713589743 613704987 370204337 709226563 439555707 371714707 752827797 819491361 249804321 732571175 918841559 671745809 271386199 115690757 342305515 164058341 386922199 521570275 186053909 781986167 729993385 163706365 650061917 452896683 19057429 33007133 847748753 470735975 390171315 741596049 351367499 793403297 11495007 157089581 78352107 654952787 79182393 836273231 188480921 916109949 164035763 423616481 371366469 748244011 163165053 729258829 593566121 527267439 427994259 517768075 206485827 751625573 293897533 568096793 637391963 751980075 825654021 940794367 780586243 586128367 544696511 276291273 901526291 375897825 274837897 802305933 327733035 479009083 173289925 65361387 544950707 361667651 255440417 435821833 827843545 328377151 174889615 116532373 154120859 82505347 688398669 625446853 309810099 516868201 822901215 331133527 756389037 96426579 126092817 163684241 109768665 286308269 363509497 643681089 759121231 439206119 555899377 608358591 4305901 723121277 482805149 340574697 448722527 108973551 979503851 230140451 776698387 224713929 472219149 716591967 584368705 577683869 899751811 537166607 374323433 976296711 68357901 62529843 439598037 319045797 800204475 408649555 398753685 944736805 187539421 73394043 105846399 392116279 796492309 815679297 166240693 140596631 436309057 557780679 913648673 52068357 826930577 585352109 163916143 231950669 731826809 494436903 861792027 107653697 440098741 114126825 849504099 350975931 203502407 167252273 100289105 851374495 158757759 975823813 677112499 82816469 433497583 29314549 291179299 726864719 882734709 217813397 14062849 198782729 59853873 382232835 880625015 792704259 537332373 259444777 402483825 180625737 14998609 971829105 226278825 936283373 175059555 916014805 237143969 990029579 725535503 867460815 285550753 143974849 497304289 785027433 941109687 626069309 790445 812554031 194716093 19578031 656408465 169117239 62642259 759620947 252342767 514263843 120905953 355610473 222538357 302070293 75433879 134201151 532778517 657926587 467761773 529420835 967238159 607337039 565568037 442564465 145587939 868610701 268687173 405181835 385801055 257688763 682283807 436587741 786886553 97257385 314359499 718594263 384935915 167327147 116475433 330820853 575528953 27281313 731479263 446378937 789391281 755977199 154394465 847704491 736825927 733326727 691974629 876528735 256159029 176618203 970182509 782653809 348184899 120183021 592175807 539033471 149265275 672982593 676350317 549899063 825756719 544737253 227182797 507655753 666059265 222233199 454612225 394475121 420941519 630448385 280627699 445127793 24781003 896276541 613142097 112779025 268329829 81797459 747909265 604986405 325429337 543689975 677175801 69351305 602671791 811398765 312376717 24723483 837709745 489055349 660637981 566710985 362162163 69920353 385931331 782693763 678784083 828112645 637231969 700761157 507310835 558337473 794709659 376951313 304989247 807119737 477445859 685405167 336302063 561242527 825753331 528908787 646454267 475503909 535864905 42575929 131786665 752010125 249029167 465554399 299744901 831718361 383314099 849724947 799062371 152982941 110806959 44260101 545438561 81119209 646268355 185252593 777246945 904138849 172193623 253271321 145015441 267251239 796233115 982889157 755982437 619342059 360690057 757423179 363744919 778216931 939131615 374905345 913090735 190270669 831946021 986022221 139576437 162473711 712861869 715311511 835168001 486623769 896338319 114876753 973368749 372431263 746212523 762177271 837425437 686170977 219527847 652422665 914833983 416177349 472400631 110113301 680845127 930281399 831793363 300727721 327984305 841215409 829099063 644971363 979067969 150312109 242056433 603912929 591424513 497847349 144685451 360963537 228579657 529946199 414328419 82238181 88553397 126589093 902248599 534302421 203841061 724596547 956720909 82092899 159761867 353170387 476226937 647790173 56207127 12516997 788457297 738176657 113142983 346832655 726021845 130986205 25748703 961791407 744368143 924748063 958002091 721576493 222123983 26845509 956316351 203045587 587516075 647341121 895304697 754078077 492200967 833226507 480783995 427760261 443216135 769903013 467346355 961331153 452012447 947185693 954106963 297546195 746932611 66585473 577102169 536862333 343210809 174002415 845363977 747010641 531649283 815492741 471996401 57352531 773696503 82914929 178024417 121204241 545209065 954982373 319878393 437867683 924739963 29474841 557891741 255826855 12944149 534441297 476195957 144729409 814000105 639975381 526469499 34221601 86863339 946200315 370175209 293177469 698150879 549323289 84712257 921325331 497582157 368361365 406709587 334581291 630589571 320364503 24604465 711594641 716259227 612276305 672299831 268876443 519147893 594766975 178989833 109991209 359632313 657184483 814283415 466571937 854346455 391234567 19410193 867002353 488668935 570091387 977211379 631427469 895244619 652018909 716090373 990026359 137684585 973427915 838124113 992933683 498138611 549112309 573083435 674657999 134158145 811726343 208493361 191291875 767686259 70893247 528120901 355037581 502497135 294377183 267444883 153134193 945721577 250513711 397674897 24691647 629123415 539220869 513553147 922362413 767850491 669153721 586552279 227379451 316438491 994108587 332540269 174261995 892348617 158604105 864199763 182147919 650867291 279214469 741851495 176312061 621527285 202510167 67745483 487834961 602193595 954837955 387183341 512895283 780947617 665150931 696706943 476572175 469881693 33447831 378162817 47767263 711002735 932234029 439610675 714866463 814498081 810533301 491383077 818416085 478680451 837045849 537738023 930568847 701068139 43359563 585303641 940281957 74582907 494713543 956952351 152983797 375736861 306841103 578714659 141427043 836808317 520697965 889333595 647813471 1260439 144863281 609388289 429866529 284285737 340720057 614238877 409202019 758055611 372398693 79031289 706070639 591593633 780267423 299343401 594404113 357211375 367556571 474421897 627916447 939954823 287707025 329850815 296691961 361680913 993685573 140811957 508347781 131319549 773406079 987435937 270095921 292768389 319042517 969243391 986301043 142195367 257093599 986119315 262802505 426371883 433371967 595975785 515377465 152104099 140707743 577831893 463463761 731016039 978489265 907504757 98395689 762488471 302324787 250375979 126069215 106969371 600244963 32389923 104971799 589010083 382198155 476594389 666751747 97069223 289477889 287123193 292087381 359502697 525442589 644669845 559388237 368718063 765293761 575354615 452602035 737210379 128711895 490673839 35930579 792297299 746884945 739957917 160246149 96554027 446227245 463123939 821924389 420950969 248616041 591774703 498568091 758140907 460561167 830836597 189423701 428068989 668574261 205434223 162805831 630975471 600624883 239219749 314625011 423676039 40643435 860525087 808332127 468212567 679662023 490140981 842489621 929246517 857900347 364709761 877636911 267969987 780652287 299955305 666765899 531217003 535429975 863984023 242901133 985840985 528205453 244643841 907246247 696686729 860993521 964388579 597526731 404822201 665381601 722313409 553599419 427252851 168484285 938988133 300678585 8723207 654690543 810270697 23423895 653667211 618405867 424083875 503649195 690948065 401926185 96080187 579855057 470171569 987682861 931019931 59019121 934369133 683158145 978992891 322789497 507974985 625411255 314565587 521666655 265295433 328347241 245769705 939531297 639233845 635195961 858096713 310909509 104411035 49543889 83774279 380814811 726201557 151916005 454506881 429846903 171749635 213282605 90636505 833015865 518304781 217305453 867360125 877462215 407674531 73342831 654058207 518620237 928557885 708576005 663569599 768191363 934468381 633596425 976288285 371823529 892375883 681638749 562880071 214600579 150745493 874721259 67399123 695315551 910655379 893449639 423649691 305440533 555242921 264640649 761434563 648065793 772757501 661416853 551731385 371876619 627186559 149126101 872764465 585810081 921887975 284436315 310053415 764119737 325225911 677313601 48748509 335489233 371586357 503180713 98300643 639244783 412166001 283885245 509234187 508104099 676221511 33175985 978007665 58273025 306957397 162560189 525465211 900575145 989496833 504572711 841634003 606220481 667623551 804397619 47071089 741257717 277034181 2165305 637690507 678658175 512915091 597138833 324576171 27645977 888758643 98136989 540025499 345286157 730531765 64136137 614637167 579249191 143724399 775053445 470560389 906417087 881243011 702593611 333966719 927293105 762016409 807108767 954848843 691007591 514636835 839999243 497867547 33707723 363625815 62536737 319072365 20213589 358069813 388907643 153122821 690105347 443805319 916138939 475081201 462641243 963324123 863838603 362769281 639537261 988800907 957332127 85722197 316783565 922497975 917377457 941779279 241070235 642797127 310784641 774741917 161153149 87541483 572110043 53186995 141385631 118767389 995702161 384038475 446764987 660055835 45739901 801307501 701490445 980974317 326634113 861209953 52045657 62110565 805525639 693237183 486087411 947066139 160562307 579566177 686219181 783958383 900903791 514462317 659746277 324132745 376095051 492093773 270353795 299972953 629538339 169189815 500132597 154808471 349477129 807412901 939873329 545699269 686316311 83328607 501885367 536804137 979819631 860350319 482280841 473357781 360012093 811464617 327125561 876962465 511866031 93238057 211511259 108865325 775271429 235411797 86462735 388689119 895480189 120399321 149900283 412230123 440364387 465112487 28737867 655880263 275198729 441766909 636141369 986569909 502047689 31664991 517133953 128994747 502325765 967353497 311207785 623061161 810442793 787525055 857398463 336340635 669428645 333371695 659976411 79007085 135017973 156111499 572273307 77251787 804621209 595964353 653828195 249825569 607116573 796936707 859058467 423287979 757744659 464450257 382050129 396717671 847074837 336642795 320597995 154759967 427882949 721721695 933241209 39159907 409941967 919640195 880458503 633258377 827727843 766329585 550114603 44975283 573679547 869527693 426068741 724735945 53777437 544489861 736763707 517551997 327136719 112912717 998974203 853387843 770237093 787583905 364461305 819456353 334293625 456740739 937395319 926872537 485065261 8393795 79556665 678272895 40593581 242634355 557921679 893967339 354337257 477156591 491931469 776832381 559276507 781588957 735454417 884659805 627676041 581238695 918247683 877327229 824995833 223842307 774184275 625366417 764384063 838954221 566037683 265665053 734322549 189824425 617180835 913235559 258597309 57806787 905756203 334662273 853458755 363875855 687964375 313781827 861432887 436123051 594775997 202821709 939784917 395603703 78660221 794393351 998329949 228250277 32370237 333675935 15106075 81605285 641792683 985516307 35178593 379945783 85983485 598960413 954923401 610494939 559613167 294015817 953440503 196798047 582453709 458375143 837177873 89223127 555679071 973781263 564198733 825870753 83048191 159591327 558299941 194762847 83694731 580972099 124726553 313036031 841837927 889458793 922086071 408737205 670381443 465141577 241366157 375926523 743433303 336515811 526003511 924859033 625645533 881528065 708411991 361511575 103655327 114977843 838814617 280054349 155218857 693663951 73047981 856952149 180379537 902833143 710305615 153740949 442753911 567564949 87640127 376312631 415819521 791536213 143302729 125811633 604880477 448369331 89830977 425203389 60429633 881921517 941787389 644986467 921399787 714757645 441611361 94446829 575733281 552413153 632014425 388835311 593936433 297678851 861369813 107914053 925410805 385951189 867292113 130680341 178801605 688395899 455084109 861589449 935932813 880098791 331614037 942741273 105281463 717098449 535489021 10234109 426007611 578175675 595048283 994450875 632086937 940968173 91736979 918434271 806773203 822084469 216246481 636723517 838185853 625372973 68026437 679486963 616668327 140714933 624544043 654177635 218899443 511676021 449818565 741047609 403702663 669524893 526243419 944941165 532222481 808815909 547902017 844355127 595917255 739587023 559471313 624519965 346446183 150789153 903704175 376211437 736253239 145642861 128096131 579262135 138549767 930077899 304637311 453328347 238477355 876502043 403669471 218864381 295911043 450555139 635376931 777430023 775272819 719686647 375200215 915269677 786799597 463016749 169577871 794268399 698814563 222397863 912862177 957318925 637606359 279137323 691049841 881628567 81630923 173320267 727569131 792578271 542432337 620297053 948594689 557748609 857636607 151843715 121990249 16041315 527857137 132854439 951018731 78505135 151231951 497774455 555645005 179626715 325109703 137801321 21375075 377399715 996306063 391296707 189897993 383501323 418538341 279841673 861228317 379285343 111810321 583925387 650976653 400800307 151467741 995067747 929259593 6393699 484385187 20981875 985449293 849319701 708596929 420985823 650815387 848588213 848947997 907496601 529892411 29198069 378001443 117645147 792844099 422288595 448948429 216711075 316358857 464707219 5284501 226634939 468020723 556712897 940903045 92779697 186730471 911111987 424117801 537893727 802831581 493583363 573631129 487268709 85698315 501617301 941410161 494248747 256375219 384083863 723174363 233131489 330652707 286768379 234090881 428011137 77244073 528557313 155718555 501642441 280911777 521098537 90697191 838035521 386573935 304827715 322783659 209606971 698101883 241613407 481282231 220953551 927521847 413820381 34774111 990942941 854354975 167193697 37245059 86895371 226569141 274236629 610173063 518096845 250757249 177307503 643281501 84712027 951375129 286221993 668728697 231130801 550822931 434914891 926047191 770258589 294394645 267876447 965051649 949995689 900488135 236687929 420946691 869561139 107269339 934639477 320743285 790226777 810721037 372429561 726184565 600553473 711072799 407836655 235242919 967269087 547946969 935221965 967225147 747313001 121244431 363872847 615578343 846404063 330663581 106341497 596373737 78833227 840363107 785370519 542619911 668603773 220906569 594559807 782573969 446173195 599095111 138746185 952439387 309284185 395091539 700435677 759220677 124145803 298770801 52227943 428771765 517472149 252089513 966627737 792837273 100161579 610352399 631231091 522663525 854664915 990072767 218788405 393125275 11957199 621827289 883109741 922185791 114409013 788712583 850853361 601429727 34910425 155720699 957047771 442966419 120415581 756524145 493686415 739781369 474010409 761023019 760597947 902984501 259997807 93251441 932944467 173136119 895654691 986699161 924980113 647523957 765477385 454130681 424510973 429046893 885192105 265012983 861403743 956786471 593526097 354014971 129294031 866061167 625121307 1909113 837461927 843162011 732207591 786218473 174588557 871791755 64076893 152894669 402784107 479158437 889352173 476734131 225592183 430902997 502200015 361720105 851635245 241456533 978951685 817015757 457577041 118387681 41749589 532898111 920332015 689181759 81696593 146726441 505206875 827807165 416477777 599572541 722249521 839673075 500312437 96317751 421444951 854465791 829382307 313288665 549793529 433217669 26359951 211963117 829665161 730021045 780551599 425372739 745294533 643072069 922200901 486231481 502369201 614044277 758199895 104011311 515643801 425694727 210249399 936571535 523008787 931607117 153309691 132707531 714697975 955810843 426760839 701349599 577626991 539989203 940479103 116806093 95782113 753074517 918195415 506837663 17661703 867085077 241906757 56982373 697692121 690651911 686241353 614268989 155921567 728847017 465080365 222039111 473649377 462364417 347577345 202786477 990860663 744684445 537267099 550900643 984151419 200397205 230409629 127807841 457524049 637278855 200281201 335742251 853456807 984667543 40771907 367895113 174881393 186528373 792574223 448932625 836523499 85064791 935265683 982511577 444483479 729429245 621590617 153162759 488712517 994867625 164756399 173038851 30854663 926519341 293181871 347724609 647827257 871492063 346324793 697578297 605972865 929474203 701232373 110092911 735863243 689373129 238077011 624786541 779703369 37482327 272897677 577693123 7810937 412259001 812903329 734508815 727729437 720031217 557149015 406286321 217053509 967301251 976457281 212160531 161102149 870096511 53285559 130913833 392310453 832563577 315916249 335021803 824921725 818915729 545739407 780311581 338850249 149338219 354688137 737493897 582696715 442756663 111545663 698411519 692365059 476940461 18425075 128213597 796663217 75393031 426540971 859873923 735077731 63444495 677466169 693248603 786112431 267837713 720431923 303119065 555440237 706079971 186110461 143093 70996167 445220327 317446077 45779123 536822821 34887167 576065121 643949085 164782907 954601369 595074981 675235907 837893385 654677167 606324233 111362627 724488143 384367037 739938771 584162877 151697949 491389129 4030485 545179227 719072197 276506723 852758437 121714129 178958051 742626975 21227557 157910999 473568987 707489821 703137535 449873073 744632157 821531393 860108383 896863401 897313113 251384317 91066945 326163729 855915019 904115523 681694563 70700865 95291387 594487699 339138127 905623455 418601459 927487285 558983253 733844117 702350343 241922805 618081419 966472593 830071955 610459435 238889171 369320979 13292861 94063283 508759765 978628761 870054385 524540917 478408963 379679151 480029665 507972575 509610385 732275941 184509067 533050087 399881603 49748953 747347635 543393291 786872737 249372971 121203557 921929681 624746873 559267205 530875127 322132809 458730085 565067931 914426881 27510023 544898693 781803557 947223149 725813803 975812545 782917351 798964321 219620697 596662473 224365995 939419991 197267395 35032085 364440131 204776199 336282139 190304999 717948041 819808887 764745635 193307719 755293535 188611317 999699743 816668675 857555887 860962067 805071837 674152883 736205677 955936173 820300979 529471419 682010257 329456871 294354691 786205761 549036065 166706991 323114927 556484149 318264609 229942841 674831399 336095311 772484009 722246655 452067681 278879761 387469777 705116105 528245979 27470017 688405179 466431265 318323611 156346991 618592147 943826651 119825201 396400887 986025095 741933075 314593457 838336247 401425367 866521903 364771259 48152789 661077697 43341529 636340595 6593477 610860177 339948807 618559883 582153405 179203481 476289013 953455925 249601405 182431281 448514855 717857331 719570831 777472961 295065705 439211977 618287427 355802541 745948879 254592453 954588335 212954731 752745399 686872959 771978421 573565555 657049027 565998803 91918847 840880969 835792863 544451369 752588281 950238327 913994819 131827311 608159199 641979023 858626919 413050907 146625967 334990379 49042193 979386925 765009715 23395053 642328909 923032615 687722233 675647617 21236081 728785435 668381531 531297687 294796565 812378525 957184889 317989609 427100451 52335309 222505531 630974523 801026243 929990993 960431953 880377175 328638569 937012053 593055797 506965775 143462613 652243603 28942629 527517245 67262983 380562757 468289577 297244867 933915215 292971829 430036501 447321741 460626237 329792177 412529531 269548171 412548275 408367499 804694465 637316023 180350927 612479015 140597773 73691157 779492865 443172455 704616015 97663919 593150973 834481339 697228863 719565719 38174911 487968025 469581407 835863783 998559371 468237823 292280053 820821441 343021549 820252021 430301459 341229137 306870969 314920455 260609937 500515783 640774923 681187275 630859791 161928541 583159369 723988321 932357107 504761175 319327261 283763951 2941297 619975681 566903165 858726689 816212607 958930599 570541991 462619697 689944543 741922987 450600731 96285403 176116759 793930345 882912423 126416741 440584823 269818445 312219231 610679453 600330267 342140875 15922337 190254811 195750623 295709277 805782287 10007291 998962799 912739459 397742487 593997671 182686007 538782409 631120747 287232265 460388723 567607489 590350345 688453209 642036259 807538181 656451127 956133461 464123403 853845815 187060989 229170565 468339905 5624579 332112051 412738293 636568473 526782745 798256115 954282811 315334325 552804149 135516321 784244087 49417725 61323799 266829547 758087759 858147363 421436555 374463045 125335279 230294427 758344291 18481257 999616529 549846955 237833081 861147231 433898737 132445525 424193711 598701425 464351317 836793965 11080433 636579377 512624523 776921739 321208367 194897281 395712363 88929807 170660965 728420735 59354451 607973665 589346963 864303261 185003559 814441651 864093125 464847499 386229079 334457721 292450829 775422791 245777883 303119607 902808965 985436179 208085805 696884339 42746191 483665023 802017367 381791231 668468887 260800863 632573155 274564979 407417229 661629387 937457645 831075183 809545837 754267691 908151055 18987611 74968183 849446699 449206641 315545447 351379191 295865021 834371265 734205835 254563391 741145887 834024499 259056263 202286251 153058773 39556489 332851175 210748313 589292715 249900551 440765941 148011127 586750135 971258237 53991119 321149365 732613459 55792447 339032913 793792461 556204835 885952299 651848231 902456389 703207701 444325547 519903423 520990883 547955035 527583657 642186833 84718971 516684917 222559645 693323997 819028839 923333667 279737991 821477933 193155595 627518581 517181417 332233937 539289869 704918715 185816021 863351071 874443043 776562327 880107489 185633849 131892999 996663015 969675817 756089097 528226425 795156699 572094549 905961275 542769479 95143143 248923795 198985803 470611519 860356551 543054489 834970231 939524157 539155327 667504805 67586505 275013411 252955737 268199037 643013903 39024861 915507181 128608879 890198755 392298075 354899991 122280019 426973863 428135065 346771449 889809031 609962879 878542745 23541503 464874735 288871261 822602595 65772511 939443709 908381689 100380939 700624789 603826595 886275029 180064171 788676709 418403 989446969 840979815 615853787 857641535 308816691 490436197 410723531 251364297 105750685 595275229 716726355 946678551 133253911 421211907 132709077 193019589 560561673 392271903 760502783 108315387 165572003 693036919 410591427 59533415 576060381 105640031 71876193 961421119 28427641 198277171 874255193 579670593 784575229 214726993 601394297 33485235 50322363 283584039 883540951 40327269 697749195 829247013 288644045 773890219 577070093 847657671 423134719 288815461 405600039 712047245 744300635 82394359 213862029 676987909 901994517 522123345 644568181 812138173 558438567 465522155 949085665 836467281 455242457 362803903 970121623 538393957 702335413 942432599 314838825 43587745 213008781 749124287 956454893 534031799 328504067 266442639 66752519 599630947 268485621 874906339 892689755 645680997 214675093 920300899 574214813 217516425 542442067 304425021 821375553 184913571 569893611 890342439 399709581 634617481 693786981 267949663 917141381 138657825 647284491 562603947 920599545 672558161 982632049 776676187 797888131 854858513 256451701 112330307 671250309 628401239 847702329 655138755 310230819 716623653 392881961 795692737 609174607 501346953 704406525 429335209 725367235 387924625 864661421 868511861 574266109 354555737 199982463 964684703 253734215 357984773 13907711 448653105 890855599 744355773 52977921 269281975 347322639 721136307 827191459 193618249 5268743 302202659 724645447 272564355 578746111 616781901 467310235 58435469 368053287 559545727 637320595 289740821 142229881 779972871 564990825 451051857 344213683 932262211 337105317 932122879 37451101 172873105 458300431 843884647 427785673 419993439 432881087 75528533 635483663 256961821 472196111 588114207 804411151 219342151 339495843 989098405 319002481 855506783 536922985 370201675 223696547 19623661 809368469 268059395 403356643 93507719 591052963 35238719 848088363 110489283 956767831 417590529 879148617 141708615 376398523 308765133 34023879 310586811 351606567 992535985 691523075 153349841 391518519 878677573 979676187 417197381 91327437 957238181 766488821 934013657 142507541 73278841 417633861 328844117 973355141 910800879 550856577 581179791 107085273 801948351 107315945 752932445 514010645 123816483 445008007 384871333 333418885 968607715 848433451 2892623 828443581 879648335 827026795 403214925 806509723 714700091 641829035 292891547 269698881 869595399 527113231 862702907 332746013 715145625 77671307 613892405 409081569 678888285 635118803 2726047 943434635 193402957 464280173 87873167 642787679 418892005 508974235 571754795 608666347 74918699 729357939 813805211 866610687 532890029 250872521 16502801 490934971 520317059 997117759 755051721 660883587 942291529 232246077 595902213 464825601 46378281 501831925 814692623 287462185 461756877 942199387 644993591 883920443 441781357 289400371 558057435 950484151 754100679 158301445 921961049 470093165 591732257 817578527 92611103 71938671 290062411 393288347 767222431 413556249 707312795 162536537 64030545 656317969 913065453 144674049 561237689 249420865 26707623 137671939 85810015 785483231 117679547 308223127 67465433 776341095 375690653 380035775 58313405 744031899 972407115 704399425 281810865 550399883 27204427 529186991 499142749 927228809 54943403 210061153 574714485 290336563 722869251 48604279 492258737 188443755 814673519 423778775 142577875 374447453 400809625 84366901 936293033 959801727 367805355 818326023 178636547 62971023 259425885 313849999 756191161 374310797 166478317 485226195 943544241 355690951 441176355 712377509 934244307 71398353 444116811 457506203 893070355 445168265 633372987 606668825 554331241 380889105 334860883 522382915 717999063 206256343 6861177 913246989 205947243 927981197 486227995 953238317 837821749 48960819 938979117 782325283 855362893 361166345 778064433 811398457 295814873 476769439 914904619 756924031 87285505 581638597 577963179 164494283 71312377 784193179 330057413 672521663 148840441 753671045 416804887 448916165 384975941 434475821 161298379 149682185 731847205 128055177 224150411 654877831 347622383 131222739 153741967 111058429 78499835 159926931 595838103 125309941 580513195 358114963 570674917 70659261 568472169 434554855 119035211 279210095 483377831 96722411 84458271 850951147 48784609 663381317 740828733 637591513 439425689 65779423 825779725 832407977 705437017 26432751 290845307 714292373 325094323 820684273 218222337 573074075 171237439 624184233 313929627 806536579 702041763 862891555 507950031 191964639 903814791 799487667 853940653 162267655 79331487 505899255 653752521 911015195 631210403 787674065 364896065 479044099 677895511 605322863 764760767 417526383 392069 126177603 717123949 406099415 736834813 87778059 175853315 903095421 634562205 434547659 549967297 965191271 115805765 98277841 57966955 734441575 380890591 686434477 480433231 331110163 981767263 763593791 755760707 32458191 429111485 517249961 115946407 170306497 787115773 191217241 350593633 266416343 756903209 258822915 75974367 299431629 389323859 586540193 953152791 975733795 789472659 369505147 305083783 852326687 298838287 890983961 475863605 707622099 870855409 130916947 449617841 693690389 391621223 209659971 435495439 736691335 20739247 829321039 481674223 155956627 187920395 128791841 561433461 879347045 191906501 308227247 56025425 50270201 763053615 70628149 578922427 331809807 456913827 644686647 200102253 306489387 216174979 25659777 797260977 55474595 394033209 162477095 773242451 903893387 342466873 746255749 227739819 196474309 12655099 257478977 658076309 417397241 53898499 442045253 637482105 915196057 43549403 205915849 532441925 781236697 773117205 564079429 641793391 988210365 64965449 734495615 496238581 492847629 361212957 496240771 459861853 434494295 715631675 438773925 376272055 384334325 663567697 178814083 425954455 316638727 676869407 528938495 845271069 285792629 355384931 777922375 596526573 943581935 768623081 933334477 561617209 305967343 983277441 881883473 898402483 192280753 778893065 330545875 121292187 200002371 882548065 746481569 359215801 72783473 27936117 105625681 873167193 12280787 589567283 356407229 905318483 82046413 724785819 812803595 204667651 539428485 857910955 758582693 381588563 324764395 530536047 957382207 809681323 178405303 198736887 37849049 299784199 201555563 495631713 23475125 120614629 489624141 295608781 721231709 362751303 877754223 114871399 318401961 61163199 941493159 320388959 78551475 47848545 79391641 375493871 976484321 862211533 127157673 605498971 887802591 447878183 151921931 204826861 903052959 618608929 666777781 36932343 204480349 592634349 569958503 26289363 231255713 442828365 741979563 58722787 206385205 21752709 256044753 78497681 2649903 736599907 419814383 840921169 261446887 389470527 45229543 117662877 744472069 646520565 166344035 931163637 729399669 727561709 171103183 866694117 797935977 864993813 933668455 642047229 774043743 191708387 764501801 821270491 2750491 101584981 146787295 194372641 711450283 309563379 251348247 911512437 138377567 387383751 60239659 541520013 204871127 863938413 758679867 490398753 814938357 924311807 835014191 297819637 844648423 169400867 333640119 467784147 525824289 75245835 468261709 885791885 666131805 713920361 684694831 869243645 193057443 120064895 888562533 255126789 738083643 280222993 402605763 31826577 997910205 740844653 466586587 456447121 301039363 748154219 407460883 662256127 559355699 976673897 901609105 240730847 604053687 221152587 685973317 233342779 400827461 655266945 108521449 575525 288426713 111063553 68360953 185156279 167649461 732786761 617272001 25348373 42599529 518347617 14389841 37948261 810112967 194988499 567829633 407142109 308410605 248987579 31363825 404014775 647690555 693788595 896421127 317759283 30137443 40483297 252564727 548998301 401946965 394625271 912739511 833626183 405847375 870046505 958593801 379590027 671320277 802550067 323029107 226803915 695396019 118341471 413112389 281835635 372477 756218491 752364443 339189235 182289937 915900635 729505873 988266181 967944593 732170077 440388115 210595181 261524331 578466409 133943629 986124405 85839057 247001839 639981627 786561391 780738371 940756321 633231325 374846453 677816705 189175999 697407735 651525803 544421529 21572495 477730591 304593463 742115041 491675873 900730793 403212367 489340147 770387787 321950391 38673069 262510771 709830121 907049009 326430737 406891599 137297251 702043337 713167687 321833787 44359909 34713845 89709089 360816947 523216681 529191925 815521401 509181753 257715563 919533777 376015155 201411229 928419441 976407899 130927925 198913521 965630345 803412779 285816437 876320273 646297995 638300321 424418029 17588515 743456725 552155109 939241373 85257105 826466635 966719977 356204433 823871249 546751837 774553441 804943067 310113695 325063425 313541073 763502485 379875455 87522231 364199551 993520355 117263677 965059713 897149821 973316075 355290797 492637937 199586979 278431971 215237101 759466013 517968529 46198277 88376671 392294817 895453103 871912593 443848111 721573541 870505261 961038805 418215635 468025045 126684163 216608287 328587017 421005163 427000817 839183307 651685329 369437219 330715779 300682811 930140921 943204419 515104771 3690715 177486229 304571291 438056591 287682075 92284675 759711615 280765699 700548215 599651813 216413133 198871563 44574063 87366441 496467951 898259221 667865231 402434819 983008719 94789977 495706217 840957421 368706277 14311127 287362455 508627375 226772273 739862873 48334781 247384145 739450421 591532399 964219011 87533355 712512003 434659183 566464155 984009175 709298225 415634043 528071359 601087291 860402907 390036861 929542837 93731969 963777449 537967137 748681795 474464287 885774537 55269347 941964349 996634831 807925231 129976577 918387581 482103961 99557213 661785477 487439847 65916359 524889303 751753789 543984993 191191021 253579949 962299331 181696739 194590439 146095283 321482617 146235745 315519451 301882697 979763843 770045155 825856053 700137555 272106195 832723311 172039847 605417539 874930211 994822169 349071407 717990155 895811311 581107195 906771729 338339115 126535557 541119289 292948441 662091435 286104817 70221307 412483675 464735767 611368973 236807027 472198325 989734279 195991161 547722461 617410121 253996951 974408605 23109241 815717571 762687599 49605545 237335699 159374619 924125373 986508437 938905727 185301129 695475383 829315363 747288979 65760147 357789979 547412953 510260787 547208455 7017519 764995081 957294283 812010741 887130305 546197707 70117579 147231677 455915307 216636927 673412527 490220803 666092613 335092043 308926969 468569777 525183611 25928483 959312945 454651 475327159 476236733 153009643 525867105 481924467 279617563 374436033 565199011 98838441 944586499 685736279 649521617 25035747 501211143 95436885 272257597 912209709 546813565 875348845 248231043 973726239 450586761 390301275 322880649 234671573 141337103 644638687 944003705 355330295 954579395 156401863 152254921 697984179 650768923 56931041 654431285 22493631 905594967 247071241 869301441 322982745 996645761 142614307 112502969 43744327 614204775 961083671 914433713 125602265 957312931 921094103 320430469 618468579 682010775 805050207 550042459 222867141 416055911 362681519 860319 650964067 537321477 81399509 829300483 747816751 993081387 818718687 46286469 272072731 483604567 834415595 635727465 786986665 355487699 434605591 804981309 648273885 563811501 515085201 754544849 19781445 185001151 422606473 810143045 750578681 735939753 382606651 636126715 565230997 881246931 495204585 923553 837959489 7603309 721551579 238241833 679665835 169588849 452137317 38671315 916165897 894196893 636810467 912016927 653796889 67882617 486804147 226558685 442704163 424534103 84972099 320301341 794094577 628561487 150251013 545549887 675637215 334817601 948218993 267235559 992721093 445219285 722543369 460371455 813465103 349109115 362635611 610234813 600966569 467526507 106051573 821659805 634392327 309787045 285642613 297996385 167682603 168758773 840016249 275701017 157930649 997145317 509316015 687129623 902619743 50666195 179549383 169287415 475210005 171074269 75416445 134239391 190828247 65856489 666369427 954940473 297523021 618863019 847532755 935959613 901424293 90388889 528541197 884305251 672511125 510980595 852377117 554402735 118492507 55453891 565477095 324227443 162684095 854900441 962754131 545197117 225095949 683002059 391178067 750903787 438786587 323486717 611681507 505517475 724493897 866939283 339495685 521633489 683357565 775914881 963454403 69415977 967183907 426605949 718148653 667766949 637729845 906425863 722536801 155154571 481530415 77987175 925270397 282761831 719365653 33911473 300420271 84793359 97148027 578680505 882362921 607536029 730702195 120643873 722641699 919666293 441495963 944169809 169666015 533758021 750858523 85784955 287435947 741340161 3453089 983118227 418120405 252813539 667576421 257079901 249410491 124046707 156310305 565622881 511216061 18122873 866855197 910653677 351161669 973863949 7886633 839005467 694948293 827762825 663295387 329236683 848895673 856768915 893910351 819257253 206226595 542825749 136930475 398379033 843810827 753378373 163874977 786607711 215996551 779740831 587071397 236906361 667196335 708763879 604306611 465344045 64070691 466977321 716397653 282204173 84226193 974031545 402949529 765813361 127375531 191697715 365955347 843679097 411554857 33975677 158474721 217590541 897768911 132502467 806729387 51989467 292605029 293115255 17312929 234845281 460855233 867402327 167090805 966109145 433173433 538149735 437966183 200597327 609402675 793795059 132566591 522146451 891315991 726210193 370051145 956573499 212354905 935313945 166733403 955738539 47467505 525115573 757606357 832086023 426217955 81082059 167286173 70757187 73279031 955290645 213818145 238486549 359889667 325700747 731654997 413049341 392129631 344422261 189238715 588164677 151150443 874516571 221070167 912093437 723148631 259059733 222990777 228657147 339493455 830205885 719657461 56207329 105652369 555833271 509892009 927903513 25320799 526973105 125665279 790274767 245434371 999588511 354567329 544862207 906815693 229943229 717015751 478249575 628014619 252110223 16967727 736072081 625503053 963989471 740354593 417652683 990684109 822801861 516814441 643022639 232523279 227199131 799421533 602034333 510733963 183896327 831045087 160520893 805253317 178487285 95021647 264156415 71859781 949737879 65770401 65668253 829592993 115700843 97837897 163102101 118886257 838918709 296789829 603735471 784603477 601751809 696976667 339636605 843278589 307296291 893032667 278741335 602942741 847788855 817677337 128645725 322640989 304327459 66763507 509175159 549226129 441049363 561353491 979131989 79158145 453286777 778229923 982610543 335950845 314373397 215646555 126316039 319203549 564483559 27801467 735950627 959396871 456325181 617389253 830592661 970495333 668804013 363255179 748088563 575586789 45895697 716252579 68220833 297542791 929922189 910291305 672821189 281132359 707438735 778909893 523713869 550414389 619493577 864513573 906388983 174701153 425559611 847395711 764021821 932264677 613091109 194387281 415098987 624533987 892347927 956532129 694869393 868208005 704789219 833834237 368197253 893038847 681531813 436128127 330859241 57683337 945983939 576495551 366323751 769579879 481986791 159199721 409970283 76340961 697993735 313959591 381244337 258634573 323896925 852808241 222710969 673607171 721334897 990005063 706674183 862083941 236984077 256025645 935272689 800079837 602424901 582306225 739413643 602410719 779684471 627774505 912861367 453134819 310388547 291730551 695328029 306421613 725045403 135105277 624700463 120248327 989788079 392619179 792657953 986155843 532015613 101351925 920419319 416122043 630970953 200102367 378279033 404555025 302754719 224036585 155116853 996502255 762483797 110759971 744881541 486938121 526611715 30638119 918087049 401132055 750192531 53949453 610345257 409970653 725012523 869578369 680166165 354057253 712691269 709013677 943313863 56099521 155963289 661312331 682296443 70058379 844271919 686223765 205474367 990153573 937482831 615073877 691802847 724527929 778997649 439396567 428734965 704558843 37179855 937331187 666679775 268914339 788740909 144544005 226158281 255842613 201441305 739814645 536168353 335973819 684249159 451073841 682400543 957184071 218995121 946689199 378393285 98151667 71744415 158791917 184237017 333502177 236475291 416533747 671181421 645590331 471368825 654386251 487975511 411427893 431612245 468563985 916495419 641644551 814064277 429301725 202717309 498549749 879704803 246907099 910213713 449374025 217313333 164461237 478560429 632197205 797955783 96414373 431020369 238622067 633770013 372891751 63992263 793322501 190996483 570601791 991388255 247300471 116201357 669620481 977708335 996455479 983653401 546816253 369841433 785704133 518177353 388764951 634279111 680367775 102699273 998689457 138101157 64972113 551674001 498988987 259186927 971349869 174187865 459898283 772222627 588261773 58065703 617515647 9301131 593550675 451220999 71307197 494698805 129751145 648118607 572724085 864509691 476751235 585407641 146281277 497777917 275906907 869959881 90463023 501718051 277100977 505812237 890524407 118324767 122979409 240153047 375033025 45751397 482486797 502608871 877719105 39600953 534541247 544589629 33089977 385064609 207484233 295281705 185981165 663040369 918794389 381225533 569689131 582807101 103950999 516451157 223122763 15843429 710965833 668934293 307874985 711408405 165075883 708191595 227964975 767732795 206669001 670615179 273460295 233291665 496117429 762549489 496781545 67369363 570223753 840512225 832247443 746935951 452367975 712796903 830709067 461121935 122079353 410883799 328761761 585234289 756648435 919833805 874153387 47006163 199114255 478095407 163936773 577661467 644930829 69054119 6071509 167775357 530700089 481299757 969999053 282978543 576191461 944462585 379730975 839929907 494831723 684920977 545051021 706977999 972956973 471559873 34035547 28933653 610288791 554207133 267976793 670940443 447305753 840551299 920291033 678730179 172101421 414796821 929429439 840519607 740790873 965876545 344497005 202157923 146350115 634489913 743826643 82057475 182509599 593708667 802480231 80571287 480545767 123983053 610667817 74705891 144182813 762649143 900225947 997319549 784713581 523765521 565181647 437416377 257305479 469225461 403887451 495940793 294704165 805182663 885519451 459730023 135453707 415136693 334763125 400590191 670404099 639924787 903719131 648465485 255343071 745093115 911825473 199905855 132078459 727579157 773223395 880638029 267280821 987832779 784648333 989444681 610147193 506216879 686930311 255977933 780596413 113411747 971227051 477628211 25663349 996162245 843748949 850684585 285795495 7603847 316564591 417658655 911615327 118987161 657101667 110833481 935083947 156889593 803052585 881555627 892110759 432023273 941948479 59958923 820144245 152506873 688188589 25858811 239840065 15436797 770296063 914624467 259702843 351788557 570813005 970004403 497069469 168622737 968524851 640116995 549876397 797552693 704844247 805160179 476965041 588811499 436127979 640286843 867579389 707895025 628556963 350276443 933347051 357794251 778952893 574598943 254549213 145392965 969227391 798779921 718781759 243079285 310546359 213582927 801299585 652638901 736449981 953120951 567592223 238007465 456777327 631795183 264069785 923504447 355588401 212576619 957931643 295831721 353652725 32432737 263319385 936964455 114754093 860002513 892676553 263278393 257760729 536201349 627335535 399949359 39666817 382669325 459799543 251243931 862642737 799198655 689077777 9520409 513601151 353563325 440656505 560849293 818716045 80737777 617108719 522428965 772841213 949413127 259239743 720603989 873099005 309548411 324513339 94152665 801479495 649546635 691813055 479992757 791929879 760243009 265964201 324698931 338116915 501602667 446396903 61827051 948836075 167419557 842453865 769742265 275165971 322231883 286518315 943802815 329417739 551339911 288798253 891331433 564878263 754519113 574246779 699677549 64360583 760835659 1778985 819179719 267212915 451733003 864403533 787556283 242816501 296941521 521440523 514523861 534516503 989447855 568146831 621117931 69928549 518775165 517525257 170619157 405590517 475620827 591080629 788594619 270418537 948455729 943235283 72729481 662384099 679001007 342790577 172664177 169115411 796780877 443194525 780381875 319389229 899214029 876224243 890645967 309404147 277062325 81933079 100540307 412941483 487502423 784366447 186510869 164526879 3220171 583784819 746719663 376967593 674042865 430281367 422517253 208344871 558405999 279711587 857458949 482052095 775090105 557075549 693086179 831739677 907181829 540992281 245610521 240710905 343365205 458314547 890815087 625559187 242755695 916729161 42733551 338322543 362938597 669505545 823796459 839337371 462408973 560714019 766704133 504562349 324398347 296139347 494663963 760163015 229803715 353864283 16437855 96560267 400283881 430309891 214609729 353972009 836969459 718373663 450935677 497978199 710218529 742165899 296144411 188136531 700790141 730559013 997464677 287221987 557071061 436115931 473299183 686826583 96655045 70466717 721026199 131366275 806461353 450708071 123540863 287900615 112062891 137173051 846092307 188175879 5629883 880335649 922467339 162936245 505070739 898318637 980512607 478920131 939418033 631132283 650954069 868200371 446476895 296528425 483576185 704415881 616506539 441076069 854221471 758650323 236444271 683429985 987728869 344458919 975718987 464685907 545473453 966395047 728657575 642291075 190125221 977371893 778517171 431474743 390592705 767557441 757227369 749555141 215738427 931664577 168878215 333634179 36860571 854192947 806253973 470251479 236166569 725590493 128333541 298051369 695587453 580815503 758109839 714695915 30935665 428922013 430876531 210393497 632233001 148402663 694542393 70351541 972891797 459080147 843150929 165464007 382917091 387140173 136890099 197101411 506010773 390032591 715472415 217824293 732614765 437653331 829055905 263348139 435073397 542518627 790435845 953452451 467630341 237244685 868283299 246479039 687594681 605289443 645795231 189501367 777439091 369969673 109986013 873921101 924694623 287893281 772563729 883623503 648640499 997275483 708565425 5110923 425964779 763638893 760134909 852498399 934191947 163812501 352928511 278805545 848652639 15620507 610460807 469283159 581722811 637109705 847407149 415993947 473536317 351793915 257198415 206320173 535928327 68367243 717295895 597907663 942202503 666629983 946983799 291000399 735578479 918367977 208649253 599838651 197516221 644807197 615985057 301952561 665026999 767055223 4479029 311145425 240005605 570947841 83699439 50009797 304646173 946084169 403919529 748522047 10922621 93615201 347239683 946812795 839769193 345215725 325665125 272126139 723367307 731093263 308980225 294104647 294027479 960958839 226386635 641322869 267672973 256283739 125993607 787841947 825716781 204023419 253440445 204788511 383341447 939274265 421293499 833208937 177553837 394522631 960386971 673360107 806747899 384421529 569149 579581985 548139799 534676655 287584329 770725517 190220267 127986351 991191343 896729785 501134509 865397127 246251559 36496437 539545817 829567915 849766451 165145247 135268657 535738397 355769369 133647511 579545285 936474977 450604907 508496583 319217639 508642951 933611905 177461473 277135157 294006305 136785019 237240993 983029905 388692819 792021057 644058825 283457063 111347903 990129537 818263075 394888559 6083989 181732537 882657407 619660321 223013517 560626979 480356795 269406531 853137633 856552395 378151095 291714081 531342169 412269185 727349341 695248207 419149125 513945821 443126943 7317419 342795643 817102653 595425657 407703383 333643607 772872651 849898989 603379905 537445825 654091641 889949957 447346077 561783845 681934589 956923089 481008613 307071869 34384855 980146031 104318175 478884165 581305681 976625663 860794905 255063171 608393083 821449643 562046563 831204037 555532331 789969061 676518109 588760867 738156035 965187883 583488491 293721403 622486893 546144889 455767095 194421297 778192277 242050527 459318199 950508471 419218295 183357869 518441637 206704383 54125265 809367611 742256777 522001865 902659885 600848111 163096365 101217117 143255769 814491953 466664357 54654343 283317743 52280693 316694349 258539933 38223183 473992755 789973195 360664959 928045473 579790575 2296585 776094355 311307349 609725747 753656893 278226119 246945957 589732239 882108643 274434961 981719183 539127457 654984895 819362543 19095515 168263689 492858333 693006439 490166043 77263217 388256657 363867655 273672359 942227853 486927225 708707687 369799071 822474517 669231223 756953765 966051563 839439821 907513273 849744229 711429691 771478397 509246385 744506841 782706951 426962683 323741469 662374835 570693009 295059231 312248321 433081651 61959647 877206987 711169195 204341793 349655235 752527081 279675051 75271881 43909333 407017325 844589025 395547395 7432563 980940367 625956719 872192299 629745609 106139027 597706435 592806185 392290245 784511297 85956753 281376619 560038687 284651631 518043603 186821095 816136791 725581877 603618001 358796569 414252471 249386165 789885459 666891533 730953807 449268249 470130033 670970955 611677429 971001237 68449029 284663021 899211085 565299809 743992885 270606225 220953787 795756225 979292331 689236573 928970609 964013823 167603037 588948477 190423401 438598251 612500871 127465129 521427299 109087843 897230253 463253793 377452515 724912455 238946971 281031079 156984895 6226819 484294757 983850767 422242699 634577541 887220583 313043881 215676329 539593677 165378375 535507031 901161025 958669785 626276335 335569791 525612485 816021299 664782999 504916495 852771945 480957809 6150327 395377277 556076337 283924011 749951765 365543879 612045541 504714243 339647165 394167413 315574547 188267939 55990275 932217745 210380053 314823359 47856005 366635957 960230155 406916367 985787685 504859135 411056861 472264023 980116241 798633237 38148411 978424929 492072635 248407587 679591583 544235519 247966179 901061603 42514501 845070859 798301065 602759567 161962811 55188327 574073595 208816113 916757325 267921661 807471311 93881941 906566677 314129089 230501855 454970771 147148785 429576875 714917969 878635783 680389389 531136447 866796687 700889497 564640855 396077831 528103501 880741047 243457159 91114133 449865099 811044183 394019103 941568643 848552843 439815415 316338533 621889011 197028311 353873053 152066923 161944079 453256519 871949273 690793223 352891659 456985333 386237887 885318877 448232225 440402247 434185199 81093457 509981073 44380393 188286863 207690647 977381799 653080525 979546699 863613093 620815795 232406577 836362077 910325307 237862419 156636567 336717439 673112035 3539495 585015247 811724539 462350829 775748443 229017069 99030685 715875439 86350367 307381065 392030397 774397515 327106797 130302603 252759865 204076075 91931977 593553055 825737077 293874555 20677821 559116215 429136737 444383095 718364635 467410513 851015283 568520221 708215613 558292017 78957225 422901047 94959749 630416741 648299913 727700819 266495839 655215421 891497763 472801995 167406201 506241369 325187339 455853247 488702611 766897307 742963041 313302039 74207083 974656049 583858635 396476037 344163021 527426191 484488309 967666557 629281163 83839599 680012057 685818691 267555455 708916697 864842227 59778013 461007755 867197205 481914569 424244767 587596441 387222459 625480681 663789213 304303261 902054309 231199531 933810871 278565521 526544377 341495531 263284633 904391797 295601697 36066065 584161585 649016405 370330835 350732811 736275769 49409859 923121419 844350415 491424301 647226969 644875019 483204317 266241115 951809977 107326307 952112951 835165389 275457423 327531493 179213679 177764449 903106827 280657583 387271065 243584181 184558951 635070753 532702293 51700015 446031591 30255853 365514185 585304067 338666453 205438211 918413475 383176999 521869699 131952801 102916887 620599133 126141771 72434763 533284839 995779371 144147857 287197389 629590359 75824611 830065339 145375805 50625589 404499611 615015999 247055091 885775577 451946293 267907479 968864407 561369633 108666715 357022019 118534421 800183409 886915961 653845967 110209953 493605049 35261899 164504269 407486389 117014895 694324561 415920599 299090455 922130321 285541071 457131919 931093973 463947687 247542747 52504737 641114431 860007613 736764361 838136509 247051509 789922153 388039867 302904733 78969563 63294667 58467995 433085447 631446299 511370121 356352533 932051137 644859689 791719121 624200101 156323231 922830021 381240663 534085769 321514107 561663727 593959005 369024969 665003575 9658615 774066343 819448631 487918015 185396591 45488005 338826861 748048643 548484915 558430667 171204549 209195005 711725673 304752343 167612269 776165811 822988155 667945363 942230101 11956523 287885855 238244713 867328817 307058809 739164753 37754705 411920261 666396599 149546325 748271305 579126935 411711495 663681719 16437465 144122489 930842773 881702731 907432717 544940291 555558801 796443695 642276475 603237077 120065847 424035269 184853699 699502679 859507399 645444281 605092619 336180409 52682637 468451587 701344001 582405363 453229019 854761179 717666779 226038469 184621067 882543559 746960215 992638907 804166529 562126739 754448571 40403487 197783971 635494739 43597781 749585935 618607847 220795493 928679421 265065065 186518471 153091949 76110609 479101907 564382149 849483091 129850997 283017153 456730217 510511697 854970393 314783593 886101575 503505631 145312117 389895883 725298169 111487685 685247619 630656433 624319265 24821259 157352653 476851371 63704939 300806665 363403871 776720911 602381191 452613721 377899727 810478335 573257777 451708897 566471741 140035173 36060457 801068491 438568527 42420205 802839613 848074381 550487859 603964691 489209403 984883425 940472479 805968917 834001919 599234255 148164305 174492925 557538667 521187489 179550095 875268761 525118059 474896875 783410985 757970821 876878319 162860169 446138739 442742045 224486131 769723809 297761995 778745995 321636215 432700575 41618715 960311743 926818697 846698549 397047501 931348083 365497399 794686305 220527065 578857765 626749085 689981543 250565823 85634077 461041885 214161875 789310339 354858605 15861027 365553529 299719859 222592237 911119007 276826487 734385253 957043517 880094349 276249391 949077817 249800901 693302575 886483023 992390485 429209525 372921549 790684617 427555175 334470149 705477819 383580379 764537253 925797495 153259091 109813769 403888333 760956305 41502201 918080033 169142053 715172005 938660373 59076915 786226045 476996299 138905113 744484255 219396649 657296867 239470465 803315465 276184073 694402963 897199821 108638043 620972417 380037199 377034889 923604937 528417667 946815053 274559049 156146131 396364417 730979983 550218659 616613947 275711357 494787547 486229821 570293771 62006521 120457155 72827325 232703899 697007113 843567005 321126107 803128197 973960509 409752973 469983819 518376367 313942457 730255223 138041045 62307395 544109599 143061519 797762879 704854711 420946845 103459275 70318431 941123271 993873645 836891627 493145355 190471543 817723211 613037433 649373991 473479187 734579071 282677315 427283103 405752623 401171667 79348709 125859685 579907495 437926947 608893115 99659119 726360481 555526343 403077359 358086085 300091785 719462315 977979249 208954733 281336081 536435257 306010875 670013053 791267895 427960171 235884299 942599435 244291135 365101755 132759275 943426109 63727287 781729587 544762025 113785147 812602479 577960545 677241887 67674167 623829127 775719255 21043693 925450093 573191009 784835001 157436027 748437021 659219883 912942761 487399673 151363989 234527575 746275799 332153953 798361635 952266405 159562361 305160817 312511523 963055893 233326157 710385841 855034105 814201975 589340313 596320115 853151757 639451 891133229 282565327 467668433 906304161 901219677 830722981 926114497 637840237 916171017 195314333 381725279 831962409 304631703 945086759 23331379 110295051 303314675 920415355 455134931 522774671 585740951 515090585 988323541 304440951 668701821 340455245 576183263 913739731 321668143 194139939 279642009 97351157 585026489 374191219 603656885 895771257 123603123 394764897 600754159 434892869 797415739 629823953 591739657 532356739 456558837 670277751 464998859 937002923 427365905 637462473 942092041 692692085 321255493 156488201 447114655 839407847 944728527 660572475 61743469 398578509 400112757 328018997 812943965 194026299 726899847 563615629 800102241 886967949 261713883 977129121 742759285 977361515 157273293 11593371 635352219 516737595 117802307 524631405 698221787 785451191 663542191 765601997 721210699 225456855 192705027 318289211 671188225 431356129 752816833 352774401 998412835 533596513 543031277 353454893 675118809 145544749 833120277 872940697 669566037 225297247 789455697 832637157 355345363 51179099 240627263 963960697 24831893 508214991 333861635 537831047 128928739 747028399 138157133 778438659 581441555 524250677 438764115 883301553 852107131 926974697 746998227 410214681 3857537 411346067 265594645 376508041 54275469 334016331 354641637 515425819 848928275 597822315 972144025 585056687 487874955 23273625 965779985 817815789 297336953 269657279 18548403 424733765 160363877 332205843 877892203 917724655 767185893 314364177 467214771 338949869 843444623 447303549 648093063 835002373 275080969 106108771 986766957 955338953 258856699 157034263 179672435 485006481 234812695 355274549 151714097 838394749 951324443 343459 248272581 88012149 496971715 748089485 775036115 420968743 612564959 871693669 593256075 40807185 815437629 720564713 53057187 719687277 202582459 5395229 136108635 575274567 56923705 200626765 779559029 865010287 182037921 794326543 20626499 752936061 117821413 483361085 290125979 883707087 723452163 785787899 948128985 349568401 246777847 135625911 420436451 438222767 556693969 922734883 580773675 627744229 142528161 348364093 194070437 60126641 416278143 699735115 863141583 235085405 361847953 330022357 891085743 341644281 315308031 250679987 255440851 851279451 387834109 577972223 447379539 664104485 856184771 17394205 966492365 620338625 99123605 306442171 812874341 321067099 55089595 159005389 776692939 995402991 722487435 852792207 533094199 556485435 92206173 181272453 409928035 271801033 67536017 881485945 550059161 5118439 64012439 448304003 786969253 647439023 169573595 172327423 284868317 307718145 748230619 804581005 130491681 519862405 706223897 294685727 636386519 204087723 504192031 840172773 604946925 997289645 95017341 647875933 142174169 59768201 283054033 406649163 133939863 763228167 787305147 5500603 816458163 252966073 942928357 787386625 454033717 77391351 466321923 423859641 702175415 805270241 253423565 57117641 148285527 742413407 993672967 203890781 641074617 935643681 686132091 820175337 494265615 738978719 60690425 855352103 232279563 657552667 836844383 744254493 529087725 975910555 286505869 64245527 110623613 333702385 95777901 646398379 296983559 222711989 637592307 122561459 730291811 983230789 34676759 913259603 658734829 443920333 29352925 885846265 5887885 626029627 381016143 975842391 637534383 335182407 792589949 257280365 479181389 276513393 885837189 250223739 933999331 914111747 263445895 447888401 621849207 871505165 226581165 696501761 723487641 160416613 629767211 185062503 820724317 768310191 171882809 903661737 561248099 495982415 106588187 565587569 438070991 392695929 347099931 766831285 454678867 635455777 869271435 181491377 223688481 625184269 202877125 172507879 658513659 516322751 506353451 98304039 89648419 217938829 767230759 219860611 62416491 881204875 696016941 196557913 965897513 393824923 213368757 4712267 109755961 124074853 573890115 744435525 847483395 417005403 166282337 823915901 764214133 192148657 315874719 774774127 128025349 965188203 189852059 985512927 975495089 815267665 694502133 225950681 688688127 417713905 597962329 223092147 588041983 31734949 947512181 491807749 848443717 113419405 667191817 21479097 590244337 449000081 307975891 874077173 835024295 368878945 161014429 537275187 567591321 16236919 468379453 618964011 414344825 5797903 237940363 767640037 885463945 772547639 354216809 716984233 162881421 810808251 406848705 817953807 205586899 129340981 180909191 708228593 544626995 506847747 741057717 758535539 642799881 156106577 821911115 637769475 448292413 894705933 911068245 717084245 208696381 975540719 404581603 93621093 421689855 833059193 942365715 343491445 129498881 920127217 229732101 395767317 749485129 696615017 946865381 222090775 565802855 486302135 510902753 307971735 781199727 752616831 343097913 874462203 75061249 208809509 210571563 587030765 588670531 251985117 712178691 760574307 477883873 470102685 949054227 64420761 64426517 75486501 23340213 641209619 752909977 27159551 540809803 125584797 222814391 597413755 559303487 432296523 669179451 183200687 208874501 408525435 167271037 407098237 902241045 424461519 39308633 635301263 878846451 360466995 676607031 407370577 790313513 332824799 852816135 698738687 672083017 771614539 229537595 364106647 32225005 597574461 508005587 406722531 392761271 427878593 79549781 311495537 658906195 93592877 591545041 294802587 203778417 326768667 494577883 213766273 560022475 791062127 405723539 811805707 954405157 621187415 560031391 79252715 679862089 623314245 572370987 645952661 36219657 361414393 366723057 625571149 232422207 521367667 548545579 295208219 612836301 184948227 750270627 899123405 747800223 323120955 118401959 183102717 440195749 438812151 999479561 4052233 629979353 329512795 462248237 11292701 976736575 408185557 388743669 479078439 20927457 877856537 617158609 701313249 314764241 274009891 12223159 595539655 893344809 899941175 222372645 230474279 272062731 740666337 496439075 482598411 230244515 59814645 988159293 431519057 481999905 565271183 328478601 186895255 938315967 278285845 677709991 435447875 612414659 669714737 114889917 572077961 575651443 504521435 933172343 960917855 527436067 974135371 270465039 868658311 882985517 295276551 565795393 727707015 801807859 29194971 53087059 632009649 465725663 185652443 709349907 250642459 928538213 529495141 904769241 227480743 115480063 692794139 339303041 393372927 922021933 36784875 664712565 516973455 714857339 175304455 612375711 329137299 790897019 840418029 658460279 783731979 112517063 516317027 115533307 250519995 443315459 968274801 592965043 158387769 475252693 168791919 593867947 930062809 706760179 502789111 163118457 899682493 216113431 698795245 617324349 284466383 455354369 386664063 417937565 40297659 85799805 602435105 377562823 762840317 523782493 124016013 198474351 273632467 936941435 98048971 374748375 806363973 136196281 618067493 799495363 419001895 93868547 453294383 802256771 924431629 250290505 63974341 844999145 292358233 560511623 971741195 11623257 217315379 838919357 585362033 773639861 504313739 267513591 849154727 280577391 678649625 614342983 300484267 138907257 489261151 371619271 402418625 142622035 476546723 297577371 844692339 413943045 646220791 407584745 202562715 466437403 26890291 951225575 223148111 193419947 133207031 753476815 855502583 298845525 409554347 200752865 962528063 687757375 90301567 911006313 538065689 438457623 738899307 739954107 744876739 649835281 301769263 601372973 546642881 512194543 162273367 211036195 516457953 76047605 177494573 54748681 667090483 139036659 74305999 17744719 783742999 159454781 594994715 666482799 667874351 575730099 979713463 957987567 622780777 338372537 297631255 220763221 549999097 812995647 331193457 742978869 368035417 974158011 293171397 977983017 147400271 480114477 973960925 904278741 719944169 431002393 953809225 232711903 170146425 342131341 49284703 85574911 963133851 96629023 247622465 758139369 448398387 217516271 598361817 442627429 880554863 552997795 318081747 578195257 203125187 985159017 239884459 137059385 818362347 710062071 891914911 448837951 76185067 742633355 928189625 438657583 386500109 520857067 315852743 840416495 207050729 737291109 977326693 967148149 525738843 56939985 687495663 105446331 409712517 762459533 415523215 557448387 602444243 754029695 233302837 341943701 281433339 914449171 539596955 749326661 848748537 666581825 951302719 524304621 822671633 78171529 368030825 99273905 436023503 330801133 566621739 735460537 25932041 745737983 689302109 403771447 425602007 345425109 667336351 301254757 240043681 568627211 884776025 473188233 432053523 48271561 537989563 520417257 823978015 323458493 475814077 531316441 710265605 432611613 776608801 427980213 894230085 619655591 717237869 450399451 895751853 381523873 406611187 584998073 260586067 827730395 785771211 641827519 576743313 776131241 865370069 240261737 823917067 299512043 601178039 323611191 120290735 29907717 110160613 574222007 234699185 50175977 654875029 522640759 935185293 91761161 571833545 590732307 995521541 410040933 851484999 357759791 842197033 495418245 404268193 373201779 702264907 292867701 650744365 846294673 807277831 317061069 966936591 704934981 829072449 689281705 293185067 103655247 711942185 209563569 944327989 726834813 708917295 327990291 780843427 253963677 825299985 725977733 147132085 44084875 408700113 534831173 104729973 475109931 781146047 297675291 453157297 153634149 698439533 457731921 828193029 89138219 189574329 675754689 81738189 217784953 235253701 440583113 491869747 402773327 946493181 658498895 528828199 438308283 654690329 389279935 450502499 698622411 431649041 537454355 948591717 644010907 474619691 374214597 858598775 84523087 29787123 934286303 143885479 765818127 767582783 39214317 393422799 180695565 263734567 734240775 297005967 603188613 909074709 397732041 803012687 384421049 784240303 389466203 760986431 94996209 20780015 569447019 671190361 954888321 523432717 869883951 140461659 111492549 301760913 919352679 238098893 672457243 6332227 331777877 637358081 875931377 547815227 659845067 879467791 636092089 48064723 805005853 83584983 75882987 735681199 866633259 356400897 779720201 85510079 818022233 944508413 283188385 705958449 795141017 27584003 549526593 989854343 264977501 568653077 738681733 57292931 703054759 12540665 652552209 70410289 414770427 287988289 645175181 740413157 32011879 139869507 550928043 213465659 105996675 469161251 242980391 632033561 305602155 707017413 965475267 848448169 832736969 214126045 799410503 976465249 249875655 178446305 750043017 525498365 591284765 992711955 330044255 575697025 925034249 20115833 220981423 295057721 497380689 920993251 72080225 440168377 542855493 784552685 45811815 373189599 695127737 206350835 785409213 428171469 136690701 434082847 329625701 868037105 70610727 733059427 765278055 357682173 163864181 232518005 565744857 615194607 250455531 687455445 767815121 491934733 984568331 698804685 426936949 387564767 650523353 249508203 27526381 176537659 299557603 901011593 700080749 5945919 948296257 253212871 936271917 123630671 516962191 234164621 567408239 353824789 154214647 728685325 574531457 740053637 569127203 925577531 573719729 438429407 206644299 396546779 710895965 418917795 54096173 643509365 900564451 809153953 592869905 734904663 68604083 845987563 972784065 382619291 289795385 38231517 390223001 371605025 422608115 54368797 608084339 208681873 58859619 328619925 545879223 378462555 260061713 540121467 677137233 49672631 166930323 542673227 633850299 13697447 753257599 68625863 52957425 943266801 332275579 956148735 346473337 435945511 223236911 442494533 283051617 269874593 518821199 106086711 934471233 609821823 936840083 290774711 539523639 797346473 332797631 276346609 659192551 105922765 212874651 998365021 627014017 184850793 520011261 100617651 753402555 115900855 92711355 381374713 660294611 9516739 571584443 871711867 489590673 114362461 474430693 420156109 884222273 246530077 298555693 655944909 685048761 600225889 17045643 407466653 826994265 354878293 815225347 560940715 999737351 736843237 683796637 789465259 791753777 540581581 610180207 351181463 511425997 775414667 677261199 129301941 789235287 745495913 545724195 66037651 293788379 317219959 796180563 453817089 347651809 180909195 807735123 559214367 865777539 429976135 155652699 586066001 896348255 906702357 443942575 993751361 16266905 755186465 616917913 178552293 915401697 169855079 290601321 798620791 238582637 2616229 715094141 880829055 569668349 301316197 227703349 36170695 803808211 812104949 224642043 149368675 58621889 224019311 392222273 661469871 240181789 549681843 313948549 319605329 489973955 824192873 957795651 813133107 844314395 600865537 401695499 183127435 910686995 466816181 32898413 591157717 95216159 86429315 611824385 257346517 562103873 325586483 626337645 618005911 815891709 579112535 486985307 208414831 360156771 791060295 706153593 967655419 472898567 716433443 677948549 43746589 244025865 868693459 37958721 691151619 135393293 33250311 141450103 630781983 966069315 443240503 228589305 741178671 581349987 559949477 638377375 157110839 410837159 399916375 23666511 827569029 397837529 166469919 590198257 75306665 178320709 946973333 290265209 270841731 408860609 889518871 723676127 108774709 613342383 219587025 39149607 793628973 676847 919451313 99957595 137350175 603696117 785977199 352827533 327006471 103574197 280548491 539508949 111345703 747159213 380029007 755876953 979807759 725733347 61574091 411664195 773083791 753843943 819103189 444567233 16854471 814646221 623570961 164951059 474080539 256756021 197741539 713045879 706396213 753987 868073343 289633079 656921099 894015655 762523353 876859561 27647961 953235865 281907895 753347365 299031075 545159891 611231643 378417421 710979509 668165279 196358875 427782859 220896419 13123017 934545291 384553939 964045129 969198761 326147469 904190365 540336461 144892955 222164617 535460525 346482843 818174087 208531697 496893837 890258021 227185883 768985337 258809807 686429737 193013133 387705765 125704459 761411755 740515227 447272381 689168359 290249463 577760651 630756559 413001997 99185505 595433069 459851317 125041197 948503175 111715541 979603471 94675713 891293771 53049827 194799173 332116557 156842203 729570875 433773447 199068379 463908777 976029455 925003855 679281277 379328117 297342737 724112857 612872971 788575295 488649091 109084979 523541867 127458903 98681127 146668585 60871815 976959821 724371793 310305365 846371919 112673281 864548561 909040149 779817661 906925207 192650507 196855701 685388501 867797881 875054305 900308419 302323617 889395803 716671939 983578967 1127219 163611965 427083943 510335955 86315939 334030689 614814475 421791357 686386713 17558609 768020469 638853479 71166393 598204645 417953525 179634279 89790137 939927609 873013023 54060577 883120465 527197869 720073235 32388857 461548229 302791923 483300597 88935971 507803231 610659067 212071287 263757973 272730225 389306627 870763211 653341711 363301717 989095565 620970675 63310875 846504045 218110825 820285043 633582345 511503139 927818411 724929497 937606895 940764651 384654251 995079229 116657839 491607871 741698833 798373755 286493427 754101407 230209481 249398011 726891815 148970903 675810309 404585131 181408391 211431097 665982531 228859905 967779089 231513759 929282633 995159291 432142991 831303403 373148191 814130465 206196623 344655687 68007195 390136447 841738859 724806759 466638043 610681515 172508227 723158275 937317441 510152645 378362367 772896993 925993083 249287537 129027921 808145863 62973949 876730337 902620589 625467527 365251457 174738121 151529815 832511487 578037519 838442085 64682583 798829073 740418799 762203775 710646139 939029155 785702073 677738851 153924957 953685163 679546951 635440873 231050075 910514465 35045055 106060143 179291297 140289547 549124491 319733977 557068061 73393007 681653601 213764503 853392521 485212257 268755261 789562783 823636321 614037499 283765089 655757679 814539251 852990559 246912605 298725647 58023243 188920247 176781827 817544459 202400833 608165687 588325489 887213433 143250553 277586457 37727495 296715513 984396119 754022557 222758263 20081073 614127375 895623439 889605297 287588941 942765975 218582209 296958451 403684615 571267505 923473677 524412865 201892507 289166307 647629909 883925223 650551631 314433407 801708805 206428027 918624753 608510875 165566605 644733909 659621593 704304665 135511655 588980637 103196899 612985507 588972311 978549951 855216249 771786663 184929063 183554671 516550789 374122843 700936233 561177127 970720127 768613573 571171257 780316845 892398181 599800999 587786869 603803407 185580991 531187351 479608073 480914333 403580055 687320041 501671721 686212855 518868873 991668415 237495951 518817537 9142703 479694595 317784571 20671461 634453425 94224225 369527865 317167895 218986683 617036885 378414875 620815959 878810503 971539741 222949499 552890535 438679889 955987137 256909629 565265745 131646175 560817429 757626951 176938733 445817215 106422701 819756943 311231061 728415241 704866539 194794255 823792559 480741851 202564343 202109383 366753125 936744409 417602241 279534275 920353581 895000435 9462017 370542613 863234819 934837153 398718265 394579417 198306859 451720669 948210351 837153069 419125297 985103663 138554229 952998719 97836009 999774503 895802723 1732671 177192561 914124507 736734489 663732839 362371627 218251239 396664575 734326013 184201667 338781555 993745477 205460807 57425201 20198189 527739363 263955353 524764333 215731785 184689563 532745805 891960253 664091785 311126771 206977221 515333677 650951985 908338235 484623981 608935187 540698129 95479183 635699125 328469959 790551165 561427917 167855385 413847795 415663699 132430235 38259225 590810493 688289533 896711277 545766977 217304479 323566181 180564857 631980579 229353427 4490243 720288959 270740571 833937371 784074199 695829513 460861575 834990533 591100259 294301159 603466325 784150247 645637817 26576047 969073781 260215515 515438447 655921541 528079265 426163847 374089121 237878605 880918431 660578069 735280887 738770873 203123765 730978555 996058527 559963203 899780151 246693621 107900237 799028521 640204927 396360965 149709891 583707765 36142321 2455419 534219847 626193653 811411317 214808041 669958563 649757509 25637629 420238379 625113137 489116353 313940099 162637159 689119823 206174867 173517325 194192137 445399009 797694123 49968033 791829443 287274841 651346115 756363859 964589203 164343977 584847705 683548479 804316093 151769681 498904757 765421699 404138957 413130329 31067625 228911181 470788247 820629325 894424525 349554637 791334969 769810245 291913729 363238975 540160533 416756957 919965165 3413987 354833881 296423485 721567681 908676357 963469431 370259987 728274293 836850425 586385709 853959317 148359627 498759957 525440641 686847105 942377801 300766141 920442171 267458077 469212993 658005341 603839857 903262777 337724619 819919205 251573633 319455529 596206023 493609297 67613455 588613579 658358235 293024163 979507717 137596553 695243643 354882275 279636377 163240013 450838749 643075237 541849925 681897873 875680515 452036741 101481937 250713935 541978803 656634145 306644549 117757457 144359295 357017895 187492601 144119523 544911549 765677127 459123847 238808157 897384081 983000125 742189781 518546331 610375903 555137995 715289101 792527173 326264923 976048057 731828133 992577161 482024827 170386395 384668505 961302557 783868287 939059723 807247405 404351807 699078513 65228077 82737005 409014965 652316959 165955625 858650029 626498511 796556837 142924017 81760713 922201441 379222239 150462849 107869671 648358091 862621047 349988571 557837939 368634099 552766173 588747271 980220703 242436421 692772811 36473113 34621929 446822585 191848895 412615725 160699413 642249423 529539075 608912993 456042801 146867339 328801445 988631779 659112461 995249531 740446079 406692323 641642953 730035383 100043057 345228701 742919879 823416283 102873123 309928787 710135733 433146895 525499269 415896141 939831429 241024257 791279697 404635361 15507831 425157607 572449861 259589477 74199051 731904639 617017577 884536127 29056017 858737681 308583567 869862359 18248857 941365351 507767631 257983391 673402115 382438621 637149193 939686163 188472819 219695949 527303013 447644083 670882387 167667997 679653075 839743757 272404057 838839871 198447499 397922735 135731841 292220453 855788431 730057271 803905165 101528273 735792805 477064771 83926157 91029959 23056735 977146241 971890131 355723541 976031763 688511139 60326395 936839763 680040933 538378849 303472107 897795997 593157561 730712701 892275919 897886875 85071171 376020677 62950169 223498619 563593209 360166919 765394823 690995699 681094685 596133153 439668253 738467395 464250805 653144561 149591335 479606317 491708817 7473765 695771705 355411459 523395661 425235311 494061361 750475673 248832325 221703 315881265 981266767 388492195 259038255 28964773 387960075 86917977 423029237 769901381 500108601 693236765 377687143 760017673 726838739 338236015 727349411 866479927 588959573 987277465 455685319 546585179 617883077 656657833 780029697 897383499 637538225 53586553 245352579 877071137 819826481 944567977 686662789 917306945 360369377 424019361 910825291 205075801 897782505 238918547 404498205 374093661 75827705 576292467 585511761 246222727 491298883 362440965 42963773 942830175 984113287 90570705 366405959 652558511 377705227 694324773 460120023 954410121 264200351 200343323 192758879 965220943 150176665 658157715 325118555 583567775 190977749 599688245 908989005 804899433 609034937 471581809 102582463 257504225 89609783 61572479 473950529 602698115 522677699 3380833 946634609 602862099 631722073 720786399 319967213 859276957 314924675 403308933 17194853 319518581 806298447 120018097 300093317 159215415 996521297 352501121 756691979 759695817 5390759 860965853 985650105 498558295 404057339 866659443 787779927 450764627 665981559 885103553 777838267 810825595 890547923 901233921 45519293 954276051 320642893 42228031 839846717 347624103 992400045 232524875 344221225 370475405 840179775 387844541 927830131 826606687 476261081 369156595 121069587 269109057 154882011 793627929 702397965 61931169 287996459 103767067 342823275 395293233 655438135 465122229 813233213 322940399 608110067 174940517 219185825 101199137 653175265 146735733 588179383 553193295 517242373 629913845 325841577 820959569 789843439 550067387 544449449 994703937 353966771 451825257 881750259 580840579 820208623 98932841 561445833 243540679 420738253 67024359 772536181 68178683 550457079 959517663 833965639 331618657 293708197 649037839 87426717 631953787 640985751 568643073 932786135 672817939 349195535 330903043 910432095 942468417 394344159 861429807 947150249 361044833 237983581 612828517 861199149 427819027 940428901 900089421 987243887 75883081 158228831 851484759 307524087 525279283 162629175 344362685 192366939 940436047 66441831 511648637 897176115 600708193 894866923 186585695 268943393 970495093 721277513 129232885 456659151 166162911 740142481 114813591 970605807 768159291 695695191 384662885 988565823 513401969 167058873 546155847 827498877 679051175 753907297 786753517 755249523 996867671 508546425 837120207 571414007 412166969 66089145 510302767 333224417 266529363 841609825 67183123 865697043 391482353 767847987 180479309 305094007 403302313 417859203 460066933 747727871 22121301 248283425 559948009 603311017 50090521 393100399 530417621 123904627 54432099 81226835 26439463 102391911 358427623 781281083 167093911 158396059 9930911 439097117 682228389 103523879 925290451 805309047 97487259 175581485 369552395 993451343 656276617 556810199 208672543 3854901 374349893 530239321 387513641 276884285 201622131 242088683 605880719 414624005 102366839 635137233 457176571 553233335 841133189 385329493 297714019 181159421 959470737 676988871 985956611 546968081 188309857 29188485 37700957 981988525 508977015 162414319 254308161 653056027 880021033 751677551 69120193 339613991 289929867 137107321 907310651 825428009 130718335 152368005 655028561 70819837 395188141 65852695 860284399 736632587 408816263 313587385 107011403 249991745 993721153 599198205 589659873 433730581 132869855 912448125 390826357 952060293 248797225 512486619 31959061 360715543 935904429 120289729 477489937 111853019 925503429 426540771 277782281 690564197 699451281 731627513 260482527 976995795 690937337 430013895 48675777 361747151 45461933 731492119 837256225 861514371 958543143 248849339 339943613 355787689 349425571 693813133 888355483 735403387 54523951 240755567 557703939 748205763 876920471 550581323 21975693 650424013 202314869 243979797 736335891 552339569 627568679 199758021 498119097 302764811 176238553 840584031 158591981 694336899 365458553 359998701 162597987 574933319 791602879 103908737 493317399 526898509 190344749 50668341 989630795 52538131 915781641 880946475 256306319 352971169 645434981 288097421 940651445 160734849 416697111 174265743 377499097 932455631 795638979 436271721 597442401 516206117 187261901 552279137 507444471 727550377 405530985 587070139 573685393 476510477 252484237 358240719 542493803 797769603 251111673 847011317 631583241 649952461 179134519 532824207 710315831 201446959 29020311 998126857 678127369 611143543 886830127 449579475 513204445 527678461 51276769 904876903 105497429 40310173 866004567 610556233 660772701 182843839 422413053 92900099 681531693 880795217 982256911 254055207 88548157 542629065 230511243 738071631 187169107 442897189 518297915 104747549 55132027 471946989 192048557 80007227 102317835 663767083 514259003 90588509 935432605 177484923 383257093 801336381 560264725 50479607 444432371 256229531 79211425 432572485 456960439 867476035 492141235 156260247 679298245 337265671 756492811 469598111 795600225 462155457 825721769 129035423 939613587 846321235 145109981 510026843 251586601 870850727 731485241 633291041 529181117 997267121 476567193 947075273 47428013 205225835 130916385 538026927 930886949 272847061 870899265 991428029 862462995 446824699 749538727 681717597 686418481 104486127 830328149 265018503 311111163 696549323 995933069 20588473 13470655 254074801 89329371 862273273 787901065 72553677 878705427 839894231 286060337 926124621 463957585 73931113 738699611 480851313 303261179 497539915 105904237 701956215 984078779 676138659 68827797 311401899 470718089 965415459 135669199 211961951 926370205 904267775 605007579 507258349 750941053 770689779 398300223 673755319 508078325 989168457 372151629 63088937 550186521 702738383 535584027 283664563 900334407 652813017 180361613 517611215 839687713 282953029 967262279 810541059 961630357 920050043 390176701 560754901 378162645 391458921 128415779 22263513 828371807 597698183 478854783 74129833 413305849 663797967 612841877 24899047 526002347 122022857 116059893 842922047 131467213 626475141 549889529 723673697 486331385 501865369 274984129 349059591 674604819 322469921 934907703 315769335 163798345 202185411 869482503 472467703 165433871 754997425 448992173 971997915 2956575 509392031 779773799 903482749 962474881 910897099 299815997 474539455 202432127 143658235 308056579 808821389 512919213 336095101 98047565 509527511 463138023 645769257 101675389 637289367 25015123 306816093 17605563 303340755 759833691 340738301 636937207 547724945 430135221 123124601 323544809 499329253 251858269 74002119 724917779 421563881 6157463 602146919 618250939 149728447 811968239 844242779 715916531 227831443 46192953 369319733 567388819 911409045 392774801 604850443 248976955 99188737 544503133 311214201 927487571 210874647 396049481 533155495 853116939 449309219 567712071 459556673 905616475 501181303 580180629 957753729 831833349 457424749 419074487 321770275 16636815 404191593 604421243 965892973 930332235 682357969 842676721 293958703 960962895 989842971 841964921 824892605 722630527 491268033 54756789 466004725 586239359 227738947 972330387 348018241 918494403 206833199 725503815 712715915 243210881 641584403 85745483 750086475 711129273 26522763 95299941 448391295 166098229 638415929 138736035 676654511 458440837 504090057 726929751 691707623 519308543 852209131 464021021 129276863 616235975 305276251 798971609 98822227 909149121 367928793 621724857 287007819 335263391 585890609 786922033 572076499 865567195 888443959 299795453 619144869 460242867 691855809 446305313 772935421 533477937 656683443 280040681 331568289 19195939 387791353 44622825 561399777 327160869 845104003 698667261 967687825 151572883 695788365 354479435 702576913 203728279 38601559 839780413 868052293 287752737 92330925 345703561 116943773 350435051 101172579 236010283 922079761 623927411 820893583 133100135 187944731 644121857 728518229 401903305 291326661 513377703 108757985 840142375 406470555 813479229 503568227 778610841 556716469 276956003 362603543 336269191 310839727 370738049 824632381 829899421 212280241 116160967 371536419 258934991 201011305 198284845 538219799 718271831 549889549 678396789 924736629 174411963 703492953 154519077 183716001 948327367 283549849 690753423 621990403 440360081 387811989 951101643 980556813 845454707 761915303 429158841 429243451 836285457 384483501 134104063 377723661 284986457 681301517 353462801 754429711 421235583 514218163 574314021 335363029 714103551 429267737 771892541 484781301 768317851 969569337 246754335 885981971 172603491 228354717 731997789 561505499 122755497 117776209 366908237 469496829 328057865 793959149 161895187 157531701 291755369 184942733 212704147 778844741 112743411 214651097 640222593 303924981 149963037 973331199 828056915 601046553 549730979 625197493 18683465 312079757 431437703 920204857 818639725 995779119 729430809 809626449 422673037 692334317 402712043 857331789 607753029 579530679 369097435 545067521 484739569 902294665 331539979 465035213 759390907 47402085 966919655 563029653 723224211 441388627 845804583 376749515 727684147 487619689 194432195 693943393 730151193 54317757 660897537 556178393 470227087 405689459 955501677 653413175 475714211 834962615 546758621 588465161 954153775 710759355 12396649 572601191 256274643 229093815 904783483 909386477 922643959 95738861 232042169 669161923 578505163 926813099 362032413 723671447 50140489 674765631 874500575 496435615 558159407 166197509 301593735 149838745 424579589 402958945 389320413 587661003 837964061 619827387 793588217 260425989 545518479 30583429 239622453 695806875 220512827 617642043 28735799 905704557 305793481 218104159 336519913 231536865 500364713 339434361 493025407 999679203 941973779 669697821 429010553 591312877 535994377 924122343 168992409 706349051 290113105 223237751 13511403 560286355 409785981 22780279 615127747 633170371 172746979 615737497 146450365 880885027 898712743 609662105 94258367 996367567 669377709 742653751 614744307 372701807 775168681 752394305 261296847 705901105 24979473 933863045 663458063 695480779 813794087 538172129 437481911 139270011 906052593 365437235 334446355 638588681 253070143 218112873 88187063 434115265 253714349 260812405 922022529 125170297 827645591 951607119 666986387 716863121 858558759 1900027 802188123 112624367 639577423 952148609 280373899 983246335 402429125 230452213 933597217 61204411 406027785 966717811 293298275 162957981 803161957 123494683 653791193 349438639 400337383 383380247 816878683 379325567 416764521 949901977 533706753 473866785 173013643 124232925 62194741 980211251 318698423 955473957 228005535 510316765 554561049 332162233 459690547 392851661 25924523 251547119 662999601 823074873 528910127 107962653 899874585 686293985 9149229 513140393 298763707 367154183 342030579 564476667 711319593 792786301 146581403 634999175 515522239 224802967 553751301 334688197 553900323 665006645 499116761 480262199 6744895 825661117 503164807 22826347 437107785 120769309 303611207 806850287 633429949 557983689 898651419 774224993 123956319 316104643 507271115 782574177 623433017 71834511 77865189 998978457 802484389 325978173 825062337 147834299 724313913 914153569 617166979 683335811 491460829 89332505 150522129 802136755 634988987 819814669 54529051 95803157 554053963 558343533 813833241 199547257 362587461 380804843 518101067 664446397 589554351 670438087 265909179 138275009 218776277 421005257 992210489 411486063 281229387 897724219 569996125 837565881 347211247 750152697 934659461 740639643 528878051 747658589 569101533 746928151 180942485 58627663 724032081 673741879 558292409 393306683 985649309 555741707 806672201 312449563 133778753 78152113 374821515 201672043 164479361 497924169 404496653 726098225 775547251 957027581 301095327 494218493 895109867 83716609 438769505 721445347 906472077 821552525 901064887 986599809 832460477 22412003 440880715 881661695 403961005 753796945 718879763 45550605 312043863 888781095 427477067 779588573 393419385 337188541 805683317 222353967 1919901 144799609 819019361 193597003 960311569 435947715 628354337 369195005 117593327 52243215 78171665 819917979 244331031 960418005 981873623 950922247 746352433 747680153 549965661 575714721 434444205 458049253 139956441 695845213 839410885 892096841 693996743 450011823 315054711 990202211 950869739 453811093 766388875 990180563 660912465 981689237 512740243 189109571 4621133 491130557 559878631 680028007 424888957 626280103 510436007 418567159 521199043 339754859 197223099 918009015 238110797 696665269 406798291 136309617 34485901 650194607 742628711 840498421 658113857 693186833 400256441 675456033 959053423 446105627 719954639 59035861 478065759 102388623 478055803 10284795 467287719 455977919 595300949 221840775 168456485 56552065 717590203 938505585 934533883 862076977 120915417 50835133 770409367 819994295 470682013 319179125 16956845 550550145 442755007 753027753 870173241 754268549 796819135 123463543 891644285 654201921 601128679 261910015 11983881 748434619 882073927 343854187 793474989 646045569 571480245 711173103 582008459 516492971 187878101 510945219 458731521 262290135 806124811 593383979 582938559 570943019 959699339 716298609 80648889 179358035 692470345 835986151 62234667 116128903 511419403 700117989 199745689 528309383 167823187 210223825 394017999 192401815 757215095 484633621 766240481 638036613 876182923 440922911 273665323 687252391 96443249 207762799 531052371 428017631 971558097 437865347 363893061 741149071 107380765 762356197 956612147 607894951 525067145 515008555 452624283 804146843 210435097 661498349 58280001 712679277 269103765 589258189 480177457 926817955 83275915 326345333 432635583 424305991 918830421 592047513 168653705 690961395 114145555 71661297 624352113 114064837 347786669 597574977 479393957 473334627 264846291 226359635 743244953 952613881 208225791 668095225 662396167 446626369 144281455 734387725 52052725 981066613 611430699 81908593 649346481 843445855 355173637 104064015 939646923 823024715 838747797 735336411 410436643 804968977 825696825 107022029 998804189 199074573 808632349 494906347 453524579 89619495 954549551 685341241 645212779 4960461 274343975 747176911 916217071 79142901 858739335 291513541 129051447 898931997 247389589 702505021 605400779 480080717 221218659 779049825 608484483 356536335 313715655 729424485 405211003 888642685 573275493 20710275 385570323 191341621 110914209 523860475 705676029 826979933 828505775 283373337 490321449 233865377 922654853 631207215 310766549 935601211 996661731 3481237 598933893 369039077 72572499 151720115 708119301 792779241 482012709 983039213 364357481 271656725 50072943 782373305 191229965 297675195 940052243 302418319 78060439 216107967 723335611 751135731 700083443 354912387 913068243 987127407 862551123 307994103 601214359 879395221 337083445 684622737 611287045 522608639 764865119 522614607 145602535 497189711 952157401 912138423 459361227 202120497 830963449 369828825 713011211 771800149 382997085 630572105 657069511 926307189 355280871 748560935 510766055 858576981 971494597 531093273 145040413 245473471 146486635 59075405 968827869 922947973 556018835 668058231 739874667 405107073 620394053 413801689 943655631 712190101 190392009 165921847 854466263 22636205 997372855 375110367 662823965 192867513 511349993 751412393 757154815 539803571 634584453 493561841 10582953 72336287 766111989 27496607 918951177 892213383 49328623 42427683 925379545 656065917 301689711 707108719 792333461 267358619 74237879 922870275 62424459 633769219 892974423 82372325 557030343 313820641 683419681 297023653 187699745 780910949 67070515 958452055 359170621 545180873 114939119 747742619 285659521 595840593 479452161 259010455 12144155 6637639 468467295 710282745 406827527 493005309 167674181 413140725 948000773 612581069 26210615 361179469 543055515 351680795 88026881 815991109 422108955 13660493 38767289 317062571 320424603 69564121 552645303 447076055 354622719 571892025 857375395 598921639 724363755 859526893 773630569 647690879 641534419 587300481 11368253 712877135 942203115 804192647 209134233 322532237 104079417 262490521 120451907 11637049 500697729 308108121 464483401 701621205 612796755 752611187 425276923 599884403 658097161 292671895 283629305 637182887 877763 113708417 841333031 189671569 291561323 154767345 745860783 692083671 478188717 632497075 942712069 543331495 760142597 505094809 81322985 75820471 140749233 761850493 712901725 344684611 421313465 955071041 290810795 106242325 313815281 286631633 447881323 243081595 472292077 160561181 461494647 955823689 226945039 3178017 853188853 785067741 376816255 460601309 707976527 579166241 356394285 254230109 726255675 785402239 786077905 43991475 9385909 785756655 52485869 309690873 115047681 100489967 802277575 654079569 165910955 976141703 993746033 395398631 278032007 837089091 277490627 165994219 124737203 665030457 256820061 197620121 112337041 895550731 398219687 320794417 42506957 476953049 286113745 676459263 259407711 470925143 239286995 287318869 186303103 555991225 850421359 544683663 559274419 903834557 736624171 363666955 221377735 848377257 651313241 971553591 150990545 333615691 39772943 537296003 421795625 734833403 337382193 626259561 812029049 937621911 639427427 529865327 353987497 195526531 242507033 260464155 57476845 486347953 678286217 380912641 866207429 605107347 364937907 925591227 325119217 905227049 394864737 541168621 100470143 546804219 516921123 580266813 872157637 36705045 329157967 155330401 703750493 792831501 820005385 613470483 612899117 754721029 984268853 177963539 253619807 518806429 189549445 634761263 957326697 131131401 798838131 273487925 809641223 960037373 767201853 117739777 522626875 186682807 749940205 837167733 711139925 744308989 707764049 458993277 344490471 561545247 73041157 116763145 443530189 482590449 337685093 815401493 403724589 588571089 562752155 449600673 751942003 55725737 808063383 938612667 611386193 783716835 960824595 976784497 945720773 199269753 802911117 592500703 188479251 723411941 987623757 257596457 824178119 809466161 778733413 706135413 2529205 265721321 652182189 160519419 792015099 766926371 68643525 987894767 788038907 299331713 4192533 127682713 92577635 800958245 899275725 331882303 811365157 439726269 863624933 911302965 641423743 622608259 994141983 675113943 302558967 699220531 661739265 201969539 866293845 287431957 619774429 641775271 301537713 895600883 854212811 961686707 965435747 965729319 662172075 297025315 832841493 6444431 527659555 730891383 243434671 560078737 54722727 979109693 312764263 587925273 863881069 666893571 420105911 278802079 441055607 680764261 189590375 507362595 75325323 590221575 229937791 416988969 626853691 943884943 231983191 731038143 487256541 587211189 103088521 387971963 191587221 30667823 322889211 670649727 672335431 959589567 304438743 55923309 527999655 478025777 357773459 109399413 251973419 396694105 72007659 874095437 584440595 536388877 308519651 156319539 576558953 894028083 63368391 402331629 246490107 53360561 547467307 749391563 244832869 931393151 233505259 391508641 561553667 408592275 363913773 724556495 26098687 752749551 296093021 844268089 704595531 717097121 119842605 202606161 669202075 795864503 873214363 98105865 668769395 315656013 563777517 281815267 176141083 294656135 123095467 438705121 209099937 896267405 259892139 800353943 40191711 288187793 340389643 532716053 541493365 862877135 994526253 203655167 359035339 13143687 845609407 943846775 555777553 191337223 8434101 81593901 413501505 430134685 76102217 54256471 114876441 249749671 124785409 702338739 238222625 369610115 243371947 295727495 273597867 850456991 246443351 491572131 841091535 180815723 853331303 448548443 511558765 270120803 468860025 545593231 271569453 684473609 139387261 468493477 175590527 667931109 700515495 544328073 527896731 863394957 98172531 275004853 759730819 171969943 615475875 548650787 95664637 756063913 918390087 981164893 588158875 828788587 415143857 752454257 770924979 692704399 720654717 424043505 125140329 289094353 589190033 14649345 76689825 146948595 616057113 576847427 366408719 897049021 917755015 216542951 564485161 352007429 950120089 722008995 213164081 140427937 635550547 821431989 87765037 313849463 290292481 326378981 528560877 183368815 94578487 758953341 698237709 234721147 99316179 456372057 476955625 784872599 489906679 138257875 298337451 145558981 810505487 577826001 315753285 44262157 266981843 583472837 794635117 787389317 409604411 761304993 154882467 22464067 920761741 952830439 21875761 399911789 453857623 749518235 245728293 740571435 24716393 987893067 555999833 158763183 679924451 330938127 94281837 707332405 837580327 443019653 625047499 541492991 666979299 817064657 332474527 610464343 507900171 33633699 362832099 658797197 95604953 594626609 712282969 64003327 341400533 540078905 946556553 222329867 463824585 837952771 166311873 735403039 229003719 283343963 799457307 44397229 226894641 116582295 826646903 581561133 267247269 630904215 636407677 455543331 841377811 744113345 801967261 637104151 432713391 597093379 204303631 924495007 902514677 403289041 828880853 928340817 704965289 867878701 863589303 223225555 448546263 626085019 90115651 475621325 325760467 769356585 516295377 512519667 960708409 161228655 134422917 219423485 981376495 593658507 247218757 197267885 435585569 597919009 421909441 784887505 984095041 862723681 942793841 216784953 575826189 500223233 118468501 143754685 494327433 663992385 452930103 333368387 597113091 696303843 926898215 14891187 839577355 186585145 886615293 490907905 91155329 754906905 870063383 990936869 824291975 200031967 285097121 856738337 510646923 24792691 271069319 748117763 506601791 355494209 36259205 240732635 106174115 33668163 236555547 701212865 128667127 821697781 303242893 394248411 275131593 794558045 959493105 871129937 834174447 73493513 221682459 699155543 616571011 649056529 928560303 702769701 676282091 422889747 844257041 996592127 320655313 314662707 581639027 714224941 561258281 593542433 73545423 930996229 933232435 538107413 773691619 693905631 13175665 432891337 888135993 365366555 170629037 242847111 868045855 5174825 289188095 106878747 481142703 934424693 389773507 338722267 984379593 421274749 253523865 903154087 311455253 362160067 983821427 555636709 879457027 858558929 129655681 426303619 811629261 280817977 260191041 640086775 536528241 732957843 590883191 81163071 144383671 673117573 338416687 46200545 971158833 731047863 538097341 280064491 416324407 904069085 587689151 469153781 264547817 800216751 1748759 884997917 921617967 344560113 968534257 974808839 265823161 483344237 868728005 388941797 391842303 736849395 490861899 357866345 932547395 589086817 540329609 577539027 390923147 90242711 759072459 633893611 673131433 5272703 154492327 92794109 305600565 804847373 331959543 360247777 76479629 514828601 70010847 575816179 44107741 218382087 264872909 259753243 877408275 210861697 71716725 922987975 577182951 210137273 600507857 847289323 879334617 956002503 398013225 890805257 296053299 873830097 669852677 595525159 803633669 915023615 335773757 212679375 616210213 32916613 705438187 133862427 498836791 959553179 72685173 787958441 605795743 598756229 729075077 49961629 599222929 576770445 705688593 701532329 289114625 90122245 782944085 182027519 348975797 624760391 836514771 153497697 135081777 223538869 606930011 42294033 34820293 510062521 244675839 181838307 990904971 193311943 789775389 176769319 521265763 901132631 170802519 817219519 509883383 505193965 764530329 748855313 923429299 639380243 263159065 246990091 483014097 825358427 123865683 258231075 740735317 774718813 606633227 203248983 949443329 652808383 553423439 755267629 883241577 98968363 509570159 510384821 981185765 712298575 10639883 57085315 544224405 986205163 307377925 146949559 567568737 830706877 189905803 644321271 733725177 442193297 797484815 218017135 936254167 607899703 46991695 195721943 841543481 868606605 315953489 19044719 432558119 383817587 463116893 5812731 63692659 981658069 656366859 541847497 792590005 382559137 837540917 170106289 187332683 506211543 506891263 476287759 877704289 316156533 815585495 373036235 562170853 358954375 505127025 57401939 186029455 923893277 94959305 612657821 638866145 315269205 110659873 70650663 211579681 150735183 69839113 212458231 571577441 896246327 610943827 147756957 115569783 250043709 637644059 12352045 803024391 603380379 191956167 583940679 729224565 366174101 213267201 627924753 284082165 49723765 251562431 667958327 111343741 558540429 849685309 536207091 326381261 661209911 313398527 257087231 731127919 264179413 957702353 260882341 750209459 140543697 888801223 42293937 224492207 567097247 995653951 128124283 751315525 604480953 991394779 25029087 447221535 708960927 396068487 763188551 497487017 588668893 312327547 81505693 206473247 355798019 990770991 49001561 380183423 956862383 706188649 495641465 794472083 53491841 294279733 874226819 959210473 748668965 948634857 225592199 248709083 317445963 818914591 464891929 164740489 220783277 497098171 137346137 709337563 306486287 981887979 864515565 694361219 251431227 971232291 634318081 721875189 373969667 835036957 426107727 277024629 875829313 28466911 267113747 998921739 762491095 607382967 90977809 612572549 643560625 60528951 352613533 577068669 333243583 636203835 565995657 193881683 828471291 273058535 237760563 881472045 707001961 558074795 396163 770865151 340419091 69484597 846099687 354628993 384197643 67090311 494931029 402700079 401729387 68079075 189766733 836818263 141489751 10532821 803098833 490330885 705135349 851449137 241840755 643604753 697428091 502763539 80914247 450843935 808420899 222365153 855658477 311445 916963373 883953735 64261259 391386529 174019301 983843383 745177039 92871231 977852317 137266927 511864813 66762543 499093935 221701875 712540583 40547575 383099261 810143503 468007745 832978153 108693875 913112919 495437193 490829339 471790847 319295017 544891095 225545329 129111969 114755879 882032137 973468559 769494487 312734271 176428931 734998505 770297389 847018147 7796789 414831027 695009845 833417683 279060629 474172915 17472393 104353935 637436833 722695533 332532941 38279141 813641185 172543921 405129895 96198187 140494433 202595865 197862093 237432827 39830967 899952837 94346489 513421625 814084867 11241887 310041067 97702419 343360747 91823955 608138351 914799101 843126429 702111325 939034711 837631667 374790349 616497659 512959357 20326711 874223805 802401077 555965637 472028889 922220337 940741087 991003413 668984363 826188665 32338317 526451299 898287113 334902889 773621409 707127465 185066137 440914783 363349827 632140519 103340101 964162371 539852899 599269929 516209347 453126533 621606073 287939201 268783631 368745239 196244935 574415881 413027181 693460345 824937171 709617637 255754345 434871731 237667823 227026235 221696471 555406673 561436403 449172545 337473747 194611049 595421311 626485041 665734083 638890395 375001339 224798539 499606867 435612941 108378519 639408093 92797301 67294573 955759435 269147957 79588967 792075761 958253529 683273135 444362669 819851349 818330311 927801517 771608853 974043109 409827943 247672731 215010735 833700457 299897551 146130665 824754395 113232187 434266339 672947987 538316091 179963961 871691591 427432345 254026173 869548231 928144751 592330759 315720341 440813781 695272593 408760559 48380477 673265115 841212589 109487339 686830205 415911379 862544269 333598623 959286109 531006023 540434881 99866289 204973109 278283587 455744927 358151897 399052447 1051229 438024779 293963979 51716479 395379637 14315177 157186639 737363461 40790769 93170795 958514987 836714143 841982527 882300683 636301875 335831567 478042965 12576967 782506561 460654679 84941937 326038953 773706553 616805827 174820185 494737025 794836737 310164455 69484635 71407077 34399889 396556447 97429841 522253111 158862045 627316497 382001811 926208415 385852397 664054439 281389581 822061837 31280071 496441879 179461673 958343995 456614271 957326429 384049375 667261095 825361967 828377021 175269551 285211033 262838267 14610627 991494043 62633763 744167691 47641925 939682871 146819101 485573265 236133211 539550355 52904487 466379209 516418669 19736401 826660521 932572915 317943847 938919063 146876883 153234011 311684989 608877331 240794013 572753749 71210409 12527867 143007433 608516407 200465201 352956685 550957535 425995877 450648803 625130383 393865259 541406539 299660495 682001233 745686219 780237145 969406805 133891751 703768477 808095755 9349143 815108209 278016585 805195235 633419011 801639187 837330749 244205417 377293645 731483519 849596085 677942833 918465137 603573287 132158385 151400917 88543025 625867277 879008503 604219641 926848669 162859955 639297561 401124421 359609607 321236525 336730733 919108971 224952587 845407755 7512087 345181735 851542671 709574255 459894011 212896569 740835773 186780159 930880973 957386607 141700619 968443369 435079939 167957655 771421493 324821731 633105885 216314509 124079165 426746411 754243941 856670261 854831731 338224265 357760873 587700343 159944299 252538183 981296005 739984197 26849021 119773505 473441813 554340507 842509393 3554255 796224835 254336377 788217043 805894109 101021185 496475885 210342965 761617109 622254339 834552069 895410293 188150705 2395085 703048157 978547415 86515179 902637991 284523673 512466663 966879885 905162911 524768865 46987131 363249443 234401935 343306599 350781867 240008901 892398103 734167527 312522721 143655695 978187679 121315107 875655875 882378539 673986649 132797027 189134923 507651779 299333433 197905403 296517809 760634639 259887107 39258183 35315069 808009165 285571133 635925669 98157687 298837059 23321657 56185475 177565367 449984065 482092047 746696787 82413975 2438427 529832607 526922893 891179453 779259057 373104273 449163443 717345811 175608937 244081493 710904915 578267855 217923631 345567267 777043451 261120619 27905405 216177917 845337671 417369775 709894221 932348841 368677083 276889509 674084393 859064505 322265439 776180897 389556509 51596931 459378309 493036351 720488641 221594667 989836553 73578597 964946227 896741013 559564973 86352701 102362135 479501685 948446523 37798973 343286685 824251969 365933955 876457505 136121211 770848571 617363553 569716973 359326191 862211177 275389369 979331309 834776255 420506267 792678259 381017013 78828603 210918509 959849601 117484835 441493559 219320635 695652319 401072217 151695635 521621551 567811471 86780613 757049013 339647291 809211803 808121113 303234955 764787221 531978515 430677 616303497 900066109 440169749 367559865 965609777 998191869 614221759 170814675 252132487 538908771 353569087 500010617 714093593 557391433 986774215 10758083 751309311 384749135 192910223 684543515 257643223 409650655 89917913 688034601 874356933 639586085 362803187 748367841 631225465 582870043 903271211 789090179 455918121 950933891 110485727 848439953 293684883 980674021 546367855 94879701 306958335 835327631 727655749 338339687 520927545 926889115 728329683 535556001 798312599 4984297 16112277 546134057 338703097 459590689 167883277 916533481 571971781 47445427 390895299 906626327 524041447 703771351 175684685 848429615 422628313 213889167 999752771 710281461 698117271 18871715 886853445 372752499 37772711 370047905 353129473 83593987 824465431 444622305 143223849 248883515 143204479 445965447 697662837 963983619 560799741 972380537 466436777 231191685 138489141 209571687 843751565 716236089 487558999 653804745 30114551 82445015 755049241 964881631 557201853 63732837 85673915 195791539 881560517 653944111 550286335 219366421 885092343 142744009 416501559 730818717 129842759 189145361 747744823 859276457 277590701 552747817 28382305 425795685 289564205 404482687 79522453 349019837 766171087 468360391 583611463 131945069 82325929 474029051 10158187 7644917 774654931 480981857 499197055 698766233 166245741 188170887 186758537 267507311 240502181 668671039 619740439 594795851 876505773 603081637 356363841 335171793 183822013 267118877 377604773 880332133 644699417 378514261 865562983 517242425 867597067 965664833 258637879 311292487 496811747 543165469 769999435 935795533 866459391 455523435 161519971 864981205 855988415 883893499 794770113 872007981 393958285 187000543 472902711 99935343 521131997 393418099 916937499 400277883 44401191 865225053 86320969 704777465 663290863 314797959 155831849 545405017 275107005 818032167 970486697 60434133 976690471 337818553 569547581 565763179 386601413 794762753 628187367 911564515 63130167 352680203 825164845 584219343 710082093 51216941 4083993 895892103 2826323 565629183 79003461 928372523 145647975 890549353 985924303 432211363 842736939 530777495 488900443 274986911 423208297 85077755 663351065 786641047 191670003 871039315 357265857 818950349 947804321 306966693 330927501 702715463 196718169 965620537 474292807 987648471 359363589 310856357 257079867 304656917 469374099 304686791 257810751 479305311 486625025 3661507 970245045 454563297 384724817 870172673 254370687 479857801 818878861 319692603 449686795 935627791 303653063 884671339 678153811 373695731 197936665 643983571 171451347 827482495 451206053 378281987 558668177 776071875 772284309 805645003 705450013 73994133 139990299 641743693 79196043 520426393 405113717 427541735 749636731 867449907 380813537 660596041 765209361 236696471 569499049 623636839 371696127 445772217 535406371 153902205 556421495 748391263 781357223 708909327 486153273 788120333 194500759 669351401 69403277 961892371 53038429 745368863 396334911 972985739 232220781 702951693 266776743 574474581 371759423 277187417 898523553 99342619 130571863 250828271 188489877 365586761 689625151 688957441 753633393 816721435 298151049 451926797 459504043 33011343 73076431 340026327 945421633 228498285 717873075 341047147 845908921 556237383 864809439 91447837 776710691 133278325 896106759 954029195 894907667 651001367 738676963 274296983 519108521 51104021 613709879 110027375 505909385 393383455 727450061 565258631 685778149 224961455 448695159 714680729 289189743 422346499 170227469 6792619 333332329 110406947 123560823 870838539 667810711 655573473 573243801 978911817 637135687 46892757 298979689 249896517 195421007 875739741 802955999 69964067 10522897 397317797 32387839 846484813 428580207 981370523 691637459 30731897 73354713 521007863 557729389 213724321 656283973 396761915 218287591 933084941 784722225 243578029 644413027 502750023 124819619 192332639 401975051 417661985 336020267 938484519 640966163 449257661 933212637 900939945 552253875 736077689 251053657 788202569 350512431 355036423 875178947 689444155 399384529 117179735 441967053 655624821 505609707 134941351 561087913 778201015 819527127 95686779 253346073 732238475 72338679 786142879 313645921 181195073 75653815 812975655 276955727 369038319 620609413 733595759 671249211 223201655 381500385 698151965 328129025 396201091 966825801 686075421 46406153 705382527 792233289 423806113 937429313 998477479 591872115 278092839 158581023 696698105 182374241 465023093 273494435 894107455 476853173 269377939 277603407 480878599 475915545 98808535 68832053 111935403 87623233 662833631 355262441 307261259 798439399 160448911 810036875 241411023 574776267 402071311 623850177 7043817 32848825 492497113 239654583 931282445 40637059 913913767 980632615 938955647 457561347 65138555 972896075 548169543 594363163 768349859 978021357 439323699 844219061 877472949 374955611 35933405 510638789 703437195 378686055 490746021 797432901 764310091 326167157 177478321 584322869 459520607 533797479 522789621 362563489 478337149 53891245 818772265 481912987 819304353 717134653 406262729 277354301 715763213 67544725 221107491 396969897 887193169 219229373 44460099 397763081 711721023 445843009 449425921 200579473 184659957 101072695 699133953 438473083 75656917 998398527 256191913 804949511 552528011 857773439 692585255 467515265 237453837 813729187 941383289 463025979 661096599 251431653 939415129 555103887 38063789 503699969 318470995 649572831 741183771 521440573 692021431 522048919 396090359 903299431 155491739 396693799 567211417 919056087 261904355 439132169 503644587 562186345 153568563 403177155 486162963 423395975 699838463 136121819 17735179 581163547 315589757 343001317 498550539 241383325 308441517 270621563 489283033 242718731 319059033 532012607 755842947 937282541 195606543 287380955 628926553 696215631 904608297 769215491 36750587 644949959 103840457 973494897 895728973 828075381 974639059 76983781 849653113 127994367 532056057 987082539 116408051 682436241 467810741 354763797 562123131 502482405 59499077 829539455 450718739 924144439 625514161 853273927 917395973 742686029 841929933 191312729 922752489 265472885 351172141 558736041 185632409 740741767 605481779 154767153 358679099 159513569 691583495 315815409 598848825 89271399 381388697 13260791 19097417 827132809 243581089 735740753 564044903 1108031 621204129 192474139 369042391 477581827 1838815 845697911 155785509 504700383 473185647 784488593 756884261 367185247 535451171 836618137 175247605 404117913 971283361 933624521 924172023 859049517 304355919 682572647 502233047 324760641 946646877 81615033 318614413 321908099 11724739 922617107 55860305 807377191 292233027 992139983 984983465 249191151 129641315 717835087 582192481 460845599 733330037 834318335 116898959 729010311 589707919 572952911 268025995 552060283 571548821 902282683 376717823 284282585 941056811 163112643 130438611 777733643 813644741 567459315 524403259 731315963 683520921 642774495 450681271 58272033 990927015 539883293 113671687 831708797 169169081 189222737 723193659 958716561 728329823 989982759 249235619 193965935 820362223 530322511 379640799 719202477 170771597 460431493 101248979 922523751 380421405 221052041 263094185 864102469 828631377 174968871 241651671 62296181 716807331 138285105 829956889 428123309 198591313 799077763 617249649 632020267 414083429 763952635 779370799 94770101 593019311 284758407 248864741 115531417 104352453 109360919 349802351 509618607 257517577 760897959 632647411 338926933 329048739 324125495 788850653 468200815 143884419 19782611 139518687 684439151 906188131 494459533 364629239 565067847 660898241 945441921 192127593 739457401 531918309 612249037 136978881 732700679 900063969 614241439 304407763 591842435 512143757 713184807 105485245 234857219 265853833 786089377 920311777 939613219 204212285 190020941 851904749 811148299 806274521 318728569 809670611 853122921 906543703 618581363 4411345 711275123 112153203 223830167 440124781 104394215 950382267 428833097 768147823 863829515 980671099 6350831 315932655 300983727 452804811 163575297 584034119 948752167 842853775 811288307 718016283 1142611 183905389 454330701 772226393 433693847 781770707 515840917 387708213 600539107 61515263 205704031 647658537 657036719 145403883 187975751 469829885 727118581 707065443 721553643 652172473 765298239 690279159 830192121 469685685 705057945 105983741 154899745 912341131 981789851 750338713 13790751 391098145 993446753 36966319 4990389 462329761 238423955 900730611 979885227 297223553 979544671 579326683 576680149 219623549 552912507 136776359 126128143 504337305 746049829 525092193 340139319 556540961 819612451 238749911 915430203 97246377 136762821 739941541 758897163 631563279 816251871 904312103 155234211 284340853 716867281 673567367 809898245 326412359 221321601 986959799 90324281 525313851 394879323 700806507 227867731 684434253 202470233 905589031 603294831 263574467 956222709 453720115 444254891 257267237 402587961 769276061 482755125 668124489 69737393 362561087 431145279 127584333 674809205 324015545 690292223 57606035 157783585 996428147 101610941 637962185 930065117 620120223 494651839 35251427 365536599 783944241 573643355 400859419 996174021 130094573 653669863 584088567 346734309 724959577 933724617 409410373 484748543 545299143 551577961 839947287 309693151 607339599 135019321 33476041 480017883 543151825 368549301 918149375 826608595 609198325 216126047 408770727 282065451 875812395 234409663 109162229 517331157 194401707 199634793 796523621 483409219 945216375 495832313 319005881 212175223 400197973 36649229 258812929 207735541 482102743 370052947 812032911 842644427 5345619 575342717 592795391 965683089 188039405 364283715 722156343 80721507 560991625 74938727 96152419 978463209 896951515 994721463 686267893 614629971 96608345 206331905 873416107 474189651 770481221 962283555 836076169 446942505 621821605 966812923 432167131 45514139 551876169 286178423 74853429 603923705 104420301 7796617 299154549 888526615 59223181 128739625 818968253 851440725 922213811 957546841 433681017 163384985 55078193 648175143 581160033 412214351 346397885 888335009 450064749 185166705 196078807 337275365 183092195 37497467 727144905 625392145 677992017 872188787 814864033 74152275 862136967 131479783 986393657 488520925 50410149 403773167 80530481 568998887 472305165 601192999 568260595 210691253 765732973 157627577 961926059 243147151 872018617 109126991 193499989 20726219 339207213 689024545 531509167 695968959 711576395 617000941 539196225 16115921 267722467 751420667 546919261 295991401 82325253 880525845 748149531 763976953 979265555 952343447 258052187 59034109 453207467 389136475 467909829 410725367 429881791 917844169 448737993 789931377 392497023 318025677 520977569 978509307 139848295 168943073 63430985 920006963 863148351 208855553 123921295 87679929 185915665 725845171 548163327 399816247 629970481 777421573 869986033 130683999 167268669 975090575 872332681 440836589 164785173 484541805 727341741 785419683 541557995 782278985 640211213 510273099 246469935 460903501 499516705 711444405 932563103 531911985 909820457 748349375 624505407 419477299 967377199 169995079 30896477 5391643 232262659 540624701 826674313 127268405 675592253 406422413 753812131 96466775 365048379 15268405 590997965 426389985 304546857 773458999 45056629 525913273 502659827 329149597 971193421 188559181 737373013 4193143 734678869 590891155 202504399 284251363 490646733 271328775 146013863 403523585 217901635 357798579 614514413 417367035 454086797 164779045 421123451 820096259 21919941 123182961 312164595 231653717 623249233 997729845 686695353 947577907 819658971 569605019 307824383 137241831 2963799 704014669 742741951 771727811 514377989 616634499 358297015 973796639 264529255 637937405 99827825 758549601 285890631 455714301 319782459 45518065 823056573 881419605 52538671 210120003 76093989 497235547 221123117 289653711 550011679 361478379 755175389 124828697 887453 373885037 611300785 63681963 187965647 133783759 445493981 59154197 44782131 512937861 852705637 921842933 606326413 356213905 967449871 563931371 891581929 596824439 242745453 172923553 417652635 740197959 998202327 635883211 709067585 941740181 783284333 798731809 362333117 705165953 169501463 968255079 824530491 259119535 516279685 145577829 389523251 292368463 159101231 255780337 409461085 347374617 642585175 855492323 855059647 699747143 987510019 574573597 299145637 984675235 395277317 372059529 883861413 269597049 365526005 357991451 528881305 566270623 930549809 109781195 932812709 310459253 995244005 367407517 499555383 727003617 912297727 83128473 539794179 331038289 252115767 167241941 295821059 344549051 295682317 505426793 77413503 683042205 190450891 442940023 70853631 943219453 145466753 118115881 822464347 246555499 440996357 266849203 615641261 122828027 228509691 955276365 743222619 665211469 887867591 240974395 552576783 122830213 118916253 938387399 414839487 412835667 439708531 857782337 120674215 769657839 106891273 429560583 508540489 25333779 845081833 304157817 177720181 311231497 445824353 458252547 200738109 366066845 709960331 934316051 850439679 349175847 493761095 450401065 511826269 982214531 888479295 356601539 439560003 677698329 813823199 649018731 887274727 963340247 826049123 42952375 704453573 361934899 917148617 138304063 452020385 111036203 957585369 328870565 581698185 387493189 142830117 581088915 243860941 680231825 685378053 653312445 568213261 738541219 335911321 831728603 720929835 913234331 559465161 933453233 989705557 638086941 586133573 379372553 722428413 144716891 525457031 372969141 836086753 113658887 209488077 63708559 100604423 827914595 827412511 467123577 694007735 741299505 493463631 37618013 4506505 827666117 805865717 256267055 119872599 667816687 464246895 821988071 744644165 156366611 381336297 841971081 309726145 739216915 166990161 584124447 459204223 163719519 974141535 563318971 815543419 328796651 717052821 157173111 885403895 966839099 958479929 183211381 328233859 381815375 588343389 297758175 678140657 303846585 907722711 47155945 684828765 221488525 873011019 595040973 617795629 621076075 144437021 527009483 516054283 184881783 441131137 186394159 218289901 149779299 802637421 418681161 432674319 510464609 258827937 7445111 856442869 656803123 893463207 427633945 529556587 266969885 293385423 402420891 928594053 730570221 332082479 50216301 272426913 169208059 904938667 33080841 230852705 815631907 859523047 827655155 737648049 492598477 485571157 244257461 820128201 971602663 546447151 795712225 206372641 398483943 830908019 460302609 734485887 228082635 95755243 922714855 457320687 981407259 205637669 601402893 86754503 35922147 223982971 151980855 43954337 976501689 135809805 910642975 340196193 9134269 718315973 578900869 491472949 820238739 464564559 258757685 365054865 924227181 358808357 845115393 154305071 877042941 898722185 254186947 607914517 515586949 923577475 804945245 883766161 598206921 556661985 113020601 584593461 352833047 642530109 107744971 95040989 236709447 541651191 831229581 305665965 613811895 643105077 342861311 922416405 781053771 347711979 718675245 662806213 857156211 991583441 202495785 532516793 752817189 708222053 80076557 635979833 42592479 561027311 198925051 636406479 64260777 463954817 774052639 243349327 261424653 580682993 344950953 98242005 559065383 721052387 662603987 534997447 684811409 538988221 90899937 950698705 644663409 392732845 899944989 48878565 609243001 998545585 44535513 454532161 743085021 852604803 749814639 526645865 883902041 164258735 553308227 657454889 723343159 897593989 188351419 138707605 445320517 842208539 981705549 313509131 81089239 701391189 341748339 547080749 470313675 302628055 742925229 901651945 107778953 925062165 600570759 176786801 259454977 944339269 857733011 822879301 343338661 607602023 313222507 878865701 529004149 740077381 930320817 236207391 781941239 731589229 406911761 987512969 83734587 434142777 217086267 241936381 567549399 343144139 963357161 13244255 734466535 523722247 271633377 51145949 96290067 560300703 588104169 513849323 29950087 798798605 943807445 475747909 264628989 31785103 426497407 740878061 637665713 773601837 294391753 148922163 470461289 909711803 397056927 486279593 630411635 932489421 490364145 555778347 831589031 885789637 580895161 771424735 466282083 854736075 359296253 787174959 548038027 254946511 867254211 292227537 778200463 747892873 140236319 208004801 382517093 441672059 730535467 502366787 499051149 67694829 771544841 299142627 350278153 85541613 350718437 302900853 963469163 615246163 823108335 473797909 863815113 860712643 256814179 667380777 633723071 402610595 85026177 725904477 760535413 308037411 926408597 717275043 128139671 944770619 783927025 971191353 383527007 689776813 709848047 501846437 140140937 308247039 166100467 399309743 795515995 259852419 507335267 648368493 834725541 816940111 35648437 618981949 934624699 187878471 713867875 778858177 420157307 136771855 210662381 330637799 268368207 359430171 472548321 256339939 744140577 212251297 452842701 771909423 983457385 982616737 178451277 280685459 584780583 324836837 973033731 32313623 389588701 732195581 887262107 639383827 160247197 593461823 801743301 65164065 502486269 769937615 235585597 936228901 339420441 924113297 634826947 500305743 479238553 906062393 602453795 297230605 131663019 55078971 10126897 22449185 47164419 327467995 681402563 588506765 51590115 166382881 353830589 519887517 676340751 215515357 818194955 457886181 508840663 816278437 254020509 44997185 536186383 547961051 116629615 547754199 323414551 764048295 252795521 758166801 769512659 108312057 245045729 328564133 900068533 349476235 454183325 330721167 711357359 919219419 899349713 898420499 182886977 262387761 565823903 115826877 766582899 867298463 168135731 332837475 883118289 714638077 958192061 505170461 93498739 683354347 354161017 920153429 457231605 433628113 980286889 169021873 303145343 363498975 251250837 696760875 165253055 487952655 854346641 976526331 359776235 359056925 969614327 372373415 641497793 356998039 741342763 124780541 340517511 868481737 980271765 932959501 307406347 494327499 889395367 946049335 92660135 787436929 367557085 602386461 105028659 803934865 660648119 558040493 765364251 405705321 479616961 116892443 970355273 748284231 479360143 985911267 683609911 490546725 311969463 356180679 222189535 719336911 777090271 135520983 113568971 299720661 17477037 747420773 740478215 696107405 334106329 315542541 151361835 22015771 599398935 7834037 675277395 455073379 750881327 398736775 371739431 259216409 944305639 979559673 530495701 126785203 113873173 817433543 175193107 828314993 109391247 785066741 897710623 601221469 210934329 999030221 698103743 842039365 366178303 645505257 181094467 264586693 640184019 579382047 19575423 316914233 856136875 326926487 279334355 142307275 557553807 273155005 222815523 855973229 989310853 232642115 452527585 129403347 318586275 82803751 370418943 73556609 882552063 417487533 167330815 546024127 884101823 312167265 209966053 716363931 832000521 252161305 832020543 370062831 46481173 695443181 236549669 13165915 869026841 640729927 913668403 979897159 824296023 227150543 113111185 251110117 499716381 626685817 429005293 584790825 683483833 655266693 422889085 853364183 502379911 82777715 557249535 732798069 285274347 684077073 279941051 67497813 121517133 854471029 475814267 304439439 273220639 983954425 823958683 580099843 664921821 701907523 429080307 38904153 416941065 680692029 905064943 319085825 423602475 26919197 247939963 643620147 920160473 112732765 625611531 626988529 274033065 82791621 316823713 90206465 993749313 402739807 501509569 638545653 599759177 267717759 78147705 263015459 630891123 960224961 124893281 186231727 415531387 103947 554149269 270705791 599485987 15463815 387123645 590169153 354204723 499859883 789266695 562416241 504918143 901624115 973100329 932874575 159454691 501040675 958140003 339036385 395324479 140683975 720709239 15958007 373436797 952737973 544421303 741733677 401515663 436381637 24566263 129800671 459637873 770090271 263354775 23459127 492047653 3687471 369290365 276182311 431760051 254429095 331961109 24334181 869621297 151794823 556543833 477803633 959876277 405151503 475012549 853956245 582838885 370251213 514015325 129223903 404286825 380657815 781352885 638657065 479355123 554166663 109878239 157488661 713051711 420786689 692069241 107209223 504717711 245981107 372506795 546290737 153736491 919590801 390838307 1669773 987554409 862352597 234358297 141682649 199722143 383186951 958757703 119107741 504098355 578790895 217879541 798414379 24335245 701903013 685913331 500586907 998323233 985203331 961538199 703924941 669739367 871245103 151854013 800870761 996475873 459475603 920020683 625049055 450523165 843079141 984505523 305595497 91834283 334865057 177099241 387260931 390453283 877771659 281484137 518447995 549992491 336236975 169502141 315215453 521687659 159137121 726322163 444319233 284226709 96348477 592027295 844641931 610821221 728387369 706801887 153557985 979292317 817145169 690173275 894346931 72656903 669761831 41894723 161235321 760823923 587252329 636543817 695185779 141655487 512417819 569387693 650636203 715357899 189728137 383544887 618682865 311116417 988592967 798428467 634697181 553595603 307851827 468359287 661221837 848833471 867009135 200883555 635727853 626410561 914461801 137379037 635616553 637273449 824136661 41116755 906256445 639557445 320575661 484576953 115311785 317316595 446738999 354233745 499315123 114792595 378358785 481366495 205887339 873564239 130371805 390615859 535479723 905087323 948059111 570104993 985144597 573975023 524403075 711660487 470636045 955361615 849290847 42928079 589158341 95787203 43505775 532598371 34136375 872841889 412495855 859644091 117847073 254481215 880519777 870682773 340944909 394803715 892605333 532541753 849402185 445250645 569966237 608002163 486810095 168060073 604658901 911709083 885564127 667215735 460021475 128402061 461449409 468801603 979437489 549043889 906343687 409440919 632401269 122611699 475776741 35790083 79881387 984035277 376984159 291316773 778943767 817020987 612585787 639486365 5308101 271532739 316916237 576348949 212478219 86059893 824417063 163337025 506942849 621602789 410143663 891218649 531580175 525345329 215135371 166250913 330380001 886542339 781243243 678335331 607669609 154304901 331233735 920635631 886886245 984181871 414712801 706482979 780703451 138753793 388578239 820947935 251531795 567419133 758221875 283497741 359709347 238986933 800871381 632232865 386533993 803170815 743219715 349735059 464856713 861554487 230783977 814030311 75305581 540556869 99443573 275245991 289772745 878013335 311000159 404000995 637310621 516021027 909346087 594885817 837637161 372358503 620114455 118064969 791728637 773124201 446803519 103783613 664831979 298969273 163054197 109228105 502033935 403868779 539584605 888522021 409593293 121859101 152736091 728929173 340858581 68575737 312809379 106320355 709969429 448964777 778385195 383455585 569460431 334007911 711122099 68256617 115926405 510218221 33147077 835099739 899305731 514832261 274392239 719695527 732109149 55957499 250270091 777805755 368970991 797792165 448414009 207049489 397758303 498194277 376537443 456081709 408778393 115536797 896380533 493610137 810864591 462466877 870221995 417600229 430502527 218979003 283284739 81817007 776438125 931296533 775900741 689443735 774792101 969799377 752876547 674457415 760029053 319045373 658193813 604335219 242714509 113060915 39109403 127750357 91368893 901440395 434621565 624050477 40166969 791673265 253260395 207697477 594155637 392691151 740204895 351088627 102477867 765310111 875579031 392611343 933161569 747552091 586140955 562415483 103934053 77886669 520907453 584791841 129861831 943682113 61597973 906473205 688754791 125925007 517145217 88554225 919290729 969806611 793296173 712193557 858233911 137725109 603553799 347214699 829776007 199275747 479526855 352726793 733896275 569101971 303982063 527764231 445600995 64225603 270866885 955710087 620577729 327965179 144851803 525753013 820723135 193634885 369705607 493072831 779068927 506808637 425740269 99713509 26905311 831955067 14255089 175995493 12101393 292789547 875430343 343118987 864991365 164124409 99007077 124403881 718575481 926734617 306192779 753976089 547600241 176511309 612370627 582528829 284825145 128230103 434365021 196175999 317818085 927869323 910781551 893934419 308687569 34990265 834147805 949788721 442148515 477248069 725408587 234635421 769544519 569667985 17065515 360094753 484173551 920125069 649798583 226627407 584989211 701591215 352376301 461871297 438777995 800605173 828616343 94276121 687135821 725160423 683535939 581907715 555949237 674188943 464855371 870616111 492504417 293876105 51377359 261003351 791969077 737905389 460933561 165024063 260362073 773346919 558978997 666591921 405472839 926085155 476650557 317580159 295680697 471841749 757519763 660038275 82058417 179110847 38220735 120031135 556095103 533781925 878005647 390616255 359568307 915531733 879466397 746488019 73389101 717861415 889800009 604850901 153817873 946687223 561575865 680544457 860008905 195004463 521048291 630062777 282184459 46220857 118695545 200257463 198988243 289600269 563591935 116243677 387166309 61690665 561163963 346957901 421950795 233483411 103931071 566166067 835513437 40979931 833026529 355959743 648095159 114647319 911565253 768332331 760055995 681942755 906246609 555588541 723858709 190813541 328560179 654959291 920135611 285414735 11941097 228455545 633970153 98068691 793491629 642364497 268480035 122008243 595539979 155736741 155394869 111217459 827406419 152806367 962804021 325657891 839542427 705034099 805499003 584685269 713294535 667718363 197131953 635288365 620404859 112751767 817123261 257288845 619808299 318675251 686992089 638065125 369856013 186977345 175591293 368064427 90960673 76821339 176214639 778711263 735525937 772389667 208984253 117265411 991890123 840559685 656652983 460513321 742618185 821118577 541998845 42255847 638915789 507220323 591470451 276203097 649760315 258673115 443089987 118684197 698739525 109473445 381957347 733852797 897025125 966981011 629512461 928242197 975770329 557460095 756259785 259548203 309482409 865435211 47468639 846574469 267500201 937864163 875893607 400547697 169406829 973387575 10776507 164152007 298453079 981075523 180438401 946890467 567184783 601215495 731308325 122913967 345564165 762497935 213925465 356978069 77675633 194901229 734656793 50850957 413106261 874886715 470853805 964971287 107918073 556121245 230430367 615610933 399725675 577424697 808734147 247423353 865832067 792841285 616621879 502817785 918997477 383129083 716379485 751044945 825840375 473255323 25122017 307862183 118771945 507182705 539512763 319998381 711588019 218447055 510824995 491063703 168171031 245792529 237333407 492202019 51202203 243650709 139973115 994467991 747045009 889812681 191067213 25391297 300282895 351075357 274676207 742317561 721904121 797756171 957127045 388391453 517889267 702175001 492485117 219419793 223869041 373137869 614027145 805321543 781393833 346546107 540033193 133430193 376807067 876284285 360344349 936456655 408935185 379193015 954907893 42499881 631762843 538929423 480173953 655163851 405888143 652128571 875270753 965468493 456644881 161242101 141453945 298636235 727037957 843647743 749715699 726509293 398416159 29618209 358738501 288132319 898995667 243282479 864898859 171024731 521047143 294130691 910268839 687828125 966330077 320348545 629726217 920882795 575129611 464452239 373103587 399342869 229400197 911322659 325411603 805255791 826207149 371364151 399132345 292036313 446027947 750172621 185763399 638164535 649098095 568639469 851525741 206610681 662496179 999134891 958442025 612080919 467042293 583367457 395113919 291432715 172167805 572465011 4353467 108048095 499322461 898778567 522110449 276483871 319756397 856077653 19643519 664650723 751586381 568692049 675612871 450216391 410660709 844023299 324753527 590857971 65346533 604769201 672918657 818581013 852220871 486637999 112989731 359723361 990495687 925651801 988308451 993894809 788434035 305339149 587302537 921864963 144559383 508374329 92197421 306454121 278433995 974625613 302763305 358544421 416358259 197080773 563312929 266219797 756966069 347132961 257821187 533912991 319300863 161909743 868300547 427288239 739445391 557262781 371700635 227196605 587406943 925245735 231604883 692984521 836429627 914220241 175795955 797451095 918254259 961488739 456352019 714501493 597240861 667082895 123565453 50030009 612511645 964396561 505581127 428720965 885353239 635383465 180386667 876266171 177819455 798077221 624449647 230247243 869340299 40352083 675222799 467713451 569239611 9665295 343329359 785713945 515767641 506385725 754636667 295623259 931304373 269572805 491880231 445972673 7712997 215765913 282422321 696516895 985090891 242547125 137467067 567074005 925859599 695673881 101500209 874238151 252837667 384617939 620718921 36424807 782776379 90631409 334063873 520323751 90923995 936658319 319298457 987194633 693103947 732392145 290174111 853150865 131668633 864475615 38533863 332105421 553001375 564474603 599649167 725690579 495520509 928791601 371306745 438678085 435370267 450083571 258487763 757207621 673047339 481384569 624237073 890918019 478694945 473692951 206262253 11318325 156533697 123438377 442026733 328476953 647290257 551048717 138656479 871659637 647053795 499671345 773615829 643023385 942407375 678672647 330903083 566867289 489390901 806606853 565422981 696001557 840891325 225878451 170971089 392892851 333811159 924920217 913390915 555914783 193152699 626070599 28164695 267776211 10926699 252191321 683254991 345421771 381248173 463821171 887511227 704993931 288506899 58095421 436898669 283654439 995058419 645345385 784777347 582488879 27228273 685395379 731453149 328244423 756830067 168277725 974173101 58074513 580892583 345227183 723283299 515311549 274770057 971737343 802092733 588328705 251213913 612246947 390901695 407039387 816351517 696783233 6831285 562226003 735207845 243376257 791320883 829093493 476811405 823184789 680960791 367155927 154125105 842692025 442727299 763112665 389991611 749624047 299981283 109015135 637226781 500891967 726455023 203502043 933649933 609504191 88843679 109532481 180123659 144002437 352941113 934487309 254043489 635977911 120921931 201557321 837104413 256003965 564369573 426172547 600280601 13862665 755781735 538417357 361290231 552849049 329918963 707382987 383528987 222201449 193275127 703980191 160121015 568670409 881495655 519476473 584131013 899764999 184474495 604190735 658035203 300500609 923658945 468199585 728999929 11494293 795354365 743836913 668037369 18144433 198781509 12592593 182315547 619128135 100166389 337415061 811377471 978472143 221744817 637654301 975793165 898447309 83367785 606212303 375451893 408084681 31257165 59510169 297232945 454394201 581508825 230234607 314750653 223020819 776881109 437655251 652740967 998078621 323131979 548457161 421322683 906160287 506489999 17536225 316985617 233309389 195449151 818575789 204075917 171548383 859648573 610786385 422167317 514279321 807900085 732608367 374543449 759742915 952422173 668652087 721293777 720479027 737780785 335956833 173457597 810877887 694466549 789203495 26976297 323895885 601234871 835839825 151339999 46840261 25210887 199972911 890670973 343031323 42223045 120643479 731191135 654232903 478692115 356636389 382875057 986537549 776201823 336633089 941965663 291790389 674432347 961736535 333457701 972342549 765712903 630121697 560889475 859623683 647373731 674491675 424979647 590173989 923698621 722112779 717316585 80933539 535934763 730098239 874220507 96573873 816210695 276431823 650549047 578757767 270954935 366895449 97780833 948380777 82676709 140905473 278428299 957010081 637510535 988463481 842680495 165523327 102631127 879632115 231731851 297777505 205101405 859257391 935573929 496569767 150732515 913011317 278769239 797141947 928994427 776354705 600934063 382641679 196297607 393478361 251352977 747522849 627775143 137568301 121886117 698648173 588823239 388444915 489929309 898568579 364415005 852939033 241147117 165907187 740888357 505655317 768414041 465732949 586629027 922125285 216808295 864339535 762120611 597849615 766845355 958031753 369618553 588996257 295829111 244771255 199034307 493923123 509427953 135755665 153919587 979411939 300059647 52692187 528912773 801413717 861419345 639297887 624486817 196761275 125049439 237055983 614643567 214125255 248135531 314211683 679993077 581171385 417967739 301896609 733766271 574575705 50152545 812283537 275816355 605628403 374711221 785369383 439504955 366437727 750966229 360831579 137895787 658430201 684528109 823547953 40352417 737804457 564983275 335129267 947510417 752283357 666438023 258176243 952614965 290256779 649570113 712409097 543344085 255470897 111507811 96314395 414236665 662262229 145777405 931767123 122954873 634188805 745369829 251395295 115572591 573035481 848617151 731603455 466705985 517849071 668387311 325965553 610582169 607562349 124537001 326238719 729634157 523200511 867722467 498883711 35760633 250136285 719075165 436452809 872864961 910181831 20132001 498057279 909901455 145848577 235372029 472506955 92031355 900360537 292543115 848908129 386239457 423630117 146442283 242266361 997630307 387971399 712060551 573156247 646601709 59398689 522911243 189523397 583312053 906659489 308464883 61342997 188167993 694157121 260791357 544712991 506840633 167976189 424181937 634459273 949426883 482092637 426943457 802649085 774834475 740034155 712696101 549463851 956989967 423924673 302292125 599711693 820668753 37764477 667842097 32109223 720910111 717487685 916945553 39349891 565853931 38651717 721342007 173551409 914673781 49875767 752454753 820628111 540750525 235464021 919728151 284973437 442758417 879880297 630234923 253945063 981884935 874791871 788102965 952864445 359622265 536518703 616801429 307770105 940973707 805429525 877257073 952005279 794231979 987453273 494174909 351959737 849941645 991437929 321960751 250651993 802262573 205526843 32624201 417375383 193201869 62826317 726544209 252030363 693302781 957088165 468258393 848247689 895938703 986877907 39630647 234260119 106437535 359437035 164088975 803019517 493977491 141254797 844180165 458183679 48379157 234144735 619077389 903466727 598466075 549207693 612003933 517829639 558270689 190501841 527516277 67487673 370251499 521523557 996968159 47683935 507681285 384157843 122549739 10718307 952230211 33846567 944468911 678173497 119814659 40436345 260570895 301032027 553467111 54415975 52910255 140878153 548281053 446030933 239644161 675602831 218952727 759217203 877751871 793226175 301649171 351484279 711049063 619070065 741334421 952905759 573105987 745950541 146702251 838319537 395331681 164655095 791018149 461668925 345779995 783495461 727618595 92782935 454955153 91850127 519668487 598589727 371041709 307964667 779260031 494316347 381315099 455065389 268524799 713474007 346053973 560065789 460462401 181784237 448281501 668419907 553982797 367009273 454473979 247338979 696323947 666480001 796128317 575480515 458403123 282272147 460433405 929176793 790276223 49236999 839161243 733921565 377437813 479309625 156749375 4851093 775479423 818423569 506234329 557268551 833971027 992308221 173368865 958678085 502455275 287478261 116807065 922399405 288525967 431358323 157187207 639783841 578435529 750842495 600915453 805751623 398037357 136903081 62359249 57995477 948356503 708984069 297749671 153756037 200950189 917744435 492953829 338640279 47083355 791788633 96676795 215695191 790421907 355679013 318200097 640477719 144975763 538205643 510001623 210994993 135046623 367262989 690196071 158551303 891693891 851220271 859169313 999339013 390732755 739431167 375803931 652897691 470361069 941362389 5623353 666903363 866258227 879001999 255442463 375390081 950891411 190085009 583150145 86615263 492066879 953536971 2579157 909730543 414267063 440361139 178337499 733085517 796049339 411950921 815946013 142245015 362496089 952137231 376814377 485292921 780266727 523621399 89977433 620835239 497291775 884592629 242403535 287605467 775013765 315846857 584143471 734523861 245749671 945996089 418339819 899647329 327304153 643216499 914113469 505230673 543853527 999568171 333869347 886119807 413533347 993263267 945273639 193669327 74793357 603016095 508138903 852914215 8950055 525741423 335424013 360372093 843126861 225848039 297183977 470489291 43369253 306625893 202531411 69112593 793724953 937126355 326672699 899212123 362143455 845197723 808174681 113855419 396583795 235464117 359366959 131945549 563580697 511473567 677351685 318716975 263169885 285480033 971811305 526381709 744016659 960419207 693882291 411425693 508748631 711520807 502827271 630214035 680066703 108840929 490886219 546693559 656301415 582880219 185455279 747265871 745612753 200923587 858802475 872957103 940900875 91487951 864318849 428471857 401574811 903848125 466514231 452108599 730232905 65077459 303258271 467147053 827156779 825739487 537406927 327053955 931648927 268511289 22340011 724383157 584306759 649012927 382695639 231023683 373458961 209370069 56291527 35281849 630671665 600631147 250617009 702810793 633721377 441071353 153126551 595054511 396466345 327936121 712972349 871665769 250714321 887168373 617341497 462013573 594951665 465276409 248223967 142089395 459805603 253284763 991622995 60627373 301721803 983307387 229693561 283612985 671779993 206990911 806786053 484344605 362359677 119566613 70568299 298637357 87737907 746141875 952383217 741145923 648948419 464920407 495916697 200393283 19874167 470895815 294831929 403415317 61615587 767024467 997156709 523324075 992139747 604174031 96738431 670408703 674557085 579177881 547632047 993539351 993924987 817444251 990444261 520396281 676220213 905998655 689853403 903242681 221976771 535756925 978483983 174300531 231607401 412902869 906479817 371522885 137168057 251359051 441700381 317173597 910705537 304202605 533214685 51362027 53489887 599030353 626281903 717201195 867003963 26388633 611959545 801238109 494175035 850233957 798875115 272486093 898499289 386793577 216361599 731081679 820646477 232425689 463947121 660118713 868961821 250577523 732637007 933094383 812403991 354925437 177576805 354452957 435616587 382667463 623369419 736567795 371804441 728240805 728075109 840168877 414283301 606093815 952308441 367480717 999948377 57499425 211051413 307684891 824882409 977684757 864541143 788211947 63634773 70934597 445739161 148257689 339990621 661155763 508632743 848193219 511646993 5695969 536119697 457654039 560530371 23823843 60289197 433473605 196249871 621972553 123775007 611435529 310356187 125377079 909009355 764983077 548188497 673654863 178721381 590170721 497690087 167105473 659128931 137576849 74194009 826140481 912544005 661473935 514897835 244754961 681362261 323188799 764473641 934096119 869192483 664793481 673343847 410940221 303072261 248274015 443249473 214876607 772619357 438683837 694256349 524607445 388788307 191545765 293541031 598302827 81180377 296596511 627234897 726901995 885470371 587291711 622394841 591090767 661934389 32797217 677187715 462010899 440764887 758602467 666602459 906858299 511011479 932403123 496874679 832008027 976387407 300033729 694017073 951730051 367002783 315886153 729580205 571273559 228474095 439173005 637689049 17213945 393050481 3246549 808321191 114966297 192151321 129770871 559219799 603345389 347337643 926240457 323320681 899151923 45873837 863894321 929395115 866252593 802382961 171437077 278515763 925986999 968587023 688878061 241179739 241350169 419225447 193208623 771412681 197979447 13960225 655414621 217983079 204413815 458739373 213968389 682167147 7410885 2154051 97318837 660722255 214129307 486724837 751717643 283831003 379430131 804065369 320895397 182416665 147645271 212230961 82221361 244462685 236687315 242384323 798933601 605718083 893670911 181310259 287550445 552215985 996208633 331207783 456646551 513119185 891878245 550084365 876054317 772077849 431841395 704980129 349085565 415833157 736629977 257404771 125057891 691688793 957948117 197038425 468328131 941596321 631667247 212978515 665816453 607373747 488253745 212251629 65561245 585714279 494091191 136679043 234302211 973954021 385613851 545156161 198006969 244847001 724819523 772478739 16627149 554989109 457425057 47605429 291977549 944947897 531754279 857538981 896515159 875346789 893272151 991731245 233711369 863585991 539656757 293621595 651914129 622582453 828398415 326139401 796816161 230672201 519976893 548180953 965844209 829688807 515721245 703037999 83664195 363587133 618443923 998998845 90702949 978340671 179307471 448345341 493628837 20941863 619317255 238558253 446863457 144220541 943870457 985474389 599735033 993206281 205001197 644078023 570895831 735575523 64721071 132225179 113637485 571465573 753285781 698484145 935607351 87998005 866373759 832696497 799503799 148527677 764895955 499019787 287964535 670550707 309265021 505301497 894344455 949480723 171739127 846616951 128097285 744999969 849207869 156958547 865777423 355567849 572106197 496986393 860267731 55183295 278843341 849469473 658603779 33962303 880324797 501368975 814576983 813754191 939440067 994756169 694811795 494853147 959889795 551768063 39605119 719098645 609350957 741380649 500524529 904585211 145434999 197115911 479961025 626041297 213106081 499991205 323387855 377361379 974649965 73264589 556779785 153369799 401379117 246695709 597612897 770070357 711568055 498985713 546647759 892733877 308487271 379982709 881379415 992752723 897089315 265969557 193434369 340154083 402094685 423390733 45837027 493504863 265917705 884629597 887907861 971562767 558822565 896953803 957995447 457890683 834622519 63726695 801763065 430856571 455167309 442991627 308436487 881217065 452689151 433983833 683263775 582382569 511447275 604587701 197927811 135083369 479676469 301856081 464369789 265907869 785114765 475765799 416169053 961502657 108416811 307172085 162380161 79628375 432331209 461152581 915283785 977284655 622574513 66047333 825822495 342041179 841919151 833216367 661685111 17867831 594766873 158166083 630693065 205410409 189780431 675921033 527358617 296074715 650438967 720939443 297118831 306634437 360351295 310825205 358114017 546733469 52855389 527268435 886119047 602882605 163052941 909832083 522586883 750925951 15810907 483356489 954617855 523512297 265763791 292442055 650348589 615055875 523967619 362511411 765634635 703569845 70632853 326052211 422528533 209239595 194744489 368480567 227179355 445449175 169393649 72110839 426692845 262912889 43894559 615394037 543328165 259602705 781241971 227987767 965259107 528181485 597430197 603590799 428750359 178636449 768611121 629905301 439326893 240616459 73100991 377375143 638191141 568360015 367209659 220596721 863691389 377232599 472099597 353249377 304217535 1468503 154240035 974127791 512733953 455153103 217185265 951237467 385502555 342906239 638898425 719917743 766338287 923173879 625540929 187439035 924163047 415181065 194542931 863976789 808188791 40711889 999634761 592749857 361973975 954612915 21254593 501405315 581773899 486495839 325803231 980764591 422054941 874310341 448463701 505630363 419692957 345522977 569034581 7331335 922456105 770453499 973441441 643796605 345423905 985814557 352361595 697436491 770929647 991764891 274264757 544445323 686083335 158593745 780384421 466686237 925529825 23388517 860289319 103844267 759465473 179868483 707826339 492488609 952041713 507184029 62143495 30572347 511887683 825992689 621821385 149871479 698659473 956406019 342727399 62269725 187690877 614055903 104086503 556298175 281735345 482524379 990080985 689724597 307062753 280431247 16338257 556576799 930133701 933818595 603871599 200068581 282191393 542647811 986480343 167773367 274001087 193768291 170904763 440622351 202714225 853363389 644433357 812212267 952086289 599919383 716280143 249843475 492258689 771211199 298374149 354924953 784771243 76903749 390986557 88048981 987240579 553629833 976949711 917441191 885265153 386959279 309157655 887203765 708562729 651027745 292011517 793695091 909158917 457391765 710471663 136053399 70186919 563673605 877491171 17287843 581583401 135873209 409865559 300345565 610565293 501079099 314217809 772973911 147147357 562326879 116423009 443788263 64981357 511711553 289385627 495073585 63893013 508293703 986408607 850539417 63969689 539640603 154769043 359060051 500317507 378999219 788337699 68122709 536186725 217899595 853201545 589384033 887057497 935554663 400892799 744310523 776076673 525202899 632063567 415075705 810799689 743160739 172206277 110684399 501202207 803375923 888984121 931380801 998021763 228553001 476593799 131276819 378990579 292615793 589589785 811675095 187031803 938055485 54147033 730237127 883472429 875282957 152389183 476489441 603122723 35786401 6566473 519191023 742730879 296271623 470472061 830820991 686804715 836465301 894474219 797087467 960267803 579010787 227909415 807786581 525895881 389502683 534202193 59969953 803559605 238305189 764092431 543245441 822891947 189881269 925470605 190057069 42495613 618316235 372411269 153099687 964112389 849978855 354168881 384898615 912662565 915953753 758417755 933999851 257563847 418514097 363750737 628804701 218372319 98010831 748379623 522872301 533692775 532703703 587353979 292745923 954343519 300664115 394598901 937537231 841218003 875917209 416454595 520853449 440593109 186906629 544651995 922367539 625022079 958748347 807927739 233552467 987584755 39442501 340797035 319061819 575671899 910035067 320691575 244200897 95578603 873929081 490223861 154954633 926524637 607283873 740158853 946590713 271156081 275317151 623536461 653430593 65289715 231045481 43022073 314205017 957508021 53618491 183777475 878715649 305292817 587760537 298593127 285987011 263444841 52724561 390918955 891237871 662575145 64463987 651563741 508472219 13055937 444826975 234497749 457217963 170061227 437237175 340908015 826601923 693059693 99598695 523813013 434291799 640318605 553802663 91712945 681088925 914400159 677897711 232787387 469421717 102981949 171164933 1589681 371374601 703922185 426354679 756718619 346032007 938593455 962666773 140072453 17573993 826590431 206889215 209569285 294276305 576968275 68218777 646669627 908075171 524261327 388941069 38596685 831217809 136251423 624724177 905712233 812779797 340016401 200487583 874273859 78179181 136420993 98798463 903702301 743793827 965723985 932775609 352159675 464593029 942152813 991711461 186049389 652826285 893304261 404694239 145243397 754797435 873869139 227931847 140196327 774639383 80975389 447480079 54537461 802413169 468579113 435338087 233255841 574000193 530322059 497583051 174748893 736425481 957802589 779176323 935595561 981025553 648939457 881713689 824022157 536853863 489560035 408436833 955294613 814594275 293255923 225151353 470253655 557938729 66554667 739199939 794731123 963888543 346437073 183495149 321345807 835336821 919799851 226570217 844158425 513936291 693723277 707427829 556365831 85954795 667281233 306242453 895225173 422069203 43937755 916270229 203627277 276076717 963968913 417640459 819866877 786748815 10638569 277402449 985560185 357003613 413997661 983366411 892245857 80691899 100133229 611420711 296056089 215579421 644137383 280115415 566682513 428374969 610114457 281456027 890476095 761521297 305471967 953514035 310997283 25887593 324482587 398060207 723368385 229941975 753552889 908603999 897789991 221631279 820630057 717772515 741266923 775863189 236323175 172661535 516317997 743923437 989793651 866702397 1115027 623227627 165346841 962867891 444911947 101359363 697329195 942042941 9401867 743316347 135369861 810705885 727043601 147573333 300655365 173177571 327730467 767395943 994838425 590520801 360788367 952856133 472716593 777873077 450484525 82626897 218435273 912130687 850962523 103812275 851654241 805449905 640574207 356552283 961886213 881043451 677979525 215901187 539407561 104548187 280586213 649193513 98113475 326076693 452788895 169910037 702348055 447852469 40591797 759099867 266062065 759147279 557902777 800850253 598631041 310781249 146327233 693369105 727468803 423799725 883503977 753408141 563415223 792996865 86389721 229984241 737538539 944810799 143204031 567191863 854518253 934482551 328361041 176636699 842732569 356131417 851238733 506722347 215722195 696009123 976687097 165375411 683329665 614225003 150269221 646865099 482598555 699969803 584612645 11493207 546682519 628009767 854038745 837991677 413593335 452409517 354796709 400674861 713122375 229840081 447135099 363179295 581259803 329359629 168793037 485363411 673317385 874898985 187963035 195273235 902269109 642489645 738147949 603949167 94417099 835099761 536346191 926092093 553184251 803501201 563095769 995960993 402906113 866251629 909218087 757431935 204877215 731444533 753958881 322824075 788660125 284180829 249507381 168418875 606110671 295549857 38130905 600128975 908378641 635544837 828118283 169861457 297646401 789785301 225895827 608285841 881468493 586607013 25857467 73463589 569629477 63915091 122324061 962380143 960755653 463981313 28053207 964060055 243540271 202715675 458871823 115973775 215915115 890394455 44925297 371581707 313135503 20510387 981495 71727759 677386417 139970927 217985819 464354403 261891829 464525081 715608039 350213781 507622791 46489221 894117863 456959743 407160473 643454673 595511347 334115393 389244515 255158879 158953575 386628803 781446183 569955805 799717803 456958391 578565427 899989311 584458669 492943889 768815061 279765183 809770403 382810005 29732969 227238371 149158733 446621641 255116371 272791673 861030381 761452801 221183227 681528723 259502421 572125007 1077971 521903757 799117017 218317721 215293527 541304331 395041881 87480965 538156809 878692603 927147321 872883075 996548721 426706833 757630827 100236747 661616931 179522633 277934689 94263647 973518267 227823847 560561693 318428677 900282329 56231797 568985635 600027727 308782885 333886283 723806849 585510547 751239255 662826501 143322831 220300277 644195365 756741763 390477609 785037659 490625617 942057463 190124857 280248435 265017001 992493265 16139561 145374905 867652091 883342799 894124209 13922413 272088869 999496949 894790671 993144725 717163525 846928527 101214985 371726081 120128649 288126001 211440111 831689549 639991715 242184633 452597909 920151509 318495819 500845129 985888603 882755525 765319811 871148367 370056743 496074505 619377241 998296445 764439399 21899101 170325211 703330257 193269007 235381055 583126823 10161295 717250977 642950905 525455197 633366597 552258849 434788249 983403943 525372611 939397149 12911609 993380663 92975145 124377261 394537403 879817545 960148443 344522093 542385731 579431455 411347841 411462791 190103491 783867905 140284949 943130789 171064373 634958917 898216657 681430015 990028887 718593601 96221239 705846099 256860849 961475675 768784663 339388137 104246933 608177403 433610627 627352973 237850907 209218453 535832535 891499925 654150691 261323681 541689271 668941793 170310997 212565409 322942739 653978839 204891425 817052707 353975067 619612515 699091393 760485045 775716683 66161151 292100657 387929333 915437163 46832039 190941503 167824771 52577157 719648993 532446327 161361161 289912557 847574715 2227505 599632697 111989569 601835469 637955985 803324879 205628003 785520949 632397181 926862221 867185279 532902295 358267813 790382909 936101643 703138339 303829121 882420399 668354499 742055823 37743953 812597185 813746093 265725209 902303009 409501523 799996433 121900425 567235003 290180175 880359813 762572843 856654013 379457703 613062375 498354133 297813123 470427735 866269785 932554727 410718009 149568609 336655945 121844039 912283083 713256911 49440873 883157347 400600309 254030001 936403641 211254065 320457783 88455973 888252537 814189101 701164247 987733579 884390713 693097827 740938981 917957965 354059721 417773659 187186747 906797661 287341385 788758063 221820795 255464889 468612125 283263101 207383817 583305373 921263855 804035177 46943255 250746457 179431349 355533731 829831071 460465981 554736297 447246689 591650143 437553569 414744915 68760931 965436129 202895595 187732861 839438571 738690163 606623363 241081403 449044427 852159023 171861725 457385705 638115673 763241717 6778993 635513389 864683377 421840749 847792323 29501681 93376891 368321289 260566365 313284459 740686181 184741117 230570703 205254167 678133411 702465869 214661047 641326265 451320631 462520769 778707381 501265757 974490277 426563303 903266931 787953495 783305981 35034903 629587109 465104453 916236755 840702837 792988931 576421641 631443783 24059623 71596881 252974799 847480061 683903261 350245207 297189391 900185893 464746383 839852523 672705409 659161463 48393855 506754021 415113515 723403821 842292723 66511655 255316315 508678417 221375677 202204059 545333665 758248559 870079349 386862645 941663197 850769437 225901433 318083053 654090033 22792317 703110133 931873991 938940683 486730095 397995223 933501645 539080735 164658023 797264343 1854735 308016999 505072729 249231221 49168555 675143979 469421763 620248059 747870145 191869939 686905515 97735801 292488827 921652119 41977505 494394821 304512013 621785137 394635961 337780099 698376111 853114151 158999955 128439575 387707301 254254115 989180755 768550069 56775225 544474651 549281963 978412115 651957949 795013195 982843341 964078257 495470217 389723959 70399865 401125465 488957955 894314409 590976503 457399449 669206421 782831545 672275987 934801035 195680429 694110659 789638693 937285649 677532363 67362153 266722057 990880463 688835693 667528343 498596135 894634295 107027485 296000133 994630509 805834627 108996465 132267179 776071761 199513777 184754177 949919183 456557777 910257033 773939823 207842557 844663155 900096925 589581157 257215113 176320839 669353031 668382871 183457553 14349025 652183969 391472061 336190583 43220321 612504473 250587035 845261545 358508395 408308447 508379899 392994777 398401073 689930727 938626479 139497223 235098213 197779957 680874385 36375411 33733449 749884431 50770307 140984939 945741727 767176711 96833135 692012165 741612731 465131893 661653577 263791259 285335917 102972601 355323657 124962001 536091417 956616697 590302131 440396693 653982369 166507561 808966993 580779163 167791477 805574143 25451509 441543647 3256459 13430525 47450553 733523619 611932513 547114089 681174463 647876215 573042429 144754261 774674737 649258541 854211311 416992921 69948483 729088737 806666315 424682963 148764463 960163065 205877425 9538671 333935925 101152543 970287941 841730969 167579041 166875977 254243769 825081933 724713667 963601843 406016831 679913547 101436153 914032609 643288985 492087575 508563875 434271647 597912587 539910407 731116077 943602689 908969571 368378415 709561095 55911525 532343289 686253939 30296747 799413101 84192425 199430007 362476701 289709575 288377819 202619309 549856359 333913189 661518205 896091471 696423067 13728005 208018181 918774363 375701459 955886507 632982641 87034523 787816369 204105829 250560841 351145117 195067873 506598531 160192921 689743549 290712849 286460325 903756023 690732055 575273985 585241773 437430659 78795669 36693103 827635913 422985441 7143143 507505703 815278189 800124227 199446917 687034875 900701779 280608861 164645809 360551109 566141571 313934955 862186867 713140839 886737733 810945847 504524697 616751309 16551473 88739597 337505469 936514277 968518433 803150277 654967359 448957871 217969979 596168125 313041223 936500521 758875113 777397465 39158725 232901983 186932705 279817609 895175537 590762339 474799133 30153667 885473997 350590031 75887845 668749317 255611935 258366021 849132739 907675223 194382969 27192177 880302987 354805061 994332851 104191747 829398361 100046053 638912107 194287669 249305491 77137879 983040781 373143883 754466789 571556417 65748679 96945295 282744641 381523151 567669649 575041875 715528933 136990139 817503787 14078705 917205333 655177665 469831967 822297037 824859485 776853287 711388093 307336781 404809489 86343867 876810523 213389799 976207567 445927125 886666525 26025493 912463417 561487441 952744295 329521495 861942589 387725209 972306541 775965241 516429069 888108439 55058533 79468621 644194601 809891523 794098767 408505133 375505489 258186779 511325429 62091643 618565011 129826343 410427365 576784867 48287045 117515249 75799163 718028309 120565761 781494805 815586003 758343627 127298475 901036973 972562647 283017163 203507825 557370721 989237559 48125659 479761863 900094557 214077549 552284367 9272169 938988379 241049015 382121345 147827801 604402071 7095327 638032851 322407399 125481943 909575539 175469745 511337125 750435177 976010061 634301451 467333999 8727845 55715341 776713691 20943979 793150569 587820507 774922535 584732163 197346841 907496359 80884469 260620781 922501541 258921513 248355673 281199653 687994373 667628259 439772269 296138735 813216435 634034973 965564755 279965911 985822391 360478437 699565367 580151217 84000161 403557909 103940681 910093209 408645255 90320715 129412805 732873973 996989701 760660723 853329899 572670577 268053059 294124603 828496135 712474111 622432239 863876635 636049515 196162527 556749629 380047445 81167473 502242193 64806895 204856431 460508797 495480547 7427913 303533243 584264181 975389929 293271323 716810575 919201105 469756673 315491513 335375119 736521477 495350733 979145729 209650847 723007641 954810939 357445725 51576691 375823763 554275967 218416567 105046209 797196423 370943763 585356679 481106059 729974799 904474047 727866829 767843991 722253261 46104203 419276811 959360373 810959213 645504207 500031059 846375297 47847839 179399205 104233019 270608855 160855327 758174067 20552159 351374689 808353709 824107491 239640295 58385873 810059031 866251243 432927617 103828123 670047275 277862981 625831779 186518021 341452229 811767033 697870025 474636817 927825351 829792337 663568767 205726101 957326877 96207841 681265613 339872037 151229879 654537093 861730701 327075363 160750993 138348643 82037533 458044343 142061483 542622693 560393825 501306321 943586323 253942979 884738507 384731179 151875543 478799861 815600973 153288003 71219219 407790529 357871463 488062817 244038891 681081523 260457505 88047513 247409797 465652895 860296199 918313663 202657305 597130659 966296369 159794291 596565211 86566177 189635643 781973537 330431763 515911365 475273037 716049399 72998151 41498503 481629973 891528687 602256395 340698271 399922121 175976645 751221115 270083219 663712295 119281415 915167669 415452721 653820533 605282817 540209447 911141769 684761987 867679947 170281281 244121851 430140325 94238537 626734975 395793963 251049401 613773601 519035489 231977731 333898793 687244483 524215413 625861815 141472223 64902247 593730377 307866311 774227285 15520525 321391737 439956467 914675589 406892415 800735401 606459723 764455161 231599437 658166911 953662753 238699197 975237071 655672243 924776465 937194857 950635299 12291579 608322049 762422809 11824435 70589977 770550043 457932149 422757553 152067801 889980117 266272939 608198163 997217295 159213291 918454897 783960729 524650897 262201441 250882053 274279757 996771397 702395011 732181549 621811199 138646801 747997669 889884217 412517445 53042669 376666979 615828221 118664321 403299023 784674083 962567641 135855835 929523897 721182609 588210099 740200517 624204471 638336607 32105463 115841907 671189725 251310987 269798813 195378667 446133569 526407769 762595877 28267247 771615497 528032853 153602195 863686291 642871133 935851605 430637685 9402033 781659759 292738931 176084195 112398821 705745531 838351891 929599865 835713177 38643905 790171875 669644127 542721021 540735119 209339861 73152067 697501961 166260275 813907241 361897819 579723135 552862731 755899999 317232741 256140005 746982261 85858631 872406697 572361615 903222751 544171761 108049393 790299535 952775097 450512061 173801881 325316555 562914175 547880271 788505979 299487977 347861171 491474833 439061245 105955417 808518877 249506745 893374481 116873043 758143123 932664897 853353001 223237081 469199979 489761521 210398535 224884145 905181195 867666899 127640303 702459245 185518875 100374075 932601135 715533669 862359629 965685701 407290271 545189559 407725149 630341975 813804635 669397071 125416717 32023067 982031627 562926553 10315301 449368711 607796701 837068497 48574587 455698263 486604423 343120759 456709861 730551951 211043145 177110481 169083209 813684347 852602853 714803375 966067087 380031665 448069293 647788717 629681833 802166537 230537077 808511271 60710803 101110443 349677213 327162185 979545679 272001283 198080011 971963647 359619301 673493187 606347307 120239621 317961835 347213547 482212087 757570777 911212535 896718779 3391211 682092485 660625327 183976385 544719373 615720407 212831675 81022675 512590571 525537771 838011213 857855243 601308061 235960733 872736161 701097933 251279551 207390295 130538745 92529351 558470777 330044489 960470943 758767341 914315643 88918381 940409059 531667833 141006839 70438529 93932579 241075955 442091181 210087949 507960765 479293475 603602915 955937123 713914399 824277793 15224937 137568667 213247675 300830279 844472469 967282837 795416841 105857851 885325635 137180153 820496269 94731239 61937881 172523063 510118607 804087681 116516425 178462601 401615973 138955653 637273607 780573419 934063077 182267575 492815119 914530603 637545973 33192483 170799083 388400085 706408765 584794141 540416937 616099395 36554097 178791745 98117341 865085075 820313161 359745397 302039205 206742193 976141447 726057701 612530603 325262155 360533241 288331011 517675801 269813977 7364975 720356749 341617063 308587675 942796225 53746055 90280083 655581085 619567317 109739581 599516325 286347177 157566355 902378053 472648489 643344989 221000687 983316087 148288245 761254421 601006049 257976573 53742953 779392765 818644587 691032125 724058987 554337281 991226011 320880113 865638505 259434973 820079233 328916497 704523095 33896977 737489461 815175141 776349111 281874915 798678237 567934197 171740813 244774755 371675553 134915097 180306793 342647917 575341749 699491435 204715871 840179613 433136721 999821903 709710861 172823389 436058041 637381747 849737885 559528669 239468597 928300747 823290553 921819415 945194011 148471699 747043225 102452169 361861571 932188237 818374909 496179837 271093389 929285833 580017191 344796033 643016681 68015129 122462441 155432687 900860995 801325977 765682841 906256295 975898649 360670191 732884243 119211601 663387885 546582535 885674943 662301791 494712905 726095891 790295177 321535749 812390079 5184657 536415979 974148679 302451943 915722051 568902881 774392813 916797031 191981113 393278961 77224069 440624871 558146759 619659307 514190441 132518683 997997189 815866147 234414263 160661947 546179675 674149623 475728987 265164427 559808373 309482321 889677571 916760917 364163653 387065947 355163175 878055657 565415307 476681165 729227273 889269797 443134279 101646823 482481839 193755369 227185607 489540205 415897835 612015903 332427425 84209581 287392597 609640891 514570669 986790269 130196299 84534709 113057301 410918461 364964857 196340497 237695809 114918355 803805517 162879449 698995173 94508205 800583935 328635679 194943233 242568385 388499855 940464635 278363861 463625357 107019591 199363731 554934257 331580951 761466167 529672463 331033639 229400559 22209079 85399203 204012947 537411113 948991461 737880199 202261913 90120547 85504427 3007743 268801513 312362951 144755131 533667413 190930803 48641535 383463947 172070875 919731059 21909573 55831387 714633451 901642865 658825555 899682357 109707751 240876855 198681459 114129895 212542265 987584473 298551665 171276171 35776597 249138867 304573861 317463811 748135091 422394219 217040619 402095603 813934807 136419821 630250411 767655629 160212299 902514027 949701331 53728715 99927967 24824163 419401433 180238827 465112945 279913625 381820091 948115445 716466017 410071577 883536127 669737853 33220123 943340601 746664117 483383255 972433229 645525905 523928689 191062307 366761655 702073355 38503251 247119181 651792663 968632781 874839551 989901061 782419257 839395409 818484645 911338687 633065709 353764175 627602685 651058623 440488465 996984269 202388289 782155531 827007365 304285977 553973563 340216949 519758901 864182723 226343991 381758357 269304335 141457579 248580877 46210763 593892627 322182645 961321753 99359293 444893759 806225419 376462147 455987423 882827935 747729059 114559737 255581543 519472707 859286967 111663409 835874647 151450441 993819791 305158505 962328053 292699345 746701493 188660905 378906963 322286599 396169981 342641789 75469641 734901019 303859843 601160187 668457589 776306247 269577133 827029187 717374275 548412623 638630181 946140153 574208735 657748477 152577761 121710415 728993349 140255779 70554909 990317559 936007989 170345883 378123101 128596403 698119987 566899143 810237293 169463751 425535125 445970961 354307169 658289153 694577007 521135853 744792983 203634105 382942373 968292563 598054321 387566795 675273435 693747529 357292955 300745887 532124547 239682005 799470987 736533283 935497175 790873353 5718527 151765965 317018581 497450883 955518135 563801755 526855495 336134371 339494337 37724949 36034747 736155861 205660275 216216901 244527245 375049225 329867877 376037575 94717401 703472441 862514817 541738421 689035145 323846697 327325167 961492405 983653197 117685923 970320675 625811193 827458205 494176633 148630237 742235443 904246203 551554437 178948893 50876581 218517167 66043561 220176947 876629267 430158919 312283345 619100079 197103819 419843869 585911533 783789939 260774821 258004625 445154807 40628893 471361535 962138571 939697651 772910749 309079485 35300539 902414571 854451239 782788943 371136793 602217457 930252343 542184107 970691943 165329439 549082385 969641551 808334827 302057369 171284289 765870659 282508727 72343685 99048091 472020753 348527011 138420761 928901435 907757269 716447053 244563853 757001863 105792553 378439713 835442983 369159209 521347891 700044365 84247341 175164695 594168485 14196681 229350131 837038221 338256051 673264469 725659603 994861327 996326425 259360123 656417839 565302635 875693857 406882187 987866737 283935665 538377369 478045851 860762125 611299905 659027669 172809359 766067837 773686973 321342643 962282251 327377985 735079185 288887963 696781443 768203237 922634357 339145083 543964973 224053499 981831265 895446475 871674889 650491165 362510749 583777413 206732257 950078703 549121841 370790961 380371011 407414551 411243893 92767199 925623435 334671691 627843841 476144677 527898325 813738821 875700671 872220703 59323147 536380869 738883031 372754547 363366365 103344023 568279231 714669651 140975045 812915341 951923761 289892467 674958849 637613697 477290805 169291793 378893211 187674199 475250451 65038835 316313185 951783157 604799587 988889959 527260653 696695377 673359361 363970885 782304415 524400229 469989389 321476331 434779807 998624305 558919417 249547581 75231965 337375937 467158133 83200427 907614225 81048615 700530303 13592875 19012029 863113853 583414361 591560509 951989033 448134887 532213651 235017443 177740387 157919883 899623679 318990767 936736581 937229727 117902779 216576695 695896685 486246493 841846313 42470807 908622919 946674693 259225335 739655031 769451009 225851877 684254231 300464131 814987411 166846539 263179207 353626229 173948351 618246035 891180427 61394057 42500363 433640735 923596591 483855237 323146953 522980955 771473865 650180409 175963407 160048055 624354995 901490937 344889025 82521007 784004241 19039907 639718019 411609539 760080465 561955233 632716745 586329471 186873893 172315613 439785417 592655733 421115021 740004559 462340741 779020863 883098953 438847093 9191363 349073793 783752809 405891671 876289555 390495457 509380925 459587713 113038801 593905431 973885799 837131915 176337433 427253975 223953861 918380177 312676309 13598185 135161223 532680763 775147703 198091795 128311073 321662903 19602483 728891433 927171407 712700601 993762959 283407621 428096021 242220931 989154765 798659211 361985469 950078937 232792259 51662497 346289119 657228299 811643397 471238207 414188119 654942189 134052597 462793817 840986183 478133727 184000187 212874999 819203867 140321733 119225671 806422047 233053065 256349711 151528019 224126693 728982157 220412597 216098909 630161507 915569259 725118001 565524397 325880509 479988655 45480589 673080151 583313435 640560173 803011157 271190063 88858031 506030595 599075745 830588885 13036725 254206611 352090893 114053045 762557293 308311435 492317889 743100925 402263587 400132061 35123051 226516135 241136683 685372617 327269185 149640815 525619419 243063503 238270209 366784995 553254551 46528189 543444721 575523407 278821323 917122729 899854815 693993675 167244775 311823597 827556389 25982779 560383591 420544301 107410587 727683909 836988877 937350487 732068269 869833561 956247201 785832095 176734789 508804015 275965047 676866175 601972445 566609735 383765225 458920383 303580783 123461867 78972571 483869545 683434373 340020267 345357877 580784079 528466219 228432991 951291753 659149715 730624505 828980645 831664627 441939603 777749259 424221671 957000851 586283265 536393993 248975319 268084759 290436173 544942369 1435115 92356685 826769971 434638345 427098467 533721361 550771131 66330879 647370057 697128263 623285295 655261385 562864493 577049559 254740515 542815415 893219685 710303923 392594549 713376157 814800787 521756631 62769479 682737371 618552863 337288259 911931653 169796949 438384635 841301765 168490343 628511869 752861147 294677547 729173093 465103685 27578693 606222289 305444677 431598895 918430075 57250075 281226131 95042879 837698705 819025713 335108131 763835651 980135521 217795141 786133011 784357267 707841927 813230227 258889157 550841995 441353837 560386397 563790823 833066771 995663427 932701163 577041005 534672601 172581889 268372625 837851025 160976147 946325353 24641963 460211419 292296063 693015553 20096663 114777107 788140387 882180125 592372931 128475729 406425231 812257231 180958369 13993199 496983639 588936189 216571561 704044177 847437467 359220557 216621149 813808165 199020225 636455215 65232203 244025823 159778997 261544667 5057537 98304059 44096497 203974227 89855771 412948221 410401393 243081053 910136381 196590639 443514299 709835403 468692239 657720105 530013661 682401333 82326595 344009607 959363695 36324729 581235349 647235113 799139213 245802307 986025415 572126785 859636959 719342911 610149281 848692287 444862099 703613161 712476921 854293729 161022047 837157505 782804645 361331755 472040577 251945485 831291531 863430249 468078273 754601055 913199251 839610159 408323947 604436493 656557487 288799835 55003733 934895737 896702683 612338447 982196703 931403469 538611737 189821113 542111727 894665461 569240947 829806603 303157489 7363245 508815865 39689731 367615711 559505011 126867655 34091749 468277299 574508177 207740929 38931775 550021367 481982485 842163151 79739617 208896953 240565211 445545829 589122539 71804045 48313727 462315003 502654913 864459281 584766571 987190227 582206989 355032685 75683535 94611259 653367747 126941263 479172773 335157121 337178147 699226093 475985067 251635715 279433645 592298503 803420009 1135393 200526129 753736927 157755953 822732613 250060993 492746567 940071963 792840161 523835065 995066771 645375751 598840945 552702141 235875491 352165021 186543479 191245501 546166493 960866637 983473019 84221417 95884591 602126161 346406419 358057919 197896717 22303653 177400021 448603905 708809337 128715543 400256103 215932607 934438647 174704435 281799537 664644939 514832023 352055635 898311591 444022083 594759149 212845973 548062913 821740169 61108247 68798437 958173571 120903497 249080253 914680561 218130101 681844985 71979535 12116785 776435245 51346263 220168639 400847335 4568001 681813859 931531277 343288345 230149719 178414187 259105217 183183255 87538903 846331651 592045607 999885309 594424629 583396873 738722325 462638503 693825385 654158239 77852907 688777409 616660599 127908915 776634255 557039161 688841575 682097015 50373487 634504901 667656271 103495531 574051711 729190379 221808967 622304591 482461505 245143279 100053871 822042291 25136569 379579361 745334773 542541415 885165687 915020957 799808267 142313355 980378255 474918335 883737321 535751299 449382303 16719793 156133075 788124665 642989263 346730915 994126355 993445859 321880527 408935567 346301689 427951739 88924113 566415923 644185571 772798793 749964437 930307609 851696177 8376855 741107043 992715407 889829197 324107257 736718343 61726127 485671851 856808011 210588631 915279449 698422211 3336115 364990133 66320183 516304153 895244059 24918017 380865973 834902325 928976057 364894639 331718413 251414701 585072393 560583987 501814593 820715545 59822543 726802571 445480473 691269401 711464727 831829821 805517859 544112989 297699381 561384281 241136057 638857617 333896391 717804659 115468281 401431667 479052207 902531241 112520655 439329733 679617051 891379109 597476073 655122769 352360061 739428241 164344511 472505321 611222419 451929125 180762003 504310885 939759969 199895457 701891947 192401067 825094197 712197575 801089305 547622565 86371743 785845481 296049973 310484289 931264383 109286109 813331743 193432445 791888119 156422143 770795005 55531867 887258485 510017591 25078211 263986405 679224749 195396595 529205799 446874413 509219993 578573609 693347241 886382925 762217601 338093655 996285075 81327973 945948653 703129475 4063733 197044645 262701237 818757947 593770663 385305401 901532403 558032793 863526471 178070369 751660045 931475253 208987711 199411291 585596333 52194363 894896321 806186097 513641673 989659477 827219907 425854201 545624733 497990843 269750789 258701131 767625133 408607533 737993233 900328393 792771267 751698671 635273013 275310813 837928441 48725199 482181259 463421435 70989221 237735715 24781301 267582107 570234735 961277645 845771543 467813697 484726593 250117167 81457251 847523959 390058579 214225977 13862419 824444367 872850973 86676319 331997477 890385123 951043429 640166563 276320865 730519125 549327159 109970571 684629339 399041231 325082599 637414433 981692775 79754757 535514131 189769217 723946149 538523567 936839069 452282179 394667777 652546705 534053555 815975571 263901483 163165557 627935431 740620059 896731031 777043501 777366937 328192917 434593673 364938385 347201065 595660091 468839943 567851911 621330885 154546391 436693219 973111289 580060931 384975285 452203445 111544279 949446333 114867885 320484573 356414747 436270359 810780443 859864705 820521673 230606977 232864743 386780053 391214059 366249641 371228799 300554959 885987475 530766225 261235161 958667185 819103963 795773563 696646515 100830593 744298981 42673393 744826965 971253329 842719451 862628299 263720969 184742905 444037105 909970467 772813739 642451735 733593439 446462047 218007251 950252055 397795433 947209513 878334125 962070565 594668121 467221113 62953187 437061693 148182401 95346821 97286831 494570527 282023483 67638999 385998797 230293841 503032297 740943673 363130753 419534371 679994869 237305025 4261791 748744367 453298387 267074247 145014647 460094935 912127229 887193587 17576173 728438847 966176243 363423537 504661859 688755033 552245057 658384051 186122953 647870559 195048825 79736567 557662357 291999567 220491573 18247105 760867525 668882419 261715479 761661215 152383199 956182745 818059721 397257825 489368307 751507549 812608255 368116007 319572117 420733851 392942195 745867347 449364965 732214141 229773797 98342675 100306569 665344947 442081057 600230875 931029167 674943413 805189369 32281445 413280267 65599941 521389125 404112825 28787423 887609323 697164525 647389471 837201647 94638325 53727445 63062319 258764425 828745085 848742131 866451395 109114245 456083683 86693953 847306753 367450687 703130703 21600447 265055571 732932767 150164401 771577977 846289519 706657045 323025089 318176897 835975247 340223891 903352833 375587825 817152315 17123481 126877111 567560939 409796541 930290733 938555125 93475225 254935977 33770719 213013139 783421231 157920539 342916291 423674415 595068135 700107641 924906105 19502389 788640513 354721903 648858663 33310163 620912073 889679087 304971899 922013697 606376593 843066935 599332777 723606143 289622195 581629643 710517875 663162839 48396945 469464439 434494237 346392921 938277015 284447823 972587637 660993051 622287925 358180785 565186771 323141633 229983973 424330047 510767893 994721455 249876269 916678375 66105247 116341401 994109331 15620571 390917473 87929845 705992619 719219611 682655441 702866883 940355343 906638567 560265967 276660429 83133025 16926925 659326013 5981345 327450699 536232867 813224909 527503515 66743937 588563459 938210867 981947607 6571709 329376721 303165583 519363903 750577087 325910331 705885063 655655043 290625107 685755317 78005321 804460317 612920907 429262075 23166859 651491915 446973315 883352591 382739593 870791447 250950873 853062721 672624653 346939727 540469049 968295971 671404901 289629325 672285847 905204881 869221221 969173297 531596013 442782641 259629419 140473699 360516923 732517869 403656801 730779155 728722061 172509947 936832433 394809849 542007031 239241431 979871315 494819991 434758799 169314501 367151557 969086261 515425913 362043473 146323215 74395617 216846305 905776719 811703229 60037749 458731767 393870813 984956645 671103887 684896757 264950109 239952937 982953371 778146849 337781627 480945833 777472455 145774785 392644141 370600473 545117963 531866665 294234545 138692525 365326633 748164275 494280583 534674723 802887079 695152577 707565437 538743745 673464535 94684351 67923111 475578197 841747151 70682141 419661923 575651127 995025523 441535063 771268435 872983877 28918377 49760493 66118245 787552483 608329759 870877035 570854349 524217347 342588113 725231715 20190213 757618199 984340095 64469105 573468373 986678559 640410351 549292339 850099269 731259043 880591025 939900503 125634989 973085871 532849185 118386317 930946215 794650841 64871515 158231697 564864025 512555331 999923785 922008611 59291949 771761039 274606493 366365455 694269529 759232491 141010891 224167975 30465623 925997585 757208857 244988999 255787823 242993213 253501833 929399117 791323435 889125429 941881841 646637351 896256479 609438281 390385381 225498821 268872999 638110797 517078983 979422499 857631785 534543007 325669311 762021953 677094991 603001129 374259901 600870443 836517457 753970773 190065787 709958643 428252455 772577309 281547127 610970293 297271063 681178363 457581561 97288847 179183277 299989241 569827605 895355823 272020925 208759459 834999199 131949893 843094117 584803343 442381623 384019085 547670023 649522143 115716937 50631111 635720783 723537461 848383491 88854849 540805173 846800319 328775007 806916169 273809137 392477367 384275481 374365243 275207433 262877145 676927679 191414139 66056523 692099437 154321565 653921903 334390215 871050301 354116811 260221071 859937501 279341219 44417325 358255439 995103793 853024125 798583657 230186807 65683885 558940465 867132399 625528525 653466757 88951979 635006199 55091621 275864121 964848739 738320257 82432347 535417225 876330841 975139927 830044301 902789509 84864529 559713033 453985769 791093887 42464665 346650351 719686943 447357715 297628295 481217575 13863915 511710503 168459773 465247899 560530703 518525669 269846173 733724413 365550931 161411011 574849431 259631555 382540427 519170429 101965217 271442989 479665299 837026583 998580729 411315525 145599049 304662493 436677477 503644891 125277339 614125667 284324661 728817797 13596025 805225349 902385213 214053029 81496287 746878825 244550109 85239139 15017423 837952635 686597881 575433137 938772305 340218477 645559043 576474179 987653497 407193405 876502765 272571039 963556451 655579695 151574585 169041415 127506221 388326607 704580585 777110161 908953861 373115891 985783697 784871441 971109915 668927669 819763265 826947369 259539627 756893049 750561693 410840129 737583095 736275693 145359047 613352585 677792071 963377923 691562863 275902201 431483633 207670779 348375243 329071443 863503691 660882261 783401625 634172191 567044539 165980385 924131359 909837995 902685097 165901743 619109677 495407119 673317255 199335711 1782551 866928687 575869905 751868373 253022653 495675313 438323721 783040187 974412933 703647237 3060151 623340039 823513435 43219555 310968687 84791347 774008249 435206861 677540813 570884359 482152345 33303817 79626863 581582477 666195077 282783657 195976451 50428441 113697931 937976069 780275259 337063751 465323325 975079995 407055567 973115645 349748415 765844535 38232705 743469157 22989491 831487653 613046047 836199927 995581257 645347585 20758391 48795241 453749303 908321163 944191591 197482949 200941499 840276553 420544461 778498645 538926493 114088973 321279383 434473903 191807527 64623469 283179703 913244075 33475893 13339083 211012645 51986801 378738977 850048081 140445155 956957805 154477521 727615723 127887871 554670419 696410551 827361621 586105735 874560797 57746119 486132237 66122137 399820817 948110717 785550173 196600915 242393787 753903587 679138899 373364195 30319857 191803527 962682315 750953339 921558733 614723451 388355937 645624403 404871603 651620707 331033215 349263023 235325265 977096289 793433941 968912087 35655835 393928485 328644573 496109089 730630347 868359141 245042901 41289699 82774633 245460321 353972421 442178691 229434429 937871323 617096447 99454057 532799583 784719909 353026715 606073095 51130153 735184019 87914361 691260889 764999745 851006981 434126657 233692513 870407569 595655393 429247587 562978345 437578319 803297813 200652057 243142593 221314039 52700181 317494369 109738439 368399693 986270691 822505731 479728859 920343901 190281219 812309137 775463847 253394555 877954947 350422115 95773149 537324355 326387451 812869783 259029817 506022299 326317449 90217753 467838077 382566319 723053009 358256279 121695859 502057201 44290307 912556937 971091179 652077343 874918871 457451313 362118595 614618941 813080967 917663893 107747801 528030359 422592219 21418373 930370589 518996931 370110755 199774621 912547451 945038745 107774261 85873465 334384369 392846915 899078765 143697541 91800705 701238311 283179955 123502191 236519989 480847615 128272499 700027821 10881053 384068803 339642791 281412549 227701335 87111355 208919243 95485435 251271683 250684527 7870181 931622495 400196171 816374967 624422275 669830349 784526177 289752749 215691709 952156641 745042305 616896181 239196977 476044805 23860717 698311037 219031811 924706411 737534447 454768889 564808421 538318855 619092953 839185253 724838409 111406749 103986179 547734595 221881903 896471477 316784595 581252451 929056415 149649821 192195761 211136471 226609445 359158383 554245393 200754939 214991127 468194059 984019307 535779701 570842197 912153627 470231875 422899249 859391557 173344011 387963939 314870113 30639829 793547029 217019035 302941571 554863483 25858107 21572425 237062747 997442613 956198981 915902925 879706613 329151113 981623745 730760145 291236773 386003589 736136969 979018761 72319751 287832513 184342331 817879853 378940161 149024347 665381187 458332417 323183807 74629623 778709711 473596237 497449139 135069895 585646423 964469991 232034717 112239741 884576541 635630247 210637181 592522585 602505255 539970671 70608545 468449571 179789127 479357481 574779039 782890535 438911253 701253319 744566607 215155773 579276529 89569607 887909339 224912833 854010881 866599847 519464875 834418843 884987449 877234161 267716979 487845689 956390223 310368571 413939251 11803023 948469699 911860381 694180395 809411103 402696159 31572025 409074155 406393071 291223731 497084985 686731077 461930121 534412567 249778641 939059797 526321415 656220329 827109945 771556991 141585671 624838355 936673717 850031475 513277615 666797511 177599119 904046113 176218795 287459195 979634711 858380741 932396339 583958703 96876971 269216487 768476423 122594285 41868203 616753233 287530089 928221827 211241089 455189015 187206189 685761419 666374561 176776343 570960035 48657639 186248323 504240497 800680109 161927739 333336491 380436119 257252529 164794873 494824867 301322041 333271453 405198939 520766461 234441941 740903399 673582175 42303571 506682927 122025613 174331085 779620679 244641875 823297045 156169529 574974851 887136663 476351375 944869111 149487291 823841427 836431759 981439017 769148071 245346097 257698101 987054261 967345675 300508567 822156583 162556753 639337393 545056063 962665105 318375535 161057643 811125217 13946411 819968339 698813203 823826053 407982389 753138947 250382219 724708979 179964531 590084433 906135485 56488515 107114803 959004629 711770525 219491535 440904269 370468079 946978083 44491323 859044637 901295813 215042899 896148213 936351883 563026507 345438519 775059121 99026437 234329145 48667361 528695145 741578369 487078923 317594731 608331365 542144893 227903757 155263223 669443887 286574079 426652495 987682223 707173019 349782423 630841513 282068679 682645957 712021849 233037241 748336249 390164755 816244965 35078379 812601349 52222767 212177761 443145067 611218103 481156623 671859833 666743861 575142623 543351279 688425319 483466505 85098203 224962131 723521509 735336813 48782347 981609735 956093245 159941041 628135899 204440351 52516155 507906543 912841403 199678457 598642999 356360457 141787941 818968631 313744143 597847971 892753053 245448901 658476583 31392561 544047789 893532123 995545711 722048743 997427175 943619569 349550429 942962889 395916517 897443021 255313647 592502943 438590281 538868347 343095467 772216567 17173181 946913361 817421985 422425645 553421813 521367015 109691493 10407773 706143659 290414631 693259799 999531377 490059167 159995449 440504157 143246361 218125213 641193105 64406627 794109647 961341559 153432559 821077731 549388751 553808135 247793747 761788185 800614183 84025647 840128525 283948235 830484387 90258649 715023023 833717319 687965661 817249529 418624533 165198181 963238709 919910025 826292579 950558849 580007123 880136073 558621703 492758915 137634471 600420869 941357237 952327385 894932073 623148303 875704425 222473849 537442971 517908929 208338791 638358755 496721795 314871869 309344315 724366873 697507379 52945071 147211449 622645421 752217987 213396039 220527357 876371123 745494801 123253823 238292077 412103371 92429897 482940635 176678579 959205147 21893977 199114341 646895303 36405841 397554745 212195887 960590817 441529505 255175081 564590995 369121415 126865613 187262515 769217269 304614277 610373401 727761703 134482619 766905583 233393747 593710491 745978971 63133475 957333203 917017459 368148815 346142659 329468791 558343763 549684247 185306813 337022627 730573487 908200767 687889219 408623431 525533373 754468953 704902355 5870553 306467197 679961343 911001651 8790871 871912889 895093715 290312299 294762057 798142719 413730689 977239507 386023355 722279083 244216249 691733253 692768323 318402777 138980405 632932837 295667457 104719731 640102331 184854177 256367259 328033065 147332881 627669165 668342335 937053301 24209419 321462211 115375265 604024981 183444099 582168811 318674691 775804563 514492763 807022959 910426153 944999485 621856127 579433953 867457379 937643309 863311583 814221603 491251589 719333315 793865077 516589907 603345389 258373159 708270663 108265187 372836227 307447625 155656795 724432259 824494519 945053155 665481669 970046769 106632571 269612913 311311519 403168559 596251727 935745 47493643 143228685 183876411 435686239 758249781 137532831 825040843 18341285 692906573 292325885 412704021 551613617 863139215 233269903 786748089 780876015 517497403 124120065 928195549 534859149 811079581 327611461 717177391 490314627 677376007 444888985 233187557 620767891 939682259 161934721 253066683 243323459 806031973 473951177 59852285 881939685 93294883 476581767 464140659 792729231 168475267 142152213 870578551 433985061 503616255 199215639 1005543 786117709 470067735 810271867 202653735 627745909 285968729 279031667 600155687 981646809 693467475 106203007 741909855 197564025 368122529 848568927 992429513 90701851 607004901 124498467 425349359 213789007 685754827 437229085 527599837 805940849 161256963 470228969 762187049 226623133 305669705 845057643 36540915 554129085 568655965 196703441 96677601 467921027 804042251 389731727 614909473 819746661 967462951 958439265 212160361 769527203 920014727 411582027 795204343 180753221 27763215 798597271 713142417 375067935 451818923 214236125 646536839 130564549 386638155 301096441 918714541 609291929 86140395 205743117 696230241 226527427 957747083 619477381 212364429 80545331 667856953 622087447 688572571 635398307 982272259 679450559 671323523 185543313 541151493 581650881 62254021 629586501 536848481 122312617 457994085 423854291 975951171 330111307 250066161 695840015 336191707 902327493 693813375 860456089 697544805 716560249 198788271 92783325 624726563 553597717 763982759 218441225 615908957 163480715 10993173 115832343 575473255 632469787 826407471 867040709 156083099 118378309 467674291 828104603 641918557 70475735 256903655 839004907 719754005 284269799 802505883 436098251 406773557 315643599 587461411 737934111 270211641 891670835 28371039 26230669 971428001 695030785 851264179 768662661 977538809 651837037 943835409 461958207 570358485 671992305 586629099 249958331 828294603 273073493 113288771 2150339 418499711 892317603 977627803 820665319 470953373 258194733 528091143 700411263 290829015 508091541 343150359 509294761 771092963 962240953 736863981 416620367 365479817 727289547 819173425 809251875 202988687 828066107 743786507 414793627 948714699 227168965 187447607 289091319 607071763 387450481 472261361 628934465 618748235 917836169 98868737 387696713 993341279 231901857 354720689 492297637 605933121 855845015 440076509 709880759 846998503 893623693 583489245 369908903 690764633 91917807 552288413 354459495 347032477 160501621 364091783 101674157 383340745 298720791 562519189 805430265 674740467 284993307 129625921 915841171 982056769 572920845 326734997 477228175 974429913 579759553 418749981 958938049 955484659 794937685 672697073 65638603 481935557 231710507 957154479 900247061 850564241 992183281 522146427 441627343 49149605 139728795 78345733 33443825 901345615 318160995 705726595 445761341 598460139 259518929 319733171 417813563 649327325 985649581 758073051 892340537 29107341 508415247 561283019 98185807 767354477 223724369 220805079 178839649 211244793 954069783 875354847 247260181 914866099 737546063 753786441 776992475 807159843 489946157 740294145 612014571 644737247 590926381 326669697 947777863 903478909 827518739 97046723 15715509 697748643 500969705 244756305 611613895 593951993 682741511 60149047 831691733 16816689 535328009 10052621 232764157 7898375 722463697 187488753 140339499 718137149 326123147 312399495 870771723 107140251 66665389 18648063 825058075 554808821 461110771 910196239 858321045 625651239 945679713 741922549 214029957 533980945 179428419 417198711 886554555 789295773 420628525 367553765 341013197 421922749 527807741 973945365 57361693 379144045 326933973 864651873 16506325 662842287 187171875 769427381 575399137 666933899 516415129 507142781 65101821 24273687 835049525 402018477 981373351 145902697 423688509 859989703 80056873 366555815 838523449 9479887 861791889 538596857 792260351 712163155 128688571 799781777 430580653 761166443 591688515 410696875 276968871 20071093 982204563 518175625 107342487 609647189 259774427 767024243 135276913 48842747 854347029 638891199 418355573 469201373 193940735 321519043 882317603 320624825 289439777 823231973 522194763 912097495 121734607 897807757 793819135 266133763 305257243 149230127 600343963 857752979 772711403 322537795 164248517 271201127 941673957 644807499 859569767 58246373 316487033 694114005 517425847 115560697 112106721 910942063 996369969 275270173 95003419 552045239 605533591 326206797 206956271 780120909 535262713 237657359 521650159 203986907 905028521 377182321 571655539 28199955 668351813 117563403 96273817 336248753 557197999 960228603 622007373 381425015 141376019 665651173 306825789 719173679 724315879 282792953 532823009 561699753 333435113 1020909 510748795 158495683 238261017 749493505 201404689 289691997 449514693 112416247 463186291 495044961 907019393 516582945 165812029 947038145 779844907 42347603 503774411 56967289 580991205 324249071 337885769 741921931 12730397 256344021 28698789 415378177 415588485 210236281 500679319 252780523 713667613 949240271 685255071 441453415 199186469 642180693 268127495 81173141 398465581 404209169 815828701 918678687 76235013 900213905 783553277 494590393 567483341 420668141 987435011 864378907 492416745 37232835 826490457 379823369 564104451 313621815 620704561 93535179 443386385 95634937 856594815 290730679 648311885 35390017 874327815 569761827 568667455 994394569 391212369 177019253 744794289 851754969 334015147 693850133 281582007 526933057 15717679 103308919 990986669 610982999 994611135 223256339 580456249 981299703 655512319 947712877 647792453 267063433 979514465 518924047 806405639 643247099 377783069 387615369 207405051 622966723 935973173 465667193 20943077 831059933 726711409 524980351 704716497 214699477 496365407 337726021 882749203 990656947 460093529 932202623 752532809 389674769 611831421 62401509 411538005 716382221 805892279 638654011 860516197 469347915 45051061 870381387 154718443 812040187 389865457 474059749 577387429 532705493 833856167 87625447 842823063 93135123 447210211 662771761 45547279 110347391 773939573 305695149 53654941 55331173 549284597 455088207 815823649 642073499 381298883 268066575 409540797 881486211 478732805 318433777 457627103 711792895 418827951 933482751 612157755 642564733 147901047 582467401 592837579 220840439 939450847 65047533 803520983 533909993 561408813 190473995 398537191 465316953 858445169 641310925 411405779 40993751 589458311 683077735 781432757 272863351 584346379 981555473 11556595 657441497 100154215 405634319 766864695 751943457 536423629 951174315 292303223 61501953 690746675 629935415 914143471 145921451 755418969 617467915 876869667 297742047 591759305 236020109 498167775 963294693 361649105 355986471 301467191 558413705 780130957 431368007 223876487 977558563 687036377 933864045 816740725 694832271 867883871 563684887 440321515 969815861 697124751 17912017 999123489 893193987 577925283 427115051 257625999 446631023 205709721 852414403 439879419 810329207 562752825 648310329 405496689 203229089 544028439 646896183 363357509 370609917 94134919 571854193 199516437 869374239 95172011 441670049 2396867 607761191 195416683 182031239 299355261 284463545 37217143 329195501 395274165 683505159 447512391 446951081 445793323 670464707 420428573 585160595 762631903 593667375 227553279 331031949 375664415 841573903 282655167 528842625 809793409 752688305 295278581 431586659 483327199 295004139 598658817 61660461 314046303 332046111 477637385 176641503 746221931 379954479 649120001 65338499 501782711 938535819 392028065 700987695 456357187 620253993 5736037 393461755 430122065 109008775 898390681 175451657 590720875 987590571 650991181 339593861 930006377 582318885 769224537 34221469 885766501 638348041 565819995 487992721 101573573 230007031 897732031 483226015 48292149 683427349 533588657 860923155 94417319 611608079 784796205 897084991 920829273 24719901 39599091 869348221 60222925 960796671 781648777 55585327 739696339 374830329 584274239 904445375 808192383 977083609 221462321 347846817 640173353 678022391 330518587 457906509 776600697 316995375 111469831 896019783 931678811 340671721 380198663 990181913 897860353 310966291 427765615 166869077 176550121 921590819 429406275 694949525 46989271 8983833 598263115 261433979 20788185 349383799 383997717 80721331 908168767 397003855 77032957 777717997 918821033 430251573 683833631 945658595 260823545 576176201 42064229 840287577 873253213 592199217 499347583 234466841 337915721 84123673 67219943 73705461 182263415 220589499 758863321 872312263 776404207 414186321 981186147 772551537 119446777 89564837 440536145 421892831 932529197 731117573 950430781 104321793 771973221 946570051 802027911 739409617 114661063 546033859 747336535 384063059 165828285 340883559 811847069 319803281 817022717 600574623 42042385 69901725 323111043 157966177 307845429 538901905 981592977 259483435 212389711 472247695 333191863 163006469 725574513 752205251 685698503 360842875 453268083 653762397 631886559 937680547 708985331 166966679 112121183 564626205 783423325 588538039 10104569 808204303 732722911 703018755 86524061 523063333 837702257 133779407 84848009 976090009 836028115 639386741 118237761 325324071 130698895 811020119 556610961 449871125 48316149 639764191 364241295 166102065 744630045 18567297 973468819 218330323 72511205 900741047 131454021 788243927 972524023 200114433 157737617 120313255 48102597 707685099 652959915 448936749 96383365 898151687 26656269 118547169 802809655 870145263 329039741 101191105 852844197 229865285 518880265 636681813 276777309 973288117 398828545 268110761 170920635 556798191 907772421 264891987 848764123 834121135 811358199 173567859 106145703 790798261 475726855 765982639 31336911 833017293 249751971 504696885 330638797 17147849 319792269 782315449 103627487 981035907 729642949 291147645 926554639 425695709 798889115 870172229 583719211 944675779 894289313 646524767 583008717 741955365 573292467 7927715 76430933 135940095 448546551 237780591 742089451 769938769 638571991 340565159 649499775 399297063 231447049 386769851 82375115 34368659 606808969 871503011 448661579 768993455 173026203 255767769 953081165 53048735 240504779 102262119 586602205 724287625 64524525 91337177 218320597 75166627 957531167 710344517 343414739 98497319 826021827 180541771 988148291 555635797 122928261 706581265 258281299 75804793 329824347 892793413 598230523 259192293 801412995 247911451 128389629 491615989 86197629 686388821 821630175 78994695 88551959 773146167 296156915 824339849 669546085 440085905 586832465 560733931 778814405 728945079 339650519 769910183 210945755 323525257 440686129 975456067 750019727 685226859 340295371 16761669 754678043 316099149 847853793 56158273 848270583 616722597 671575667 840560337 222536171 947626099 11312455 626438297 495343103 937236281 665165805 785348927 719750795 370969865 443541185 792166265 421447977 705006969 942966495 163111937 340808383 383024805 65977137 919321241 318430839 988889653 317464425 829453065 860433607 16163927 57689853 189465637 731972713 996981953 263137325 702816967 81508197 772713393 393535745 409479891 105887237 833545965 916086349 6830639 436616669 208902851 54396069 876068305 72718537 604231435 534791019 47871667 82647023 809187875 631077831 797463767 978700987 601120239 872349097 578503237 557579743 320798945 391495883 814995985 46696025 885683435 961942955 675838293 318108269 294481039 666508435 264292917 763603111 304206287 590276241 557261527 963889371 698428733 299549823 337066099 378764583 945599215 932020221 180880445 450228973 868476289 42546289 495813757 716372953 789601563 929239055 876628345 889793763 570818667 284056783 163461765 476723523 449854887 935797103 130425085 353608063 831074701 257048183 265685311 15962213 574845539 117863225 341653433 219824645 299406585 697930957 794661851 815673535 605097891 275821841 836561697 112640055 353801537 388337073 274146315 732612695 217647159 193628443 107944231 673444435 507610485 40360839 880117251 294690219 531861875 102240757 613150267 505711905 227582763 654782255 158560883 661420991 421820711 933247685 883163475 937099741 92480627 720489999 174558349 761443349 802331047 463946539 427021789 579286093 746551263 689598469 948652035 193605295 414550467 246011209 257509837 556198065 660704385 78936947 342143241 121389071 906883279 512392641 178605459 238329293 860788203 773110589 863457871 403919671 263246491 697284535 750103589 25424609 353163311 277289669 319236359 726374311 394764155 636378825 284144881 190849455 294262751 956743147 92583139 216172389 549320257 140370717 556750827 147927163 895010829 553005845 166176791 656338159 351479869 321361747 656257411 773211141 121501259 133663007 39677779 89165131 835708225 843939469 367676591 23644049 154806443 328111985 246593481 119519223 562722209 959586925 958969053 454033631 727670719 245518825 129333037 467425015 989633581 278054677 850485249 775930417 187367577 503439081 34290093 135975117 203568697 843363623 818775693 217092683 200278219 920863575 588698623 490797179 716444567 578299847 876139377 828112493 697425001 818777745 100058965 724334465 105760919 792486547 932365857 352206939 814723585 903223929 760266077 554421221 594977803 95755697 354164367 937303125 305445031 177411443 94840909 554742823 215858503 840932801 438893869 936220957 277180397 560152161 638532309 415003975 98589213 536822757 409843949 488584183 847403493 935027877 340955175 187619529 558818013 509854655 796924735 830777507 836271905 151448095 360295927 219778735 508812379 858933107 410762775 66207589 222429365 714942259 775513717 461933949 177314279 680342431 940105191 911568635 19169839 756598465 307460179 558103601 685142355 284902249 87068065 335490221 496445859 197623853 985160899 275247693 103507187 499587183 255955637 975282231 525161891 115029337 564496249 982617047 258903961 952665815 527304471 502988257 406063427 745058469 315837605 194827087 198633621 471073601 202239289 613805159 749667345 333445877 396703993 170967989 502489019 786085071 839826957 104553743 933463073 773468587 835524007 119746191 179925851 44239653 685312771 679643545 128845829 494285479 453683811 253716955 129146953 541632097 82663953 352707657 425249489 633031757 149961053 55470621 322548181 480669993 710826917 608907743 26401299 397255037 615791943 375758935 423469011 630277789 553447089 85155229 731080159 94364061 960771413 538404363 635057811 808803421 323429547 214122823 396677321 844368521 872556343 937298747 731454185 302041231 882611585 396134685 987805663 267573929 937838879 412151401 119062053 475164629 795604903 293314531 11035831 741394139 965467583 89787031 555766811 642780493 234140687 754429145 649331551 787305603 205432395 286879045 783810331 203727003 232044587 991218625 645534315 535819137 823496307 327148665 947311097 393149923 589216747 844613855 636559599 955248185 329720937 966556849 275552261 122771397 48353731 888512755 524249721 27132813 352032991 54811889 539923219 691265377 640872613 628268353 870743327 641814749 930845449 670763707 970494835 161015389 147586563 966688649 957109615 764560909 824759959 305244177 179091961 56639195 126150093 834075661 517744767 210677119 317026235 216220021 222133239 225857913 429735031 666710417 639535581 87716371 709048103 288458217 268224827 117953883 653005043 510343509 34808735 141331245 604647439 359002351 985702429 167639077 900167347 52622107 451754579 754701485 794799651 890192519 252450155 130750967 925204903 149779751 517285647 610902775 17032597 241088311 392145015 752848241 870010949 976437819 725341027 932603117 565246745 655248893 995933973 483330489 470123387 917091733 982551903 699906033 880430557 863791199 742263703 822600305 106185917 879438075 935886233 355448803 71802775 857084507 826415309 277876151 993836539 497041583 768871713 892880677 381363833 476617845 168092169 691143727 704606633 856309105 770395015 716788381 913176881 536166831 227996959 600304893 821787321 66413699 42287841 863980969 568058101 904763273 509242465 89375167 138092189 51064231 727488959 495196715 245561717 481752585 206292639 478490267 753743687 850286881 519995185 459264649 923439845 8936367 420529965 979609649 24432423 851515827 455975117 158119839 978074099 780514683 929690075 496958883 86903601 470481053 872714915 580095189 783849429 517988595 377900283 703236757 874230487 673726369 861555523 398501897 408447035 213964309 594979169 449773861 303340043 311587585 970524611 427699103 857230169 439203173 465166431 49959417 71395133 999377281 288426931 467457657 126553053 437854181 74677701 60844079 242267491 526418531 259043621 255072247 440302333 772984599 457413607 693057389 440532459 511711079 347629739 120622587 326814827 41741053 183373717 980767187 199983303 899020495 338812757 323385579 122064981 308664855 950323747 70777859 259995245 462064989 855200441 702725029 355308401 904798059 125018465 22817055 173855179 498088533 16691943 403665805 305899759 819338873 259497891 638888651 751252565 109102455 954018929 393593987 611526785 853014849 535135161 417268005 742647805 127692551 19957353 481200875 182738523 901525063 637183735 357237971 612002099 935156165 825701985 601426853 470940971 950410381 139031853 239473397 322866413 768123125 597269099 210077719 266761255 932444565 633802415 795748653 828545177 822915159 484650265 310510111 591996673 520661857 23005773 529681309 221458475 144900141 700998013 656923167 305604583 82190963 803993947 627174631 388186643 549718331 586382633 894649083 556683151 44992973 161813417 868015149 29511 227648705 211303983 964721173 683810601 733967089 54005643 458768659 644811573 403098241 935072033 713332045 433370729 672986591 166255059 138622391 802348497 74045631 111236881 357934857 467133823 257811229 596934097 979647679 792356747 559260731 793248145 547517477 343257371 820539305 12526935 739063115 669780313 419864121 684626099 895986185 785207413 945005831 942187193 347302653 790852265 189587065 947053833 275184787 390513465 661263673 27839175 40006135 857046383 728568125 766534053 747909669 769827229 143219905 777222869 770189021 463271965 765476169 277194777 605892005 135643217 351319201 806587061 210949837 3357603 849312221 413275255 156886129 575172743 575547483 454479543 710638957 260087159 971592381 897423185 499188331 868835827 889143279 728701357 923223773 366252935 704575529 818156985 384568311 492366021 195917283 386533611 611341245 369711173 330834659 873142593 166578167 903763375 95813429 320835651 862219061 525733031 505397295 415702013 286809037 795267043 270574955 237480965 722385633 644264987 762536397 631063675 531394393 545726227 428254339 866019587 345321189 509950613 626583039 338808783 136415999 372970355 959785217 549215377 696246757 871233671 106683785 859840907 291186079 470460339 87807463 25205889 137698047 818449635 971586477 870699457 159000221 101688583 308488375 261221667 96550873 400051481 909739049 128523013 147567067 240346399 999922033 20594507 97517715 910912287 261233475 842752613 728578489 842431019 870969499 235350089 939891663 334848865 46052797 297595765 509036827 9235171 705369397 150537713 737610927 103286999 439445719 540505159 890655587 219358323 865873599 477047955 409625813 304173809 190815827 780744047 508879985 346599057 90327357 602000131 942275685 205696927 189938805 287416827 929787049 5856621 41786675 613744273 342746109 893278549 290393597 54110079 400521963 465433017 402789279 700040975 386280643 798812933 787715117 795000847 51613853 627812521 926432261 30527699 668463191 667556383 73107145 957256761 385805723 124152299 322089063 914005673 978581211 437014167 273651729 287120659 510405197 15523253 703855429 794785257 791583473 142967007 54827721 658605099 448585105 871987385 261411237 223649889 952769467 783474153 294733361 267135893 13754059 223881765 216137991 479143011 713700573 833879847 189128203 29624805 165097435 788506543 8727403 994588355 697813621 824790153 877165211 265309737 367036197 783261575 645202773 410616529 173610793 383824003 182192289 254470647 265355659 851058785 650157513 702956641 515167257 68752391 890469729 368532829 609804397 361296747 534282309 556853699 724374247 963450503 216946329 798932209 555158959 863509083 386428109 199874507 651525045 599610867 41310353 674307009 681507251 392470369 572942307 34406857 206526757 604670655 887581703 331644259 859721049 950867249 87009927 775682449 903347803 877247965 516122685 2150373 15434757 809840891 644329023 567759221 932879093 118681279 753645813 489991133 291414935 532630639 239921419 551859269 574474521 162765143 470147187 781784665 5425779 453777861 519367019 24747859 144712039 223426069 297330551 962797295 175497083 664962985 528632421 856832627 545111297 311935981 327950149 858855855 892558865 584960849 717664631 392908791 321502089 409824849 958596509 770888489 820592661 749233261 933288613 583557295 404346145 119758129 861056195 357820019 519466985 730950447 184426609 956086253 975938157 323837699 499066741 173850397 130929267 541875275 82109405 6441861 5928075 285394101 146359035 220466487 616102161 191342321 384120939 597414857 204827425 92505017 645951761 794508119 957890469 9075411 614612507 768062857 844974671 60414981 51597309 242334349 796468373 231444515 491563379 756582423 10066103 586700295 451595905 279575657 44158653 372201877 504563569 132069705 786879355 21239989 639534555 986074369 925898117 187060313 555664795 921756523 786452029 419988859 625418195 617866981 822544075 859482145 257947119 222107987 973872929 563155537 242034853 362648359 773281523 161927455 632828657 393727059 275825349 132471207 715267351 675340631 513054943 429038087 626571171 92767291 415171663 81000557 622786667 86110603 561396207 599224329 266925447 820046687 231909215 941675543 369625183 65893459 220496901 384414423 999635615 685893263 338152469 944084629 949389625 159328449 520779143 376442533 42583917 65539359 697321753 685698141 971994043 912388199 152218963 755369505 669785329 512595679 78158727 753732189 271418149 626162007 727663821 980421761 307851953 544282659 776154883 487035913 70471481 369796641 264529877 530757495 777127083 386314171 351168433 162738003 551425595 136437211 508280527 393420081 231734629 353488635 134090799 257966253 836958955 109641237 572231835 364449893 709515229 16260019 228475299 297135879 911476877 893095137 187474079 60584515 306487191 900759095 75776429 903405525 37134559 659055825 215198905 844674685 906653845 626927447 266697839 98729737 321155113 823974647 403684683 173454663 422781273 946387559 503378571 319238419 425949479 768660197 735830841 566357841 925184739 371352887 375952677 75892969 211535647 229512877 476910565 215623117 640023225 212576283 96558555 627733497 395691475 782671585 749026095 68143215 213454041 91368931 307111635 349044279 650251139 399543955 224303997 388488037 484356553 763187683 294412461 654646293 478600433 95069525 487929259 69845861 771225223 515767789 672551563 380664451 944205663 516221241 718169889 228634527 86421655 470168145 104715791 427388149 673022611 610122961 773561789 374864327 547071483 412231649 638791003 825258333 712650953 193412911 241551329 896200205 517187381 683785201 539164433 873593389 25144519 834603493 601142899 347173667 17538887 696042579 495169621 758346325 446389197 261819141 385937105 659120187 508285363 889770327 736452805 830313291 559697309 531156769 761853149 277448455 42358395 666403279 138435719 419165437 58869883 835962189 898564859 749757371 154395679 955352335 154552379 715775455 350874409 693948695 377225229 476522247 511564195 377281257 778402563 100429025 863161061 561507987 468763509 513815583 123652235 495989165 378174081 16464247 712023415 488271955 359285523 520424625 485919445 332921389 57831129 432179093 480562459 305366889 376245067 793945331 781696773 911092669 676094633 162268583 452010647 376860009 30356733 928055701 936090653 224491055 231588119 574350501 365774635 36938337 656670605 535455179 837041055 999956947 344498113 687268351 493844635 565999845 258896605 842820419 966091661 947091837 442468557 879093669 362589479 704143367 241519437 884912691 937116263 416623741 809219291 301358091 229121939 504559451 20107201 325882187 164271411 265914023 277452045 9216545 236762397 986939119 522728859 664494015 794668399 992036427 192189703 756990813 542368653 214420823 454504635 936561469 29393185 130646587 595354855 408006061 309583135 36583335 582225797 65075707 228689607 650222541 391876947 238669189 194277529 92930925 395561177 811999915 865920357 629104845 460184427 650297303 348264253 194809533 478340125 357111419 172874365 860027283 784582351 533731859 926055115 597085227 410370861 770634529 10816017 744531179 304600485 454333487 377159045 186258117 395054705 622305997 317201059 948110381 767218831 172991129 445434413 451830815 756491463 640439345 912501043 734388517 986070699 283537987 815974407 502051405 27118995 247890049 782428487 440137771 566346653 859134627 252176597 715113949 2791093 850211181 689831133 28403725 857999753 80282023 248364759 133644261 451072657 356100903 362327675 914310685 145999119 345571781 302174415 212166131 807479817 681914465 224783135 146655279 239134545 458247657 208109567 313162269 140516477 336152143 149529165 89184915 50028529 140526475 196495403 604488945 548165585 478433441 51834887 935416861 171202833 569055897 254896533 511511941 165145191 417738121 614626511 396714013 317015891 878833033 728433403 486414695 750244127 784756153 695463335 474119271 752922585 664949577 939033507 710213293 928679261 720053861 89983503 10741069 327926343 819351883 307438415 150391781 236883713 959185213 701907469 480824735 192160445 925675909 124168767 483900453 937802863 393564275 883654175 346538671 704002011 704577125 91755317 174988539 508146825 452520123 238666571 967941713 645694151 844618463 618930549 57945725 379711665 283365189 566923023 449963735 920492835 613309029 985890495 355909435 190632647 615743939 278571375 595284241 307693837 288306919 779723093 673295429 608573741 47508071 928996589 284914257 261960489 289997531 805054459 846581553 936527561 364588517 732767883 228182635 492789915 699972911 997313521 438035983 708185849 237644651 957697483 321353649 488282369 287281495 992895739 14780271 404876191 604574895 787096751 775960819 170055297 151565635 828862809 616601191 846051105 953364963 547561911 251833219 375274427 379103593 114221005 195163271 348823133 801606069 57843177 398145845 151686097 11905719 191842203 514514399 475230389 189845851 592790723 239665755 88292967 993116321 817540739 540795653 947756045 14435973 701723209 637330885 902540699 917666071 752926409 133396745 699754695 567809895 526193405 662598855 295775251 176998543 259289901 429807997 295746501 399290545 571186147 958934321 543984877 921537527 531527921 827325043 207287911 456421269 968487543 329661783 958216143 320728259 542268889 679709819 393089167 839840197 550249665 863899145 546110681 697611493 714609189 161847467 863668899 842481011 167379265 866912411 918223021 2700493 306348185 161427 703316865 580781395 32054521 630334173 400015469 428641647 267919989 277805125 554480269 67664021 330091369 99127587 82540989 68144189 255065467 999104083 67470759 630043883 226251413 561818173 714232507 704446249 238755311 419534799 714371891 145474697 553402113 796213119 128883725 22416549 655504529 160113739 740642321 681351711 198929323 229522105 591595219 89788321 236315811 853398487 723471783 923918047 702596631 424595007 334417071 312808337 911759337 331823881 554686931 783083643 953609287 309247201 581234115 673621095 589413027 624094449 807782647 638095143 1520829 801163251 53452465 532349589 101754773 930374945 6151671 323517331 955218555 291776837 418363547 230221067 826382335 612691371 720187445 60242161 272948993 855512875 634705701 162313021 897951141 852764961 811150227 132387059 739432021 879760501 105992301 97464093 420500677 257712789 656080497 750132685 66023157 20590199 343253273 961332509 165207591 632021913 150117809 248287791 23120869 936099075 776624201 150595117 296565511 748775999 486202553 619738443 833795753 313420393 472894879 324372929 245028139 465070873 622997863 464980691 686273343 571104123 589133117 343047115 643380437 398787899 983092765 20018427 66597419 727565709 393036231 105433277 421310147 31068211 186531777 849943667 152594029 968290929 797617755 939951497 820026941 185309205 692231601 992574061 992789387 631452277 165566623 708700063 197230335 565382515 469355471 105088157 456217477 290467953 480629427 728763123 6109007 663282527 42059903 891564339 520651483 958670259 758844729 980846071 502348781 869885803 607031971 410440417 523681939 886393871 457442643 509498779 142841373 540459945 982084509 205400281 406342699 325814741 877755555 35254613 679837087 160675501 608533837 222342863 724688807 863041495 62643531 662393619 742865591 177090437 533260311 900918515 207392137 352365417 363762159 124773705 253830693 903321029 823558363 83415031 836067027 673118813 254491565 58786535 899293483 462645631 437430525 602107149 580992263 516117251 860327979 157721955 49115021 253570373 45846623 497613801 803318311 565627951 928399753 484477099 412637579 59122219 918762849 484468411 83399349 423657777 578016361 382041395 149062631 888383423 82211559 365698613 170551729 291802587 728994285 128800747 617763301 993381909 321310803 374835081 437653153 564293763 763914167 942010953 214942021 938081729 224804741 597262443 882870659 115512821 897348587 600351291 587812427 363545553 600373985 505333515 657354971 276829065 463002919 774825525 286751671 282598873 313847111 733635099 918942635 817488139 229944977 656833833 388848845 204630509 862589469 240829647 58755445 195891921 403844553 738586759 173496651 27175067 596919103 304148183 576544827 275493293 321082609 2947141 613297529 979848951 426309909 114608229 533828223 177460975 402160299 379645649 871861267 262937237 220003965 365878315 316806979 705697387 576237593 741256991 619967071 840046979 441432283 156334941 186221575 851558515 754394847 871991967 192259615 726400087 862778383 458302889 234316497 983452117 969261851 171622215 595836305 568169503 898382461 702982983 758765599 686393833 205175155 816266629 95720315 112628849 624829703 247015651 942203125 422180477 622635783 383966285 973723935 333155163 411147021 143191475 879111893 514867683 655595385 101128975 878410813 360863603 112472691 836651877 234954177 253860591 687468267 418098113 32347927 788968903 496676763 953906737 701926459 662905073 947965439 103602385 306229873 91236333 36464485 210939587 47479621 668274109 890782169 218652979 911632779 289814003 304750389 801772113 607561825 494960037 35547159 591149143 325554217 922333295 256816363 429325963 500431759 199785849 700109023 524971571 118930571 756880495 369105131 276688803 745273685 944300683 97086673 263097141 37715315 192372617 882361879 586204237 659990705 336363183 865808143 939938385 944021029 544668619 558279633 168593335 544663847 685524533 347871035 223992057 774174817 973067211 865272825 624006551 997939897 185678321 399938423 899732253 520793705 281548441 496416497 497797663 2377705 683843893 560597607 309309235 721978625 632946117 510864287 47477245 773190073 252871121 196189481 813498409 992641385 452584805 74085217 788172391 8092587 515256345 473449315 507009907 635733861 983809545 550750233 283054861 984938433 445338845 731414325 815258881 79276341 711339201 849055277 614537249 598867067 198165359 832667457 85613897 57687963 70033187 345183355 871919191 196061919 251213219 601378985 674932025 770471387 127981887 177351269 531474655 602243691 269216203 428122383 877481541 842476469 608521639 905167823 611533163 199631141 519129271 609318551 782870109 942755693 493867883 274660123 386929711 771771787 275065787 741942751 926949367 220986307 41034273 864774443 599603161 336274593 198322855 143077389 639068673 106047993 705253849 337281887 707821983 91012585 147742159 496751809 147831791 343969747 249561381 153611673 20088113 638713189 628805635 512108573 522573235 33193361 990470935 923395647 720490179 806185877 503294101 719671491 970975165 204754935 450793791 720153135 231767301 227355519 526759259 678498773 830363905 961403459 507574195 44055757 32195881 108779681 377813665 237390581 872522993 717232701 96192771 213417977 304508641 915664641 675424575 40355911 57717119 528982561 15644225 976670231 288235617 631154461 415543937 355263081 874157853 50310327 631816959 495236615 760454231 185315321 470341695 935821953 780670139 546404667 746621263 122072367 278878713 523707671 352416455 476415535 173213645 241158515 28415427 695129453 819258617 667596409 617189099 112082837 964526149 439060895 851585901 351752995 104491909 712034465 102654975 404977493 282597525 516279939 629544927 400044341 64264787 841847953 736075219 196414099 240085421 657263455 643181355 484276997 237593747 727498185 662340795 253683437 403010817 675350517 343937507 931452533 635946489 27135567 661399943 228627081 744263811 485547145 578526489 921010149 845291187 616255649 335521163 649984007 885876389 519407067 925696095 663025207 191850871 53126597 420984985 348306569 955550807 871329071 885514695 775019217 276768119 651001145 614598401 797462449 255164687 69434949 622841315 350002577 337805921 966006529 397042069 150571937 905835193 550437215 768697285 375302873 23276651 326909855 757176233 840898299 480832461 4384065 530734335 976724367 545992261 482887189 3729165 280982755 170162491 215210795 299841955 887269137 201144097 972631011 695374357 679583479 364943475 138744033 415392323 53031745 778375859 377939215 546544531 434745693 768216937 486825635 137234929 984956547 338225961 908815385 648863447 868265141 414385295 55044915 968419905 665939385 85749049 730257409 820354483 877363745 293315285 860014037 791078209 13416005 614084629 643457611 786832509 837686083 88715697 531895881 796055429 836461063 634621803 443338491 685288961 788689983 669589265 434821331 385892895 511360355 951372145 141793423 827772821 958379955 695511401 102848563 38665377 957417785 223102679 985142795 626530059 939516613 260196777 647870379 489662239 182685421 994217681 65496303 710520499 545362707 647557959 600592639 602074663 722293857 195741965 290076481 286830433 140354243 234058289 412848751 662026445 39351797 505427393 754691457 554703461 430693493 330503387 418010813 370932899 605393037 303506335 101828783 485493649 220691277 958796855 988131117 275312573 692764555 940250069 569484369 976870201 191270633 32866741 844944255 735317673 758614735 97395737 609446501 610224687 308000621 507598153 705866231 515895931 988232381 360627355 473512303 563468227 495618429 993866597 219458901 268430535 781342773 293417997 349882995 865993161 279613497 533049595 575816923 331796891 916579485 766131107 760102639 924562577 108570945 493754237 182822989 54054795 138925009 501261579 277791461 424674543 823751867 435655899 463579627 657012651 434670649 13657211 679678683 15870515 271369033 574460809 955968121 760178569 121640627 119258277 502820305 782404657 472470537 18950777 643649847 392290107 62645411 144768695 134457159 431751481 615250079 660805915 245444071 81856335 783995881 876579943 850715459 659748383 453753135 369995109 731047629 981970137 983012585 422299621 810988099 13476917 441949785 713842117 754766505 716340589 434432645 505573861 11120971 655565129 469441343 986349871 214085311 212803353 875164701 584813973 918706655 536021939 444656515 551995667 68836047 570646643 652236181 610864811 845174781 537966657 266979143 635791719 675993883 422055561 777535311 188139351 742366759 1823301 4634925 885099673 23245927 40107761 110040107 846690381 522936675 767439763 986359895 246482845 491162099 658761145 81953165 225007803 614241585 305282171 534537833 759708133 446660993 570577783 779812693 513048663 904964499 734501841 321089411 188220769 27352405 658657083 605079015 717292371 851186953 569623271 454626885 901958789 926805553 701689493 345467941 340462173 292442775 894771085 639008213 122862659 759708499 867781019 613057393 478784171 907501505 847586325 137002965 24612877 231820417 760762075 339733419 2078189 660693637 152151891 128363107 168389077 867526141 332738923 614726965 234404437 382957927 196762265 397855779 303129099 832669319 21463259 686474997 933115031 353743721 425096119 415344697 659255715 849494881 835807035 743169609 789452771 732011531 500826367 509030469 42747407 411764815 461906209 86008083 570895339 137518419 608597319 21867111 373140287 736182161 40421277 731974073 495038177 743826881 42342875 142690629 135905705 535557609 475007041 180667161 721468793 78968405 508027537 651539455 140969531 174257819 130660125 666970773 55769315 131772565 744913339 840436281 60479593 738824551 133975239 999653393 595093713 372870783 881622057 411395601 347582501 74822289 631059023 509187055 197686645 837031063 782169903 411267629 679167455 483358935 153993031 981945105 337971587 142180319 552097437 662983595 701731467 705334145 278101439 311045847 555824171 182592473 130259653 936582193 319727003 553347661 291185229 283624227 246128927 66438279 98122365 119512031 747326721 489359229 744554497 837133915 477127315 307197035 716482833 174335319 925366573 580685779 411551853 970902365 614132021 647206533 525781593 400637371 165550869 31773331 135845283 751333261 793841211 773248603 289376417 546133167 954530855 676127615 490185781 98309835 772417879 647121899 368024257 378053713 409038933 276027605 927441715 747242363 424889527 822565817 177174533 650018631 895586837 965316955 105020467 910043773 704343825 659506887 354927173 102240433 144116309 151089747 296460101 714390839 463230357 378850457 416126413 912098353 876466825 934180221 951591675 928253831 879854069 99872555 903044981 833674217 324588707 524291867 951166055 93003215 705238117 724219653 348087947 790976123 690379541 464065521 939694875 666168563 779444117 397267751 843837665 877244681 438466255 822836031 666589481 5121109 383764663 152651539 67326155 879668023 79159109 837150919 311056675 545721303 172575101 128165065 132091161 335239971 740840041 359221453 719060507 681841113 703852059 484276431 19035423 441944947 586675885 136012305 431405475 371614013 189701953 802435107 402312877 789178183 834774785 218650071 696009165 835967849 502909473 977809993 971611159 469230145 816264923 106991583 861753131 977629243 106574959 268270403 758530095 397639811 652319273 849466475 93219535 267167253 833158745 957101459 136735301 455109297 205227357 519265855 692235851 460744157 630819477 60533307 936607787 281797097 508147565 982367387 577796019 196514545 356656725 878887613 861164085 133950417 723994055 315203907 190966677 970444595 27318599 390379801 894901557 60596873 783514207 366237303 532115205 199656711 33838497 149038549 622095995 31414451 370409383 135032057 670608789 519656783 885691923 663103983 486094297 359978353 258599057 925257229 488548183 33825133 778280399 164876013 540902307 970037861 840312461 948223859 877830365 175260481 315273865 123526349 893892779 32790961 309612943 221920109 247083323 669698351 68108401 714881043 576477249 763632633 446367753 694322879 837588991 431126039 319133753 565661121 205485625 764587099 852471021 552552619 136241981 148712285 107886355 151344985 929314019 636562045 986896811 140181231 656589191 965520099 563344051 198815451 548440337 58377343 30722615 588864977 141551087 867266313 368914761 952661197 811538457 776719619 986827011 540535827 38879241 176107699 290026375 781937711 730363335 225671979 630198529 609830645 182446563 79604547 645096097 641231489 329490545 867330201 68510625 934103609 434908689 928491673 711236677 862296007 934755561 904102769 780184279 99724835 444753319 426214681 838798505 347435653 795177599 64341585 663296789 458147699 160034867 178751907 778599039 581892025 249779975 546954335 858004301 510126443 590110665 936437149 405116661 88066791 977669329 876085051 414907633 614886351 658096893 574538467 593797569 127812625 103832241 584231687 150449649 505033951 592833245 74667485 244720403 245500343 211505655 635256933 691596481 434093919 25774335 977128297 145377181 304100063 202285687 367617655 153670227 338580623 504044401 64598763 462970515 677863177 215737473 991898849 50081815 974396465 126455495 430578755 455318949 962693173 432178921 786966465 931522051 971048073 612161557 836179413 28089605 770852071 406341889 401501117 771224709 686382679 529486057 118122115 590644581 26204707 68358295 739089909 630011025 881538271 960569689 560022445 559822329 19898215 540218371 904702987 364670359 890589153 260085747 907249463 408382577 666243255 805619731 541339681 165558157 192577439 901021133 693063555 121704703 356923541 396417561 257603801 643551457 317020381 990806133 98406769 542490197 315817987 235135977 164343639 510790791 840304347 37362177 252819557 605989799 871875713 181828051 767987001 63741937 252186971 674880255 330875967 115986597 289529877 386117291 441789605 786266383 116842657 411968645 346473315 904387457 283992893 788201411 293248059 729576021 107416941 973588515 109596851 104219887 280022271 99496683 896280349 423939765 489341187 962003945 372113809 718424095 357379801 848950389 566957805 492399009 210845987 970986093 453909981 783083715 111517391 959492405 455757773 703634699 827349521 72542909 748950009 44150029 111502691 203193981 815247969 238002531 644641419 236429935 170253003 837405615 328322967 245214749 545876935 416373149 201560537 434782099 388969905 62370781 422563053 842901095 449309605 529339179 894952375 134065337 45820557 287937351 89864549 211728431 878904347 882633215 418375275 121620215 516816837 859881505 664698757 687271623 32650699 773759113 666710711 367758301 858984503 865509145 201948747 311944191 871975895 336698813 606077403 33715069 752642885 471872357 184380733 454602283 353705441 685273869 649738137 705472103 452621011 862123189 716999769 244509723 712439309 878058603 627558963 196259761 620620099 862903613 685982243 208283425 205243641 5881927 974599277 518211819 666374519 215852461 65529245 464949011 829623243 254076309 33048969 968504871 422857423 426996533 135994441 588440637 112476195 317064135 823380293 356469751 678278445 404767117 509194793 913903479 826558499 694203599 361812457 987746155 897826551 582062305 413608383 984942093 999044205 75076893 572670513 125218329 379507467 627655143 276072971 654838229 936855587 326305191 931750755 618118161 875417293 847295439 695963795 608171297 538369255 832818651 986028351 773984741 33731613 518385227 576091477 403137729 350712541 409192365 378999817 971709095 813792607 383681423 631940823 261931529 476026019 453523341 389654145 144930793 284151155 480926795 477657623 963779275 856620383 760416879 105420267 100969405 5386175 749346737 281982617 382891861 806532785 389284807 225384965 127257269 120658977 287414131 406249055 555257983 534544059 442590081 184749847 122292707 424578299 515687365 970865131 361287061 369155615 322309653 665224157 688202969 828569393 924191575 786498621 978824815 521316353 162243697 818683805 594356135 692505637 147779419 272261339 710830427 261979135 315092491 8120345 93413091 526923705 123018627 549375427 152444203 919123519 523526351 881954193 12289439 466641485 59230211 714683771 187255603 742506337 797000501 184708295 410418537 794690755 114917259 68521217 886841667 606259847 683792429 873619199 414123605 504305793 176219981 658034649 676856239 863946579 170008871 542617593 732941557 182130533 418105083 690197509 808475977 620002279 946254359 420405751 507108443 971963857 361785545 531795975 445494625 595020005 750401903 406230973 808816665 864279723 327038823 43088609 236814793 873258353 836218399 806673547 865907777 171145041 824399367 394808341 584861909 949948201 755991451 241484835 337523557 904214949 556935261 600052645 2790231 753632819 286989781 784946889 125231767 5806603 598911129 115773969 810169503 842082607 667226943 92550463 292633961 307737445 340243309 249924703 586434175 733567807 325662411 763768517 802030063 499315989 472177163 405918221 926296907 750661637 246970857 875192605 233206967 23472891 447510055 333388575 286608341 423948197 141837965 574720137 342318293 942299003 68418033 622469143 283857773 418842301 233652009 169728973 459341787 980539253 918394907 325798903 644338151 912040563 324491951 838810665 893968859 387818061 674850263 222987329 633124243 295570533 811814031 723049313 138603369 668827621 971374809 457752823 21407555 579048633 172357821 912031157 291197331 172067997 370413393 502120601 881391179 60827663 655387563 979030505 655306733 554655577 769440753 558370861 14341757 731684747 310150731 858418493 630333065 28899195 708340203 618583345 554948137 717859019 201486861 327936371 89805819 2882275 656708339 339783595 813119011 516300275 693745895 651585229 487201105 238896117 132625209 95242265 883080635 668475303 125492039 975035407 51957791 862677393 291421551 433122687 710356165 585892615 255946783 948503675 46713465 355982109 675076297 308165983 91910033 959095733 863423205 986821073 436721901 888126069 508067575 935894971 790557427 68634067 341348231 78467667 695977105 626029569 59664939 467744021 276311611 107949059 521494649 838607555 697852659 167513759 245828887 599394413 169977149 741519207 927281837 611571813 136734247 624145331 226039535 612870473 173147209 191620001 148748181 816141051 668575425 631468317 308575073 449169319 121846835 831246549 507326753 678076101 141188559 932887361 489646243 3806221 840063051 854065571 816857029 573023877 111589607 261257985 500603239 345900921 807681125 855412525 84489843 93233533 339657751 709193661 610293467 629647215 379320019 798611221 96147613 640332145 970935285 910766937 60686517 47739889 469706853 427464573 346708531 974806179 537999 33158199 911639847 142472065 156236397 522640647 134821801 909515217 696624763 662582583 484458207 665296161 31426239 663900373 339762161 345913409 972524231 256098237 84604179 67001937 259720619 134237835 269077117 300346805 730642697 249115049 137747827 303537431 39686149 144273481 106485565 930195053 874677327 48777567 473203249 290209267 142516511 12971185 880588967 511849771 784300591 722517953 481536511 272310245 143536329 511370981 508841897 20559667 696668345 768959025 334759953 582066801 296906581 910779527 149767093 649748549 11499645 681934479 644309527 60415897 665434519 389214137 929819329 153395875 782787729 190112061 980203589 836787679 306834657 958841117 885542715 701561105 556370053 456083745 312917833 287487045 87941891 267830743 507112983 86565071 141778537 720280985 284093529 536774733 12927055 22928263 407585479 362786721 610854099 210174087 290173221 322128377 185661337 825467469 925705533 508429255 259700947 579306065 249466335 438742473 439010355 284081359 689170921 223227395 169365497 557689301 993138491 164943043 320937965 508909613 893214143 74761113 111203931 509269109 183414889 158073957 701634843 212421131 640730673 574652489 546451593 68501013 857385243 721550515 771654285 320157319 113883953 594905175 945313685 87831 110723459 755966513 792911765 361002055 353679663 418928771 817828111 820574301 391498325 775894493 348429833 353853033 794366751 367726607 484411661 62510407 493610689 819884859 818448437 373822099 305944179 183972031 230512159 798559673 266202745 636727371 352439535 67384549 131752221 204644051 199340887 922073619 942143921 563104147 900727177 706657793 596169615 635913487 828550727 223624505 447501593 236112915 678031315 983290121 139339449 251749555 265287423 411442317 561611747 105673035 392976929 788888481 421039631 725384065 917418005 35682287 311447489 423875393 981464387 36973543 882802051 12393917 10417305 888710083 788886245 87241331 904868493 810780289 762031493 587836967 772008989 850368747 863177219 660727269 823615439 710434447 963715339 578037249 443654323 14636743 394538571 521559833 484172125 899657651 782938499 804587791 967281389 363114811 228915569 598819345 255732233 928800271 52500705 924884883 770519005 963694247 408110499 420910927 951014177 752477765 867631509 13712459 278206229 835976687 979869591 902188501 549986429 316857719 663944853 314234493 622344871 162311797 896364669 734864675 57245803 177049929 690400079 797963755 195103525 751039515 811670537 492110143 397174717 610375641 804041655 708281555 545928609 668799297 911188073 576246951 121110471 509648333 354673725 760752125 938109357 477288137 466658899 352386143 985884249 751901765 203196887 126067877 429490523 890675737 159694073 50994155 597602759 932231907 233472499 546169489 864982333 845854479 476009481 553091401 325873379 272131017 947425413 67877379 522044517 907524621 35897273 380357885 256680701 383759771 881601023 670501307 679302245 296415225 800024249 701701127 248595943 472352119 133090129 717981435 995850575 117078577 765689403 220830701 676221429 63476995 765825519 768099205 635231157 701769879 58068979 39043247 9904633 253091423 485467083 937784221 750688939 426578831 7666191 489429709 190074691 998613549 509111127 793347077 716510655 974802427 793483077 872789837 748879781 350070671 49941381 316252155 397227781 902043965 233743047 546720173 796795763 460475943 2281925 792756037 25029391 842903861 909917251 814905329 688304511 277501463 940770827 829099557 717546735 777806407 925360111 374477467 458436889 197567491 119768777 724769115 937531447 446067539 903410299 298156205 213591571 506121 619509489 708014121 811222779 6536637 711269659 290958249 198224579 319156431 32883187 790329939 123319753 300390247 15847293 989080977 302254069 472418165 770957251 338629145 290430901 538311345 380277719 863005415 787127551 261332893 505880275 429096509 576246867 776722047 341699801 54005931 71061939 472180841 40156181 35023363 169644977 192270899 144979383 581707875 432393313 576119675 201387769 738166061 268466787 695562669 648277537 964444685 535162333 499782903 928846709 707049465 804353403 205219153 820850249 937976877 971509623 433408379 417316855 676061997 664831117 73117695 200476385 167944645 163073283 654767149 396314993 862808075 745533351 31149853 607919387 791359575 468274897 194221229 65997145 280053841 750241631 288225415 445768363 454972901 836798901 968129309 786280861 201100871 191785155 883992741 344594369 396966129 979543295 919731231 309851825 114955945 238572391 999415893 225219857 842323069 72997507 137280213 397037447 234755773 596459359 364354811 944077257 790136841 497782417 267395299 631567249 731359301 612997433 560281207 886040991 353869723 552867837 202791529 683142847 908858751 895657483 793329965 659658435 492347313 675679255 554816519 553539461 921175859 639223651 407023615 338379239 834237775 954377395 47308003 145552597 480941213 969553239 970191949 553689663 479337463 300192291 164642973 758676513 650878339 861110389 543287291 435409275 623668139 338117429 287597911 332659545 109876261 351560659 623867243 409470413 321086189 353719617 720068021 210290929 328647495 836429055 960129405 954229737 795480767 60021781 989657301 695818715 131508265 755970063 45157269 127336701 811730083 428823555 136187483 674235273 22825615 526728081 729920915 872942783 342099609 146096095 135803499 459912683 64430265 590096027 963511259 873074529 692112679 697819899 460033957 142837111 638238057 835628731 375274831 831211921 844459851 43029799 984112427 147795227 636006883 336107527 481918801 571955845 23184009 535409845 7345823 614649931 600616935 164420879 594342337 59071981 792265445 483481209 631199779 306557175 583734199 457864931 974942465 859512827 219639005 27914181 779769947 71589779 541069335 595445017 110155255 546456931 516283763 312929385 596000869 730664209 698003527 64198081 670956033 364996949 927563821 135550135 413782503 872140003 888787979 307907435 464496385 358280067 529594635 497476483 258855681 880355067 774882211 61927213 561511773 488614943 769303695 469825055 193135701 455533513 883796945 926993047 968954867 299923933 313594297 657275995 401509125 476873793 163124185 853204409 895146533 630179309 444832781 4496009 286273203 279121365 576267643 574841641 38575575 258852353 31823759 842050943 737633155 480094839 75354363 260150263 715131755 654225995 939579581 581515401 100611091 615364247 124478233 533009333 502824387 136753535 738879131 87422333 120373641 727475499 673351959 757940341 84090943 392230605 96904875 682280109 525262725 146956705 668039865 144626375 40063171 567497191 675576559 726172393 339391529 933074923 155854399 903822785 361598895 287364351 289772007 31792517 693431319 967207039 118052461 614588659 516687335 473894601 772114073 353437777 230939761 766116427 414364803 682595951 929414349 982256245 856322691 507639713 387099865 88101571 238991427 893326535 754397249 145699767 725881259 887612997 910480243 141998553 635127793 10091277 319507623 738109117 22384271 846620561 96068829 517543421 48551501 701204691 168106209 959706685 205574707 975772501 40475197 603661861 483284633 362760745 977741391 751632743 261282841 927325669 796731699 353757119 825896089 347825573 662925525 415879661 573072451 191953425 655235553 462275263 644149389 245045847 773783763 68883971 609130803 219492141 248392937 572384661 789451577 968236497 143589165 132254297 520380907 951209227 704269167 471482167 673404381 631869989 785161541 68549665 405019115 606228473 514905361 479159571 331005499 916254693 839751421 658440461 843163449 867598031 42994165 997631261 657545879 802695715 966125749 424294225 792989779 667362523 976736443 903474117 713254321 885881969 908086607 908007837 601247807 736325615 2484869 618125825 70895309 364951265 261488689 541384483 551271547 56374367 609643253 429313343 922627499 368819205 725506873 836727191 574145291 143055613 383369261 869844339 701944973 242655471 758029001 207806247 817088625 359540503 929394895 510800143 841843255 857258803 72330183 131683977 393997231 591582341 610543103 840882947 132107753 604365535 25683857 575940335 471357511 270708629 806326619 983958213 370757991 688288391 545286665 326116871 945532473 323173657 453978889 331472451 285926641 125986621 50979731 440421383 884136459 603234917 235502505 265141231 917274441 757976723 911689489 224614815 839341755 175808331 597576797 363798719 328480179 892530843 318073829 157742081 821644749 349966363 117064391 203876897 506580463 161844711 1968111 395187937 175376709 37441961 764185355 176293897 665611841 703140747 20754323 776799855 945118113 525271365 879835591 991153385 299961193 42430741 422861745 201005917 560522213 578752193 362064417 836541875 415759529 939396249 215955885 29334749 580925843 584797809 309155767 845988311 768093125 551260841 202739561 867646115 391405227 903148839 503398063 154534731 118401789 262365273 4918085 724116703 291281331 775784499 143542697 282871931 281711379 603947831 333247013 591690819 526844329 337683305 575613897 966271583 536290123 694843223 736848747 673537027 636999187 505642265 808069805 370500711 330883429 984678733 663956727 335021005 284900591 855025175 116349561 620417667 298057637 173485095 970333485 117340119 30406849 130368947 598121425 431917863 622935755 63074681 546615021 628207827 173357197 909247425 867311573 573745477 869060633 714548055 725372317 981258223 193030097 283653265 154744871 653365837 400696147 165950543 857731865 63851233 63179407 459825399 838320361 607852083 584642233 958797685 688094665 809642969 119874381 273337411 825433789 296339305 526147855 496056925 524269195 744438665 291573515 385343561 304101061 135695585 674753429 883808021 192720067 881925925 376994633 599465305 906442915 466762253 998294541 568029235 306281041 801328221 115522573 345387591 922727035 140220125 294994619 468522181 862385561 648124771 221984725 909353059 243864301 669009349 502784607 881907807 290521981 832987881 109984165 924928385 59181851 262164919 541751357 173268245 445785437 713942051 45168385 885338097 385735335 178611749 659081237 91538805 807938845 564989633 12968423 853864583 17566131 372344063 849789993 58373781 276175647 921976565 938870491 918476437 336042209 194669241 856187709 313255429 732518467 407284081 86249693 430729195 51169107 527206469 33172113 383836117 37657069 494134121 822723955 264451291 731987629 604851477 58291175 7767707 971697149 122650765 503855261 731106361 58252047 133481243 502533507 145839461 216551639 418656015 176412379 736270677 405358875 869993671 978690599 942967753 696089949 907048355 95281457 140716547 200301555 496990477 483645713 539657173 114890993 488281463 457990435 911427733 979957561 379338079 211943431 687767071 575774579 845362755 995982511 22137819 158680335 638137773 730791243 529344951 424593733 304093235 878706265 119871271 334610455 298396779 685744029 72370221 255451469 958924283 883670307 845662797 830492533 290256013 103728703 423921559 569850601 611346639 201701007 532473759 610836169 333676927 660955381 874956421 208834555 497993311 932092573 527332333 372398131 708489017 860630015 213003271 979861737 267469535 883385299 397311115 801669721 32203817 372297759 792359347 231171217 684071677 397585711 128676169 826121819 218328389 550385305 615114137 724854357 365539823 472789047 926859897 798664669 228989945 812799789 394020939 548101657 370582885 89150185 350201585 442962173 386664509 451823135 567000793 657324095 670783379 455129545 783473661 50179169 207396481 615398959 727832281 276986281 529417511 645144537 362838899 271195431 222053813 497819295 987556955 27135927 794684247 284950171 634879909 536247029 36328781 524521267 725128689 714031181 629621205 26126865 922415459 346076139 25500985 90108971 380416685 524408267 444119247 821300925 180188673 502350507 394378735 283259465 930084895 488150293 142321403 685660063 124585295 645301335 113801821 749688017 681381981 344014733 328539017 335441469 741578145 928881299 307466231 524846469 940898807 396907795 170118187 934050965 301194695 900130685 571215023 571439267 443724799 788448267 766134037 495457579 61918997 450091963 613548791 66438897 42469895 311392599 873101559 692968195 396197211 37640813 454591423 310377905 812181537 474086999 227683075 819733403 563872493 198529845 14230651 128868003 591268063 140987119 954830059 900910327 947296923 217962549 735496477 996736521 400655699 502188927 588424419 483376535 415674297 619606031 736835605 676402855 960473359 919169771 491806617 102570113 441699863 210429413 346864217 116391869 660014117 105520789 950607941 661901621 792044553 800694107 111216983 657142029 320771879 100192863 777726611 124453299 978107489 296306321 427036931 524988635 959797031 311817385 286774457 654769793 666749039 891755559 831995855 627990503 949171127 141600341 198448487 456812701 860501509 160616259 898532523 967806837 750843625 766551241 34542543 488059787 590827895 577440645 524864267 162422597 612705615 503365603 263679907 395237197 598824853 839342351 322525409 968449945 869085179 91052037 104182551 722123365 177557427 905825413 253501087 425922357 401834111 860917269 798928603 412213205 980921251 135970565 198634293 228647769 433635053 233004913 446595617 706120991 728847797 383757365 44891673 699016137 187372503 132449275 261030045 620965955 213958843 766808117 711254841 584012485 824906831 342373399 721655935 950176199 586449417 810901927 178754313 120084239 969435113 273014951 7844473 32094377 234403185 678281645 391516793 711030763 983769267 338089741 752016317 91140719 648696131 630444009 404641533 277586713 485922625 632858921 511661567 288450327 838315091 878765181 763618953 270392027 6399141 859464543 574708077 155847461 543654385 68817421 239822729 60881397 777521265 901075087 253514431 115370907 869618671 765087671 889600245 612645801 997256889 792997405 205014305 253168123 259495585 741762337 81249851 427084213 868530699 454184939 613302857 27109447 980422361 343509611 755658065 458915423 766405499 6699609 951710311 797654783 19971047 176290871 245548709 262602857 226108571 238827595 260069421 740469033 218226591 515112871 689808169 752838419 16923007 454960419 339136205 544050755 703588433 926397533 747778131 847050783 546577077 942415041 299738107 73943635 212297937 870933117 529475601 570141649 545715025 223690633 59104743 144347607 45723759 437746341 535771863 931591913 236680423 253807707 392436035 863473107 594870015 631607803 197353879 678798505 686148997 435290269 626932035 75169225 469675217 827027999 412033985 880945365 254155711 6140459 603176853 764733371 972421817 690951987 245341003 165858733 432350889 503958893 362002545 656899113 606374407 965851609 816144547 628653045 192787409 318052673 928666243 840956953 36266639 515726645 59802811 973057261 754109261 181540107 519560959 83396363 522254497 311487717 188390153 17819735 228456875 602892971 54900121 448241407 344610065 38404879 664362363 504233591 327094271 800952965 678635649 674771579 51866415 407022161 126389381 665554957 755892189 784548731 647167083 947677309 821266127 790320593 850153753 407877725 600414547 633744621 357742213 969032841 641945153 889127215 808393897 796796711 919551735 444515007 406551173 409452705 564515417 9739405 939753253 602317997 251488215 974912339 150940827 248024903 653586537 321011855 80042243 810057651 955712393 757372297 745317243 851203453 897516607 392226899 946090289 914101625 767905819 37222597 40459349 981453507 925827635 445623679 380535585 638358465 564609571 610026215 741290715 153790751 95861523 879203889 528603849 392296143 414832817 688516691 359212351 125193487 344208433 844926735 220799639 61467491 667415381 376450539 328167987 159736729 883890017 938168633 946714495 995862209 131459109 966262033 126943467 939130427 157892341 517749329 681825011 976008361 123978671 106388389 635279127 97148665 935098813 404763257 594170595 892444511 422773001 255220745 151980777 615520853 552165131 23726677 361677765 874183585 91825603 589827875 877830421 815399761 485985459 126805763 24241287 176661175 298224621 140822609 254093003 472425839 888152327 947728425 897359005 492486749 987958301 8041845 639733181 84201647 912697047 183454695 827269111 794533081 640767331 275468533 961623069 44141463 663094647 726410975 833793291 706069229 851792719 947020719 191405727 732434215 588045495 693331507 694445255 738906585 976501751 327591173 209218163 65076959 726889193 649411461 453630623 537981279 71660523 357207771 790096203 577994435 944461537 499036409 169138307 373575617 697024061 873118099 313666905 635403605 183924721 692096813 881874665 169695683 502525055 950055439 691591505 400485271 790201833 660892999 902007487 835239591 725440705 296502191 248044643 387367179 388501789 890843367 155224441 217486891 832431513 595998295 629827649 483765171 532008541 716507183 841941257 405730455 422966807 361781863 112274719 841521681 54575357 379927489 796438495 20905127 837952973 370480323 532430765 12430629 489228493 58078911 844302063 821019553 255865549 314740429 95155485 956784245 869147681 773001931 298298283 778002757 643998633 814406757 758737185 853152255 566626761 509694473 992063493 840054743 547202929 963619311 350505451 420831305 132618009 754828567 767567983 40694295 531842491 408483917 391398959 688612945 686034913 408336155 326990297 823917897 689457303 999594719 615707933 441065371 690662005 869091765 919983031 957101869 723513495 963384713 218637929 918013481 568543141 346152199 500693499 322290181 727254733 182216363 84261953 728164989 662871749 904207285 576897815 864996499 133509323 887277353 25269595 685121943 855536549 116957917 497428987 327687709 926741667 864912997 651956455 639429885 434924697 475211811 10393115 340889183 337880295 243537473 799433881 381554863 699892339 974183851 947695465 450526623 410459305 533428509 393837215 855484717 304682627 757431317 882546263 743935645 38544763 217280475 390926255 16041851 775236251 562485379 939942357 531762333 60265839 932596705 517225721 286067995 263164687 330989719 691498327 689708383 967907607 606524173 694133297 703434255 846088879 238239859 189868239 456881445 697880965 510320065 166829447 448927449 640683727 861309113 470908591 922378931 315823691 477799651 682708909 563204731 485473089 720804493 379104233 573161289 150526331 299256785 153008085 889780855 105651797 687367565 738896365 618449067 637266345 564981869 508462513 462305487 667073245 475562463 197401263 972644633 235337187 919892251 771365237 212188675 481585197 318601763 349669537 812268885 556488125 958210749 202828753 147667225 567233047 249635195 924753075 248839843 139589449 469310133 150493689 789641103 971892971 398137737 381632603 121436355 765104921 323024099 742922651 330272617 658483067 1970801 672184711 413484535 927567935 338540971 717272301 950751529 88385819 813900497 841703083 448491267 481922127 206498285 78140063 190234577 191888797 801978831 266679991 224657191 476388695 149706509 89662437 282068707 553402193 838872843 194874145 753181735 695077355 717832429 872931437 414345825 375855883 17987237 401897431 640038979 886501149 792572909 939438189 976741579 616981019 753983299 168603469 543715391 104272001 535174385 910634645 222241575 299594325 398043143 258293875 820990811 650405925 82581339 180874777 558999795 69604361 27700367 656595647 243650905 878458013 928039179 861893289 320386613 501825547 765010175 300432927 525115515 908313341 229613669 300202103 874757995 527156139 451586043 472282375 924061063 980708051 440719433 535152181 56445337 500168891 381963939 421071465 868878777 359588915 22864413 412044053 123285569 173104017 164293273 113443253 956525271 552025521 666603455 801149643 677445477 861217017 931884031 851478241 515753761 271951963 381118353 382195079 424360327 80534091 484792183 839578715 903626075 736695749 761813111 519244283 198390183 128862037 81165859 131094807 626414277 49170435 88564691 562016091 226417483 825715305 900387749 896341637 517407521 933227939 979572101 580942679 590684273 901320795 959927841 556880027 27468979 223108539 853840369 789774369 575894943 898424443 344208951 933991367 990400571 521214937 294594553 69740651 235446227 619680413 844424457 139451645 246798075 953943571 67991293 197998441 286938769 122390289 608526393 205017517 821966519 527165175 956587745 261892811 43084251 53788331 530845673 724011469 119018929 765828507 680805383 552886467 264527923 287701691 729979579 451442635 682023079 756327309 635456847 384644613 799832219 719933717 362576849 580141723 981281505 164637923 901705757 657926591 615605397 838523915 914672847 15386029 200737819 710731307 573951569 918919079 420671009 834967149 390274517 902087927 285549723 775582843 655026767 688823789 485487557 602834829 879272325 989119719 528420641 195267939 194322169 878499141 687406719 774070591 53384449 811938929 650231537 681358067 19869105 396468447 222774739 762476501 893765099 283761415 540860363 180302273 720567895 207648877 634937283 271061023 376540261 649332889 231891441 368762075 408036685 294551073 27644113 919453551 864530705 503363485 299353639 641886679 445376377 274847407 911069183 728229273 54405907 165975297 834910637 579375813 222209081 790533957 966569679 554415343 263680011 824117305 361386055 266518069 402870639 49557403 46970179 644751937 744649241 339307829 668716597 659022141 285334401 300381661 218252763 154131169 578061795 559336555 869312059 517333869 524253517 921089729 388397469 402910373 327687307 5748937 677266839 32442583 967165493 924583797 628740103 528066521 322238895 671078339 406545 351844363 551734813 611455409 978851101 480168787 414077299 207363401 433523685 696512031 214922087 840701857 318770531 722887781 443364475 76347857 101524441 480972963 116019445 81014267 964922839 909718239 880706021 196310089 484791597 430379945 291021351 864331247 162243069 829243669 699205975 969230885 204982181 533042625 326819041 637802799 589581269 993035735 723027697 330813271 656809857 391151105 741534083 378548717 317800933 127390841 428956501 178618447 274587013 455333369 842361073 810349789 832407341 31600331 464895397 134142977 347428081 768155579 196464269 462251823 248585005 68743969 964568965 974250975 957292423 571426777 492323383 441359509 785383915 474543179 937429779 569944027 325020555 583524197 566447699 295367491 305822693 593257373 868156661 441936999 765515197 318438385 42890691 167955945 93851679 791106279 193716299 504674931 773442399 568541583 573842919 762952633 953341979 599405693 949383863 133247347 880795701 156431057 912364195 933887589 226409947 728558383 633408091 311967577 825774209 929882311 790820439 557322273 611922401 299528785 834775513 542580887 778871553 420163847 577538535 582781853 879273775 131351475 390924883 825890333 206915835 439009185 637930165 608611851 345879365 819391913 204312429 46725471 692465713 992321319 427175587 688217373 986642985 588051205 476528455 980877391 208313059 601248939 724860945 463834375 253838425 673185045 112640641 234611551 506160083 220339135 449963489 154547321 600067289 481263537 639797825 212752255 983303235 392402039 879305593 732811429 953914669 461298471 111359015 956870691 204911095 952421729 687134391 690551615 580805971 612627017 25495639 940181821 442179377 198546833 424627197 873701493 727892943 441762923 329040751 448912191 687135409 987987609 381874737 589547773 818633635 440445791 491582099 129924379 485948857 176647307 401702577 36364297 202129999 731518837 242991975 431114305 329382411 938642425 920507743 178360647 312729561 573939071 841011723 526417573 637615083 80802805 396643487 854220013 119498431 94801617 747394337 991197881 679706139 340898833 843495251 513385899 209279495 981672765 244472779 39588205 112807897 505050719 152676061 702235315 927337775 352318227 880933291 118889527 568410347 682880371 45875997 556605369 24748091 553010981 218058467 916619013 491019667 102530651 556814455 66972397 310067629 69015751 269026327 509385803 179137681 60586155 299158475 146454273 928292487 525618123 681301605 31535353 633032487 434209397 922299517 100466983 899320907 912081025 926937971 986855557 477967129 387513933 701089903 353124115 295437563 506102205 476750177 145881309 908502695 991024961 886840321 857140981 919701273 188652751 366542033 41862261 180389011 405562597 437841943 314168191 885488037 605867915 128687333 72082495 272072225 256544075 142679059 42918373 172079653 212896321 483961151 695714219 411389203 907630343 35119061 915822549 126634135 142110147 563835907 774759597 269347239 882786599 408193985 128926597 672878975 408935 64515535 458183095 96217763 554509631 978572473 835012517 435746783 121392377 145635273 24915387 300581705 966815587 386206749 838821225 767703353 655182033 593093521 283776043 599824729 480123937 227527633 748887169 955277711 648991163 252286793 323810039 951033621 191335053 644491317 936193311 763262819 465071375 492924307 731955347 818045759 290454587 281786413 791096821 518006711 152189593 133458323 347458545 107470619 194708281 66545947 699262007 246650379 694611633 965358823 394033793 448701547 356040221 729552095 658317205 936390245 549187109 174839221 453833785 22969197 994778101 181502941 345836609 548113219 870318151 810598043 324298119 135675625 243869271 433132791 673955565 307636649 691463403 740840639 884535647 870151707 742761809 815142285 923518157 901101337 633791073 762063809 509386545 606124233 380818297 164403587 289095569 966969749 548675965 482736579 468470003 837789491 762031581 749585211 859722091 680770975 944476047 64164713 49671443 649300509 274348563 404716949 615939341 386441785 502205547 56780753 742483077 657716935 746138153 464857589 831097259 106205925 892403811 812863649 559652539 937880309 516406453 888032827 710912245 639356323 390273095 298726391 206116773 880856295 720188101 667087563 497974045 79571193 508998505 465212537 782924215 287749471 408197615 41262215 916841687 373061605 108808605 225650503 324169699 130424225 282856003 493645521 840506705 211824619 368621365 66499587 273397659 899223405 129818193 228082569 634760769 484159247 653592833 596609743 332528849 667070213 233048879 748939537 10031577 237181903 170107475 817195087 959359477 798381357 627163243 140013135 696518855 275857199 512942847 918536097 113619451 161392933 854132251 969021601 191297601 476797615 655908695 452138603 898540117 410463409 117232847 107917289 277946871 524720725 348914731 333663949 931127027 132101649 566507417 890763405 979912733 219644065 42686669 643737449 482739787 139687943 426081801 415808875 427541857 950352531 566883089 789516129 759232843 179364823 212762165 412967397 481101561 897421743 438811465 456640599 464687975 13616449 751472813 212385759 572885141 757151737 525225541 220850799 986628241 370422409 477076611 468867003 435285609 517443055 574478169 585415239 222339897 78754415 442829639 662326875 849913123 393994901 597232725 806297349 989189715 9432629 333979407 855741727 399725049 992863597 648271245 65463881 219320657 861586847 887444587 122219499 501187229 698770553 626976721 844963381 374257189 152178925 408426093 935519519 972933437 903843385 155496565 336141163 361143615 562774243 584817319 207674783 615535759 962236851 99712329 376880397 794974101 622853825 652663593 559192269 493369795 834593893 674530977 293505213 593652885 596419145 507117193 542172809 980996747 975705173 48786765 67045535 575697969 476216767 289017303 55025463 808904475 915058689 894023841 342442835 24563935 80288227 398617765 533901241 320421921 144777325 513514093 770573817 588136333 492398583 188194053 141982063 441347285 390721819 27144453 873833527 890100655 54056895 937013641 303753789 571978979 541719565 675080505 548578861 426946359 885996411 468318531 511050883 403533439 908656581 488120413 889592447 999541399 637697007 378454981 873293093 170250333 161582917 543414337 403440715 450095295 698889307 557486369 205259653 660630959 576517647 735550777 997637941 904357155 195934337 63577065 452659077 863986723 236577315 652937237 787151201 103621557 378456229 185714991 563925893 661334511 274368517 807925801 139534703 10438375 344671113 845313669 738395239 982448579 36489913 706944327 680541313 701978537 486618731 421307901 992705937 8586449 416752573 397173695 444040249 923508081 743207185 78219305 562154209 450522827 693331221 772949091 410322105 889019437 355051965 826411035 236742329 115831269 873321283 370041991 527665827 279356495 79126829 672405861 538508799 131035855 596378441 995152893 261178651 4681421 682313385 738673689 660365841 483039931 517449897 331849493 31719871 1306901 897461741 455578313 851521745 586766173 898812259 691298465 177265333 950316315 639073599 189382793 62147235 860089573 627898877 728801781 660943517 472418641 521865567 428853479 747847273 439364101 644190581 970547939 170501273 866329769 458772369 919700983 574831493 690912239 959752015 47791547 105452107 423595155 894492565 866385483 768801751 935850583 988214671 640228687 638397911 837262083 643943343 262686965 828249027 881290603 309549235 329704179 633325531 479119467 82759327 232571783 774206505 505787363 826437055 655929977 145202045 693249981 503433639 203522069 82630253 939038955 998855221 586163249 778625117 943526505 806352011 5979949 147516529 164513337 38793749 772751087 766121115 255371363 624628619 424248803 798741141 970175485 661341157 383050755 387284701 430022685 904376681 231714761 796621245 765108969 988209829 274720575 844536901 508314249 802213737 729798387 41616715 695004719 849422805 86458617 942548081 38766359 106291019 408647151 801461535 829192067 271503737 758636541 238760837 917442491 544328531 25251281 53880733 178247957 454243861 364555171 216029221 805723879 279574081 73719341 673199015 594330519 559208103 649277367 857373553 372812173 999993687 656311057 357151901 864745021 244701875 32546447 105815307 373899551 417469017 844979473 762770531 103340725 156232251 202312445 378594581 296547725 944172935 50964801 723550041 135159093 289996735 831739987 745078321 143011147 293258149 411738927 399724643 114664047 648428613 879732319 421804417 571213643 712015859 71694065 502332131 16271761 610913613 667420537 834768041 640652029 688917555 156415765 822479545 131718737 514022103 959569005 704264647 515828823 601688233 133515441 879005769 175410399 166870375 613009555 426682753 155878343 302354453 693374803 455911029 957743599 783017473 43030969 163722487 165595201 245346235 580329745 378993309 405990575 587206179 228080689 91527627 709649205 586637147 803232377 951473829 169897685 90498001 492191439 631696415 601930905 830762807 934316705 582171375 87779473 653437837 202818275 109209749 190401243 865005587 712298775 396558427 245381271 999947863 773241921 794458705 141239023 770453295 747777009 144338509 430497303 110554037 72847163 807899377 467625031 677360719 216714685 921504933 986752195 669251495 497090209 656497307 326596307 469725105 546702225 611342279 930486477 73509037 413261253 152511471 656400135 301880349 531664635 614783125 598025447 195894731 359498363 469418511 828504533 72796367 356054545 931236977 636944965 863408261 553490707 920019613 553089711 959468429 649646947 774339387 444158103 615141593 990685793 811741115 259140999 920986777 746690049 9147221 920437775 991438667 48527799 638809611 941470413 355124403 586501505 335442341 314586977 838973149 184714981 429366961 241234293 274287901 685150195 838770569 292331965 550515473 633952831 262833997 821750001 57914267 899385319 403611875 680450261 147347943 857585813 33248767 435979059 938163309 126255219 198117913 519527131 574804453 245842745 145163117 554322091 130496085 729754919 179180041 720434819 748879369 606270975 124969145 25295437 463139479 692988947 479576085 13042429 68170201 903181113 206729601 231920011 445378803 454821325 644034593 978443771 423517011 494778295 867769833 506840663 447571373 705070437 157748879 684855727 330112251 409354957 684992661 907142945 795480965 443134061 922643009 315321549 378362835 13013067 708332195 39232221 948019133 404508917 829686423 176240773 376993629 761808517 189262265 631403261 675472409 471626643 413058933 130886281 92100507 440761931 564652535 821274483 715288793 574147415 380398907 661572365 767973135 982232303 63570431 508027055 80348863 83222995 414465229 743214271 92923577 436578375 639913715 554091943 396491535 130793241 847288205 159547605 33049631 706123423 184857207 30993353 914537355 349482939 769958747 577839361 585609535 819669199 887691945 905365257 917367409 905592523 471354011 434938225 187010205 581507619 894859823 478228439 818374791 301435865 905217583 472027867 182924093 68439155 509676073 600868647 580581135 220897019 334613367 339356271 491777181 406295053 113019449 52705901 256191433 635911361 548897879 700715489 205648065 350335939 706356353 660053397 977280759 967149629 280698159 875105631 207368233 827413225 950980003 128428823 126321501 321141505 104097507 8715167 583478235 60483407 451187905 891931105 742395963 729321247 922460373 693259729 79297879 207601993 80850815 22172009 131387731 615552809 686486247 381775273 952762013 299905959 755183101 66810779 875814633 811381297 713371513 135843157 506418739 70286781 47378139 129190639 504468925 138585545 427538285 343666059 386119447 12820829 856099135 908144213 411993363 916555267 704014889 638698875 63139533 308960983 539975881 658229565 324710059 722591601 203422603 156571865 144167767 93998333 927644061 834302363 329733831 182645029 685071863 110851029 184450871 139452707 610439769 868191711 894467115 137777843 436725325 793121569 837974895 344097049 476705825 11329279 452429335 808984105 111804401 223198703 935080321 857102643 908998297 144228457 32494159 58620443 175324867 103947761 42643821 659289155 424518625 406560785 961854739 24279963 388805417 903901531 516326841 929422745 377653915 737282665 345199397 322427963 936462335 774072541 454531427 610593543 409785321 450932323 967115209 268277261 686198957 914814891 875987441 112162531 382738797 258700655 959576255 448338339 213929233 19567475 213936993 424430585 86923081 308036481 837232203 124373521 691867023 812711531 259045943 400061855 910996513 732855563 205315371 61612773 502178567 128154435 758487413 3071399 551986963 225199871 16141991 221683763 527237341 890898735 201342109 571982945 289231301 305072845 730240123 886000269 794646259 633752029 826929073 152263841 395827799 872487017 475338479 634998535 492769193 699666819 32498481 381821879 566455659 952009285 621275327 950810415 668285923 833281233 123158563 719210869 838851619 808562003 502548785 590715673 452104963 900846331 400949765 210006577 515121697 443293955 420019205 399195479 270455017 286342577 297591517 500546743 465549193 19180875 725787519 158171389 736508409 356521253 349519145 895594589 181259003 282409113 820261471 767563161 785685781 220860937 670110701 960011509 394690967 633756127 268586471 201755969 402658205 491598735 834862251 416696527 970230531 640636051 430048731 88244355 100930421 215950187 404144997 894217919 861272415 577746595 380724347 714318451 964301053 715452877 675179165 509603349 801152333 468185731 167143563 532581541 921803033 836285287 193018707 249779365 510397425 848448805 242308427 965139239 389894443 582955373 549804301 959031999 950574313 50636283 48993917 738692239 401845011 60975503 97945545 216904503 14659163 998986485 670610021 807145963 436416309 852786687 273957901 697532767 507444965 990827143 187955139 306626255 535211123 524477807 555742935 186380549 962029485 177298851 563960283 645941583 146735661 603583251 507790763 652568193 656267859 386900923 545547885 590458873 237461063 511609499 487863947 722350241 610216697 828581567 805195707 703643107 163392803 229289529 623635449 455742647 115049539 284820771 835967113 128982683 397641633 54162079 595099895 867907735 299270991 248312793 892238871 842103863 333708069 182934785 740315909 718946961 543382467 939296339 581504039 220579655 720015759 352585999 584894505 756049273 200975805 415779969 900461309 288956635 727259973 55756539 890675425 162728609 457794531 657709273 748372825 536832137 656699171 849696633 419379 554330073 954908501 56005705 421340799 24581727 921478289 409886649 589021085 700203379 272114613 189999683 103296559 752546547 369177965 249862509 881606947 346099779 275172647 697751229 180939437 454847829 785197595 402525895 672842567 814622107 729738313 236372517 357480633 523040021 430033275 696683643 265404171 423771979 41884735 746023791 106768277 279247433 196462833 435166647 650776049 933768101 678704813 528078349 407384835 588418945 965386845 538188339 50328059 116757375 201538995 210773489 14220615 16944589 528893477 175200795 256439721 324842533 938300403 317349771 670168867 924746947 997946151 734126115 288401921 775008621 73798799 560673231 21915095 412429939 975545541 648652159 913792641 828637609 661228841 996320815 669930277 59243375 127454435 946295265 593121581 507499945 537343461 162910877 84038479 672044743 987245539 562814327 799116935 841824961 634552673 592406921 880409369 591152145 515056295 360106743 943438225 412843201 202151107 490988007 4213701 834409309 327263887 201343889 617465805 10764283 905370027 267025705 110709521 306907453 154741119 303125239 675537213 896576325 271042619 63486785 205741893 673121473 369115095 375415131 63451235 685033963 438653205 810395297 615140125 603398527 156479099 494192497 499381313 940980677 795251035 483468345 812538335 777661319 481014989 904266345 916931671 417232159 348094639 214988669 996121419 32201067 847004845 495342581 881144489 242186961 672055093 218764383 367712677 481115197 243399295 932423753 344571323 145059367 398348685 870264143 779997613 942799759 985609509 300231701 184062603 937409785 57175767 293105987 692011687 725984627 305995263 438904971 260540573 923127699 122457273 707397033 261367379 850887803 35039985 181361501 784072179 442254029 784697171 589490805 849336563 856029625 842620507 517710015 141359887 500970485 356514633 854708247 24222539 777002687 643810081 253826401 471773937 926702301 45982137 898343301 12888731 584543647 609383589 516428917 38464799 884944857 664550471 105401389 63341733 978501355 780465865 460535213 761669017 209698233 975458071 536974851 369987501 930839477 581648877 440906045 53952223 526063569 937869001 853820279 684920947 472002447 676460787 751537621 446430709 286034929 552987775 555943295 594004027 821559947 848489793 800692391 497653853 848796269 954783707 143501193 613694661 837701435 458023605 386226021 749037595 839261719 226865407 360944009 827059283 102516401 723155379 890498627 296157611 509115967 236199565 225922033 333310377 857216639 11764507 507970033 410530837 247614647 40529833 972814769 780959751 533801143 786550865 613090211 170521817 362291155 697135603 170794045 949868337 543000043 164472629 974531847 312017401 384396389 328034699 946206087 216878951 673895725 396778029 905651283 9935861 149110717 422025495 894546945 799434091 687617039 359986709 747999287 97687507 544378285 730354103 534726301 63033985 830518949 814127701 738067429 51112209 542928521 709288717 162028747 481385 187542909 669220043 589939473 339341235 583755043 54943037 579791487 241958245 577770923 491758555 29226475 332839995 85084875 750399205 417351723 807898169 407472833 458164837 260955941 661527467 262674773 904124715 526333121 447842343 270726865 787783117 88810993 122314117 670941969 671615407 647317937 244547821 458615919 535781365 201084931 297612747 76356305 792132241 885050607 560632017 887092905 508289853 410387851 208685823 572708331 8012407 612711149 102001813 754074899 412108425 834212155 578461729 517203499 569697411 328877725 689269113 524648897 110119227 810120261 442536119 96343015 699307091 343251823 548790591 923188545 350807859 786607709 313327295 681788913 484911627 544517977 995407403 508051111 310334677 557038515 594812605 693557657 639376975 521063113 450375933 491352967 801290499 867174137 577569715 804140211 261185599 192762033 383730935 619964911 965583133 826606947 624720675 74012559 738534269 94661255 974829021 55610995 55542535 13026977 107275023 911850241 567459883 960398905 703036399 11734567 945959713 408297189 804560377 10606681 496429803 907986491 400211953 231745689 998872143 545433825 141104353 646836587 597667039 772123519 425291555 777103325 975375859 394794953 330070861 68759175 320570283 142980471 366982471 971499655 766907373 560142667 686697277 561399937 387470701 665009683 2038433 467918245 319701153 766362015 755469105 739223723 933700299 768166343 774418929 412951757 657420529 662982001 804390445 507867347 379723493 149579141 233592953 702800909 361842749 819139063 238470579 989312849 818133341 98136255 300163069 214962171 576264297 316543713 918713285 352553203 214707797 607350117 393029823 434617765 274108375 150840929 127986917 611770123 947779695 498859499 865043837 337945761 229890919 698718505 350818325 345238893 441608399 212020547 409927551 114746109 710948989 707651181 152346839 366853737 417656083 979727071 267889793 23403343 221646585 306994141 335181099 752718035 73590625 389699759 605279433 223916711 452254529 329144235 616681879 838602237 951914073 580716329 730358551 490379413 894648881 36680331 26151193 194824119 616119069 271317819 363184303 498543919 337627441 957279147 486496565 236180051 677239119 996992599 859139409 495576835 726851615 258842817 694073837 648914597 293482257 123036787 610125631 348901159 137920863 99399679 768375747 191703039 406879493 95034365 887836477 877096235 935747025 353201171 735644089 835024945 616003151 502492137 876429965 288571167 640314073 306006579 73700689 445904269 189158543 158839209 616748269 495414681 932967001 536322063 123878029 647293159 250896869 307795759 733809315 612630441 839709361 795856859 623220205 627921297 95131383 941175019 341879409 902453983 109025989 618993733 569887863 740108635 131385575 465890769 923887509 405908305 394880501 962393219 472556457 99429529 175208787 176439123 934978007 78626703 698159141 229727301 635880841 837831707 327727711 275321187 632614259 194095275 929382327 396276671 62312085 811907379 500395183 715680881 246668079 91665973 632526733 971689887 339690961 277565367 818741601 72916851 866615885 852272707 28716295 536726811 993011903 272198643 272727067 711392215 95661195 529084773 278568969 9262563 879591263 151093439 767046397 390087055 486153263 134316205 308202739 679647787 698279479 256984423 983286953 171939089 982090747 552932781 881316521 522990755 132936775 796124609 958132291 238984523 419231535 853835383 934862477 677475965 945184015 506897439 477624169 948712881 99489677 4455323 729057919 203057003 412780693 945180497 259542079 912378933 301233497 236407343 443288803 414029217 586535255 40891051 420339049 423772999 529157971 582404547 588783771 219156429 459600985 356695039 625059335 759757789 986293437 406065257 836472071 526986533 815523613 99550107 881319867 515379557 579530587 302336179 922240011 491342171 588571557 273000535 18353831 598528467 476931439 310315443 874286087 323234461 850402931 966853503 9606509 448520087 335935927 148288251 681282015 336619425 557324425 961086187 634249007 3269543 999926137 10493085 881910517 566155159 513508199 222933737 473955729 152737649 781370487 186201899 721156907 706070579 684772627 826833483 386598067 295122665 985828593 341356471 981249249 346089381 656055819 96446565 990145845 492468351 510966697 450620883 509550843 885094557 598807893 928347911 844061757 756034345 612930529 765188497 417156313 537430611 309810799 114144901 869280107 5950549 950848861 950583171 618370655 352136307 580972381 497284529 582588643 47832567 471781471 525846715 119525359 171962675 837292193 932641243 647691587 169006721 60103079 449678539 483289705 841982787 105838909 879120085 139440047 337283299 159036535 564928965 101102385 173770197 173371057 997944051 811387339 45118099 849909905 228492861 135822375 640202397 268700931 647463175 277238199 237355391 589938233 571306817 708210097 249626569 848498867 194025057 552654357 558550041 570447409 235604581 262527659 774514193 545663681 279790803 954463751 723474775 97298359 230840763 690007165 279534753 665262257 73364657 126786351 246273703 736395923 195629013 227703557 636132653 627052165 182304973 97031599 316454397 963803393 950238661 856436903 33576937 562383041 654061687 296437291 193984971 906340807 474591007 952892995 906333061 687774307 534412675 179982785 240413443 419007525 399031281 671315261 668553013 301988589 337641537 252228119 120956693 141108703 978898639 368778103 102786729 363999333 252129667 965205837 396017653 127239477 189166283 549474641 792823825 290100555 688127645 911428613 581823509 503437547 868884857 755250095 376889893 497641631 111883105 721761 221343335 303765055 141635815 547664883 437823505 574994407 235057183 466059523 807718493 493889785 488831913 535137789 942912907 822143265 592210347 942486287 985110503 459556181 286331603 195450929 247963331 180085457 423421269 955005989 268102009 905913369 324571635 762066801 21477995 444413433 797528817 876102501 368567301 686062727 295641373 482758941 482575799 694788123 846633679 67475573 432988923 263432799 978736357 835144473 277164629 539201337 607158211 607430517 222433871 937367011 477078105 583378885 108833403 369845717 403491101 720421127 127213171 689638357 321203469 987877893 677939931 365408497 979067057 157428303 349162585 632070009 873050901 992425275 970929827 852698125 541104335 117354731 721101683 73882257 178722559 261227335 788464521 33554735 218198603 618766593 279501233 242635101 553017825 938474637 870366653 782807765 39756405 50556719 490182535 798427807 718606153 264181231 996830195 563819523 148587297 816534683 58071527 886014361 490010445 372341965 750503257 560956475 835880609 25451237 855604291 892847631 143181435 566971659 982015397 436152703 670045125 56572975 501718667 451265089 647615977 749403915 593380103 628687441 315199455 998040349 282870067 548555507 786969893 701054893 469723699 371595699 629591235 795388109 234905389 456076133 28257861 999233109 881197655 258242855 915468993 343682789 767821803 809352027 524627927 31853795 716445993 844906157 527918765 922239363 20669791 992293141 14512369 235790269 679339739 944262859 266899417 420855629 844484601 755009365 283016483 330768831 747972635 668374143 878017045 183078755 465825453 770904415 931695229 328327761 352455199 287904589 685244851 393374055 301552877 920234739 802004885 947578193 304153751 756521785 61418887 499847549 464929449 656165971 824269177 813597987 238072245 740919489 879869667 211302467 43809877 244598851 921168831 580565159 522159149 834226921 77611927 867030749 258613989 306450435 590326903 104177473 46311215 833112881 576417781 37456111 498620869 648945495 634979889 191780051 335911533 662255007 535890641 988687001 754343149 275532927 921604099 11869629 77662745 986501811 156513661 612322941 929900235 4186173 640750461 136190179 818876647 648531821 794669513 58570173 578137685 572890069 684146353 977288613 923730439 667011923 243079689 37462523 774733047 114315015 550516271 376599527 497674539 717740131 344124173 972202331 269107881 72175127 892385549 51700747 479219333 943003425 784165927 384971387 409002457 492836293 553497819 563530483 72102089 503041679 251940653 613635713 549629821 798696787 390217643 497681407 578832167 956207663 836249707 685910797 995923715 534589573 489089549 820399379 465715025 759971843 226306743 181289025 863084637 266382235 721449751 349899407 945411451 265910411 634814307 375137471 233014273 528838489 854034009 243560279 750476883 109722829 460600895 400453033 853448413 451146495 895268325 778836685 524642575 451108425 79087007 534199969 301587557 749307983 640114253 57315537 634825569 767140095 704220755 243413451 136545931 467296141 189208227 648731591 668835703 866435955 959310767 812683719 236214721 734411129 516096633 513384081 405816327 314922151 837949315 308708789 149960439 377770325 820029409 801904271 127259201 559661085 442406947 285314363 293627297 894470885 737763179 328381349 752244183 95531991 560630881 405857401 755887025 178621033 499338797 148679219 97672445 818056791 88051083 627771411 925707671 410672805 643202999 321011485 493197411 607135391 147456377 287612711 932567113 537742041 77390875 290532293 682495291 608219697 430776441 159857497 609089845 990695113 308584939 10625037 846815031 259053837 382823261 613563085 447975503 362811059 115584569 290497621 246157963 327201721 287422841 737060387 338212873 472865631 715648663 885806465 697866215 910085939 87223965 975132285 613938003 273223689 122010391 215145713 867676285 663997183 717978909 279274365 728487329 790452343 93852749 800907913 251890689 895885599 71231435 494474565 169232101 293581035 18543431 687016107 77359267 642800661 19406327 943944311 848655249 415704611 759178137 645835831 766488853 341777635 849206643 415480375 8134805 721065831 180257621 936248465 530848393 707330315 849200275 232842789 817793383 38385779 60073229 802121113 794815153 339782285 504717865 167135329 181320693 380416397 424975315 493004725 296014273 996847087 965841285 752307601 577726643 628540277 123791161 214792129 763530857 276933679 19208313 999886549 967616145 405614959 829435217 809005349 352570333 593949395 961290585 781470159 609066755 434265915 261526703 737149887 560391115 983856089 38924023 444175523 218103805 913517341 991252065 390314483 792796777 271700421 181348515 167344623 940152811 920516565 871446523 581513889 60401767 905979289 483791407 582099673 125683653 5364901 358503311 978856237 212118775 265519831 624767985 112260865 161107193 555544401 198463919 456298873 390125005 813601151 790725301 610670727 742439805 825931289 355808111 535628261 693228313 12063767 445434321 350535699 133595583 865859519 217105501 727371093 37163917 327606687 931371287 620116673 221950129 461270919 567220877 452515627 272283229 913756567 869591767 163260981 138981321 371080497 59585683 881896263 634531127 201829379 276399077 579427473 775375605 569277185 339577725 215988749 352713809 421898599 625407377 537958009 886989993 778264503 92404959 482884703 875506781 648603329 11297199 782203661 635677655 542443671 215473869 956851613 135576201 41222549 560748687 120272367 696420847 442092895 433952725 103528363 793969291 138309093 17541381 297553217 887483623 265742423 560748299 886927593 38802579 107042353 750972513 748601253 655985453 837151803 8816643 309030971 664495955 5001599 900336759 888554557 921241011 320226897 23374027 648021763 216463871 243729231 435189143 498463405 504951279 166526043 660144633 923741473 640963143 277759905 577249941 950830867 53393359 604895383 364950171 617998073 283837021 862127865 364209857 717741589 425509831 562497483 343809607 671492973 563561715 51771483 635600879 965654227 232124617 308762937 210965259 400618461 260327229 71952197 244204657 481289455 485659719 350903457 877707133 964439597 250014955 829953979 527904533 662862475 230937649 42996805 258015403 571095743 264714799 222168639 624294707 350960201 653038845 809421545 29278251 151577203 514132923 866478545 10640537 799847245 615026585 968309197 108457995 17248429 873586371 475181559 820490137 159997237 338767223 272699573 319071457 340003149 749909751 563409073 517476103 858224679 194595981 353011679 479441851 784641209 420997769 509800575 370040885 704831683 401659721 14947859 250782767 192253901 507179565 205767783 775816947 730491435 754430111 382398605 863754317 497477105 764263699 369476583 334113171 714651649 185905665 733673749 759016613 236129539 433983213 919660803 833266921 410841703 527718751 922449383 612008525 543446887 611390445 877385789 42626119 729265663 414120751 360411081 655383763 906574845 264720583 540689047 367466877 804624365 867805279 755130875 226526285 326973993 841841833 75390867 775666909 33579473 958097507 332237377 767424843 962003917 62309193 466185009 444118843 378042317 572575019 282287323 116963037 852250441 240443097 384380407 537252841 130703489 3648301 800070795 950579353 346483585 693260807 453886179 156474551 850289429 917485399 186861717 902027919 656966101 675972617 984655739 404158969 351776037 649942813 426409657 958673745 228415529 473298575 648806333 561140863 128731861 324047983 956469051 543847407 185520863 399079885 318723629 19194267 914389705 439532995 902943963 792452607 650770649 499021427 363385805 257002785 147947039 89778183 39826651 126065553 863630711 419478451 935527967 20169059 814883965 206268079 325731583 993107255 390960797 993453375 127128869 309015857 867453955 520388013 369879943 123812355 451510443 938849609 114537313 71928799 875779923 738530673 150779189 953454983 781188741 621175941 129781715 267358013 677644689 123446511 827422029 841953235 867366797 374627875 522747393 273032607 242354779 747074457 574796177 657721725 227716003 999876565 464567273 288853461 22884821 326912865 19307071 581428117 201215275 60795855 643388943 745507635 873452195 389985977 920594463 263893421 603243271 424077505 141887351 596353417 50750437 229011089 355657837 461377495 321286295 356328413 682879903 913797419 514571069 613854813 225615599 308715685 973332415 241422549 885893259 947885289 981002957 535214607 300074469 867816745 603590367 93234141 462490813 233133591 273200439 816733721 333422099 685084917 491527387 723442085 972121909 745019527 712821149 79468395 675703481 941936667 370677013 870312287 821393273 523635847 477600675 433986425 689997721 709041965 895751535 278577341 65795463 762378479 35166569 156481589 655914743 311113021 52525129 599141363 306033125 870439693 806980495 310217745 874982803 663034333 790451847 658888625 21971345 793522867 988927803 809159165 125037233 730887455 493805961 394101545 419088399 796927541 105260557 317678445 503319057 714091413 148305715 498210317 96421217 729073253 796934185 384483923 887972341 661133393 864547815 773106321 72173577 492380817 987764781 641135393 914818337 743321829 868809349 467950437 769434377 352376977 716790077 242482377 748184277 780306787 448163953 465702843 92897763 216331955 397845757 823835835 984981717 617839197 390735243 90049351 637800089 296811977 57538445 194920683 624362337 227786469 624591417 800003641 814814123 291807015 440931215 716158411 809333563 922655375 11658071 568610627 942927901 429300383 248687141 843674699 198048167 400460137 214048333 635847575 996221299 850490497 394450161 913872865 953984613 227505671 509621497 141885673 463269803 427710369 920308757 89372283 576721337 408109947 222348223 310071145 761603913 786490703 837637173 466975373 297412195 763314519 154311551 386653129 917588815 531058013 8389743 266098951 618279333 56817583 77262237 115607867 882737471 136665631 838486633 879300447 198348099 461874449 407222779 158669171 409829659 548987495 178889795 467464067 352667005 434816657 431244537 21119649 94833507 666536837 255447199 287979495 795378453 585921985 513899899 393896311 242005277 978661197 550310559 632523131 304134479 261698741 96354531 888304935 979182023 648316943 902572007 786058165 801708011 754678267 614340881 615093093 285430119 173945503 241443477 565750915 281195309 609870503 711586409 189710433 110143099 404684365 483495759 564334681 413560789 724592717 925344717 648108237 723869191 560867053 548477235 813274153 24149285 333012219 854819485 658736605 894278029 327856847 173734375 261396323 282240737 392594757 869161661 675646785 148051215 935140039 708937611 874182653 564677449 245839423 450884237 294303531 96832783 391152165 850419905 709873765 809287457 127645559 639851761 150927437 663246477 348934845 824669357 866185103 121189289 84943107 535108939 612259803 134788879 145772767 777200365 267820267 737262755 709524337 8519547 127139715 903230099 303888735 329473959 832741997 4841043 260447703 138787301 590101885 535734687 993169805 711516537 956374153 183249273 264177091 691899243 786680437 862914353 79877949 256938377 446416427 163734873 754511177 824825709 196199329 993360077 671145663 673139063 440743115 695607219 34721533 227050959 547983535 883863669 174212327 195750245 388615257 995098825 585233901 783377651 166113751 520368811 42649351 477632503 909975365 265049951 943806383 289790393 862297029 209319537 71523567 759542859 344931971 228926645 36933715 47975301 121177007 684632903 52233969 809688071 12173187 401154189 746367593 970584119 492887877 94910259 441637857 89252681 123983931 236253995 550995207 919173173 913962169 216024755 483525391 910402231 991879449 448499537 954775995 461039707 343488701 713041613 215900239 838642545 458128657 740632125 118863003 562565137 825845893 184884479 975969267 458861337 417726869 322306485 729183287 842466613 690493889 447278925 267452619 629516243 100631189 296787963 437150623 633557035 895596709 610529849 589179433 241516093 462960775 913619407 783393385 961444819 567620575 580269765 803919329 764153213 698101337 565709427 44248739 802365329 393866405 733905011 189385797 690149681 932880255 249625513 449089763 808491847 816766631 500312901 907904549 486649727 589718505 971839925 48217657 571768149 139146263 849813947 202727125 967514375 115750925 147900249 558530615 453167775 817652649 121598683 798047781 776865515 171380441 139509717 348673261 832401541 398579853 428491299 960447079 838096077 474914241 424480491 780835569 773614315 335015541 44254103 778386033 979825361 125500085 883545821 919387475 257678899 719195029 42904505 660981647 280592277 208670251 585051759 157030309 102270271 315184283 416452493 138470295 156633151 547463953 883602659 542705655 231934831 775682749 533291663 955313883 143714927 573916379 113027065 422194911 355722407 889347499 246766791 382050347 523012679 375804795 665286643 716145005 94885703 539697561 106972853 936212187 312623209 188138849 405545875 204557619 837248051 795633463 569568603 115178171 971224567 360184705 471096861 140352067 100071117 132192695 163790393 752510495 131689107 94272845 259401041 461272367 612096757 82309835 651492691 333944279 870642273 654905015 847337843 469970185 109602575 947837093 730222893 119915831 5267969 533317169 76837699 460291425 867000317 481080313 566453957 523501071 215926419 235537067 984043013 867911757 949904159 597147127 147923359 280888499 554288061 972461465 277842809 451163741 944850521 759889491 995849661 251347955 763409823 684657389 369842657 16234659 691429387 745011515 938539425 935477539 94563037 226932505 833334273 521302705 557650201 584031077 979098189 707470869 601559189 121628941 618945817 515570841 292009189 520433665 646684993 150911255 347336301 231117373 674877675 828404973 857513809 160944835 791721603 355791617 485476483 847936667 55383483 551364799 905979069 419865049 47213713 30909729 822248829 791051929 177451593 912897441 562424333 940724217 441490543 754517321 152347771 117606183 993910233 465945509 148646561 404829269 880176545 814219725 722987295 106690489 573854763 574554973 746882141 438426267 809394213 914166141 139371403 946763841 775154561 228632027 785529251 401520897 819651711 691582381 848055393 847399729 637981343 506446513 497515859 417252919 426748335 277622319 15025349 314627451 704410309 612840435 188026065 163751791 533967163 325183315 667424855 862553743 785469367 697021999 413454333 120344669 850164515 930230763 873579831 200555617 941734325 128393849 141205821 50366255 766787559 163088715 631418379 783116131 463067521 58957923 202744173 770054811 770835597 143597893 759343091 981514373 480692319 813589503 550047221 903556051 717463699 438975529 22473873 698514749 661026831 681538527 772827827 812986501 762084349 667064011 196609545 70529913 603842771 671889687 106693643 283073767 266627917 984035963 476319481 441854893 717223279 728548149 296562909 731460009 351162757 901527307 101582983 970672841 192772901 96137293 728391821 520822783 520014887 375250127 652802131 860397635 996033459 490619633 833441533 429560727 89940277 78249113 745424511 758398985 798408543 620720693 485240461 892111527 644632369 508981177 550251437 939285135 643807979 157521831 336416289 53062625 759161115 712000515 949883135 629245127 617977751 910422363 145867035 25500275 557090425 545315271 600720919 952707617 502633765 746677731 461310811 93484051 711057737 718414809 409366295 102190225 196096985 913648723 57146181 541666033 941319183 271348105 770277539 52577417 784019571 256315961 685283771 381273535 78298573 547484331 97624539 636184827 417588277 766612393 329071645 988450223 280238597 585169807 899673697 18974041 301010659 290289463 175775823 788256373 36938937 837545225 188078679 574495635 465427645 833007601 606192305 956372033 165602411 716358249 41029727 678292509 27835015 504725357 550294055 657417671 449087517 948601219 104837531 616048105 471452033 507575737 181240339 42333237 331345743 701850791 380461487 699533927 223116653 485940073 524372053 70601025 908502023 347872937 856274617 858605453 915289743 392272785 975846737 878071579 468563139 3251929 631286623 91087305 403390375 799998911 910759913 304823415 175825543 867773707 164545217 751897615 97763321 54683145 307540349 971541635 900795605 779659663 534707841 987400655 915096899 86689021 780049905 878233845 67079087 611790137 41581249 373427455 290213325 984840625 107743655 53586429 359397271 478784347 603891235 339226125 747981909 643585971 596843391 110400591 40318863 242621381 784099787 761844717 95099933 710405401 589527261 123594009 743965977 524665033 511229271 972969489 411267815 310956147 492901793 66146833 29454389 56803131 637135085 484744297 373720823 907165393 495903281 152313193 779770729 738881643 838615853 828111721 287450893 51610057 154325865 450893775 780411827 220431917 441530681 62724099 913114733 386483049 678260401 95915129 789785239 508551379 890009267 219946921 744246999 69938247 1487335 212251927 639315479 2607405 813149629 838213197 241865359 521270643 255337839 143860187 316754613 944243341 885082873 851363935 636797011 763590781 787705897 42792825 552566131 282328775 655858059 683371219 895529835 46342011 709463929 89103649 855617491 477927981 787022611 222620443 669562259 829262077 41800001 694510213 244790231 148625295 316806067 28003111 828305681 337694739 647686625 784488919 399810047 219761217 433971725 435560301 810716839 227345491 43862077 770571211 721926993 967298579 384005955 739833563 88964499 819671501 108178869 605762449 285945163 625361239 749951735 557616869 527066013 360058129 518027311 766823131 384578035 99469537 794470219 523628923 146831105 945680693 10003975 176745435 962952647 709799427 601093347 333832467 263381125 852013001 221568549 337180485 322777035 496802445 760616157 941595291 847793003 578281695 300911591 819716681 908613505 536819923 82044127 334259591 115287409 441832713 655024945 624111257 779592427 201056165 941840137 96341961 587076317 636967255 87587427 654804073 261798025 939336791 908078589 177005521 757380721 724482399 201001057 739462759 859765601 306883769 226488543 791403157 92201837 470135601 172597901 567417801 902471409 96943903 187057997 966387587 52403091 329118559 465690823 831031361 58256191 49230425 626092907 645660813 544986407 476684027 95320435 724038141 735796425 248298939 75046877 778731049 177207529 646396311 639006579 110564787 839777939 325978901 716736963 144830789 542146077 613585733 348485159 636708499 183882271 955008699 734338751 30652757 689753217 457359511 393957747 135770703 557111663 254464381 936616179 938185803 712506461 718921887 80626615 745406235 394124549 303330991 594241793 306827417 504879725 835516655 708231129 35682215 649367011 853825569 929934861 261248815 507214327 404222361 611045173 667848485 424107913 67443239 255049141 400202625 204339389 589873967 643236787 818310983 458306557 299058067 424646687 542583681 994595071 462775491 142706097 7577665 109961149 40723893 31293929 969239457 714763135 232088039 405981203 973245123 960093135 961903199 76966969 129293009 998842753 725854893 819992633 823106047 235749297 47189989 663971503 371450503 462364357 31446439 949302791 285189545 596229479 354289431 676771695 6818993 409936781 421626855 277857759 919912943 274851699 780172105 58010903 113076161 69770909 27246847 751618721 232012167 815063767 370216013 17620171 631426221 901006645 219083521 231556529 556116387 791228179 335321203 217601583 290051299 709464343 617397375 238350063 986609649 598895661 895368845 705197923 934731351 338455175 499622027 646917313 122865831 123110053 437060079 312561417 581845371 635358279 653948087 493437443 961102453 14072187 388578923 363148355 738626369 613354901 333499671 129288221 574046861 117681715 169572433 356525235 965107481 316757049 76917817 389602029 272411299 203176657 590891635 467913339 115952375 621208175 657708849 671864023 103966951 997205971 333721127 417202239 885906765 785717501 441904017 258743483 986384395 649366589 575254841 19916061 772589835 340280611 943945579 99031037 554502977 496411023 376019455 172106427 955607463 509350565 830219603 723773567 679195709 296769999 205228363 200829241 317172495 828989379 572341335 692235937 467006767 420882301 405698669 614291257 376824759 696684353 48702475 469839687 324164809 801438105 223873337 962351069 954132625 293864029 123429507 603376083 998352447 317584297 879344639 390456521 767373069 604684511 424172621 795806757 493722431 42396587 960420243 959030299 415070495 1246979 522605693 271731873 987323391 435957795 360693061 233243769 969479481 505132431 177122981 293148713 272762161 805429779 706631399 729273601 483399245 994106309 209501913 516954141 917392387 980129021 243229391 296502105 905401805 189380965 59207591 112291425 94260779 308747491 76705737 365894561 867893161 694764721 266183205 686807893 90980825 184038471 25528109 320520315 37134421 719651947 883625441 97817565 979535295 406079019 658713289 612939531 647185091 23530455 118016239 448719707 487103249 85085199 118243055 480845551 73826915 55086775 723341795 575625647 561301375 627749881 344411251 88066125 946913579 572837707 898124747 939818301 572293947 53175399 534336677 932739011 942515081 79219797 726819901 230996711 281172215 324850781 541411673 456981111 962410097 913449751 389304135 77172749 993751015 516604767 996481247 933426185 847433043 941158229 380431743 641627795 638080955 603538283 948013579 811758747 99556901 254770513 96827891 789344987 60069029 431645443 175970861 949545169 672554325 795172297 456781881 299588037 540078935 883072301 538224409 798135753 289466327 220030467 550137951 365076149 466940165 974842217 648291617 767517993 510639901 366836673 963493627 282216331 543138655 830556599 113345813 389003535 699377943 293142851 800816923 664809645 526020759 552997533 492696647 635196449 808775225 739487563 252125781 804818679 307811681 341882649 865803915 559632767 637928821 2620189 341013177 292692433 297103597 967463089 985366067 146459339 509984829 812350073 703661271 112895769 711807725 891225955 252234255 723574313 379948163 795236769 29591493 44491059 583194003 638810547 807029617 680390711 515749559 588229465 440333587 53087487 117163921 443139747 342216237 324589595 931327949 938087137 939180241 392188385 8760859 592931763 97676949 627711347 663120695 264540157 93380501 16786363 536469217 874257129 252978553 486968933 35230439 629260525 454965359 321048301 530975767 627135173 580751915 997059985 458141005 877275251 662525679 281057371 507462251 429682759 76942465 31523865 639903581 498424275 805100331 203361125 865957651 640473845 507321031 367098271 481405577 677249229 314783155 892170737 626563007 195461837 673190355 254731847 713274563 545332133 243890585 929140827 775259299 671977555 150855927 337195183 827440251 66193691 947502701 887076235 478003311 317766281 857143299 305876477 45821093 776765553 574977605 325674719 8275027 514069233 36749643 554131409 638335667 65943403 103465393 16201275 414161415 961184141 368923551 662626893 375232663 802931785 760576451 590891007 484478903 532203743 999957587 938784275 644972737 715715023 914792973 365237007 382569497 56253415 771383095 304379461 467985447 284163389 777322145 724243149 94545501 592736811 820365983 968188037 432840247 717702229 335642639 130209561 880397877 91610537 159068507 172945655 509769445 742002011 799178093 685750871 717200341 613643493 641095871 105473083 43818145 838415 127092299 787195753 660376557 147625185 464226971 528947057 36738655 944310963 146710715 811993007 888091567 594719009 673198915 189664319 255589265 666668555 673782095 336996109 790139085 225934241 504458631 789601477 134324265 817452887 375406361 143138787 900411771 604141289 549495995 190266279 302458009 337531227 844969387 236675351 793854055 758971897 868418735 649955331 855409105 644173143 259009303 237127173 152613577 27257427 892505015 680698751 505768261 274052367 473444847 694733973 900781645 722148343 722148005 75722297 937078503 94947009 108959557 431479589 236399401 927850859 755682503 77546711 838372137 96793909 160272555 620895897 779270669 824483245 162117109 879941753 119684349 705051559 4802099 954124369 86797867 880389697 527913597 282873537 475251155 973828061 357503087 922338865 175835957 523933481 813373745 668674513 317381535 932578841 626156145 95002779 919828831 572205799 367527781 495501387 59691729 140981017 799036875 135204463 712725849 471876221 959340779 67132243 386727007 582958629 176412303 570124049 558854741 38448493 32398355 149082249 465445303 523126009 614388049 287721057 484241415 840763831 538902959 156950541 820291789 694805467 340381471 320666821 907371679 728108513 844565267 218855557 771873811 936768397 574578061 693678873 351153359 698869481 657069073 968837393 254356091 332770125 859990701 147453125 341056457 131752021 479970041 423225685 741992309 145944801 160397073 908228007 853114177 684295203 308485277 914879855 335783669 249118859 96967115 702140963 611129703 688316119 319967825 679546883 325827949 803151115 442571375 815873305 769728237 599541107 697102311 965927477 950737359 726464419 522980107 340015597 217745669 738107769 910249391 178104741 10113419 164369431 360944691 240881281 547888995 988662505 502346365 240726133 692956821 855945895 163632889 971535669 601096759 89614409 313277857 341528903 755230559 165115925 471777521 405109997 911707187 36903065 2653423 195523389 343176923 258120613 325750825 875244811 705254025 777123161 64679095 47801849 883042425 273950999 41071413 685317999 584501997 186919053 893335499 521010591 699574831 976857263 453250345 640754813 159652239 559919289 443137409 512402637 516711531 929056045 21751187 545733911 795718945 343476443 339624357 105803433 538974751 61200341 758948487 720619165 642278615 349845623 949242511 185774803 722247361 143911525 575167641 531407603 259649121 291282831 279955723 328557933 757362751 964397349 705317079 703100025 219357169 128269475 561246833 973404441 906453773 866336465 831058645 702632979 667589689 202973881 552240269 56886521 52999197 953597103 387170471 245039907 621477483 162312017 983753655 526336689 580080865 451164289 20999387 730899337 563552827 508739691 563836093 215918175 958785353 609083525 679481479 655449513 620974041 565529227 632913649 826301609 488843209 453001091 215187257 617908837 154293753 638310581 226824743 339044015 38526291 997305015 423048967 646556445 715413449 206407783 843861167 662296595 18026329 621223911 837643391 156575669 458936063 222760869 616857949 143912183 935553483 901538643 546124983 348718223 911444941 783217905 413631361 750589 944221981 568774591 47196477 369691787 487194337 647140171 786728687 770570313 295146049 320184427 422725671 672665357 21741425 803477049 588362745 126640505 549791913 274417435 657649155 827379701 245587245 58135483 166707567 626992051 183473221 157374479 50648039 312535465 469356615 402283601 316690595 370552727 988056971 988194313 772745569 349264645 428810609 667095809 314886505 686755911 220316521 456597581 821658247 248993137 359026143 734411081 872997907 342474597 489682769 33959067 478304233 381463755 597087553 71796013 624838513 39157011 230639417 560291125 513300631 432748407 895865801 794319663 871612117 33828853 257856911 580943071 352468007 239424597 441831467 120947793 28684307 949948713 696415047 171299545 55223465 888945865 108403095 953646101 338084733 910731349 194737619 923072231 702269101 193750197 878061503 949318267 771954147 149178265 983373093 897983305 983192393 928411769 68749013 929623561 912332439 827290007 221177773 670426305 246873101 123274489 277232525 755315133 824118125 765570417 822371935 936528531 719722251 692406165 193819415 929247005 990131383 793321673 634703021 434273919 428258515 781815347 808228133 756442663 914694981 369275329 804924041 342348489 890435195 546923311 802687977 568156511 553268843 875772157 695888995 407061553 387959187 31431025 54686231 322277831 670209017 772630941 429820207 918928377 800549421 435695703 82475743 77619937 191457859 520387905 92437087 324511717 692633817 358503877 391561715 12057263 602134553 458159631 20189157 67901493 246580397 732933147 624034183 726775731 680003791 67343015 456567347 373889453 733848889 158382653 459927115 919326445 251690037 871795245 587545657 325858699 352605327 429566861 573147505 212049891 651943071 900125759 446447979 534705047 678743873 591525867 439637675 152283283 783704797 39070979 613588411 301342733 98465889 144053691 872173099 712300419 613813315 633850135 909721 842371509 422396801 385596895 412971173 181343153 905154209 133903265 575016443 970201547 490469555 570001335 877967177 588436129 876913739 390843457 508546639 586867221 371595399 714992423 760228299 813453397 524453905 125964569 916664967 329837267 191171091 46952591 761724505 746637647 692729671 825210571 343259417 886595273 553895655 112800981 139838889 469920911 600391613 468368507 67145971 600721207 946182933 996131669 671067883 544862107 231194055 379630023 457015691 832371679 243536687 148307447 172941779 454978161 30416949 928983253 363200719 640073989 436927047 725496089 75966607 790740375 426588251 708992067 155820337 618871145 24109551 971234207 827836885 86432779 307691019 613038391 418471847 662690383 961779769 341109993 789539031 433739089 674430357 260953425 305042335 128359287 930016185 758333659 993404227 704701803 579006923 369481397 658297101 297446179 111653757 85949911 28966223 891335387 467067393 765136897 703775843 956249623 830637337 308127933 156435371 809039011 529947657 500094041 588483729 339926931 405991071 189072113 252831113 665416261 306621491 718341473 424265483 166457691 507326113 908550739 103125661 688307651 611550033 989163833 333420483 55871919 532978225 335370057 527849237 1868701 32982711 907939459 297152299 912470353 562157793 478729391 424992679 108768985 196634679 668026465 455041077 858040197 217547459 776122861 403902853 859357429 534597153 414002805 761924177 409510923 346104939 350319841 703042141 917294069 42728775 702218465 14011763 563130663 356187879 556677615 876149861 110200411 652255997 447421001 623952909 156258713 84732363 478750199 712731213 494608681 908475157 247597003 948808977 882306211 860532521 578967645 77481801 234551777 863694815 146990861 315315695 321769993 118833555 182550787 71845127 938067077 545036847 135608879 216778395 395368459 673477149 287633481 194862013 661535125 994262357 252012499 94454663 655213419 34062933 917590291 445766171 819073559 161913123 762790683 98203045 371684717 977680975 224118467 191328085 395814281 988922863 85445035 868350565 242357713 255322783 864708921 119453467 558566385 717516933 641529249 426271677 840318683 297850451 263731929 377073055 103094733 103204925 301989283 452740123 471211851 480706303 943360133 887581075 345785377 802006243 86650575 962867825 818800739 428754103 517604253 216106537 259904111 574587085 425198283 965567029 286734311 399438857 192432645 746440469 218960057 59566285 86926263 700259157 211092503 124465673 420178461 847665287 719239553 371167285 140476981 801307205 434423735 60468299 812064457 777471795 212938695 678050515 161778025 819326967 884041223 890498269 223396715 105300551 674006289 873010943 539790577 231708125 582025929 253568085 133683683 496921977 256547165 381033861 245893363 260921319 221459521 904168385 493190805 8468217 906780977 169503165 447087117 283128969 291542319 300968119 653843555 996991353 710872971 735496565 369245029 174914741 711739095 164380485 812948141 795210285 542807535 188725503 499258523 71238109 677084409 65468417 594369367 579333317 178810975 174928175 89636305 235791345 57391575 293298681 881271491 489365875 375866205 354583893 417507755 146314597 916393013 12354755 174711761 383125227 586758123 613447493 595895111 181497131 78889299 300204141 725985253 814292059 102302601 204616017 522647627 230166197 536456435 493822349 183077599 327397753 496280637 398415945 567844565 559601139 233824089 708565809 669511973 871847031 649461893 836810623 741179275 704567131 460289863 294184175 999795603 843078147 600564583 904393927 993120141 909725659 878264315 832429269 905801105 333927251 32694369 75210353 475713661 687482597 662120251 936307577 937535229 81085463 845841271 184180049 611221119 478999663 244971337 697429483 196516923 569211009 285327147 166814905 396975665 463334631 772639461 673963963 104824875 224688965 601677951 21959289 517491385 466284865 528339793 241551103 983846449 789812115 539393269 215343333 550618549 512568559 458356305 41436743 248123951 239641885 375253647 762123469 781186379 990106595 672372261 661307043 381207173 543205397 100111821 946577283 532351515 360440461 898985359 416529321 763130391 425192239 544023477 582377179 505767239 463078369 306666963 203358057 34054725 418107291 95015877 101758759 48054897 50093393 941293233 998351477 476772085 130496267 913778689 242142519 550805949 553225935 196182125 656221149 260505219 711788977 103893741 342437983 408766409 801856203 264503239 812330807 982272983 180292673 951657863 662101103 706930107 127563835 448261633 28334739 454934607 340232683 722229075 21722555 473919795 587279501 663587039 410525827 508681679 341575265 898430033 63387923 496227411 344505267 489859745 478757913 935311543 704933333 538382599 757425097 420649917 991822883 801143817 723919077 734577131 931567355 235505269 766203827 59038867 521541835 541354075 411363581 188187341 788367619 584230939 375068445 102406265 37468447 297437529 573509873 820449597 882785185 805808127 378135775 658948493 616936209 703014721 832478163 677036447 26239235 955175071 707016261 533119093 298236177 930170585 867320117 323231957 967478751 677468415 258943783 468206671 160085013 683904867 473112873 238048319 279736677 699635873 443899347 913008833 816493963 975358111 858114625 684993985 78134087 535732615 951165211 425717227 572961639 307892943 305421711 894664635 464950201 805616691 496604755 66847345 235079705 770643127 448898213 480270099 459482987 698962855 712991051 786410865 583152791 600069527 496800661 698872101 632114575 991222627 322844247 562442385 608475727 434775345 829374705 655765977 324061143 343520109 494540359 638628335 786966325 410154441 189717963 82506125 439563383 392527427 229815919 608224817 346329529 220483615 614549941 496447269 102599199 252968169 175187617 953221751 621694673 825953143 240717505 97617409 108873217 619992803 959007021 674473571 732710891 298385 521279361 773801477 974646225 945218607 974928101 299054103 33582331 665886895 464228103 213276563 988614589 166602577 427846429 304596023 706019443 416244629 935936741 205629323 504343675 513790793 381093285 628937185 649577795 88171907 335452973 990278481 113912125 687118237 793900241 936594619 436137697 924138045 32077937 903077061 488916401 299254861 789599091 725942499 285938491 742126595 926579651 310159437 194742285 289161177 934114011 84182271 676503235 152825751 872616631 398207685 191950081 239876423 889078491 228744751 312207983 366090813 275843931 411936661 315617215 675566101 750054345 444968983 382856621 3499957 231051843 234035355 946041339 650178631 863750257 100079829 931168369 914184769 256261761 169498683 357467109 258159199 845133353 189315341 576338733 175422629 117571495 582202709 592476207 271653215 333146819 388037603 15566035 323724835 148700617 176718157 694617099 301789385 747309199 530857719 165627091 967430777 894665589 492411397 562653997 483266719 285660257 320777323 297104161 367387629 65319359 598997981 543785413 731260259 246459785 979381985 818489391 458538305 807167033 878159801 771551365 85376533 698620377 712153467 395393775 770878901 875152119 906617083 725868705 798571067 506541479 890431963 636607699 484963083 991222919 260763523 127592903 94937043 567043519 391352869 350152651 132165511 992461821 764724661 302681645 822236513 81187703 452007159 838530635 863695849 648534253 552181875 581301893 510892519 254387873 184450935 38551877 774474611 456891749 539673885 985334781 506392295 625764749 566967621 816867881 554086889 778741241 908901783 70880843 99010659 483063055 47746691 770985195 996815755 833322941 827323969 356427167 73782493 248645239 546442195 631753725 366348061 398889535 866523647 829364907 954983255 429687705 75716695 718997073 730713055 478844821 261156915 754185379 416598865 515524295 358168499 658281817 695788947 819360333 313433789 175977783 938998993 155827919 90663429 283286789 362138749 614368635 928046593 3555993 972949077 639824137 864818163 453301193 457167709 834135219 795505889 98088827 900984545 334165315 671928989 11573399 404098935 966436867 930400445 844508433 631101943 403581903 617253797 273614561 166167691 545409025 278711673 10623243 240372121 26073473 334762285 698432663 755298523 753283003 48246647 770999707 336148041 957676457 126164439 334182445 90559275 46185159 896310679 234121587 470781193 107099163 973669575 396321941 182485179 678266165 792953149 463833543 208043355 812043559 473499547 207010113 471046989 976453013 388932683 859009607 264719167 403076513 634400377 34242083 954706213 332946173 481677089 967693605 472647483 184585435 847610881 991404459 309232899 362476283 243928737 343580437 201935437 656491173 993620821 602024653 975391787 703049637 357532721 891099461 309959673 79676241 519734295 865035003 754947677 665300873 845176751 361732459 393684033 987993523 558324841 890154533 491830237 983422397 45926271 955884985 8880553 937482525 325963503 194244287 536153449 264242129 271828609 856511709 14609709 346055519 57075399 244096445 457000009 210562517 445937177 858809869 498676821 740506827 686079895 116778635 258461753 910357599 499501609 587781881 51318049 924219447 376252287 466567457 436542335 222215295 345605393 494744021 105280531 160376559 312881441 874449901 565228765 463918023 317926837 990252879 866065451 599629001 797821855 943957987 266970003 290830919 542442357 232900765 596038381 195882007 204957851 146125429 686135651 838435989 303003191 175823727 977133149 750105001 77348919 218410389 510837903 868950977 751463511 230705145 818071801 937737939 292926231 472311731 842095579 715848029 743655101 911533801 345797061 262447461 179369051 457446341 112729737 795449721 243502791 552789877 86366787 233772465 695712675 878898489 703008343 323649195 166954073 725878095 870943861 508329613 91349781 65515009 503280525 526338563 74878419 643062949 925353179 225304389 811050833 25775251 880823527 531826451 371476505 373682733 555089019 378512817 392302971 446499805 350231979 274416621 995239053 399707415 117896915 449548317 380015409 428078931 904479641 717396259 993885967 978877205 474000873 571201889 881023129 736427239 651195125 102419909 287536643 803673691 430481467 685440713 670195793 458385675 109647487 592902505 943490123 346032537 776577741 43275309 932750719 416536239 954575739 548977183 425646919 880393217 166446881 195549657 496099267 960253767 881694631 144181369 808088283 700636997 114416953 747907237 711491391 177960133 836966731 663318921 584901479 932686745 339953047 958790111 827624597 299273625 104789795 154272481 818382289 192859563 66372925 25232217 571152617 646918841 942869621 277557395 679819125 762218675 194745259 853006183 715120601 129672083 921164547 255700273 904182331 79560797 999183079 259551449 503017867 219580443 530042125 284216269 965187713 36503775 472298863 266425091 253869727 846695619 936636245 126584825 400792363 222336745 115539017 285985207 802514997 208787579 475633439 231247815 403579289 788177837 148283123 359491907 893157363 85398199 930333227 777944009 911342511 672988381 327553393 138982015 981154299 552695145 321878715 273887505 655580623 576214701 777698885 224118969 467204331 942246659 595477907 332863793 166989017 682590669 848241777 437920195 110768617 718668405 96779763 506022973 108829745 372705135 582833525 63866865 629162643 506465589 987454879 448167107 819240887 862139207 944925015 503192597 268317967 875631409 469043925 603561943 788852177 992852357 329758871 764183935 916245501 123237597 573908573 798035211 867052381 705657051 525476405 122672129 353631359 910975273 926281077 359808625 606414781 15195259 820766133 320896495 848257079 307418505 577809887 858464923 422207701 639680537 205825819 324045851 64065351 101881329 818028509 552689309 169117447 147757539 642112229 577953749 640068179 895576781 696606771 275210245 847023923 291487377 364302359 232583409 964589177 974641429 671193121 435864295 50894013 366722383 599654963 416721343 425959775 522835511 542484843 173708757 237609351 675693523 256005433 431317777 916982053 106179625 78985809 468298209 891211249 338352205 569818543 401260093 193428589 387478361 810299799 198335647 322503903 489013103 339072659 636856591 716810841 506448057 397093501 398005789 155259827 803228267 397299051 526227421 424680077 786574783 464331461 56463599 117827661 392677109 69266997 31248761 466446631 792043097 19017905 919356969 383955217 515220797 587688821 162566963 327079117 872741115 183279365 784587097 13225185 374127093 941373999 893531359 707870365 895857303 849754371 66271379 34753309 332573265 690465761 824410317 148214845 802332317 47012971 244217963 249090985 614536191 195975821 22011857 371619789 226825475 647311231 66267631 420286181 102063927 131875513 981011259 20558319 233424439 667808515 589891765 762564021 89155237 882727269 415828703 272517575 459448107 966258741 458309835 990428027 87271293 470943761 345216781 624386803 13919573 933003997 512578245 263897111 109777779 300334787 293230745 735202713 542325411 327082297 837202359 291303405 680084663 506408953 584784597 526144087 112225673 617269259 60550959 313706463 620767741 542991031 394123151 946312275 593427705 886023829 858769219 245399373 842563699 484085377 795547935 943964973 757021797 70586523 324801153 509204507 620438479 861578581 867604051 412365575 997538749 852259423 745939455 864598699 787741249 716193205 406815357 47043205 188374391 498686111 476852555 880957405 100660349 523318951 752291697 648642245 142163585 754491041 379204219 596740885 667047859 672556971 120639871 72028013 889424461 980191783 295431709 529756725 715930005 587732163 332090747 312763547 738561233 198452081 877167431 120167325 787127893 762519663 426153655 946150645 917819003 521550657 388976521 323921967 100210341 935782323 758149379 947968923 178018879 920043739 877721843 651289937 633557945 68080659 769070769 13927983 520655759 305165311 477084699 495054561 511317313 239434637 830678677 761917653 283456603 158553839 66184721 718219587 163283823 197664933 652630529 242244651 387005209 519705199 96314981 357838167 874805495 234725469 411839173 114065239 768786615 450261439 549014829 968949889 567435017 693451831 498613555 620628471 723553449 346581667 715628793 883637923 62896983 672796211 455518751 151806001 671136479 677621083 554591449 283807261 867804179 468606167 956192475 635864229 327560653 638294185 154793059 120986067 287598577 896252705 297626935 61799541 410724455 930822609 352601511 47211301 967403041 524808855 851238279 14103363 35836443 952659603 276505397 580445689 553780309 1872183 467764379 801801011 926027483 914491699 338695203 386825899 782067903 842520453 324377031 750319843 258396445 738417777 707333121 963791907 281019923 141129859 47606491 295806841 123826639 816952719 255171297 475617215 586907521 852805043 459408425 939195029 708266597 946010193 852224853 429430115 401148603 584280343 949915271 851507289 996955857 946678007 503741037 414450543 758349813 370560817 20372289 625763175 967696771 182612037 430479807 843280583 425730525 703762177 547207725 852147425 694713711 465535867 127016795 711176397 461670825 265966605 389415837 472548971 388214791 530683995 125420499 232387937 952205067 991755347 138474081 298555427 182650685 194736425 635582009 852749543 293043761 312911959 460553165 178343599 578817923 758909093 433710623 215846465 7057361 364950813 197944243 844075823 493506505 876427281 884963223 188526799 102053659 912448547 818578529 864990531 637182851 399732017 276788531 330813557 569454531 25892205 171455663 23107347 459605667 816511047 484521477 609236883 630152183 123654523 992601577 585824059 30152603 588059665 356691359 411504911 567033965 159287635 511898599 664021727 454618971 933672917 759702035 10108485 200923221 130566773 100177655 437241251 884617047 955471189 11547123 925304605 449284963 488630497 155934187 787373477 537568129 109527761 373971025 862445045 552000965 984274717 862533655 998909323 821341771 316953355 671739583 984042929 209868849 330914855 967417163 577560693 155729061 706630469 966277455 55089073 445188055 653314435 907960283 23393285 256079363 843061059 972747411 927662553 585504875 978964787 254202521 956731997 189526103 815746887 46287261 926210187 563182109 988598713 244104405 121794081 504302099 724229649 865433087 867124903 3280799 768990743 140190305 518342255 597614121 781567203 204628939 296860561 355333667 987609551 381529489 768097005 755131913 901409151 580950931 138705705 428256603 453433569 569324855 700203449 183680423 296773673 152770153 19679189 401983355 268362195 834933411 87410041 587331445 855571363 624468959 515335283 346344755 572697507 989213607 670010189 312360547 394962219 198410249 34594405 315990455 759516631 924046487 369077977 43306471 698872967 495742325 472158607 647483573 311152749 643486789 14068795 755911663 894963193 857253175 339815507 214055011 526719977 95904769 298296343 997784815 430132801 37472993 808112529 916459889 969962317 281329055 880304017 994343383 470756001 883995269 182386861 624577299 243237403 113524591 724581449 292376605 242805981 126681783 691386249 171782903 615654485 982571587 329396833 501701039 10102069 226685573 802167429 613722963 442213499 106727791 78562939 665605377 561867883 69181827 451114117 72459479 658294163 114294981 564441017 518057731 66076611 901982659 445699819 842443959 86271771 581871765 455174589 201435947 355591423 704953305 143652247 33213091 379990807 864272307 87320235 767256935 62498397 164334803 715358957 647660237 725050379 877639535 456634145 876659243 680577699 824629829 722256847 38687719 476471029 29790621 830894661 779093609 600408851 704861251 194415517 574154531 467507033 707151501 161326519 962762129 132903787 671687515 696923195 264554037 67857721 474578195 144718233 821608345 344605171 983250595 218471945 15868237 919974165 322457215 308617869 965607663 841047911 790122409 321423851 747413789 434727411 170722469 271184821 91906695 176916237 119929985 609151299 659848921 663597907 822237653 906046645 377423825 691531431 462174143 844141041 143017009 189348149 584219363 122309035 719286977 499616883 695305841 866933337 226380631 962987549 239781151 479699261 238088139 972821305 680444973 215920989 643856637 375278351 622299741 406230667 590601691 945052213 164389633 142123613 71130711 467378057 707005167 382973751 108580457 127194413 615786883 639676733 560834837 721622927 253112229 808207203 92481381 309828193 776580289 670995039 846370665 612433315 520143313 555721137 605459775 372216981 87776337 681216163 659379207 414697671 77934919 589732677 827660523 741569289 159033409 366101869 534582301 802441851 885588567 686450109 612082137 301531009 45576487 94401695 357575521 144855237 801152469 585581887 490061823 896832573 288582673 70598297 354356227 436871203 13618451 577524843 256587211 280827903 590107285 766456381 456704695 891877787 261659617 110737507 43058225 860183051 896164547 791998193 209506989 674250923 960679057 261464777 856187043 820116513 920124715 981361299 48345495 652906327 730806263 319469503 163709201 848531075 667735267 13904775 112909223 368788513 946080613 741115369 142842865 896059381 59729275 955267757 340733329 592262155 973964459 457996389 73640497 96621495 409498883 540964713 580804227 491254935 650460699 223611097 692352837 560014733 346215441 390514589 610470453 869582789 206497417 490083685 975786269 499784119 822495157 11726761 523359443 477343771 610844999 72838315 269064239 911350007 991573375 840380529 746005267 555099801 184602661 103730125 984990569 516163729 93880709 901661013 995119139 19010751 460670327 698894445 467387455 599595077 326003799 15001147 627789243 498616465 639435789 442378925 625658017 260377687 962002695 587847039 243763207 815538321 951855929 287438641 508168453 417368967 782460197 515068937 716363709 87682497 997976785 806264089 466187353 339021079 675255495 280749367 55048717 629887907 84284705 464264197 391227921 700894923 212503677 496772845 458161321 720234553 805140735 899299867 296353311 523886307 629938009 800754059 816937411 512647173 866351549 536427515 503132403 739597859 686762733 807584757 472870927 662977543 314788651 695404745 943153025 926908875 550306121 379335565 304147133 927575493 753005981 915632675 161141563 933925277 755360515 641445427 311483263 930630461 849498083 370125871 450618899 657876445 964323115 175442507 277405321 960040693 827215697 74221451 562060411 992727371 859434835 583106231 343587979 843486699 219541943 43266909 865844579 869385001 195729805 396523223 162864823 196857763 915346793 900326725 948678207 189159227 817548395 254448783 81558719 560649759 855512889 224416101 950911233 900719041 863933183 486358079 219622103 155787233 26861685 924281439 308879899 545563007 710576347 948045517 171822511 909518825 141748469 11000151 99999357 741463477 108972049 994972053 473735801 776836541 719783175 244915179 123287451 227853349 41203507 35304063 847118055 573014363 879492477 640312385 602391399 662442259 226123091 26960873 914402093 407219529 89075115 361132281 728152147 196369727 295262211 129881783 54876155 421185157 770987873 440704307 82659151 488201197 976144213 312532553 493668995 814092947 321938163 866058391 841255887 758595293 602597851 444787331 304786041 960434037 479522611 18908993 143024069 153071187 742337191 643954631 397345291 319698861 722379121 361368533 537370019 308165389 362596171 495574261 652876271 388404797 391957887 68573559 345583195 82895441 343397337 249266033 843175767 940533927 38122417 208844741 927218013 315555809 540209891 29473051 267088881 536291565 148778201 191990501 27931805 380981757 857537917 986649177 126997491 105066383 973610055 907042679 21773453 303752551 913358645 78569481 907322381 494249875 966465485 80590493 682822685 982198627 607095839 559532429 887638385 61817975 203288511 129569273 843920067 816517041 36368077 626660553 647079891 438779455 925339887 405247917 578274925 331123861 775710801 40746015 559544675 742476653 347700397 168198237 574465935 832025295 698289727 925939311 729857235 450845443 719761611 33096487 329458457 663460769 700254373 647604509 334598997 503393923 433025439 902916529 834053249 69335759 379557911 941976587 787640477 163831791 206331381 179215899 26815413 138106521 388279719 347574681 90509019 359151559 535471907 693553415 672822569 609801665 377722089 739867307 492742337 285979409 433414907 359396759 851664847 809596811 216153579 561226915 188125057 427137867 851527117 93576047 920143639 250405815 4706113 151429473 973662927 749573755 86601325 99681965 516166389 818204297 430242301 29284169 317906651 835305247 51050539 115804151 608751579 402236097 648075187 580625213 733579351 368502843 18708699 781736555 327572667 618358177 326211185 6263453 233393783 698994001 965497037 173560751 965044999 763059949 32484557 610679117 261795051 727913059 752519381 138665443 953323695 845595365 267879893 986991021 493425125 99657715 509542979 380584361 624770599 442536013 533155613 229661345 638873111 34477313 342209771 695276581 584133729 164943973 39165113 300204939 832276661 745803027 940318493 636069109 692916941 133010159 243317047 197656139 814879087 799508007 822783405 497279039 660227425 95250479 835859885 665648453 147444855 423710403 466296299 22389923 503562891 511790309 909553577 623216987 599897215 292000741 249281963 781026625 838025535 243080277 362078529 237960685 78311611 572686097 594814271 421771199 900348141 108996159 624483075 759735007 378870491 124896329 619585909 144853567 456364427 646354661 745520133 152778387 648670481 756423695 451440549 832843103 715216775 139652875 417116629 793298921 111460367 758004069 538510749 281367107 104585173 15954417 109406345 683502661 161133833 470130125 786758063 840751247 985041383 7455065 276072623 248132489 989065647 310112583 120444079 370113121 689269165 787573639 969799517 443784213 328708659 47731289 692543983 267396703 456898459 64110397 56648737 304308427 331671881 34352129 323866943 771763625 937242787 928709561 882005777 497147153 832984607 240479683 198526193 780647905 519687735 372978369 126795965 664637125 595876459 239549857 761173977 244097323 149307465 39508631 632722485 59202123 52862559 254492701 607422793 384733221 838368073 463179259 968716559 241328259 941544105 171310137 422209297 74424821 346824235 38804527 938580315 347119313 710764671 654625143 921791875 538218553 418787937 583303927 358457769 764854039 750857105 657536985 233726835 809472791 678061531 240415891 654278415 141307829 435975187 334395359 26352691 950082863 233189135 452062661 520979741 788344207 880727219 577226895 523528595 963739555 372278507 507279825 573592547 896269829 196022951 201264487 863237607 278764055 293493475 129833591 524919799 67311869 285818271 372989035 973726719 522367145 942408423 497246203 90676841 571811539 59510735 239856671 65705261 976607741 913473901 926757661 519925451 306023023 929600997 750474113 438632261 137174327 347668323 972531999 718460719 302990127 683268375 190765589 590459033 225306103 108946493 602564549 905159717 434965239 193786135 783744987 15546361 744179295 286039021 103545679 579156675 65452071 279457811 914938713 489977529 660901137 361928931 501403775 363588761 8462755 935528129 818228111 580037801 52377903 913089045 588099737 239018425 300362445 421831761 475189245 665374749 128287837 85640945 779574623 301659317 883344261 541325429 437056681 48691173 950204601 71495529 59341583 675228831 402170927 986030945 355527697 146124117 170518249 526661107 210297455 836309257 394683821 323530691 239170361 179531325 996607501 233457533 416639169 899462147 24912735 745265875 503062435 322311409 767175109 571008379 24144325 902944803 975275305 89176125 745846097 616663105 924084281 451237343 548851645 231208057 558095723 836702261 659588293 834180993 590638597 650855195 116515693 112595607 862114571 863389039 62983937 578028675 474604109 859687967 341180437 356424847 795036517 331222299 967986053 601343381 878424245 449373279 892761463 204604659 996568673 124123373 759189591 709939599 886864731 440318413 139795415 63067861 576737885 258149653 836058613 302293439 834226405 300396251 274252789 78552007 48591421 920883269 722544995 583839223 958331507 304206457 125240085 384133083 181998433 581481903 124617765 184271499 506452903 3263005 631659255 320171939 129931693 288742149 249476665 267336269 858378403 477457845 333406173 26473523 61839747 700376699 714399267 187867789 434699275 983551923 667056267 347793177 876998083 462000833 393722597 253045533 483959549 725270285 506072129 948933737 867923921 611584265 926910975 88658513 492303647 702415153 616114883 70848181 643594125 24290055 60778359 37458681 148166799 459440659 751691857 285622031 18446173 797441771 74062795 351249515 498615795 645899813 268692397 681399561 636056095 98433383 756556801 286931059 12626027 472356441 463888411 755025589 236205365 283170221 512803735 266699111 306095515 956633631 586665307 187931815 763609731 992511857 866393745 838705689 388136353 128344427 657320879 718887405 145681515 291965665 924944241 728271321 8712993 472891567 462862811 186714139 55977421 458435253 965194041 243513465 946079551 127206619 884843297 957122371 88788493 749169177 55021931 996756557 592927131 954772325 597887295 313051127 942047501 603772611 418689545 644892199 961103959 168317499 452419707 438057803 425649453 64193249 615762325 854076247 723254293 423056849 725018007 785499341 478745937 373912875 979686159 573108657 978847223 93517593 413276115 657095313 647881947 289434829 454876157 70041989 726930335 385690499 755056881 880018219 459933099 431949693 807090269 131800999 864746801 613893891 698015029 182817705 709670949 119765867 213926067 653288295 103378251 420431883 559705951 460048287 953970987 270596937 306967553 131475609 823872787 395739533 779945649 467780385 32771613 476880459 600117705 576266125 437626409 580622587 463653615 163263677 564659935 113467423 694980109 743491863 999442607 235094597 11733593 520297863 595507153 726349563 446097231 446203527 141031239 309879263 4641715 116344083 987940311 565127057 560725137 844478897 393409299 778247867 956771389 647757167 530890323 728691471 292831571 719417061 2116023 949710409 44277689 614057777 263962917 939932971 419799451 129512183 362719057 315756671 586800747 121178471 42836145 421608469 535436775 999282999 643041927 506896331 335734547 708428711 291785689 307395713 352118587 832256377 15175801 925370145 16875765 496450047 785421821 577014685 246970137 541034509 523747529 698357233 432270801 53550341 663399681 247689503 19951491 670360519 348257177 608368177 973135849 127945159 971190599 241098551 274722043 159555065 403729291 854406223 412376577 628232155 869185967 53088409 373307523 573438067 713553347 240870719 245910873 896847183 927439773 618185845 841514909 609458055 642826207 902783603 895412659 482322105 509927155 620587645 903745097 986112521 688168965 593877979 593338195 709390119 395728401 994713827 671673613 474841929 697197781 312617451 444847353 394887727 904350683 209554009 483103975 437253915 975625073 636823957 603198441 815155679 520377777 421555219 53507419 749126609 425418107 333060683 501220323 804345037 259135351 540748225 658155629 560413243 82500373 356077567 604235563 662076937 495838607 45350805 402011803 1118635 438782179 835128609 294413439 281669923 599325913 469040707 32746215 951419381 112825347 522206885 194920231 318976049 105246393 754100475 880711383 443278187 284054555 463276029 403491039 662409155 367539473 40563055 645465195 638967517 162597195 709743387 802734573 893426409 748786753 855602129 886824485 509661599 49131573 918969967 14436627 104725817 842944813 671311061 433919237 861800321 956451835 424840941 562301329 997391555 423501109 273231787 879641231 891974357 588138047 43282439 371979049 36440601 362826303 281155077 114522311 35526769 89594659 376630191 148719133 651392587 20296359 786621973 424161835 855103393 584640843 211348053 871188273 894314735 939679573 968405135 11198399 790163003 888815063 667560685 696533415 742033941 462703015 233772707 762955525 513328785 981774439 916944105 178354493 877083727 414544257 488802307 25453055 848384883 248423201 25009723 239747131 190430383 136611139 762311395 75371821 654136885 700950693 28673875 531244381 168032965 424084433 639053809 10261397 226674343 449259543 431234343 467663337 444683431 178943117 64160867 187882677 244665629 505434901 365814565 736015775 452734693 323896663 702955 181121683 646304359 886349253 971446593 864074947 630270097 826220691 642167991 518297005 292593625 94915781 123863019 505303061 504411965 644155171 719859581 992064775 23733059 685887803 400806423 28493529 169086203 503339111 46315373 769704995 381510905 325091527 455827255 124184783 595033693 405081155 659666489 312164099 127772619 716602763 523723069 445228089 471254645 902945559 703476757 894446121 873508109 787791913 916153499 835135961 716726997 333525449 713030577 51051159 400520337 851072453 576146497 222382325 868755343 805024693 748119615 412804559 669642917 422725629 142977443 440283465 706361141 505209027 613732211 649527249 783270945 415325431 702815923 786058011 612782297 434846545 292557691 9878817 13313619 85723475 666345955 166504235 207562253 653980739 25641741 197275331 107218701 143044657 811412517 128736957 758858467 713877241 101303641 695048757 251650211 895196985 249111273 213006225 652504045 574995287 49510419 928162171 336384997 819032711 762677795 41757161 709862973 68015039 549203307 792512791 213796903 285046463 18158147 345731721 329401189 51190545 988018195 636988939 297895227 421607173 364689983 380435633 373556087 578369201 292194109 135571417 573087601 905074423 676061573 3412005 953033989 418430593 330451099 699241089 725760923 409511611 565413385 4761381 570613025 18625761 198631521 265824905 645356301 30790897 843852861 265437299 750354783 483116725 793440063 202968303 287667609 338699963 407229203 19969875 967128013 146703197 31516265 771965239 437488015 649892795 84076027 830047109 293146879 745839293 571404173 626424165 157238723 37952531 61009641 628535627 23180295 933322039 923097313 653332471 797354373 153651303 354438735 748543849 527316087 808440747 214914325 255159793 542191783 426789335 82565919 336273183 642727011 22538109 474382685 88525525 959832957 1446915 394276041 449462833 942111833 40155791 216192359 993896099 14393049 266129169 29162817 130481887 154457965 851142465 815195497 483074529 435219979 367139233 496068857 253305325 639507249 874266743 725986835 533123471 686112487 156243669 695184099 588308635 604649401 818567059 751304857 299981613 385342909 837799505 966641263 341146795 908385171 32098421 532605609 654944959 760036193 198096947 261647763 988167775 754006483 826797441 410822265 671892169 179385635 835193633 109330621 819693181 220414989 782806425 137948347 693927497 753760471 96025145 832901343 536386113 113244751 360959005 106327709 242351299 90262221 790141729 574911343 736756081 295681837 366375665 431333333 302890041 389379033 477584889 615681627 279343181 974883259 69452405 490165907 180680491 210217803 529795941 86760983 943129497 402874247 723010445 621230473 586707615 466075895 539911811 851117973 324530837 260843687 223763355 850157035 487078933 303008045 416020215 532118087 326650627 308346281 336295039 788002153 504013709 729548993 583986405 972122141 620929319 458764705 638306973 892522549 469570443 730349827 87790829 890636683 651653569 212353571 953717463 630047489 300043027 622898119 406866991 238336387 69040147 795000125 12917389 265085185 280978851 843745629 916071505 915884407 839897057 609549189 650272675 573644773 151371071 503773849 780662133 222553943 958264685 273399305 551252091 295311327 39588969 127879373 479150649 592997783 128370549 109539935 886569973 185001889 194269217 607072713 50143169 959704873 273547073 873330837 231150453 620495967 229219821 302917087 415702961 535175551 448303245 923505473 485242077 717583305 979202509 28914659 546498089 805371017 132305311 170284403 887501965 861958673 480788033 127164709 542334409 841779901 579510071 485609147 518392681 859216363 762072141 608922489 222154167 501962505 866806425 489629999 300781777 449579143 246431605 306248497 633625491 144434911 718210949 345469277 804821673 646725527 193599927 42540829 886959489 962223157 280780861 732114523 599777619 317387085 864161687 305735311 205097503 369030009 697206661 142433209 116093359 999449181 290786839 211694939 998945427 477305247 997697693 367639431 39647521 390991349 491861177 270275539 55080571 310919193 863899977 853573723 913167243 149686219 519614333 517954759 126625277 338250457 835661257 138165061 775719757 187959313 658107625 402981771 657099705 300826703 756516577 319658455 396869451 732427125 189409275 612133359 963211985 117560175 623781839 974972449 714024677 196210477 796822073 245234757 735940329 309147051 789759067 68942521 161229313 983248107 359479201 212868961 346771487 763425013 313289921 684416687 890263803 318045917 790731959 245006485 342643991 833314749 738660807 205926293 183870139 985003449 704234621 38992817 167045365 720157943 484048045 79121275 673339039 863770287 850247797 784181001 8629593 786389525 443106103 78179063 241170571 850074993 261833889 35201389 10974309 515022601 241322405 988243225 225833695 465807921 707016067 397101617 453859003 443209285 338550971 492621171 128135807 743549859 474827291 602709797 746992509 940462265 440436665 421843479 175018189 105769207 168761327 295360157 196735055 789673433 336952417 352258967 493721001 213393375 48933629 837011817 293352271 660547479 240546039 196999427 205170039 334383759 811947977 247380701 519397667 142601827 298027579 288244209 130163993 350737847 808580439 383418569 846751467 567354675 858526063 153427057 887532015 248896137 570551589 70107521 469783113 420108661 343901783 889593621 730152413 513588919 146054967 46644693 659867487 416958235 890328373 633787631 593378115 395742837 994106893 297392921 942808783 350814363 41597127 260857745 475814151 616074867 120081581 122727197 452150715 957156579 919816787 937343245 395558533 735315939 95466647 374010933 168871879 597794665 584678299 334992885 592973221 966050423 619214795 639522099 900981521 745764379 10506975 418236251 869032645 601298019 362255567 548253543 698802239 999462251 81972961 632024785 655888585 604091479 322276513 608207523 181290097 949032015 81984227 825590377 833804561 722083717 288745157 67756347 958809929 1458229 546850473 701500085 827132289 424940447 542852413 579254271 921177321 811668241 418383989 597647047 166790779 645950681 269368459 110058051 610410997 852650325 274985735 40855601 992555743 22388195 484868017 26521049 53242763 757176817 412251041 913230087 252353553 400035823 791497265 277062417 547863377 788170841 911868933 781928407 6477299 570903729 169216011 260875453 829741925 708441727 610405495 950655413 986259685 289726041 584931781 467157553 477297261 104328917 25054137 885635123 540271563 142377369 560229981 231304511 507154313 548458573 567046409 202568035 187221509 766160803 355075929 973474871 307199581 844523095 182384687 909859799 660353399 597093931 326170807 879651819 774590215 375835367 445966183 719475361 888462979 761636193 413460219 158988209 622274603 916635759 570221431 319536981 418741769 815541239 688980263 281302869 917885677 303592417 572833183 688843777 360455021 331467551 68806845 34165549 29798125 938383021 640066979 608290105 108515473 385718925 96067007 306358283 379848269 356468423 592867267 591303695 373414357 669124721 525577901 586192191 699039663 926873761 575716033 271676439 135959069 133851517 503778957 500034205 609974325 973552429 620760033 423594335 599262411 882193123 18521309 921255541 262458753 776376283 944570085 983977083 456059327 44324439 251824547 964680603 610690487 364162721 549771275 570382975 204795229 635138569 764998493 339508575 669847925 508342253 842878489 173464313 863925895 338460843 778689295 306496403 541095905 352797873 724858961 940768765 523174045 189796209 921338939 35075213 513941659 339413603 548730995 485426719 490711427 171830283 758944483 437132057 539647941 747371761 300767937 501138541 308616601 656801963 509732233 864301711 882605569 785021647 170307581 549393533 25913795 997754371 541943597 860866749 953274481 674988783 854460267 579526749 286316899 470553415 454588245 741175285 206148793 818428611 788054733 326480033 154102873 443015717 670748159 422908683 223495927 310573627 709617761 390358109 538088201 89288917 261947825 424575823 977129937 803801035 291745519 822071583 855722069 126036483 173646185 866857109 41281127 935441509 426345907 801899261 23215517 5174501 681481387 743787821 211876443 978256763 68728435 324752517 13930693 508792105 317964665 981942251 328857039 437275389 973360495 977643213 823564847 878854919 446942293 584621599 844749669 237626207 859853675 464590179 66277563 543576875 130449473 348193693 960569921 628436883 515842983 154610781 302743501 499869899 59460285 502701751 887336961 336507147 23384039 834702409 142284615 919338391 276272591 684675133 577935051 439850423 285918827 180218429 934402953 364714945 42166773 230270337 44046655 398059021 122000885 785356745 184722295 214330365 311729717 780584535 816251007 988335355 577048009 35081981 681491057 155195257 895997453 687176977 339663917 215904755 531293607 427289199 566720091 261482475 406144385 525613695 95720043 823248107 681571281 992995117 991657879 661818245 867602195 325925875 689040861 241811537 185099019 380301005 624166149 235081461 685734341 137559361 912385953 935993113 95886485 536647519 8860681 38282097 206311705 93263547 849298269 252774581 382726195 341561203 272102021 793513641 508851473 822705969 14503217 815938327 691643429 732423199 968730841 832740559 174733869 983133173 705264063 928050863 641414957 677234419 768377321 543178391 584342387 992311005 508639273 452431985 370940047 681863681 121139989 99230001 440303713 426440757 526470673 659379151 840876043 644907481 519123011 705193551 37583611 801282771 781918105 512766139 844192741 257129361 303482319 941733925 627165123 565298185 448584549 947562917 813205213 878575289 662708385 287391585 160505787 354427303 311820437 964559747 574446133 407544163 944752663 14892857 829902949 70080513 694423753 793892801 295056305 195014177 816021013 538322781 722440643 53243879 915198503 554752087 632236433 311184899 650163451 275707905 738961495 280800941 1332049 170575797 127243417 714816159 888791469 573924309 492864803 861223459 851708773 656462539 494848521 862219781 732951437 646349835 736063911 427007645 447365639 291959053 202566563 709738183 788755579 89138773 252313063 390359275 48897371 624772717 102927275 686617079 880506587 726117095 594054759 35543649 32481791 845143387 951514849 358010151 876412303 609200239 850382373 345113807 491114777 747558605 566783623 405349993 526682103 400323619 634249381 999499913 500997193 454670385 941956705 109002831 832151031 859008437 999289833 315505759 719270833 544338811 137318063 274103275 207445489 165710675 717515379 4975525 279673843 845038875 9795125 237615821 447705797 93048243 432083267 413921323 334400051 994923015 72785459 87664395 622710741 527870469 104700895 489488965 642011663 124053933 606038637 145367349 447377671 936625149 1263175 564431557 312581037 840691201 728000801 366187613 3324089 214259145 712728827 978046713 362082733 167694707 25537815 148915735 117866959 843857951 218610431 698562233 175161137 747270393 346228619 602172529 613259177 576176689 456058325 539022931 977524187 147253761 713557571 955030527 688237611 897043373 25873793 744811673 478578637 634471039 58801025 360287187 405097399 507737289 43177087 779490015 84692905 93492453 80100867 831752575 1210157 230928437 49726935 453556471 996809363 270423075 781113617 130268949 764641265 836104483 334803721 500855089 857014313 963693487 272451175 367825703 754717669 645599047 292793367 103070815 989314705 364709239 23776331 299017415 564581225 706297551 981151617 293200341 857053291 961213421 502780797 49708935 81753953 229002867 821434957 424772965 369483993 711802887 554416449 816400249 238892845 636094815 190987257 407864671 289574269 560664371 553898327 51171633 929793713 157275975 138767497 330370197 343655545 48285541 475616771 703978429 609491535 469104735 925242495 403035739 308202097 449958159 623154181 566858417 56902887 702648663 978681053 291159171 777675397 823914275 236084383 113726495 829133789 477289315 626461477 574939485 854688341 707662097 170641301 766727835 285688083 489332273 78548313 197763005 982820359 573764301 245087015 967224627 306772203 466209271 334875643 709798131 768686139 564592329 418865175 759640443 960858179 928097127 484404235 598763731 633298963 119868407 712342953 924925317 722930819 547353519 890733327 616598445 103530803 443782601 486158237 354677221 65652617 310671493 550390533 356155987 948235705 212138031 929385015 634280361 233629625 880939033 103266929 188498459 472407627 983943581 786486327 480019557 697650165 399506205 104020565 845740241 148063751 65058565 65939167 802360877 686888861 199386821 38166067 581569229 286863507 771213271 850878963 233515407 185368725 575818943 947745293 669853403 897003023 429182471 781691315 773633953 907278141 681207617 513934949 37004883 178461471 320745479 302897891 209093105 933021817 999748861 858964539 967140609 137438433 866920649 819135683 879779987 901429163 60818209 955639061 138229565 104909049 513530303 239428373 971255323 791586995 734605667 224050929 584477653 227058059 526980313 169915421 263653271 941798903 705815539 934229589 763574299 155723575 808484491 663080091 283001501 589184595 338483589 37913663 255999971 186480925 133026247 511455187 876310843 424665901 644870983 140697651 799563133 299680995 328877055 131003781 635473415 904232551 61469423 3992627 233329597 94763691 16972067 135745523 150029327 473471587 232232109 809234113 563944947 561554195 508004263 343850977 531029225 715613697 440574773 436083935 541731315 399577407 350193789 775743119 882666659 355909285 710742965 794603023 179128847 811909843 617350423 782980033 145481171 466450481 951616995 399175761 673641751 349037039 189177191 612035509 432248199 408011525 743209457 447446571 580937309 198315315 610513373 729234739 495489877 124509189 304083597 506272411 100047285 407491013 186743149 936113015 275653453 251340433 291161837 884017957 325357937 122088773 605594505 783449159 942945791 794791565 777882305 850025419 663326305 270544343 668126753 685381093 570777729 558465627 164952123 435023119 261345751 42704409 539635625 265605393 169243235 411334363 922551311 361931251 109752743 548254513 796875541 251827981 263014325 857248113 336988525 385574393 808817187 401374397 813108177 653550493 742963981 299645439 593941511 629035811 618830363 723973859 559968725 989476097 534749051 9053925 755473423 699857393 152134369 49586243 514740111 557816315 14622863 679767815 158426681 643787113 265305673 743438847 425426931 6651855 997120095 444363205 990919093 693472521 634390181 159031227 647207539 839314493 293286267 726318341 334959157 174075607 218927301 918318997 259685121 920374153 910241013 776722725 400891883 487406929 360995325 283311665 434845709 732564595 661789277 233516807 66960779 55610235 163081757 450087603 853840525 261324861 90574793 801417743 173961285 235837143 281226105 214701243 659338223 968079531 138328521 615143967 210153931 783556965 484314337 718819435 167043621 400746493 4313967 531711895 422447185 863189419 673119145 341610085 890293157 266047733 86438477 219928923 261040261 449866921 191445921 834346443 651207005 74582231 280676979 452874957 728989 363797471 952683805 667310145 630556353 905725797 877952631 400968653 711525195 836149075 821595373 127071717 104837571 281038045 796287849 570644671 166257597 659370371 197647461 345315677 708886739 625725957 269878491 642379909 402900905 273110387 399384917 204878281 691652327 456587295 693740767 736841343 183036991 974756005 296593425 694380235 46873965 93545195 509362183 586713745 257703217 737231643 32350569 982834821 4711513 226354859 711276389 327099677 678668467 938095447 478418097 965132185 144422939 279973411 825079947 264207619 700628341 23422043 698115513 668860713 76652969 185909907 871420811 486201765 585900713 454807975 495532245 172361433 855127665 548235709 886840567 189661417 104146945 431182145 657843413 843930311 714378343 78456293 969480161 494443821 274921393 815448487 69002509 988355993 604826621 747780555 788420059 250198357 788848745 333051359 795107151 451809391 451466275 756047027 792786679 186984641 721509211 810604391 478492139 557284587 438767693 898047069 784361415 945143125 394047035 773845059 985964979 661285167 414972013 492245259 422985565 907305843 756235575 269459189 91792891 256149983 520992501 560203649 114953035 81683963 15234309 198673535 348375701 274290201 367637205 642517759 511670691 427175505 247098071 849767521 769796049 783490435 992899971 710612809 575247095 935707223 200191067 527187105 928636033 283679805 226419949 565345951 183455835 611956845 377379271 328937407 115538425 293531367 933328775 929240515 678374749 947630967 822524875 42941115 271407627 933839527 578340417 638361081 908494865 518487253 125059481 825598745 488995591 183446815 410584207 960249601 484924169 542635627 256179429 521771227 367401407 494654573 987546725 667400991 267897687 500749979 144204255 713662085 454110087 961335093 912256559 758369041 779230861 168331845 303506233 342756629 976944689 889009819 712423653 261048863 588828351 190432973 173267493 546966029 333229581 698014271 688002037 497381893 388073595 764462101 676828759 279623027 829874671 100279875 398041429 998233867 656618709 370450559 91866623 445331399 562556199 380549961 893469043 23099885 175007585 588619497 82588111 164154377 679782791 213965939 839997249 888800753 33229357 275360955 965753083 652110271 855519589 687809379 1787445 272707287 944781773 248942035 180793649 949521127 538858893 982012989 740434493 727795427 181240659 537362069 460618919 443449861 757095767 32624031 49341901 341323477 764309075 350133731 243458575 368457243 2420367 889957039 294446039 307315183 627470043 714064157 661427351 858350763 936759693 260074765 650789835 279951349 77116289 443751975 81217525 867486135 574171933 665948891 864171421 634779431 811615059 786315105 815250009 249870273 650337943 722964667 83346881 822054985 30026213 885633455 368555637 407480779 998571975 171216335 679097635 304351387 782252363 126336115 215405949 957493589 993484037 120093627 666099515 588113375 982647315 676661135 776827169 162458725 744910621 286186141 102521847 364060761 120833363 614891875 831012755 662957433 611840359 163611931 852746699 397785289 95302809 610810065 675829637 191039893 877195697 257259605 950443945 680752755 781438459 769265981 187531307 54373947 392617037 712165357 653394691 613833495 194045447 234815625 63158069 978138477 790439951 824465413 69871561 248192759 436575187 752148759 392862933 142442925 443800647 573987647 561023601 362576599 762664173 896624071 891283389 290093053 156786889 186342079 342581737 30035959 203378027 547985917 674411809 830737375 536611303 416933411 571672995 404922905 650729947 267166107 124092593 348022099 51699825 351933329 190541717 943897473 253666131 703565057 880943263 113976543 130825145 515740585 802690093 213894897 461529441 295588115 732535199 175150465 478896531 980199821 2092127 352286631 80675355 473522481 756967649 427943613 717502031 664009439 75154845 832277865 419816465 253616447 103407639 825182359 914440897 708972481 741340119 173997177 465879123 70582687 760340851 233275789 195045947 941837527 504433027 961747351 488297591 280007473 623465383 29553827 32672397 116278079 942607247 84145669 439008397 3156313 973315559 657508185 676262411 619819679 782533487 663414661 617134885 775783929 535616995 9618357 777892229 418240279 963402515 111732827 568496981 903635313 796043215 481569335 97314381 172113737 50377455 208510793 813154477 419174053 197980249 848066527 268961335 153066071 128031735 778982287 306265405 477185269 155291831 843755059 342378901 117347299 580601753 613678319 476752283 818329159 966608025 129832753 859860791 504316943 674477511 245325227 330305239 401627385 953345075 518350173 521790065 904087423 23160567 810894983 460864131 969638381 421711413 460148665 304649491 481610579 98384407 762966213 195011759 223062663 932350417 295567815 114808689 278588715 309592731 91052581 564564465 698497193 36796089 695824265 895151707 266039085 829997171 571261161 436346201 267975859 342556959 448981375 276690723 5628411 898041877 698561491 715590777 629400457 39427511 477029551 375554975 280463027 92183663 479603239 527717219 629409421 238473649 409364633 982381595 730844409 69819125 515841445 596534441 465976223 439524031 931809085 579691375 956329713 146525081 257897105 678431069 467328803 168501013 625791263 309521127 606225721 546868429 234475435 172965137 20615163 445449059 507789633 483014747 679383799 973900673 567923255 122235349 307391879 264412379 470461733 303426585 969740235 918177065 847333365 152727615 776086443 256388399 842291405 169531635 874218967 471794615 781505831 420150111 671098057 806887059 854983355 697313853 432276413 579359133 45574801 476714183 943339457 579402167 804821489 503876551 943247521 805574091 629131635 364859017 311464439 174591949 674707953 17439205 655971361 661053365 601871247 174088503 166121803 14167687 810828987 235622247 125127267 788096333 186727209 836473827 136807457 893626393 49763027 512115105 655219207 208933637 173126913 386677791 316504923 288039219 807749437 479472741 562557487 592268749 601270875 17261565 366137433 422103303 531833207 403619843 529094269 203141401 150558455 177806863 770645247 888481095 278901125 611390285 923768595 202376923 284104983 946722151 971631023 288503335 167000041 90510743 358490771 591871365 71216511 398834073 273771337 652146263 13948837 465289905 132726817 86899209 726829423 479043251 366005041 983240969 635798587 354031343 32995675 660035543 786417835 654678345 217003849 635074545 434165163 338544931 571692135 200911075 950588787 28009581 22904305 558604095 898631803 200723613 955392997 224948127 879731849 183330225 663420429 617723813 597780905 108265775 782355703 343768827 109397809 632949031 766431997 881602133 738532539 899815727 740053311 96911469 102550827 493578593 661198501 131242243 336779183 464913769 413384929 678564323 177327801 286350707 420947815 239349215 579087113 171434291 505418875 144777169 291185311 690775787 883887139 970068379 933424075 728780383 879555891 442940199 609862175 811828701 670503487 845627753 80089463 95374653 766609575 30097755 660394231 478239963 722562967 834669821 621483533 909794465 382659837 702059099 278907245 668120313 908882579 116964999 307843091 217659355 33590997 133526171 135236163 335089093 285124625 778171577 294561929 186276029 265295697 576469259 91523769 529375571 549324147 981557445 313530095 76393885 977211925 49151777 255174801 32300087 19189917 438447711 81303369 631805255 6959935 970391243 751884303 883984767 176345585 423238583 835760667 360464145 894989173 271084157 293712883 576133311 342785617 469105023 375089251 631636173 16076759 359697705 319305087 118361611 331980573 188723947 43300773 531833035 671221253 504325695 817374839 616662513 465360953 78629803 620914659 202550239 306572325 10137013 595841819 909712773 210393605 244518897 358029213 952911193 45887193 138653177 125467695 524678747 839667045 669547119 470280665 444220685 298227007 229023743 843005683 3108993 584107451 564035161 130940439 381123405 424301307 139805495 375687977 804157581 383969513 659634525 410080343 138388711 777844273 792875925 648267029 99597709 667495247 368783793 619535133 141505843 387192193 929836429 172290935 555164949 11539919 1769991 847753581 461474815 482515979 962302475 856457105 145805625 695491535 450617743 974024901 240132509 726825333 844441735 269134119 56842375 305281835 860846073 455302441 111349473 170654689 330287345 697384571 596890133 434430027 802207613 668642587 698543387 673717741 847036857 674143819 257463665 66356749 177338055 677352347 207650847 5360317 38340051 701726687 869747377 593107413 46269197 950804527 105274431 966070773 959276207 201280755 900077669 338794885 672010751 766195927 799419465 703951797 225295939 288590797 68168093 252452221 808147919 393715731 125941653 552111773 462942461 13863213 214447087 59834017 38354223 423199463 514168817 794975699 486019025 108211799 944677225 496680529 105300819 320096471 207564207 394238201 302770737 601213707 250598561 342898801 591757803 35594721 791946659 233089069 682371597 175936907 834484391 794934627 264932139 84979849 587004191 287247891 892753883 221231259 780794123 897914887 584881089 563584465 265970163 682465743 52760201 325054845 172031459 380438465 28470499 285095739 622300273 918726399 287301515 246604783 29895615 585945203 339852353 876453575 326336879 384022473 832378577 527465527 602724271 193003645 249589773 172001019 690565689 839317197 748616913 341477655 119993673 559152323 986061051 432244437 535610533 627903789 586343033 22474701 329573533 339696807 561813051 393711067 309013253 741426317 162533693 107050529 223812669 516120073 338364799 550155787 863844393 632042763 362048781 217025615 79120697 425606989 492042491 193487337 972638565 532980045 554096735 236710173 944874279 48970067 974188381 729144951 945423497 512248433 480878113 932775885 704187927 354221951 737717211 42567479 921218535 220411421 314797511 987340829 304008347 982320563 174413861 694820907 478580821 344707185 15687491 982294611 311634885 490548303 945898607 389276117 429273887 671052815 142701829 463898417 294285093 370761271 480140649 920681781 273168925 401701913 90528257 12889591 199545553 132047053 294470725 197029329 909629851 427891251 738533801 677196391 419221337 214910449 608005813 655597479 30152817 70567035 20676591 363767493 85455 738202631 240517867 266982203 61472747 247961495 866613573 907598289 593312709 390658545 84690331 961344401 116695521 701489319 674150043 405070029 438631245 704128783 587211253 395646503 116778655 171569997 124787557 827746173 325326073 126162757 87229869 149705985 794917629 843308971 83598741 642858531 441401307 201331957 356359921 191859871 584016457 749322851 515504029 287034237 639957381 290113279 154379895 953352711 805987925 187895447 428188269 56815313 39227913 469120711 124963183 338510009 804025205 162735595 516422521 711400417 86079481 109020717 685569421 497315509 247869049 380104317 357473459 512417517 48858727 617264021 723335935 319565441 573250229 296551667 683159181 911453367 704513765 967260641 654697083 529670427 18740219 274748525 154694135 276285569 778821509 306549361 475563315 894710791 687256729 247613581 42901605 695175183 476506841 631001385 757802709 258235207 43355495 295372149 440893897 754509219 796890611 701355627 276983703 750614877 94572979 89716169 637207701 963036669 817858661 782072599 163320361 341572427 124443983 554938535 101412795 868968543 729379905 461919377 960591293 917878931 219082895 467002293 896075947 864998027 141028377 251102395 975842823 961460023 688512069 688993043 540195161 940168389 70823167 275850741 619196725 304365495 100618177 406302049 94571575 144686543 320948357 748614947 713420285 973465879 437210837 72926151 18778677 602719463 590076607 340202405 659711377 454599899 8723925 105632225 426829001 675889109 515364411 73000287 175670687 182053633 912068499 339871187 581295585 506081493 661568525 924170419 131638877 786178061 739943775 788883519 264151537 213335213 311000007 918336641 569796219 418407169 511658765 482421833 413968361 307037341 995913595 471395375 186943277 991107423 582323437 371861905 869581119 786262121 387814845 23166873 774001697 2221353 839112145 765703737 53065185 327812177 645487515 791045927 696281997 67797215 281882895 502154467 89582659 146251545 691432617 20668855 79090211 4973447 956430451 35358897 535593303 316129279 658525435 352211115 894186769 170293919 643168339 209041221 648928909 480034507 110374687 24782311 151813645 784806957 859452289 54679235 396677593 153208761 298629161 804767693 221898567 425928879 8255821 879380425 602569133 995811215 560808877 720672063 268179825 262644009 385404299 239128957 795571451 828509071 423517625 723173277 977992125 68529437 612968587 803137919 363584819 130026873 539065569 623539403 105390047 227312781 62705441 186456561 620907595 667035535 877177401 968724265 370624519 934157307 237636765 602573173 726335665 203772051 20529487 787192219 102332137 656752231 257438931 267670829 567925593 320822729 833386553 301853059 362510259 541770583 121035283 884619453 294861235 239246579 735569797 772579523 407591963 525261001 145823537 662905923 49096117 944581201 101424199 834935739 377912913 609602883 947705727 755481701 317425613 399691941 132621331 568653645 104684809 45926851 65580235 426786371 719108847 5975857 393965815 306110687 886716273 316485069 334677869 17046399 138438283 234786745 426968457 990104653 237813055 883593571 578819123 29157947 406890647 25771647 255903447 391552511 177111715 314320647 556381295 176069401 972164993 560323137 499360887 966282963 224535633 516459963 283485173 236504381 855145021 908309061 596500599 139130413 696841079 880506111 939788053 827539013 345029181 49955405 248221037 981281775 575432651 33746649 412877475 756516439 469794161 219035289 523620969 69971065 19347327 853756359 667689457 958734355 654495309 271435243 141496571 464572591 85922113 529098959 258155215 985887387 873042371 531720583 296798521 634264049 214561863 397100399 552577423 846141329 190798149 76955437 702347185 737728035 69962305 442551723 784731909 990691095 996024517 184010015 586632057 942094759 10293089 848018949 541359747 476286929 105309875 967662625 166475809 397078365 568475227 413877119 615514585 905773789 109405187 623305075 914160569 317950121 38915167 465042331 457027417 176479201 276806695 830354137 501435095 310045549 481813279 918800987 695537111 284967165 299635471 888607891 750276235 384548873 36451533 58407487 388577445 622735059 329581361 320856931 676793445 648158049 942407197 376200269 462905747 983019653 751142267 964105869 551096955 85711063 234174527 70958595 157332213 664736693 661808993 588226513 27266909 714499659 754287845 184899429 774679451 420740743 912241363 209354099 882404893 979467809 715000897 141191925 932845273 386032537 384750151 473909299 348727883 924794169 41425159 783456693 365288575 582470161 451383467 480441683 55803389 153535735 211562599 504283431 777585887 890001295 161628019 136077975 453294019 137594685 704743955 1062221 250569935 658320435 163050641 927615551 968769711 447182955 289063997 382080169 453563803 590420645 189313653 236295951 199984211 23278949 617639321 550155837 516722457 223812097 963471893 124149831 876416705 925796237 88544087 634964873 3202459 63880171 59835103 788814249 594239625 744223427 315619627 408241809 942525425 928364167 632369861 871672697 482516673 535846763 917092163 291217881 478560623 406798963 630901821 478455927 590546169 416473703 833276501 403449951 207084007 351513813 566735413 986925541 486242115 96373527 558487441 667864487 638496679 171475789 528868385 984920967 178704433 928670047 856751273 411246515 850734983 643376637 483716083 523970973 48915669 85788065 468718033 588052741 157283029 208658823 543572509 978761451 97885889 643123389 227498425 640061597 402376547 740776207 218110863 869028529 940647943 84533271 741363603 415325697 920780165 738447411 270184381 406075059 87746361 624977807 694030097 431662897 980322315 98254105 864868505 30637871 364737897 649776009 733686375 34330285 563462729 250272865 66284181 677190381 77624361 385634535 887540805 29941625 434731535 280410413 168947873 31758633 616842123 678671625 714757597 57598743 526284209 974999327 434932787 423355817 638649377 498937811 894088419 772828555 210597377 371272793 919406393 848785583 353503997 244951463 358412165 319542099 698294351 952894845 742820901 331264249 620081585 856377189 744256633 284873585 639957613 467392431 599001069 949044175 244097103 461027953 80144113 25544555 75288239 641471117 745588735 176805101 913881451 974920877 592764571 700965697 429768167 404946493 720455759 579171481 484651027 654291065 314346413 896934259 992282981 485307743 186663759 679342483 472800731 938727609 303951063 291744007 496771323 118325525 529707505 319352607 493783253 420417229 77808459 953866619 768028413 172124929 824567717 941185277 682999699 380551833 647990973 530214611 42328637 559327047 450046047 310114673 708860199 189701759 353940829 695111569 168604683 876179589 842265745 929628987 293571877 732151135 554060253 210245303 146854459 355400673 889332523 644322205 467860891 439320223 482734447 781073351 739195677 280413433 506890147 355282523 42257693 514386971 420449735 664603331 303840643 279783923 764010471 370590645 97798333 511116859 840877333 265582637 867583681 605774703 20824683 491425389 612120079 201839069 75812875 897178373 882660009 877667471 848363041 234647495 60842785 964742755 638184925 383022801 194288011 494957815 70267513 978697091 827916423 198528433 295680569 123272591 481521211 441196741 600441191 77300709 597451093 932210729 64440149 814938563 45760521 380546719 350021469 802787757 888196889 445393581 159016931 573889135 268567241 77774757 181126989 537426463 325656551 174731421 672164113 274870037 332954827 342699895 904492713 108955897 935277139 46371805 452685973 930133431 186011875 505366075 804024673 904744579 559410539 757126861 699731103 280095447 612419681 252406931 361450985 14465401 760704195 953487441 893632993 219557751 367478041 772395933 133881651 950126369 668675695 642320331 570162063 291926295 556764507 814352125 264296111 810745661 190259453 925729565 29313369 812048829 441587707 878143703 827817555 450435595 994652035 607280807 142242673 705148391 70904393 454807499 859019917 265899601 983156111 103732555 596984969 200358553 680864793 768198905 235662417 201270609 193606455 98893935 633863637 372946773 303057853 180898823 987824911 2385611 40222985 157732335 519958789 508038173 30864389 792345367 234065085 760741633 784247323 718924339 399226955 451294067 350963779 211360455 886317001 408326327 146132987 383063065 284385369 172230745 658902603 953247803 735217447 461765421 106514111 879100677 71524963 602853457 890851949 944426775 928924745 943327783 34793717 548798681 449543193 815146843 22387069 947529595 375776031 122256357 22632371 967449589 404067757 405865981 442267853 441140743 527051805 454618921 222878857 311870269 383781843 28838197 457635373 783407073 304289845 465264437 371246471 4790289 598275001 71338119 775922159 8339627 96847577 33193935 197885763 568448085 981211415 199262197 76173543 654120067 651394555 906159411 789016267 108600939 124908057 213345281 77898855 679122445 518711819 948677671 938929589 475353395 971048307 134839725 710317631 1954413 761988093 732199915 401895953 829997585 235599961 729690747 675991233 717679425 856211779 108243523 247318127 743134439 242620539 452005997 651615937 78182063 892914127 804917103 810336229 799766549 601511437 343690755 674264977 729029463 216920081 514688561 509629955 178294399 291824573 465768515 313819393 718932059 88717565 857966029 421749467 224295815 291584193 809211051 205750629 496645983 521077253 909911043 535682813 874110221 452158153 119555905 881870221 61957761 120993051 880612631 562278783 570942837 955360777 293223555 168585419 236083815 617032367 980366281 131504113 505647519 625905967 888616821 290346229 118709295 693171125 528729435 502551141 906243823 70903665 564445081 354875479 771426687 860416927 480690065 42777963 879601991 343759489 170701041 373817799 964602487 364222047 95995051 662874649 559477511 542236813 820775933 67258007 420309433 118424677 94031723 385022463 409355027 462282315 552999875 415063191 227797095 902603431 556553493 603765039 260975821 534492395 616281537 87781915 877963301 483083923 234655595 525583931 964472853 636913695 225593341 71291891 922911505 332899355 731936427 703272501 357517135 495899163 552616181 211928947 656192977 497001397 636691869 430385839 816251229 359627663 791801261 834680939 566058373 941498447 78090621 324402107 279533471 971259309 112166311 875868975 443048911 336370525 152390673 319664107 169824249 417179175 253041893 734464657 53919953 130731729 644870041 142664783 307445965 509763377 147182057 599789535 737795373 188002077 320224473 848709245 436480251 954407801 662079925 708017393 72416261 751456049 399561489 690111109 318328807 295003703 568755145 676327957 303257853 927056513 950924803 227931385 416128881 728819479 650408491 122760733 883448371 575783679 300408307 416572139 1645565 238989391 7572313 889323613 609043021 211195165 400788897 596446701 901526125 320926351 815589465 734205605 26311787 240106957 172584529 995383827 898658337 488061193 35140777 623165257 916168751 361700991 238609347 736014315 101034237 575379311 210262093 376602907 450173883 112248615 446871609 861895305 915696483 974591989 508657607 489964395 367629747 500111925 385091191 29456767 261093939 617568587 240642585 362101771 62903093 632807071 2933693 390575839 94377169 288083619 863203011 567594831 917430759 298330579 117096911 648851771 780631839 730466225 930026955 238602249 874881001 364606917 307687149 537763749 76843901 43403941 620081073 406492041 786200027 729598695 364509657 655582639 603507919 218776625 120579957 58170785 875490021 796867627 864363991 504191339 633911925 679886727 141083291 506964133 355130019 776736001 33717927 354260845 281880147 911283291 958436133 234346343 982164793 65347421 658957965 9882307 451052747 484311771 591636375 672478519 346377035 846008241 761411145 797741313 890355389 870774719 236984559 48589287 800446967 417280239 376869661 410730553 216519567 165252147 723857071 427645389 714160867 337979015 524165325 52478719 269394717 435417069 356977885 906527157 300835375 542848109 79101337 228619361 189357519 846233885 376198137 722242293 88670845 821562131 162832963 58180595 187907715 92904565 369883395 533791583 10165999 981409643 582373391 951363015 224435867 363228967 977657729 533891395 751690023 525964005 836800189 408707697 859202043 498036967 804102513 102408565 476513097 636159861 226487953 486310143 583763717 134603749 658000727 623335749 667594739 436713869 797439051 62908677 292656283 294186707 827491381 612567175 265808459 610930719 511307565 413451927 249129501 207633125 988092813 207331211 722485233 718621853 921483003 231886403 367524207 107081163 317504865 340508965 600758023 753508087 760355317 984695581 95451889 142043063 931780659 100811941 830671919 424375713 919085279 632490169 599982471 333436763 917828357 407115743 882177163 828375437 457859833 420073765 363259027 712155113 596941655 948390179 340908991 857552429 766443525 678005495 142678519 869937429 329232687 376466757 414557161 489715569 118003271 240567613 400170003 750683407 622320907 947455893 785088431 622296013 43303551 897377165 962902473 878073483 729747439 574066663 211995185 741895731 379622897 409472501 436931711 344715959 350249311 347836045 280745233 539530773 979171933 258491147 3212819 170875721 687254361 760755285 197262449 459645795 414619141 366659549 206442215 335142003 796055135 451204247 235621107 106122897 341142957 241521665 899387359 252558051 413519735 782359841 205850555 937452689 99650197 775863685 551253085 472000463 873674273 273458245 535208039 314995925 148276863 704870655 850772035 373819623 649226845 503964375 478672157 440170317 310851503 653260669 690825713 136258653 946749105 101850153 500893309 772935279 196228327 824759445 269113419 416375523 700653083 305605643 471346601 625302825 796483941 447417431 652348593 164966829 500007969 254692047 324708419 662952685 887781615 444460883 838873351 993753707 126310081 304902985 271469 123158961 215134151 381801631 465862575 500152655 949351551 459541707 152400587 494507491 537111213 257062345 935149449 174337805 137162333 215542565 651052155 662967415 108569315 338599143 164983289 595178197 767152091 819928233 390585635 576896223 348725291 707280521 605833441 307435097 665771775 595820075 696674019 313799437 78069963 925875649 104827553 604785611 455811145 683742973 879481949 929798513 445893503 791309855 967376925 193728991 600375481 746326255 151152307 690555647 62699405 865775033 839390391 428121541 785315797 98395733 11327879 158887209 431277749 211733791 850596431 65646383 834619803 878961151 644812029 497693153 224740665 174072161 471543625 770433615 308081807 468009791 439882163 868361623 70237149 87919637 394555525 185369561 234843059 731121129 840860367 575849791 586369507 282061131 121757031 907115261 801270409 8615503 94458865 457648203 470184715 789154709 430093777 553136493 283547411 594932545 578072891 626984109 631458711 472217093 814863395 321817437 663692243 42280979 443382607 124174039 381730889 846923309 617738561 249486717 78485449 741331093 469531983 845214649 959879269 52223517 81505933 692844799 779792507 872333595 444930269 392251079 84131757 72503403 301723111 760028053 178767335 916637813 63560221 228300275 367325279 344454695 505537459 730755953 19774097 86565879 973638573 688014253 586569025 372526819 514277075 206521671 746330491 235755377 967174835 132582635 607972245 185402033 563635367 672772167 676232231 290551095 717190351 969265435 789774107 49495075 521292051 545424933 396737175 529038361 438346275 108429359 510005781 308070987 594100857 351766799 607991629 370484587 650208081 880726685 435576135 235312315 499296697 5377467 869879115 841411839 970016637 861647699 18355697 594060165 35547703 350554969 567839763 576349989 462768709 485731271 665206229 591628091 358453715 404779421 935792549 401114287 255205839 262190055 557161783 882011375 356709105 948559029 739144327 831761649 561038523 836098597 826805463 327317043 539323507 112353111 378577335 208344507 944158251 68764535 458024953 903051545 496255417 948916915 416852153 16000353 611676609 629702987 362006621 586084403 209059495 604260989 832474511 859086005 447826847 888757141 943324229 662913683 951553439 492898533 57391291 393510151 876153447 964774087 890505333 24678859 96269185 358695581 480027455 164804649 938325309 830845393 590171693 590424045 197567409 934634199 200581789 206270063 761351103 30022695 886199089 485845899 216176145 420566341 910925525 425539753 778669587 338696635 721572801 773817273 267195649 181619227 384410221 780628525 597257433 517584127 825813663 879964165 978025317 981846025 492230755 919746247 687320371 546526437 998588687 885977219 11562141 114493507 846572605 797899981 576714947 276411101 244533969 512122821 579566221 263237751 499146745 612476689 453406637 971509979 298554919 730200797 447315863 34531035 875093019 930919139 413669519 936756049 434066389 258143581 523807901 51763231 121159589 17049621 17086607 582210353 176366877 301043545 729658111 660722039 641086489 613880571 290003275 223094251 853660605 194194271 585532575 824982161 711089015 713123943 598908137 501571443 128215547 807350915 769173475 292257699 900868677 928089513 620634121 481621051 276066457 777635415 295970729 910184797 336414595 472626837 346174925 676749621 1211095 700889839 953744211 802905331 264562865 40101243 932117465 24844753 525945975 540823257 789869253 243153429 920663507 191830831 326911051 705041925 306110909 347478825 308172897 900552949 346104173 646079745 805661129 489445439 595256681 745323891 83355401 170934853 296858237 623204037 821447539 583589233 542142653 619365317 263582749 197205303 689736327 957732555 69560553 922089233 608399741 139905715 556300161 90403199 782623117 177631719 112588369 17090829 841022441 677859665 428234645 114233677 529703951 969499497 517326925 690488793 803713733 208625453 853427005 447508309 435379987 45281061 250698747 59359335 95510865 513297501 916907483 888525509 118567449 780162411 406692607 869009449 339394383 52374895 707622225 139035475 530603809 65024783 469241213 210458383 833179907 447187833 83610111 927269167 582851247 528333665 91432469 489923469 989230381 881025545 228067015 50879755 908187079 826029621 696625641 402351253 172802833 269059893 728503567 367305243 680290279 655625691 235230363 754590617 617576045 419557259 655316661 536664591 584928019 175353639 914677325 48142473 964021129 643132449 970602523 536896281 110285261 460112235 759108513 312131545 425410339 293560965 981341733 470941165 344819477 479240311 568229817 373945467 894268029 435879629 519021109 92380601 834760817 917218461 282649145 373623265 908468057 157894023 612275245 43899955 341164513 488366257 467272001 674525179 372803579 488501193 90591341 426020749 349009381 482378755 993267569 511722815 892856099 358492961 108242393 662120053 179948931 818205799 549538287 836503707 98470421 789644709 144685521 688483873 5114425 272589871 873359453 977363841 692807313 535283685 409987641 769812545 397992459 504554027 662322905 760352743 28872411 410594033 769198451 533871367 117891451 846779821 206994439 849499195 500800433 264717919 444195935 545018151 74668939 490841227 457796363 791401329 706674267 909999679 486956641 788791761 609325501 54773521 669542275 223448315 523778197 587405601 612738907 217700023 435252241 614846997 418125205 940289227 767052965 276017179 591101357 451993099 337348365 759221481 430497761 32571217 973030221 458418365 578924091 612604033 945794991 763076445 929941897 992818561 520859595 73765143 60123239 92606791 382215549 423042499 258341425 577696973 445222887 83926975 954857489 263687189 385457269 905713393 612134903 877443367 459848669 739976133 167914909 753682199 188941595 627419699 228533633 860710143 111904883 587562683 658835947 461977859 347990641 802691935 915034605 222881611 207281387 907348657 244096095 757788937 197017593 250989767 843609825 284228983 898244867 342841405 723385563 258843355 156076469 756038459 115750013 995270523 73034497 391598703 75129791 127601835 684150823 117418511 756409187 256982983 737479591 388277977 132180975 909158189 533193807 73733907 399894197 252254539 987805749 57231245 137261773 507526033 758285747 40834715 614956055 575347579 170432621 498287389 277554745 80085385 453358161 263171959 183692199 648778825 518167699 842905755 437999767 350491465 295525039 372788987 390857739 411979301 56894823 12301719 258867913 422317953 673961931 742092535 420048995 980600325 320082989 688384551 594343471 315339107 984155433 868743103 829355089 663630167 571823267 935834843 409480877 653523617 147886795 191745571 786148855 75464207 608765201 714465989 198092453 510273391 564620083 912366455 962898935 705992349 424868403 286030711 295809271 676762749 500782433 196446605 275005299 675570679 260158799 833295619 136494343 38522621 447081179 770689203 867770895 91631499 134523431 898066427 663569589 261436577 474095519 55932353 548038121 39846733 30306043 183521137 392777829 736515485 892817971 947090949 929559463 704390061 94798989 210929399 188734713 976116385 785740181 705126225 741040745 290123681 333679649 944610975 28322257 14546143 367119689 266547193 577976785 952044695 427696503 700830971 630933713 708003851 416023889 131528909 222743553 582560899 948720849 32018205 806505563 504878163 869979183 248505633 987559837 758334423 667721459 278931097 566503247 339994221 531485925 77762759 26151363 686450563 426061085 250186621 822219537 636367755 82793717 827293711 983490073 770099453 319560977 489455197 53665667 877565275 480814689 927192011 720870079 645578291 880978195 491208267 284670213 208796179 983921577 256489295 182657623 99568535 333041637 422962905 52089979 503072867 833955795 583361133 241392643 249766943 947154119 248492569 919881029 365813629 825342045 948982645 102735205 412186425 498916731 774684317 600735559 207639829 750608715 115180347 33207967 458546905 490355779 900701561 23024867 723360603 740851999 788086543 396804693 881327473 58943971 454089275 637724923 563459329 290372827 478507715 46951845 82113523 828092827 172116727 369692911 790372153 417654273 848018603 909262901 358119887 129576751 347674687 736042145 59515831 385794195 775407513 229362725 857615097 629983455 597368103 640186999 914623147 344719121 262731997 395112983 335502819 392047471 991835965 145622863 932671687 473876609 127287371 313634093 80439679 896843293 674201749 148965515 137017151 658656353 777378355 282580745 920411455 92608177 307340225 749495311 829406145 551259319 33610089 443096527 942018323 877792103 147139029 390849597 875640451 555548161 824158525 93978653 820466031 27752709 359600735 853519351 322658357 949885763 901280131 688481561 684187461 826849485 801430387 110177949 717979147 445248511 231365771 316060259 256210437 836583551 765349797 986043411 649537973 344770103 315676457 117991965 648087459 157940829 208919043 475395769 667212645 980703853 92291245 707463913 279844497 461041961 456850467 945124723 495708621 390638497 755970795 926647273 57929153 260410407 829318163 791655331 594311713 392912217 291072051 99948737 147273381 715338009 142833769 128927531 510471185 854890387 717342041 473386895 901492013 98909247 506952755 162731627 201101775 392379605 758485933 814463737 730536397 595102811 694583045 215225925 673587725 653932573 143683331 676047391 57984375 138152623 487370483 135742495 794479103 678362863 689312683 666525347 100508061 124769023 154666635 168386519 820595541 281279309 118700153 642471591 727843375 61977485 819492067 241493455 610756161 600995257 366661823 447848141 110463905 113730327 265539465 541228779 35275637 175176501 518575181 770071097 932689637 963112675 722960019 80448141 794153509 963542849 286867829 845415561 328900461 410327219 928429713 322160279 799583745 989598691 531034379 145136099 605895467 820780231 236472979 583072105 477429563 838963609 394807903 159503591 97087631 18535393 40501807 756965863 575331463 86180713 928109893 493713591 163373197 408607557 757777779 795250545 526582035 953851089 646900751 948424949 62054039 416894131 327343861 675469803 357575829 813805013 762987405 677492163 538096797 70380141 246711749 740788663 438014271 526521591 352790289 420124613 214594835 183341367 320873331 424962997 315083711 618371897 162212975 251974681 350519021 243667025 789333013 424259401 182071115 384513565 840810489 133447781 506028439 222429055 58069051 454346325 628450195 910986661 79817343 34837193 33776905 805210369 853989109 835267897 542827723 395174481 348351829 833998311 364978097 829014937 491842521 340232921 558122401 132093223 291404875 50237665 826670723 740833931 939837687 931269783 359058763 147659173 273047475 871155033 46312177 220541847 115379425 81701971 68928377 992240591 215479905 511311731 251113709 259301633 336408743 72273521 902609503 403270185 925484455 219108813 181370087 389399433 685472223 152798673 592895147 858468785 545709397 611897229 683300821 520256113 696496793 812797911 953977235 650479081 758100927 928076371 775620389 953555837 39705959 61681765 191916233 308289751 343421365 571578945 516027593 894360301 229926745 477451227 426247291 529831163 734982795 731543545 561247543 125963653 805652485 601239837 466718559 428260183 916051473 805398685 91140957 329275525 20061051 154017677 598873765 450896747 272124571 342769615 496797359 3161007 221993549 227653899 335996415 851120957 700570873 741887923 559664927 628318535 740022157 906457083 18544545 198722891 506609279 615985383 50779421 982572045 49597133 243669823 400051257 745398425 739704573 926672017 739241887 694600515 676663327 250530871 416593151 4704425 913319623 259159633 511823891 577330349 848819733 545221319 318316447 258261885 955261101 20543561 334653037 5406859 576370625 287407441 237493327 905554327 834126851 429535003 544962333 802118561 903557813 804873909 668959165 255518201 442393753 694130155 185429785 174337839 214703875 36979799 654218017 834815523 932845763 983160919 593706447 357558521 91534653 749189143 883506727 206338587 381991251 140758661 590346547 694951741 139456629 952469081 871981317 758450783 965469593 753039125 674981301 330152643 463363133 793694719 381252203 158139891 785092967 759173929 754520651 768805575 788092583 935113833 98713995 334753371 673228561 735563363 805610595 446754575 167096901 407785851 479198231 73105813 771967847 370100965 383570929 408389085 349221929 39090071 228163139 65790501 838172605 384786769 667126119 351059951 211099621 451267997 637347519 225974539 466310117 183558347 977380277 561542285 342242187 654190833 474148541 728795597 680610863 310639857 83773009 947120499 410609069 520466805 942049265 641653867 494275949 821546985 411622185 61186279 802439005 421800329 59993227 179476325 250369267 680936019 949185201 12262827 846019629 90897425 516401469 147886017 116712595 329836881 21833689 141283069 596091441 240001133 941689145 356943613 373800093 944749189 566116373 707973795 394280439 579122817 302501939 14610717 246751715 6782483 741156185 959215839 118104211 486118575 622388313 789211299 294236091 9532569 301935633 511171697 559891351 992063449 778905699 987219601 212061681 778031933 61197109 863029403 521559317 614059359 711068029 683268713 536458971 338581917 213438003 352855329 19276193 219223331 225549661 973673517 180418379 393402847 974256897 399981635 817300553 66378123 143493171 68269151 658657425 632669347 932841997 817400515 77901985 32871797 320124081 955917823 90700929 795737869 973660233 420655589 391845565 892875843 949407753 191904403 854485355 25319611 490850603 757104489 177300267 560310233 591322607 349065241 947719715 731029969 177395873 257894803 237437183 701114521 907969171 836102421 392282617 447940851 667597599 141572387 125927373 274300261 156224679 320303753 32534721 444936513 731906455 675937629 323262371 896135069 131476319 595462647 609160395 790008411 687359353 27652607 660450069 194903845 25346153 956950369 375952107 517247081 274684089 57942865 432313143 822175837 307144187 254883657 577092209 140850183 117564875 977222159 390094743 980737065 884629191 27228337 767922481 483253849 911462811 473406335 173791817 68839403 139545083 470703897 285943675 632440065 516849569 696174947 12944353 601299333 813876557 315692167 469070883 483383843 588741579 831213049 536473453 7984983 975640813 363015033 439143033 568650335 426874509 968504329 203085443 96661059 759635855 852100339 218894417 929929943 82445529 757699279 552222513 806605743 63760481 967396983 665636347 463148845 969471521 632606737 771477517 401832825 758633753 979158023 847913547 851343235 673253461 125296655 395025445 584840707 258504167 769544229 153801875 901588091 511281131 613445517 45430543 365708849 856295295 568891859 4145825 936062263 725850065 588484043 839336665 748710757 903099665 961621139 412975309 576661339 21081977 576945293 646559769 505430401 435925071 549450341 232599525 189400839 515189465 221676051 829466079 988633829 590076779 79220175 746495291 234816221 466612319 640246559 611752891 726901877 844421911 973413327 202228387 192681981 696711935 679926005 945762243 483326865 722467975 808927721 230173807 367694351 864568363 142256981 243464837 286308381 970037611 389263903 254542191 427672367 65748435 817404033 25251607 986208891 990365173 617034997 997359349 311772161 556339821 211865917 659750665 584343947 590886617 622165351 748090581 249339305 768607975 763299529 3547755 281646257 176798023 163779325 313848161 55689159 230313139 667941097 283621331 396022735 820806385 707806647 227171689 195393659 592320967 230440413 578591825 568888133 732237833 122639895 652638783 826328171 470285457 312597607 669386613 264051191 255089987 774273309 184218553 892940983 478531079 206908875 914906453 261384007 586806735 84650061 487470115 40033027 417447829 960639945 894406785 221454613 60813663 560592811 798278739 626392941 792455987 862298277 914145803 876485 250869797 334181813 847856027 73867419 821673809 360594719 610531203 383952951 50923221 151427439 96340427 666405803 281527007 228956281 201684735 232719311 93080223 353908315 140661559 293206595 403434833 399674487 141188367 109937775 529607989 706405499 810228399 694245507 792997527 313889625 191110853 614256759 977872075 584190543 502092167 786129165 237132071 565208547 222212531 137765067 812909583 38598365 876617615 996217603 373593583 17906515 455577579 390243021 871648823 50221987 570754843 38354441 265185891 76856689 177298941 293661789 81664757 827010215 43569403 361534013 602701429 896373371 903800063 748940767 263673975 353289319 198535811 351131205 552131223 62282035 220450945 468283957 407114099 636924391 9606019 193448769 158741433 615742683 158358165 908501695 658973465 101650089 141120591 581736659 369984335 870911799 566082509 905691489 451394845 874635951 627131319 981280541 804973387 809378439 143569723 665156221 258966957 964610683 617927951 97244353 502970909 227187087 676037745 640470259 948709759 230704399 122883111 448758497 239711931 145897359 179407745 197116967 417637315 86118891 353367891 139155233 415776915 249527881 921388797 916420601 831604781 749955861 60031845 747818399 209817 340315137 211447287 973916365 558689003 509295883 993982379 124137729 310310463 642299255 524868609 333402501 910388403 412868307 506217981 385074279 956453237 469324783 948771117 872018305 549795509 34910699 537479849 640054131 472352943 382941993 928007181 727475365 555623589 900852823 223758977 949368391 65607647 501752679 560371635 201818963 694491315 869635737 741762777 906540423 291587959 131637101 455203761 865672811 242285457 250731955 339054979 82716241 166842985 690829947 243009561 313948497 223329393 854087973 641365199 813380683 531117605 94845525 233445759 778555879 199420165 371301621 42314639 355645845 858714783 463052091 856163057 408297613 844112769 504752035 164387607 985368785 166153289 803652079 285446659 754645543 910657173 591920687 461855545 130747681 543804947 775976885 199475399 188692501 787140981 226510877 710111301 159504423 865958259 536666189 429201359 521279035 201352655 748709745 275263757 584028677 968645719 526393851 563037741 761583867 190053849 775349929 33205477 181623647 54889779 641776511 34285941 672492855 544475203 959876809 383661471 563495763 178287863 916712475 370637749 883840591 564612161 463527763 370024331 799857031 425124121 509374867 418881409 167612453 934159745 702430791 69423997 886066715 628739975 238723623 661677035 287626015 855247417 666134571 282449605 266429361 167948469 502911641 218020999 598400539 978003737 899834365 350797623 70682987 163817875 238652973 359305059 921450619 150520149 908323651 614280995 666996971 59537815 997062307 324158739 480835619 156891293 12445691 658173275 201225813 977259183 507597887 24746667 793739125 70700323 244005545 611388725 726588999 603412303 738101697 609167289 711338835 645222297 406134353 237830781 184345063 171125865 776843371 73021009 834115357 185183025 876214385 67935627 163217109 696529261 937975297 380450567 816547511 365297567 207292171 126498091 656848691 160190545 102994115 486904553 578359937 405512467 228955813 157006005 362320803 584026499 363978613 305710987 692011361 783752767 403766847 884745205 930041159 572658167 341824855 338198785 497171635 288624215 208625497 264090435 122538435 616348957 419443243 522298841 372782175 43689739 672311801 799651693 190745397 923330793 973226549 458316073 504440003 519665805 380850845 716210629 995573827 296801231 681310773 487588991 678890689 537595791 690305609 677252127 181590541 116619963 678275951 217781745 394632127 298123077 422494337 316842699 858294837 807896357 548330403 230847501 679358363 864698719 318592835 66329245 619113181 693114109 76368659 135367145 670923959 817046543 562620689 541146341 226545319 970961075 56583299 147293459 567154679 701016073 585268977 375371127 835052727 551929659 148198195 161085345 492240061 619357307 395916387 430663845 284795051 54200837 555584229 876976161 791642859 783242011 80194409 469077823 682130089 129532167 178536925 235921833 523532001 989126169 616670339 328194199 481533777 225254575 160607453 267580361 275371395 474478121 551479989 842595457 571404229 981687793 270383907 572742289 492237873 945434235 506384259 270847823 865491367 17902655 696813685 400958615 306569935 164867265 253477099 917336017 680721177 297340297 732627733 327527145 147186111 313383213 107497329 144948569 79218367 236281925 540105667 380004637 125775841 864743539 266543127 904599483 129934775 509219681 773616065 154464067 17071257 279308225 745813085 194492233 925673895 366785105 317673683 865591787 577492937 300060367 835546185 458156755 611643055 248216325 715765049 182731307 748581329 851070921 247191131 508710827 599086449 918873075 536633781 591998355 458642837 162408805 352658323 99492261 183628559 638858761 466635659 923215413 125367415 879995601 710810999 79213843 958252331 289521851 263924859 764065441 580460631 342443973 280560133 347654341 654506985 633045497 391432905 929544685 515683737 355774573 589849025 44105231 739492327 399039545 819002165 268035497 955324189 533034879 117598125 294278337 960248395 566150761 141598465 480673255 603205703 766472747 696616267 395348783 67230389 633259517 745860593 312768823 919073529 452184099 130747549 142301737 516858695 22869735 655517253 105146543 592594835 398876569 105931301 181633283 322446499 769224087 460091583 755098591 180318969 782120769 905469667 258254733 19188203 156521217 63215779 504731353 371641997 104969803 605140061 294990363 575986369 204231831 949324211 702808111 550942255 86127209 622972561 732100989 1654601 242774603 197340717 725892851 217447491 428744143 556989955 983108359 44107809 19519631 270091479 784558263 755454891 617508141 139303351 907682953 971085935 813363795 312402675 596843405 407965127 304565 803569451 313287767 537024979 309382411 971551297 798978565 51978875 770305305 617112675 589774145 441832559 220395689 575457027 881868597 248041001 386712973 591112159 243362971 578988773 670289311 114675197 356420781 631711153 485770177 558223013 347378229 395381337 99982045 844265071 42887807 712142455 534600935 328883765 957040227 702121577 128394199 539753499 301791037 212075099 849227441 15842447 935601141 359053627 920903295 381698373 367591417 260573121 496914771 934767161 493427263 820966255 798901575 66243757 111968837 182946699 702948733 41888817 99431187 110699559 886962975 673854359 654485555 240126745 940336737 66144763 187849921 352648453 749730683 987012035 220147799 661257295 970061747 400437657 95064603 944699947 797493837 323882355 785158079 173803919 100406689 200813965 883203189 376463931 268310023 263833963 998975999 559063481 841713889 568382169 321653665 431059033 943105435 834738411 954993449 508438065 515545253 417305343 629889519 958182435 6957689 622286263 208451023 545817817 169689755 821460479 933047857 3039679 714324117 221153295 905587971 37138449 226853113 870352991 915282875 75710413 673335393 983021749 332810839 167824573 200751215 727999261 536744031 346764143 182209741 321622253 802676189 796830781 329558063 794048959 460995181 437984839 714854735 805723255 751842857 400616565 911433709 95913539 965333175 600930937 676287957 647384981 691516489 948251591 228584921 568925997 615058577 67019427 152267475 466591499 491777489 289227029 742692005 360561535 503045069 321458667 736374073 370380827 58180307 105701311 306912643 179031739 24474299 29604335 263490173 519623811 842851297 49383335 610527783 485220579 859077167 767852757 103889037 392939657 379253263 418167603 749408961 879661687 267553657 666698045 500965853 614500079 639569643 467829057 745495043 209914493 350762091 692051531 761705311 472094965 486104201 467209011 884006175 39950451 596681563 459978653 695551619 412738653 486317437 345351919 240579017 344319069 44752661 310415191 791088445 263839083 301405397 798366417 712380465 820433087 686061297 474415133 254709247 313215199 289830949 215726529 517093129 710981271 953164475 325952271 970769851 880267771 102784897 181081885 261709189 948911465 149457099 562752975 630033377 369109123 627325815 820277961 940378965 69888311 919263213 928480895 193115239 499221687 487455003 418679589 627262635 833859713 89680761 252348353 463646139 438103387 66885633 444931351 339348537 204069965 14602043 690497207 168057041 347349935 568386615 528890363 312416563 327792667 9248651 42328835 300402969 16655733 285230163 547702713 529099081 797643755 404545333 681987273 721189513 780017 114531 642607791 377341613 326842433 360792977 209258665 333565327 760652515 853320957 173360575 880200721 383277089 121132141 941338565 84928799 292418703 112571695 367466063 84832937 876580105 709927963 608814527 747648681 974557109 109794959 1078845 434564133 53204221 351640431 266736313 1094179 472707223 90574891 565025259 137908919 741906047 541770169 223425365 59473403 971060729 899293081 81969725 389793553 38352017 936989901 561604277 253733157 954681115 339667175 624142485 58711655 767959219 648900349 652583037 768955155 188881855 519121067 615422677 786331753 285467371 990843161 40137933 410144693 219093545 528835571 978006365 543015753 563151799 546818675 584100423 280470911 316986137 235605 694959377 653468603 335281693 326630623 69460493 609545059 291792851 492985825 799795537 388430573 769252763 471728815 109862337 328896723 713549847 602587943 426406913 355128981 101386293 374937267 488919429 462290369 964185641 728826685 799169923 753698533 589444717 34377277 563018747 190840477 475505351 325992881 315960503 683198091 836553029 111008545 618107463 740319323 6831929 939418265 794583809 340612797 222766143 538098609 166532105 990481005 715464507 638718597 294250051 317206827 58779995 979087037 201529185 457788611 439787795 546044037 845586141 843766281 301342495 839674775 328809205 813815763 829999491 716907567 86498739 235524613 452125323 749427731 991665125 34264203 453530059 274973075 601134119 917641813 469336863 386894467 974858197 476085343 243423661 52348739 298787865 241978537 87891679 712919479 328933603 206956351 346226539 174600271 803853805 810786613 412680781 679309571 967734197 925887905 354163145 626545741 454874755 362288807 462705259 305816119 488704873 11334771 692485129 926860621 778343231 421811765 20599483 983132071 865883557 325684009 25031145 76209633 405328899 286640527 406828863 242017827 767016073 540026293 928588721 505555739 274254639 709701353 927740025 931495167 847329975 327561863 739147293 96322699 862839719 944519411 555072361 810001931 214608721 251573397 759143539 413026887 497389261 823658207 739401109 769957273 625971195 392394573 255808627 582455007 221589633 103357535 544219387 730643583 665575635 631108769 999176289 942629221 889686311 183219111 164386337 181858827 247281791 789638407 555966205 456868715 194274721 448368997 69524997 655141391 106693663 902572397 638672267 260561155 583492431 802451151 623976491 406983391 430797141 847505735 844449227 243800255 410490901 926316951 773170837 201506635 571562051 248612999 562833407 850019761 569812053 897042411 38421957 222720167 472667019 472826271 813794025 272528747 62963951 166430337 604052155 509765827 486005839 474021759 43422669 857289727 833061191 845165705 17602301 783126515 861571123 424739227 933456493 593120255 77966141 466863543 951044745 19052295 847696213 118372837 758060809 910737533 370633525 389947451 819140581 549800787 196507227 424794831 981666403 994526475 61203985 952583877 701970959 11682985 873336933 411449161 528507839 99936187 195270961 888072845 293356171 6227289 108389653 769952969 3692765 435873055 427117177 159334719 699118939 98601013 556270221 313886013 305486335 520198729 357813835 318866193 13888257 521171089 22240625 928370967 387996137 386944715 616423303 346709683 725458559 862905917 460565215 38736205 708570587 713907383 708383633 566340439 873625943 251967373 965368445 451306829 595088281 160982175 834485835 819086513 119732107 932255571 658734699 266507 266984801 839045013 597842965 688018159 770792859 704216799 934728011 600576761 640289787 274167597 430823891 665373385 273829517 723624453 314761791 597038089 284757157 835176309 661125349 783321451 174303711 875233557 396746473 731081643 261446433 210499841 654840111 346595977 843391381 734776033 827196267 503909331 412808113 645005539 479702803 995463767 365310001 63824573 283953769 240382707 576321305 351938221 137930611 710447493 677128373 235718779 434328321 714856955 275609 45644915 481691567 810411847 474551971 511205995 99977433 274233441 390568949 941259971 727712169 826565965 229172221 540902241 204700689 496634387 393783149 963600561 676793799 852100551 793984835 459978925 317372235 915694981 3535813 264413135 191462119 87868269 862749051 228267553 447521705 314406825 407047229 598301233 816897131 928641387 660927523 294288915 761184461 811758575 230476439 217171045 340965433 201014135 722475329 152045903 518341851 275346507 327474965 333081471 419510957 696175553 720152403 26980139 31941233 993990447 809004155 771945747 3360943 834916603 382609757 369272697 532137141 724961165 593193995 141932847 939700637 677387353 228815073 219521161 681516359 409056471 48183685 387473511 878925147 817607049 692675553 381581615 187232841 615679741 958334251 593915343 413755977 304714945 165340895 958476987 804997213 277505651 821456321 60462325 761249101 41473715 456628955 101807361 403243175 30296619 247050887 634747375 960909251 125063821 134117723 221688915 839795397 357365653 185158975 669924683 575062931 285630981 711312989 793318271 208431325 253502119 716303405 653281311 277432091 77770059 407657575 497707485 590964109 344521167 748279313 510969 536332093 336596755 779979895 616315195 82234363 127813633 687152173 850052845 417810271 97634443 465078289 897712619 908737991 785914541 587888197 611424143 840440159 381051753 981801783 676542657 321262867 256191945 976380059 765960941 548447135 348002269 813897323 84395277 207553155 783966659 929096685 854652573 822456579 659517595 128149679 278164131 315719989 318226831 954595201 601414831 382209261 861492435 904992643 633961429 338690767 329186463 654226201 987943347 935939391 605124661 425701613 233720177 306324335 934408931 805686517 125877951 648765529 737231609 845495149 752930511 74204603 96513743 62771159 445244257 512346911 75830731 304011779 416176573 52003027 565643093 772498691 656276911 360598257 699661281 383830067 769718925 514556505 280803303 580191801 585725497 500777907 658300651 202804735 526299667 69354095 175981175 825018299 190403087 963826631 813709595 690564585 119597985 879114169 111175541 241156685 515916999 867816461 987796261 611217651 472672519 304410965 485266901 521762095 810487407 233487849 16790585 261661343 145726105 527993577 221626633 518743077 653760413 886089021 177467401 228561135 751017767 108054165 874420995 45404527 670796129 316078185 280849095 622676067 811771395 176969467 285301811 455293393 375701837 585495121 603727143 283637249 522639617 183332669 606491021 86044809 625063281 674094679 22923353 327079751 154055283 705243389 853954179 818118493 542504547 861179483 63475727 322376761 318258473 598085727 394479367 699530383 845347635 286641345 23474299 851041115 433165943 555532801 818679689 558631647 851680115 96652905 745139281 526709675 410838573 112375049 366627069 839575951 567881523 178051767 800215233 164398253 750945437 667652887 847766741 6768227 66864905 478918541 63499645 515930721 996690077 789363277 921095939 366620571 491694085 906989899 565910713 98323789 74372985 613316941 127372791 725912571 143992249 953501909 86293283 567831665 454742281 779059513 95598247 384566979 180709431 912362381 357603313 660664653 913728921 732972467 473967233 514950581 235297297 710580051 103349973 982440423 329387521 342447327 193426295 617080085 376816217 508172427 19706365 353183421 59966861 677825883 406163967 753267619 407586463 919024663 112862239 17395411 338507285 500721741 841851143 254598305 873208057 885815639 53363819 351770539 324054501 562800469 975172099 218584531 932477431 102123567 897298579 813171015 994489813 523881109 823665893 245831547 483702443 508007681 580885707 535802409 685335859 951049393 620913695 298953303 617503399 973336749 211730371 120134483 878290385 17314503 234418849 843951533 968220157 214918295 584390829 941516869 606668291 363810939 495423967 190084927 98515775 530778783 739546429 17228549 835357849 173456369 864145867 435475277 197961087 86462761 567161761 802086929 654026983 759511497 475043031 683894425 909265487 202557719 547433103 334307437 264795327 904621861 449538035 122159205 653667265 817967561 687151927 455803293 69876335 298089383 890287253 103284341 182670439 185800995 66733389 319157663 273684175 88807793 694116011 461182219 444992851 192768903 286091521 848218359 19785005 988088101 587786407 539471591 576716311 407158741 63352069 834328231 157314395 28411879 342072191 192435531 782578375 309194097 686775435 432968751 697291693 852179285 489629345 243703289 90240497 871926333 577243973 207823765 790654709 562412437 3818497 884867381 469550249 562813081 171704167 275456855 298184835 171274567 720996881 901525441 371471489 398773609 789308833 411411579 799745577 407767437 595010499 114680027 591778187 312895501 237169959 987602559 315200059 756899337 66497159 293411401 707694169 826208361 355300263 993445735 78848907 137972959 906329169 718349901 328748543 775342815 493875543 884416949 19693417 597391021 891121555 776803751 148819467 98177617 480008935 91920491 292378025 800019097 976533311 346416537 531154577 558536735 950564747 510366475 475852955 897235521 48240325 132189671 340080675 530067499 558226673 578080151 791874321 766590411 180178969 766382289 513731541 728512219 892971343 599679633 433362017 157603287 842153389 45933337 469671221 305428749 754816853 621921017 567203927 270614921 542850675 954774019 455677015 942711843 850193463 213286485 806827849 972723327 746597339 952003921 695312845 981382147 611958179 380986531 539260425 551097053 729770457 724420417 942238891 116428041 520375247 14465127 458790375 982823239 408891103 981665433 395316863 335328797 955233133 245197987 952277687 252270813 63973855 156841627 862604125 466350749 955532715 997393625 790654665 86765377 410037835 575799045 461396953 641218157 758487103 310069003 715658993 965493909 107284499 237229599 190407425 277484525 13323609 4595643 170785919 451510651 540661675 840310949 470201963 926495235 125888427 294489067 794201927 682799381 136175621 672354781 223320101 377134091 737111145 669290779 945469849 247345413 902190739 325825929 491672771 828549613 571058499 16853841 331819081 596270959 485941573 436846055 106286425 249680903 614345323 465087755 518119081 575289075 53557391 231130047 615212917 649638715 159456403 253923661 735050887 973882035 379690851 754568781 19584813 743949039 483602159 409891225 507001403 775238737 84686131 691010903 651403535 646787329 361798959 699225073 879051411 944866799 641950191 234391837 660812337 536728531 918912901 800598231 802157281 829891119 44022795 257650787 901345313 515023433 10856611 57683277 912740601 821060147 28406905 540819561 328429301 40382917 763545533 278421205 135005483 696272287 344953003 113942259 33142077 517430313 674936451 994538351 88788043 227115667 633419921 325341249 69918217 826492885 880403239 785533345 793635243 477509553 601927841 345325845 44087023 409983405 9986141 302183529 968592155 808868891 359885769 435335859 357074941 122331921 622846805 283143499 478647021 478260083 60401531 849272027 892811721 539522533 757693889 992351819 153772533 615011291 117060013 792872399 257418595 127114891 741517779 682705895 660518277 649914357 894542541 45088339 824260699 8881635 695983167 606224673 319117165 763448549 163312079 670682535 315264711 947062097 358922803 505420671 812408319 573893707 746281509 71276943 775581495 268563639 212289893 968759041 300837903 928587335 444957633 450896459 466750139 892505717 136884743 363766825 737084655 940163967 577111315 240947869 585419497 378445167 851560647 581814263 220820591 849084179 240930575 37373385 843503057 272420103 716075739 807687663 749438179 67299495 847702311 430648719 592652291 949436189 745230323 479573013 572792603 644472409 171421517 289515571 293590165 651648533 916912707 407661287 330046571 284764879 119961585 351561333 172321559 327915727 614780539 95788905 335447203 856664871 85102087 987047319 955915163 916739759 678952397 430845213 19053077 827951879 329457409 344049501 665791667 615890839 430331883 783122437 107737495 580857999 830073041 248318471 557919599 272136679 248267527 540747425 327964277 747302497 377859049 259431001 800114533 675734659 996642773 739305975 800809607 133291935 940436793 383169427 604054181 216693453 911052165 552489349 21305369 606459885 787731509 290579831 74367425 799816357 289307593 93103953 343067651 595404137 649797839 479843913 315553227 800357999 47861461 927172057 37493137 918232761 235916151 551639241 312497237 468026125 569856345 710413345 439308955 679705853 869827361 933819449 733352305 349576159 555098759 530591659 601471853 98102231 659098433 628003933 771297713 394503369 74197009 473821305 75756255 908343657 404139459 844478325 811543079 985355309 35128363 67256589 293241407 761777749 510334239 110396485 389554277 36174059 486871941 151873641 277992287 620740029 477932099 579641869 816801917 378078823 912907601 534031373 727251603 428478277 413568677 54023823 438678785 752004225 66097473 430800383 655193259 341233421 414686771 502644239 152171267 696894877 163000201 527176893 442873083 722256309 853747039 462229839 416940565 286720669 171665625 736373069 155975507 1136227 426437407 870282125 130439753 413791457 105052259 987233069 892353031 998010039 392685793 180257935 592571953 5551181 389402073 67237985 192325097 430950611 361303705 491038359 505387231 812077891 144399727 98558827 667848265 762011995 317312697 688218211 783206885 165996195 333871573 762099021 375280889 507282797 966508593 151379257 307229013 802681809 712455229 709292937 601772109 168550575 621747317 672940763 552223169 460377263 740002907 13266975 295113495 869401409 426221943 275656073 355822651 362274205 178803295 310012309 509371559 609336261 544380329 6389765 350969429 150974847 812083451 418261737 407676111 573679453 866243069 467671955 532090403 618210741 534583137 88369055 709102051 104873387 779568611 847989747 531912243 322299939 779982149 584530363 94793397 734121681 83182415 394306921 614850457 888813355 660728023 232126395 886633621 5504371 780924083 398421173 451736551 255637423 598262985 943049379 497310039 881391791 351061249 744853273 826424111 517198607 389818445 952334837 79555403 942761515 280951209 491130457 240158213 50265389 716072215 998882225 43709251 409466375 212289183 772530357 643278199 711660655 158466391 121558109 764352147 811993317 764585557 742805743 737017625 980094387 591550399 595688697 654987533 389200871 93537213 21401675 34032893 511338587 696798081 381305605 177670913 11323567 113891911 12771977 213815223 115058253 391848017 556937349 400727363 179961185 789734889 866554861 885064277 853954533 787823199 408909307 362045731 407260827 141273361 932071223 305704555 106953227 491892829 536002155 632594037 409054595 501477553 37488553 83668493 724534301 972286335 110099795 838789513 860377529 814484543 469089543 746002889 211140607 979778933 519234741 698572595 37900127 400669609 377228689 706242229 340808721 64320625 408205591 750159555 745761559 343042403 146653195 713074271 902613305 993158949 587360633 176805389 87333893 147943519 640653237 184949979 843838675 203405509 619163483 740156769 272771527 753358351 576194641 738721469 787290823 190912767 183120579 269291923 467729539 420332131 824132643 401313043 273592691 956360715 864581679 88578035 632983767 827836879 661463531 837847923 89602489 637603477 94264997 282797653 330561001 11128133 911305453 974305771 897879807 836027347 867531171 389657355 321893721 440192055 640839401 582580497 264467747 978090867 444475181 662502117 523893065 27362453 819319329 360894451 559887495 127294893 888818629 534287157 325311069 706085075 149002585 963495975 631781391 680256813 527405163 630838735 187249587 532589539 681104849 126982587 276646173 75588393 155679397 987669251 533736177 710736183 245861709 219409221 980414867 656141137 521770099 441100709 934902837 234302655 81617419 509266899 316491217 78077399 390550101 160199943 184998437 710194929 507015891 162929403 995003067 410694509 979377999 485397753 863991265 358459067 167944929 524075725 838637489 536831303 624391397 266055117 154400011 771004815 689483771 931607001 666959511 81435925 889583893 886949463 902786501 350138723 740496995 810672949 400191951 18433291 863943779 80964585 970271923 211013285 500256473 640127089 11883065 78917079 540788177 315505747 436030707 16847945 892347551 355056541 704353593 403914927 180875489 779395559 922294827 73648577 880752505 734366031 691977905 696769859 570618259 849924985 135743099 41814783 29799335 846681239 300404481 943234501 892322925 213008987 749739653 268661875 830388203 827391237 343416589 488254185 536531053 262711389 133599595 619004177 555580809 255563951 590628919 170533855 378456345 485432787 125648591 4533323 490515009 776044581 608109663 40530009 39975023 750963085 976315093 576854547 160448599 984723065 819686377 748927115 400265459 780288221 102113307 276320473 346594443 673635131 922519989 788689699 950095271 799718297 132944839 886181777 943115807 439170689 803304231 170042711 458410509 74580493 175524217 407174573 366265559 828918491 47034913 917215959 638914599 202151183 45954387 693843231 307642611 842751835 177257219 732910551 512825975 344576497 771184119 84252761 513496373 412026259 237904051 551246599 610756605 141988483 102984839 552549451 354402529 653180309 115068557 844020121 463753791 630820633 521736869 136761449 771724729 659428337 915362937 720715583 127194427 101038211 973404789 746520229 651383291 39914429 68566739 610548781 265014645 520322581 416315031 91931503 155343981 901613705 244920451 781232401 588641777 612918687 265697835 191989693 365621329 723471463 755118311 555928865 329278509 871722357 186706647 671069437 352457063 462578665 558269411 584624143 776252973 528237673 618039483 193434403 282327025 119477793 798940121 900957705 840958577 555712457 697683067 120779935 31500979 341631649 721737641 123404229 591917567 647503725 332642613 37985383 90752749 359664507 647975607 395387507 614514263 839464867 661174925 519528425 365174369 417192257 608584419 992068551 803169145 503974717 769004711 431387417 84421459 570635013 424486545 476711407 373758955 266557839 153301027 569561703 711415939 122608217 988267683 153612193 409169067 796536425 645799971 102992585 173287221 458606415 913516153 295216655 357543741 119768095 158771785 604289965 284853033 192611961 248071159 459608807 324915619 43582851 438197943 415869191 370508449 401969385 43638143 150586975 564591711 799353317 57076239 573670729 489644641 994148913 223178225 264277287 420180595 570602775 904098165 659677027 615253929 640177251 24447153 804697201 292456801 714910061 311662215 922354379 843892285 926070801 976948129 587253745 618474281 645578169 268612459 764748655 154825309 640490575 498754337 393089493 93587537 83684171 118088385 173458881 931208907 214293675 93328405 557132499 437216215 764856309 463922603 76751031 343802059 330854713 368712669 204491293 357252929 440401419 892418507 453307839 695583773 265101451 706461789 549555553 888307853 897926751 289833285 639031501 177584901 258811827 149141495 759528661 337461311 574195265 303384247 212316243 447968833 994810949 510972301 887481641 263115097 941149571 16552263 662073667 756693785 159702607 635042431 734267793 230095197 408138363 553968277 712995597 917562185 946891365 705265327 245928891 875050573 832676853 23882945 825462693 488126231 891444633 731438211 527977949 511031977 125114695 360398961 963265917 730389829 293828991 780826841 787953833 816995191 344868419 176992455 648230791 667937555 242892837 115034899 73386829 526563381 845193017 129351009 512403253 944634947 681911327 995377431 435019647 924591337 26294013 690834019 485616759 40115481 433250945 642116417 847065967 534595089 821713631 550259825 218963905 27441237 702208729 130091641 942141391 109326513 256283315 11668139 56723461 677311801 97325883 40504349 700192721 467575371 616130249 599737011 148578995 299416457 182499899 387164689 162534697 174648545 382785013 17293995 453633471 284972421 436050663 228133045 703547911 726213365 483928455 568222517 49961371 847723505 771882707 355073263 558470943 618032007 166818643 90661747 602207545 232602637 706119699 864475675 623983007 765103645 619682217 498737927 175565323 358226331 145020725 384781857 944699709 193586869 121328477 978612757 701772289 934890207 984584527 330640735 767598121 588636117 288712639 519221565 130925967 296606361 973643247 408444599 164415767 815218811 682061987 680656289 66163623 370029069 43253035 808526735 91989301 389512747 373442651 706581731 334998971 419486459 170880401 762887109 208139321 680724199 724204981 669744933 676424635 937975717 156386359 383719867 414608467 719735601 524056073 605097737 40636955 771330767 848624811 809647701 318129719 590593547 96048421 748971441 332804045 807494073 828404995 753918709 802827027 867466485 971237211 824297153 6468163 362052645 326569933 238873469 552900765 231677941 561676671 796172889 48091503 901731927 406340127 200335949 608757511 302952841 148959459 42908955 729799105 755526927 42294663 800112201 166438143 910748343 554592087 767529513 442168365 663034257 301995547 358672081 344116155 328550653 544300845 91405605 749135397 812140445 804360299 453624265 181170923 298994271 58950457 865343537 395083673 405961079 416416647 179525523 742814401 766449503 90073805 22405103 458286845 964432863 107360005 963653391 383655409 580338943 231555513 636438403 255128899 679738391 507582197 729663905 762656683 841456833 691978319 277737613 740044253 910110689 526645735 870928171 471836577 508265127 83948899 467596077 462093501 89371521 339525361 181844493 533758469 740858673 291306055 662615561 453990483 611855289 268398499 762517291 649122699 373813605 890196171 687140419 176873875 94827465 470940685 167914983 475379555 952010945 281551683 339915129 788185071 530734963 890992325 327968289 978047807 469014345 531251327 216314319 736328537 180626681 770993371 508483133 112980305 421963135 68585425 349263337 120307777 261927199 144312289 477465883 948776525 914970213 89561869 706298597 654094237 142083879 240215017 563176479 209536355 339931517 498114181 625591913 941507803 97295567 907176323 808207659 911400005 309847753 301924617 322315413 855826413 673555551 981254085 774589087 150859559 258198731 692164077 952562187 596461385 877922963 372253247 13182305 380524215 7868037 416225025 549081069 374809565 301758129 43909891 357362893 501459499 437311351 716700313 448595423 544029 483051129 843703971 937651403 211799861 680371621 797973381 950092799 574565627 291129903 797835313 840180663 86784003 550441363 548576537 544570099 301865959 173572243 889885503 928734329 675732811 59004991 80542501 533948891 77091543 815048425 102969823 687854191 717205053 321597229 240623101 433872473 307414329 546051313 592033441 19829117 489914507 726534239 890120305 932910223 620009729 339213037 756707483 892577797 454684777 871037527 45289429 296411935 698290335 153280927 981426525 622918887 947364999 335926805 860066811 224646443 811267337 441714253 888187641 575099783 743232535 47523103 32898867 122757207 907511725 308113075 223603713 251884485 6659275 491446645 331803215 422505667 260203135 110728471 46649223 947048965 792480983 65856919 202039971 405628175 744733679 271525433 957924637 325561641 387437291 427145 633428479 674358881 54154483 135111517 602671317 62908049 285445689 670869965 295803575 6380121 8009465 922563651 605340993 849935905 235707509 749131621 420556701 909696795 721123829 129273133 469563253 640919099 887161805 979721683 143294977 382374725 867808345 523844319 53556991 382277567 696356087 816386073 943807925 450836475 914912021 700390041 777902579 145728017 59428645 997376953 932937485 271641313 31977887 950858271 97392867 774647571 384711173 160085173 188725467 56079383 911672805 992590257 912399073 971325221 285328845 411144589 683564143 270232639 258722393 355835409 957051263 215644459 934369581 195020615 663597979 987231355 988065777 959159939 7488207 870662277 170827095 208486241 587048627 445642349 894897691 641859783 935425893 245567255 946647551 392461279 255878281 215963703 94085837 697522975 701583951 340608835 937180501 635913539 687304301 638946941 831612019 464937039 266904865 168884715 514612235 539972239 469272113 408039005 377364997 277796247 803540973 123156079 505654611 339119429 182550569 632178045 300136177 418451643 990737221 119009457 609129697 224293735 30684455 724565501 706564397 333744123 542250557 297084183 437694181 742656375 113387131 176137855 311416103 749476379 172549731 78948991 638466065 253393525 654902777 541284901 703688657 351278683 318380491 270743115 398996889 474043365 813602801 983211665 244418721 204131965 362547465 980277345 740363051 571290059 580165431 423842279 413626757 216790211 543942955 185428253 31587069 127186597 847446299 420604613 14464753 158652403 880332741 740258663 488675265 343132535 894465393 713452625 264469463 512463177 692319979 416926877 36481189 6613443 428221065 997744171 453122983 553788043 56771883 12951715 193901919 953929611 105182007 708437621 490322005 492300281 659400601 659378137 862298143 335775057 195574475 903920081 901089877 754288727 494750665 686010149 72647575 705442837 999004441 211787107 301922451 606299877 907034569 756603363 853620475 643219805 293354609 262649545 666717319 788370789 830485039 770538491 566535163 957298471 978391975 900887081 11511839 391679515 329437705 755124171 936897737 332312057 995068427 683664417 880758223 858177479 483594477 102033973 597563415 975301841 998624625 818900439 335425673 627829675 429821673 108340383 874905369 802735923 340346409 551473899 295975359 754767755 739024531 726070503 793934719 488192289 917238535 609986431 607873377 423260073 312478969 118696815 198212987 330415901 239793501 164445239 653799397 295826627 340151217 790093595 771944383 37191721 487466235 765593649 837688887 447546401 769608393 650626893 986618751 1791431 481154611 346237715 447204815 220799871 299255511 772620263 986425451 393732087 356658137 673956603 11906717 777707811 519583977 133586761 547864245 508937023 691372349 711584399 894796561 753799117 958857365 881674327 321467665 494591133 237504051 64505071 135980575 368052929 940104681 295371377 393419439 163842453 412079885 113091517 948363577 886378943 948958075 633971067 96048961 370779177 158663835 129834779 175801423 692139785 634874971 196333527 836162809 146565339 252377647 512189357 976822743 541092195 124544025 577111141 781940361 704413357 172621215 595486865 150674111 510773263 455114955 591082633 861030693 393421601 60767031 398989677 455628921 928247499 631320321 905975333 482973309 342304313 74544077 366634593 548083963 733788637 998762955 873384345 889047237 487077493 248795827 139750927 272323251 18779143 230991039 654520265 643325099 373027547 81824185 965923225 745704087 52921479 554582509 638988311 944752997 136352489 300441393 634015905 886566419 59338021 840360423 934530659 921206947 876284067 218224625 603331403 530134303 553097245 608314813 79041297 306061465 280997005 755018053 523668533 308505643 741327925 339905797 317380865 702522871 911271333 185376515 847391365 267042343 422294189 327317967 565062039 230027245 863621487 26008957 566707163 128684167 205180233 587133613 510137525 443406387 435540459 114502019 763624537 234314043 349377609 962202801 320923835 576782069 884937631 402973801 663591073 548815545 685285489 357744491 940575375 169122025 801513867 67046911 958609365 802776047 384496385 186553585 687426445 222297407 971269935 838166681 521633687 732923985 123068859 276448211 313834397 681340329 554390673 194381063 283534859 218880977 842938595 490450723 387397405 849557595 21409327 788462237 490488273 418433761 960330041 857582195 892983023 466523141 292205837 629220139 76384777 880364657 420615679 194516437 967292023 727391705 305484973 80338693 130309209 370043893 578027257 191591899 190526871 537740681 366884625 223247611 66620129 97261407 779908713 458397591 33227441 837940553 506372795 950673505 790986821 543131935 49118477 732276891 829152933 778766793 435330221 985981193 293947811 20178987 861762603 568108793 104944855 80922683 340889703 32268097 748439199 306850801 342801797 442463043 279486247 924781649 146205679 834482657 339774301 412782693 266227547 937289355 508227065 149235263 312431555 449795127 407091837 298426873 27820143 558072419 53630511 880897205 570957033 388987413 719476001 10642333 776226307 870926557 642997545 558794469 436273887 617340879 350749931 200345797 122541019 208050315 953815755 250036353 152595369 610834485 679858173 586595683 12146233 259013247 162457975 110476733 514532297 183408795 10779897 515741161 665258973 909999691 884045837 996439369 772634177 338698451 295123203 509971273 996448265 402335233 912633841 87196247 743523985 915864877 604448697 585119987 985056383 586035251 30514949 502643867 631021247 265206907 770969921 283813083 244103043 694115827 243350953 979486789 442647881 785558545 785201211 872776563 936020951 422093525 22352577 207421447 394319669 761532865 415091145 895301035 343940793 737176295 185061293 522329363 442265601 92314075 305785741 177868537 657290225 555986621 242640977 349401373 979676081 143259955 267156907 663043403 200508347 958989673 822368527 726551125 307790537 695319321 187222209 100118293 195798749 433293437 920041673 861735277 485646405 322055519 363831797 571852615 958759575 264586253 758461151 570396055 789498797 638360153 533967591 932745559 183647405 817799847 738583347 251944583 879313153 614193369 362904503 398741299 235539807 404260191 792195627 608226413 417072323 431460911 599388939 819950415 696624495 49785799 469954725 3359739 967952883 707700783 475851781 271287451 581661729 319762931 250146307 308685923 264749591 251915049 495659075 519722125 421646135 553933937 642828843 540864345 740143405 91866609 925208041 942791955 542110959 458707541 882893179 249741581 206771129 305178071 933688731 534514337 22536719 69302579 198541013 769445425 780187837 842431151 792947833 293709865 553966041 711621401 431339421 43187193 897215931 197654217 741274149 805069595 893056525 450732699 976464821 305703445 861296821 648866041 293019841 327828333 935979245 460927693 399653759 346221751 556807213 162946703 902686959 402446733 303201595 493580093 770889179 181514385 683152165 141334367 544585681 454083181 402209851 123920385 122203179 962227925 184622877 796194745 407492875 632216451 138846127 149125031 88051285 825798967 487855131 814341233 360232123 75989693 281353685 202670403 327558839 97915367 868111005 658175191 312639367 519811729 933115765 2541161 102531123 61064089 238472103 104221375 654505103 884040683 936538059 133436711 175474223 852494715 107944635 327238777 215406453 784599619 257894557 313260563 722979977 462404419 650626011 79618265 105763931 115830665 691980843 208842299 150674851 249180963 572031881 355924273 244250595 436116525 510729529 496879925 580937825 191668681 241052359 70667089 431094065 519147299 593113351 931666193 360330277 961781867 850189591 967093643 752198115 591790043 53718361 246903391 115696337 290489529 82470521 845779123 314680351 987553355 147784815 131989045 406927045 793961701 501166963 463712793 7136389 483545313 859261195 593332257 332204261 564195233 676961027 861810065 44754999 470444177 595769969 262544953 647635601 198265377 191948973 611362157 208078551 965533901 814544993 788223755 47895469 338550293 769754229 668952701 479180935 182032261 486845213 412237741 876322459 846066097 377681625 426756115 420885481 433680175 507553129 505910703 79794235 850441635 638250717 177780227 427386913 772032697 438241925 114024225 662654449 331014945 60588545 261692063 849886415 855247767 577529397 784599193 242355615 130917851 987053643 648085687 720676371 127013305 180818105 862811431 765809573 564562947 453498427 748262815 498387091 138271637 649395923 450796637 561855719 405218893 320007377 229222695 479504241 312427545 393504711 146310219 111889095 287796713 164680593 201292193 326870091 32775353 570177877 272716679 478373669 638358153 158369407 41135073 259623237 533051237 696928193 208229153 629028453 771890271 310154265 564472121 296626435 53404819 823567307 899364011 69391207 52412959 144279395 702684537 102273699 40407857 607026357 12537397 393686927 718336249 152443871 80070389 944218059 149867699 743924803 668950613 988611263 220170399 572145551 401554557 357801627 971768587 314328245 399573019 408690521 462272325 786425075 75086181 150782901 841993385 475141327 491665689 63643197 747529627 787252497 702787965 941228093 18999937 926683601 997003617 516484301 201743059 830084969 119388441 560900561 972169221 895869309 841011077 253955823 613950623 904719867 814547721 58397333 440826151 205918743 335570069 728117505 247759153 711905611 549461153 75796269 508968537 324877919 779975719 436753893 10930493 734332507 459069361 308961977 301716107 126793111 116810315 328587007 798610419 635674797 747970701 450121947 825675057 153262979 278120851 47540785 349245703 742536259 925100549 577508789 954232381 243544163 654202129 844130269 416527015 21415839 865493357 749180393 51087393 328547067 481813079 654933219 243577225 917455811 868362901 61400217 812693453 445453963 610354551 877492903 688706269 499876913 367354833 979016553 731301045 33756375 883378435 462815497 606536791 675328745 582174707 345840761 265207499 801414685 455912973 636088941 980902949 678725743 65693771 831249001 203144833 219275045 594385447 912439221 198544125 807654343 489075371 278247007 466953927 50825515 78133091 78976577 813451281 898595439 606973799 858078203 343634193 360153077 542837331 936477173 559478031 641477227 938155343 209178977 376039761 890027461 15652361 151728947 433166381 633068093 618563511 71446319 878673913 925135705 496982551 902957275 105730075 685715175 405031537 339324553 908063227 548343801 360211601 995958865 543735819 665501675 658452941 132392723 961985735 871426913 957032965 306666871 526453681 727730505 781507741 748481773 923186769 930349527 544359815 933963949 805624123 892606343 911403573 376401081 295209739 262127131 934639785 643968215 906262367 82433443 820846695 626110361 709731301 274042737 689079165 938745173 991898447 843724577 183891331 529596207 729463893 47985049 714756245 515326987 291728569 637191685 238210139 884394909 375595081 857613015 83003141 947548507 825314259 528261837 882591813 716187015 685237301 491580907 252199003 910364711 766185805 498501245 904683789 227174411 273139465 195885591 725898411 953002959 779846235 897279639 637221129 891299023 887160891 489476383 338475655 747737653 254879915 708074267 134536459 194330611 670198713 284475203 91105537 747100095 754160755 529923215 57012835 853726745 502795767 462368069 287593901 13630283 87582819 769445363 662023909 848824419 56892389 495409257 333420697 190247483 80785839 343726279 733184737 943159923 490857721 673777263 10422873 772123253 856501767 419964175 985924907 855632493 630159137 317377947 993983489 639983191 514438557 709970255 705004819 649067249 1871569 249648813 944560927 100775619 817405219 409476741 611491949 233107231 768693499 848995047 573072327 535637277 647666123 815853621 80230793 92073629 574832911 424290829 270326925 552518983 313671497 305009249 910531387 417021835 570237699 187012705 449812095 728689059 227316685 206657417 539139283 579675787 353511749 257027233 466751283 921467153 585123851 310291123 687865893 877421761 790229193 218620947 617687735 719024883 64904497 595809119 286740353 240546763 480477439 675845239 679122335 276840751 426480885 844045709 680475579 568805839 956394973 975189009 286727423 403332131 690261895 621733825 603807779 885934443 876529105 383745441 551287397 285744305 82975641 774269183 205338253 80731589 601165775 942987371 216787943 852374079 447217247 392361157 946748745 51190397 767931719 806425647 426305043 358728875 155608969 56325911 624231211 654001589 78327855 486658863 910597119 329802839 134614857 152038007 610137989 309581841 493265653 138001455 371590457 843198505 53870163 851413477 593593893 145545903 115430029 92328559 211298775 270563197 739547605 869002471 324943203 21418293 685405799 888453043 254850151 418303547 466242437 246788989 605569549 560286657 480998009 734625849 750716927 996490945 511961493 885898791 837630837 910482681 589396273 114792649 12398639 639219187 19324595 706411497 569292143 52343293 631875971 934339743 249226503 998274353 957628949 860516935 740399693 939859055 613511393 604425601 678703389 220743775 876409707 95344959 228448479 399829107 658257213 953274801 338856321 390901727 535245031 536715093 327484023 894560423 370276103 527098863 529983939 744429713 500579133 391513483 83027177 862510127 933456691 490833277 597736953 123491801 748235165 549144419 365172359 949003951 909383475 416857119 536797363 429859225 501858745 443309277 436016673 2335815 301494007 743743509 245473537 336384049 519807939 658016383 745952523 349226393 870487285 616561185 870425721 72142981 85182063 224758599 161197845 884170183 866989595 714455431 211657003 251453431 908141805 444038843 997007505 372520563 175043037 781279239 470865319 524693607 403433711 514354393 163844691 933532609 415374891 845293029 27093763 139507769 648674983 176972325 35939245 845016143 571395963 62035425 797272783 746587725 755671753 163950497 472141423 541540675 592071355 675328317 823951645 28779527 85969029 374551247 136330989 287382077 470645599 162536893 219135103 644362057 182723469 670818225 729821175 308787039 435710809 712433057 303229445 324806773 313151507 920989897 180939489 397314891 960582425 121798059 10774341 480172651 941098699 215896855 96588155 133709091 670324629 587136287 625248335 738129549 99298021 191289889 209078809 731120265 811802171 870863807 225810357 114790081 958536725 452661221 98406795 772424609 645922557 144499657 494650505 344533861 675467401 590527207 647523621 919138059 676955217 711600131 387078749 903436123 782442743 636540971 686742199 743153127 974775589 802735535 333225795 552083463 598237327 550295343 55875221 534277083 45064941 440928909 562975693 571061579 462106883 985199607 779124623 110394119 404248475 234569439 938581261 532436873 62715015 804209923 547296505 673375247 192810913 696616297 153816725 109241761 823158731 992513369 736292515 673943057 621207023 83374443 82133623 987980535 122216961 242311801 732747489 608998065 161479161 580616359 580129093 87917419 376318171 989710947 300809349 849644563 119131057 789929313 228955665 143125857 697311885 622415773 971813597 985893079 818242953 991474265 962368621 525348283 558129607 902996261 805771201 732050463 243299441 59833555 323475051 951805401 382728123 827219071 192223615 179498893 55464415 455443087 256353437 159623583 367645725 887781293 130298601 961168707 249241025 157473743 440068117 317012335 932157723 74758961 372686163 336802787 242496137 258369367 383134821 838544425 761461099 817739277 187566735 240547473 207520045 906573415 593784223 471424817 880813119 3355075 841800429 160149741 467464987 690678467 870937173 40465001 856535365 883326035 228022591 308749591 216486471 656224939 776590745 766850609 728925363 910858307 97454809 32624565 969529123 959779553 726518525 905495405 75486009 641432209 529297293 622414311 576727199 929404073 948003989 752524157 509492233 952737475 655307691 987926863 482508849 643711427 874065135 336523847 601001687 158202583 305345541 262513169 6247367 603687539 948741919 216007207 326146003 807247185 748606447 841062603 538794453 607350647 448705207 169170949 939656623 841333043 316829499 874892963 185241419 909133335 364512201 462614847 141127581 741399551 974510137 440688441 143245727 777071631 328481001 853880247 684266321 923217847 999328701 818949805 932416191 317215143 552056101 875006931 736813819 771341019 731498263 429073319 529647391 93009307 53098513 146688625 840898893 289786481 670608411 513271107 272837553 914294577 919064511 443182835 790545787 131916791 686748953 517827877 756586469 551744553 359836867 741161279 120331571 943353203 31543011 611594607 284946863 639921351 651660331 415509939 473710763 626745187 891772623 820783813 333783937 437404619 55908235 267857713 429286549 34089163 47709353 572792903 358858317 198578295 379965687 747549469 352144927 303429933 447772361 48554391 99688325 658600079 747211517 548624217 940147455 858132107 942640635 1810135 875862297 322872915 740815539 851785287 281107301 344919911 161809815 464658601 709533053 211399303 696553895 34297543 899175427 989265089 307528041 564493359 478191523 845741163 814053357 640455739 962200077 137501727 60334537 934409997 715431163 812291521 555454489 220075145 338918195 299792255 281293701 382927713 948012923 460622541 899177273 732833807 796822439 114397543 132752879 688405457 944159121 766879311 315443427 854081455 826479643 635628245 323454171 147496829 462436401 269909899 299361061 307198159 946852803 96920909 855807129 926256135 557706955 972408385 544597141 531891533 621563983 800575185 948901373 156551057 340257621 254228659 758249537 302259595 415591921 71349731 826602583 331975869 326813757 354858917 643148223 734437487 349735771 202963845 300733307 662735535 358762615 17496663 259967261 514562901 915056577 610087735 393352635 776412421 948245877 88286347 812472561 184356901 988163795 281799935 976337895 648607717 674620199 74999429 919080521 633153341 911964355 535736155 229078353 387477999 691664897 207434503 336962747 874145665 635590213 748030289 726790605 407233093 459792117 76470607 583585879 666762321 574011527 380971615 41606061 266927753 929332085 8623395 363794861 261771665 712625983 42493065 341102529 935022301 654025075 539049157 570915795 366735267 430198943 505650257 774277467 654152675 252712287 837884149 101373529 247784807 970372437 138670265 187761743 626090175 452210733 170566389 502048079 437130305 14029463 172398915 896881391 990817553 453838671 188013191 192970571 703727123 445763093 475645937 4389899 659239163 48496309 490589167 744975197 646281021 160501251 162828099 54392565 449701661 323773141 778833391 895893781 228255907 836605199 31896639 410082177 79341727 246579869 9541575 429607561 536623015 955122287 127173731 616137729 931105565 786145153 446818105 823051849 154193449 774789075 580501939 555283269 417704123 551814515 387133575 865941351 567441549 68598639 474560689 915393697 390905885 575413475 295432821 223351155 697698739 545423345 717298271 489208805 271051361 925877957 710801989 274576003 854108415 379554959 392584767 595508069 520459053 242055819 554185655 358421799 753368147 367613179 386240083 711229937 934112929 490205223 91757837 326311025 341127185 859411811 651888413 878422749 89890655 374107145 623080201 307596275 144232729 909931133 793514399 407551993 106546827 508147495 839663855 897689021 742499021 559400825 858504025 851467161 531767235 731309807 761625215 385611365 16890131 648941577 143687759 420501645 309325611 44759379 937730045 224665339 703776329 870549089 550555909 413219369 402048871 259087561 489565737 393840913 151925585 9288497 475045497 763640893 105564055 560286271 243169863 582522553 932745103 838837675 263374383 340065565 697584989 725570345 235394071 503214725 238711013 767714689 161195049 632030105 193489627 455778169 942885339 651698055 341449141 582498023 628762857 559585541 861983923 522866081 142798935 905278289 365866719 232969867 247639407 163525937 83583495 982669969 618795723 283863541 208057287 691829157 363461953 798933617 989688443 290566077 107706105 12710917 887053901 183717857 156015711 359590805 715379759 441013015 221945125 499901075 877980373 762516853 379132233 553637361 694324163 676033297 73911311 893164337 372000321 494079761 932855555 606156119 608108125 555778715 78018811 110176753 767129073 174808551 805634831 515744791 550055325 767531819 853652905 441466725 780988361 111361449 668065649 771325699 255618983 129762991 844165723 687215263 531394603 609062539 444354727 174771567 495812377 998538649 724408789 232601905 305473015 883747133 116267443 126065965 990649111 730844895 376374615 509597997 30914193 83776241 930851867 430541965 189453637 332019695 287298213 521881381 174852571 288286043 354064351 951428193 535686595 235855549 481879039 928439341 220438069 819129003 462235007 425256957 607983923 735131579 589213735 844551123 206809731 703333779 849275905 618944307 441392311 548268507 235666017 413750827 103490597 717632837 404694755 584513619 817978353 115531405 950649453 702339015 853487873 960875381 89756713 52930607 701788419 135461829 819799181 697671097 711512435 486528593 519986261 718419995 709765265 666842101 894578565 511674261 402190435 69739665 421099625 813933545 261254073 407176719 45575319 393613673 549599023 185019745 898227175 661624297 254289441 836631939 832241537 548469193 920187321 941184631 602704593 209132271 342449641 333538373 873950857 840935367 676117607 300897795 757029801 282850891 689708467 174754503 619787377 328417015 779172887 498382007 487491439 161575887 367449249 65179643 654065785 81734503 766016043 156489157 104491433 305723345 46900311 200092497 691956323 205897643 907880585 690982113 978548821 392925981 713090291 922469053 670336115 397919957 84819343 571620923 163077623 345451275 969229595 842501297 16288617 647633529 505619487 368682629 502304145 521689447 755794413 948775455 509185159 810465957 788331421 763404531 605261989 477168265 722720015 309858425 672927121 286887407 218507243 21951795 69629749 261948733 953688225 777372079 884437191 613505893 378283883 508176253 168881603 444374747 312465733 701144117 548943597 560793755 169852669 673978493 29975889 893420847 124804639 219383549 621536579 183923109 623157251 748125543 636257631 535837329 937066701 176646007 254569355 266812177 186887267 937488367 883757555 117324237 694181237 432607129 309888009 821880821 300549755 6950981 23087499 10976827 511377077 530056145 94584701 875621855 173869357 550273821 842345771 515312041 179215795 437462803 594264873 704168165 523097567 615080357 48523861 636916841 223540751 261690577 663527633 409961365 826493039 192194451 621931275 496641871 730397163 159590651 357271735 667177221 7684927 979789079 896716239 473647531 635795435 491667461 793772953 804524227 295612213 525706981 274553763 952078673 822927661 427587297 785597631 594452709 611531181 538703917 841323529 328533139 855715159 784273153 839644133 154850297 483605135 76436129 286142209 803974209 690946183 564905045 32273745 985460501 622660665 727728243 377509649 859962285 89427811 383258449 910706115 262802375 435009935 466280533 601141559 497175723 884642059 220962535 359032447 95790117 615848433 986065787 410954999 83107213 902520097 576117897 295247685 520618687 666199363 255125397 300115027 435551011 481716681 443942953 856595031 78706853 424461799 733840085 562361293 520575167 276882849 772148791 142356089 758925677 413357245 99826159 440154215 606376501 888690127 112420775 766452461 269996839 812808489 254794259 367178659 76981207 734094833 318390763 410734449 393812067 814706957 788497139 354219907 424839797 834388525 320889589 645147723 644993079 211928265 766719681 545636999 70019937 260772131 167037749 159577149 849750579 698266945 710450225 592646069 373528175 400731125 171783583 377085061 266138727 961846231 563009139 872413323 802226161 636093509 544952741 964244715 232141161 901943403 766034233 987049743 930083511 490606647 163436345 115431851 731899977 444663649 379864757 780965823 2149397 321170025 71852747 927406475 942189721 675492761 268383643 333190559 794537435 630760961 901954895 312555981 42231915 699658871 912070939 515402289 74339421 903346335 70390839 688453167 123192399 336423389 215427303 699692407 233094251 928238181 481684341 737033463 268687195 295340077 567710515 446930929 80165721 310216181 297794939 994000615 759594271 823998023 859317933 330726565 678179575 116573809 559251257 133974847 224636333 914591629 202389133 260545297 135458199 858205563 494602275 787307969 748509591 347156453 304458879 848844603 960443407 478381367 533376555 619399345 708159983 248873901 556695223 230976417 931858861 712019013 388976577 303229135 781559367 26055111 563857897 941193543 665712195 126700485 491807705 757442399 827631279 400659351 448109893 743680431 152575525 530241373 678139879 675702815 849357245 230749951 713368191 671593179 417005603 801225517 881955799 322171223 528717953 738639969 237124037 964458317 561379217 487776729 152612385 821373891 920301709 813729437 934172109 734262791 519849023 706621055 769670067 562364585 671730163 381675287 632602055 320832137 9217153 996049603 719239171 365435851 655094597 876909999 493834599 935395033 625154343 82625737 621997821 72572777 266086293 913466057 326023387 256808309 831771525 294461745 635427609 831203397 21955189 207423303 184982233 709770083 912052077 487868701 554214215 74638241 917361655 255650953 202430097 974128673 824745775 351521327 837103863 54251329 885533869 312018035 563084727 265357235 38245277 687706761 207516701 775813991 778255787 943347559 801130107 511411355 918620683 111795917 462817067 418854099 2990207 143467077 120330127 882573787 124583497 977376287 656823057 427791047 379517757 839639665 873751077 358424819 845453995 546069023 70534979 301803269 130225271 236682189 721656815 722801641 292376067 770515693 448439731 673556945 283239231 48538809 310779681 17149245 242702241 720369967 535967955 575985133 969795367 813106713 454460011 528226287 927288665 465108997 269282197 624051351 680608321 172263245 465825025 128447875 205227899 630281489 480903529 888944535 871903519 599439931 749492881 494408699 985259737 247313015 867357251 811700009 815931093 322899775 309647185 796459483 560877255 677193941 51331733 48523283 205353713 189510977 427936241 770844705 516756759 643023185 382638929 145231253 669663111 290363295 358836645 877853775 114000921 107782027 848654311 775544691 214348073 34893371 891008027 629562987 731370657 625258405 486002251 880838125 996503787 534029179 457472393 847509237 293745151 275297345 227873007 648812999 310799963 976894525 39921823 835694829 847471109 234301057 325678277 165594687 341977485 840495587 633804433 532650457 279767305 52103175 740711229 485561629 446675221 545865811 902980879 238978487 210178007 415893237 4256333 844602525 645160961 456979947 315496523 330017035 641526725 198705135 705593443 733459845 820307941 715409293 803226871 347851479 209106085 540006933 477242993 492352791 117609173 816417437 233928773 352631453 219665607 391380233 692361709 298955539 561203039 911410941 210010601 772889695 471688959 53317357 313018565 688855483 221808791 183873807 935332371 648645791 844552349 93060707 663532397 765877713 722587153 74942899 845806965 565468767 264216437 71334541 981566167 117182105 293719003 439942219 253356867 253383967 757307353 980924175 107730549 574383061 217533067 611216061 650795821 489924325 862939799 98563591 495467575 259137989 632728879 288023399 535200101 899146799 689009415 498999835 187277457 953800491 866662237 426427691 207544477 588062209 71750903 213754987 541044341 167883081 80821027 997842799 898460681 648941533 506817209 831562905 760464213 601573859 689794325 101943825 234689369 304140743 815019809 187013319 890701089 32727355 136667207 302252915 538026687 350655035 54866303 452899735 988950093 72151567 333626441 714410619 792003823 260166721 531794343 939717165 24003531 259828133 426024747 443420805 46849303 273348441 879643115 612480551 153359117 655551935 690907011 780799353 166375149 214736771 979557657 194494379 963330563 583408797 352464479 485892533 909031585 262734661 996491401 721864537 592721699 701653249 461594453 354074653 831031527 110258589 926713353 73893459 314711899 495821871 609981043 494619665 117381359 951897105 248021995 125705275 621030941 836961767 982063695 393539445 16388203 584240799 764460803 463094579 756985183 374621291 697840121 989787819 993756045 148641227 826284707 753049565 296158607 708795519 796227329 358105747 797347593 140821655 719611547 474072413 641860513 220702051 338597245 453739665 291414541 6601859 571850559 452222803 128847111 206742747 533868541 447268999 160994897 164180373 53423967 185405409 544873395 544803623 274392977 55335125 133159425 9345101 455619149 399165353 814892565 476645641 818324431 204475487 480168403 1365419 724573661 178912717 339085089 250158021 600305351 386004103 970627317 982247221 43631713 396338159 894115401 707795739 166831883 519034157 675202335 648658665 697366697 205207089 304375167 449255759 755614635 578393269 855361661 778788171 200961545 947367735 222877491 296213281 173633597 298058239 696840645 797804893 943397457 576785439 563311193 423486931 139491025 269773935 298992679 345322657 114247637 800495247 846366307 158064937 373859321 468548583 903418709 816627481 996833125 348372647 894273347 226451811 804585159 899491529 78548865 749826885 213417555 586214153 171044203 902771525 789420235 152963061 749290847 93409323 687636085 413710041 836242891 332855823 1337883 204352717 942061599 359813963 65603607 359652789 629368279 852517251 718499655 196015927 999636851 714562213 643546129 492913089 942423937 379065317 881533281 887147921 792347023 444617405 93820335 952185761 843507513 31140853 124478459 174725309 164898083 370494101 173970633 263808117 929639413 119191797 256540967 870850591 818044769 774087599 260572075 197313503 570004259 766219433 19297655 584608665 331163131 432971277 770766125 422651393 892207287 122136401 598267389 236671373 272778021 854664241 394578077 187816317 367253281 162005425 915685963 767323355 252359567 78683933 938826189 354357623 950311255 247871241 37556851 430227175 404653163 170012243 884342545 129129357 700487879 98190621 607336711 529425297 756704107 825666003 787278649 195515877 868222821 951159339 630289689 777651005 531311811 710107683 913300889 579479837 199499169 13932283 430140475 900237005 974230819 459355713 320152579 988932187 253748337 875230921 149725311 773272993 343650237 946316721 61810885 678234943 127029571 242157915 130652279 650123677 180725829 315508853 955310263 556135405 315687435 832356083 488205109 386793763 600350441 859590415 363354407 553142019 226732347 541859407 679019595 937066259 762226271 34093185 943455719 42843045 517952963 36447927 460345291 509030609 496408025 780416077 72259403 881472887 302449943 650096103 671069255 28191807 92750085 386499699 866903077 246893209 555480875 441151525 809774801 989902269 123872793 519343993 20312517 304348077 10477675 270334001 118946557 94135855 508138437 135668829 216516093 632424917 190650319 469430607 318764249 295229173 827744571 259830949 44630305 11266227 646130373 404968255 790862073 691510261 99738159 59911759 190536707 169237609 281951553 639882821 184664687 394259339 322344145 571715039 551291891 31970203 949600181 449894177 99058893 87119519 731964371 578493015 240548549 423696231 659875603 663767829 846038055 626635407 223484007 714915129 252658889 333642099 994370251 763690981 766196491 740600125 665457217 821431429 297245905 393124319 327957201 779539409 512776333 688620815 801506705 927843521 870512691 409414477 633639831 951003035 772369471 320284387 200148745 562271981 887055547 452275423 50647055 225465479 385146421 33820699 261589467 151886473 361804991 740613177 530986923 358973525 946213629 43180701 24577979 482371481 87695633 781732217 584786523 984665417 149569963 736949959 889077977 12970657 700160257 359213893 735753875 509921315 78542803 262867835 835162599 688370335 680635491 359738555 978575171 904807463 719237507 693768221 990559257 281373975 1896839 307243905 788443617 62857491 766551375 440870543 831662879 846488587 648424769 827061687 36559963 537327407 925745227 437705011 233546027 70990331 455184609 701979135 576046885 873925943 829100037 70362857 353947375 773978093 924037691 473857917 666222897 119873137 293772435 848560403 532741023 854601569 574758303 783326671 318127089 558570143 156630147 432582039 403988715 706763863 868925921 927849755 318287701 961059327 203073257 179296979 659387141 518089555 312756307 2406911 214583249 146598743 890265433 188078507 677050015 641289561 960022723 186552225 293561943 158242281 132271073 513627519 500864237 883854823 488202633 513199009 781853785 193788277 985215255 672908851 50847647 77166849 726987635 443314209 222713287 673303101 932354057 556757031 657407207 978827049 179293651 547843013 164460309 612470533 445027917 582560833 965969271 389937503 778785405 3111851 946514229 946659085 891525105 679176669 869827203 63017769 472253889 154603385 10237337 93337113 916044683 415048419 567654331 127058567 97693811 701708621 716638771 741515881 407637035 378852273 330337617 669012473 420381157 675771341 224498547 982893759 188925281 307764011 804219897 924962437 328016871 609499673 217805389 23778909 405555011 586399409 166933217 802145193 673322699 910041043 287001651 991365897 455376479 858559015 14476223 733529961 367490917 725341471 128081173 85494015 9629131 815019503 511387845 811724359 115232519 109102747 494813543 320102661 602381591 64308969 863777441 430204229 132377985 582926189 794529819 151938651 249417299 239550073 510609033 377752037 451908389 754225971 745111203 15321797 804603925 441651841 308669485 145557543 171772103 354848275 403956977 563092611 366080877 732093281 800219585 691464337 457884089 586162861 855793013 423791191 513142251 205846013 645950963 968573985 600548811 18958883 429905699 757208453 47827365 543222711 231794681 264746589 524089169 566909975 961733485 805561293 380245803 340465775 895842691 336271683 251191067 199269037 824795717 741395827 93956495 470338185 223232197 366648663 451849341 387013251 355457563 605430071 11885667 868934373 108663917 62124955 646827335 589785279 99686373 22642779 983852471 134116583 413105585 571143057 80686027 270845697 35569425 762729123 176930337 601691249 492235843 397752123 210334431 928139115 445306257 823655503 183103665 739985381 607299665 178129691 630999503 209585823 239208411 173373475 633831673 519363107 575145617 622823985 448295539 404531135 575013085 736272221 188875019 795823757 428881971 435384835 410233623 191795309 920606219 395440581 864382329 330308361 572802281 701376655 89612435 371309773 617170775 510839703 897204563 630473717 791714023 800337499 715054131 869847935 845782321 638329755 742545455 1577523 244607707 304551525 635264463 217266595 328429199 77955853 553784349 533728551 496401405 284200497 775897523 438740191 942751967 897272755 613812143 451309235 407048697 466460609 537009335 481426771 169288725 847230925 846796279 623590713 271282435 858255255 268971561 685643683 547508385 579294751 695595655 235630489 388371407 712271027 949024219 583797997 196223865 515574761 987272561 158501175 973681551 509212315 828449825 593501911 574667275 35292397 723347271 421093363 766150129 37209933 281445323 523241855 831154763 273006959 619974427 573474865 87696171 818892623 968575021 327489419 906585257 195823151 483542655 535081683 240483309 664538015 351835927 773200411 834329627 479179889 846199685 200441657 341846377 832358849 204788445 172292305 263936527 347995125 823473343 336877895 997066577 780972983 250299985 486207951 854181497 108862717 227202367 279565151 23398361 689601539 372647619 643493815 525846987 748833357 68553367 376251489 915444657 12805031 926928389 844156333 642762997 52328229 173688537 694818225 292933643 376618533 339815019 191817553 383868781 781661513 984833689 627004721 511512219 897888639 156366023 395532995 635147553 209688825 531057381 477766465 343209873 469358133 735078505 828065961 542803075 948072695 122805585 755284165 149084063 233542989 584449827 4830243 618649737 652255879 482315759 964543773 922256375 278466117 306313545 703130835 714868385 29001577 741675857 172401199 240011341 298049825 23312813 952846045 274255551 700477921 379503241 904804951 497678543 825990243 488634783 697839327 322510677 174776495 217359659 4716157 633264693 646448397 384467699 180613119 652454229 862806805 99773253 194631679 196149675 940590753 693992953 138703325 304857647 836785879 740496747 915546817 279648487 211081505 143541635 586928795 921069529 885187637 168191151 844064035 723999767 748416781 916402407 581981915 151684799 692276721 769670821 845027849 989078515 350352747 843130865 874440639 281588697 724741455 291596635 57865939 773430695 161984441 100790519 74347753 169680535 673214991 572456805 473339751 129978601 272412157 614812363 515610237 984884969 376761973 182840279 584054819 461042665 432983221 656646333 524930329 89464131 311865153 442456127 669404137 482380121 207333605 722974369 892431331 232789143 137511861 718643889 447150621 825971309 472000527 315300551 187312251 884165205 295872917 963758017 494779041 978026195 683622453 964235779 426483971 845542513 507325217 199815293 165209559 58724545 256275417 584246693 378544669 384897887 689880349 453070459 753179807 455248105 629768187 781047681 285545195 861175307 111293641 19865545 1763931 46052473 921792033 592057319 217386769 901701101 398895591 228118779 653770481 885993767 988067401 549332907 157976237 246679795 472379067 841444645 605143231 923676963 42281721 542742557 896388709 554007953 760361989 670761941 600977577 951140641 36887343 260971281 805861721 739941049 556850953 657873185 59628047 539239503 5292143 947555545 905683243 397473245 961891207 44073879 318345429 798750307 814247099 100686917 571095549 18595565 665681345 403781709 725900123 249708429 653492885 389686951 302227569 288681567 771815547 655800529 716849287 108080257 597527295 647090131 766898091 457027359 269095669 701779769 452036021 663030383 403338105 705780761 266391369 344905381 995637489 200023059 761612493 925584649 17192457 600232525 869524337 76499169 923746483 984739445 741966381 321364097 768432941 137518017 36619971 886559299 252561661 786859503 648915129 753683337 39509483 768440389 691806817 529637823 166181645 986079377 159448017 627157333 702806977 472768043 923573741 611066055 861763241 923188977 801737561 492509589 323307187 586799175 431317385 496200523 497085971 409493021 355989427 744832123 424557379 506620907 586625497 705560513 394301451 91036075 609761727 16490683 3415155 503813863 170681339 88207127 873274323 50493867 523196129 293071237 392911301 952379789 934579605 942733503 398384941 450821805 913479419 892581003 943309115 695750321 210333895 704279215 178104415 689114055 704403565 943422975 834060629 778763173 288749107 784803669 39441445 981368457 873907227 232533653 549466393 234299961 811252475 179893671 122200517 808334085 792826727 25527677 992274949 181186753 616471233 331161873 840886015 670693835 497268273 337011305 695189533 30803981 965950887 260313483 970728471 547958257 146750685 196556171 496507877 99759471 810960465 302144389 863701451 946151175 865504331 656080791 600791643 199774909 365554143 44607983 963429219 498396959 376969183 711104445 415243009 475913283 879806449 259355709 415745693 772757195 840998267 428491695 448448477 434311895 446349485 68137567 418373051 48343835 960021377 575431073 25805679 310931403 977614003 672325835 254985599 95419813 706435793 967301697 163758265 999645423 650493735 937911919 638164269 332238457 959524557 426905797 700942651 383895191 333462951 686009535 350809223 149960745 170072923 298573535 105461499 792802707 647467095 939037613 943957963 311633351 347008729 352915133 542119031 835681591 136989147 903326123 613481919 161802981 895190057 731729173 339197107 989389139 4130131 477575081 248592293 57093525 864126127 836006679 557336881 325013563 89976417 32460059 52138813 209576041 487455309 344022135 658512371 792641729 906792743 551724531 277290185 632543347 202064741 329079139 519042939 586268723 878643783 538389665 952135437 707469635 922121431 877797009 171833547 644843625 646435557 984993307 729391433 701677807 347184647 179744049 622093155 401447345 860088991 846051279 471896895 782608391 993727701 412399863 337204041 647689949 869745563 977253297 156944179 77596573 568683429 339614225 496093947 963973441 71342199 930146867 448032229 763117381 821796185 357259573 281572733 334435501 206988889 742254149 861767321 279812877 513119569 634884499 395614291 695819125 68736737 969968475 116491023 466930569 940079473 919246559 208111483 516313707 327398451 677272423 45079945 971220427 904813595 533165385 144914809 855364319 490917613 511370459 689159371 425671525 546006063 182538115 176335693 634380451 843490867 943690919 960538645 856802409 628492561 299003071 791117437 244866571 467230121 263842881 872724267 376231273 455419555 713088175 573477129 405900265 61114223 118434199 30280781 984717687 981520709 918912391 361705329 989189517 145635879 91958045 989567549 138773029 905978843 476117495 539556539 823401673 679966451 854419395 388616767 301259141 85440453 92396339 589547621 248097265 681282421 383721215 926449171 923340331 710013673 563518697 507598963 191852503 488349647 13778111 733403643 901650213 467986851 563450191 524459367 507514315 394576549 47460725 454136507 228987399 177713371 589232917 282696259 784851873 287143701 929710615 527627157 473223395 256654319 987482479 379521161 628382121 133839557 625299989 181665351 727070797 12844227 6007819 166922299 552230581 91200981 524063071 609319191 777337683 509598135 850046751 94877147 498582041 276896487 646191721 903873223 694886793 42064815 51850587 397686377 853370279 629250333 634877475 179684503 656302849 908929035 160224243 959786859 680801711 880544283 420359171 64694345 629640271 424476849 287362709 396955871 545667845 128485375 109286391 172449313 702115969 583192063 373911927 855401289 170823929 695601007 540253811 901513439 976467755 159953623 807958859 453534123 945962847 132201865 603811433 977318341 854244961 369679005 757011263 91500423 456383111 724485619 670515017 425645207 429669041 557059379 425668873 842293471 217287493 946794701 673663753 619081621 443203887 556625659 51712217 881143349 354706665 578101433 859439127 15469955 622490991 363735253 349317985 571395723 779560775 145017563 18677605 558064545 233352575 166784035 698395093 520746337 629092015 30574801 698020969 612836785 31268853 714745547 821888997 63011517 985586165 31227073 252342033 14630391 158872543 660627243 327488963 97494301 195261545 801438537 64120275 456457011 549530323 91703847 518710305 103176069 681526239 165902223 559343515 151247529 390704863 97463583 166686259 609957239 577958057 912597299 374312417 744277527 497615513 562026487 750070185 604639477 908813205 47080535 997598355 142247365 227093775 501050127 151392949 240887937 145337851 920799135 78314023 892209265 39812055 379391821 74843657 91982621 486636457 71340585 144050571 524500829 134335743 409855501 707050201 549693515 266117361 325099419 81970737 539841099 487473437 719408951 220227285 564674059 521970855 980075539 449462287 412572031 560807231 811691305 86186543 17509091 489425949 806416439 812960147 822896569 430530299 904209095 244317083 424055249 539509027 44818215 646521265 310227005 652038753 817663345 846771785 131655257 43652619 640304773 965897691 425814731 353070081 907202315 978031595 862619773 902236073 379006069 66660353 742468519 628488433 823270903 136235187 94183103 445364559 71362453 739176601 334352783 381933759 826999573 136781141 720373793 639787725 887256331 666756753 862627275 903455617 34560969 875776767 9550885 284388981 991285365 431874397 995286039 293084615 442668021 977829735 7460557 286927643 654743033 279092461 733248697 527169187 608310777 82080447 535482011 335338001 147752503 741150647 586195059 784786853 286796985 488823221 83660431 313927975 71374929 830278825 862559363 356840163 479077783 186611071 302515757 159495345 759387113 280244023 852369073 650592493 884250227 661617615 355649913 289558399 993273123 261023057 511132473 723720405 959595441 362771155 36860657 944005859 186980509 949716333 825374945 731982891 501816369 126442305 804980121 753470131 645074813 626979449 75151083 480562949 427289431 224555593 245845235 815125819 836060515 534083049 425416981 197721587 87646469 33157021 299811073 256592721 136182897 920292783 953672615 679530503 525942685 348058991 350599747 755777607 852387657 634409531 651013981 21965011 353700863 900853875 578047935 974120429 366253837 771852929 326446973 422635623 729753485 556470745 544016115 305689239 29833055 450254323 57394631 113909593 692144685 626300243 28058085 813111061 70413923 813102211 241891967 127495865 549071933 429837589 138115347 250564795 941099705 158787747 960790117 262006809 169713311 429362639 456226689 723898201 55418241 851925827 539419837 609782155 911747767 363531443 202526897 160467779 220573281 940525527 250244933 428453793 403877479 248607091 299617957 770338121 682217337 853938257 886638149 391187821 89753105 707416131 476355039 176319679 529521517 340677411 15703161 674132097 676997269 822059475 748034401 465360247 659083611 829468989 929650471 217855215 941771095 908086613 998410923 447666625 564618473 363589139 167452177 549539145 853947959 570617467 76734915 872264815 254989365 757915031 808277879 701007009 297370009 256702329 851700007 321130197 139919845 138133563 83962395 263785609 233997919 433857279 362231773 109904067 92904729 136382191 983212353 330715923 791823337 586202687 255724387 252428941 168445299 422523687 637049001 737801425 971174939 539856107 939316157 621836037 154239253 283395285 646587541 330468565 701459287 475938615 875469165 815884667 68799651 850018923 98699209 818559665 54970493 169072083 825959285 21080513 77892923 779391195 461319045 961420919 585845489 595480561 464027989 857489963 135016579 977901973 752708491 365107897 560933525 648643397 345934611 767250315 123580057 182925453 477696543 34986123 554463689 795076607 556219183 849127217 515210275 11958837 529925635 617710459 631546225 683575505 645775017 411134191 440925761 542886269 118773879 779948445 119948525 367538413 933019909 333896473 307979927 307115995 948166461 187163011 137054755 508655623 699899463 499936385 931419971 545273149 395112599 287573055 263089007 291760719 736850669 667223671 195670249 345635863 453550409 248002915 476647353 862332535 669579771 391630541 110632621 755469145 599276179 284128515 299176543 685057969 191984369 821964249 666589743 956649081 38505017 642340269 539830085 308880817 581020117 389194855 167396753 168478053 357445243 208145013 239651531 900258983 457286439 969529805 194075509 137112721 371772445 35716333 96823765 487971653 767342055 91598301 899385085 822403821 271362653 769615657 550169027 665038013 304887195 980404967 620676555 741078511 864308483 545516471 410297979 181071043 689047105 729917887 457028099 9456005 337390155 658515883 304196187 826489223 61078109 347861429 86105667 984282147 924483835 961018009 926313029 749335995 969739507 806685341 717328305 260636347 955894869 438441615 47928733 25583763 199296385 237157575 725256173 44576957 822578201 725553697 746758213 816479167 617168905 28888839 860131097 918913567 620456585 800798819 505717919 599056241 666538257 514731181 450482135 95624015 997099111 469908195 289101195 861851739 492671897 857866125 137112905 594883905 792126711 210207159 646115947 619931057 822696737 909790199 245746451 660246885 772098043 39708013 288680229 690605857 415513519 971675327 783861075 190368177 195311027 613630747 245881879 684348131 235070401 670516021 32538287 597463699 812784865 571475535 661707813 863515043 443861595 33171245 996016199 987727103 13393607 809546527 176118959 640858263 338855681 545822455 311880637 404045925 681840937 722788377 203997593 922183023 223052721 579316583 92807987 744292027 151033417 661455955 977615171 534560861 702763757 539774415 464585547 723388015 521769701 775484251 476465811 306675731 238118331 101719551 640099625 359870069 344987715 229631303 305933029 917601733 254899099 82291273 444647531 70725693 178721317 297898661 343123489 836570915 254106767 164053377 890367799 467136957 56297675 119344779 648514213 804779615 917943063 32762105 339992621 581545315 521644791 911231623 515973973 784664109 333178423 558833791 899006063 9069603 59132397 347191983 679562641 749366203 330241395 68581483 689116575 418658671 585866093 467329427 185680189 504167103 837301449 506216331 479983071 928173369 589836729 211777603 923980987 942736235 32198333 209446705 134509011 972272625 938219925 478213205 713364203 621449325 15871057 169311539 666992793 718344843 472273473 65447385 456213297 199227643 50461957 832904157 838879191 608145017 868382081 136004447 184005487 725919429 72460511 62127621 405949357 665175467 736741269 38280701 235628037 882233341 477985887 679813885 890479805 148483223 772867391 890108739 218029015 109943127 467569797 931573909 959069225 547863083 762057667 862848833 820595271 433225219 138220247 956411679 724642195 652657115 273612001 788640397 962053941 748591539 932827475 897855345 924137245 341451671 500265181 853429303 6540037 875148443 21007997 880305879 126118763 169888725 837745271 188198353 45258391 752428905 179457367 162669351 692987293 110968195 300705009 883557227 390447951 260410707 716482915 630708403 384442195 169570325 196448783 602684315 236787471 253288457 337161379 729296459 525166771 794421117 298194449 280573297 30178361 795880895 186155929 982721859 370867293 206006827 901015995 665287807 103690669 915843365 370803013 800185195 314225525 567911187 816662605 855314135 706642637 791627629 78873901 659522839 571272089 851608489 668961161 930027275 917660543 399447113 624634703 785403159 152957679 180593625 4264883 751508525 263601697 200539629 101668911 311361727 265699861 200145435 369897867 308877261 713281941 14966023 700700879 799675359 247479857 40809309 185356883 920483841 992645439 342311629 62896819 348913355 806691043 214562067 16600015 816994649 767688449 272516337 707382231 867579475 296750157 363683631 494274111 22701287 619448637 242412961 723232451 701155787 795984145 350154275 429858407 773661757 823789267 376808851 58136183 184400133 612913235 886661855 800842631 575900013 52560167 549536759 541887093 487852111 156923825 602315991 976922467 833747721 773179929 930072705 873236669 644948609 102975825 429604349 366924857 592984099 116771341 162309985 169543125 935009513 865116625 554263235 144643793 477012045 571903973 933287239 593410747 984486745 357071959 493135897 977578087 822707609 632576257 304054635 67594483 346884645 27035779 963806581 85550785 288762521 917509957 316805497 961140351 899643933 376012921 556949701 733070881 550279775 802910995 763838887 575505377 22367381 625911511 432679547 717214533 711293055 419281739 696632485 58979867 796150623 740177091 32175501 300098421 744345863 707988817 829064101 770075311 762380491 975308763 615802729 927451245 627077771 335719175 972869723 382026653 36322219 217614405 400321027 932660339 369236509 935344845 182146293 517287275 246693203 111475873 941244877 500283977 396443983 951922567 190853163 300032279 999253909 125027345 885773239 508046125 668440627 114006677 940975401 163306535 680825537 998821943 741464887 459628261 112078683 160589277 558119331 33022105 727244203 741114677 538693179 336032179 307835355 104519099 260666829 338847473 833011107 380704175 244176695 913465943 194422081 936860439 119067223 264827441 609987707 114827971 977463579 593672723 724586401 563412303 799454837 873008603 896272007 198084631 284793693 633304747 806766989 440133703 430567381 91144177 316346521 550302155 152202219 211489887 125459481 103272031 699801773 351932659 845642753 197355137 48440121 797601265 863767763 880183931 612968879 867064295 964848275 373107035 840481337 845650085 76766671 537692155 847614473 752908875 683234463 742042621 745662555 678339645 543867807 348549317 19988849 77246499 771959033 700659845 560002451 172884727 158927191 131007287 421618199 635934707 988303089 255999385 934756435 772096921 610269829 624571443 749530285 864551097 64725083 971539543 588278669 539519333 769459007 44374301 259557991 992503801 513938823 793033317 786830515 823937049 287038995 586962391 957151475 835611061 876630857 411446755 304994229 552771069 231593493 163560643 601923207 148397165 567227633 830970227 72801543 286753741 993188569 209810625 683864021 511578919 229638227 469298745 362622875 609713359 280629869 898023219 164993547 383952739 523399615 879732179 888269537 142872261 933159271 84898815 896647903 463213345 328703497 816943207 2330319 266080237 367519445 596677507 673099393 871673061 754673281 470503571 802611667 193807 347336267 67180707 223164325 818418099 1747707 770361725 204697313 490636135 548946909 667722431 965112185 459078921 633721799 866409669 43668329 122457787 311673881 798157755 317401523 737656555 935149497 445323405 846259553 393271115 122689557 535426551 385417859 516378587 301648419 578524025 209963831 332131803 975848799 360565337 980657821 574593243 821179093 643052199 962353631 288241579 414956557 518765117 425533231 385361771 400004641 262612925 376483019 299661439 16121519 262313355 494354415 624320913 402496219 682464985 36517355 406754967 748410453 638634657 941541135 587597771 438662739 908714657 276627891 571554997 885577365 621913699 748587325 895815455 558131293 828630581 582441237 710603805 470552445 978142257 833401775 275894539 555872075 232473911 892793219 870348943 903923619 521368559 739164693 205628819 208202733 621723083 735285999 31556685 150739479 548118527 636607649 6995769 504104341 913094287 356330953 348541467 768977513 951648067 32101895 489503999 868127767 710579881 656195845 21350201 838803119 368293145 240077175 263120487 249241029 616068023 561645077 225873259 991176057 908440425 941628067 19488113 251765615 226128351 854561513 681734897 416634327 773170833 483253181 29280419 468950121 828147137 406349815 182631565 418926431 374839669 75439993 310172413 805464707 950752895 433170989 68760451 412397601 72149879 339832583 957646335 46118927 166793147 166436095 412574099 427893935 466707063 351220761 497151405 668856289 506886041 412016223 982393089 692928537 978199257 461830881 236104329 267781963 566020279 580079805 915482253 109514229 859621757 61069331 495337877 18794013 570848827 985799949 209073529 585271379 135593927 700493023 524991059 698179755 464274373 912815297 7017353 644087749 510172569 319478519 691523781 718648261 747951479 398818763 586926333 391019357 579776853 305100943 850541421 455164607 635847155 572219035 68206233 663173291 344640475 837621845 493350219 421811049 789517915 553826855 546469275 420523973 304429709 432139647 723170789 324305431 951672915 803725277 955433931 397310779 982236497 737751487 326044985 739547033 793870329 156584879 405571431 755193887 903500933 649034563 221507533 782808387 396808691 139921939 635002673 41464835 690303243 141896385 904672415 282158309 161077599 959265783 875689067 862638329 605752905 149274985 307285299 121809619 187240931 815261391 50056921 266423187 439461915 303240429 911974283 577362909 754947489 464230541 834844347 651226339 169133289 45574529 629642793 670052695 171376439 956577699 977978581 929840251 491096465 212314581 422927885 800847633 594611657 588968193 721947239 843020909 304470903 258700571 601572541 815564639 302859003 970989595 749246771 489144139 139010171 515672837 227538999 110774547 642775275 183395555 77355901 370925607 129827073 466265031 8840961 307698557 76257855 486676939 374632965 289263763 279005675 474328593 586690073 949879407 242289175 932211651 774957583 564523681 265638043 601107733 490029827 657548349 825324565 331023937 811722075 646848227 550853361 881848967 646101953 68478903 327574107 247655219 759339051 921176171 216935247 114054805 864836309 919384113 695447949 725111051 250441027 722827979 867640985 331620853 137507649 303836541 897515721 791338175 207242723 156867605 890775089 469595097 299117703 760253931 454576565 662304189 957016527 191468251 37268985 25909743 824417961 694472781 843221103 747248121 640329031 411507759 27719761 164922989 215766055 398112247 932262813 734276069 595558157 895709091 212756509 42544131 884398599 386097851 724471391 318899315 547464805 710767435 859256511 222020579 811243975 372860137 615623769 790424339 51367695 860931509 814281751 120179137 829843819 426272083 803745193 58993081 11657551 828516853 210724999 152779213 959986549 333529935 172909811 694908631 669847013 392300957 288183541 652026553 161291495 830044329 936434523 223583 191541779 552528575 266474687 388122551 14025539 186289591 815540865 589597377 407197597 295553519 481415113 386183803 601411211 921169739 180798599 578191089 436259011 127850043 214696563 298898741 948303167 850300597 956526607 720700513 117082695 645651767 727316897 625765015 310692965 497201609 373802043 910481923 724320109 308297975 693952181 731988437 785047419 287917271 256886957 442937671 38642165 542965257 722810767 707489949 663958663 551573171 726177161 671685665 546066979 705239425 133903507 917910821 330698247 936994989 569905005 838606595 751320247 644855027 785175713 895722015 530993407 36461209 383370623 905475807 999537395 830973037 856100125 380264121 371764465 958034631 884052319 713906471 411148443 345781891 756527081 168999593 651581919 812976139 333201199 559507915 852348399 30218825 154558311 195575839 377276491 700554165 199010705 386481471 111291315 884687181 252613239 850157517 491801909 683423129 846473639 88697973 713666855 390982051 554613373 14515431 935555107 125001735 916223765 65888989 847634445 325955551 216765785 299773213 121181971 403411 627054585 974475885 103795881 148172559 352824687 137393825 58201739 578575949 460442361 91916179 856907195 412536009 979960737 871418917 860677513 129379145 257445173 15058243 274997383 476663579 30880591 956910301 1496977 858325271 323997775 895363309 228110029 21159579 833015901 922975353 593547429 254518923 946226281 268010631 537053391 370403927 701046059 435872555 502778695 563651831 644216869 278842495 611091281 969070565 198290079 977397669 436096121 359819305 354629287 84754377 76753811 691585875 301206039 415919899 963256763 408607353 862789517 588212695 804664151 131518775 681407349 659019581 480494355 107290293 473694973 49534617 51926753 820485793 922992925 535740477 677918465 524107311 888502679 206691971 590378227 64408353 993968625 135148239 917315717 604755643 623972477 247441543 317087947 576901837 972624721 291828259 821188899 158003371 100216657 195141143 981538863 5222963 313971489 464864747 243440349 460932303 797142069 238060837 575501153 430727785 903244227 205628505 379915317 748025977 547160013 118219297 93920545 748771071 619645977 546506271 426320429 275757437 862868279 279498751 122455729 220345349 533822339 669467249 509481543 59073069 916813337 657859633 501018069 232945169 100372963 875950335 142800517 643052889 273345171 815183017 165936333 260455987 171533213 700924413 311814503 695143509 17673543 198722007 563466843 717890555 149916051 119601177 367176691 877998321 945846615 32943791 826762691 264480639 892552487 175384201 853288359 476784511 844950629 704422051 322917573 486281039 538277433 258056957 804501639 451874003 124098707 307818405 235878821 743764605 532049197 545449897 455128343 41315391 737791109 132458021 546585891 95714969 832355043 844852541 577963093 146474387 384518491 845254423 354176129 578076089 747009729 702011115 824459205 528836387 580713653 684659693 650805635 912096877 362761891 38078565 128159079 246641599 11489977 666840217 257354857 834838983 506844913 416804317 646760385 340032699 923965447 912122253 892212213 998081881 850750089 296608775 131112403 126757351 303260611 480997305 390703979 4918581 563438285 412893715 450470173 694453143 251406731 376026257 689750669 479563243 407453091 164990899 539041701 169703067 637626757 762758151 913767321 386487441 115768681 573441307 681361385 55726663 467689551 485642379 604528981 456129719 489355521 747933947 663972589 93066859 223331087 576562449 704629507 474491503 507313617 317117573 799906867 276449627 778574693 559597325 205236835 233797707 66763701 642235243 209910717 446912487 815219059 395130987 167539639 206860637 340960021 93725665 338370061 655550819 373214171 876304803 50564035 299658039 253734607 325445783 609415205 118654879 915924417 284431267 748356551 789953003 238956615 166083263 51062661 810843375 772831939 734649825 720215941 585658891 872607581 46813707 906819123 681123365 208899335 425496137 869492545 697418409 775114357 342173871 974000301 364287631 545429293 638518099 683292603 359824215 655076465 600445275 588773879 153546245 935002709 379260911 410885175 169967655 547354291 735358785 627165077 105916117 969186343 836254093 150225525 734095275 918359323 423536659 360693637 430991825 448331455 279075361 566165687 948813045 337263115 768319493 237632587 415798861 385475265 648326685 527631297 415768471 784517735 155945415 308589801 564796955 541765969 678868593 137288915 476876195 245190033 903449227 285175007 286062475 963974669 638316689 436732337 883636653 617564011 594122757 920327219 806968175 665210139 586298479 361366171 289365187 360342613 403079781 565272419 905573659 241748763 289814141 666432083 392523385 412896051 47020637 296450933 73529441 277534511 322385325 462157341 267121377 542341991 553709855 50942951 487950737 484493049 141560175 999368633 60857997 5267153 58358879 817281725 226956669 129139867 695672247 213121385 350821007 895670739 105963085 35759737 294350713 411679417 224528631 133529073 150632571 756991315 747774875 196639773 307241303 599008881 992057377 698806931 810309727 909899951 632027515 448713515 873358183 830346089 357392549 315936013 159801551 706719691 927511457 498305957 323843709 524312001 484010103 553868197 748495581 843930375 424186429 92298253 700857833 135355931 437180937 71007517 354447901 719097159 922340353 305015139 945948543 619858329 878976077 902990005 879315101 835377645 378346015 816220973 618792847 881867743 605508787 820858415 796717297 301085401 122847307 518449513 822899947 394351371 949754161 557279695 964148269 547081839 948336821 770453659 263841513 318017475 478400053 993152085 129193439 563771279 780673039 517859269 793013589 545910565 686733489 652483843 900120603 305903005 275893645 992460905 156399751 281148119 276672027 550576029 298245493 448926843 698909407 733662857 55193419 540735737 735769185 820831843 766691067 489079947 421886007 140397735 456782073 769826349 37101047 512562201 762331201 538233517 902003783 42728901 873086813 556558231 525736911 460028927 712683355 523379269 262507587 243808611 73204431 992112341 562356059 703348183 535956183 304114483 393976281 657316231 658135069 345900045 617223307 510887909 147516363 950163931 486716225 241445551 787686041 452016605 913880531 224161001 177743301 707009823 66976551 719091167 832546839 952512875 448672293 573119015 86539995 847716959 248707777 613140633 732845799 67582039 375420147 256295775 63387547 994138495 301025725 889021151 399541213 11987651 908664877 953999571 319976731 884431071 992705107 228713267 485590089 566923603 365313607 110736199 418951913 21559653 452888367 621608087 426419199 804002597 393907763 357700603 756169499 651812975 930119047 594668685 383927633 203328991 331036003 571631281 759553087 960602591 370879755 511200533 4708623 205416351 691580871 94415277 343176043 46569497 962284525 755997365 229592203 410017547 845027797 250092463 254081583 978950655 458915039 86424171 870614937 9035075 49682043 376360955 795893403 96076529 763812117 802748347 622970507 715131881 638123819 537358417 268478789 939092179 609838143 220549289 753293361 273654049 720142811 354741493 492350779 669361671 571300497 778644403 95677917 613926793 478780153 816552101 785608723 968996719 115246265 96305115 437303139 884355655 390455161 253508265 832982493 281656427 733411309 677726375 602179349 619499769 487332045 411498173 671949097 150812381 55266269 482357783 906596291 860545989 329077991 883455783 742843149 647656745 934940859 313356973 985027263 629569867 365339703 989064873 229167897 451451953 302426427 268648809 837275615 570511021 247635889 143424131 954364767 925550935 74151053 962829775 581886319 392583053 364589255 982989431 447563375 362022011 662579299 964471267 371606597 964309519 438831467 934087367 791907167 499409921 884274417 366705699 401247667 138884817 893670925 194955319 91260351 476992713 301194981 168321427 286875017 183503097 378627489 984420873 769989025 354166841 476400501 522717621 218771483 532377639 920564633 906433531 153532309 55470637 900890705 218283147 311169081 420306557 55497191 713827925 241070257 478239501 675976109 623519893 660535095 17441949 30878461 526626771 227345541 680642487 147394617 795224793 418803941 171650985 735943627 927730107 258042659 448676749 243648295 929711317 28814743 75389253 931393989 732214733 75197725 589248629 710524457 83455631 306696733 32228239 263929565 544566349 956589445 873116365 747777905 890018949 565240267 75898157 909638019 803314171 372375533 483954039 636178867 969435067 438543985 865259839 547417261 691076123 9422439 46518233 953407007 39212467 484484195 179925861 959032265 731763309 280730501 130228175 96538217 352962671 708903025 341415879 988884171 367711539 544386647 72719297 767731391 779190385 145837551 754136833 648836131 211959087 486322291 979980429 716084183 788644027 277411501 333926455 324994247 109306789 282947561 220614039 977061601 149917389 608468223 441804557 332180517 8129111 477645643 580591807 338407313 852098221 60836789 470609825 717881905 427997061 40117163 535512169 229990421 184047321 457120803 490933401 467670875 75501553 366052507 45078903 71121699 241368663 736926235 127240469 574040729 965197023 468863535 447662411 480311277 688576165 930158573 259498167 656895321 181426703 107664117 522436549 654075937 926662599 736050283 513331105 80355215 168168387 423268865 722431815 884013045 693646399 54712041 660341879 808790445 754964671 439196901 350411445 125872153 684593423 372506937 770226263 53421219 21560387 215470515 987660657 441686975 467848633 990778795 769015527 708024805 657302547 513877245 414549853 646749851 971200061 825039121 383655493 384617831 841372269 576590805 636698841 951292123 326667553 15428287 768403735 141744533 488274457 918645197 808498889 339254581 538320227 838797447 635711613 763203943 453150293 402108663 753947279 375482587 452403847 388470969 907436571 167888971 983655139 835538407 336056331 570932603 467955857 112947751 942260239 253363253 15979525 411215275 698378655 892320075 336409087 844056613 751398141 704408983 760536703 233664471 112278577 488906491 23533013 171377285 170409481 626854755 236384657 295025277 630348063 807652287 558508949 433167255 308628691 238430473 891031295 735035953 964160589 859671365 664856895 782240303 261401469 11778685 499511049 17118721 84122139 924931011 794624345 108643741 193639081 328412721 265486451 196444545 271149421 141809131 554248931 784399797 704021881 227658007 353176189 80168643 994417573 490147563 707564381 853913799 249290127 92459167 236268265 963072603 417210019 609626233 662670539 435595173 791012111 335093951 923913721 66641751 649928395 831316677 547147183 544328613 433805975 331192805 954303089 463342411 392276221 922717313 367916301 330186899 97437517 751232771 799830419 41030731 860741277 487837407 425622627 160281287 371709649 731949455 833782047 885568229 492759949 488255379 975493555 925105421 575477573 282094967 95502167 714552877 941273135 676438733 527481219 694657213 283184459 949782319 696335615 288349623 863808867 674135361 6956755 847497635 454194181 410417065 770675031 710614417 876619917 739645981 419693347 762766871 659936023 91596887 51521569 548395601 840248717 598823703 845981817 386336485 29869215 477142313 693826465 943441669 537987271 944656991 202943827 953037669 41618755 351244435 159211671 798442307 959330077 951930537 348065461 42351461 533692963 750535047 747411013 147804953 906450415 89120547 585202211 833761079 404784353 166475639 288543855 344988445 329842977 349311363 988721051 28362671 505295263 481447507 761431895 461657181 471438099 467249657 126251425 870542877 6644479 231266447 328857531 503914607 907482795 539022137 795430197 295591509 825411621 992940829 3316449 819977057 793314119 533145201 382225885 485189289 517768367 445207407 413074571 419727305 103370441 544606039 81425817 875251177 255279299 875675511 691049721 350312629 761327509 939868189 733602025 812288359 579819265 410628517 899088621 135311803 669374605 937982321 358233297 392937207 513776779 669897965 381061035 661220587 527267089 882494601 453086421 863574763 885971203 869800129 790853875 116514517 245664005 506695957 580612851 559111187 613021323 191916817 847024391 461667471 93195467 621986631 876059567 226070977 394141639 524175953 255034539 44422567 167873349 305953747 814631947 742542793 709383637 527931763 757745951 942897203 395905491 833691113 309235593 15256189 578411099 804524521 941342759 53435075 744228951 598903099 54019113 159219373 5090681 583211941 171677699 713306217 813485365 630185467 826744433 480741291 271525841 30365975 827465591 449152181 702260559 388329181 330105695 65886027 984489093 294376243 92965825 762132413 261109767 454827281 519470201 140231647 999954743 580549483 706774185 199542801 398583101 153269321 412365757 136661559 559840777 730535345 735320683 9290433 977949013 870809783 542857647 371951015 260729759 846013045 429043661 615481699 171501871 202384655 130918225 465583615 804301593 99245741 213535759 713189383 71473713 621061249 33178149 419986835 444483607 211759559 708289269 578619711 594029623 33953471 466834477 682939699 792377023 468018101 115434175 754257949 496455081 953313789 823501803 613724723 333620145 948782829 869858353 12850227 656719205 930907881 871180383 435967075 875692561 620833885 481613963 156040593 458735821 538715833 353490703 281614871 363286397 389506937 885889935 408339661 728629191 868003615 276548601 24627743 780930587 11393587 915667329 752599287 143117489 700803145 420187553 441848783 333609609 350587643 40618785 825726369 92803181 64985837 557596427 569921783 143081965 101419719 890078129 65485533 659035745 270264891 508590005 513080299 556361703 869703941 343552245 313509181 436202089 637992933 86876067 991011707 523101337 634785193 373976367 973841363 868035309 374028831 765275477 845120763 881917093 550337315 781248797 548294705 684841163 60524441 877363153 350429755 19658031 208443497 79223301 353061993 4455 381949317 442119831 447773071 810824661 178364649 339295657 504395021 84715681 130937749 390362023 640207303 441843901 386307223 122982473 731996463 819471581 383774205 922814343 481162295 816523399 988815331 71645351 47685217 87436541 648854893 51500853 296712881 855705683 642272707 862404613 934309557 382716515 833639703 628654645 782411653 482074057 955282853 910375975 830296765 269533935 920797871 31075977 846113669 231341829 596146557 85546319 589876619 865588483 963190883 167239859 945945093 897474219 858155453 731567677 77319345 210113923 352548073 252243381 717499093 485262815 87756117 964337203 99769921 378915793 740044147 332442897 929415753 991493695 132016571 133602035 356776653 119885263 350089647 655408839 424974643 283427825 552999645 409857217 430876007 825734109 789807571 324077405 770056931 516083093 629020461 651446879 439555491 68800735 688454287 177971153 204853549 97601613 91349921 655192843 985403279 10328631 590183189 321404841 173459553 889987515 116785063 130467979 781983167 214227909 910401305 939936995 992579921 33901569 872336179 70659361 79749445 663452651 979327691 276338179 907260753 70622147 101438135 869261 501160371 790415247 192111837 399185931 638729267 653104673 743311653 29745425 839034653 189677583 876930177 78561405 367632455 582864571 98982893 537465201 751783953 566143311 494253419 319730011 437626977 117815223 339767557 534980845 137286051 875664815 96615371 769514277 452362705 525781941 878640345 582015559 54343013 434222099 129380947 525503713 410550889 724620247 952841313 40369859 946024811 837757405 97453111 673925645 557297279 455751617 526650637 71023139 265813571 578865389 906394405 135761583 703607007 456356241 522444493 776437925 230186241 757980583 50077011 555223877 108682975 758236141 439874581 436159247 502613817 166013675 654294387 189765843 988461137 352642547 543353303 317920419 381097209 83089437 353516211 57272027 586760069 707931977 261245827 727573791 64021717 881430815 573928137 614501727 370620751 313604111 932112653 837297355 994591201 961698387 740783589 705687777 986376959 454751463 214453479 895494243 221374891 499806873 497828537 963747425 709750889 447362805 584857091 962482989 936134217 773112661 971095161 79770981 103067615 397805015 882157011 678992107 112286793 534492775 728884437 275650027 835279407 259896243 684712007 724401627 877617857 291812915 369930239 368397433 570349745 418588457 822385107 54065861 415054143 783561115 216132265 446822413 315979571 305199449 330448233 205472485 953344473 390302207 729777159 304390187 243130375 679377897 714945147 22543873 637912861 44215107 309379017 191013077 314636289 402428667 555865849 941992537 980183073 132346823 486860833 621437069 216965745 299792685 401481561 696968881 46541939 567404657 610825153 307314261 406755115 59050915 799973511 981352009 959598121 754392735 715584989 962139053 608281217 33619457 304563707 946573541 616481233 380417075 310002725 430514331 714551105 175665253 748046757 145389765 819374721 52438929 394169035 387819933 353397443 207994229 227041269 289797803 74264519 442178459 586474627 742062521 193887445 113485393 243191775 329407963 272410553 660098993 855888509 519336045 187619785 56609947 122138325 569943061 547025127 989229497 3555947 554280381 406438003 403232375 86770887 215547291 159225441 756220431 959501439 988311595 323797541 33871491 786785835 901819697 693157309 138302363 739600235 300515001 796387503 308445157 35863023 672895511 262488843 645616571 305811043 382568681 18021989 402571835 930620293 897724433 688484059 720861265 763880727 466590909 331851287 759603115 320458979 343885663 494685763 44741569 437636539 228722869 249110295 554243797 892835447 892038339 379818707 370344173 766921469 741422039 701159737 443039963 333941559 633004417 492410523 393233719 891875347 110122401 874275535 270408033 480403087 101717337 265144881 913670783 243293357 979380247 611414697 299296901 562777207 163200655 212010149 358795049 703516415 112401339 133565979 870139627 726519647 632296931 873161097 459543061 646421943 766550415 42938101 957770679 546661943 499924119 276530925 169107113 846985227 523993365 788384139 375971465 904214643 334549103 373483879 909741761 788363693 534519887 509589165 510623619 382502915 255498667 33566215 138857669 865217739 675352511 73067437 394397511 270039901 386149135 172250207 687860115 822313499 199726693 241835105 590877431 192576879 882003419 848900737 169646733 777728717 180752327 331762965 689887799 963504557 339804625 167406847 661724569 757165715 497959907 123167905 183533349 50933257 492013365 276749547 347712789 775381409 411295551 261381201 688636519 40631029 880444103 956260309 420058083 807328935 569033433 843086333 277821725 923413857 650145737 507082707 14631273 405384919 616999477 773566451 638783207 234228417 619839487 744002933 536735107 513828323 723230549 445460229 373869549 776356103 391297961 149937101 643610265 434188287 855499963 690817159 839834315 961527971 173034379 58656365 496915849 199867353 486809959 627042377 59806373 256596107 377860837 366991207 322551223 825800873 636459231 194177695 75428639 861829165 631944569 690648397 312173315 167901723 423467811 854716505 932568663 262108029 498405771 869809457 149035473 172063845 629902003 708303051 779665651 638747373 236411357 471058597 626668291 293199415 220685459 935181255 252617747 63391597 511956397 955938235 873224699 9039043 216784965 640523677 887020377 358044273 166154433 548644613 221868697 846418875 875620299 659792671 637732071 995272171 473622363 849737621 705209663 732079443 628039079 773303713 800898401 271218253 343045177 137999103 772195539 813327419 683715291 533953779 513926629 999822471 875854499 371513169 24359601 139707301 948171497 551988585 337113113 924733455 65956437 432624415 281511105 933705541 534721491 617813973 684661787 399808723 662678421 925559163 121452385 123044683 297274905 975618951 773065361 315653447 371509539 837269495 18805621 319082601 76829377 508755025 835273883 443156059 889372227 991233189 33837663 897573329 677175625 55547015 883895773 391391109 149957301 173615639 793063423 245800247 975205301 289694459 958637685 917032115 242721469 213465441 829471415 40558795 826746503 334148349 113227527 957376087 91518235 457045521 460980077 209345343 757226177 288325217 435527351 54481767 870193425 80652347 814039423 266086853 378256869 951485815 859887397 98782547 277267555 46014065 151673041 837336081 385117685 416208145 923855475 990035467 745214289 767818695 42346947 980425299 988510577 653339269 40809795 667624451 656831645 754492363 133421369 485006141 12488543 558034847 774843063 796542507 76792715 737108113 897402517 814232065 246827325 338149557 753618033 797292537 497239003 503594155 679696823 907487827 630061841 797165721 616918677 422565723 281472465 846092077 359732483 72781411 536373081 92199067 254903233 131758277 524529709 36042149 115944281 292780771 256815385 674150031 928715547 142598441 178613297 903995943 409779741 904839431 898630099 936312517 887199299 219912183 563191201 245132103 634570033 47045247 505163145 973884433 565902683 403499301 772989117 30091795 695404791 390444925 675246781 451009475 883589381 726110497 406185545 783444513 983042639 468138163 366720623 239354799 770645091 166560989 517136773 695342463 854002845 475994451 775213093 638608933 198448921 309312463 417786419 671131329 270014913 173598993 690560477 999910905 643141445 46824421 650302615 497809659 252479007 896635421 369602589 180530301 628547469 739654549 465536369 922740667 261606553 261997355 538614755 914144127 486893329 933851083 408242181 413092631 126655119 39354217 202602163 968585047 938662259 742629375 620277779 989496733 77118437 638795917 300732047 75289299 254538965 584822815 522625501 395929699 812822267 22681289 586530809 998326085 956625369 377525921 682735143 665447159 338756279 470577355 800473075 774200449 428650915 957296755 244494897 706876783 488416887 363027401 57097215 1918167 134162385 899102471 484196287 129640027 825339933 192763763 372681757 383561499 913070729 269915731 284652303 703740619 761357837 74008059 120937171 38675103 960910955 782619333 280092393 952611925 470330153 344088595 342747423 340819763 197414041 189976401 803530889 893796615 422057169 338223343 33053317 657649961 485029045 13071209 217163189 252194167 979558123 103416895 25400583 448524629 585988833 855281405 788313775 741209781 233886163 160671285 48599335 447807753 245017025 622132355 875445303 276684369 137947761 363756933 129450471 138358293 286269555 791765737 192451983 959411297 203876899 701295967 929624777 16533195 275878045 170852259 4350075 301255029 966137035 630362485 586189263 511189505 692213855 877527713 638935355 975656093 803626189 481602553 513086329 572979459 944708187 636719705 750893201 777883503 87623947 812752287 377923277 266391463 886873523 922110905 397569473 745855995 160602855 363797911 998112073 473334335 313754121 536925749 332060299 82942161 697539649 251772819 960114929 174861211 805378431 540462525 786538291 841360647 718527357 805025733 87549513 611048719 69565625 137545927 813359737 643952173 938116475 264889569 191007823 254521451 109507799 784973377 157384095 161935957 920256417 191763991 267869831 544811521 11867001 738902431 168830569 649821713 927884747 610734361 237814513 513624743 653344453 672053971 913170711 133161585 976788065 902446107 661945363 205490089 467374427 814874701 764799595 798585099 138199617 461068749 307061997 884933343 938914399 262822145 431876521 983155183 980584141 775956833 215115519 693292181 324471663 22294625 88942227 76968367 619666923 841536137 624759887 207056803 902587057 72493151 552653159 846265693 355059705 350528375 876241755 423697237 992831683 606910317 162176747 888992395 34166233 980857567 590539559 299374467 646271691 802797691 586136673 611693899 588137713 121659377 288020277 583880313 742000745 998234365 645442441 328756271 867272477 726014049 558542727 960248079 942578623 491355365 208549541 1884233 52811461 634586205 704254623 656494739 644890479 26906277 367750777 234649899 410123463 849571483 93541759 210687703 176182429 997364525 719836229 215087335 498624135 439121483 127175591 646824495 425127655 938062321 1362379 234991119 824395237 270236449 617051421 124782955 405950579 102192355 954506063 46853045 192977221 109241163 259530335 703895007 843921889 581890165 889227665 47184235 313248137 907357567 995626609 578637147 504422995 283693463 290162133 27936067 194635795 563992301 207288535 946635315 400856427 168220093 974900699 945510351 426595011 568274761 878002575 470700345 471396683 721940185 182207973 717544993 524447227 123887811 570214685 745138109 188232341 780085085 999546551 285381579 642284193 838390285 226056323 561119121 438896749 282954811 761863569 137758943 906322961 856220761 599381313 234084617 376897649 786954979 999366711 976843247 671539251 773891419 36225885 639654647 901466823 365964617 480116457 649485325 711832421 20741953 211091285 943855275 93976591 100405215 909211753 918487243 348837515 509829313 832985647 423196663 655921515 769060757 611012091 729463869 909576967 700941069 274723689 283515183 505717373 789852129 728172383 928020721 159567033 29700563 591126279 343779621 657006951 797081265 973485273 552800763 460071939 43047241 491528587 318692649 69307085 269237369 222160679 119864557 889955275 288451103 474929143 195736847 669888975 830214697 833456017 242102233 295418223 266667913 33963981 606189863 340505613 364423479 725415379 788445011 823160019 589486389 58597647 700470339 674630573 147857 242261557 372605545 383856215 251783001 186934335 659124153 803516239 969614251 940277107 389589167 380331743 793572005 102373469 664011093 922891797 794239093 868127443 518710841 160612813 820287565 491374319 329334125 619426211 787568997 869913621 939360661 778155777 501217281 104258035 590027987 953601559 410509929 530322301 281568727 980716767 232913395 525745133 864267479 444198423 198449141 161505739 298878611 457965639 200742101 947026399 697607501 179511489 912894715 997930049 886863831 613281949 689223129 605079371 376790149 841646011 999450859 417577123 534914103 314428355 265071795 495928371 841586003 58807589 399756219 794155313 391070919 222051355 27032979 282744601 810495239 665303971 775639001 739690159 891971861 724689029 425821997 474563839 808764789 362148435 907269177 191705693 279275829 718259301 219699887 751679845 838577901 108824281 460903499 854671869 114647483 426527131 897279439 948544593 500376643 200730457 843701765 402614227 585877941 104985227 763425981 772965441 18975945 702054515 371686869 876008095 842749625 589849111 528092715 762855993 73457229 361900359 350484655 314089893 739482325 918791071 880503117 825327547 122310439 975639931 656779779 698982053 30985375 662764807 489617875 236304585 163400229 529311537 688596423 815585249 743891749 323849391 971425775 707898853 853784729 62271239 304240745 508561949 24432637 253457277 44075605 355298321 696641111 23635489 352904413 209725081 407762741 2981583 636446771 802867407 882563503 178576419 853944979 554031383 374152547 328018567 472436543 587463711 87910773 519433517 548346753 510925787 840184215 22999305 883974571 449718919 840869115 379295711 251166741 891763621 815945057 870445367 383729701 139481349 305128465 780014431 666442563 541327289 655032023 237170289 806872035 122197789 902043401 995043149 624823933 239857623 490038919 781160093 513691285 664814291 644576951 189470669 601224117 707433027 477397383 727728151 78595181 753900197 702240877 32939901 831954779 468293053 633336167 289793479 299839007 870909335 394454523 173158275 399896675 794333575 305872439 570373387 146542299 497809705 581652403 606396797 825315391 679415139 643020429 589654981 503570003 752260449 658289257 714841489 27418335 409274261 500146041 495987801 443187897 616389311 378468207 313943647 691693241 427394783 974934155 933125033 125428929 459610179 749168277 891823369 180497083 484982913 236717529 907478807 4865945 141253489 740316207 993657651 548605529 85701693 436182515 165642883 901869305 865190477 960737037 26498299 953947523 508894805 34012139 349745745 873354509 46348629 433769089 75050757 85487279 436131213 102510929 751980385 365783179 325148045 900863073 239729781 982831307 374958887 277422139 35289881 686963875 172637815 195427577 261367019 441732427 280201953 522342713 549635413 822036231 96719893 890883873 94867593 674065953 321966851 631755101 847934589 250245609 831987431 743753253 224191473 148327869 509215817 458224697 665333103 573109245 183676915 108275675 245038661 148800787 580941817 678666207 806229389 872327283 603987641 505434261 683046697 39338901 361494995 94802143 108973757 210726141 57676089 626736931 277055163 262561589 721310747 592478799 797094237 499748303 753497079 534751961 954330017 183036517 649888145 204192191 419222095 89185689 23013877 615246727 729778427 164092949 597331833 573333313 830287097 6011277 780869301 214645121 165761643 433950137 559405459 219316071 710503735 21335389 63173177 247405465 913210387 594206531 590503457 205483331 563111793 236470589 20157187 700658461 170369685 148280101 708583911 909678695 463572101 530163165 868604437 61086181 724833555 713401935 154516517 224881381 473716695 337353327 182866673 530427967 76546353 555499573 907510941 662608207 407870279 621630117 13675415 265827581 992531213 187125449 586011027 791034039 84362555 405063859 580912267 151411 527080781 395744893 685159879 940927151 330345103 960365385 898413777 598715761 884046097 632869953 465764989 698716489 778166955 92133785 279171559 118786379 713880059 982311819 656214389 227353879 685607789 29656407 99204049 865910739 617961005 565034057 225920753 154208555 471772983 14585521 53771025 746211417 433889867 880640749 916288949 647904535 890300143 605161053 881054377 394525359 57098099 415424621 912538881 379923693 779953137 790579597 966308891 96106793 486938955 882865719 335115929 398699841 517336101 70084591 161881447 540699801 344355827 29192255 898220221 895025953 990948329 298340793 535939347 91948111 207286795 107095799 809725999 194322465 324091937 455031195 158122525 725427229 223019705 285849935 140756019 494897747 390024239 798576839 204694025 749420119 886627743 284157117 15454857 58299465 317277171 290432241 960833755 138485199 533840091 487947567 98385267 874344213 614921169 229212233 571496209 860821973 661648657 138590489 668951989 945341003 366980265 700930433 144703407 481724989 124561765 933307243 750001297 769779193 590604767 445604299 35129399 447695703 782323575 615446939 882850245 844284083 908072789 196974299 394029737 156295669 631596393 93120919 431633815 50659211 344041835 230272225 495109003 52391787 52538845 104048083 619359433 396118037 69933317 394706575 148676061 431986571 531316213 948269889 275311259 221445215 608622981 998949145 97870111 990314149 36181843 835918673 391289039 632089341 807051467 432175661 621590869 812232589 971337755 597107191 429285289 197286659 130515771 148379649 414772483 700887955 430422251 808479141 222901225 281115135 683360693 716643143 384063271 114890379 674018537 424264013 487407825 983764485 91264413 998898989 927518533 79057093 728464821 26628193 421901349 964954537 40052437 878933865 719671135 996061973 333746033 258621137 67759141 752098809 366112703 686394411 788732917 633131723 129597119 997712657 853505429 670465673 240472891 845874213 890639885 457811387 606196929 954611731 617616821 972945773 447218861 152504459 50861351 397219893 262365979 922201415 261866567 856210739 557585397 909426957 114416451 301497613 279501291 741530787 469217167 719713521 869081463 954658269 249446117 66786195 954091479 690642581 102616141 450182197 769739285 967604653 903121169 485785499 590273023 185082897 294463427 812321557 854415151 331008433 565300037 690849655 388381189 739005575 270895541 369523231 79667881 699351449 182504837 117498357 38219787 179384301 168390245 574570601 240191717 735390615 7544915 466804333 378271923 763646129 611988113 421537153 688102595 882315357 55194287 448689837 378757921 39596487 979473281 264487805 511777191 981240607 661816351 648675079 999370995 198252705 617890033 869521643 533073265 764205965 149398179 957912143 612525135 685266223 262449959 552985313 409457285 303529433 516128955 984899031 459129301 561228261 353585379 515810029 974272965 905416887 497422187 354237807 211375783 293073333 855566185 679744805 394786961 885938005 608330295 133087593 455656039 725072401 61903993 922616857 874192591 677569385 206627101 707654297 475953975 814339307 741100117 74744025 244349659 610673957 656586401 816434769 849218491 792863923 178840001 637596411 710798237 174843191 840065477 783622753 484349713 117711965 240881663 927793295 298132595 102696661 140110859 268291867 419243231 699686235 445669069 988709925 557295935 714951087 219897715 9591123 126256453 606395805 983249009 755872467 143835751 186378745 801785987 508230235 449509093 2049945 929844653 577943593 748763847 699561057 11551289 61762051 557380321 395519037 987541439 75133497 433377735 404604957 842036251 694149791 799869147 838475005 446429807 802602387 368557381 602195165 309781543 839443199 965296373 788077003 877992953 910684493 888838053 951194837 961847521 676426357 779050963 142572823 838868259 537972471 417681863 71204019 263672651 717102295 844160149 404403157 796058925 285747875 448746769 639536557 122026727 862551665 258726619 903420279 952864731 773131489 550528351 78877557 906622903 333747737 242216139 881701871 341489517 314153159 344726297 479827513 338739773 756255009 492257543 949919149 218320039 804017125 492689693 708401327 385895801 520195929 571150509 341587879 63331017 621129805 66845389 262049287 881627889 431965461 304251233 524250443 361554325 795734161 220071951 648835571 772307619 436177189 810707271 861853835 597609295 92936643 401268545 751799975 137300755 545175773 865175805 955960285 512577207 757514613 583864645 929388241 82348357 990820877 653850025 347468335 277500687 339868601 656103809 680627625 288486071 133541641 895263979 37775093 366092827 552166175 881813457 551505115 84409197 105440931 544618213 962597921 56672797 310005437 387687069 776474781 846575591 476301865 753848377 440021541 735777235 322073635 791886019 978189213 548877611 131933043 568275979 971784689 476971651 846533987 768193959 690165523 637963961 665218767 779004409 829437689 394261487 542986511 884351273 722445483 539297937 437946639 945481769 473885487 173099095 563981881 761324975 313591451 997497145 81971079 741933371 693964037 203958397 524135027 127475733 145429907 965755823 173007367 77489745 536128875 163790243 842405327 279206339 121707717 626946935 928729827 611905293 432972247 164818829 517169377 306383511 637259747 636357267 459611373 265549201 109467191 705856637 524678327 680595699 16807201 72435077 74364789 86128767 53707005 703491891 749008101 349942205 874973487 156078927 103032909 220569851 339795743 902478065 354809213 666744913 888967999 363427187 843254729 88517795 883119115 237378425 83360017 91457175 758387461 9163761 927948475 288274333 910864309 776182031 511348403 647222509 474809009 215562063 411063923 535954569 965126799 603161717 31283701 314318391 94727925 910653067 647950019 23187081 273574283 254502121 157208809 820604375 554604803 150678827 322104319 613056831 993025561 847597107 972555299 862679469 391075471 951950125 172080377 789997773 668621357 857783439 888407217 467277853 587175879 821828373 475084033 409957335 712193081 282919107 811314215 858107399 694183779 814212069 261025257 682397053 612520751 656392719 427639959 940813007 654250127 47612703 986956807 236406623 828703871 906282039 884693651 290675799 91006721 448286405 445596199 119473571 686459421 404292987 945294127 692465407 501824233 327781207 110305183 112993513 485880443 884098719 306967033 842909099 953750265 669720027 439825985 979854419 24752267 374414561 769898245 369398205 80790627 502321103 594658397 519585669 795399613 676685321 814600423 265026837 37903067 179910969 367662279 962052253 88049669 219409491 870964397 962873367 703434385 208479383 112156367 773129793 432879061 270868101 77297643 628087715 172923447 266461933 667506249 805255569 370245151 104286689 322091701 885557021 351156993 482166205 429997957 210429997 432624213 212915239 320693657 555687527 215970461 875098889 205351767 566381627 764048487 105439129 312290219 228336099 219368769 659858771 892143887 821303901 482259657 759355641 535895679 492337777 709757855 903762331 580038273 521351089 210072173 521813387 798028835 909210485 99058917 649057639 223913469 85969883 41368771 16142609 635796269 672000207 374423753 306329781 343993943 400135935 271818177 930939337 61116587 780538083 858728827 326286859 700062943 564960189 815412693 307170939 765842483 488178323 168843183 428436071 537484137 895328565 257512947 876578915 284234707 886552383 173068435 707686733 927093317 820145421 136235915 452811079 777060897 932941003 569795549 788399295 949443143 47991655 917142163 572720487 12451883 342708121 70585277 321578303 95719105 549564641 460391801 5424007 440109959 54551177 171415783 429781967 879830915 663895199 404923185 701359335 243062339 282721023 298060939 790799343 896655583 934637125 236572461 583800139 940317941 959482075 848063067 707894693 160030121 624222707 716323165 971439347 999492267 495838337 497584265 917385583 183190323 411525705 326799413 897344161 418372347 739647699 292050887 545506387 450947915 646655085 35027111 274149785 178041331 187268401 663817033 888770511 478717001 669594113 836233253 49940379 317426729 373936513 562785983 70395367 746705659 752016675 149173409 342960873 243218093 434515487 708535387 193313053 334720181 70115959 866407563 969855559 867475215 493819891 669993169 166198387 971026247 609440033 58949847 851233525 348666213 96836699 316216145 263228779 87505667 452096703 884064503 50919607 769021503 299233081 830049677 349635591 786472637 398185847 887903965 24843725 637534893 703789299 362153399 26919111 29090247 491789289 856759033 371098361 478307909 232738917 744891523 804518065 802782705 19186487 667701311 664916863 116057879 412173559 676197665 318596931 697551757 806048517 944699937 832783135 815706549 571993223 516103491 244700289 333692785 600311665 363333265 588285981 278435631 897764217 176754971 852284141 689992425 718183713 336286207 754830137 975249691 529208495 18760029 897313161 294660555 564365619 538914655 289152949 714991497 149393289 221753657 104319959 261450345 53847885 760384547 184471893 477733643 981483497 782682209 88996313 59142035 769648015 593192509 834353753 728940723 583249461 986433801 389690385 954667677 203535515 224880669 596475781 653616657 409532235 452175327 403765633 713964887 802293651 488026809 17216025 541431099 356539023 724241433 746214313 351795221 463388699 100234111 218783703 287285441 79539681 224387433 789442701 135563175 282698321 395508323 655529731 268975029 649775525 329930749 935997617 629770081 583247067 209035733 834889821 689037737 931735227 915588235 19698963 653328147 741052121 157384905 846498599 665122479 85166217 864098883 629895991 341832977 841277933 240718515 165384997 979297113 642802925 743621337 122737439 745941035 191171641 200957823 641190039 970162873 913557065 545972859 503150413 681607605 8288351 753167781 863931969 754467425 233215873 744302047 515402433 422112641 682617729 25039891 946563939 156291683 477292535 163770933 201256705 164888541 308934979 348503615 472346561 679709009 181032331 777458993 95776269 597266337 254638531 33929749 140110233 444374077 36355747 433558785 59464805 750927387 146973607 14884877 771076531 572695737 899859483 81330267 168971533 302245661 867160079 574446359 784648523 848635095 868648795 754942575 660260743 354313979 336000669 377025187 550953511 871673641 650625601 484118769 631783895 389646983 970174323 413483173 85862537 230055617 739578671 917031441 835954299 174169871 977630005 345939343 905984815 387517745 641901323 753836673 903174773 141466731 747325185 794661969 162560865 885051019 402298675 202124147 970529099 155739881 887338109 272474207 727497947 931496289 771011977 178942617 310672125 172178267 592964553 688121771 470625251 871277253 104855153 155592743 160563723 878193429 649668997 477743783 675910457 140554827 734455501 722672333 952002939 937887721 459576535 517866053 132188705 981073409 932706815 677824447 754093771 444394535 846306145 558834165 164945499 22539387 999382503 30347947 486324735 688537251 569988417 754758059 177492523 452031691 106935017 979418055 402631577 140318893 288305435 651422169 498998353 503120003 973550565 389969347 806503579 804141591 560996371 571871089 942906895 102270903 973221439 728896467 501052039 549919541 319653833 163927011 126264617 514558709 747666905 106830757 724456799 574959321 669078111 952408867 526586335 886162769 133298451 227241839 16231845 684898899 73774711 174227363 891376371 768616029 734944465 250522593 177803865 720648567 609967923 885319765 457528233 415256621 983981685 799398447 194960641 760610965 842648117 735090345 488153025 276510031 755278815 383566857 402267547 956229761 810617249 332817557 887445887 403463895 598394739 264699809 307779755 472601227 127392277 450176135 920897955 527674969 462855185 66828713 696798515 980358279 112084663 60537713 539015537 885521379 723440415 957775699 639981749 450733765 884925735 93434569 592176295 594554377 729095801 256719955 235790643 411338777 977567111 164285053 283266445 126154719 663322247 982377177 716482351 485441491 30962297 295107329 103201503 351448307 795940391 112527767 497233323 673543111 411481887 671537479 266362339 180241755 206659261 979530177 327636519 743543877 513000733 382588609 18816601 486840229 53967401 921831687 157945001 742429729 819981457 20297567 245535365 107524839 69100239 19802523 123677103 878817451 699899425 748283797 636419879 274826927 486294417 225699887 673146429 779714487 796414189 133344853 102271875 4903697 773295567 95490551 495478229 368355221 318232215 860719889 47859545 890868897 531223917 79162019 807608441 48020761 990161217 165865913 516799723 577910893 457446605 118983781 641876651 633986965 966789517 716175553 635889917 527932939 989720271 372881393 933367149 884737753 872067743 531810587 627557071 994947467 628919511 472496757 801926209 755602743 948551701 899536953 234147365 426618749 32832197 419645863 556524327 154190211 151209493 344541707 345493821 962252023 423082749 394829239 304934053 911947021 911891263 155850503 21173983 944024455 228958305 123589977 978504121 611398569 594722485 183174683 139973191 713741123 943127123 743524285 105653735 471793577 356118041 166173881 827914557 887296699 99199155 532078229 771191601 94851037 531219341 544696023 559608317 668687103 984254435 299706387 937540633 845729687 587402165 288491235 558849869 457778597 606074057 442411755 424804257 16830635 853672367 142416337 827922029 745182907 549638339 577859659 540211531 795163499 289880865 223290643 449069857 349263063 530062771 698832875 25665817 665565863 799274027 678081691 21185961 632780041 766704127 795334135 824302987 942482867 788151663 939792089 780545735 543322339 547541123 585642277 13322151 214114399 517437967 193971905 49597375 729951349 23321767 789108899 843299051 500090621 471820205 40569797 537657937 393422933 976270409 791884329 144416093 873695329 263796331 514818007 857884353 938298259 43038157 853049315 840450427 118012893 234134253 278020455 363492815 193996225 264457237 770743943 931793993 748616513 54850643 689697129 527777469 317402351 682791553 489282373 281644873 733476065 631242815 753597775 399930191 867463091 648161523 859418575 588970107 909191053 224891601 280612619 100353477 220732701 826320849 371401815 808488037 967197849 805494961 152288527 691834593 288969919 318715385 24785297 823736839 618490837 560176891 740542539 26985447 214757035 535764687 894304429 300852449 179984277 420699475 136197683 996569241 404604275 628060723 862186845 925899513 210017449 295326685 885207225 174120757 198585383 707209 322707925 812673229 469805157 550331191 689022029 985895043 13197405 671542961 105182917 541476193 413909145 976187527 153044453 637772735 706957861 242493969 37906783 609061431 867008409 438230893 560268015 820940975 316618257 890197127 359532373 585253713 707092021 551915531 507549023 123890579 285997363 614219893 171089115 63375665 700209089 531588355 342796197 852324655 415064861 542246591 483708065 765380825 145642509 729417593 880435383 627723459 325917153 971634375 368030169 856919497 289859437 855849227 677223427 565576721 962837009 739726957 796514869 749773831 763177651 374130143 983017341 716452189 334031551 877714455 749665257 380259857 623586607 385632405 121902997 415493991 36341117 956307617 371782565 574895853 834408627 789316687 392063297 193042803 220630109 761690995 600535707 842986009 718062483 531274927 596866543 849794881 973669361 355422827 297503871 981659033 129499807 240534999 391607699 317291283 785033547 931873771 768084351 179274735 134359851 617487465 88416415 984244141 997382653 389881049 673472081 779454493 539523337 468315017 692461059 587959375 386231835 457338515 646106151 21634467 999084169 154937557 401009971 999774909 597634611 208495355 426633391 613111431 158786173 683115123 253238817 690999095 572695385 961890421 470682655 455392585 514629177 411580163 894409023 887693951 568957215 984378851 488012071 290328297 148318095 279128999 70705023 109522393 755712407 203423911 801720057 958853355 955007183 322548737 549531729 13287685 47508819 54511777 20559177 401453905 207213261 924929589 985156521 258710599 785010535 737277493 13234247 518314143 921844953 795309793 243740665 189304925 629237601 137629251 365299877 729049555 785618117 493467947 680180275 975719567 836026709 78787119 251537301 501498479 617411301 403705009 457262023 678419609 955812309 372418523 406293195 1015417 945974795 386097561 158730921 39218883 46705653 175780263 261816439 645595249 194041223 299162243 434300235 971917769 292864835 467175543 759331659 161125207 232258349 720941713 966477471 939372785 231850451 140147117 924510329 581669041 602959693 841644391 657792021 641969659 990316087 336258857 6777269 837281917 922009275 958700835 927621539 584951595 691677059 41080655 447069999 798150975 22958279 903021675 882171831 525147457 867498309 993495295 161952153 633931257 64314181 727202399 149516611 578446719 471835025 427711391 895853607 406160941 27705477 573507231 400561597 406431145 662355195 334648587 178778249 350710749 950908763 464568145 931748627 253584895 234026129 570860971 26329329 865442187 356123415 342571287 556309945 977220421 264733161 612780637 834689553 579927097 392191885 444892943 570103457 27436219 555793 477254277 648695069 41809767 954980621 940228317 15625533 906982947 8612509 502302211 865776069 398438683 296819819 209462949 607966589 104856001 691126177 50991419 146850363 848284627 538960119 159271687 287572437 102430293 737617323 481114895 286293297 785703571 39023237 858066211 81675063 528884515 587789009 326964447 200160219 654033117 725793125 495774879 148877589 622063083 752257953 868607119 89058281 38941875 565795947 862096285 423647583 731985647 776259889 814495361 306983309 5506711 480647401 235719867 966286985 665539315 49322255 115464085 762322297 544800139 291806381 604306205 427869573 465494839 446989649 779126063 75587809 651094801 861083151 418369639 171118533 336254333 273055365 712293167 708174709 185915689 376217053 125806265 815566137 777664009 670028225 317067769 480750439 655931993 42375529 261718195 282437719 37314461 189571733 378951279 453322603 185674143 297946247 531309435 552931341 20102519 296880401 376840179 354160815 216108161 270377865 228463283 617250255 262908253 779664843 545200741 43699433 758698237 360595775 859817593 386093453 105010577 82207699 394588199 766968395 705863575 914882299 816504177 860854203 869428435 127221945 350413855 134158723 655671633 855559313 927217343 50696011 58930789 979485843 865776043 244219847 577829803 671679571 520531969 238618031 477418505 549109745 350345901 667811527 808593067 317477649 421308765 400115929 725750787 315732963 729390987 945866935 301323473 746386463 209620851 791402809 310206229 694509055 421495073 51616837 88160541 803988813 38033765 454794691 350484095 41128021 560756951 647413415 24143637 434356973 721101015 224058857 480036355 848681845 886262923 553726861 40194231 302738387 433845735 131859869 360153059 196886645 676624545 857963819 923496071 990885201 824356155 75712335 727727843 138671845 76710395 344703023 407589767 829172535 286794225 896746997 931171909 61250263 486937081 575230415 962859321 125562841 190556591 318521085 207028169 227860701 861804669 920505789 37125023 480759815 662144149 742636633 783070641 478819335 271367149 230043687 413643577 646223125 80355653 118201471 408830143 497605099 48665895 861718467 46365453 976787667 460483809 955973725 551385655 751932057 638820751 991548353 744163995 244671381 20333325 695537511 204513753 575786147 782217989 951331283 471826403 438123563 238770151 895252879 67554793 952846619 316195821 914214957 346060137 90339305 884628501 349660997 559720231 830907795 117438247 10824061 698765871 307875487 651695799 809295743 541566167 479519773 398949913 190001913 314367927 970653345 156701551 217437611 172318905 886507851 855471265 266527827 532253187 521054911 550065759 235515325 158967567 882095151 256634657 563258297 466065301 200162893 796004905 910200869 965813405 846820955 988282493 948017121 949214063 741598491 714909679 820624345 740648611 701017057 606778391 948067835 103746323 174911357 755988821 245443143 313783011 156789587 816354255 603562939 142825601 742063685 263666809 182610275 287301025 170926531 939111435 890771793 899039295 189985475 95315457 882967965 202341789 831664323 240755111 425570669 525749067 800356041 767070989 539829739 468809243 788214373 209680907 141542215 914381097 737501355 878988095 90025403 970877147 619551035 162417941 960453771 558944219 966757689 911042233 173499649 243929119 740456535 645186855 445935471 641756131 779445703 278573599 76509231 743421611 646788427 834632999 700724899 376640579 491705383 522126991 862165045 878913471 941309481 389066867 11329881 956858493 383111337 566893999 193676937 865557791 482003843 750890733 862690629 618954897 689703455 88855967 23034137 772838667 309001835 672654585 184305815 750330629 438067165 250671871 159073367 603815493 698062451 619732345 825205249 227246295 176106933 325188855 817139513 507146769 416189871 873626575 305478837 975219597 216315895 933725987 748200237 363096111 369088685 971353563 910683749 460406053 531889013 149072807 745346087 886545121 184577153 717458433 752061765 289818659 238693763 935168807 70072473 468200683 884624573 801776417 583152645 644576137 436794867 437091009 910824309 995364239 416964979 914814623 327823833 628333273 75186965 75333147 599081515 444071563 82699575 663230557 854767217 469514771 705935293 900763989 28441777 638150181 525935383 194470075 335197181 115998653 929958203 428821265 594575219 202151199 187543207 824003229 861094709 153070807 148479843 255335025 339854185 602557625 850805753 819129189 39969605 413001953 889691781 29262615 892905475 588649141 194864033 231224563 712379363 437615583 405105013 321301287 642516273 867523927 737937069 450700203 697620287 631277653 937685891 503804735 906435943 900065631 35545265 420842605 925413387 210562369 556327553 330176133 686559127 164313615 103872449 354749087 338005371 702433831 673439941 543946393 559613233 136662827 615047787 620047389 633071421 832088329 726781211 287401373 45325865 602460915 319512517 245744463 447324039 307037799 261394139 597439539 900541169 818265131 408296797 399220499 231620363 985402695 904469971 296356733 103727227 17358867 534944583 203359949 466911991 183968041 322272853 270891295 73508921 833242733 605450775 40878173 506206465 631345165 672498997 795801399 470815771 825950589 569680603 815251495 643331929 222283895 541973443 778703467 576270485 812785667 190080809 64024845 603295923 720513899 417342419 868991963 518330521 638443843 401091855 515647087 505497149 995188327 967874485 601030441 43084185 298239739 558307107 155201585 506280877 957622127 340784189 954625655 334422405 385927539 807299699 569514677 97132339 793323269 499032251 306804327 801784017 941976425 781672085 149152987 651499907 38961193 965584131 703887901 966030959 727668767 810458519 426386439 32086989 270989409 892965223 868076343 550796241 932829015 699644431 471653913 29348289 560027565 307124407 225149403 871584489 604648277 414849291 878542197 63977367 52978317 900936773 806800553 865302055 243829465 536242721 581627645 960623099 592426503 137753573 874907843 55228543 637372199 990835041 496345619 838419491 982329753 86757353 95381451 846559075 547715583 947037019 252350615 80447423 177086279 607699745 221245923 402340035 166465957 439007525 372633835 487077633 880710035 220301535 328617391 669658901 469358295 279971407 73994229 321903773 823273855 278017783 285061197 613103943 186984157 78523625 769107731 726116291 669192333 32732091 468651363 744761035 709929331 104770953 205318695 27144229 313248957 388713979 912873745 850839 937202399 844428095 503280023 308961781 721134741 292492553 962859001 134726681 489026019 658458011 277413951 77172711 233970963 15247547 970913085 907419975 830705085 159726259 63229319 780384555 923498941 818765661 163258495 408134285 512623157 940630295 753575245 99664243 906947729 610840005 164314083 70648803 523197831 885359577 85097973 464386801 425170451 144074565 279763975 900563385 296371321 738673289 464439393 632542297 709850437 82560941 695667729 433269503 322615885 138976061 367714289 385521883 570412969 578105681 395726753 226253097 309957825 289796741 107499143 562299945 699165505 646098689 368811735 941857831 931014683 886979443 279733897 783757431 67969679 769693201 274629723 271569519 296057629 821791129 232878293 342109811 867209875 397189201 693769545 675722479 435127559 608455945 85970127 330799443 789390035 910146581 262208325 287866651 406447003 324442707 102755927 805603017 573653837 265840173 975649395 177967333 55072029 109306509 503562705 522631427 810266759 151554541 878183281 147707071 775691341 887244615 337424925 471763127 877404031 577521445 363402597 125532057 621965935 110545043 649427617 122440469 819137977 9869353 101505007 358813415 334462273 535001347 824327483 966133711 400957751 695889865 324858673 483703451 675999499 658427817 344425549 79244569 584643195 124910937 249693645 979819301 753679497 467935767 714985659 523075491 94230149 864189609 141871847 523262331 209064193 713676383 903089639 654449823 426355419 649312781 519439389 887048971 981995061 71174931 353171377 759218113 311468923 104086101 646737301 949425097 402638949 587519813 638035583 991320887 660401387 387264725 69196783 731863079 711370323 159681671 603746093 406219191 127530025 437043039 16108109 212757269 736973121 24486123 817679651 666084977 589603513 705028163 164954193 498192391 449820405 752443651 29274175 529851161 409557661 225159763 622062109 302783215 206993323 452236769 884271843 443602399 37256279 177072355 500108371 602132543 273092137 628978967 100304373 486349685 492550889 177452485 410099735 715768039 199955375 986954935 117437139 654044941 150926293 824113993 134422791 150297181 729142271 739573587 141071199 961936985 195481885 210135617 265001801 39525007 737129821 818784767 275383293 276709773 219317057 939160065 880351101 610690033 935281291 553603657 129882511 683329369 920656197 963309147 194953925 668444019 280829127 422114373 399318903 622514929 648578221 36911007 676333251 582083209 579845593 685830789 226776469 773353475 530803575 340702879 562895771 184634663 292320253 361042971 271950925 132808389 421997095 605413039 937139179 327502265 947478521 788269211 351147647 599452135 420877247 462342049 615492313 102499127 337890573 857314323 542648719 680455325 247929793 724648389 556434947 694891281 178902781 676962071 222956895 994038933 459200047 825276911 698704271 458401591 704790537 347549369 318667855 24277509 653281673 289429871 677288477 60968989 702806773 704128653 137586499 769797533 501133013 166794777 731465935 411828915 182377727 786644129 268510109 995967121 544069009 594889789 912165705 362778735 634987503 233553289 178052925 538427023 602146755 429016749 600409001 933007167 326911489 478299737 792090247 200091085 931801065 768169151 420006549 45213591 676207099 177576095 871303771 279586557 825741575 626047039 23576365 5465705 762894111 839737455 647924767 801520973 34439839 133672837 48952081 332993317 419622701 579735133 979724207 716742259 899275443 926098781 432823399 827691457 481794663 692307831 728467827 916331679 867654597 695123231 939374545 118242987 877293967 780005713 826755145 174204035 412539093 774752407 53723757 294396629 553008105 343804927 322595221 848766291 89262441 565892125 222333919 66194869 363275063 436433423 88571191 957178047 846163327 519739007 680575563 320220985 190160825 904988311 417781651 888605945 611123613 212744975 627917393 152372183 228782641 182703909 631477131 166045363 185837249 890961825 432891667 452085371 658679777 198977999 992882303 433961249 85521519 185696389 746688563 809885853 23238285 371415331 244392531 263852531 631818921 195937935 935504851 827436075 641136759 146216503 332532073 775122779 183098353 647989519 815942293 388596123 307667549 828976281 571935905 235571211 364574537 635938265 930624411 893583323 381829509 452392031 428552543 652711735 758213169 55661887 525183625 924013661 120806321 920377367 521368451 692840079 627755695 942545425 351433599 658824983 189371169 805418199 553957745 189804613 922459969 89477025 237607709 937542263 803215511 829558317 845149195 779233037 267445485 853499331 601692809 415103345 280450391 955384367 465349811 985209879 681133873 809632457 520364901 487096183 330385185 977042797 165098313 549804821 436874257 64728963 572269007 17785977 317237303 209820919 868642351 222754873 179258383 776635715 150191723 366901485 321408861 964354659 459607627 36683831 227721773 488089565 787117661 892164033 830705619 164761025 738232059 410267709 561775085 128609187 272945987 122267753 424092509 926300065 644771361 273084929 139402065 981035365 985817411 172833493 858245179 823116569 574672931 305400757 280613593 467756661 59596029 779377531 669981999 497396665 412468703 582491655 811459467 924968615 451718035 541793097 968521597 350765457 785509559 181588013 999622885 596930125 871952553 951092659 44919013 611297079 442889871 3114967 574984427 201096247 562395229 600452777 681733547 579691451 60614601 400461113 303459359 5993401 538002773 780057249 93130895 198782639 629642055 502065923 319242117 818792611 872710831 908107401 91222739 968078885 23441001 92428391 742775961 267650889 66459153 52960213 277343803 299648173 616034065 836411671 526246755 741750395 258386331 126179959 508342023 984760157 608656293 187663685 379981923 920625549 371494383 977363167 698142203 79182277 79718659 102404005 417466011 62900815 896805935 316435969 406317655 865027063 881385103 871045479 545661323 875450133 831693311 656006991 971266525 509823109 835869737 373908029 482366263 792325295 644857725 677592251 320205009 119870593 155579957 191335515 413124131 409149041 388873551 6775991 17940467 912220541 905975699 680077425 568667981 407901739 263042197 897176627 338061445 173987209 133122473 903626161 933359161 626181169 482897649 636563107 6223947 324154683 49329237 295513549 922050281 24080211 640729221 405187065 709118853 209455523 264612345 839590649 609207775 762570469 95550963 283071655 699814135 90724435 731338105 469087205 521218077 221851831 875832925 130297245 873229281 449179485 75421751 932230595 182835491 817717533 751802727 771564623 179917831 679520083 217120277 468256837 337430263 703829735 632794927 524863151 426553767 901722951 77426547 470178207 813498391 436100969 785901147 276215599 857967497 505832651 668641075 522441857 572715911 676800629 609282571 859839 697431273 729143281 687292091 507475997 766692555 188425819 339793377 968639699 105780621 18998603 547891177 918860837 205503457 922933741 947683327 468925789 130723255 159682029 665933087 77246157 455905613 62259839 644455177 900848847 638729765 143807333 756371779 767579333 808398863 342037987 19536413 231985179 452282399 474458567 469011891 325503295 612799405 601276007 673807073 926461105 81302369 330381221 396407889 534832623 314525735 671757027 301491061 219086469 188767793 765317137 964080513 772443909 362890749 285346981 879344763 642439177 277520719 657857693 810150949 106978099 633011253 598710145 890549525 590119981 550255615 218031451 92787103 401375659 48485965 449553863 720709861 684519527 424900609 630896863 733940687 487155233 944561225 578140745 772186637 658425509 350634393 941253687 738819865 428019397 834834603 991805019 365227825 28107611 172653959 193910007 985891421 706787913 560870517 252380623 896460143 668772217 564406541 334109489 359271679 445209055 499477801 11358965 472947309 595900021 324046319 514316151 869584609 429159227 482198217 591997601 559893579 252079677 614525037 280947933 372162147 738132109 187697623 995835939 663140779 311700805 110121289 189614833 982330985 606035079 708572499 29873997 523047343 813838973 210158023 410169287 89585237 885827675 456065731 336797813 862336505 896368987 911811495 905037811 840193031 908938685 373027877 163974759 450699949 9340365 659416877 304075395 374762979 482898141 211214333 608413307 375988329 745434695 750474009 253456651 216101065 593062509 162941773 880300157 226648147 886253499 825403055 543488927 753108511 207730593 422437783 10421955 925142539 665987481 707055021 96598221 741833665 161169961 415785693 781193247 181939123 637671383 388161627 996856233 343949335 609904183 118493601 34575841 658914285 45046499 782191989 542532551 970919935 987691645 204376805 911202269 181771227 729045937 825619521 793488693 167581405 13911087 299826729 239378533 667668769 967931825 910003329 5314185 459259537 727748347 95656819 363169351 839721949 621411545 954727539 484935377 788840831 316258073 706852161 442883291 872152245 599060887 78065373 260835235 915562121 376957237 105953943 711556591 179691721 559088863 110783233 139653389 525800719 93463173 766995703 267273173 330749371 171083297 360068255 658021797 145333493 118826679 806114915 828567393 535754157 286301523 704426489 133516409 100426909 363311619 705429853 120463331 683456321 296692963 879577043 228951327 601626855 197199125 155815143 436776239 558946715 634228165 449954669 913672101 559123255 933630243 904745091 870260631 173999193 699871593 903730315 655714465 185482605 164091869 194277937 733367787 691276705 129470917 119815533 804151073 193806317 487436149 616335991 793751933 810442771 158342983 923158229 711069371 720297881 857886879 785884243 521575457 100030161 753482467 10821639 685057917 552113107 277930121 455543113 920650791 51842941 165832203 603641027 852314109 93213307 925087977 652107099 884934243 785298489 982493871 774749003 191094603 859090931 671330801 14062859 462965799 522810281 188487493 663734883 844860151 64404257 516518479 333932379 725809475 738629867 986551483 303207243 115403543 296936803 87433017 937663949 895049739 826863525 626044037 983876551 438369851 83814043 255600735 452654691 480625487 848531959 893034131 146838039 149510515 175574319 469557747 273040285 153996385 975854211 699775323 531763453 497723477 800243197 61739689 525120129 646381333 130710123 904655307 877318589 874127089 796473959 357809 455589005 937522109 187190609 316671831 319493143 769572313 974657617 822434493 49343431 913782057 771434329 616625647 943291471 362325533 740005917 969201153 570575533 142746797 240244001 316549129 486389541 418270547 851756717 395949611 761620035 733842969 993072591 786385555 210015195 992284043 999679329 853158513 863234059 765747137 7396611 419997953 312934453 258532695 824293915 788426371 463498759 609839221 459493087 168705349 233949811 6197193 520951105 932520597 533067447 565433223 767204869 995555279 372787033 961790577 953321393 602189143 112752929 722961613 50152855 620473747 929727525 767149925 655323855 247687163 884999875 124932755 408131895 639183875 953320607 985151285 32822395 170986035 613754275 912766897 950234889 65996561 193216771 771194611 38863641 709408307 338362431 843879283 858486699 33365295 425340441 141429809 31799689 453930153 8650651 780988337 916314179 623179085 14262045 417643777 196212529 845096651 889134905 796751033 25755249 876698335 751776725 130129397 555856367 666702411 682495771 52850013 496208471 949069783 508478593 515602975 610310181 701504343 92608451 436522737 521410199 75035303 194717669 623905553 911641783 492472997 116800563 28602693 159248469 759576127 207639361 79289053 964714247 851663205 57874923 829968557 633552175 164029971 211744855 112007701 269117687 509439819 996924657 952675321 666930507 264804885 169349995 485674443 635609319 491912325 432167363 782229117 487831881 800065719 261047613 990680465 915082681 317702601 697945447 25944075 672788555 470050537 445082897 396372345 623649491 813132873 421128027 100152563 928997363 103894049 94438567 811570197 535226899 384435635 774554019 63244295 207697507 185425483 625696321 539278967 554733019 989627453 212005569 53423771 280960061 414315999 890745507 753877553 768201489 344911511 451614647 24196223 983443109 23768013 590431501 690748245 324580627 651314675 267973637 970567687 756070713 111481733 987683651 969204853 648751043 376774661 103688113 840347653 392816159 394627835 8033157 566612643 746855813 801498875 325752123 378303433 511830519 204296865 190769301 947066739 650347835 75355019 680991651 413341989 850392547 523567975 821964215 413292787 39133767 36311271 229436525 472830063 383925637 922944195 123030699 771171255 110420105 385043133 419558301 182663283 76334849 465769635 433516981 785263825 602860645 296204611 673374641 762674311 718051573 998071675 144497045 171305939 830841019 712368937 381579181 472416893 371953799 888531003 690387341 650471121 165705967 614144419 968383761 706594469 7603029 27674201 15123809 774518361 535579875 441591903 736087011 126276563 401112453 456079299 188955473 568861567 445089015 973201299 504894627 365503319 921489335 82299629 635203103 146763733 139624975 844115441 563073105 866352899 537374479 982389449 792094991 376608111 790259085 999933607 264424051 939755307 416564011 137626311 285725665 472263899 976610129 472991083 179263239 774184097 843524655 767212763 255831257 872921901 723363775 819272813 914733201 869098165 892141247 780628855 134247607 327606777 860039095 877706335 309676053 809310011 482153467 812466061 368889021 611880781 484059295 444825717 803220753 669483651 45287299 470742671 605585071 732931517 220354643 803175005 529555847 39015777 680286077 298383981 213139661 393108573 701530427 238175821 35683325 453047077 920954507 40240027 403978203 373169339 823784501 222392567 910051699 967685539 388410315 279919883 2327833 524845805 55876773 628216201 471386473 692302123 653852385 336877613 709494345 141559169 422076011 773191609 698936805 883187857 635141617 996272375 512015279 970878347 843624939 865455543 905044325 407532839 832415131 133756375 312449035 124704415 531765767 554981431 800146669 124776635 153283841 398885825 491844257 707923659 97553439 637102695 405231105 444407205 675897797 943993381 284817201 630268581 493263895 932810749 459188895 562068659 162806793 20203769 827799037 573997883 112325201 988609833 397384521 16006967 694988911 123157675 110306761 465530403 398800301 291349151 792560901 957260037 848222745 384483375 579220437 531210603 296011151 925237645 136800595 400469101 371647147 973808887 647896035 499586473 123679703 782903209 358233141 414902339 697644101 989559027 678452791 119166957 633516777 981078309 701698603 295033305 66032007 710546071 446466963 756936647 715679143 531283631 126936121 14403839 85772695 235594453 616710453 198929741 950467955 484401533 851732963 638125063 693499415 836337439 165274851 660036877 831402029 323774783 972981031 856690117 547738917 690687847 672072415 532988445 545515063 454820903 841979529 793496459 212600677 346221597 309362665 640203277 11368055 772243689 702338827 916663081 259833851 860261429 791958851 502145261 774077515 584522421 574460973 133112561 409816199 547147041 295870129 212383571 913456021 91006269 2518517 668670393 63122729 823873745 547418227 397734991 52608187 371957939 515352291 738610893 43937927 35146171 627417419 580960627 648417435 234141131 585915895 867586563 883209153 707553997 475548797 435022031 30318743 781030325 908436151 873645997 152506491 201818491 724757961 138451705 824583827 861681187 361290017 592184987 629265107 229654455 562133363 728783105 774722801 168109895 624696249 3835425 294006639 46116849 59663417 401848953 593103507 340778453 257328001 987979791 147549037 655858461 397718883 898450801 434938585 289213181 429552123 518300855 598053491 652248237 785284271 621935231 121848741 550407793 611819817 27099375 625301665 697277075 111158367 170263219 982961501 604602469 405101965 17773571 714298521 361504063 575126325 137527199 101216479 756307847 54140455 419871691 120194429 914104743 703337589 15583573 672280975 500165389 996989565 917443219 126122225 411372857 51119073 280064103 89552205 115616937 548414605 106262323 300034323 68388839 537065399 245823973 886891133 330223241 114387163 300934391 585092233 591282215 522728637 44562789 858215935 776290659 658503273 312989623 505078899 138126567 439269429 975276791 658206009 284615783 646195899 13360575 430852723 180616091 291061727 215051565 865832457 596289351 332523981 715387879 395409067 229261365 377571325 381325593 909244113 746364471 743462951 584628093 939275709 595724583 802734419 560107085 414621813 883562983 812789449 424031827 707904203 993238369 441530657 359677147 46143063 178376585 89875253 51041981 809453433 622945879 947503401 662739285 106745433 518697167 632000875 965529995 17378277 850843131 315689903 687411917 565266651 505514989 166004209 257348625 93805237 290980031 916451699 650435285 217715903 261037459 264542149 96229919 368971529 420338579 419502521 574586751 477072235 647007475 181589099 277351433 733443203 790905325 265076289 217001309 433437885 869866433 357559781 403996833 416384837 52258747 407043917 680592257 818760471 167295019 14859957 274561335 622243315 937905007 424225697 698206589 214751583 805836007 244116957 999326621 168034731 979453439 374894717 428333413 430252787 182660903 35919583 642326567 56791571 981010137 337962405 166852551 125467061 678162585 974993851 56559015 769620811 742846449 940526425 215556535 78035465 298933107 937165047 404128109 506278389 659317177 450395739 221905607 265481937 552600677 647625105 945219403 226351411 404163363 306019311 233410825 810967407 735677601 342327055 989757845 87604391 80439199 405474261 410203407 598987203 905412571 838480239 958051101 230871667 111813409 35627087 259596781 342843441 459138627 707859253 926987059 700322619 509794331 738135585 714900785 157560217 468593291 765860195 252249515 340915229 205469055 426684045 953307887 738873183 763230181 155701115 696109781 226530495 410268861 313328977 83541945 239887205 7289349 574212477 685985667 861630785 83865033 833593011 531461281 621559307 279265051 915065327 621368075 511102533 221886229 413845365 482377531 504448565 934245849 298535377 559607609 178286317 338922387 789125847 625610645 61317957 922128243 129765027 52132451 797087963 254158003 378075291 874590787 639730459 984214935 93131369 699235163 394395187 796809833 423480069 725892697 887082523 827121787 53407143 15130481 192382867 46955303 694303957 680466789 875297573 471982801 569477979 998815865 478697505 4312031 934057805 878845819 667473823 464262599 637239049 263646403 506326909 252353027 946896433 349490479 303250277 584131859 774487219 192220451 579870665 848080771 653374401 34990479 976386271 298272997 409457881 348890345 405010343 319394003 709187777 165228593 80944875 634711535 833440385 292556777 997712953 154013413 594943089 583653667 760294125 941460837 535052587 28973683 23871267 227733801 94218387 548992249 894149 402495223 960051415 574297947 602579587 640672661 188111211 881343175 252070615 409975511 277687817 558110707 533239551 779833495 288676281 810178587 993145349 883500471 462055877 523002377 552440759 695827235 44655809 101158667 26041775 211954379 752699785 404155381 260587085 590094505 459910723 314403365 276249017 534273475 15049049 764139653 987874531 622751007 119538817 547844735 454597253 951772369 921227703 206990091 211054107 587703027 677516863 376359847 561209587 129268903 468795301 61936987 282878745 188111129 42888893 516277171 442841191 953314425 146942627 197500869 171795323 894604035 976908221 432775985 800710849 694141431 74542263 468162845 826513767 41529505 432177539 973204279 334603877 30574931 380763743 90613429 230552445 923723879 260252879 878071125 52462645 427583297 775376033 78764125 87991519 652753735 881203429 21655451 958800787 109110513 102216955 395501159 553572143 394942643 208080773 703417503 920073823 659373077 244180849 924139431 872707215 341659805 367337203 361561455 943555835 650495199 335884933 377948527 320440739 106135413 415993837 524353953 827523149 661052417 596900665 270559119 285071241 770749999 640198587 642383173 183960499 431972527 594443535 928279641 765508583 340552765 864747033 403653867 587971343 709721753 214918151 961479841 397790429 262897041 876725581 196141993 186494663 687680499 680769191 4001721 119808781 909653147 145114649 764146447 619038649 675202411 608849901 270659953 509219737 656011343 256536509 83336495 586046279 241785911 710980959 194034205 667716131 330592799 574697979 255923865 273441621 418888199 135036667 525809293 309358799 194187773 205598997 740419171 382049861 330327823 379505477 253893139 780653627 891690073 261788623 9624605 532023033 509868031 191515967 316342405 831863693 541459495 468575595 759402969 144141009 237226503 855141995 836538415 612946533 41454297 448912295 360847401 275195311 198067423 946465995 395463657 444245733 34226785 828738763 151185437 467499513 24279731 739281121 175213311 569866671 874346287 92989331 448147275 857412237 925819449 627121581 462478663 827168229 149683769 452241733 595510211 652005583 123175585 134479029 916757779 686096169 901290221 49650081 807594007 677382815 581835165 252908535 888060211 428221855 575671103 831757035 660026713 436152417 292090721 185250809 910813947 680865253 637281183 828917219 887339803 803928821 845261469 964314041 84406333 564909857 962056961 488263629 735389039 74388929 904622723 978378427 342662983 43126515 805481689 687808103 14891239 555408035 346566341 129487617 828278001 597184381 653132563 536423929 936791189 203758589 400225175 356867341 731225223 558069089 411753511 723332415 897538571 195033267 728717225 355102175 361834465 443681219 688808707 549842303 902297945 840073255 722301485 633912573 80010061 190619713 742964509 832092283 551388437 911494715 484784853 578682469 603003805 808654593 719311457 535172723 139396177 915111247 944914901 238589085 747385893 516612259 242993991 473220137 686113435 915478085 225522653 189597859 594930869 964730953 507127999 856294625 608229895 544097411 6774303 882850299 12420001 419327893 371877945 263893083 588482343 738907623 432035917 752167079 388547515 333728425 663376809 4003033 999786253 181358803 292173467 89279273 74728019 387394087 943399809 439324447 90169163 31262253 91555769 873144451 156420411 236443443 41605297 371231853 243502067 337205587 515025625 821044791 551948487 697764203 265064621 577723525 87331735 799625255 794202031 795722311 226876361 596271349 255432551 426336683 151250761 585789709 13910635 892600627 465453969 866543729 226836305 937210017 490031771 965937895 598371775 519979521 246976497 316137729 502919005 718066855 736966561 343647511 342954205 411525167 817965373 127727687 694827259 817575295 255582953 197155197 1278329 248818625 453787719 556274791 446378527 798354283 885656967 782213757 725074371 343654201 229487199 960400895 129136443 975427887 753748237 130046199 411768429 641759641 287510873 36009013 688478529 109346315 195483533 721014863 444334249 805617251 670727557 471243431 319507361 794474947 932680091 4463719 36813867 44409241 412392373 7972219 672558671 749978775 671799877 449976223 242254627 303273915 220462397 646517073 735349693 327544139 857999135 417998555 311570499 561937871 926736879 493783373 230451933 567769375 363174459 440792445 691509437 677002067 58077211 801019661 560301855 864432597 464455725 738262373 1308741 393893453 543524501 284657333 434019961 292832175 379940355 121204471 459989259 282447163 376736941 426202857 177238361 941580657 296003409 747134227 68069825 580631329 780259895 600261321 95078065 38401629 291908651 515126047 313013659 840197505 898384259 150904823 543026167 376778291 603060511 94504183 660548169 439221853 17884517 116608661 559109401 40635189 462392131 148759811 700400125 996912695 164760877 826748229 963398795 349806629 155810853 294279201 634252649 272394255 99490479 558809385 304024383 629894727 410692057 448648629 897912769 287255915 39154747 85004259 749428903 560564573 36878579 734206879 660424371 467471945 847537317 834576791 565474483 45767591 617364097 189696067 568410741 950997295 920018237 625244901 485351895 689202151 927996441 64929923 130693561 560707355 882523607 202021103 850676997 416051039 64486345 734608319 641505709 324765073 698894533 737114455 846250415 873486803 353721895 99402203 234051591 883527827 138115799 798329919 82553797 400494469 469990977 677905721 700284665 472807075 523605855 457485897 446193083 422786355 705695149 560965817 827787569 723177155 719908401 852922519 432661635 707169315 535395961 267530687 157746661 161316467 585385885 673300685 347700623 107318807 669274427 555684907 968245957 172484025 8399479 500725003 141162191 214231887 154835201 392818785 390772227 550235925 611507217 584408051 420909753 997330061 90825057 628230979 441293393 920392583 617204283 921068199 209352763 521109781 261800043 450369587 69621475 544062611 279424327 186515657 355026631 739845799 809319599 893612817 548917097 4879931 965147657 426519675 589956179 262974853 267164995 224622655 491392023 282247425 589821395 992397407 239842125 766528627 476349879 605727395 334485915 497597927 281829493 15031193 771503273 766036145 958068251 304670619 606436651 215405167 650456129 913030601 566678489 267483651 221720325 357664009 677291127 698659995 280945163 264897295 731819727 738492073 678665093 584180051 76741553 436485355 795835173 865383441 612265467 78093669 929639211 761005911 603704205 193862245 693445471 144383983 131962449 758795131 443828237 427978871 657600827 141612167 371982605 806479437 421029699 647590059 875110587 656231063 588118637 21909333 989096191 328974665 950324931 858590009 733974087 423433241 713680213 921643859 483125895 347381641 119986497 886276581 45352001 501736927 190125735 454915455 540548475 466424875 881200049 605681 393667263 406501193 49339283 137324893 246819367 871781589 933586309 471415585 541776977 754356795 193081291 828657901 632371553 419751847 58682031 701547957 488510985 381099797 637121411 144120501 330321531 916058947 248865697 800683633 941501305 729760955 695954283 552826805 914370885 397780683 503736651 84415637 587628209 59949711 66667701 696160109 292234259 782460387 912010017 326848995 956672583 752061041 449256723 448538083 698094005 3373225 573374229 670889631 576287563 979933381 219285687 408971157 839281535 713235395 804529559 198355849 109325135 83672685 604648021 57621895 32021313 717858897 489365917 800203235 101102693 404974793 73007389 833362747 186948943 722132469 822566037 282017649 472087327 176632765 874313923 693490355 645283451 755390161 4980851 369869429 486011535 281900969 304273781 30416497 523282451 999789959 212365735 610346925 859467847 151278961 758457321 935872887 960511983 103453497 918945063 432198239 612566617 441741431 629006159 407813957 542171229 382652811 223292001 894319693 922313559 550307485 543189339 499592673 539812399 620530331 881414985 772783029 339407955 737755715 510388283 269391817 353400505 714233103 493931087 376423263 643406559 203588683 940516517 734879745 693611979 952024583 389722729 54328455 536233741 54984731 345362379 413913101 933393337 56888613 284532485 449652467 752533871 684684689 624370523 339931627 744675669 414199947 957406231 562858725 846747927 880490767 961834379 704375839 497467887 109607133 597072913 830684445 19039127 146948475 247827723 720424361 360367961 905141049 838238179 318846685 967927553 650843187 699147021 393076751 859000295 274113349 927759617 677096423 861511143 578017561 825801541 828155217 542208107 843089185 959340381 531638911 225875293 694318737 791998945 821252591 308188213 880905071 290996585 576323943 172180721 696336765 626038167 740377327 835539735 412325201 895915543 588745693 769533111 428815679 87585177 267353551 340914533 845466217 288868055 479549351 940471617 297439671 490975125 212684435 153079281 17183449 304223645 476679943 8879521 420830025 76108737 450417597 119332363 532610885 388820187 521506493 731521385 469092053 774231757 862008399 78901125 564257483 401313667 419099147 784229037 108085695 784196077 269442507 126338229 768706321 16663813 309760181 106686971 408062441 757402319 949252659 431701095 739728951 565237077 493367035 468829287 915921843 32010665 760679945 5783025 527206623 211488485 782339999 791453573 326025729 285591339 856541261 881242917 746999339 527649447 19088869 669654883 940043317 913008777 27592325 575833683 800341949 373408267 326978959 211344021 55271983 598477683 123701935 605937231 99697081 8706311 440573147 226375213 854858835 596104219 573738831 559529577 539120829 789239305 252335247 535110079 706509697 914053939 496926567 479059061 275127791 385425923 192500205 424679769 104997151 664137197 303700089 405911235 986470639 38888555 867619507 914205585 862906121 294372861 806376583 278022183 861166047 900875055 281562921 269430645 612859303 271295891 738024979 867858417 366126945 936540355 912430603 268354713 539322839 486902115 910729247 57415669 665131671 566046233 169763487 312060689 52534013 358374043 689233451 506581635 300298533 175697571 820942503 979429739 606723833 825840369 375503421 347152495 16621355 996673105 321580641 847210173 287274031 535112853 36124371 513518857 803352393 953111959 480904853 373319829 299340673 279873081 849550065 754501669 990148261 848108391 118183039 355085065 990383695 102957329 954352153 45807637 254320863 775037235 816182245 223701159 980914813 890739917 347928141 971241895 505062425 843477227 39272711 450746501 736953453 675606943 454065679 398032435 354606839 840456451 813780137 970608177 334472447 857447483 770778209 535399303 431757463 910612589 515711499 530476481 13896087 5020111 842358981 265080821 268481181 802451611 342158065 168776131 173927445 780210193 576853307 366882897 496830253 60771197 211571099 925962061 949101789 400425779 202335817 43470317 494481127 100522377 925636299 336235501 95307473 640765411 486952173 406630041 305993453 367093677 100483013 764593593 684396883 439267159 789722795 573597351 559862497 223943005 393555529 370440513 262302275 115909951 830402951 893731563 372036325 664994953 567371929 636180373 724931075 504010701 844462079 68961975 530305949 273695653 479504761 759651915 783513977 749153205 689478421 480957403 824246823 841579427 482583593 436985203 590705667 599187495 939562575 226343081 745829929 360813045 637852269 492283293 338157955 834643669 909794733 22287861 172321731 728256653 491190405 623399391 777155167 834280945 15528881 327666449 396945815 757664731 404529971 23061961 766492533 334830639 695633755 368789453 319346375 170541779 334943675 416640363 735572007 596912319 952048687 285714555 327907061 295718119 56461277 734070619 693916761 877400915 196891185 70592497 531971653 743233033 748254685 920545961 855835245 501564445 835183071 95845243 515745109 42912937 651323515 579133159 270076741 824227281 163316285 545480431 37474635 140204989 487476473 553493031 186684481 772180895 779890893 560813727 478687687 69616819 817308443 995010297 56469829 281548601 203525521 469368155 800062187 132138365 807334177 715761779 286065329 44464849 102493449 530408055 960223577 595735697 567378895 779918885 492462441 296104219 186623035 243176899 692974643 197978333 414444133 588142625 184708815 504762695 375072933 258419603 974941467 923019221 287764645 41803513 835167427 831593737 970197069 500841655 909197365 332339563 213894867 841514431 755167657 619478671 789409201 896262275 405400607 480935439 590048175 826496005 95063651 181137551 243809749 86592199 939691007 919516855 588918395 811177435 354992721 921438265 596007995 172680151 483194741 348329169 167545595 702035415 164951895 711184191 491880165 362927747 979136675 183582801 606528879 249532681 797038549 85521877 8435797 515264543 272402475 414432167 94399643 833081603 567726255 798821035 980444557 194847869 758845233 280849865 332897727 542628823 332348743 738547443 96267789 767237611 45381459 918902821 309724317 324800535 474035071 823371871 410180571 367205697 436816567 33809583 728246137 889781973 231655863 675027747 503080821 111061965 740164093 217252311 235937555 992691107 690345169 428838383 676774369 488523105 567625799 804867219 919596207 212523155 985696819 861403637 529098909 302542929 171617079 140433489 857530893 221127223 557157307 653496041 367729069 936825711 97208047 79068933 352525679 317067169 550008779 947693305 345282451 562224137 307014161 828975393 179286425 927803493 347307337 57073883 793769809 410669559 807133633 153134997 223490507 298603153 832851859 411849153 216231529 229517703 578021277 720201687 172044233 24299705 882942603 397526873 208932059 358268811 114632139 926713301 555816915 548919791 471984277 822553561 508082989 894258519 813540075 930428929 218421419 434790853 736937107 656092657 616460893 203734717 962368543 123525969 783444885 470144589 782798311 782923987 144175087 747134989 967955209 430510387 367894097 322202137 217928305 767709235 918274535 464704027 24453581 325175195 332054307 950598717 872142485 650106945 223519939 71906359 436214025 115028731 557010635 418492999 60297011 423444399 393816455 190385203 469861859 981712965 841735307 642282059 811687343 783912879 432069557 254208099 490558969 526790889 354544679 296925915 613345771 468594165 306451277 316332953 863102321 858830557 585873375 856755979 947738695 614403761 912025301 113787685 107385579 975766157 749219957 324223081 548638631 31130261 550926155 671378139 836191627 837851377 69411629 909830409 546330477 5663445 656706101 19675915 622292207 448006521 231291335 317949823 829079929 843901727 121626513 631575177 461051707 716051989 547942535 632406745 83008559 278501801 441787875 573160613 360051987 84628793 688276013 342589611 379386991 552369957 516455983 576398643 746572695 838254551 122953723 365389065 678987167 244031169 802746355 622341251 244644969 311311711 205914549 149706369 391865243 672239667 715364145 890415977 370033067 816113093 87866267 965870119 79567563 61869995 830081647 212374837 837341695 589069179 18919537 299769231 218210829 793296347 947767981 640329147 605487751 973229939 690208119 808992455 60339909 937500151 986645355 251141963 527803621 456687391 171671151 865336421 896615635 153503663 602229423 163606713 920679741 205452911 757728157 813134711 58972827 258286901 329671415 445354325 858886703 751234007 155207105 906630545 302825727 828970811 237801287 375548659 121620189 837600841 947628063 457760455 186584415 389670645 956754211 377210851 614246633 562548023 776578679 836997031 966091679 485562899 377890953 526661881 455253109 34837137 997427467 405488967 323108385 894070983 722201085 109692295 688059427 34951371 773417631 355545911 733779909 844559299 530196607 798085469 449582869 330088663 295560819 727851399 399084015 955595323 676537749 410872525 436133103 3595303 628617801 166360781 263907455 589450719 386288959 278923947 267794897 447028397 47442021 805796887 18750937 784255713 443763197 129054279 100470365 606683353 237794185 10594043 450690783 360698357 744696531 319463285 326508981 650943391 75810035 189371783 273818355 267279433 35559749 385753735 848127867 613599345 86618729 944283729 230914037 827642773 580497745 207817293 396661713 891710271 303020589 618767465 175699015 600815109 18992507 158743577 939528025 419500669 966920959 554255199 723100879 657693261 732975301 212531647 943533367 73628447 857693729 240762697 730659563 536621473 314321585 466037137 662935819 73378449 804113751 266101431 699304061 537328049 307385663 367721567 263065845 154750155 478230241 433638585 811530219 240375473 705154805 295418749 235707291 254880827 438236545 306712293 483440147 117488463 845771985 694344379 729557533 884324311 664200827 776273739 332442711 903542977 321263193 729100395 146877983 103846667 249976207 607014013 691372699 60223671 290219915 374351715 525987263 43137487 948985601 786618251 621155137 101548901 707207403 832000239 902814627 538209939 721342353 965493259 170707755 319140729 656679291 491406053 585481961 77060167 938361985 916701709 614162361 547896873 450548925 164175767 342861623 64876127 675276181 227246627 510852303 484953895 171967155 613897685 828281005 394045643 320249101 632807263 319570637 311939745 192789471 798681843 844318701 189548545 716612011 340862801 563878039 222008653 689832257 182872769 627919897 139574511 901073587 246598159 341991823 357284443 309587039 143452563 98651349 288162569 570654695 20764713 442257301 117943677 389444407 885979705 374078527 638027841 494562181 578000561 914435853 446556903 145418829 687711239 483571453 338830089 238383187 218094393 972382937 898474825 214225061 454261965 592135727 377545297 274334611 298861523 154016345 958510549 64251325 261955807 916509047 364551053 183950085 547758353 42289009 544597565 515662233 504334093 772536567 251633839 780978411 201754117 225682049 534899893 289991353 384265899 429059921 267004967 569003529 362222145 303614061 840652267 591460387 153217417 6025127 467241707 472139167 157708247 936744087 636685079 848254807 539288571 634664349 379260009 67950447 933333849 280259297 499982821 122812501 900604627 106644307 807761045 205841341 728490457 769111467 588338827 358168483 262135137 231810921 981421025 116894025 360111849 831289303 270103481 947436607 172317559 273366277 141617981 481606999 825773211 477002443 277187233 197862317 427329385 735221703 706913821 678473127 72067457 38603365 992385781 67372015 261623303 277415889 227313779 258966651 81205421 868067079 407130345 790592903 872349349 363066823 826468017 349646999 995227057 301231511 534925101 744268151 22472469 868888263 883670471 965272379 207907487 859537267 383295731 200941889 373838247 54869623 157275947 712121899 805094921 232215165 580160495 631488229 596606765 290843383 864818379 534919591 122307329 82664217 220502097 13439209 520342779 392918761 679018779 818740337 839302939 292682281 132031179 560426571 128810211 519163759 992470795 922294221 193855589 167110927 817195663 252251793 459252533 335921707 612387855 342502779 234006387 910945195 99044689 257312185 482890949 213112127 964052507 789846461 17085783 315435105 99553599 203007047 395661539 974894927 179134363 948030295 518658467 303879697 921356049 820554557 443237729 189456761 154780551 908236683 976803435 198675999 420481011 103075869 400484499 523060579 560392013 220218391 79043133 238230637 787490715 59285737 162366283 418389805 456224483 552625985 583892013 800368987 770297401 408278049 537216217 26719097 467238071 543846347 944006605 741583309 408459903 307134155 890070289 584302441 881985979 989740277 194182449 471084837 613568927 254646885 268170307 908213407 242152293 558453377 202987751 333270851 421921613 639814901 60028739 223467327 727139235 521238195 139088387 495105163 825602489 598157561 472471393 693810663 531425001 475917387 307406361 907235805 620968853 832173941 658017905 293135805 493903401 891999883 966044983 994502815 875496981 558552555 119566019 73582689 386034387 52515639 400514545 920045229 25971431 709123677 57271595 534450165 522944221 815415439 286532955 143162991 758155843 952737611 425832185 561056539 726490293 106126167 553432323 616473795 379130069 226107323 376454657 703949559 272177997 633748687 246750975 364496141 64939473 511630125 496763539 98899239 845044763 4585657 979319261 738335021 473046251 861763489 962234755 142749137 447935245 851128665 281935537 165691271 422803027 272402333 465540641 525932947 962457751 700075375 93478159 896966397 372321981 320129055 437531201 744882579 645046699 557244479 261358341 111429359 119037783 963938987 560030259 295345009 780840379 596083593 980623145 33960257 326344663 987359043 642391243 871328079 250241719 392280975 833505417 941844053 638356077 427871849 821403483 108806097 381501717 47761685 398668475 365679371 750183885 366247199 82065841 219993621 162993091 448634203 748855757 987485383 344290599 245836517 172946981 889148865 561189939 889788963 301148245 350628201 412180013 555711937 45667205 269596915 281355867 639439793 616050531 883411797 902105873 646678065 203757859 38618193 867937449 111363269 204680839 546774381 810148997 247690555 692418259 972965627 381898769 50308259 249697239 807468819 486285757 34731613 158377191 689232019 52437509 542399243 543607265 938829863 187557993 219466139 261613103 402933563 419066997 357732929 50536891 353333515 29906619 238593911 759335421 782221207 353354199 607637251 273363701 122343589 876009831 71917299 276395557 307232453 236713241 174352537 686797727 858455635 649688989 102221201 455020281 587922027 399472047 58821311 228169807 236151799 186082063 317357393 503359817 134498985 188340617 216865211 908566037 179632119 790235119 298199737 361876585 519040033 48207645 16683599 977497729 804979505 646801137 387934921 933082665 354891253 688383833 949442491 383707561 608041735 867532101 441166081 730106587 881797575 587551153 721988545 570649629 809754973 904937629 96939365 420074323 543857595 834883093 999467683 683994351 125584533 666904875 801214071 527056099 18543 777079035 913945381 723763633 411653009 497481123 20668217 924557659 665535241 75550033 877055625 966182515 803343281 683438901 512383789 958066447 179455273 330724491 218941069 448711627 354318553 169457043 409752661 127117519 782776561 236025499 929063801 323940041 894175593 199664369 38587187 742261231 515370243 829441009 727688201 696284415 816736325 193577983 268078279 641278527 264516737 520114049 278435715 239652991 371164879 708862959 153578647 541819411 273125133 645707965 960507303 707616219 244654311 442219635 972327585 488373819 311851723 251798935 112514745 372331555 894741745 459475389 699894123 463745035 521202777 855612545 431976825 549840621 544400335 15014529 585787379 496941907 851028189 93040747 210987307 162209353 417583841 695832047 482246589 521429095 887656439 248014025 335595407 514516169 675243019 645883835 510582475 347366423 103994825 188363661 113244903 652712831 71455661 898592787 208899487 64690615 516890359 336698153 754271221 744585213 793052843 859731885 634454841 550081815 766874271 225066125 773647359 69759061 304974951 313219001 737440543 858423947 480717925 618118957 93252289 497269529 150471363 962805739 383577425 419722469 44978285 169285371 866130049 787480411 459087391 94315633 178739279 812163445 682861399 109641321 898529279 536619693 674910045 927322625 763444509 871371277 396397637 355752551 275451519 190744865 184289763 461732811 324267837 10215681 952619737 265925737 286305729 257517385 735985551 218567043 236506801 33769761 543975221 466409569 101867015 264878647 677626051 842200921 24996347 417160641 116471291 369858753 721789461 805002109 473643621 793415679 840054813 264637107 812901967 373436027 109752107 781810989 60918227 559670951 551101593 526843975 946069967 38290687 512718093 119632347 957755631 609291011 91757937 582810447 366145185 644841537 319101435 205270677 564594205 205326151 391643429 468943135 622896485 875719347 607903927 342160111 383508543 703445027 439725243 433204105 269843261 423062341 71640197 160153339 98009783 315290315 436969393 935156957 125730251 252706157 649233189 623595339 194134373 428958445 207998987 705909229 152795955 10425113 680352985 388969713 334919341 2505407 503796299 416238605 377910291 658604733 75274853 260557697 55313263 344535793 19054451 952194319 656220561 67736393 544587529 389956361 91162383 725123767 418638597 444897091 79070029 513421363 892659849 893117469 115767151 384532927 255590659 401516925 481152871 184989033 664455973 614569935 132795119 444473919 544567789 143166221 328912517 810410335 518032801 611833267 595869811 562276071 574198985 525249479 39332297 827198213 36014397 557877207 22140765 766785259 727738645 364689403 45151441 489286609 25326523 320436431 246356877 250974203 307341527 205246077 568289729 497473457 712087389 673438127 825789287 11081289 227741325 398781597 800465725 181555481 536262377 925133829 715061707 272420999 372812603 654331437 118928997 276107515 615216027 335965669 503439391 725124071 597402723 814152579 735030491 504815815 514491705 503284707 260981313 171300381 76297223 555666283 410463937 514874483 607072771 489898765 553692307 970871641 683219113 831268669 82106553 28666477 125522621 626182903 225737721 64072781 735074633 479466695 338815973 654822313 787580583 766629813 132817877 376435757 249525613 733721691 422405607 141174167 457224067 190008277 670374919 718654121 33025299 282729165 424669923 674730029 973058453 705861229 492499187 716543987 621755585 190301037 275241337 595095001 507516317 314405131 658084731 36956861 164531573 36356111 504924875 689285519 303417053 238633925 957177599 824097851 422867123 676325123 60492411 687422655 861807385 75829545 98157923 415397917 124885117 731317021 968800939 358684511 146223251 790878797 673505545 784088725 398149461 192527789 962297853 575719389 930633225 152755391 882151121 50888791 227654205 236824711 433511315 438025005 122551491 849948309 286251551 592402577 117175991 575847933 256067857 79268543 982485117 948923485 174226131 627361529 914400963 142101215 925075607 360168585 949461373 145295149 408639313 218374079 768037095 809175167 870739143 147579641 538896003 754978965 640879227 192148887 525898273 137594545 359231171 54800643 842328275 635031717 158606259 4812721 13726709 379140551 236601901 302108185 828048941 986236915 31013081 983521215 47247461 522919057 868261159 841359403 185154771 922867597 668478031 862530035 349986803 714554465 614517843 556421039 774488457 195501321 373586171 256157953 587312033 448291595 415519445 513862035 820987279 906592887 333075515 744211991 410475761 144094433 240392269 429193547 790044329 288541799 849191921 346449645 129413093 180262579 378852571 590865095 900761879 301732335 847117955 204128175 342241021 363668435 37515557 836679805 303941021 336879775 848412367 902315283 263725375 42465303 270737485 854076251 139247481 872737417 175990839 191996999 529893929 932860363 597287921 695062741 310140019 369061437 93615263 685475075 977927103 781687749 743990837 438952155 22295239 257938641 861793385 934813043 434927237 309939031 745001917 726751715 363419451 588408789 715554935 586790989 915818361 565011537 749257127 394704091 881577743 649117019 443507241 240499393 773809695 759293703 747922329 683449655 667114503 376099827 466957155 616864897 577588855 276280393 397171635 776439529 658186851 457362099 895770245 614487487 957953799 824546667 666107031 691476577 134139623 314024747 630234739 736677679 651529423 382496317 778257255 986440339 855533779 127360877 37166223 329579009 964964175 982616339 483217863 909308657 605061609 551541771 898619065 924158951 559765645 517761213 801158101 878660461 251285101 316674583 169240405 241219861 771245319 390127247 85724215 134767737 955988767 662326563 34888005 373020731 508111297 870004313 698158605 580015877 456938305 94791489 635591145 271096459 318318653 763456111 136575737 249858181 431913623 894561027 505284389 372851127 78668925 513676705 388133149 556911339 167143267 376738169 421892953 168488435 913969411 964272963 968986395 603203753 244673123 553251897 754576233 406712303 11113681 324073253 778266645 327494831 487746781 884710227 822726327 323782877 53511015 829297563 249396143 215068785 935082643 221218137 481295653 527196271 974715595 180171639 960244233 830101473 663134661 965560157 293944083 372589785 164272507 212907015 760847299 29671281 25913653 477971697 425464675 138891979 796630651 577380131 8687107 267481105 710578213 936304681 988005243 637773175 907896143 388788505 765393513 725507381 841847385 594959763 11007289 844177041 146109941 400147643 522189081 75758287 336035859 217973827 148245759 269579847 548688625 300454237 100422321 215354705 241570835 155954123 674141619 398947151 762343237 2053841 996795477 549932461 96847259 432883773 263557299 581647579 326886513 839063911 547260841 548518739 424345197 748080171 906991073 235126425 22854267 388171249 61699789 114755127 393640653 820821159 752039841 262854847 922076129 15649219 672134755 84542155 451659133 595181379 244485333 13900285 397193129 453973679 917046157 261185023 411421115 403517969 486753503 754923909 297567057 28627717 379065325 993841993 468553037 884009381 400646559 875271435 572567261 668179351 29302693 299051671 39965813 632844045 908921721 451638463 516190415 292346809 209267033 865003613 724381171 369274333 634363213 455890771 782682153 397824317 728903719 825623947 551129865 340186151 655045247 234646009 98844269 164746867 494075829 126508439 992871291 215379071 893998321 565285477 697941405 40372271 241432099 507818095 578158985 247872499 59254019 567539911 661213243 594765249 974205459 764912775 17567733 956107287 916987289 272398289 224157511 610034941 45311655 134094033 919428099 961652989 150606869 608964279 95897159 268252723 105602945 87656637 992933749 247791417 180572759 405264679 106993977 656560693 661801669 836273215 706213513 797597657 204703939 12653399 252097697 565713497 934060817 952267721 655633925 745572465 614722107 884355063 121331073 992297579 721525131 674435661 34265387 997547285 633591327 175522363 409873243 317156547 936951763 133586237 803465659 169029203 213145683 830567891 680398385 147614253 919440907 749702281 498134007 451495231 456204599 116690673 132334725 805949441 990515925 270976677 193387169 491786605 62173103 224589895 518224217 147976715 154733397 939180675 52491005 794345707 177281821 981062921 682213421 45238947 679959337 328361875 780716237 821288015 976931169 459636967 869292295 469850263 913209975 462533067 51589711 102994087 559590111 384188435 378303589 920422201 272050653 762011545 203632715 284704137 498140281 497663807 224971595 13633117 170253441 826335729 869130237 599007491 602426255 912247711 304156475 24175187 837371395 303581763 906563371 820138923 158800389 449523939 415434807 71646191 870681733 923647621 406702613 156835471 823496253 173756733 505294529 116523137 468343467 67957029 788155775 826354501 449794839 627281759 39040987 986204125 433856915 997989143 680065705 793169371 719068151 465903229 321769223 320532053 210618595 428211661 159409495 78418663 948167869 631147079 686637125 129692857 301231801 165332279 565489609 646395255 675121613 772329711 979930139 772210779 981791163 404280777 138143425 902011681 504945673 386142505 684155271 662094095 325913353 20771957 333485443 10736117 475874003 477089827 405128717 921681191 329115205 450861741 867001807 673907843 17746955 877755795 288465841 196200307 144411537 88519267 831879143 400982497 867413523 316660651 636183281 313547077 46777233 315821063 184984719 745922461 914361809 984942873 102927569 506974833 223824227 63114893 110710023 768315853 737671843 72229139 912133329 879063881 333925037 288793959 541620499 333169921 893282411 89556297 918192887 485127325 494967183 560452229 478327539 681680971 276188559 7390703 79344579 643004351 78249131 594717277 868118889 611892027 536995565 908766643 67058229 725656195 367479075 928142813 167131577 724403175 746315239 846402507 740193233 925136699 52459673 480053881 178672035 510111967 144301153 550126055 808680091 308504759 98900785 280380963 106923883 411025205 676164797 789184571 551269649 46240331 368870793 869966155 668343761 279717497 841207261 559428469 688115767 288612295 361609927 858498277 915913239 239286465 379702561 615520971 157719951 499144575 152391819 693192803 933096449 479959197 55456365 872762863 500988699 963762755 569895159 658193847 55684047 318323487 877619745 406018319 253893467 332082023 102849709 134600529 154949189 526357465 377545505 490765025 357346133 284220091 910467279 580399143 336373411 335095515 439684303 863871125 487110791 149820563 579104511 618703783 139562667 225896123 344835339 677473757 567549175 459264447 315641185 659911619 360753313 27741321 615127097 811067629 893903139 686848403 439053973 393372401 68908869 569988055 302741819 840983667 379083279 85103583 339488187 679083039 327559129 835367607 683898737 336616871 736168253 494881527 978077305 597122753 627012129 965082043 18185407 556637749 815924399 831899563 673809647 425997513 492312669 824572405 579660677 30963281 359078119 586263375 263629761 312561321 29682001 705978615 62486183 897565871 787928807 459013043 1247245 81281873 268802109 73810643 270685575 807919745 379613233 311303979 950340983 854252597 179045603 594213403 364732423 921588085 971928261 72688263 417149987 966220615 997094279 874102241 361558151 117412289 979427111 259914011 399647921 615485689 989306603 244478903 493305833 619106837 523895387 617677497 356933187 101941307 172334669 446059951 564625299 653239715 703068639 115767729 708072571 287157891 269695347 425534555 311850339 877896733 743570871 534752981 471596923 568858047 331929247 916463821 212377531 751131063 795588197 780907385 123500005 394548321 558374543 721266327 868091777 732913953 938049771 444288367 2360541 316559711 231795339 567670731 818561555 655732109 282961099 395636999 249596929 328487463 222200399 114768123 912285523 432933039 82061317 778469139 350841207 295488173 228752417 207103291 893232037 61799095 730474783 2771687 924428255 204248931 439923905 114618393 685553643 144141911 48996631 564327509 788610139 157791035 687409011 353431977 49668487 710215873 119622001 757363117 652230797 403744165 306642423 342898813 87803481 421124521 778447921 188544961 852460697 530010773 78920849 369529255 591527621 3921213 205363669 208921573 377647389 34579581 716250113 273418425 746759595 182246965 428460897 155185643 209017151 306303055 584487817 759268295 922430575 950144957 198529623 760337955 250296991 825733499 836343533 516032863 436100339 192108939 993981111 300652897 95363421 282407925 654057069 837109397 559302551 695300559 543862535 388209397 156046367 485377583 603372747 907731707 845175103 234293051 855786567 692165297 919601159 939692315 446691659 889905317 843743053 319909121 765002743 752872683 916805299 390764073 807234989 759605793 775266721 3300053 416562203 159074415 254195271 270459213 655173685 597365891 926298271 753736935 816956215 964843669 204921703 626129145 776123299 3973471 591918377 49532905 746139209 461625641 804592435 283010591 166196537 99271875 977559199 833472783 881542869 275784833 210453325 663847985 185287355 674594115 30265061 550146055 899560157 460449647 447039959 161125151 661587561 280058867 810741851 546008839 105381601 694000965 570797427 273988957 102411015 716956257 357083621 350738625 543795175 625785297 269678403 356348893 65932245 210869923 926025445 134625379 55353711 131585899 609992939 775858703 552791701 172942151 226622779 70372259 390189433 84378847 98925193 621249001 547489675 964746595 282159947 434193585 219031689 421870469 136854211 441393113 321136503 465370757 663842807 911599169 111180195 896422699 475348665 325293779 760511901 75556547 499756703 827035521 135220805 314738211 649180685 336055367 176756669 365441195 279268135 990843943 67883123 235046721 472796897 373933099 545338393 197453651 612866545 3561059 325094063 1466837 693995991 464335597 482996597 792819785 390978525 335869673 889837049 739496883 300529171 329851777 598408977 574655395 694557775 844356329 157176791 871734573 540121395 242178393 597950129 625227247 323098919 652757013 842404425 743752979 979685725 393845861 590126739 947086915 758408905 58496671 849449423 903818935 912500529 102293273 691662719 443098157 255589399 906698041 1141101 908142573 837136849 445041255 142060209 635118531 72721523 380490007 875617447 312835845 380521183 520671169 226853359 274702741 873607101 208898025 572672891 488934611 29368445 255284505 712387963 565751475 331544663 484631521 913777773 70517929 185902413 382079199 242086933 62445747 927019303 884293555 649514623 557800023 501682291 848466951 641055999 553212325 751800715 589305487 504412979 470025265 37353359 927667715 211100669 472177689 828722533 660371495 714619017 259392263 574630593 238878405 822654287 341126437 102888731 779585709 308372231 66638891 683096751 461546173 852198839 364318297 68483979 735192789 948644267 89859441 570762875 921617119 840968313 422757317 492445207 554954191 329364475 210357547 581295043 40498845 375221589 417310719 496882851 632117581 108856821 544326697 207187115 769142761 636270223 48840727 690467217 637587841 318222365 5591487 488695767 332734771 771972839 801514399 840864707 142492447 566942069 665693117 713893989 626546031 818404767 3559591 450952345 190770519 212206463 153207927 472891899 76825615 316151419 566475205 739582455 138504667 400467517 786429629 13481657 919196933 825389499 365030921 686450237 691100895 684664881 638776801 368584001 903722689 814167585 10231557 707226191 891327249 795122267 379912121 747147957 978959929 889252593 503363787 373783439 941114791 508574785 602654353 105448633 76523739 492716525 149736941 560138205 551653971 866723297 672363841 194264427 621134491 774195027 447955837 864337821 131943747 655637951 610050325 469196145 893692393 475443689 143543051 20963249 171676461 968378591 57934309 316615659 874128825 611551473 526737581 911697273 700474689 164956351 506973183 2356859 571073919 760449067 886663923 975991001 64533299 773606243 834196021 944492355 679335719 443460057 270101231 72483889 747265329 782525771 69035995 172563173 884654377 374155967 805972531 986087013 913071089 426394493 914621633 782825603 359015027 636497949 863049937 4411607 461968547 795437945 549802299 99663297 845899387 884075445 790739803 757214569 422172923 7712575 32310297 555274943 139618605 672288203 921396451 606088315 367709479 392528725 854173871 646734365 324968705 272942367 752734459 412303087 956620253 476366009 663384783 363360001 709469415 100295413 489582517 174535723 401252941 859109103 798100169 162430731 358471759 949701389 587812771 569064461 921354283 970253817 485939567 766217311 955750701 984547753 150427095 788296953 914552231 535251033 342255637 749025179 112876017 408062349 210273253 74200015 571712883 590120721 195908747 336960995 331458449 804770809 757522907 292171251 691957441 458412963 377218341 309552859 12699003 427183793 500308045 21136197 393110339 160759311 384804021 514540195 4886947 680616437 357002317 271665707 827665709 245962971 316923019 518312413 178790523 228449927 51846509 561843585 366834479 498808069 541514361 86730667 928638709 810182059 65463743 728139439 979456637 352630291 124885717 546719663 145877633 23394593 132981717 28060051 145174725 118391811 190403691 838193675 918000403 163222317 734465219 562021009 192221245 521427289 875442833 357567331 849797917 327037069 87938071 382655625 385040277 539761431 644525337 395502805 183663505 4811913 84559845 199922399 848616961 758355647 987883091 114375687 560834015 124531933 301435071 479607157 959545135 907121235 219072275 723505945 351391739 169006545 891358649 717051563 967470421 973025875 446948521 394483373 111373911 761941537 364470881 916562277 907205411 11510725 655016679 365525989 905556453 778228499 743563979 954129157 363846093 75545639 226798115 120101475 377309205 380023911 223379849 783378795 568514819 179669887 861929257 71561803 639376093 985910369 14823855 970472187 852238583 532338763 360565071 426900541 200840363 833796545 109432011 377167511 405905499 370901391 938503271 767175001 211461745 141649865 13792499 241535391 641393761 934141645 561415361 404203845 411788197 302733373 410417333 771133943 971923133 327936007 277274929 704632353 86880821 393051485 820991269 322161663 465504159 904200639 432496903 83362959 971863189 298484717 425200599 96513691 858148281 996047093 551695383 417788339 993704887 689527597 292176089 331730733 616584767 180440367 746372785 354979115 17721613 764258015 358859969 963967893 81005793 618354283 620818345 269288733 98475143 718442823 279074973 731172919 790663633 934517039 854727249 475082279 895848601 156518181 601823745 156642805 402780609 316284025 795694711 38973807 311538229 160102845 138023681 326808623 715535845 96673229 875332723 273859733 57414861 675588303 498749995 729037001 817499629 276042029 751010067 167516603 884045905 909649053 642216597 846576165 385349643 990130971 701652905 718358917 765978421 923012075 820507597 22044963 377834737 273512089 831567881 988271889 7057515 329825273 45937641 615317799 164121555 385251623 208810115 478113285 660909413 340814985 938020729 892425233 426993249 875344075 174846955 287760511 857187347 940967903 970622349 170342983 846784205 177783299 710329747 649810213 999330539 847331003 128243131 505969829 381975499 132462037 912968011 883252503 298792155 520569441 622769169 477731475 339116683 187388863 575984997 499057655 339464533 809949329 690800421 258619887 899493567 855132613 755330229 425669609 430367823 612951951 723102727 187091741 563329689 855646825 775057037 603088779 712703031 854337563 609489479 289283325 60562125 961350317 511189693 234649601 7757313 644684151 279193083 808871667 107288201 899526675 583357335 684316399 151491359 21748069 220616115 920879327 810333573 372757149 978732017 745781877 743819139 441957929 599896703 418517799 716436973 310553803 707421975 887889205 971394973 384099461 500617717 225429161 666651765 874187171 927729887 740845649 950086753 654081977 128265253 94279879 736346193 410990243 807451547 673544555 519561025 623838599 928132513 82320229 810379571 194145743 188723227 11237543 659886127 738953777 113123193 831536869 813163337 598255017 322943923 66222755 37987227 242759803 963579203 733643305 988653897 628923187 841458739 480814725 741856377 403294119 955395343 181730449 683265123 120484847 323158509 963294701 494867515 230023027 136321903 346084353 710960201 951795167 445700023 647448317 462677203 536457255 442542963 734821593 349470509 873846661 1048797 299756631 609072819 250324607 888812721 962322941 8975299 341312995 158289207 418602269 903393995 358882241 488693049 678829775 756519227 622980217 465286417 181785329 382316175 347969965 137124253 634954543 220220231 723335499 321607491 359900663 62409201 321429639 163903727 344838529 142672411 330558173 579793689 587812047 394537313 284339983 358263489 9284263 793397863 242730029 449893995 215441561 275125717 893646985 757917989 234011137 754660701 627678399 37215621 194612475 958559419 947167925 266108077 484534131 508642991 927656597 857794879 279165461 655006727 479846357 493679211 703472989 563579537 868829233 356032743 844456075 595648553 896666285 740863985 669040803 249139635 372941971 944080463 174424955 658480663 625138301 983999313 23624871 865663815 24837441 673547211 437644937 143512383 905136391 440536349 900485451 727258367 127643707 919647787 328304089 795666837 939212431 679651431 564640495 257923855 567792641 402257603 295280651 1969033 567150549 913306305 161655413 494826023 451517335 191578467 244539969 515273233 849681949 890671165 63059267 50318713 800726655 428697183 623833629 281653403 177364263 273191277 30761271 321880759 914253501 346363017 396229569 309742875 404025141 45579619 299861173 381515797 51852493 444133681 345386447 432056323 60078347 266032049 108089501 496808515 705280951 726802985 723093867 647771715 680819689 660269673 535049811 747086965 518415611 658951621 627764789 391423823 853656467 589351965 625715639 470863961 946358427 413147351 247732813 764324121 668677193 9106399 796921647 480450085 43507479 479839407 927960153 107886099 407598797 953243457 243104663 32083081 802985333 37140767 229623673 664871727 445059171 768138327 678684247 217218743 141463859 589085307 948448079 767102941 454601931 722613679 689247053 299923043 639890517 342856085 85820927 202263057 62914631 959495261 454940381 594595261 579298653 986327485 437648423 166967869 596675995 501765619 277907431 72437111 344116045 271027399 230576877 296401235 917955593 89055363 19183055 80902339 743668135 427625731 718274033 377950915 203053391 191533729 737951863 879697749 665065581 867607875 151094099 902078081 43137971 494569819 481931839 850363741 3711521 117435613 733221817 537211647 563677175 458185285 241262091 316214157 439849923 187032989 661282885 848130863 981071195 327598963 567553853 480386839 173083865 724363737 512602773 960602241 437199777 743278963 413103541 240504239 504746849 369521763 594733261 99043051 828892429 156858713 601548759 192412549 984166367 493169803 560579985 908198107 159722079 737390777 917006981 875846987 403705173 463924261 172235777 494103363 537482457 39334305 748760351 646257717 492412229 680549761 369884607 619166105 391527487 503601829 429156745 432275955 83336625 204335987 518068461 200344523 904678097 512641241 450062371 546146999 64728859 754540875 133299757 146003533 724042579 93741515 362023889 377581363 403027587 139381469 447679649 274264081 599893253 479043983 571250677 422423195 973521263 149678713 222196717 633196681 372784041 307923641 317394031 84948125 423668703 609823475 765113391 914111397 276500867 88162391 390671267 492181873 941422675 655346589 886139917 253306841 452484947 604287999 732731507 499265987 719374287 277673541 215669927 194870807 65436763 259164095 266803263 700722377 95866837 198970691 64219551 324141009 999206495 231249965 942388971 700720179 218660455 751012709 110989591 152148215 72211361 736114263 775801561 775645747 636000775 475415549 758228401 557918205 10033375 842580435 695488233 289109371 420200887 231518431 845943953 366829525 201803617 53409455 629648511 625337151 812148473 937199195 422937429 749717489 775387363 572453249 276666235 544939823 905183181 709056325 947781667 701584961 810106283 574863705 486030403 11655549 82794681 203654895 823937435 889257275 127383161 434191303 43090355 416034013 506540731 288669993 218389727 307061709 647102097 253084385 624414003 150917245 497641303 318418501 718534545 959340905 25104307 30475061 707169441 207725587 264952975 163701015 520275923 88446469 687730721 283518425 315015777 375728081 358837989 210729201 324786247 268212751 344244383 485708381 803563347 416130661 39059291 41344931 572200977 294985851 850797167 958143697 267866331 21933829 434884979 999030655 524100305 401065147 951566671 239379403 719543003 984482145 73272623 924776281 471110311 7055553 419325829 900449371 819956659 17568173 744045839 821085315 584739385 113746685 508273619 202634769 885898823 452493975 862730265 658008269 543051945 575356003 845499767 875750147 644796407 264527189 862431691 369583755 402868117 635275365 52613177 496212929 355230375 478461335 15359019 525173389 849329441 913354997 468278869 830033757 71399097 873222545 110119351 298055205 568779249 372058243 394860689 90311015 712503055 905464817 244146035 817396009 723929379 214299653 949115439 862106101 851251465 684379629 760259297 715225061 263436893 933550313 132756717 615745431 284733067 941226293 815678465 859013425 334072767 476286241 742978321 99444575 609137653 287975933 669188441 352616025 409227243 205556003 517597021 988793055 231584811 498229493 136152041 802556723 31919621 701058525 644200209 970754089 939892367 89203023 358561073 976364561 673352619 39668931 945565679 646279629 225544961 512461501 97921847 907180995 472087809 200350151 536690235 857686753 538822117 356949363 827008633 301449629 233676459 307916121 699860661 63779061 790963229 719243295 223097339 607830897 317242313 575955567 693187231 521965595 131698441 166551031 874069823 317068173 884717565 190588535 185507773 105218277 685799053 25616557 470038087 755431625 682385257 86980965 695856209 909897317 499909385 771279983 996993941 555501681 601821871 125749673 592710937 844500013 881095521 336806899 119191595 656853085 373311729 591944249 374468443 452653135 944206583 984704617 716348809 188220123 749756883 87446659 261998809 338148189 601234861 553227653 224541109 580247741 85812085 226980987 341823955 706900073 630602723 796855671 825202477 894645591 3780727 544562321 266674443 681951493 715423869 202316527 770481399 14085241 542757887 169618875 710325699 577678659 511669979 762917669 126474385 755210871 923284397 93395815 302409663 889087413 408457441 103220165 966163455 784437795 705526181 90105737 865301313 951808365 985032945 758631173 845588419 540150989 736226949 407782547 579896585 867237373 488909803 314723733 255192287 491796039 117352305 13131125 470690905 936753015 443049779 51728039 292061395 341038821 250712077 829803941 172261619 222320239 393581737 177167855 581523365 754921337 699722361 181650705 489305883 707071475 21854899 703926171 103002581 228390227 971332439 504332843 782865299 590245271 24658477 364350563 924495459 259609157 688844745 152122345 292623257 76832621 992430719 661984115 726510803 12779171 9679729 490693561 301376757 984190471 934197639 293638783 785437991 479808831 961009265 618584975 874641891 440381559 788219817 893653947 769280483 741573993 832084333 527849437 61644585 428891729 871897541 895878103 583676421 834878197 402158467 938466709 405671431 129658787 896811839 764702727 814301455 626670643 97994329 837844519 513040961 372110593 98411513 967683067 300585735 142267893 208430095 336908679 2536983 945825661 378245715 43503587 557134957 472863631 842052935 223034407 105208909 475616427 325277489 471335031 123420225 330371283 10640675 808918265 185517089 653075609 267236853 813183203 188112393 94009873 56226629 739404143 109589339 827508699 37441663 213090525 23880131 271185437 109609425 389388665 880422455 824846213 419488563 251460245 93997555 267756103 860003687 776029067 420605819 257781029 562014451 657116861 237575067 354267747 98244391 919990423 975740521 99321039 645617951 230674569 738406973 944757441 644627639 51398157 843161793 784776983 802805659 603218855 29275611 884030005 509228599 270407649 42856133 640601867 929427655 853910093 637522679 498677775 549866057 760695941 614979895 414934079 699467143 4092717 688673939 297006627 833167377 973867755 918974811 787124935 497851197 71279989 395833391 945370817 674692909 946345605 509882611 164148529 280648649 692798171 559410129 986089149 262849475 704218435 757746239 538746003 62259087 903043983 760965623 603870567 406611057 797464985 765849601 777990779 653881713 774302277 64862117 114678931 594074205 549899385 227900795 768015103 497823951 480440363 753606237 771751571 768073511 148482901 189976177 670529197 578664333 158324983 170890785 684092983 955908337 32170525 120221475 639783579 355245581 906357977 425412467 806147281 443478623 281469765 211725397 477651543 987973423 121132677 853499221 543573557 678546063 841907135 167031623 949045751 100983383 814105897 930360137 827148467 167939367 388020989 914249149 607836169 159606117 660945531 156202831 506820383 256946245 289287409 665907703 362488739 726794431 592380077 215928813 569550027 580606095 371005963 559635639 601465941 408695105 68187245 518661153 632285063 222763813 300328255 984170305 790397487 951860819 179672817 188631407 884091301 817577385 588167679 813827925 515592647 549669843 735565289 787524059 337615353 835785791 219704379 93896501 403183659 341980709 448326023 66101731 136998357 191550341 395093095 360027557 715329265 27009577 386963583 706409611 319010569 530018463 288183159 461927909 476307497 882768707 704898049 83022163 652784103 630021937 990659799 23749561 603327075 340337493 494064063 990805569 594287939 88550235 885940863 232847713 421907125 838696127 28446187 551428053 920670319 959221183 572572893 921486239 637150895 852645477 697464633 780561167 822064955 687895423 233586919 357775287 454775907 84216231 228579033 596313973 475491323 938441789 970996745 305142121 150059105 737091689 964522109 46966021 103503743 505069597 724389435 503635705 50932159 76567821 821293655 395710531 335236889 227471293 817685995 896144679 312064013 254827125 515470107 468148273 598004383 258648643 817524751 838956853 236707165 894498305 641771001 694684753 80825437 67382095 23267349 39193831 765742143 532020629 105084579 227695781 757914921 262232323 132612591 582953085 680350665 461635985 236609357 724394925 680536149 503316481 982827539 364650171 702698379 178632409 510153893 176155247 771305393 47015275 183603055 449212129 75434391 325949647 284118497 988366955 880118161 669559523 947172215 648375985 51071615 853490003 292930739 867552673 923244741 13507213 15350301 528194159 846530389 613932233 683472713 38271125 216167073 968193801 551419347 31709915 145870763 224896019 886992985 205825609 881605877 818941303 667557769 163750199 267191699 199209105 878907155 836747839 263440917 378444669 314331315 740155207 450987421 416258599 617423657 706305145 5040339 613075259 633913667 871325003 158404831 414646581 167322319 420383097 880244861 931980117 430548905 981445127 564319465 265469599 891531445 441186881 446826219 819886313 986804443 59497659 210577869 436264903 548568589 614912595 432570987 806407067 370883143 848790827 502291485 771593871 628514441 553975215 853631951 41806223 258871777 100492693 425607915 481786199 448559709 128016091 178100331 654899557 955378203 220624577 409429449 894026499 272742457 560345301 167790095 444460095 358036453 666546667 35753673 505368307 147747151 739105 629847311 996340159 686674099 249434841 947472511 629690123 1680723 953756097 213393981 944608775 441561207 688505293 845086201 7347117 508789877 530246455 359302377 619547577 781198755 17928069 977520843 301644217 226983783 76836485 529622245 382938617 510805799 9304393 454797575 597474451 231490395 474649901 148880517 48904807 387469945 448644821 643673407 747033115 136587779 903407407 475392155 125253411 227468679 31820911 578462853 5789367 558794643 329027345 823989367 792989907 617593029 554746583 769551979 536576835 642326715 170980817 300717547 852483735 691529507 568963921 421029123 565574439 306975407 982395637 404627787 885690897 414280725 258806173 766007009 550429761 809976605 572399739 659339625 473587045 696213391 158453247 498458387 756206325 876561979 56547047 694893973 560136497 49074173 312647479 878823213 280421411 22310585 856876347 881967009 53421211 807850583 492472455 478921025 43896623 610666953 145596665 725069795 325690179 486212107 600181683 304332769 184928251 915030303 781063201 735090471 471519049 214093583 99001595 188370465 565419239 273526507 197785913 120007875 495321941 562708433 247831841 99395471 69613783 957455327 670036289 623732361 490838659 113844547 968080233 564127807 579158317 12355887 356567481 819300553 868658807 596899035 554245523 849594565 235489225 964519049 456522405 722087511 246765395 286492807 992571363 155799599 718740751 243248163 196468873 95003779 145049019 886386875 977642265 504826385 588339681 222859951 540920931 399243041 838803663 963628649 721744505 761337983 105605535 121042267 857190839 420348545 220819505 510052097 734579137 830275079 965938221 680423389 834334343 524587895 883902467 539291769 879032633 723675069 240944107 209506917 119355219 257305939 78854375 756125503 123726237 527350069 280782269 278953893 821225249 148754409 793769471 305536069 173645363 387838589 968698117 229024977 683999089 723140489 579555055 96222977 172386493 346935339 413312931 877905817 54241347 729499399 894201813 30429025 75188089 284031821 789787131 851837999 660065819 986910131 375578455 745742809 228296493 874376057 346672367 486587205 561451005 612612961 678470805 927130971 614902555 748354749 882517471 327406607 7370599 466626659 178424113 656281433 505395459 558412207 452084399 982631485 400972893 52628871 478482253 123746243 715747111 568088413 566724545 784780289 164349281 32635429 440135051 662371087 399793227 689009501 111289333 619832333 482967411 886577675 865063183 20797995 52554671 959179197 327365807 780822933 756036633 513337227 371784567 440175241 815171351 398866195 131638223 635454537 307938643 183832953 566678249 206714399 500395201 631551085 548194747 673416283 434726305 969669927 571121669 208315227 277346165 197189985 350623567 682172031 258595849 705655909 910826477 144334129 799353967 304109567 722307059 13335525 857749001 919457157 919487043 718235411 554808695 883525847 231014277 291966527 701696933 245316955 699865385 97861361 324259017 462454527 708756073 984035775 323714911 768582969 789639489 365400897 424265003 427132933 193185151 135765273 174021177 168130799 697768367 490064625 75611613 797368319 982434347 992128891 911988661 345676495 691558931 911846261 476623011 123096445 482796111 874497179 985446867 358387629 30664847 513213629 815867837 627815823 401229387 619082411 190786841 992548571 634087363 77034303 748643309 426202059 153479939 181040217 437615237 688897577 699995351 875560937 989744247 331319361 346735575 233090267 340255133 107951595 605209959 334251055 539641627 271891331 832264363 102302689 209652831 57450225 295647127 383345665 117361693 322554017 259259873 945328031 613971791 285017229 240266251 81779669 440707133 522083633 694280795 845254853 701142895 334513811 125441505 130248345 492057789 577150787 380690297 886491781 122039873 395548501 565737663 780376513 617375073 691983721 698675487 984785553 878680007 849848739 434909893 170078527 931047017 174037685 249621933 850935067 447024259 187887313 714944661 455601027 346104471 407991481 981705735 849011927 801626485 517100719 10282835 787875713 352281391 623110021 83420559 440958709 591402531 85582737 595452573 339053739 555938291 770557871 624279589 950725415 441993355 130306631 433701527 113001203 201076001 372344903 312684077 85167521 82685745 418294309 388919781 497892043 223828353 894359775 154915465 219364115 472196889 528576251 681240487 573426467 495065167 717292937 366630553 589231279 954798529 838433053 975541119 611053935 860733777 104261847 796808769 620784167 388228909 609099611 944124303 538369441 899679943 974367195 615671265 312440751 257679839 759084809 998663289 810312747 986951541 803015719 442167901 724287991 330104535 163141113 31989599 245331453 89331355 423510989 564910359 553080881 108743579 882155129 362940389 534247051 236053499 577768287 317668337 828282895 868060201 16501089 925800491 522604999 609432537 773747183 71387467 63055301 356025607 563676671 236743377 383776803 485094133 431436559 641398281 294756867 872880947 794132005 342188285 290600591 669526163 223375057 295502219 507993083 153741361 360067111 353429583 657989759 918936179 116086215 205905845 370618719 228461059 391136983 786982123 332861925 708385495 395874563 335406313 978279011 806092587 94875011 788865391 748703539 179324547 835899415 855447047 240181687 393159851 615681027 565936895 29132635 467217591 315436821 564564083 887882893 985651717 152552613 868752191 279820749 802678583 14406287 263249421 890223769 324035387 376491067 575100495 129689725 742336579 197062551 511575355 570048523 491480781 853763097 420888785 921299933 328667293 232473537 933476057 760862101 553610175 228163089 213184487 149178589 13827977 95530267 569696335 531379817 359501717 777191539 468422963 791263987 177745607 270071353 430902651 227079739 763844173 146508819 659608791 829715469 50156699 329417773 598436033 845990715 100761195 76411969 395807095 712593567 224812485 205742217 844332801 714198043 226441969 961195727 252223537 749274009 760554887 634451297 998124959 775660557 538093409 68970513 578069163 922977905 115603877 93528899 854653053 877561029 690040253 622536921 920406277 325938965 627463775 141347651 947694075 270081651 756501637 171225207 42245601 166120441 246956151 116707571 779316477 114203081 23150271 70109375 335771745 465762317 419894065 991367783 475515109 71813625 308500457 419063809 120924713 871525575 102065229 757933613 239541651 68551351 464886793 760790801 142357847 500157973 310871055 331033945 598822251 605813811 413208989 509109567 109951121 826906731 467411255 49415551 726499663 510513439 27341737 585616991 203023093 383946939 657862919 978934957 834915487 430610607 480045487 269149377 366232105 311315061 427145539 311944567 157218111 886674579 802217905 456870201 422751309 806014351 400301611 206234865 688441743 229680893 890395185 138330391 280162819 937797239 456050819 683153065 971509363 976645279 984941103 743493167 22334063 836002337 815462795 86841013 396865869 854988973 778167089 347177169 660152623 26951165 342065413 919846307 978494461 940220629 212210485 615968209 125625449 738799103 435296565 850696329 934668007 622406479 129814209 315247231 808537787 831066779 717212891 647900405 402488557 769176263 402781395 993024687 317819211 751430333 298403643 909159675 688458095 260040819 567455471 380718257 183790009 701004765 317441557 211595055 191863377 900567041 162970903 173991257 900250151 439586795 976110507 191147167 634301429 421219241 935067085 788015609 638394169 591166295 72027841 834945249 82292539 336203799 382971923 825591905 500749 375405333 841186455 885014021 522486151 791016577 981740905 95624419 396664905 696107669 709768943 165559963 666551481 203268759 24863189 750790227 24431627 495540173 170911757 14854585 301166903 964421259 61020117 20923905 201530361 748833067 467112115 21695213 380493789 176596751 280409711 836458945 752283955 339945379 225552927 798231629 395932691 336260951 976741665 857961957 192753499 587537575 30775319 257611881 240397751 919091987 22987759 590827325 203959445 752265255 967144157 476810833 311365933 60127351 624684891 904110875 800828287 205046425 685620529 205154715 718534997 948757041 106881127 379511123 770558271 960141547 205917781 957312597 60524947 934707575 283295893 343058999 452415859 569273489 12805643 14252309 472538057 56201721 962476519 753002135 605262401 655848827 676602007 376723691 538603607 874621417 694192861 109569991 465299529 981490207 716635835 296378217 801149985 128026619 388643453 470264215 721019053 258014571 234730935 384435359 950460039 816372063 387706949 635706457 791381775 628967635 9844045 440987427 682287469 189836231 998977081 796134115 334281107 994685511 548655551 825871365 845797685 288017767 336924379 462216833 697564887 625989181 657253329 931177175 469083329 597817069 438859055 462577417 460293121 707086243 731697861 665812393 894553457 315428239 575353521 731386573 721927345 685528045 220791899 886106385 970297641 66106109 974083433 896486045 780660489 971267853 185582805 74863647 565524553 582547307 631486423 891853261 171006891 234106227 659854581 757520485 334551477 285928329 158824701 819107885 933295545 765717523 967922687 999990773 10382031 874549897 830581851 187244561 450949845 973198431 342661555 328350049 619302775 159366173 377739765 872783945 715795747 614401097 753931349 841846715 662016017 791306359 694753359 259489321 598991683 95050819 795028133 694583443 759604607 675225163 767785575 158925185 250806357 924178749 451732967 580902911 659566369 979962569 702571969 989080741 841074175 457538731 431990747 612478095 694048475 178373029 962069087 314903653 856057953 249895551 291396291 787438421 505066253 623651597 603466435 545528853 558551071 660823851 149473635 319564259 854338715 281174967 873524719 469044615 300278871 225050015 968591099 302379083 431404775 979003603 32273251 136044809 629956271 591293775 287788877 313934623 52173267 952381973 383202597 58120051 452245829 265607213 119139485 273199473 217923007 783822763 203128755 996665875 772682431 862513835 238805931 9241299 706541967 252015179 215114769 190318267 162066493 692005305 562878907 784472407 717329059 611133735 318714307 648333247 70815073 50061003 376216205 286839183 334001887 497113069 477345479 461536751 632890957 588155347 735589475 969123469 872423077 899350227 616526753 206503583 672821155 81567043 153660929 265299427 555876053 885454985 80308049 49029025 149610119 510675469 419028135 955341733 964785875 856510529 79287645 218160965 251152025 126295457 449751577 438274145 394655359 912898479 120752069 903423581 803564537 340396531 650876567 660309803 858859071 76786433 405451017 138933821 559398221 814658933 634736867 525387669 875554031 258968813 221244975 394066103 727883189 984989463 693561921 389113265 521052663 408873125 882196661 579322395 754371283 458952271 603539057 75318289 102811957 677832151 347010719 739071805 798262987 159361291 720824245 224467913 488167693 200127673 597737071 290096493 37783099 665165247 349680337 449281639 957825119 928492539 569205031 169224317 881416777 610470747 264557831 959178751 410776207 811551441 137006665 708933825 786579605 535058261 45186069 470226211 821019007 876416745 964772311 355940107 690905409 29697435 489978433 708837607 363921807 628138105 528411731 373996203 287295215 747711137 984077901 308712665 915199395 77236275 572093 427236213 353319105 229761369 677281145 730727693 973693213 321102661 720039067 107503545 370901593 296724787 428620679 366242837 838690269 434586469 97150955 401757259 396835801 845627939 247200955 47371013 204439111 522897603 108980529 591140987 834909669 239450779 101364181 225328491 923031869 672647697 805438831 134252573 463417245 275511693 660439063 640271707 985956895 625455233 112610343 288109953 342612131 107011691 327416133 365926249 370049745 857835463 931119963 329299323 292400921 803315493 647984031 508554403 602864051 175336979 707737997 165303131 408178081 96153135 24705513 530396319 683264937 78629913 297803711 4449013 417804637 637581435 41687907 795229547 429525013 764784903 465730417 377046169 523250673 146944889 566522831 442987419 685517527 514442387 912237225 194225947 418437499 309621023 909861745 571371075 451261523 184042733 886360037 683573195 466687649 181365723 684857609 700264689 978549099 620444873 57879081 232203901 926912643 22533793 686003163 603568059 979250047 529971541 111017719 775954817 846533827 558236897 323804069 872345903 822217843 94313543 216530513 862094763 548192131 959264913 593505455 804276835 390049449 963674063 513423033 612032589 854024549 53915679 531287991 968238309 262514945 156880033 92171569 689455927 383390605 54045311 980033023 503653579 433617119 215656427 243683643 529263803 751502745 570944291 206583625 182161061 864220707 734313827 546320599 83708333 532401071 952179707 510699481 70775171 371910451 109662011 880935563 453813085 162301551 187451771 462261359 210950907 575757547 326351905 293935957 346345375 82162427 672451221 30790735 662739227 564585139 185630539 62546105 67661509 20999925 248173243 369131833 464714361 513231977 285190249 700635321 492133279 226504831 178237919 895300977 847696933 911154289 619190701 926311383 728174463 841501243 745895025 936032181 28432303 285851563 498124747 694521109 857548857 248563533 701572965 719741773 369053485 5704571 808773619 885054965 125415967 231168853 53041197 371067381 716530479 379998147 895170007 812111481 879891969 864966773 485748921 128333811 281919685 907951843 634948521 789092641 407849267 234391375 984975231 579468297 729010053 673723327 107905053 293838067 884391813 544945925 301603181 41314165 529330047 260739511 843335267 965843821 62621513 791775545 692798455 494026239 599376195 561908913 791503405 604984981 593996627 779379725 169339661 440756195 197110759 517758217 987571117 693385449 815892725 537012261 597415205 458911719 43612923 652577703 230895511 751897453 112336895 153929375 336750381 716794189 330256529 655050217 331048219 112199075 324250821 175787809 605336729 998965715 903011131 278190003 340404715 644930445 54500375 263303115 954028379 790072255 631927305 815878501 766435899 724503467 555320649 213531455 623061475 650525651 638229649 274704355 705619641 798049027 390214699 50910369 883588903 724756303 766130403 802482319 953945243 694531347 543368465 750588815 934090901 497060341 763566481 494820169 208534419 105645537 360413899 168627245 984436255 70806537 997389741 135083125 25136591 672239595 803974317 55259935 455418427 480141899 276554441 212408565 506905605 343747637 999883911 39111557 943378903 672712191 330433783 747781673 538607973 27748417 476525741 415496449 395374183 981947619 336291017 779644405 666074017 158508561 975187951 371508149 971892701 260475711 192078673 571392697 631562989 136234535 356862881 625632835 252222635 473547215 516214817 621543259 522910201 101788037 584579475 1889743 58870209 776770009 144587083 130984759 100559863 803842475 999407641 922608119 531677843 793571103 205849441 620892213 205588121 120876703 234101253 559764193 98055955 993701345 241876341 733884083 790493715 818477791 809211047 220696875 109795763 516764897 38348569 523911061 643679509 88047985 348044753 556958715 553292131 627398499 527781471 471426107 200546513 195752403 712615383 979499761 309646233 980038439 47017945 477223049 884263163 372413449 152372617 817189937 316899395 224926319 265420441 146808545 938865089 512071829 147797563 624740441 835482579 826542079 825312305 631632419 88943577 921035897 464360383 910682253 463831871 595101975 427344051 924188595 598176885 175471925 454945381 482705009 172419061 180124025 336594097 218874225 835202883 145773775 127481087 900583973 426150889 652784489 862561085 190430147 634127481 400645575 416370913 906862155 91877773 389029289 239861225 187814789 660595911 35310877 896249821 439994373 266004947 87590263 437799625 261612063 177937247 380803157 383389251 494771957 230553643 237298843 173760619 428990831 100185589 243748723 381514469 135599421 49591945 105306449 229557731 44876761 921069753 356880629 416328985 580641153 858614623 412635743 873245379 632139837 667335261 678531551 905211563 158602463 915587485 86233861 749755165 508001279 854116883 482553777 131812337 858568957 781672121 539612935 620206469 441620737 447358351 518413937 342915005 493701627 668445857 241799845 549661449 628853155 499460865 784544927 810551647 729430651 477175753 394920099 13366589 692817097 865608475 105562427 368493739 456801183 378054435 861500991 281666101 315249621 194323217 251360715 262742513 700123915 770743839 526158657 592793215 46197415 555932817 207447629 225282565 356351197 934176433 677732837 396634927 665234339 942018513 435538245 315486263 744799675 442294091 845693169 573327831 708383147 496956803 387853749 490183769 578838723 948022495 590753191 207492235 576458783 318382293 885723423 797837505 857922971 132875999 236948423 703232473 223036131 265920381 314750341 433571899 773956195 549245755 819169171 754433239 138297943 821999531 511360873 5937695 933307325 895992935 535903181 291117331 482546527 799579665 913946573 310102587 804696781 127263573 43556281 938720929 809362269 297682915 417477681 296997601 452027185 831480181 276757785 949794837 818577969 469366993 907599003 970826469 798901519 499459773 145545261 772662397 500022847 910080269 40854921 914206615 524304645 20084635 337342903 935668591 636113001 843836233 681220607 872274123 444201529 245759235 939153657 570682617 111958543 5875385 480020353 779584721 504403531 240226917 806081975 417169329 352301333 251634445 315272205 994118781 494103901 126645687 594875955 817273509 908288477 563156599 361612325 346929951 297797139 791420263 373893419 408015723 219583815 142337961 645768911 312590987 458995083 669326441 71081445 766045201 595023543 179565527 384170891 994567443 289895787 713907247 327235107 518943021 339140109 514162353 686526553 753091975 507400657 698760361 936909861 581859789 320468911 319239273 467590079 145569081 829355363 431627851 240283309 696956295 768607353 19919795 113561787 422286333 400294209 732208647 617327359 461451883 248252883 625739199 547746003 431231013 243104013 617561423 493312219 307596041 859286427 52484671 309964293 392934017 299137771 384038933 146284675 150401143 664467509 597790565 990961877 770041443 871830905 633917641 994551483 750361157 853312641 389776867 221988933 551830431 326448093 52268127 690961603 799217283 751826403 456300269 339099605 628486279 322293173 198952009 633966175 645565895 509707325 762013747 648739723 654923243 87460135 790977145 829022159 232078113 750316527 715848169 528645095 220558621 117898963 532226911 844998613 181327393 573952477 675093693 908907497 164126707 463186395 613320175 352047541 666146525 355488103 412099557 637477655 206667961 254922721 519163803 575532847 66013157 371962483 64632081 373491055 9902149 603456777 41896021 362474631 638332491 633131357 56554101 105633141 502084585 800807409 598412941 734709885 938530719 132212493 376072897 285730347 279253877 611695551 23085879 231462483 784012279 277032673 459336485 876628243 515493693 202279443 170195909 45065677 964974051 77312701 143715161 545902639 336847377 380239119 461780009 864440107 369712757 152921345 884321161 900424705 455795525 700053333 562308819 426521393 972327231 46681745 627926123 245497737 339198633 45088263 584363193 27301663 756968019 619662031 724610863 696421965 778566801 233965255 300190537 843286711 159627329 371384731 801876871 152080459 197936077 445708729 305041015 131264061 95947295 618118489 285290919 849061383 373281201 600539517 197099187 767855729 235605373 482802411 762764863 376811139 281696269 551603507 471639281 892477589 635355245 926240177 97349761 554421059 158313269 133235329 951085731 56701549 613141889 480003983 486884383 444895299 657821177 239846791 432306107 996819001 228964811 297186533 133130573 519412747 457103277 986714345 130034859 838065853 370975965 618083481 985083065 191965595 972922401 568184773 463611491 569260345 729907913 453375495 219086235 398588021 331638185 182135233 800308311 868686705 751584289 465638679 717362591 618063513 255311639 463250171 7055481 342908835 452943863 587530279 187384571 746227341 386794937 634283033 709148987 509744279 869517789 453531163 902634591 28833103 833878887 12797499 509664143 667535753 938450917 234269779 124162813 129111651 344867439 434144003 39272165 46989887 19173025 401312947 968891015 690223051 646678435 668708499 672853809 26207483 200486179 31649181 679332145 696450057 647751767 932558733 341528803 317668987 308738301 688344049 982882731 51811359 591885405 131458837 22198001 591124999 317857857 724589331 28940071 848999823 579268613 254052043 588401353 709628251 953826691 508017891 742982489 236253785 104891937 351099599 279226975 508723901 640933329 975677895 832454769 681129731 237936645 907327431 131073573 32163055 362463423 270133915 345974561 423067275 347156867 336580307 62280461 702450991 150427231 56346311 122243227 380132471 787987179 835863447 203699335 364046659 3627843 667274793 58177683 752834245 302745871 441325105 910037639 695249773 195703933 122134821 496495417 343366137 8821059 872811333 409573247 414448749 846878625 872493211 917804351 281510165 304981337 526440439 713315425 301310341 338983613 81784815 604967895 689823643 358040993 404911079 789413533 675141241 483992165 280148227 461784245 428925835 584023791 323903287 509945895 824146825 127708075 251727415 158444553 559708523 668563603 433445513 99081073 391104887 152534563 312661103 474272389 535870523 211424353 603840255 527015789 198367111 999923675 17126669 461213019 258018683 129110697 755959867 167729035 210956665 990979431 809935345 311863359 592669999 695057981 291740769 610286017 693771665 345007579 455526271 606725473 17967067 502890611 198218767 936593533 172171919 397954757 409030297 636454771 622865533 305427223 842890347 355340465 295022519 999909945 788956319 356294057 326112409 675735169 143785237 10606547 942236871 839943371 379969397 417180083 391494193 166825853 3916847 207698897 44668935 813373833 775430011 391409603 798036933 133015395 840577115 397118751 201438259 103887879 80013205 500896907 271926363 424899071 941248699 937172143 168071825 517903449 734318885 69225789 879069043 935956905 604017907 458845683 879668451 979286285 176491019 409568141 927472397 164887855 279105313 519247579 465421671 337972537 756913835 210003883 90415021 251581923 11947499 624895451 627371237 925686891 511310823 587468875 780995671 158885273 733708401 340389861 435328153 603833017 650631455 960469147 690270345 93727905 650915413 444674667 971446345 58207409 366138935 54267985 548453959 653338063 505157049 670017373 873373237 85262697 470321041 346577823 456449555 862064755 464906047 119352623 112698145 297435247 755222541 849598259 732165869 984672865 666551307 519307987 872974413 9100761 133917455 134166595 119866459 75887595 209229755 989351867 899298173 120537141 690740855 592165503 945147485 964569569 471685749 681440215 202331889 375844505 443550891 326911001 867431283 147267477 914249433 646127517 583735147 295106195 826499719 601037251 128545955 227152091 840748041 505464315 312994863 443639865 299105651 415370417 389469547 586086405 572301223 478441059 500594429 404012571 843071309 379742355 129825743 782117859 450038229 685564619 323484183 526045513 602009721 198839195 45296209 193215943 58972471 260788129 863111745 550936409 672557015 616473725 258755571 268224389 414896363 865642969 307047099 930077275 738325195 772600425 363666999 362880367 604173463 947362533 920211273 262182623 552161079 482599185 982638877 209982549 65044059 3758263 241693739 510875643 102770043 696883367 200105259 13425033 687360729 292153791 416974371 275366207 419069051 249330655 803665759 6607583 880742707 33367793 256215157 269899453 630181783 127253481 950357311 931006121 505767691 385907135 412580065 333697797 408284341 833925239 234219209 288165815 635308163 202197019 397241259 645057837 912657969 782918075 741648513 89910109 294927935 745956981 187781011 670969541 651718387 281092713 560187753 294427499 284126047 225192385 823597019 234583519 419654745 542952369 306153731 451535413 10085251 106015089 428160071 826966283 919029319 557774149 768860497 349429899 715348177 421852023 241175319 567444831 594210589 130487641 507443413 386290625 302213097 386692677 892275471 547341419 418658239 778783389 901726863 229204391 471260655 973150923 924239725 373776449 906284943 115408451 34875397 211940497 436704897 535921277 70812665 645141875 755513965 849135613 687575861 625213775 5620677 370713933 148962543 559298835 545113277 235208189 513502885 232589621 952003161 112041387 183006999 562071219 354366817 425772279 447744339 911019027 30394723 992846477 489665453 818336357 945160121 173820955 131741379 756421181 464869507 106453345 804334711 483998393 796406185 46813981 111720695 194450563 25438683 855624729 454105525 531720901 149920657 39789099 452580977 214820409 515079693 115171627 507887659 307185689 412749911 538920443 905037873 3859247 55725117 542057861 464719129 795937991 44584279 279193533 204724669 207264185 292537353 665237661 682649153 227165025 893546105 482486565 45980435 527106727 242030999 563619425 141872615 973029113 31544347 902842465 866169529 40472397 830715781 118457667 941212363 718828321 969019681 437664295 379690413 370156413 802507513 710943801 233444401 804128235 155666667 445934505 387732851 32419207 406456211 715823281 905707993 409764331 78997853 514418325 423352845 402873405 602754423 965546655 145012741 624651311 495547609 467038497 229665789 190101747 680241475 505655925 542772601 954594379 394903615 523538429 875449925 335658363 319303707 742373155 107337077 428430417 1518323 229664347 19341927 370758181 240770979 68996637 687819197 579621587 669321941 15543791 804216933 176307651 214923771 436060501 964295313 679787747 387518027 385668327 367503039 190757289 998815685 457093949 818862259 164186643 678155313 228030969 257990267 584288169 320350243 69957319 508087143 761546357 477863919 851174487 799998231 916255763 669587127 460957539 244703341 757890205 539791715 349054895 295672983 315584441 653731 716162309 865696265 309560729 719356657 109458999 387687805 297697263 98361227 779347999 930760955 834942717 669038457 651914911 431829195 18976903 633685901 87609763 449806981 754155739 909048415 921483803 619608067 623187921 782182735 858720513 572329579 687556549 664070021 375002201 288888103 636624545 742452465 696316973 932978925 371158735 376907595 206083471 94805175 769940551 748556565 752996249 928556237 992757127 890869909 233818221 64117177 659534997 258527453 568405047 548816719 115598849 521838789 996063783 421278635 54604769 359621613 535670647 523463219 29843153 463740859 985691245 486890131 250673911 698899555 105291087 201615293 714952965 665794011 835438961 867316463 88578351 760747237 480815661 546548909 329462833 115228679 258775013 224073155 994890837 594364049 546842883 655615557 509794921 329641887 441487611 783648401 33302207 237774605 826194247 565413449 918224955 669447815 133372007 584673627 841846079 942813305 706347239 252212473 770011835 518604063 279152217 348962467 654441255 399437175 875353175 278294297 580609917 572288587 307762565 684657513 176548421 220822315 154685065 276857833 159451279 986245485 969454361 182642995 619393265 181947699 33415919 347986731 175920775 82616421 224929995 695008767 621614071 35055541 215040377 375447331 34099315 951235991 957590731 885869651 787377839 825494863 429238427 962012305 895093737 485976037 274846667 661423917 664286951 165037351 781617479 16292025 702444279 221694127 241341183 83287057 225572081 183625949 462227183 242201435 112156211 193458649 579842071 400336129 857637281 102376595 584015747 905170617 688428203 171555269 255841605 119424639 430834247 6313709 38836087 894792599 823956469 595839315 719077181 835794317 579286711 549850377 896023997 26862901 803828255 554437607 294660909 802557867 923410243 443555469 887719367 665994581 36128703 153577825 873956555 576590559 19285691 512458135 642407301 514121787 666429923 441905191 193034825 512871335 904986225 472329421 178598765 80241833 856946721 440921877 868695637 174363913 97656889 933482319 441869933 140113885 544024199 886875027 376572453 469529731 675225187 407277759 778357239 353576349 5956011 825126783 249761129 295352857 22930883 61099329 291144705 724777003 519792285 610767165 269410387 992387149 667670955 93738355 122734329 40190023 962979053 31374765 694632855 530060321 336256491 678446203 210246611 731367219 489095857 458862643 629773413 550464791 4014807 230579703 112987137 821842099 730731129 482278065 637533295 949285169 901127487 626171405 370422645 635330311 156729685 885780359 543581671 186244335 799046261 448925021 388918943 13248753 857333467 802717593 235291009 653368151 84872269 298133257 78361203 256179125 980409627 12991559 697939565 907486183 894826265 43098803 26126435 319152403 50997927 730489207 696902237 682727075 607712681 766994559 805918817 613423439 859538575 873108869 610382723 574480399 714320721 382147339 792145629 507082537 170326121 948800857 418756755 61961001 832744929 187588989 387106509 196860387 54280261 607390289 478782141 173925749 973284781 544553333 593958303 142001985 930297013 809070673 118685619 818742515 964498309 316802325 967669061 660263299 548650187 381474745 246977959 938054697 64503483 137868031 415994421 946196331 555727895 323614573 938353997 442677783 668565797 870683221 223465309 559767613 131420335 382100175 611995605 13067325 327396623 187894459 168971825 212898235 914553123 728596927 843962099 97796257 97243473 532001871 413132451 433076771 494674565 832426657 813712597 59289537 682343223 982591927 908727587 194080827 231223911 545292375 873899569 2635425 139184281 831189521 206907559 869138245 177945307 189883457 330843703 12901059 697241029 865914627 67427997 639276801 785858163 14553155 428285593 75562025 84098445 987137197 59284729 382044593 341093953 522640061 127405963 449424725 582494021 958370739 492836395 912676889 622539735 29587605 459689405 687436105 50188477 506896179 861285673 668281721 972707143 544593191 31447649 826487685 626385481 335759059 122145633 979843475 50210083 906236507 771126569 321547791 619648185 619595441 84464327 650126507 425555069 584956559 181889097 471174501 706496865 833365363 771505099 442133889 86782695 810341543 173059185 366235787 263122451 672343609 52656483 40084313 230022771 471901699 463022291 875680517 58630431 801867429 382017789 501878259 521655219 937371271 697344803 498104017 274379095 978283225 968798349 401027473 722996665 851781781 914618767 395894387 653585423 826111865 799647877 411558647 466189847 96616717 62179021 498293483 165567255 676069283 779041749 898205029 195732703 896087379 556599311 471288767 995006147 445039357 53774835 440664735 769975971 385407303 409120003 7390959 428082661 237319589 229117133 989270245 256432757 335531343 504211935 34732283 805606861 295761473 827995349 389815545 251660777 671049287 597505363 536185577 489446477 929137137 499796225 160779807 201083149 461524375 388079761 895851575 405953979 1476185 420533951 125126679 734071925 445082397 506728781 500653289 670027491 313932183 617273859 197783331 871374131 950436157 577251255 424893825 977374491 187061327 575088959 222664711 296173785 236987095 707001985 596254977 871485493 782293413 766587237 858735621 768266107 701323599 774635741 656356075 788907137 322859833 95098853 387887835 251875239 135987847 138863743 206387521 52050131 304266029 414867635 949706447 764990577 953824479 647412119 385478277 272228475 598852131 42782785 137929379 416735595 658061115 58745559 678943671 581138763 708097341 908601217 749686167 314044585 795557629 658104179 485671005 543877017 889117213 787878885 659895149 122073785 224846341 256619289 7575669 786975281 118024423 293800285 852377193 852592303 449781431 820937215 159442051 642010217 812070969 426374237 120910667 761884191 773515765 696357079 120208777 189502995 755961145 257357783 557913429 35372311 931821343 271122127 404232457 436405119 802665351 470697787 51753547 493321259 494941209 511638941 302547717 535196033 466822981 308500605 312289389 814424175 707801411 676842353 939308543 713384297 915488533 240755215 487747199 129215345 630867841 560490749 551532793 889304331 713192473 741538019 747044289 363509063 23405621 122505589 903471987 505844409 313226229 193801835 247391733 408328319 476474687 439573129 259959155 401342273 528069319 417831063 647926111 663104557 789077251 660854379 373564279 86603259 154286389 390211035 852889791 274758629 836944483 14924237 791531139 304516789 751954015 509813545 439457625 929206197 469647551 971465187 285900313 787746241 745794535 430775795 495906029 641414707 568028667 479968861 930050619 139520499 842938863 156737577 663872445 982339181 682270841 97284461 297226091 72338587 267471129 425351743 612970125 22283257 623610649 227342277 896340651 945916813 749086857 717594407 970815133 157527271 894305087 91382937 118782845 672258329 400253917 533687379 954455471 1241031 237591245 79274393 410134497 331976723 301716283 18338229 355708423 730581423 181086755 801111799 600100957 610506189 74447683 822906301 602738789 748643373 979773987 127467879 89503727 945386519 243719447 727742303 797417997 221870423 414501427 408834071 415442459 836506947 601974361 269922829 990755007 341317563 869519409 459444413 636167395 463556133 729347371 325643191 112332991 832572015 751570049 162159499 499086027 87550479 2578481 171238609 368938699 726292739 142240771 535674159 336014031 130641617 267459721 729499727 882031659 488158599 691523611 363323615 587604087 203205309 810536409 247205277 188207771 652740753 20679851 962304075 447933379 539670185 122952257 104161971 742318689 363825969 46928915 95828391 444705077 764751329 995218531 931622399 327574079 878877433 362844471 322072993 878085581 937278523 449972577 789460085 590966645 772248057 288370551 527788911 316935439 521097225 931538141 268435847 893657541 500717767 604287161 397812929 609574655 182731803 96671993 523356967 304446833 747169907 187023193 686194123 622366747 85139397 248382553 773500357 246004541 940868751 686737471 255841595 460623207 195179223 452044317 937801815 920235115 181246251 700350665 448135239 997910117 847222691 754044389 390061131 884758201 51025629 97842907 57929377 416507671 219109119 627775959 876817299 94898287 442810549 92079829 859230327 861026301 672423991 148018835 425249957 592133705 164954181 320617371 351092863 589480989 430422819 529427261 581122159 72057229 170850207 632176783 292977129 749166325 474162191 352771955 103957605 689655291 836148053 545866641 145327719 984426635 533314003 34203483 367500409 858615255 653466231 662765317 534499885 394766173 957595579 678838675 759045405 705853921 92693147 450182605 760503787 292640367 441695135 285591361 508218177 840685917 997687249 500119369 175541971 776804163 793128907 16057349 255981145 951856649 820011179 207139165 468462743 887232987 427772183 308480513 477770327 575534637 721861691 622495337 797934443 188435641 368885969 639100887 533169579 946390149 540305939 887643987 699069949 911163615 101756619 137040043 554205003 259441239 36975685 809404791 330968453 612927949 173011289 46056987 460172965 369974629 936936803 550521021 907676079 236043657 498100043 286293581 110477741 632785903 607788671 769809795 503642289 401870481 315983861 890660321 266880725 936934583 339203371 591819437 966832443 61329387 504472873 344459767 534881549 317034753 144487289 883552155 918803583 583497493 880704821 41315381 185127881 185226381 112076283 47688241 131349039 176415251 578909425 479962813 432328443 249060765 666427331 509145809 628682367 814948711 72709035 783747629 279197973 459818741 522733155 193015899 755140639 592517651 425857845 609703339 949125383 804674005 852465647 833831475 180100161 504250263 261766115 282112725 788260935 237780481 904030453 33383481 853788313 227674617 871256199 397646289 455154883 949309879 504458889 842890451 392504151 671749561 109803121 376891711 508303087 200704447 626518077 184399071 927132461 280872407 160455027 634496577 488129979 430401879 143779363 319613887 791571789 737249239 640543713 283280505 195122843 305401409 95017165 75148631 828889451 109755325 729664141 516631049 797944195 506744511 217541455 734334985 582482869 845286919 256889031 301890965 398808287 485862293 784824119 766562485 384692963 687770553 423459427 890378299 163815335 217859075 148284057 94826687 881097761 511116373 650575281 353393057 239178057 161921485 961702407 514776073 238802725 923747291 246953347 420542951 469067195 839649075 677576339 626397427 53298719 781084369 437527343 654123439 949228907 586171129 771463633 658957921 898817985 593162293 838523521 566384155 68462411 41851999 615364047 840606133 651238205 812774285 855433167 135532751 462862545 262685991 66325281 977859279 668282951 358672599 893295595 775650281 86573547 402612115 439684315 937131539 612280591 534491799 358732837 606233615 501609741 211262567 235981451 24917603 207212615 593717713 86025809 746926687 165360937 854158565 269869637 151943967 577620771 729655299 957379263 265010303 760747951 304356045 267206813 184604203 582846289 519209263 880235075 557564559 783050389 242119777 600092833 958388711 949938953 490976731 268006445 688306993 38507593 766206053 732507623 981473079 935033079 326171911 232095825 371529609 225300413 880445975 26111101 768355197 209312335 343568435 719822079 580517685 614765671 990806847 521038071 121617049 853003461 195731813 909084939 664793179 353614901 929519643 902295145 29865199 34791049 664650523 210810823 864074649 201575835 387386221 840226401 5858145 509603407 805149273 511119105 423870997 449399179 97361015 194052853 640977743 738107205 79820963 966863633 794786159 781672823 783962877 292291251 789450909 502663969 891217911 367129285 628695497 712430927 135133505 205960369 948132781 312366611 461086935 859017583 459149255 839831433 34381825 879805053 765902175 485197519 437400649 98853603 68374151 416758547 546939523 611079725 226504983 990818437 971099597 502743921 863632815 986543455 436487305 624867919 206574775 263495399 960508773 524361709 666339677 480005731 973411923 521677305 802035871 651691047 771527569 560162217 506589751 177982605 298659491 800654011 744678833 35640055 969763157 67891317 570777949 313176785 277101757 271194277 390366547 295039627 959277621 883316899 533988977 170043041 344602209 273112141 956850019 592687763 847211055 547692807 968342935 539122669 104604113 30635203 890316357 223716673 327760327 281608435 506431341 223103275 976933329 104338327 262819033 267038025 261150719 301479991 196731673 291881289 961573281 804471007 181254275 405158875 157170777 315293989 48584249 314474427 511931653 982566699 292028197 67644585 54251221 212308113 533582579 652264049 511066173 149493643 177071391 588511205 807487993 782432717 511815143 775067103 817481227 207293333 741295957 55056963 823461059 395645097 567418935 713405689 604158899 605810009 285960999 475687155 160620217 618752377 459878789 405741869 839057141 891233639 631025787 614629799 660062681 332853517 238003189 438772333 388935701 980329685 520914861 313366673 717651111 487060665 996084773 813020975 593060819 642634035 154004389 55153765 692095013 557061197 833537851 941375585 77323121 248113811 852108225 317771859 991448533 474066459 314546391 645361527 970756275 130017671 881455077 831156237 737482169 955386617 776894235 911819875 973529049 184475423 288328817 458002887 869810771 778006579 591228073 883983765 159649703 537349873 132652105 578129455 996989603 383431583 78239395 908098049 925880157 737570573 115941583 203819131 797632559 516083599 20746413 9272601 744339133 783795205 609286627 857906781 703005429 128099539 764710629 324789967 893533707 693674731 913324521 15819779 473466745 269299391 464455153 521220501 677329927 912642897 757102019 142982179 383908031 330205989 540196593 497269339 447307251 16321865 410952913 300863981 296703045 200228947 820042629 79021205 315284883 43515749 689992439 998483733 313567759 464171809 278448085 188839989 643579689 962972855 512919189 627171785 503873693 436985051 445617277 772659117 589462387 208436945 980838033 272006847 762329333 432833369 658929825 38149101 482496951 690188741 748361287 128391975 318023831 337759977 364670437 543331945 968329143 385416741 157633951 132175541 146579843 172815453 115357287 698053907 909193139 592382211 144298231 861839255 801384511 364995337 355583181 136896605 565173357 117298161 622264627 123213955 421226953 651737277 936012343 612952887 629512487 631642881 486197683 661209769 804225445 470465485 470422599 736718101 811059621 692998853 627934299 843187645 405675989 200012043 897902367 279700457 939951657 490281039 460343181 961541615 211195611 296084423 780832099 155767845 866618739 797407537 298766889 274266097 585038777 556292051 831539761 856537787 841533125 634342781 276436883 606159605 232629233 596952451 733080367 32599323 205064161 987011525 675810731 324815021 72024963 451477417 701489275 366186297 724694795 312197403 498601687 291114829 293713141 655208341 695291067 986713479 161577733 805010193 208014837 477526405 628861765 389625625 114966799 395462389 362211597 198986683 657879655 755387017 139450873 697975433 361752347 292420857 351959785 99086247 568208913 938939399 430792975 432955063 788522749 838634881 993777883 789013993 795082581 673084469 93396747 971363059 453073753 666623745 131189155 550521875 613681427 782645187 723912943 340405009 691048787 668760681 593866883 816947255 291607727 831901669 8529469 219589473 245422219 836655407 200883519 868139753 312910347 75899977 509890295 212858549 676326179 195967297 834474007 282356535 374183303 279034661 767785373 273640033 98781117 225939219 433175501 859189429 605658631 809240361 4522293 150259255 491523963 295586709 711379877 555167093 464375021 855782793 757254461 182388871 36684799 204571709 216515937 236123147 790268953 579310581 807391673 263522341 532548461 678793977 234073407 732859269 3190255 962055839 138195245 829295201 373177955 498127421 469247493 585978231 204948817 204234297 603458199 294299407 110022663 155423483 570437365 301516789 52927903 737568245 175178107 482665599 437326841 737146531 888557005 935830925 983125693 3945351 262978011 43017605 360575579 782283563 933281493 167351637 990286603 500052255 399198775 270444401 112984527 738477825 496296649 828544731 675538797 101315951 156683157 978405911 534968695 717451033 443170031 318677043 838138693 434464683 928461685 440952263 21740791 144913635 104747273 113319921 107307123 429533059 830475735 354922325 696548973 883510867 432723285 164755747 289309531 318054185 846179135 985331729 755222143 551070173 107251355 582175071 718782175 188413263 21561009 520705999 754362445 150881389 496130071 119482547 239480415 215011625 300986795 815744737 824117113 631721339 654318479 97058741 441750463 210048615 663544369 393542167 106313765 910094071 262432067 495827827 780126049 378699579 878270149 720480451 956925171 777816913 911115767 119689091 473736741 999336537 69048425 737838265 7201543 1127293 983309035 381780467 429977455 872531183 195788957 999219273 210947071 401091307 690505699 142089049 480977697 356353715 326352231 41303111 658266113 895240081 521048863 388098243 840695195 478530517 4308805 505543685 779799469 717117917 420878689 990166983 313531839 347014409 213438781 107396947 219557925 63915715 616548845 821649013 648564467 383907199 767715021 342491779 787902219 141839797 683227267 367881053 181311253 766969065 378166265 944098409 414276225 334845091 244727141 264141717 758224009 537377145 696032067 694759511 302134571 319301635 377714007 106279597 405514287 129756643 695072173 783295005 176432679 510685891 438872473 599661749 855882603 60657493 156383929 141339661 532659483 255151191 981012975 831219779 576753183 189486471 398133351 179582715 120681511 686187695 105113241 788371559 673018539 292669093 663389501 308779577 160187885 768030785 26979417 113916593 486527475 743401829 239177787 558138263 345922959 100465659 813181043 366175543 359062359 376419061 747055329 760503657 731906735 6336337 783884967 895214217 415065277 771028237 464428851 601879167 968569711 482782771 720124217 284735417 526234753 779851737 848445363 890229803 951876211 507037463 482468073 159829591 693304715 133726735 386785635 599303235 12800219 266992875 677298425 813087353 122844473 110220511 412184517 350936851 144293959 855572771 708298541 93075631 590766447 450812923 352881883 659616625 297709789 691482033 170821061 762421259 706368653 458738581 961900839 174263983 438622525 7423237 681832837 169994783 998210935 124240993 347170217 740923549 423251595 291427859 579982765 532340475 978272143 153766287 665611751 542065551 616864357 58892365 416235007 586617653 254543029 720610001 4960735 232042581 53448945 300658085 562583743 516434909 27133261 511045723 164572183 522895939 356100301 507845773 412187821 220128389 540079673 474621661 87402893 600794409 195968799 787489781 579245323 906331455 963050713 643545993 472076229 641406299 38897543 167627601 859568029 197853341 874457361 406282769 815889089 425972139 811217959 776721043 120755875 560358833 251319105 277393577 634039043 385557863 140624801 340740141 525854945 820074509 48791631 869857793 822044555 251411047 18547481 305322767 147581847 748270531 707983767 18515787 850634719 444318457 46944301 331151021 833841287 860582757 674970369 328826937 933925373 450177519 66496771 528785657 753945077 137438725 772197611 696433919 79191147 44969117 155988027 890651237 212112033 756763445 426508857 239894605 907765799 26223827 208319221 907010529 237222863 760547591 890924619 523996501 447954101 306204389 480000729 624252129 58715967 641714189 599621381 596282315 127250455 715723173 365999107 529994071 898383157 164505433 144294089 780128221 63742671 987316323 371648279 44859317 898390127 238781565 73724535 626148417 288737759 451886321 719400249 398653677 179339827 274508683 619312499 496538665 916671689 951024035 174033927 301675119 922780739 299531029 129990045 123178819 63046031 209911627 688016295 429357103 61025503 193178159 475580763 263757253 140839601 858117433 380457145 87560351 398504649 818895463 306578315 332444767 462667573 244655423 752612447 857682607 857749317 481638353 7640975 778329667 731821721 931584945 437357115 675379157 64442899 238735615 646391115 804956453 56003297 763550049 414820975 433399295 734439287 302128387 561122081 91475253 349530767 650407327 543266719 471066017 554417713 177645425 67983345 582425381 57856677 752120893 842097897 434668459 637357955 331229783 248457503 304557607 129004197 141583249 585720307 888482707 215267121 597160521 328176781 626107887 156369041 626740839 632557789 28135751 159823227 378857561 161675931 524586669 536156905 892923413 171462729 482800443 336267555 66070555 282564141 949771539 446410419 638956141 846066521 80706145 439337837 73103773 58164389 155067475 539984749 513889727 704233905 471062057 604010009 690443635 885332963 443846689 997870365 687946463 713782639 771226247 82227563 264132783 636895307 69066413 861984833 638221085 977970489 3562477 950548515 32062693 984761535 334410921 982646237 100576845 824302637 157305677 828352387 92901411 921862303 923579209 671568755 362997439 177321457 66781209 456170831 290659071 318076367 126375997 76793093 396580679 417283237 224834625 262289351 609874055 397773487 952963511 965815573 869892405 629802219 445657145 533974959 439294031 579492387 995613289 637391523 776075357 887320039 595816179 937988679 406601323 825699725 227611015 170159413 123358991 779368247 428881887 340786513 778418537 397166285 178663105 49135817 994123807 150043905 673705715 73558801 926835807 527795271 623654985 179044837 100817117 372906981 581685917 829620295 725378779 977167069 414605521 754023815 324630301 993415427 518480337 998174775 995368691 352860655 438673805 120973107 670745905 21792257 23296511 8632481 662861621 444589921 448667181 150393579 586457063 737453825 113138973 812389831 941163191 753014165 827234531 100461873 750255255 830864545 60562329 270645357 860992263 234288491 620240993 54557447 26904335 809873925 403883623 161195987 279871547 437002311 762815451 554703855 602318753 966182097 567258361 648639419 952790241 354719755 613295873 872651241 474393889 895267107 724818751 685130857 442003471 767617303 461604869 90595195 892728545 120253857 778922413 36376735 117514067 428147277 671675291 365557667 511196849 540148587 250628917 128528283 697376451 197033235 9091825 483333605 827346659 61886499 363054409 798396707 159026927 612994887 195282365 73717827 836149835 850067949 903064539 899869561 69215975 951830861 69831729 815498047 715566139 790052199 606248283 378281821 726217281 617995269 451340539 833335259 776957571 661548983 224266429 486336017 121837837 729714899 381787985 288417689 356758901 296915067 464846707 708135769 293760475 550287257 848184547 624093819 788513765 71552985 24122221 922096501 208297921 745686711 892419045 933901057 716128037 847512689 735190305 263856423 855906895 201221393 201848069 620621873 397282053 765358437 117441917 172637107 103230869 307190791 238613369 138609033 785410521 57503321 332999669 161742553 801488937 117561727 455489777 518230797 108481649 761329003 999971449 656828125 901611291 780005845 828855201 637985089 609467423 367951167 17713535 901782655 302235133 742857713 844745271 630358819 57044663 195106553 948624885 372609281 478673121 106323249 431919081 733782071 848425099 778569785 731541327 211642407 791574103 881694585 992610921 767645309 904563307 707824929 538135423 495162417 671006069 49207593 852639205 231192699 578893739 517611091 405798133 878109665 186054603 21105957 949459219 615450417 111232539 165084401 512635047 408758395 540342123 348982991 457644835 827110943 556659727 431492255 361402371 859107265 837517031 152959495 287340999 455826251 779494999 942908283 305623803 354809329 639042385 31129905 839384883 870845747 788632647 756397611 436441605 710650321 571318331 217819951 773655573 849213147 324923311 78929871 239692815 710652579 316984757 900605793 296092581 556115397 602417379 76923399 488517261 409201191 9442389 156815275 783320463 960073715 539822771 635961083 169428849 756772511 952711467 460936301 884205575 263448551 817270899 181316935 43260717 544970447 82979785 235166861 288534465 707571875 682016245 497512463 503699121 288999927 652343873 388506471 572036589 814995879 833561991 13029623 307703153 411409881 582108453 53825251 537600575 805448953 89254913 324480541 39006559 537154745 704587655 660931423 270523623 399505687 891131057 495114279 381031149 817239383 348036345 684264895 761809559 507327749 44756841 128793653 132710667 265191159 175131021 462672739 34520705 768561223 860188285 155349993 189934383 694011737 910385109 860160559 157067351 28205787 449781951 114553701 358057287 4292799 515330277 814024325 176432205 717017413 135721855 814005581 537873349 883941869 951192139 52101445 461542163 399891079 181501071 535389375 98933663 683140131 748354587 354270675 455758811 640654369 908676163 496571745 95310403 855478053 645858023 378028559 493506137 478082585 352530283 102490449 46422949 398391091 424709569 93473887 991192765 267451117 10070365 265413941 748769335 31529231 394420795 250866593 851030457 469871523 77664741 435079725 735738091 821567997 750829159 525415735 703879295 769812921 159000409 87486941 172268849 748960701 811489497 717273861 30142147 853008691 210680459 485807203 662255357 498773137 817896607 777571181 125263539 198923923 697990347 612819555 377995969 675864893 124930893 395006799 391172359 856881883 183408107 756059393 590682989 864251139 344509173 616655375 569522923 308203917 577696831 605221853 389586551 251202977 768712745 393625487 90437141 491914923 920316057 254220057 493656525 496593245 170646013 947343919 486465203 500945591 752409673 787218775 374001123 305598201 565256703 740422867 465107325 676384433 53310243 899170745 710582699 182179253 965106243 639360221 869600671 417102367 3887479 234777569 585709205 40488275 542489949 581825069 590393551 47576319 600133145 611277811 59497109 478571031 379626075 393018151 536155965 181202389 586054745 629465741 830608413 917831361 549163729 319931053 391461787 839883171 725721099 573233877 385190943 384629907 232697043 30773279 832812829 895298027 206417791 627123819 820579853 524331857 528084207 523636065 166898033 69427375 128066953 894313329 903695831 851361083 937867833 811279059 389708493 26250353 48613241 963464329 121318897 821675285 263135813 954763609 437594595 296344627 710123811 336564949 52327757 690817567 960859937 668657237 634560481 403812725 446224599 750613497 875085147 956079643 256309091 470322599 444644989 859286589 896064361 126856723 145126929 205226829 460914713 750009267 911848935 79910665 933368873 957683145 831417309 776555637 991155417 48810843 75976403 642394845 719312619 274412603 892707763 241290455 474335665 934143487 523029615 627002171 554561535 450174219 633009923 724463667 651071287 61419907 391663729 521476645 538630201 608974427 830820803 947518155 897535609 938104393 704429321 24023581 96097003 7315149 443931745 715315555 566559501 339799345 644609259 444193317 525087717 236202885 132194769 979061051 73418497 386842015 681940295 914251199 866268537 647298081 789591429 808850965 971476715 227161973 113799119 838749931 828305019 518771399 465670509 359152181 61899737 669515539 835115701 866839087 503432251 218422295 157260797 948799067 138795361 55397725 212654251 426401417 600942221 996230963 888801831 511773643 997903761 199479219 968540901 382948733 235619779 329499581 655589725 329121349 473413375 957116409 195175699 763487503 272543917 462678999 718458257 643294221 36209339 412350097 293352807 754037181 528620701 877017125 265621811 992620513 242675285 352858203 793396373 395154057 76285799 922059717 665978167 201942793 682371043 161732795 584437709 600234233 142549853 650889309 914043663 952714561 690307573 352355219 719861953 613311757 559965007 678942221 658100909 565747919 543206299 872339779 928160163 636917575 661237393 885005687 905262721 811799157 444277355 583576239 119493927 567733415 41368819 80984509 565372799 759760755 971416181 214285623 166414973 212642481 936572615 800776833 984149785 391168395 662665803 893646017 241432919 721066345 827615971 4885477 831465281 312603903 577763069 664318889 188519911 753807693 174727315 840291981 82084455 345029779 864567329 965940951 414864609 792901473 350875565 201892761 124796799 313134985 602118087 892852137 635008373 833945383 322946691 866248361 319751163 229281695 411637889 694580227 337329493 932927649 846900197 391049187 750010829 90578717 159328609 13828677 614956213 935501391 763820327 640539623 863182181 332339391 121773047 939385683 749593667 942063927 87629337 350575065 739207609 320182731 252339289 283460751 774956341 929981143 388448527 168074583 240521271 552432641 506321687 440152025 147267389 306586421 210390233 392112775 496049363 94004645 333533507 287890325 753767049 381015247 592011467 703094279 59792381 76466551 585646191 664281765 992927183 271195305 978095797 811131645 317564073 360870587 61469357 114541673 916842047 487462981 596132075 254955785 873727049 133354801 189638287 268985029 266246539 647635877 478590013 936215629 630616271 475182875 425966887 528790553 969178087 890724683 361016831 180655467 620678829 881540923 810355207 959011147 728876035 629121081 424047107 772446599 125039315 456561879 478655297 414848439 464205073 30475761 799051415 458462783 983287477 130870699 173707623 690822981 243796165 851914867 456239251 947547577 239921733 793741309 671992715 323504723 344636749 911480387 55755077 31455893 26756597 116074125 957453119 489210821 256523615 412389989 288966783 898945011 470001847 233445023 974577301 892981499 816542763 825879639 639947925 147604347 51354619 596355059 316494367 181320665 788520805 310228509 429453911 657402697 112582069 352751307 72511727 357683393 757062973 721542713 75293465 632060929 861334613 589261803 922371735 93822611 287484005 590674349 900475053 986941127 705009361 493365395 108712233 496780979 995837967 54687739 680690019 226528569 598778007 604509319 156861239 317680387 656322541 468837155 360690189 744401789 124721051 632135175 721278931 555322851 87905331 473572779 248964095 809271347 345444943 456080853 242770065 755304503 437615505 563113617 106093835 275073149 635391909 304951093 852132223 122462559 171545403 793298777 874262913 182994941 605335821 816177127 90771249 164334911 73092831 144686087 608252981 547017429 240344699 793488941 501884601 782494777 277190835 561561369 904045175 705094569 219621985 32008395 536565161 315544877 141737319 33971603 15349785 1235353 849857969 365336833 743371797 793183615 514303023 616028407 93110639 321853509 71558619 339758739 269091979 857813265 705162425 909037893 809723211 132381139 534578899 391000513 136673823 126834755 44062523 223628547 704133373 34943715 419937035 498048847 122844771 715433977 835581029 78087985 665674841 333073559 636784501 651098237 311529835 39454101 442520427 998457679 381205423 110877843 557339521 587487501 890402245 662811383 32904187 459941729 170312659 990289141 813217573 60041537 752060037 281584771 301805643 547088875 628221461 453052515 135746767 106204639 277016383 372128027 111866637 867679723 195662921 904716283 157816689 810101795 943813633 397389855 907243887 806372581 222954687 323865955 164986497 194083795 589314911 988211571 797525799 984777435 589425227 312004795 357562349 436306223 975646317 555721591 346577509 442152525 114582077 823612071 259431465 185227515 291911353 167336207 803725275 767031361 988200553 997667397 384358951 293919863 587038809 409184157 234704573 761489975 474695967 628719929 277902681 312335717 691006939 260271361 787750587 295616047 756204851 12989351 523769775 303557641 255392339 946462623 505642503 599676077 433960437 204471855 293513117 615449379 984218453 93944921 446286675 559740085 956428089 826252785 617975317 336602613 585934575 340394127 875475923 379626437 4505423 917328531 592727689 963793987 228640695 181776933 735839543 590666209 647885579 332278839 986360041 455526991 304423611 580547965 553285553 760449931 872622015 526216571 677764009 602212055 915256209 726672759 363114483 61038019 947192635 270171011 739304379 48816419 132471879 421771639 805943089 697633807 851763665 47640563 357574289 372629231 157842803 233443167 323305243 628798575 724755541 415910635 419791899 489946753 390072357 286302607 458463203 274934115 454120471 450224907 570682575 605065369 165879277 958185707 918685757 39525871 973669611 488664953 39109019 237834875 577498849 94994131 155717977 549330839 920303907 549236181 47443953 977676775 174055311 553127723 599703785 732351577 766269839 295352387 79734215 803004703 261054733 125296725 135467295 43820729 782807937 813650273 233841547 587539687 389432043 696935729 232150191 366090169 621828301 443077205 54113329 129001087 448915257 495854883 159879367 183984859 794189765 317198525 558161707 276662699 726944397 988001805 654485789 959530527 50951481 151241407 385224811 694026411 271705591 704085583 395546083 5467147 546569853 39137531 432537185 538403907 36771593 325765325 631654343 836220829 732282721 113894035 470354945 98002353 341192147 730119911 198578687 932995163 912344119 720837931 953206973 415245501 567504107 763768963 567596093 299132995 498015699 151108321 821403783 196010403 994606433 255753213 401094319 908639705 50573191 351732825 122636239 701237033 925966023 360582205 646498827 810334239 356640547 507794103 679736713 881963663 457203501 746582689 115931009 275829399 756115707 92355483 660661031 785095577 783553321 885411085 922543811 674241859 98555359 476007719 679565979 975453319 751872971 872086497 116830723 728531621 997511971 604690941 959679063 853439517 360638117 6605313 44484597 263274429 419153047 619508031 791832907 189092763 974088649 70300879 450653129 708551697 11857551 897944721 475222251 320363203 856320969 867897387 524680497 973031839 489206235 284771345 271430953 409918937 327199157 494740601 223142497 878810859 83732943 868173925 475357813 238443933 88640803 908305051 720403465 188414713 542283835 487956141 921080773 503608145 178031139 849495025 637462875 480146759 548498291 7422091 149268615 535949497 195499335 167056479 497292297 474578393 190525511 291409441 879190701 636719127 448943009 227866181 808622151 529996591 999401483 26987537 729099437 525039145 859705027 504691849 256154309 54211663 991007375 385291645 236863349 424249397 928649919 747566215 125012661 490286777 601208871 683334153 931467899 886351869 525441575 968412199 526547913 130948717 561483685 150592467 418121645 343047105 402754573 548307911 801931317 569335281 633875545 537098625 300774781 257212995 935773187 141120075 208135849 989273667 25934869 336443443 493834977 416752837 653072923 867365139 17480279 903913191 267493165 682769291 640208199 861174539 491630311 200190467 568613617 980960223 648865905 665038251 237776547 964401495 341705081 169002365 104529067 170461613 834512181 763049271 175490407 424499305 816465763 754188897 125630005 988517715 937990987 306033997 180532867 214739331 822378681 157829139 742385857 742604883 582400771 644479891 461643115 714875495 256870409 371244149 227155971 162911405 590105903 209270311 856011793 813369689 509937767 450133991 803502635 253718247 964867363 575693231 665769703 342974235 350512485 510216013 301599723 408887295 2637489 780299595 447717599 763222251 514516245 395490823 294167669 557286779 44743721 160567967 482276713 781310097 284614153 844382201 806370173 948400985 595242077 778224073 987362937 358505033 495557459 950109061 864991539 872934941 522797219 839353197 403024001 743235289 72241799 134300043 420170825 906149065 392807623 370098863 200632435 925894017 450555315 989130095 960125937 518267103 39997215 116292911 489134015 26621445 509138283 3019539 641168351 425446497 516682877 791831823 648860761 374198437 920699073 628490967 43632195 858630095 986093617 99048177 724026035 723700259 301848905 818154399 355631567 738691119 485068303 516349943 775172031 251777475 186704657 65836749 754143669 750183167 249024615 869323715 449006317 881416007 927836845 186743361 719941545 493139525 562690061 711587961 518019123 157178093 946588977 536792159 528667611 294280831 724046417 978159799 282441727 338142587 860937259 836605449 729536253 315342513 701139205 642922403 420006211 121816627 203901871 913798815 634036291 521454685 990525055 669999837 201055093 841855701 580365905 375595013 914444637 910527877 818055051 277174919 349300355 498637219 182646559 761087131 874480253 779585195 10897793 485720387 90628321 597192031 74257839 628383045 293614165 478970575 144554543 628865587 53201793 213916493 567136783 535670117 113016345 719047543 747250151 341027067 186454485 466639663 100885203 916528347 181329783 96338593 75073917 760277433 200435661 581046595 331363599 732865035 53754535 185130195 427923009 33252627 365262301 777472081 45946449 9465815 903851093 5211403 332840967 503920681 654855415 71649685 653177519 365856671 649112503 496194253 432249119 967098525 199122061 873542357 308225719 270069063 633250427 857285659 467815517 15314065 409586319 597456465 187784063 790816049 579042009 577003895 548159761 933977255 298890097 494515917 109605013 717276733 282450301 805614051 472315663 351015427 873084965 898021257 554709519 360479183 185218973 810422495 253735593 125361219 186776605 627941449 157033595 332732873 102258409 32911985 608607919 629584781 353471817 650434381 885481199 914687115 997002643 172420887 975737971 356387969 962795551 437919575 194029819 782809337 944599631 884638167 151987657 921323073 927031181 684871083 275366575 616130675 689144907 469290543 749011203 24266351 210776837 951920137 818456225 666052829 636923709 959674915 506729713 334978861 422405757 691941555 184360415 582654617 458312023 842218549 222528741 767106847 492515939 257476205 876165119 773211783 290044743 315614567 638556851 164968291 242087851 805681271 873547537 770488331 234509379 467458363 471588525 455637919 346595271 388624021 173019045 848236295 178436091 283606963 752210851 760107507 928167081 949827847 267407057 987548123 694270625 557001039 879141607 761829633 746688193 278128271 84594213 925917035 167105257 175767317 858638415 158510059 73618179 806328433 97638835 968759063 879440899 266519171 276399143 561734227 637631713 912834669 538485771 793570501 977271713 882668445 483612997 139372635 730460749 570347207 168307267 676077265 224847351 261424357 326767355 638961319 26147255 443341375 951535595 969998371 787391411 612552541 54738201 784503383 662478869 207886359 371050261 686407193 376570891 967264391 183773171 246470923 70115027 957190163 123571283 125167767 668197039 502551653 256393817 145552617 655157737 554134131 557032629 641538557 833957843 308289913 492084639 851509395 30133191 534750715 289150417 871322415 338909223 449955525 447789973 279042855 278190429 884300267 226480055 435277711 934241501 780547529 105726095 764738633 9284639 91604997 126703353 422068477 689060775 616656009 906133341 139716637 579022847 926276237 341305001 864513501 731080889 892638089 118911315 139640641 936365933 311354435 660571737 683143441 809511617 352470983 933182017 761581275 294895455 798912105 509983771 975301113 86167285 502935239 2511995 804901003 826604355 746991811 768507009 442243193 53298951 602737803 207790289 444889203 268295949 904612241 47253661 906019059 544168741 539181461 801509015 602635061 497957677 100061591 124684799 210803271 32044549 563954917 531524509 752347125 642469017 592130069 228317373 41704919 140219095 163540481 674300471 84137553 52407999 128777423 811794791 672194441 790702415 113254121 929960759 602877039 324489107 279799811 193696527 468406715 321595291 142283293 406864875 811241711 771549061 886683769 798562121 694506833 324916337 469619873 867417643 792541427 815312267 664754541 579162147 236144043 410836739 151985655 750798405 741591069 133893395 808069797 393980977 538795693 859739903 801895971 575474955 980909199 812972561 563412579 583306373 276836025 445500571 54488481 417758161 351188203 437505271 724488549 582042801 231775407 761414791 124891513 898616937 640293461 533458101 248015603 100966599 553842163 186332149 794707755 273818915 416965739 779687617 426066121 936048985 766086247 576275097 91947193 81942737 326712147 956600073 636480813 364468089 61402219 953426081 668234915 95606983 583597997 243629055 237381855 979602617 310479075 107637445 60537839 544544471 452440731 628735129 816511267 442849067 294923055 40867889 751394331 23778641 921185215 936874053 965532601 354904931 60440371 898565785 446325035 274914567 934958395 7428855 149760229 285055599 639567185 541150257 912324513 493922637 499149235 919191329 445439335 316339171 131873897 779384745 527102591 265711093 871143495 717923765 67866753 903416785 271864799 183474229 534049095 423728463 865761431 933712931 372984823 473675981 438123413 54276483 394486779 368356911 853766345 628808287 261763593 851930597 6740973 214823369 946339101 70385637 209131901 477051611 989690745 128688301 823947205 5148601 421776813 523521605 382521301 538149513 656247179 512205111 280639621 388313729 362582321 6556063 322289525 419279067 73301503 663442967 496495627 626294743 99831207 336472773 681134715 934918593 966726937 306321499 88213179 116059115 134341523 269146381 899022733 576917935 968814489 120086935 495094647 121655663 25125367 417823811 476457417 631202199 31311553 846894559 867089311 545543063 791443029 629665983 642848981 715290345 230041173 532824001 223936279 459029009 30766767 896545101 160419537 97030553 725961877 233438803 81906239 949898515 358464903 785213253 689556577 420414489 323590213 512525603 734013947 23404367 274759133 347671155 33586851 86869339 253065893 366034501 60161965 219788787 797530935 888842543 440073019 134797521 930443639 240982093 402714933 275145397 565502355 227557959 604979789 901563499 124546815 36523081 898770169 241055173 327363959 716486925 929838713 710301341 430459389 631309775 317468629 581725143 283028449 899268949 275992799 957895257 808841653 35227885 517339439 401079321 88028757 925877103 275882277 314699025 936265191 685877817 775641321 331468353 224698581 435407919 248395117 813724853 301721813 456969409 245213541 64377983 504727011 925789925 420279893 907405753 198542147 328027675 448084867 663163783 351260289 84621157 663676161 475757327 219040881 671018069 896010407 675230855 244666417 521856513 823548693 15911465 267682339 377972741 579716787 664815925 724600563 481520521 25837233 308384505 287892631 840154681 964969479 878980547 471066957 624941903 43471477 672209903 34986645 715054727 792614791 798938847 567017533 112872231 464425351 702733823 935455065 436293375 351723667 722607551 24640839 814412131 144238471 622815899 624514729 949056561 75535119 49511955 290142317 96403667 423843993 724606387 497403079 522119987 210130269 449736205 241210417 407176905 727685467 247424443 579234931 406526869 99672669 483497569 268452757 336380185 312522995 828133287 104903919 333029735 889360243 329726527 323772955 311442453 510425855 845786851 811347967 764740927 207463553 812067673 140120517 199669901 974255013 353388903 951947235 978793517 694409703 789861345 973776659 220195795 498978181 911626657 347797853 374587329 917423753 241100939 491824395 102511547 415864769 841450629 557932465 410259473 268439495 627695751 96600875 107031191 702637053 60970373 206958239 514626989 673889159 648875911 796398969 253781303 451673687 953546387 384364651 160220583 442061863 932667325 503799923 198513391 963209587 254267423 720692693 580224399 702726281 609830365 985733917 470756239 946847349 627639071 114182687 6416763 937313297 133945111 321662201 737276267 402597629 19725569 560336653 103197179 189384865 341476637 512730119 902217555 267986733 879500727 695261407 239996961 153847961 637035043 187775693 965235867 318983079 454578103 556091991 620410239 756966109 634188503 998179403 653219091 229286285 90382831 669619385 294181925 807691983 80155247 389779457 264540431 349271171 181490131 429987783 910370473 893605967 73807517 33188853 575392607 990400679 18391381 362316735 893146651 834212801 105827215 866549413 108569431 809538719 219701989 634141031 276710925 817566727 587896315 320031509 341870279 577645963 258532217 310869505 355895441 987881089 244880657 629150919 144443395 222525197 752834175 950715213 635079737 601405715 316175491 367794621 457547739 715760455 76647915 729085325 129908247 776424991 532582021 893244537 190136739 715492059 793353773 565954949 193438653 32100485 451430855 374585853 400321323 975363307 917970491 284956277 408715069 218657191 909689723 294733769 368239303 820258075 299611011 141252639 141861673 34875243 15977811 6199779 302663495 838983049 215488505 974112455 147596947 321420847 388771715 144352969 601424895 356610779 172348943 473657645 866453261 898373847 351286459 890137473 349856449 354269233 458613941 213054613 687222953 415472323 165117997 884226953 262644189 528986925 874614623 912408767 685260793 394033623 769109389 169654501 652637221 655447025 141672959 960432109 862779407 643761781 392612105 727088663 473573101 354800929 367435015 979832035 922412157 932139901 237582679 387548193 432110087 781506523 116414311 928557793 381146965 765679699 393478057 645086339 40153539 854687685 172350613 124301227 579562793 13996249 529203117 294055235 42172147 551542015 869530751 592771969 963205901 307746159 876774297 660865761 803180779 366523433 708424601 549796133 745708175 295646969 813843997 214684765 673869693 939908713 278626003 830650843 96739267 148108503 955639403 980885819 329509625 461342049 45670817 914188643 650382139 630153453 712759863 796529021 316370993 756801327 141326327 518195713 871138825 784893853 302826929 76058023 392221305 143935607 145077825 818816115 137658815 753674183 885882763 183729335 739757987 446585437 609204087 726277121 174436977 882601679 35702007 500065327 644678655 501707393 810287367 544596583 64063661 894633623 195824553 753414165 35695201 983680773 712057063 255237101 433421191 800950145 844081105 833099497 54303257 879217803 402492293 896105807 255868051 193626219 569976865 945154987 469478649 159457333 392348115 129484755 102039007 650034365 144894413 751016929 987620695 386503589 81981767 719099193 850685439 210328149 679438467 678894985 976440319 789826815 938524623 610119109 537117189 310750103 256758393 12930343 773617225 295840993 232896479 901147703 729908101 832853349 620664417 806143421 87224321 97826417 715139689 594799057 410250893 409670431 98802025 651659469 107271551 974477647 598750941 954102359 402960819 47284393 938487111 283435609 721589647 17785245 274128175 339470345 967399429 908487267 303167531 816270051 111267209 979955709 928652755 16407979 724198167 626041649 393662151 733658989 581028665 461475217 386845109 737283709 244642557 210727029 379672655 853623159 578655479 523585021 231860301 841285697 389993029 907510801 354083955 171961607 753349519 648675167 987828617 415913787 172932613 29761637 755427173 152592027 274726489 304728157 636428253 975455787 351047115 893761619 68218839 452151607 102319395 676879383 997148731 374880853 15933869 218185023 844284669 611128413 346290239 887966767 206004757 149138297 953678393 432261899 482992775 862616079 664063617 408829127 367255387 560003033 347931781 33123353 705050791 251073743 204481849 621023873 250137219 427214905 674518047 451460425 801953295 757280159 343145019 727843457 285572219 979625945 618239261 996796415 766565363 37603841 81697753 360676965 439974069 29048443 316062221 14017565 191996419 233656821 528033507 916928083 191524135 645629027 162281989 532900867 30074481 67576833 892999339 201944811 142089791 499398227 454857875 423904917 675697137 155348259 357843717 632867151 792655089 807937417 938648013 165993267 763604915 22766815 714758721 481682721 207005359 823378379 93233731 606407105 915782505 724206905 54306099 689543811 631844713 792652123 795394821 179133089 471433029 198096047 640961837 131901465 740497813 216099065 669106601 958083251 194246137 114650181 209630207 975851265 986240033 64395751 309564991 322031451 841287353 459115387 913852925 219241697 265453185 283604455 642359639 85791355 821438261 599157335 605668343 975849945 524268709 493023549 728705543 20523635 231755169 503885145 507902271 912499851 96704769 321547947 208212447 307008039 303505579 264715137 711811497 911021081 574890633 10944881 74643183 584445687 427871113 60480085 707592071 737850917 531192491 896023889 488283597 739725001 856340971 401202131 22709673 476615889 820180825 461170829 196507529 525732347 252697093 534387327 315382115 201870529 64676617 335840233 487132085 350698351 281106055 180348251 324770949 406196501 372967081 169835175 421063777 188581001 150259875 626792425 302722915 380441453 504762285 992328327 507528227 419430699 643292683 536315435 183662285 166867439 360377349 252412363 169481739 866763701 441948913 95121569 769786901 529009469 828180519 160547125 411305899 871902475 884328969 757731409 457879825 107010165 474225921 33922569 958406421 482164367 888671363 533911739 666696205 55500603 495426567 635119111 177150683 828191265 508209681 833353183 936917473 505399219 285506347 602086771 135143439 996610597 381721831 778179649 467630041 265428603 838916319 651187981 257005635 116243837 58727861 531159267 594552269 148136633 316965907 618186777 589205895 616364937 370913709 387370823 975555595 410298893 289677371 76168791 797021297 675949101 943216257 901459311 202598757 278523545 277451081 734205449 102459921 575917003 74273893 980229085 683598127 738398975 406072751 807638003 417889273 277051715 645862409 387790227 305833785 910831203 896791645 352024917 836537915 673145849 578992799 62973459 557482967 87232099 252666055 404827633 549421417 632948173 927795161 720680797 354307545 37653797 93287135 960904203 172301973 381121315 131877867 605079541 797970579 70933833 101763863 463204963 266035025 657492189 25642373 392976607 635778519 513584625 705229919 650970685 486504879 926058075 562421721 390666137 789916661 576473791 9644075 703786329 892504129 828121473 209886873 346174503 778963391 672805845 674111085 20334585 290777113 978059953 552473081 38271243 275697289 597530581 302383511 854976225 516782283 305141963 189825193 928018759 813426211 616976355 437799067 405835089 904658533 458998067 705010139 533785693 382634209 183994269 4774121 419971853 147449211 662915019 536661827 561199693 661702549 383763753 571431029 287138389 149293343 793235187 358862609 432663453 193234319 802682663 333719473 205328875 761040611 871620495 225578999 604098891 718632609 355408057 824171405 386606867 920732377 985922815 806646567 965504733 174567201 822722945 792706431 858072973 863572371 826420007 956707925 740993105 83200475 669671843 463048053 509241243 269861 834733161 233659825 652896811 426729509 808036797 682695651 870160897 621022749 549662629 331740653 558816109 205069265 374278389 99133881 812046337 431612815 628388417 233483323 555505561 549438767 51095273 440383597 512272217 825821453 532199961 80928847 235514031 926312723 601811903 771366381 790256207 725019563 535420821 691180633 148791093 260198605 9293335 370557101 779696037 739933431 82493843 188786955 111572523 65610287 229908755 798373789 963581083 27523845 876857717 167537559 746495761 630593423 904266327 44913203 400990451 997769833 692203807 64157105 562931691 71926201 143694849 909914717 493208817 140865585 923980531 8863625 210456893 782818819 713106615 296279695 110372181 240201201 80842195 775022545 51421189 624692287 336339865 631705019 613307233 706815421 149205791 385974717 173577159 385097917 603045447 258002257 926175961 721919523 644111547 854001917 822496389 636099665 471152359 649484615 185551357 388710967 335552263 350960579 682912447 306072651 357007387 510339083 672306577 282013581 80515303 319573185 18841467 153817727 95897345 890763921 668898517 799509043 739089853 102769451 907926073 181322047 54610237 272022089 40230283 401484991 355373419 517137583 779572985 877591897 277365491 745478439 802322935 528478271 706285137 141035395 62414399 523932709 392449731 666574239 430553817 330516551 760883537 867289177 266029839 603732849 824900045 577419933 221668211 813753579 346103249 787152993 847204071 811699087 850651575 885288345 84209033 748897977 539532717 724372811 465293771 141541203 98981539 325136003 869561693 329832135 271041869 813865807 816959549 447637517 627363119 196540363 357750701 67175587 423685519 459809561 128166205 552626065 186724479 264951397 731436481 987582051 325756887 164942303 450644049 832160817 409143 808700353 694425429 50613399 840064007 277896529 664744825 189996731 70371959 604373461 910598831 694662223 110122111 609170849 834554165 366693511 88111071 441685263 338326159 584672545 508872227 753805185 634848905 654770019 985845653 616320611 183933497 37725979 806555219 876431909 605803769 632212385 285542203 770185027 651814253 413488851 948821235 197444925 965848195 704519189 4489967 193669535 315757677 759342425 715299429 450929405 585822123 453151249 811272533 617706989 525840381 568514109 606107529 788964883 258871667 788790117 349617041 54317339 57520991 380872597 421458371 850399157 366664541 574297187 756943681 851462301 67820625 640613361 8909045 876645779 356002153 536259041 502966923 246945379 751660313 986714209 727576959 425671135 389392413 863312683 409126927 276342499 587619449 42699387 658188357 327840589 259185783 979636759 994754287 530231051 688816047 230167119 285140137 548918029 191286269 887015159 16421071 271914575 443759235 728084079 421594251 867573969 342378669 819580059 776647629 746362527 599772977 188780011 473985615 77885645 706174731 731871831 466433167 68767857 878325375 451912281 13483733 64025007 671036441 603206139 218082867 593783987 748894127 8389577 875193217 1826989 386445145 861727193 984645215 326449881 807614079 858326733 860199989 670444919 928502989 12142279 450175283 560824533 174680373 169457271 471243601 149523009 324293879 473692177 48675153 919951127 977164435 934746199 699882937 420263867 835706583 380615055 782195163 172079251 91280857 524910211 88953039 893649175 307012083 526740365 553732725 320001723 890889417 309950347 447918707 626624007 843005001 766278883 858869565 701536129 984887207 213689473 408771337 536752829 691641949 227176669 119929049 601020247 321498931 426984695 976790899 220038637 982713139 322499411 568435305 328884525 925656239 248161023 796865297 817093319 282071113 223851665 563415439 972697207 977973727 10876203 511384007 645942527 799734691 801260399 721644141 819809063 469611781 604557965 317600759 966200003 744974273 375078203 39058341 480612783 524135135 407269047 819958913 441376969 199742377 342462407 920823385 406331135 968345267 922782651 895409865 278633537 101733595 32136039 826298925 356482187 343312963 625049131 498161327 844522719 323360599 205825259 2831167 142934085 649451983 340463897 855001751 835099345 547973027 142750631 777510965 562423455 55136793 997366295 571121507 71317197 754523837 881685869 387643951 199401097 773915747 70166839 633284723 91828229 434662441 945587851 110057167 30929271 627444337 638261515 948465579 978632743 688910825 367683545 413029431 513719643 592931461 732693157 614096749 516629865 182720639 23443109 307060491 52784807 690780511 157953431 444802713 229732987 693864173 961682625 608877673 520629325 95664193 69008371 35231379 926407311 35601077 335185537 856292343 156719549 337434349 414738507 185468221 403086169 500337625 176631479 308318165 143482091 599860647 221127089 115913463 239233287 597758681 867956915 446701731 718789193 345112369 311655351 267443877 552242255 66105017 61079623 155431305 155557575 419058377 164441713 704561575 578074211 930576125 98181575 271183395 985163739 552524855 202508909 206561761 194447601 877979555 684695045 323659925 142990195 623581111 2820799 43684277 771000367 829173551 432569425 519752065 468807171 609281551 784975609 995373059 214615757 370413731 96955007 617526795 65572987 751602303 606719789 310247473 478429183 515972481 89153759 595116499 908419153 352268491 49285103 932588059 161884531 98616267 40771651 993716475 844301683 927656755 80035405 599775273 611413343 398538753 635622401 853059109 655495253 261635195 673581019 271938361 736914549 109740841 320934885 192646771 602797033 794415073 243372717 247855789 755663331 234254529 349748293 232497543 182219679 584552237 358604625 9611881 78826847 890497231 197200883 852669317 684533611 58001563 194327771 222353615 235540761 753033681 836973119 560631563 130531775 658196209 185703647 745407169 416725955 489620683 631030013 435273535 795151757 574202225 355387755 217016223 714355855 542261055 759651453 119911361 143911493 342821851 356480787 268144461 682655537 496399663 976960915 906179763 584938461 36165745 67389675 963404843 324056537 685361437 603176847 985607351 575976131 93015029 333581441 98542365 581643067 269377033 318876741 755343599 180422123 754652587 31222251 843191685 63986821 376931193 645384709 609787647 103889093 224623957 635493815 904856389 138683757 716485483 400299939 733334789 565314375 915372851 115217145 82770621 106850851 263498853 630212209 334141351 368859615 107307015 689938245 354451151 836606299 43945829 640121405 985104901 429085057 196994323 452212905 884245217 571691075 93473263 434288991 367004609 178904477 948648475 813361083 861348047 558364817 181354501 720919205 974557437 895010345 63296865 788365705 778991873 116706421 589264425 414034785 644043355 873380755 922106787 588905897 456931925 493239459 373478749 712291687 991163135 71692495 882414631 885762089 941701167 330822217 260703009 749587719 530065543 686959439 441201327 816705951 837156465 253277981 637148027 912272661 768302873 723286787 185404283 555479835 651679099 700728145 818446569 507165411 772378965 44286559 744393037 570080301 975225393 257382803 514395249 995690049 768896093 390173269 382237545 392862955 517569011 709292825 320814481 605216641 260014547 505159255 146848143 167839203 717614757 933649299 985393229 254520695 175704025 513856599 969594881 84767275 950874793 360941363 220983079 297697653 941991699 971239621 262120323 943081811 106477279 790096557 851484961 118962507 254570143 235594389 972263253 118646635 507458731 893523761 3891645 734095691 531598883 23526201 402322747 280578313 966798319 393491057 450615037 892245065 707645887 354671265 960687989 156113213 622445835 181368479 908515681 493957015 629687829 119448387 349246149 500084119 588710115 434357871 625947119 542873861 431804999 188823053 920064111 531715117 304719065 424593681 566450725 508460775 162778103 860466291 238576691 546958735 314819277 986633271 660231687 478642189 770499401 731999333 362956885 623521487 647824163 106249747 956946967 938772427 553837275 144281689 641215893 948707197 513140923 865555289 139422039 175881201 892405715 877844285 279636789 275384239 365855481 420726585 977880905 330513105 304274897 321277061 314496249 970815989 412869567 273586533 89677295 104139585 701789941 579002915 345768737 458896225 505489773 825387023 112906699 109198477 250134503 645631111 680181361 167166341 368820455 857349611 932147167 984569483 921739203 980529319 590889001 933686387 302617999 5874729 437384619 873325453 978565677 128677361 356200971 608210107 268343621 347830397 744282419 431994979 698299209 821745239 364638299 661143411 813210221 234359061 365538043 891623009 200791989 878858831 879462873 256338475 234002921 584480423 545909761 22303065 310850711 50547399 602876359 406270709 998189849 280921699 111188937 40337817 801752975 364570419 85622761 428191331 210530785 231391739 404326485 495245305 369365695 416604037 229759103 200536455 989593763 59542947 315201063 103464903 380175049 8716335 40556621 593953779 49743423 718239243 972450367 68900053 721125585 618662945 953088147 893438905 301260313 723026533 850443299 696782199 211906677 160522447 826735893 612519275 176882193 862483043 746222547 442441341 224795099 746535979 134483473 119737371 696258699 528324665 612704207 766950715 514775459 712725671 844266575 46330203 403327593 487029399 316999451 229017473 438278895 81912115 551146763 88163645 498051851 766075055 686184249 976866211 349717345 525933893 293430795 479693395 436456533 479030325 549293101 476189299 420080411 909774539 384316305 328419247 59195049 793163095 349096053 20676929 927094463 754785335 1948251 255773923 600911591 604020427 216554771 481447391 264574321 202914943 177640369 265678337 650554483 958664643 659937677 839228577 666776783 313903377 627785039 11855773 177798447 789193197 933559267 747741273 274438399 453857249 986090875 171592389 730107259 982627199 576237205 364147799 326536865 987453793 924384501 848413965 329209403 356946729 782703273 358842477 473771223 439243395 539097345 592987271 945923279 68212765 505465245 582343407 288599363 295545527 378082143 919526853 783154971 333804559 919342453 514569903 824110089 695336945 817154131 885576665 10134401 866819375 624289459 58968829 753597383 784850083 312333469 623961175 901089505 96457775 390799961 185475501 723544483 182411197 725226367 837628749 585483425 47022145 951809513 269195535 190861627 386177205 595209405 950362447 594097821 833747225 644852581 526364661 19822773 183561593 534229655 417612143 78124349 25904359 233310543 652669875 579862705 457128061 477716431 263099201 67005279 365080669 302215335 67614235 340931153 458143411 363306921 209880275 154328677 954394799 374914291 913072509 892923193 661508491 960419813 181073081 316519987 67013003 724832305 262172333 453934471 331922169 450029255 118940167 305386283 315462439 721000165 160865531 352781793 152456559 1330447 86089803 617317423 654043189 193191953 162294331 263101799 24660959 308638209 368882585 481087647 915784675 679441207 462048445 322529721 222852539 215592795 697082501 277663839 545691623 728467545 826762069 34238717 580020979 67314533 857874973 796388815 848236657 84168697 750746451 716102101 640620539 945582299 301896693 366681043 65818675 908759321 5457035 234203487 282945477 86365443 395624993 586293709 213617761 601814841 296312653 202935103 962032065 666684831 915460399 399964063 48354475 987261023 277256813 552328089 814036965 542430445 400460853 520630697 457360707 196609289 763571515 744271117 415958687 412785075 985823937 786494157 989608667 269988411 202837899 416518843 396112099 492437811 880409833 740446833 446514855 880362359 200603055 625030729 838779937 754695469 524015931 667183729 471774807 965376191 359830135 958496729 481579599 677634019 33912525 942829877 605803549 769861269 77584693 612475401 761137115 848270361 418130733 568056219 522528427 867070459 276623805 634623485 698343353 244542735 404431985 776909063 589985589 459829875 763006047 593248601 864678747 81887881 133842727 940363611 852942699 884628989 996005871 637530173 179872945 737453767 78052453 328638199 194272639 751152415 760492991 250729289 168886831 365475979 492823483 214965439 515103781 809331927 897187231 280893347 504499911 835235607 307556153 957159443 305394315 570256553 726441953 112309997 179603947 741395505 308790645 752683223 226810473 927013015 468584281 806237509 492211597 941462037 787149181 200986477 808421355 306137891 263677273 214871375 887258141 52070793 786910439 46468789 303993285 36832591 709542321 625052207 838741647 271477709 959901123 82732051 81994539 723270301 667637427 158257027 587321429 160560805 247249569 934377833 182777293 788275983 790449971 358087537 384225121 738901585 455189143 26625815 644243935 273194789 541975171 301489305 340120099 144412051 315994421 931451905 318180879 569936869 245391987 423205405 186898831 147686319 139752589 323081609 353975187 69359821 359774039 376224161 610842391 663750757 832709423 170490767 511552027 559870435 118568959 870876483 941805229 399986681 152021553 554980983 380481499 789435301 730259901 476155817 572998849 843151659 496848163 168272161 868050305 910402839 478449255 325916145 130464327 995408189 585319959 245293809 893779523 764184507 259541065 284678593 269380273 866466291 217015197 913226185 929456595 396122003 912801337 379948857 377505777 454448525 472791755 861417481 930173023 434351903 163807113 670348027 34553463 868520141 51862833 332340373 95365789 722994533 348394505 356459049 672061753 386495735 750813921 313225935 258763709 408074211 361189901 919852135 140618149 885331917 185476205 550724247 746377073 701691551 269445221 518419923 117045165 930897805 654025447 937379409 233495533 903144983 992496229 99547923 30214087 724274943 540469729 725687519 230538721 966323535 774463965 90825543 20068065 363233631 131906925 6708129 854903423 828429769 302760225 461210129 551630959 523097203 65833501 59091579 961855865 580597639 502165251 780027795 576748131 124095099 380301569 284427215 890936067 375426315 231303377 919456367 694690095 435866171 745956783 870833277 272360907 811570007 729290339 114001863 331059651 810875123 779564087 641258473 183382281 152571883 320437767 155168575 798159251 479864421 961701675 320919539 740235881 615738573 44382863 186913013 400678545 376046293 142583197 22894847 765099553 733292155 376628047 965322127 986453807 279299 904391455 894075375 496555745 6533115 94597655 231875117 487522399 398137395 714107333 756644387 53154267 929679051 236401467 551585905 67058577 246403621 779027997 549243775 238279873 384192239 948864397 453941885 806927545 693529883 673988923 327146597 12783047 402469609 736071261 346665717 649972807 578568153 342721713 238391221 13769117 773263803 432543101 716628727 767995185 388154783 341404817 155630803 568097141 901137637 889524033 507045929 685699301 96347185 333004653 953750433 451216131 138209389 871451771 608284331 674115927 757263311 679025239 964500607 389422711 652617427 433739387 146557213 778152697 353637691 789039329 435704401 690311299 731923735 83658515 326728871 5606589 52304313 605725469 345881207 701438553 945623229 316026007 581017829 432505875 460985609 363364767 74357461 97597357 502507975 771608025 270341627 200106223 380649327 239231861 138425805 509238957 383358137 344617 678577293 7778243 830343595 767546931 592602687 704022545 778217105 55683929 386275769 578792833 428706559 196820459 224992657 81064709 127848657 890965951 880358181 868584345 57029423 550029105 759844767 117658431 92888959 464107047 636075249 796585471 940170875 60933395 809319633 239174383 538170651 818700263 584110015 79830821 669174181 861506853 407863813 996822727 506805925 353830609 961996465 189895165 746327025 202334073 544372381 332512249 194416035 585097013 682654569 677500407 826351391 99023011 991869 758245433 183404563 400919527 736846347 478417159 491236723 431655345 788102151 141920695 520408185 854526519 939560757 884299167 420516269 26867767 62213661 528965413 441567703 79609849 323422733 354546865 872827663 934945865 683763743 147812791 320953263 929500541 523861555 795949487 300857181 50696821 776653297 599617821 337024515 82197399 271114185 317145225 11794647 129225679 874999283 175368073 235402069 551175063 683261297 614331315 541218881 184825835 385595145 642096557 405671079 127746897 910775885 510770207 631101659 453114071 84996757 966247611 849325433 702709013 560434689 955379519 342157415 870780713 669637753 120970855 360240081 757706679 656054955 212059907 464837417 16327151 384290581 60316897 508604973 120243335 384037617 816183263 328929249 547501759 513717579 845316317 122734993 558620505 662589939 579778757 225149395 501809575 47602305 543635849 945280385 363531903 977540947 831974695 319656639 772430141 861639317 817616027 705659387 61095623 266313011 783005941 634963175 550696591 133349353 327615045 715504001 876490633 587661877 435804323 448137999 958330163 639234913 374057269 258179353 214723731 517178749 473089315 255889015 739798327 500325471 253149857 914431555 237734967 288815273 176087527 754709217 386846513 308925125 266947129 457624831 916184905 519996383 991705311 989923985 949410863 527198963 844650543 520338387 608905499 914145215 258650241 14258249 309002183 245291981 131027253 759174589 791491965 856863595 794916795 370316103 991911945 519229107 453645951 871066691 713757377 806948485 25487359 493570385 843075973 588410761 394476477 500712291 694892987 442789679 963150147 95070377 677997905 107361457 215314721 618717089 125617085 66426893 26796533 738844175 79037691 518939915 532523359 405473791 635758231 251686973 917245193 573787845 317549209 727418363 512081831 341566461 726751899 374597477 812816881 620024973 680876731 812138339 330693035 88370593 42185885 157102501 28154015 178426285 317361779 606287779 764762013 611903851 664126447 915616671 337906051 256804065 253171537 393650079 557828657 281029723 463755361 343831669 865104273 80140143 149354859 543784121 31142039 46804983 915138119 140484553 360694843 957950743 209803089 143739601 126327937 812237885 423866993 245224895 46075763 944035867 230637587 236771403 158406177 811812273 456418865 770006261 502020009 97774911 591565639 402033671 759445035 234448725 221948763 118891665 789655505 345573829 705509117 903301993 892743631 844218539 406254145 164665395 746925917 83363181 971956167 52451411 399217343 808030133 13904307 107695613 204236863 234679929 399990455 825944357 379767599 786565877 630600965 2044561 861754089 75712939 705976159 679191747 959664079 459061611 65360903 912033553 542819403 197169735 236860367 124949135 892714449 37763229 398925581 592643359 149860313 847179791 20614813 481003625 651552999 547113609 898432231 397872863 223153541 277263681 275464921 963985589 347344195 913321395 524728553 964523247 167608767 419936419 180222485 555999829 401505177 785558813 925830371 650028661 212738941 537162615 118640227 841998505 206414617 953332809 721933609 110894353 195084333 800342909 45223509 28219285 913732471 631089977 965204107 778317541 743763393 776686839 848892669 819317115 161818849 424272495 276907101 560312467 29832879 74337961 616228333 702275899 534777357 438917869 552713841 545877823 736683493 501582291 58432311 310127161 44503083 117936181 768522519 441555591 429878489 32020535 296310125 87663701 732884719 543317575 677327649 648824977 355800953 438742041 206268321 818232819 24541831 408702377 662776803 17841149 982197303 28497465 176606565 547108341 478554025 375340377 350505261 71483373 356946441 724336091 227051211 298546619 405994885 583830747 411593555 76348419 751248477 66284735 473365093 639492905 938462671 95808561 992843559 259533921 263422247 795512103 999672133 716166305 473575095 142523357 323749369 168258985 913657561 76048855 98005245 576904963 675567343 736680673 679860123 921634047 433819235 406359055 717795743 916630451 985312169 349059263 286787681 603448321 747828537 303184787 278857661 899471507 508139159 667018103 328605979 348580053 360894797 937376419 877016171 252331523 433842157 806793615 882891039 605106715 765476625 147918337 673883959 283278055 85322843 655575045 333350969 587774709 930727799 608935153 417005621 635824799 66046741 730672223 331990719 190123269 38421487 810871603 346166263 652553999 714226121 60932251 999267715 198852719 552308845 129300233 810249103 757585561 380869805 86616893 936050645 628502481 449155427 769079607 420171919 919360543 269647473 454686023 88663431 302677585 848154563 473477887 861329675 326271233 126399561 165204027 519645421 699608461 206849277 409057823 103356817 77871905 19696611 65431577 441482969 442579883 736001797 871566045 659782453 898560229 702474613 883634023 46000283 765788491 633046605 121544699 525349257 731226923 162801071 816707877 143413255 370190735 130003399 954155705 121220257 548964693 794433477 3123923 394131309 563609115 667162851 672024793 911108363 666224455 645832551 650029173 202775969 678780685 274012567 467861151 224297435 210209635 892630727 671788687 343698931 395142923 234269265 812655819 327641765 421635723 939765911 927258655 888262711 924902197 44182019 238630047 977001335 142259743 92536329 547308201 243380925 970590507 560216099 460424671 478149349 153519619 516448465 185584175 385664089 768368915 864688799 314967243 56455683 643771543 80975135 300197169 782755419 596726159 742804971 226399271 264658527 871968959 986428327 743414453 483330199 549324221 40765177 109779251 500751375 202491869 122426263 439551035 639272285 726230337 878310715 843834289 875666337 707624915 805338277 109344707 767306625 900834879 575313057 730282981 920646187 424140033 570463489 20189137 421004883 427717463 92464543 882869903 671161147 567697993 575948637 936531305 497864615 123048363 854179111 317347571 534870247 273356049 441282285 779489801 59361741 762283229 580803243 755186895 195874237 872971575 292689761 617104309 102922649 610950927 413985819 82732651 559606995 185636125 133666539 487360239 934406749 780373731 757800427 779309189 828117431 606871463 389713471 61363383 250433513 802680699 828669709 578692703 423705215 425056823 915455627 527066259 944021135 299531899 970921715 721406395 355542457 737204399 260219269 469837443 934790435 72636931 239622029 539835613 122933371 97853295 571514207 187515143 58289397 428995251 92378449 607977093 139522643 308462939 344336071 477796645 446472153 816769969 391388461 620822519 9749847 651907539 646483699 315053147 929193505 772742303 250676883 216227571 334223895 145146043 970215827 521049773 266566813 658285979 976221049 767461309 332601763 766093941 209662169 400443549 822850207 508045129 326274125 851043603 433624977 670975457 22230393 251494189 257262077 919072973 869266435 201343549 667768817 384408675 974544547 232341983 146664195 475095493 176076813 144683767 237216083 365003229 687205385 516501171 153253511 322120791 553876573 628696967 331819213 302987951 847100381 876260399 382490075 349119779 267095395 434401455 888462319 599075261 228363987 924999505 781510863 674001227 299863059 420745133 229581513 215572073 425559065 232429471 923234229 505118323 103443935 474325065 195140081 844951187 278737255 71672599 833783651 557534393 709968569 803149503 360916087 290419359 33486569 146869821 282326821 657456835 423121169 823795669 12513261 162126189 991453013 457545747 701327569 676677551 739645917 123287245 29349987 193966177 394958299 850427931 880921273 158943523 965204105 477459301 586569839 935692125 839033389 261493847 190207917 313141567 812681485 524977123 64462625 80990401 485059709 463514953 437272833 51544741 477140441 110677257 641649163 782546801 20411775 256481265 893545605 739853943 584320989 906785815 756947263 307793615 662744675 9566677 680434829 736535129 653966477 886027471 77429071 60117691 56565979 405890803 513630185 229404777 120463323 153102197 680893773 360158617 954920731 59152849 768562669 758149965 499081783 36030153 309649609 814031947 334646227 898933101 296580713 484869669 238088855 637979663 814781913 568828465 868151349 418515275 205730225 766129811 821455977 550822661 302775053 424704303 678925811 160844141 781399189 3027641 986370465 377435123 946472823 477826983 558567745 185420373 684161641 909679929 39025839 756537749 233104041 427411065 921460943 331051267 702861055 268246837 782550153 89639729 919881909 498619145 87080911 739748605 421075621 961092689 329757853 308042377 96340525 457648439 850273779 886071361 941563443 704921259 479390431 312744413 494024227 879700839 291350895 123724629 241963255 914735849 2071999 68479983 94117929 482330747 626674931 19938615 853756099 382784043 965648947 505025027 121181777 800234963 843359665 513539947 414900715 859562003 120778153 668633561 74676013 583526739 657549661 520952307 721870655 695368387 834045973 941102003 110610383 30050653 827337765 823306577 692575251 311033567 277945833 664418389 485256139 410987729 261257919 243273351 142515769 452344197 702759445 827939071 732106031 164156179 126367837 228684567 645840897 236559451 859407887 23495027 384323727 428222469 386583213 656624899 295049277 741032321 826458565 867990517 63961853 952410119 886137829 353410251 723857473 326101401 28056489 448358727 250283019 690909181 802595509 561813365 190680031 704363461 225297585 954761897 96571851 301884231 505960527 146189439 768440167 971705767 620989003 814303197 785516239 254935497 166831719 621018605 126971821 678836577 801836651 973856549 929000491 481063909 29642541 289174593 931405313 622634391 45744003 248928581 600380781 467476093 489962323 318126717 78575157 965736807 799066245 234753917 753894057 280276209 465534475 298581539 277210269 720766071 836090081 966785425 891643505 530972451 231390985 349992757 569633803 134958823 89703051 89764801 857917401 564637049 681161853 235217971 282120655 788664153 861342197 446963921 356360815 357203153 217706777 130184227 583073213 703005423 894842385 793503231 801634887 625683085 819447825 215956099 53935653 593220427 855342673 124810515 990854643 670155409 318598931 792944473 2778075 919350417 93760677 241011273 873113735 285261119 901076053 141002019 817904175 129340255 523654529 829391975 462897041 91350393 949524103 728740069 889569013 960115419 97754583 22066351 532951845 688410271 766801629 534533153 409747581 655103141 266005783 600406753 436155351 72054933 252621063 122597081 65010075 792044767 96097077 449306943 919132853 882878395 496350519 844617103 388586399 321906219 975264419 674197643 689004373 937489141 529506335 650994499 726072925 968338859 975371347 159850505 248676805 666402725 186230003 779945339 45507109 396578051 288983479 808809851 479060123 372992941 715955555 853172277 696006091 58634321 875494591 560300321 14895845 615627117 406323105 408347127 131448991 905869371 812922847 676608957 297153079 614248391 370913375 449763263 718462069 191599073 889437193 856056977 173949093 691307553 822236369 99311377 801305501 882839269 271358639 728849761 946238141 336419929 168668839 908585967 47941355 708367721 632489921 383523951 275507605 620226769 31251987 62244571 539793329 566188047 42798003 593871993 819949755 323016301 24976327 605286103 553811903 930366459 362630007 629933765 502616133 609025167 208194807 134014819 466216807 403680971 874302591 159367445 164431043 884884761 693203283 600802437 856423293 688165029 510042813 489790889 16290629 226730603 698556173 909709499 860234065 345043497 733296289 920151875 500293473 931159401 28449497 644905227 453139127 944867961 330488607 153820967 191236901 78709619 813522405 20250355 111707649 962160951 347463081 596579605 168906535 807530093 601188839 437707895 843325439 550196357 745779247 382154575 892082807 738457785 293862161 389583897 399263747 655666951 587430181 800667801 99070117 975372599 124725777 725261531 89474017 447960027 487969151 802894387 983281607 792623947 595779101 772171327 437984747 628584103 96813225 632088033 325877357 643206359 78180581 822179399 665604849 115761547 632851611 262291939 261593511 563864123 392494237 574677875 383951431 952378665 26792899 230251259 442875147 634903131 929394163 431398601 416441789 749426339 612787989 378402413 496596137 263603865 560918045 353851335 136643493 394042267 706867715 371089913 802164499 279513301 153221323 369439857 482054867 535059509 573653119 111972323 508695897 727114099 593160241 82206027 956970649 345512719 153790713 964468459 823767825 192280403 51939069 99523923 477881031 740256591 29469799 457339475 473898059 66888665 911345253 920839179 590728625 946513557 769741367 338981343 37873049 464125159 740706843 276514681 978325031 580166403 189533787 319622607 565563915 54178525 311679053 933009437 846265725 361834299 805491529 697977575 296596791 880897695 72834481 815295737 566924675 755090015 634442223 264538727 892216621 186506127 797202295 172293005 344949389 306256401 108322753 110450193 664397439 794583949 811793233 439516639 175033195 52492917 405528241 592202793 453884991 868413693 949860211 389689453 440532849 377469993 696964399 286300527 910048255 643102913 243127435 578690619 493885551 26368083 990957105 385096485 543001041 347481657 477363665 593773259 135352505 187943571 702974245 134739215 400100423 69956425 294669553 622145055 773359903 437626123 717965311 990598509 946927731 967551059 462047777 708263097 60871413 840842845 243693871 936230659 609856487 426122295 132807183 949464475 669134859 628118445 870929835 804283665 811060917 212480089 546174963 97699909 721401013 59059353 346746593 127630171 306081135 908838553 557501817 294572733 362062789 384202055 641946821 511884319 243309351 450943835 14518487 117002113 484607115 284374103 195438023 604461093 462939503 233612161 829057725 351838101 745789145 618570987 762938589 880292521 175108697 932160619 677472349 47999613 783979779 582486693 242466677 843367281 541148791 473688573 168000361 301501495 774234073 416874407 188065155 845430975 677265115 187075225 650554389 504823623 146415279 47861907 128143225 619146065 453042967 280877343 196537105 704895149 125591895 525674637 44049479 122938479 836069693 225214195 302324623 279614959 147338785 372405555 825770851 487729621 459697119 66855927 936172355 399437581 872199135 965070507 67635387 533940169 651850767 938165899 980854365 122618503 83372517 797889941 509843139 739879181 88715103 333858707 165120911 461807459 142446085 938942739 225718891 362719 999478755 985957999 759218187 941157151 98327183 518220487 613477159 151304453 865347113 525302019 124005765 646349247 847921749 405572309 822612203 570770881 311822661 548396977 997462571 761273285 704926381 845040603 959364643 546045907 183000265 936654171 97748149 841330739 326049123 863302399 875221447 944030333 192253639 744312161 264372815 688259211 169032397 9959391 286940997 791405955 139834835 617446309 208049327 299918543 295338429 983705761 179677843 290726693 993584891 661464717 195333637 82984321 699670403 1953765 784669727 260580389 842240467 651090167 841943299 399724961 957214195 253700303 315919579 5689799 703872623 985958469 281847003 864878773 443076445 763532029 939329597 695474635 176079709 637069915 820623681 274363579 659619477 594712211 928874547 656732789 320185265 454436251 75611749 888770615 553141995 827350069 510921521 116342405 832690943 391809255 914780409 269162539 259202611 938685699 564641833 934673727 496095061 489687455 993410097 623461401 531061949 964788381 990271627 372617825 605601095 190026151 979706299 861833731 442058077 472616235 469612107 590814771 990799849 177560415 517593037 179540587 535937891 8634185 817728477 159673201 171306697 987303339 276007193 551904851 75674787 791377947 881322029 703190881 152733179 779224557 868717773 400591675 735275885 765164867 122482355 288143813 614982163 629363207 622202527 895770921 508626069 845067493 787829085 41742555 56836127 858884697 261803711 634487451 2478955 714372001 240167071 937346923 580961717 706033605 842621409 436968085 741448131 7649945 290286955 913239217 17443555 38461361 4404019 785872025 755775469 826700143 115960115 133267059 699956287 530498043 43825771 654299305 844746429 130802757 613023207 774276337 598713047 412912389 731191737 692356935 966047621 715684285 172303357 329365231 103211073 274843571 121289681 315014517 228640275 195755257 127770211 982360493 367669899 805528423 696381923 907195573 655021759 134285725 445074059 521365743 443594315 36848131 771018657 925057799 212424279 583324617 245669483 867964149 962800273 315093479 106264893 598689009 640686637 759812127 220527729 907183745 652926189 726540791 973321065 395462001 609486869 291760575 61868945 102211287 369552757 978404755 7006553 527695883 473587297 944722001 963904829 998251959 470461111 825523871 910454973 385819841 737200609 30096369 821817189 416896867 81472457 270290301 554222535 567538711 353999335 260356931 596940927 966576799 949856827 309856013 527258411 261566729 641788999 892306795 722285433 841295531 470905373 736174259 597698073 603976479 805812563 988833289 970637253 485370187 93135365 31731793 724487235 730816089 935297499 486094653 83268441 177361599 965232899 899318855 375508955 569282873 921229617 563279277 391348387 763234249 933448359 394264441 655528853 115743935 50623787 20298361 569653401 45408685 949070599 496433481 556426913 883504239 514042389 826689349 14643367 192426027 679444147 318133655 107178161 910648909 187867333 581467695 682226373 947909511 375593661 54588615 400763895 351635671 546011789 35153885 745613155 968629377 544660661 930715577 353452839 656112401 115917117 745100141 333359985 641327707 582294705 636477905 559949169 648733309 86136617 173237381 812019299 620393177 245643073 293668081 80007 409245469 430375201 136811333 998788137 897322043 577521527 457554809 730323101 528179569 524950137 179425359 106336569 395246917 443284197 427869773 307160161 212473983 292804353 429707461 834444929 534242613 447981469 181349583 72193289 358800325 346693901 711790667 630552437 314473939 886028335 655212255 829989447 324104009 816993133 850262271 918035975 194188637 129809841 806137569 340276809 828339081 799793525 815041415 708973225 860391061 735531955 282047927 675751877 980471177 68563189 150872835 350232651 423496893 823024199 563300033 896359915 851915467 867902017 370571541 225459297 966522265 354066431 360256995 382994031 760738641 629015593 861610975 926815453 135690089 921060333 40385407 879209855 276289949 120282113 571760643 228526639 43080945 523536803 902323829 554662353 630009521 585099673 796532899 39216461 731032433 942895923 211309097 411585173 95511565 480691525 646568803 895627685 875430571 84953391 922211451 73521023 496834999 89884119 221249121 390382891 577106147 906715305 350478287 918421693 962815533 567083165 210378307 5116497 267405529 783573811 950982919 650254597 988644469 623297903 635678249 225237511 624463313 913144543 110477699 367287175 911405069 991097499 620871093 569097665 74891659 833984063 506875687 867472887 834074873 422458611 533848329 449113457 97988169 55548517 440265813 735728773 950605243 564007371 337067209 346099081 260003023 704675043 660534253 413570019 509298517 697948917 744505363 990187771 856917085 286488523 839888723 938722115 115809607 846294209 902584973 257318711 681081015 489116081 437740649 512112215 882352535 205774849 245313111 776629297 435566621 780298659 648862095 227921747 398936773 132471817 494645267 729658971 612841297 316454709 932576681 583256295 624035793 121666219 68579555 212042405 350804375 525082745 263667223 540644423 71540287 19662903 724621417 553708677 717919919 532482561 470204605 248314657 423649811 531731839 759789767 865484777 100153053 429792991 713740285 972965803 797699531 172189143 644594849 566971205 990813921 917214887 62750905 49957013 482026603 936783121 748683541 615829897 416712189 488123239 489275473 74782483 179965813 825682301 19281353 605542955 578349557 868906419 879895207 90430163 82660585 579995119 124634333 303813913 155348233 560799901 838987809 420855819 62838093 695429559 620194035 6890695 623759355 165175737 594346397 539944811 553719199 32607913 180855085 39735333 196468239 923351829 467307645 331308071 814039397 5953813 110889261 823396009 810430213 100631365 194265765 890474479 603743901 68145101 66081047 414728769 126905121 151754589 811226743 10043637 30697931 358994471 877896073 137418593 175406883 292335339 859484373 859450347 947575795 927578095 423575977 248961787 553309261 754590723 988948767 938951171 729797779 173190525 332224279 214006911 63996003 823141177 602379065 504398577 811553197 764202909 97213429 128039395 181839269 802309019 696967555 225738469 661035463 898548647 791679717 950059925 505643223 428021437 683868899 977197713 34445281 874465127 858020105 360614537 356164409 243634867 778062517 233774377 208500091 608919349 549335045 667605039 359122061 32445451 476508385 219031133 235677339 855438303 882357751 724206203 66530583 498715611 628917189 225815647 124310975 349944503 743078789 502126049 126380439 252942769 949058115 570344929 76723179 432533393 515676623 167043917 16110417 298874787 148225473 760058391 36973219 705344701 356742263 441406007 444969989 339558463 179936285 339576497 152610277 95131919 144983967 934130831 947183605 713961115 644038073 270905825 573545011 932783575 454696425 841928389 947872229 970802245 823885177 574324315 79020691 184655081 307444345 511640525 543471381 795969875 982997695 981182797 302950021 415362711 709820141 449062679 895298375 287406675 712072557 692759661 681947659 768230321 189992811 132337817 226186943 640455259 57665507 558524395 381354405 411558793 192939155 168068289 782783551 553520891 371031301 971916923 379048023 57297395 551325063 11967619 644082437 934672963 514699315 716359501 285036453 912570689 873852393 451587409 898461911 946134217 733511505 976328211 494493581 577785923 156292059 508180763 744437239 421832091 413383873 514230015 941934739 341966923 578761217 605774935 611026213 264509007 366255971 611565765 280137657 399501101 333185401 985439731 944208291 73235701 103723675 85609619 834971775 371780923 574932969 477583203 502665013 978725917 661266507 781603873 432114411 773643589 665613169 897160343 277124123 346474717 966485203 225964443 817718141 480252573 382458547 999544325 386327319 952091845 764264727 206445495 868423989 812349207 562007249 672011419 361304941 262976999 408065657 405651363 169066905 879427333 47550829 454357453 606031069 879587027 586260697 175306007 355663527 815596855 154653355 185339275 304900523 68153503 193653915 364309567 332247779 529076993 954473769 636137547 449920663 670422235 869877919 772836305 197911887 677174835 282447885 320411387 594047715 522879897 62331465 821565693 202262893 433112353 86961911 967690511 941533779 746705257 714474875 488894325 140523839 583414939 66512393 248226937 111652647 939368801 877523093 656878443 567092551 876474357 607112165 505412009 837558817 88272657 811698299 189002131 887735941 125735167 939198381 770920339 144517765 274743947 886430863 976387869 268153983 384708621 527927555 834822569 447893013 439777377 118394033 461088187 319675187 469378031 341615627 284666333 843106063 262115237 766102341 579614113 643184933 593005049 48359267 287892641 82181689 327206377 835022125 4466047 244851545 196630523 840174129 581656293 101691093 127263551 526310345 493030023 601901901 805669449 464017941 331527197 924893859 576542263 916945661 540941419 417886981 550914995 698641713 106769979 727225317 172882407 475339563 631110495 268506369 671155597 954629159 83795377 671559007 17543647 984614707 498444819 564820551 269770663 150625819 60581743 368482385 511250481 171239545 529393593 381720663 402573397 628709035 555990249 861662333 937054063 184839901 303621635 883108657 680126055 95319549 215259153 171983911 281509035 219964099 721412389 990186331 880899377 889962673 29696857 220973071 352553335 838700301 418596303 21293523 768426629 575363049 771728305 907751801 964155877 155380507 545602355 103336989 14102195 754504007 427812493 113959973 860809 565436113 148487429 491190331 855603341 390182637 726648799 383778901 535982705 497902737 389984115 891043503 569792359 702806397 107123737 951949517 329426225 470135611 128944947 38210683 14925587 185046555 108936749 469792461 735166683 834742323 606943095 977313569 363553761 882614885 519193483 803874841 193383937 798369115 855572973 68165281 546936995 482791553 160263719 878278897 412064693 988054291 122206923 752193921 958725293 585028879 481711731 163188247 944171913 141235775 880436929 790307007 55332305 726623025 370927967 237239503 408377743 807036479 208338177 86250977 556170847 153237641 494125665 753982169 300467291 242924791 828410687 275797221 251542825 406641979 414512487 787302007 439439611 665859273 647800747 198821455 201454467 875752421 709809893 9131117 717015299 866045591 468347127 153197345 130066751 199220141 733945291 563720701 279817349 612662209 852671573 733021917 683685549 835948593 62207887 759711461 324892179 376427561 285639545 90728837 540770465 388046743 744935967 759528299 739028161 621508661 937634451 515098009 1815659 22727807 808279535 522550865 741450269 821629635 441344085 394913823 773083613 226958861 927923185 256901847 130362427 81091381 872248817 655212693 180942669 477592543 405789077 10569407 973228975 295640433 901842715 593041663 518202247 149039129 180672719 527700045 809459079 135462355 771507715 197894113 490373091 226497887 841037841 493422145 921313111 545467203 280779611 866555961 321653805 792742097 640283213 29701597 240900403 512447263 105651799 335080843 707954877 884477457 463394035 305267429 500301737 116623691 618329255 954886105 203524191 646567745 200008697 838572953 366880717 466531879 276694141 510489507 784393835 671132419 857189325 537937597 432914227 692655769 658842763 842683887 491886765 61183609 1070435 711034257 168257001 516182525 552267269 173945405 519463805 331752773 547899435 153257431 345782917 327279163 485816475 386934925 961586087 26824587 800042011 981839827 68168213 736366513 22392959 919679331 894622851 747163115 702627745 851736645 379089455 674384705 186695779 822991299 153972191 723419527 914446769 377337457 987541729 548496465 317614459 892522795 957130765 400648193 670010811 646071319 211866817 63691967 624067447 208353695 897435617 302062459 859808693 399507321 731561693 729586413 621536905 808265633 282244779 703547031 502025741 266871131 280570571 366937023 546098531 1797171 265315391 309668471 477550007 925178621 618846361 504866455 957224249 454032597 986916591 513564351 945556005 773102625 65627869 815500631 444512699 275622285 684280715 685749647 411792199 682124555 302120101 176283743 564921627 190561497 59119973 80596873 663243665 874253947 322983815 927019667 313746957 179854271 573476433 283645903 300824053 951498165 851444627 955853651 724465599 84594109 191716001 417598467 9340389 170316409 878043993 451841667 50966503 159184599 578584357 870485063 624222547 282713867 69346799 333122693 520514743 634877839 541733679 331818301 550351535 562105385 477318883 632432697 564453085 655956711 722262163 324998153 615341293 125258523 966964299 119573763 311552399 667887713 310862755 100461643 983136127 707165597 458536119 946920645 730721405 911807485 447209775 342064675 281693781 920052213 704058679 826536415 759645147 672628801 634313865 757283895 706183653 897836773 375138657 829067061 726496855 744633389 344529797 675001255 655510301 568130989 987757893 418077225 78056231 413612865 230638709 234840599 19430257 425445903 721548661 634027675 514932731 469401473 624621609 346747301 618607313 802083405 617604353 751459055 26045703 497534831 130608629 44130039 846822323 596856107 690257791 358495749 932634361 250777613 686798249 57131307 524151557 168905195 407641343 18666305 733786375 144582877 14297497 893357543 97344571 925254731 601542163 113102981 252735201 595348961 698671765 917885259 880242503 501642387 115337677 867348529 172037819 933649307 538082801 511467513 591859353 773578623 554798013 285938473 537686853 367279883 473093501 204757779 776162599 970201173 908456953 461690575 145186737 293020599 152895883 724459069 799592543 44411093 980923665 595130627 929380785 893235101 207245041 650383253 425560115 698386755 997195287 215437865 927270777 538601795 339644157 390556097 711051545 441245791 519638173 990090019 858526135 249073575 389741953 419850209 774112255 444602221 604544181 711345489 219173281 587442765 694733521 654438295 146675801 804223021 713493233 216756887 779519209 540293431 86282173 288024837 866157081 664656609 682818659 464501079 814191549 519172327 516228505 57664717 115791793 631268427 820726429 657876081 909809363 649558109 706969141 121759761 11583505 832277935 687887281 582510409 209974619 931463967 277151205 365822581 191846573 279939791 872061489 318406591 967199497 220570923 672824185 810355223 103679863 577139691 550922031 668809783 579021325 443782919 581342277 846941085 271808737 476067781 889413693 615640979 857415959 516620209 747742747 615033895 28576219 825057185 292646765 103083827 470414687 497733805 355386699 970156887 250306523 594721087 24067921 585944827 28762769 819209725 376319143 425285967 464879311 723445985 162943227 343651661 675184355 820309027 192251267 433014963 503061801 805648715 710031357 384599305 373355781 718548001 106218415 830117537 774013919 856736701 648901225 270433683 822018089 729370489 313938815 943771327 970511967 511691259 397858001 100722381 651372547 973898285 481596357 60905261 233629 442871363 555097159 254300439 613831361 497034429 173360081 162387085 844632331 771286365 949398111 760739157 376641819 387880495 26204535 19752449 533196955 234608775 968267047 922326759 456035901 321193473 145539847 830690603 592611517 526437251 436699443 810849713 667565531 810091575 116646739 295705133 230026085 123864211 790751637 428269589 270411817 339878739 968619951 746681771 675343621 831963771 181842911 881436917 519865815 881417815 742237677 768151235 628072077 230587003 729307685 625046449 60417049 43413189 284121693 780386587 202633075 249954903 798127861 269705771 383665311 922728607 759123411 948920531 360740261 104737871 471513955 288070345 591923097 995215973 156314015 804031117 642954647 48446247 13573889 704262761 831542207 411506461 196697491 340596075 827053627 583635487 99748323 454831213 913641021 573120581 681803269 100944655 569692929 162496761 56818839 59010235 83814601 81326563 883547585 654030749 523430877 130291703 310694961 361853871 864318867 15444085 598079005 582453683 703832897 30555101 954875461 145010737 541333837 874382079 231139051 920683639 213111839 99488749 393954529 763362719 861058859 624375555 21795963 434065289 479748585 873888743 42583705 687000541 807618267 430731395 977290657 386721035 738834575 743042061 955044993 796108619 311304339 233713665 25993133 512401823 650133125 229116707 513463847 895154383 700420357 235308157 581805683 800255593 734299325 533907561 996477857 670881221 438851935 934577533 217506885 569440007 483316903 547765665 564329853 331191317 96422231 907888895 627084273 649406879 516717113 709717263 367185617 506493981 890189085 176933257 572424399 347118287 238961121 184847731 249565995 709619903 130240869 474410521 732311213 416573373 972423315 503048207 876774047 752107873 889536861 990513715 443449821 562513417 628129215 54321319 648640449 175855585 468457659 910787545 104736051 779275221 289176411 263632765 976957855 899645601 380313519 672819597 994367487 837813189 758716373 799215951 286253007 286619269 492091629 992904273 460810773 162309367 152726561 765620579 592314465 378729711 776442789 436845477 304736199 913735441 208974769 742231931 722889189 716367297 656525703 205748111 276783075 242149937 201022069 808696791 75017073 796825435 440111307 192374927 454576577 193707773 280885473 144021305 767671955 31766177 932482589 707784101 30445871 323305621 333788135 283000549 968110433 25382643 790108339 643375701 358504575 280157851 318361337 731224219 934273131 655603765 2688573 248678561 357139077 320472369 555128841 164798109 994307265 521490633 485540589 384634635 757952659 225403643 232409991 743419823 7515641 411239311 97270135 958494869 835043961 157925143 165919847 42233617 304682017 761879531 231091467 359681729 783855243 614635307 897970203 517067399 532110287 178162111 996678491 99276177 147247513 717816151 848962709 749041745 91465235 696414059 376244889 592101253 899467509 678396989 650492485 911061811 585390719 215454675 45486457 494055331 524173427 584413439 641762847 865750123 478810915 990346841 477716267 45273961 951481445 123568447 577639829 979718079 997614741 227588317 250247521 582614235 748677531 46797601 42190489 711795569 280233445 79968707 434689613 664777341 851321705 621707075 785090459 992951873 249140901 559402987 960973475 334539597 305055135 510646987 583549327 785139569 324465893 45019321 37729171 793588943 284636303 861359449 687656935 50689733 796208443 280150031 193470159 755002115 543842063 633660687 43322517 540929149 94204599 983308877 571627147 215277167 62666859 785290383 110588425 66450781 169996011 438895703 779663733 932044819 719042171 842069243 356309817 769525413 879048169 342454671 618030787 692274031 320169867 846048757 169155475 622668823 707366467 891425749 743581735 565128329 210205299 764828065 6561033 503371767 756829451 606210957 285919695 641967583 235600511 977907869 641743377 1140997 773479889 471467417 759621745 403074165 743461255 721948175 172253081 61062787 278048939 458558297 173319485 247624141 87128023 660683159 472815893 324450869 326531625 440838833 367044581 118963177 877857351 83545943 139017335 192111709 374941533 245146627 570083997 976139595 203940389 173254643 974595633 956871097 664947161 80833071 489151509 336678645 266480963 356430473 815136563 590889359 928992175 100166809 697425279 492694631 9008629 313768125 352659697 290738593 714646897 459213601 169614991 150756775 54230795 395356339 446789469 827049007 251898929 299511339 769408883 622500659 90045913 128784651 470746857 106858491 130878849 216702105 845815009 996713999 993133617 737167079 265220741 926533191 677226867 153721291 214713865 534367679 672224865 598389225 684295591 298054359 690962073 480875941 220506271 870076481 853090625 114718259 973333053 661289453 248040453 416432777 347682003 148219417 854867487 321209959 149415097 566000201 846273353 892948823 94030679 782294601 465816269 777016745 62663185 538120493 349884025 713203059 65838941 890423377 587656095 282276759 117121459 924402779 921870371 742998207 269779607 131193399 940339047 551073367 413871507 883982359 783178075 90833819 56956729 283740281 723240821 245638281 942240803 572242723 492546483 945703147 335497715 999783965 111017883 21508431 814093909 954004157 610132285 670539791 192607225 876050593 670788141 367511115 632248217 604730027 544214667 887069419 443408633 319283721 640375805 232837537 646340579 305012527 550766257 650572769 562573609 940786391 72586331 552029679 864627109 804757257 896076093 979461075 697172793 600759309 612646171 703204443 732866001 998620027 924138051 474181153 94118493 501613869 632362637 490582659 207639511 220852809 504521301 698291373 830777411 941043769 921066883 888842381 2897835 536235955 267335303 332849117 113370913 343067059 41085267 493189913 650485183 927173243 948600935 67935887 340615591 846435483 716508105 465213259 108241669 977354213 762121737 920462373 800093961 958580343 977036603 622288577 943994605 247295923 590246399 468398725 549759221 21260101 74089083 127277983 512544107 190791203 16646493 240104971 846131617 194911113 676701401 160643209 313438961 4282363 502631345 379594143 218811839 914849349 822669865 445678751 196694129 474207869 586406159 328270495 267207805 929477371 456409275 847732099 229444445 200515943 891639307 552173295 884985233 952859565 107838819 208913751 672189349 600930049 130792883 340228335 6564651 911390429 371513201 294489277 673116605 955781127 921833885 798053765 98456573 935297933 202128057 288728791 177361559 447173567 294719447 134588429 793494331 319966013 816397195 866149191 717466021 934481899 691396341 861931631 700611221 692521971 406688443 387391025 199642839 337016009 863079435 609236233 523111997 677612077 373486491 558439989 844052641 892521761 789660327 646148797 114932453 625648879 158903289 923453045 175903733 636035631 744838367 256830193 503283137 921624507 211097133 748932243 358136389 571379641 146444609 666285955 590636673 573340819 144983301 789123249 465141633 186564607 359502051 540072149 608756567 779145209 121390547 38139761 613123613 290969541 166271315 18891723 253747445 16129263 935174763 349793269 529718027 526966347 508540583 297633223 483208335 183185655 48689949 323739617 328732605 615198037 949524847 289489067 842442197 136797713 966499005 596582229 71384099 753695011 992977595 919525591 663554297 289524419 804772509 818701043 659090099 949514359 568300065 487337263 917563567 577154571 764919949 610328029 841922139 660910229 279643567 611607315 726298151 903446381 26251487 569768373 666970765 944810813 657262075 304310375 634423059 598622445 558106727 648913053 619808575 167922865 212193301 404194189 136764325 292222729 199317111 1543991 148178143 612157365 567789453 639765349 717396625 793374403 238203615 407456935 595145313 568054153 822889081 875003219 365625605 553275809 226053617 980775565 36799799 455119857 525592425 910806329 270661303 839548323 409683585 801189641 946838867 391925549 486859629 197099895 631225817 608206155 237984225 942394561 366699301 143855615 138606619 756306161 158023961 22141337 24317921 560565973 446870433 466076075 905639299 633942281 843456429 195708433 479987413 92905705 382728761 301421553 586549301 947201951 969731909 490345655 596885901 897705755 740419807 683301141 638040391 285888279 982746645 867276297 185018717 238885393 203040259 266913239 986019913 910818897 459310285 354992395 668112405 788017897 643155097 975582073 756242765 956312753 31307935 862179135 25672711 645867337 219277843 81395647 531891941 930898457 907455293 235000999 700727817 322262865 350247011 738414825 541158945 527384809 786596057 915937731 408045415 854962083 441632763 716125115 296266391 374382085 3619367 787654553 301083641 442715489 283847627 96753013 162661975 257510095 779036247 239407527 311072779 482549295 991844679 87271385 253296627 798220071 507921691 601402355 703059061 248971819 678449761 447618859 828117117 426639729 355151015 978231547 351121539 793934843 557367177 271641643 653938055 748185743 726873515 323772867 448868365 221789375 296116659 425225243 386093859 503103969 46945625 595516365 40468319 228716569 276664403 199493311 133038051 865855819 634212195 899642139 733186897 103937067 443300693 59299927 849736409 320900399 435421181 323925039 677733169 809806743 645924145 377517479 198602135 987082349 973018071 551968779 791422161 726191999 738831061 319769583 445491759 535022185 553404451 540105775 358124165 982631303 633081783 868639985 923717939 549518083 959876243 120268961 693993757 555736015 450725317 771180273 537545141 119492255 487269723 630302687 113067501 819115767 69332337 573478577 457834311 390886431 547318059 88218351 511358149 397569061 847504817 636691311 761825787 13895395 357071157 707237711 317266425 784753401 892114931 708365553 663257699 917444303 951431979 801175299 729273947 457696661 325316651 888339833 95972241 158178885 900494657 228240013 77527867 35266205 637584587 23092677 90760983 639975973 701602855 797072111 153541739 338175791 429055171 849307419 984337671 894096851 994141455 765907371 410549823 208832753 988526471 847332669 920390643 766668593 586644397 988226753 120098697 366821379 443194633 222597739 74129645 637431455 841895985 636951223 659786137 838637831 814004155 206745959 377735 655811841 876913485 322636939 123172417 98892575 714827919 60744565 203647445 798128055 731849267 544993729 530440661 460708333 740793077 824652885 31116389 998779557 399403159 260930653 81765159 78124435 983595233 981174347 540374091 266793517 742604457 346658013 147518343 50735285 654614213 188603927 788768537 785394993 316958491 8184389 846990025 826978929 485995411 854056187 286602465 401280273 685512991 261876759 529810237 547284589 302350011 68349115 653955127 265038255 878313577 193508947 748765109 532532937 140127793 315815831 440637993 885144945 387395369 434677631 43871621 894675495 725181031 749779537 138784331 852818229 2680849 337641627 500314751 528306601 878380111 454763565 212901039 734604893 800901715 17402151 40725235 419632369 791817561 691379947 207359465 561169103 619141027 50954535 514354101 929995811 603517819 591395535 444266247 145117927 380041777 101057821 756980757 820107741 782035747 155737753 719378845 85175693 996353711 985979917 256857063 110559557 744961347 611099019 936611263 350541855 371071057 465577333 928361851 668635131 893988689 212348777 413805563 235228801 486293191 49146711 252628901 639510049 963896635 734968435 323435367 369582355 272679491 420232249 913796021 203378777 896450933 968889197 356404625 81886907 312882551 521915163 446911359 305929671 642693361 357644695 503761549 75119317 790658455 117503869 806410067 768393225 888957729 570561203 877022959 628824393 472690769 320267621 950670341 941328197 490905077 55143173 418163653 519597685 480389597 257482065 784490213 860916249 876027361 127531341 840307365 769845051 677866215 455283783 820103623 718216619 815072727 833198287 755965853 135305473 572275365 372049861 862776573 893612443 246195529 484870475 177743683 158172069 992917189 665210831 550681431 86727691 17463847 740879619 525211813 321145737 523267967 373417191 433254951 120295327 650280165 625887419 324105561 506183057 906605951 130775565 537891649 571679605 817092725 416200627 34048877 400839455 559069691 619712199 824218357 491733299 830534729 120159663 369591671 344292373 524056227 778432789 228417047 651241207 339937873 68950765 913863813 290322131 109713833 88266103 540722681 355597671 711339267 914509365 671930413 371184701 112283071 437546737 269381227 599356323 610515277 92484803 415253631 168682419 441561625 791808263 392181183 849922381 577585313 648031837 344192011 342411033 503839335 338124215 649287369 572450439 943125749 745733957 714383847 452128977 946458333 15455621 640354011 216371701 129521335 541152827 598457763 180672443 926187049 990388595 16007621 693385909 366569179 210764417 934498639 467225915 811425153 355884291 58577369 508420717 70621395 260092891 698849153 104708915 938344597 313289269 926213099 234743613 686972561 332818569 84427593 515409411 364473239 448390031 597071693 851454919 263390341 110101325 806565431 800006799 933076795 219279887 502938063 149166381 231609763 488519019 773383777 193568825 459290801 843818811 169835461 746194705 742666589 689477795 720829527 717803233 366421419 373604113 443687935 246786967 964487589 129642809 336289579 751308523 278742621 242886677 602288591 782095709 247772395 32382445 396125293 195638071 885383541 562605897 85980939 660352905 721877027 9729025 120471091 211630377 605383721 518506031 874345471 596269499 387990719 116566841 764521229 287099555 155852841 585473225 206385537 357576213 288153777 7928789 124402701 187521541 972065193 473315225 986404579 413211449 770093675 256133783 161328837 10315317 845998425 245174175 983320053 71609417 915171037 850821827 199735111 372822671 218414699 342150753 414579467 849011943 61696379 166854683 367384099 442091771 231558801 903228381 305608949 240820535 76943927 415174365 893160047 688599509 597446143 935093911 732353799 295487449 980511105 697131983 600576955 113307141 182554979 262325651 32680721 601677805 540098639 756944947 272436249 805196009 318520819 510397007 675634535 508542745 99809807 119165385 323723291 873026149 589016929 304489167 915071707 63306109 222529205 770671315 992111827 308978395 120680411 531468691 635789499 229582269 289338545 8322581 994772435 86119723 151295511 316731297 91770079 727796983 104484089 987832527 133763373 272761529 812901189 552290425 788890005 687565519 142384379 102704323 524015987 396009829 883535129 800768539 257790895 529602409 356888747 234901045 615193015 923168147 851983297 796210445 931335809 696045413 495323257 30549989 765784971 863095845 230003699 762452045 294112219 18907621 185573211 65493783 645627649 803286651 59967201 955672415 977911313 120131211 30074559 585445771 578568363 197101177 254321721 933809733 322583029 798113657 210297497 568957827 407326107 378711681 59848753 491276673 253589719 569658193 903646555 422269379 302571875 16175475 173426553 144607765 153902217 999870263 100176885 230215051 554766869 119033011 367215427 715484547 933149023 949787849 539803613 771254943 233839171 899543587 711913283 636448715 391652907 528797741 295026433 943995711 561542401 806686755 173067687 5991795 370052157 520112643 853102547 540543021 884589533 416583063 874651429 559527801 929407847 894291821 191862601 845347501 22526699 626415583 132374767 149307747 227576317 161004557 441005777 297383551 539604157 598747871 824201395 667460911 504917713 26401287 606231135 778676199 105010277 725575929 262918823 837217121 453666611 576609273 176999525 999336867 594041719 369845007 201494907 906096891 425324789 117842185 702055381 306789115 164567041 333008513 491022435 855381375 832093293 627643607 398225439 712932267 423173271 147671857 421773069 63596271 479001703 410808195 64292663 818862585 769860171 169773957 685378479 960179659 76959801 618026931 737251215 152501927 290856113 385043547 758463739 687871769 110919093 913514121 358840857 146160885 241993175 839329557 119968287 880080983 371496235 284062115 481726535 265837221 715849809 701284249 425530065 144159627 503227759 767187237 117177353 567127547 284350771 275825731 335240513 705769779 633436113 506366899 957580755 41047991 504731659 492716027 191335969 181312083 329435173 104374893 527351447 670928667 847348973 865981471 674875555 423765613 749223099 323327221 709115333 121010155 20608621 534639251 932855931 583106435 173675111 839110509 212016465 351284327 647734169 508575159 645939161 170533911 251265145 478393975 975898029 256064339 159717893 993020529 199519089 38714153 395150021 394963253 597611979 456556527 49320901 4964381 581594737 408045119 31533979 209536841 552937245 177451005 154645863 215551651 322745999 253954903 774621647 688182487 35602323 681591745 239427585 158799457 725289979 198526199 355381425 829851263 508003233 566306299 66472737 222864441 383251305 417277981 87204373 90015075 874603577 376493039 948745437 906392465 794358791 884266573 595026509 744367397 595004109 76392797 909490627 532012615 252483467 290718601 600037415 85546983 629242189 543456391 233696489 68914365 916008485 627382355 422391035 705116235 311500845 990223921 797472221 325158359 842881673 141849517 992803479 401885555 447589983 36197787 119786677 60819703 128849893 178665751 50867533 390931203 953537877 928923271 352849407 785719807 655202799 184103063 213938673 233006363 377969921 752512313 329774289 570799951 288176857 580820651 19014101 581345373 626500051 435598961 798441657 925566411 46272337 393796185 550931657 200288235 290176703 321646963 229208525 264354515 419296909 330979615 219351839 549432167 437941559 63807487 678208669 570637387 613936189 752060161 134632363 23748339 403797803 755917401 896298041 402538133 551701139 136831617 840527295 710442289 531962127 469074753 362981431 231372433 90315843 433557665 228621611 390245189 818987989 693541881 636333223 463362979 120014973 679789283 336782401 911149263 963892463 194413635 237319193 465428397 780405491 404690761 903150549 825842671 807099983 939231331 191946659 63216399 101323223 456260179 268612921 582114123 895882341 327581979 456562389 268926125 146221533 850217223 82300989 180345349 423105061 285697963 982187455 447654377 884618805 971520227 189697333 303825851 360425217 547362261 719410935 490552995 169502865 886728171 557499633 168096401 328337131 439762395 867489677 552808767 454860579 614914209 618022083 763854635 530679891 597490305 558596883 762588829 681868959 422983175 964187775 353128103 593364015 450537737 270941595 485189153 507099701 385976735 360914039 816694955 405085677 599185713 434961845 573517229 274696599 622893931 792360315 117385047 311041919 418181441 658868343 825508257 319306489 480862189 425950943 966872909 975561051 204945909 756681585 890698979 876968201 950418983 933893747 50973615 582574191 145802899 465968309 976987855 640856829 864375193 264340107 975480865 867235375 505701595 953179861 173790029 608214663 116593223 922080759 154652865 592501901 155404561 208931555 559733945 391820757 585705653 189222411 735446069 598569465 946167285 549504625 126241275 415146909 994432993 716104343 777126301 693597033 500248267 795452817 950246513 709648143 855593295 900498927 515485851 349160523 177322323 475262675 888757247 362083293 699310849 790866659 190380369 545423507 935229903 501081933 272813319 422817339 82329977 991425223 90732129 551905969 728179969 671728271 662312553 200722137 697458103 160383853 672990957 440008091 470601263 584672939 812661641 555206377 333553985 681345317 489427097 35028159 398666517 884957747 620371527 369539101 668984343 465526977 61532549 922187793 447619065 437877817 627584263 746707625 835209913 691099541 412042321 913142785 558266779 585359439 122010795 668419389 786763819 378280817 78077475 734759813 8353599 822818951 968175251 932099339 213862383 267131561 600331931 281597963 254919845 128734579 367000739 976062919 275621383 106500111 566340061 192988039 253468687 277691943 840538429 468504991 440537845 881851635 861620871 278679659 113427521 85599281 55316289 10513225 371434939 966911783 505685437 269876647 986080891 997398949 88931859 682015735 23501787 249630463 256035107 411480241 241170561 687573269 204183445 731431767 263713111 50464077 701812441 221379447 338522259 783047059 597671463 590527903 56207023 575845217 563278209 129129067 663551859 901554865 217826989 368167295 376949993 382288141 505347645 495122563 233454181 137401473 701784711 497985577 632907139 729566373 605600431 420452141 897878313 917972887 354875289 350243665 966305409 728677115 898589433 744009311 497688577 266522881 170939973 611195175 488217189 774938975 439361471 428797573 947277745 611850835 217382765 337860189 482865201 423222179 428519455 489101975 722994553 190321055 770902129 982061605 987151207 609973787 632981951 870131715 461055261 581866871 389237555 152685107 398182921 103301017 698645695 863284927 866978013 308825327 875844633 572163255 355408025 617582957 27524033 841327929 466065789 437260693 984720385 552589923 675771927 266891115 689037287 396194403 968835645 504625021 341513293 227545195 431852551 913306083 42815187 717036467 197010655 369625915 476878051 327554685 388216941 85298089 80520361 248705815 440375717 895071709 447322143 353735375 933618119 836364301 48335879 41744643 841538389 444641527 347795177 396520467 349124889 51271907 610148371 308818537 490876203 586718365 167703711 255719799 980069349 985303163 914774125 296522937 482798317 997932381 105158949 642390705 403189293 378694569 4466999 539153383 161586395 92808779 177641179 587318769 889264755 36571069 574878995 971260007 328587193 9065723 823010471 538871785 863999415 230392459 305029925 333465381 791426759 512882555 61812709 789996493 727698303 71535203 286863627 267562393 871601095 123534945 190732413 224126797 812694985 978043417 289341163 755105713 368604925 150021307 41009869 367811739 126515483 192901885 966121315 538296801 810848553 629665823 21720503 789271657 310269555 257069795 432553369 734171931 583140749 227085979 382410913 151801835 884147029 40676891 504265005 820851409 843566061 443248325 790935913 931456721 769318339 855681401 621155393 900110067 427193995 699819947 603400817 33506125 218369087 897903695 587282809 912458231 716963877 779856099 507737245 107988497 677500875 709203053 160031219 27793097 444199427 803179643 985682767 823840849 576710121 364204069 389550421 262611169 808811489 314246921 512688745 276195261 434371737 658374731 163619261 882479151 676785669 939790235 186322507 633215111 984467041 341049391 926091217 168311075 115471151 454704583 26976729 63268195 15030847 371413925 607444657 926517937 625014435 851161499 912586867 8222081 7771063 845693183 611729407 979564107 690443297 516301741 673116669 192770707 110243531 332198669 800790493 267394017 400834539 608609549 585611993 925208779 62879741 613527841 950397167 567305193 978753221 170010443 804270055 502029531 563697743 391465745 728850003 804930385 674173937 970404477 730990219 477156343 772910403 451662121 947728815 237866379 906473773 311378227 752750247 982448591 264292059 711616575 247171363 909389965 255087295 973476477 596182683 121852567 338174871 699371941 304883025 942121669 459923817 420185073 190874955 106617085 245533309 450507563 759618907 271623977 656448617 126682015 620843545 553197623 527589131 752546595 219398371 804296485 273412487 485158425 40642789 102137845 60983109 353467491 568757773 523352241 406641919 317096559 291512851 269369451 860891567 571140663 280588151 749634109 716584343 827959863 484056707 695482441 336337223 753449077 787195463 66528953 537378447 193999745 316525977 348918975 422748561 562508655 387171869 295958425 298834347 939333855 691328311 985984901 986881677 166096373 305186075 346240717 553389867 663014755 878005693 184398023 577220289 989127515 358418403 572748491 766481363 750235805 903324689 490726715 893879597 776201585 295977879 612326017 140956387 841989795 795779983 495868945 764581201 879969419 235788249 642689379 733031965 489993733 389253151 607883515 112542003 902916985 269180109 531229027 522229701 667528661 782558239 282096685 679630673 336720271 10852627 894966515 953650331 740215205 280120433 227749463 621507759 824899229 580181963 1264387 734285281 97943431 287446137 737960619 189808335 96263927 549293211 775412999 983326043 730165261 204776473 451924699 775626163 3311981 869655459 705762545 668448587 582129737 278850483 603079963 155444189 182500691 685643655 272613169 981816943 132163021 583937575 51889691 266222671 76600955 908783461 28056253 886732813 195041451 91178201 536911117 562559625 879821619 23943905 159962371 755208679 70448501 128709033 703117731 486068369 303454291 111236639 427187703 504062013 182805821 426058491 311910417 985944293 933609769 885922751 900292107 170545617 833150869 922659249 750704391 392794763 15882119 386723555 824756271 904845285 362457743 999143211 166074295 741710593 22070209 145849645 243186647 686574141 391561405 109420877 350394835 707722315 769640615 956525247 121636597 246938395 557400369 332392569 702946703 956158699 966693773 465437243 369147899 131915071 928019325 297636239 39586715 580882915 197138501 311770821 835529179 107593195 284612531 840351219 848575273 669681843 651228447 913731579 528506885 77465825 510990437 207440775 545150957 811727201 907501293 475360259 279333997 451264101 192808613 354132651 849465879 446916715 523516163 978015101 175969157 821458745 142396935 854421571 371928665 238314199 959575859 424703883 961010749 845194395 782822041 725498799 917420517 616119331 910391245 815092175 462214155 587571795 179323631 279738067 825990767 510467155 266375589 809071213 552262877 33898141 630669339 901786641 90104871 19573227 701198347 832097283 811063079 898516543 25546671 599572043 988517823 920832487 560415441 536420791 880763353 744233593 801221567 381303521 725561449 637595087 920037963 730969385 308955241 23211279 46457561 247913909 346488281 320418723 68441931 477632121 29924549 275738689 446994449 677402413 247716415 640106981 317705505 771869773 186018145 997095633 484800249 537791015 254369869 73962901 561158561 507874247 1817389 493276675 341474213 273605125 827092789 123786297 15038747 918131333 716568991 815797145 937215651 111208109 779359403 726750159 990603875 784993451 588288677 57185745 826520327 528927869 744909023 265969883 591438025 541277405 802031795 74171761 298016869 321565271 139278979 32185951 888489505 847054907 967908539 381451195 997690059 833246111 696283851 774808029 798428347 129850983 451754029 249013871 907046093 493975607 205571431 223165783 309127019 686044547 744324863 632324047 93995391 740862593 953683081 836976463 497235841 52731953 277976479 332862109 327443055 788097373 686317795 481516743 70797009 719939987 48210687 293168669 469906355 198346285 246539687 417639743 809566123 793033037 87534741 625743377 367897049 218501847 296913545 710601405 226270435 861446013 955863631 32204471 216228853 57323961 820452281 473175999 406805961 704325321 529003171 148610775 104474011 877415349 849113579 438478153 260800561 286266961 579408509 525103021 659702489 241000497 372575821 183528157 66653803 250730935 786243413 208694527 386161221 674735371 756764309 594308221 745563467 675857693 243806491 218966285 294214381 310461605 757412597 297035947 603507747 708205861 454275647 543132315 689800295 131028451 313174043 692479081 21955267 970804467 11529653 922505449 184918211 979053607 89440061 875184441 563713405 430679589 667299053 913111483 883866257 169819475 232414731 673066779 452804389 701113057 964429789 929310033 975687911 897890759 795120823 740655253 603093259 795881415 384934131 482386029 141564755 648313447 902009843 965894821 58504451 290531833 430470435 195739219 515319787 292148883 431412979 874826959 713688927 205304089 21343199 790023363 221042493 600323631 932692327 667424535 596194543 225217865 32692503 678876671 977377375 597888413 964382083 397186555 569076485 327562539 82478913 577703115 714159329 597220797 617493493 525151359 723486581 53607395 923515211 316029543 74240211 225049075 54434803 577655843 18380945 181994769 587640489 449592471 896469707 581854753 175407917 506924781 468434729 36734165 180808011 797640091 347817433 316186791 101140437 947222877 612385425 217385941 987551143 925493813 484275599 48918633 108359327 430296691 280595609 747243827 354033835 684029865 957267453 931755721 174169787 823552947 467246483 991700621 217443787 240977847 786256825 418649511 872424923 691412769 540198995 972055559 723284727 859414691 156530643 295284583 995157553 543802171 997623339 934303813 246667941 27407661 13993949 88709353 279408753 208462597 299483371 927708773 115978179 93530775 543366119 110497681 386578891 411009537 269711079 971637773 942286789 748873381 188376711 706515777 185560049 224551473 499330287 969151325 117109405 872128919 101517517 347508315 737523479 744819221 933239383 124808439 291502779 830110769 684260427 152004543 458398701 751497395 708511983 697691135 956781331 579451827 133112595 848434383 688211877 586065803 224729867 210748947 26326295 412675551 800923575 460318577 203572209 166160029 472917883 567527255 903644345 295142137 966116167 264393731 326715139 910080621 116439955 934396015 116905067 598131649 378176857 874031975 117951375 889124349 610397475 306296955 393203997 343273849 178990077 842398465 196476613 56682191 209965695 364966685 695984707 62185445 114335685 516851379 249487961 159564005 659440247 359984759 811430863 438626117 374460867 711097055 377970809 674562241 143419999 52407083 608008755 429093981 263707017 575553637 860448219 829194597 554882567 315766363 435704927 911680109 55291177 338227881 157880751 253608019 623652803 740949419 111839175 377995577 230871861 913606539 43858345 758875531 751799909 282586427 718287453 253698303 362820799 76855151 571454967 302049681 544792893 620412331 779975315 908416647 428765017 603978551 460514127 797122921 803609629 271997473 871732569 589545741 387829013 201765443 750528739 443281553 714994009 722367549 376662051 595010647 28763269 851455095 673434209 977431821 944267713 848269347 581156579 779117735 132046011 757486645 445098495 612762975 156657833 48982129 655873035 37624507 873916745 917609565 91270765 178779785 323508195 790810187 611043469 639667163 972695619 813889107 813078237 258946061 372825023 524027221 510322649 315660227 739443255 121618937 508276483 147770347 569763599 244891055 280711139 303207097 478200889 814819759 349232397 633470633 845380391 896833531 221996829 834821501 213745627 46816857 305330609 840239941 312877529 190193499 40409207 276597075 127948591 623879511 234159137 243816259 528314229 546741105 984497511 621359611 330732231 490466445 204457483 877120167 787113677 958707295 410495963 618629049 198209463 732523613 807387045 776398831 977188663 624335049 871581255 823697229 345079693 560793001 589775263 387278879 942602367 614845901 6183835 895462905 950132317 276771793 102558509 71545017 512473339 862092049 290519373 855596417 137407161 916489399 614258685 578652093 45374333 482553525 691267915 136106533 917616563 113812673 998483013 920499121 975135061 236432219 66659337 926573735 565335263 95003853 999461557 170572181 391716951 878417957 232275575 565358155 847959115 892225085 829054081 221057257 659814611 707121845 923316747 18927313 531822219 402403575 109446489 567675313 943158685 472017711 651683507 248540285 586611379 365862745 881408879 288746097 468118021 664363571 170752739 249885711 100038737 70115397 743013237 39610407 181567967 378057441 779057037 799893705 428816249 613990175 702764701 124714071 285034875 700622047 527147041 876538991 584604351 95521225 429092507 561874179 912881069 460534349 850719381 685201219 790156593 648799909 364788127 669223083 246746053 46722509 105592663 920875011 112716389 149710995 332871773 210517 240617367 428057731 523714395 799304693 361172073 471801077 185940483 163721089 256546675 555968525 711717393 586453721 866941393 8184241 945609799 716014639 469060653 215627409 538158959 795394803 881260977 752036133 342953305 714535651 193326357 105148077 188947939 271085827 691570583 827550771 441535467 270929569 65648639 793576327 640245857 609978957 829929369 665382465 579654449 648473831 635399483 857220799 57212505 878505617 629796933 507113773 841298139 705203129 203215261 696250999 538362817 730584081 611682993 150824793 544251163 160771993 207602807 413336403 111920391 661008785 690663531 196825515 874753701 536535943 19778455 713633905 846602015 618735697 221974921 78653311 535851175 161654025 144256853 203110263 62082937 338758165 566147225 677117629 603338455 139532319 892347007 876337283 761012235 822682907 106422449 510807491 247329639 737051977 526608999 401829947 890364739 468643883 755757409 867028341 346425605 366286731 233340641 404706751 886809621 271275137 390500537 506494771 597396199 688318057 71777855 713779377 624415731 301044707 670508879 416324833 142211261 433094113 984354641 654822709 174370511 933110419 473335859 910263009 501231801 106089591 961055593 577939945 268199705 809590609 573438197 822699539 399341967 28094765 426587 335010289 937780165 537218399 259212203 543755227 768251503 320856965 757544569 633037041 103314501 331456129 783029989 972849691 454509835 22805887 694468755 717472521 134032009 350490871 868006323 999978803 699202965 171756961 143768061 40904411 670953223 196885891 890043307 660872711 352153281 474765033 239577735 398479241 471372973 436637545 808253149 455292409 971297215 957931229 397027459 385868469 727967471 48466025 555697113 9900265 754296385 557997947 802200773 656014979 359196093 321702599 423046069 425570107 650816121 690921799 316844703 962132881 408116109 254181699 851163649 239824335 421069083 289829187 202749921 955842309 700367693 397528863 556670671 966449673 732986199 740070641 299329247 90312319 809657969 227479071 838532785 789616587 224518879 715199571 128604777 252968993 520851179 48106627 633540791 341064567 194055653 62492139 481565651 488454285 787242795 399683853 786475127 135553005 365214493 364019897 734161133 422567653 91952167 470806273 189838849 19506319 757770167 497324611 988623883 4835019 632313165 323595297 975414759 462350147 385475943 809842311 491120125 358531683 575661711 477805227 795833659 17115751 748923483 715082761 293117463 543823437 906590307 673808741 373271439 832261853 329044297 219270093 128998953 817644457 443680695 76751761 501967093 284868617 52058465 915501905 883128967 522575901 592211967 112753391 929063935 787097037 891422805 572769433 132631553 24775625 646725933 40660929 523749823 186769035 269060185 18689573 111086059 103470417 238298547 143836875 220338119 756721955 766984733 117228283 533860885 271075283 625032833 864170317 2434601 939495673 392852179 935619227 188324051 896232179 700443915 295835401 169810807 141492205 946350637 979197701 665148663 95100629 977523523 461643331 5385923 272848483 653758559 153836735 335260111 983556633 261361051 225988027 19434911 480805181 826693145 81646279 143224627 165604833 945058051 462865589 338892317 977133019 318260877 27707553 913685873 981019599 880510705 320917233 677953743 544741409 558859631 576884815 349122907 216688645 800622931 475647153 1702599 234166385 702597357 629135955 135549509 435898661 194548379 306095289 911024023 494637995 373115837 717684143 791808001 240172115 463668159 252416585 183769937 315463475 626262801 800255973 265463007 903205167 312004141 405238565 922903687 674527979 311651479 534124277 527645617 630025689 432334297 618863501 653197387 293353779 994759813 424931685 467214283 188908791 761933621 278938691 937364015 739633903 811939211 214984243 650595583 973885865 339081009 177918091 617326663 418764671 506814171 405685477 265396125 201082769 99996483 179709477 705874209 430790345 184361513 218310009 124798071 492006099 863018841 416928085 305540561 402243369 155204005 448482931 52067553 440333837 571215335 208970457 834253801 761586567 373969921 786149589 79520941 881396325 509127133 677538297 343770491 213140289 419661423 119666721 704188459 933697403 375584433 579212913 220366619 572689465 72653987 95075417 31647791 834160495 10522705 293784201 789578199 119443157 113920717 366071805 732354569 449853673 72049969 309840125 136438595 281978867 977749919 118159891 501237133 312961285 658754115 887236371 403921265 848995573 676567117 504347161 166391563 81255783 636554487 757358731 362164981 64240577 921703557 414424597 412678997 607362097 879332673 591124905 566655197 916938421 51529341 462225541 952399297 372151815 175734163 855516973 340255421 944023219 115034343 63908973 246886427 162008585 171580639 17549401 753193641 48309535 708099313 110298447 166757563 155181529 288118423 116604145 971815727 118333403 984968273 881800493 951970925 19106713 406069931 277185845 5605733 636436809 347886391 948167817 653329033 146874859 699805071 199866345 827044569 633573449 873074773 173186659 417820379 783581169 356835893 561322573 792265631 34929213 588617951 738272321 966016955 47755087 823910413 175693347 824935499 853013259 379786885 692791329 222005751 848466467 138052365 544071599 471724011 456432913 599096697 722512009 153623265 923762963 340548515 85787057 986631189 672619825 669466733 561072759 112196173 54725439 790778051 769024877 366290135 773387985 770369173 941077871 883200139 960968777 756586973 75233443 221491399 288186831 532046241 966202739 285685359 934000211 218606311 630140309 582666483 79193229 946061251 801454853 603646793 212931583 437286479 538258183 580928241 51597297 664297389 143332647 187280621 962436721 974787337 605194809 275362511 938363735 569307795 937649497 926408109 329356615 616829575 278202605 620270371 948563623 554922021 468114849 718338649 157320359 164157625 64504167 824092411 746909759 610007701 625102461 288314435 9277745 53339155 281930345 67488237 874164995 635698327 500911347 483921215 629670919 586406279 484965681 81812489 773557843 989569881 821463169 512186783 565967563 987611271 36362117 146819039 101721107 483550865 692128555 120247347 321755039 511780613 611156391 21586565 559465125 582901873 951956339 78611533 832533285 641783665 511542871 472587659 37856489 693604775 657061979 581937601 468236417 655952063 360404183 923170561 31027267 708851561 265496421 245153505 365134675 449859681 275771625 506311037 221228181 541066599 687089299 596033149 806302653 446545991 801794769 422717455 708731967 91562965 323133029 165412327 721778271 446103271 833172305 744904775 599293477 581324129 664329185 911000819 773652065 539158831 27656617 50099771 30133673 744100673 903601285 420112883 460498783 628774035 49025435 821986427 14715051 776425253 6553173 997823415 763981181 856122629 311102313 217161753 459462543 958462785 526583763 813499283 5246815 306651381 705037271 709057189 234915637 162111555 225909249 458710359 157324323 413477207 122909223 686676533 618851073 784583521 161993825 411818839 556876143 938530717 809744921 310023001 36739797 959539789 984852725 776427107 234937187 490820537 800220143 672989475 420977427 855845685 423177791 331602895 315928737 939558427 223865963 39340325 346759323 141079759 257645377 491608939 281223245 50646457 818511569 548121455 579515599 998281803 131145595 284657035 58156037 539109377 700008673 46560407 686732181 857241435 938734833 912963839 885640685 527674085 529136863 994551213 969133899 927737395 629067815 667640091 101053097 822761691 540712843 661606979 612678355 269126019 327393307 311461295 619671897 642606289 849062953 44868203 900782481 427336829 759136849 793429775 798210975 170489403 989651065 221342903 741407079 900343507 910731467 380175371 973138333 819975947 784070845 729010745 188402359 552659129 612020747 50029047 137246197 828625331 226097593 629364355 600716897 298050781 897329425 997357219 316651977 184204579 159334061 37403047 385220553 252713591 182702435 433229923 199947965 379723471 333566299 486878263 844114127 420438835 923249921 864946695 592842481 611103401 118070791 63536453 101915095 13838151 154750059 331643107 618786565 526948131 203453809 964957795 861950403 42892131 612685989 371098313 364571167 610645805 329255645 779124131 540442611 187519673 659375409 60286473 447297503 195465789 968760331 620907927 526882379 323876091 172060179 987370869 450864745 523729985 126085949 82090833 45583661 656924253 720606665 692615777 24701531 487083947 287224631 694448739 164031865 26395023 34577749 940258463 11452121 946989937 430948153 24894175 336443027 494635459 398976573 423319167 41392519 984144129 522425607 596280663 458410589 100486317 688325249 546927315 816218757 806346831 449345249 665494239 558610231 916038781 187158689 871590127 417904757 763831245 234690441 189242117 623196677 981537253 370703267 474593445 343740025 277782125 704994883 261335517 366088231 420084247 207435013 311053893 864990771 25959327 59249871 452530681 307330947 278526151 12681931 38020257 50019781 900358487 399797103 393613931 294199925 971934755 291448183 410256653 598841299 787362823 174723303 272379591 797103589 208562915 443505675 816546651 69180283 737770657 337018489 904873755 162262833 78994995 486983689 45300699 257173091 409333909 739747811 765540859 780204091 131792841 648163187 847955297 407944363 264488407 680952683 287534201 83916137 440283093 933304523 196139325 66862325 937719001 579161555 119975465 238955417 893739273 465175825 308802881 751050851 478524045 103828059 484718361 601494061 429818007 379536331 538978243 277835929 928373347 197182149 391704029 634525963 984824371 935236343 973435279 761349557 286550095 356113749 142899079 827304593 178688525 522072345 763485693 954837085 309095107 961811659 544366507 449634721 908356311 63939891 984733401 501548975 90302641 350953065 68089943 627263391 259703749 617139911 800354939 785402193 826684299 866282995 234947105 345821293 469897861 731909079 934113711 507299171 754139457 189276585 720424471 603563117 253373775 838846181 489252301 338215559 590733383 160472143 138681805 991633023 488459983 849067251 366851233 305514465 589763983 156422437 865316695 675606533 839031353 686439809 997098627 716376847 83813001 39594477 969804099 842252517 633046849 960042645 994672191 191154231 17690411 900795627 990637223 795261821 887788055 593193645 52775725 310345719 551925219 134464223 340072209 599967407 91091311 98507981 747634459 753867637 581512101 490293003 163655831 897981409 388268151 777661047 203651675 756004945 480525283 346824499 262807495 901465841 211260645 646434221 76248513 96024749 12825229 879188889 541645751 487448641 569109225 794871537 600744605 593147693 755084311 337033979 853565429 718225591 26705207 901784901 933754563 36833007 275041651 179245729 92058263 676359087 10008831 329900075 845219973 348467097 776791059 199281223 981829163 874037009 546582003 338349987 666090163 596000073 530089447 637759027 717199815 31561019 907361349 381964339 468967583 149913253 466764643 704802597 763497209 768263441 44274855 288709849 572088861 509558477 635124089 813942369 317881303 636983795 546586701 290755353 782910847 4786531 902706587 212870567 847738097 750705093 184768231 714341109 373143957 963746443 849212347 325441337 233569111 396329705 182108327 272025839 316331953 378114787 723559497 787034587 660005535 365675583 672024129 562420745 282925991 992625041 221895225 853439695 518192345 425786155 583528165 9307077 351556553 316037171 328398589 410286035 416557717 316971919 90113093 659352101 14566119 966871279 379743367 264765229 475496681 839257035 87979667 319829929 5352531 951162981 263320391 387400095 200578405 592505539 796506755 518476119 931751393 628465079 789583409 785605223 97569817 590475737 566598981 687667373 210756067 959639175 488155319 801899853 487989659 609313005 482103947 786933169 952278825 133787897 513458379 671810189 845491963 347898979 795983495 227806945 227536135 860585387 59248349 613677293 412517323 407648539 340214253 647112001 47763277 392754627 594789345 278845871 320756765 316790393 752806381 875057747 744562255 41292001 336225097 992880273 519612033 468679263 891462713 544474649 39662301 447721255 885056775 131789785 258967053 904290607 908140293 815331091 275476555 679899959 382780301 506576969 829356625 724629449 290771711 542481479 14317673 119537715 928936907 72276257 438401887 272312207 790850399 96215859 243023241 744544189 100559669 650490915 543997385 879216231 828096977 953565149 507994753 307948537 245655997 63823251 573982881 392645807 346726537 419675331 265066143 904154503 597115347 92457521 602294649 699375945 681044539 965093609 834245045 594753415 944184939 149422913 531390049 39330713 540458519 487065553 552266775 730853279 822662393 951539841 253298671 671508865 83287505 745352061 224681109 999633903 684324713 613497401 315343667 944235875 199567255 102921327 227277955 215925531 379769395 530668837 93992895 786908191 154041887 930478505 204578225 458730561 925555781 726921355 796251557 210830617 442841753 374034603 432898163 877759237 289075477 131019309 416810871 38157361 341287097 52697979 355521945 974756235 79461519 736811595 424030279 397634507 981068461 833881239 665127543 864021619 555265323 665823655 71347623 682311369 637511979 732462341 29697247 740793567 608252889 799121795 478096297 793228939 191173475 667478083 633087777 332143729 79822345 558653347 755561695 719389941 330877705 276181077 497299983 675657035 940388783 915883081 813475933 921107049 944814669 366282685 841274621 788776975 969112381 786164277 71218097 765515207 716925921 651893117 244772795 542724065 68962723 165950121 887550191 332488819 208612087 914326293 727562397 186026081 161244757 787093863 569868457 470436943 715367233 731949707 848643189 52189615 340212037 950318259 388359665 13701051 287361779 228770911 124989587 12805233 752537317 657314639 120755289 381803931 68713661 609014161 442502859 322082247 372784679 67891833 183946227 876665167 251615187 338682277 377474413 199322963 15785595 239491065 2905937 303495869 925346787 271576221 501392203 337065273 856829909 462922763 68187015 468060225 799484707 554892029 51684281 873859607 331143847 116728181 944349219 127814851 775120963 293418435 274440329 246056211 776069603 54184823 951182137 901061025 246462583 974035569 471891979 69478861 683167993 518011861 509482331 276567229 708262765 420430093 932037907 594015847 876695005 532291791 459282845 861146237 878050651 531362327 589425393 436674947 102721793 820004137 12682637 621679551 787571441 274689167 535996791 555236419 122065239 537350177 500318015 771216869 902846307 187115003 356654843 519102025 648818767 250191231 568836423 156648149 282635873 672706649 364504137 130388919 823259615 680000895 847358643 196478189 581306909 539588141 537115319 926785329 167508597 675667175 711401751 78232847 410229577 462853753 861231127 136498135 593638147 401062649 387307143 919351455 658847511 686585535 766756537 978672971 758518015 486941557 54884753 786452351 415190331 535522049 300749169 167052719 2469463 468819613 968921417 844971025 467797477 172781505 973000079 61025701 113565055 460703539 479660867 99354933 304208327 32242689 316447463 387219535 489745769 515517563 754757517 286262861 7090709 819717441 34999243 994754897 735033735 801075767 987295421 999775551 465731711 240919943 42329353 880977097 331653065 422737575 324415457 258590313 22552375 407606097 871883257 750709597 896779939 824187021 607891599 611044013 420361455 307071907 672867945 569131053 257443591 325100331 419396309 597185393 810622171 859481087 292848811 319754971 911664231 714555461 770955079 676678803 605868715 169905769 712406419 344498569 154889395 885500445 149701369 480036981 405626001 273604957 652162673 624050393 946820191 674744177 456800635 992408573 204448577 586772963 123747609 471576047 219268189 623188359 353649373 285171335 123482601 510324091 999664093 503016553 750998047 34122785 879878069 98158075 373372479 4644901 36746123 579064429 20098965 109342079 418548497 65510071 909299827 799788135 565860731 349399707 640082741 684623971 225012871 770493343 790249785 574195519 535071611 454710805 653446125 981039633 503745573 565990419 901587905 448325171 796751325 189688445 436863791 374064713 265379457 723816951 278988221 464033601 46038389 372755445 786985201 954739533 474576555 316880813 376121183 739174637 292975509 965749023 180586401 434029025 600110131 333180949 902231899 888513593 723365901 533993759 233841203 60076869 481291567 631758995 33297119 563987109 982366513 280663445 844093977 847683389 608830511 55130377 912452515 374556727 596573649 336155299 751813445 887879689 945144387 422601175 363532243 434039663 574645055 516617451 845740071 457805419 283140353 662294497 231544869 762788173 445184847 172988303 338234291 973611431 880932473 55451785 447420871 653908311 446222931 552909361 859340123 450242429 911826237 382991279 459814001 685143947 673660699 358009587 307010321 472193585 429643869 838733751 427228751 537443949 924102907 10539129 127556933 839003267 420623215 786176897 428178967 639101183 285944771 277473761 807957739 98683829 412118147 465124465 55185657 112805059 207758279 728142033 82363765 411787147 967973931 40838761 607605927 659769787 500112343 810838377 496209109 12997189 946083705 503050187 871823699 751951463 561453893 117328459 17586557 496925863 689755133 202144119 405545905 65300941 30238183 888832155 618926173 675783665 136310733 398542031 348760817 456477037 527498761 644814327 655445737 549964773 581271929 471891897 201759429 530446151 321143939 719159427 790453523 570908359 641358867 314589843 244201313 890696159 215895201 655237347 348199243 548368727 281185581 511059007 712575349 108141623 298495547 577948727 458389127 862049495 29904601 905986081 313096755 352479697 586031517 776018465 635064885 993746187 50835881 503366171 891453773 702760111 3377567 662601923 219001929 168070707 302337199 86548623 36866295 475394387 987302287 907281087 176934195 676121875 501854077 519210077 781056481 953555135 519284543 328743737 886480361 191170795 310037541 466373353 542971197 353085045 486914819 960396239 843282905 543158655 828581689 315178515 398165181 284462197 108063659 305993383 219959031 568361741 480094155 107178047 228612245 235828549 41770635 811922015 669516723 442007133 769816941 921087055 244394869 247487971 425266549 971236893 243470083 56854187 969159217 690366371 977083535 296855507 573786807 601241473 704953429 275515837 743629481 19675167 977522583 294904087 851948841 70151855 653588381 955172309 551770087 532865573 469351611 620143153 41160729 96513605 591773005 593002929 846182781 653431445 376873649 556355107 713959257 215709543 592281173 912403097 908922749 325095635 654124715 721030255 233205565 476976057 924024873 4566601 178505849 512844993 221051479 232790805 749343895 193780571 674919613 41227015 380512643 47562431 88976363 125622427 749148855 687017199 486108285 256789907 449112623 256550321 851714583 907947007 786827119 336166295 244914785 452572465 425664139 47648503 775596557 114243271 453117203 551275253 197232599 26543009 944972587 126349943 17586049 443512049 902603893 254517035 642506963 256732455 90785569 447783565 215910563 54245633 900963557 254524125 349316039 245750403 78702591 429324321 910979109 32850425 97620023 704940841 933037477 815273719 555176409 961197201 294062905 495841115 854654139 831745461 491499485 960135751 841942845 254567359 762953107 229514535 134714691 408571553 744002659 810108595 89287487 810629649 551874915 966981603 668731173 953697423 461368233 743032573 937382769 301030501 803942235 484126863 632028717 943462561 867101857 973424745 66783207 965484573 195002029 192258219 192476337 311716987 429790397 2023607 117344559 248867103 203892493 255909947 890795907 425508411 645480429 573638187 196986461 288782281 42097323 929862595 833711091 958130823 554630309 28665733 516803845 674813693 303794233 369251905 917373397 289043581 706863573 974931465 179014453 496086047 713268971 704657721 743295353 287188931 444995827 975069557 968797057 364341009 747157105 991346861 409851315 763965561 54631405 977266705 120155389 110707253 191810301 546162973 427610579 749561153 358228279 61070489 608614199 918682731 840503105 20564367 899386797 337705279 129096131 536382547 182778437 514068757 498343537 754666883 698648977 899719697 476435715 546460929 815329461 154523673 701448253 114856697 605183571 28551645 132091623 241052385 506204059 82188757 562617559 872860789 397113157 254325057 102013923 787083449 999800459 282171693 775269617 955276539 564700213 795691875 288626409 321307595 588191123 653193601 49825727 573246473 113233787 124646883 86353771 235854295 47567177 347593909 8631537 75104675 897494501 65766627 163979097 281016607 480991931 17686313 912134841 663699019 306683589 531473671 998554407 333602919 143927167 576453571 863002057 437469441 25847279 325963629 255269319 134969583 726660003 143296991 810381141 815646027 576077747 711992763 954576555 690755195 109305277 139904869 275676941 816922921 305295077 778511887 122077125 791850827 725748445 885143219 670155555 5474587 129625815 178589455 16457605 144656929 588004499 248754861 657551435 357649959 284455257 739901915 836727007 754281023 628353269 963518131 553034675 451370955 921764029 923399701 103461701 578058603 747251345 555440809 733945617 241145355 367496663 316639713 168552615 81351649 505791613 552780017 936699031 250450281 253386745 681250781 784477561 595164775 861873737 623165035 595134195 935451367 277972211 71873327 404500653 197911613 704736773 187796603 453914971 377526279 88385303 397720437 497110965 556929831 454462535 746259715 454011775 193237705 153367865 847161557 554789507 344160101 204828191 235514467 339002771 213339571 366763 148461039 2976135 337113017 874948893 497821055 156433477 168036803 528379197 132798437 636336565 360384871 435010903 799449529 80645835 98788479 240958275 253717081 930680959 891947055 727000925 772291313 872908501 481166309 256541069 235316079 446681559 415743573 545591873 672908683 589379223 233611385 502443375 811856325 949126189 114274457 938156949 862946919 183230655 272477501 12948153 752534657 132142711 561471037 608456041 633516265 163479171 813192115 737831869 617001283 163178531 524510981 611037267 214203635 288234901 521127389 604899153 366435373 921994531 426074417 983438179 324304615 312081955 371236925 601721025 620429281 38116333 958641029 147741739 457986981 139922659 85954515 192893413 465112449 767457647 467719487 492350141 252825743 732542213 679910949 906413833 863438511 177672989 886944807 436736427 69805451 508031547 271062833 681765637 317531535 567588073 574700153 948070917 507607287 133857465 531371901 215573285 511665857 308153155 702643965 18227041 741817269 127654701 67945479 530416449 781244261 809810721 215835887 883281871 810775337 62814415 764339283 637790117 254542113 439733745 225188373 205692897 259346229 502781259 624217699 569000233 726477333 696698279 952240815 865348265 813453371 475547349 228062393 917705499 294592229 10904755 478085505 186794937 446866203 669494817 167731285 230808909 663565487 439122443 221510091 765586723 417916729 928866401 119091389 400447507 532816153 451103517 709371727 217249657 132054133 615980355 999755247 968118845 115110465 163418077 857192017 549639629 914382131 636614909 39426673 452052767 231560909 878357179 677588369 495478193 962403925 892385343 829595457 250015881 137793501 986694317 563115603 581693239 43011387 989141051 616378339 510418639 205210899 978897185 939391063 992528625 199506889 66396323 10812505 539862723 379269265 404010507 228445151 646860273 759970913 846182315 32710949 45369781 71040761 931403741 183280047 827206089 756995555 872125955 129690953 272960375 327777135 495660423 520290055 450367627 739798451 762294493 588815943 270646877 200843155 356215935 965104043 202361035 953706419 538578413 43064865 29872441 220350853 778058931 27480539 374516119 84394563 516263267 446654807 190488923 19267563 229069461 129059417 415180419 671412295 725834225 419375855 964240533 429406693 629477659 509292649 260203425 200362271 110893257 253861479 630995771 201766165 212677043 241135051 612406147 159370929 433830815 270469571 186141215 246369695 31896145 707038915 147620155 682014041 843570849 889363333 526869137 74645537 904284007 807819281 819626589 721911295 498661511 464205487 436972645 253370305 451410407 830692599 303956727 568822273 118339197 942430915 450243563 741768735 975985473 327383353 768834973 472826691 421559353 518253507 983217653 681913693 849749867 779208983 656500065 46603301 323072489 409649711 387632601 937020445 293932753 975445843 480303575 492562827 132736581 887197965 569765731 8918913 944043627 533311281 563955469 306237141 740385401 405843931 365200617 617598251 450945961 43898481 254985623 984697321 463061051 557054623 22027069 1897791 373524091 433842007 583092873 404691237 729737147 734071255 567409071 12468827 626941781 106616483 40055665 520664939 906426795 766093447 179090963 258813349 398903081 703643543 615794787 674682399 44812095 101680689 161157817 838016701 822365543 251841527 286668787 877959459 957943333 783027927 903817333 219404229 269451267 330810371 939074863 315624665 371767955 359360251 110731927 104425311 160354161 248682623 337513901 585403937 892912955 558100381 75046643 580459693 744936093 709739179 464516987 392159325 122377547 51497539 832036313 184766803 392846591 697711177 298435373 890178931 80337529 395382507 318443549 130458991 4739717 173233053 862609367 615419329 171765493 219726363 58794255 337131431 570941347 990031719 521539847 875123243 848679795 967402193 974292611 782065947 889930059 105707 598050003 994930193 384620833 650341009 381989579 909456237 666142447 482768361 89652681 333430103 116350389 986996573 29336759 281297599 423707263 742868131 696154367 336510045 530095967 957031351 167316889 526188467 660125809 900892125 593810435 987660809 523235027 498114721 534726981 994043757 106232753 146632407 572102891 854290871 656807233 617854363 703558667 367713675 626683319 71181139 920253509 14799183 198292571 188372139 152820927 192053299 36479091 913529749 182112551 280700207 639263315 60534351 106784435 13402629 494307925 292587103 793509153 684539963 406007259 163011981 998173111 394646563 126024273 535926511 186233923 448527827 394390567 562532323 570306589 925180975 229984729 236679435 36751651 755859931 322442983 31066453 80704185 27549259 453528797 742832885 132698831 499607733 552134733 637510245 196263645 416389915 951007699 98531181 708757213 493291841 407853837 988281877 596845145 791889853 413445545 400186805 595415901 78079203 917551191 12393447 15417215 560655831 132290001 860704655 87678175 515021693 905533405 810679773 190749475 7768457 175707201 701630785 203474553 929104751 548765137 710888567 915176087 604126581 299383143 994460551 912589243 561062301 5973735 918071483 174946731 158156989 940183097 358796711 959434423 771728233 906056271 576081959 772671667 692518147 934832163 180675937 671572477 507215539 689808315 529852607 20550271 97959529 887190813 720570617 284817059 277703647 175383901 679222535 238214241 196156819 245928343 98322221 514575929 806817741 167662057 82134013 95580207 762890145 391320193 230164805 132337361 435930593 243933327 658990883 846966837 632129587 80407887 415183103 569536765 914051581 440214785 133929599 675502409 533585775 736029169 551198365 195000781 930356867 120700787 736957585 614419133 396550645 785239261 110705377 485263063 505591891 124321427 11023451 370939489 188676841 6311681 622406927 341959211 4141775 406763927 989240157 234577033 550077929 975897041 365966057 74194011 554275805 800373297 830439837 545299973 576708377 607779647 13471917 861671545 729276379 104262287 534470553 715174441 906189597 274950589 574539041 348499479 899846059 753483623 850401877 870830789 880918805 147586107 55836039 1112903 108914353 552503785 876419923 993228845 900337827 182297645 90422175 474414235 784959695 338342857 285596821 399483187 779725801 476582789 155908523 763643173 667738215 492435253 195185309 341868837 95374729 607076019 815453295 305805941 34113113 295581411 459629677 733038043 825268391 815277 53200683 343699617 145634313 500836355 66293637 32890787 365426913 437829345 994104225 781400121 400915287 534259273 675305963 775209295 266301533 846615875 713093141 534487631 787506343 669131235 669213213 33184819 484958649 364285509 512126279 118391 695970011 834498951 955685151 250381855 767685147 712362711 122356859 699305663 716547411 964698213 610564213 885123943 370057507 743414381 585455473 723782075 776356851 615217713 260716573 273757917 922800885 124256505 465896043 964140157 885574941 648777499 397642907 163793361 520938543 498952429 86762029 448237207 562218417 284591061 789779183 951472661 221484533 331799865 175231479 89261083 448348947 629048721 682413215 335090685 158847467 909438291 324286349 56725915 454553893 882448385 709476779 45943387 436972081 721773353 190386991 719093801 132307015 237933401 447147667 872063 273733993 179668783 654489503 775331671 136844637 610024009 450943069 818269243 238165173 288004693 803955233 407494967 350619079 771372549 512544391 399125987 886968759 330581521 278868085 572090973 259366763 866773563 650197269 700530249 73292433 725076049 134657245 569062871 664584869 290648353 315867785 404784829 823802855 592034695 213770269 57011001 600726621 174545767 775852005 257490707 744069847 601037993 56551799 530326165 515920881 540519489 369529003 509291419 709908743 682323239 525180073 811577983 743307077 325283677 655056093 768557351 819216023 60670705 790877177 214744069 787858105 526290161 295201533 652391179 41372201 174150779 267072553 734141627 37029681 59355565 981137931 666750233 700189919 899974837 913140857 766678707 609903117 128864965 892977037 468970913 674048605 5534997 593120939 116051073 542207283 948452327 474575233 452085111 130393793 202573705 301590275 262308147 667822849 387775305 338065003 29272043 80508081 466496645 151096897 396791389 302001753 691272093 731853645 546672337 408700235 673944827 723864487 76326419 867871903 841154577 823485353 377102457 384308789 512325723 274583289 805990627 410203061 704500315 58502017 419019191 29606799 889150619 831093879 55060961 769578493 828383915 169398615 905210843 410130939 579744809 115717349 694352545 150953047 822840243 613089837 317423801 864683165 739192823 903235971 420692273 537579045 844548775 167990147 485245089 836600595 452489595 961210899 445948455 296004941 796907831 341356383 871544935 198786947 460015779 141326553 396650641 764440109 558967189 134225983 502388571 268921483 162130917 265229973 224039941 996346793 480186483 962217767 18640209 272658769 390703149 149033099 762947217 434714913 677658885 857412505 321880731 356606325 819047667 302730361 749615307 389043833 251912443 644138903 550946311 518141721 952810533 514019495 710566337 256530961 676868743 720351139 453232877 693323489 648234553 239279059 829103881 377566927 802420315 747559103 59679515 675819499 250086941 775670591 816824497 66009615 422707627 693865069 137290467 128844765 442766659 532657837 966905679 921244601 481018919 199555757 665335065 101822677 460303777 56336481 905825265 28245035 191529985 882760197 479122191 804630905 307689893 800392475 357435437 5557321 969288685 780567923 557684885 673517801 806183491 944256543 906013203 44020595 364308251 208367739 140560893 318333127 608209645 728615725 340683315 599136141 682602813 822199583 144866843 132636471 206969235 833020553 795906467 649347833 553995397 48686561 106128449 287107287 302046891 577285361 149924337 75583127 461805991 206410691 315021887 233382605 293073699 324689837 305919795 811331531 859126225 255228487 163493479 758433463 270884463 997334137 79880697 51911799 392369849 685946223 250670477 790146747 567435903 13253019 934311765 10761979 682961553 513427901 185827587 635021689 694318025 752698837 248293591 699959867 29072391 924368945 492091545 124383763 670872891 707430501 339283093 915521945 776512593 753154639 364915875 92715563 730533961 114906899 648405791 653403893 624637217 452402715 629106673 184801253 209342691 640936475 543868295 714634931 763642533 802137107 290467797 669931999 904741759 374662723 614984541 780623283 518637459 279376699 703146533 390298431 634524427 754200781 481714359 951511897 319076635 968097045 220303661 563106725 389129979 272488823 469788709 32521607 734329583 709653923 299749315 785590067 45511489 220857993 500257977 638250655 842665281 436540773 861991225 177585291 312389197 336907967 190361093 463833985 93715653 770746209 307390303 366684879 242653971 8657759 26158617 788329871 770605227 394179349 780762249 539844513 113514245 215220777 793085323 251951279 288012965 250453639 920526727 725074213 756741141 612489057 513491819 542243135 228920039 428397621 679504813 966046715 630474421 107994567 442207051 409874977 393162273 446344483 406264523 768384323 117395413 461200031 415618365 850107577 189218693 546910931 955222325 4115107 835498729 668239783 238742995 371933929 974979781 139182407 206856635 146590779 861472227 732753191 552518175 646558483 468395029 965763841 398166449 482398895 966228277 252569563 632925619 320058903 179842597 880679171 695244009 119572765 734595023 915478793 680431265 14122841 83874855 753737933 339155379 914087211 772026661 677448819 575900539 787746489 28166093 362714725 105521889 9725175 190379305 640858201 663058771 918981275 714900811 14018121 224876487 80866087 96792653 780555645 508854715 586364897 420154705 857398143 558765621 622229723 441642881 584217891 91568325 962322411 377772305 428736901 705877119 606209973 765837881 943374091 715708675 491867805 216577085 566877279 512053623 125092311 114816615 83170167 404267399 468214873 702779657 714691215 709335661 419593189 490817661 228217643 358358499 37478911 510282789 777641751 653550387 643429629 938709357 987532647 807019561 325511411 155382467 511227255 726809117 796370629 697549479 791920621 330736363 123136791 904340631 934499765 838722045 373774171 802377247 284584705 467383101 124981451 479493585 16617041 767424547 768821093 452688455 968187237 91007149 507977459 938742051 4779595 955330657 896234499 335740431 247138393 752275791 439803631 735194047 160806183 991226635 208376025 103831789 880018335 947707317 139427493 215202137 584997609 309803763 20498949 116613839 615143289 131702513 515415153 509113889 583356431 543676777 925297707 684967977 518600363 854589589 355409723 671412937 380329373 919169087 5663855 834651627 664094837 851510965 759283809 427020931 697292051 147748811 83704433 30567819 144402075 134865375 965336007 970723075 2306167 757643481 151224403 99781367 301838685 982649127 579784653 582653049 164025929 395494591 325521079 121974435 394854783 15764511 180111703 153623447 999847305 626489167 610021567 926141311 674364479 75882715 139127749 115115407 744988605 202484441 412859405 851099393 989625701 298237417 734589181 593566229 131964643 390364209 597339845 423328535 953638701 586778717 528394589 403922265 402192767 154524327 796231557 241826869 918303837 705657803 809593287 715384333 399234709 366622735 607178611 231552845 627514423 523196993 833061279 344201061 731549603 561993401 962753583 900353487 704147067 387518035 550436039 347305745 241091243 268241785 975234523 242429361 525463403 382805269 57809313 887953219 766512179 619466143 397407513 131456865 748326857 631807509 481757453 465017517 489409339 573845247 874185995 318861267 38748377 88043881 833719917 444318851 523648835 882203113 458973525 360253047 899626589 261178783 805940647 689828979 966378065 220270897 298962965 924872515 761868437 695256525 199187737 537747637 568730339 409509415 245060081 667873957 969420867 972336513 527675815 221948405 363559933 919292063 56177673 326389649 310368937 672242385 760766641 896145257 955970851 509384937 593849855 245781879 887848331 233571915 562752539 381479105 591044179 9890265 528407541 45410893 720830763 493832453 163605573 243142703 685213711 498080961 213523597 562976385 445527111 968864397 352963093 620329573 80299869 465252209 325147371 98482951 304384037 663056633 61433575 253993623 335213501 437524539 228923053 201791823 408341639 469278423 84758179 849620085 814432561 383216115 434115577 495477583 77613997 948793661 58722727 45650481 443284537 872586219 667872111 205279093 136080985 721264057 484190935 205751935 534186457 590153201 976931889 147874485 941339599 303308897 868513683 395415181 151073173 775524445 211093985 296260737 546147791 851673541 265940415 326905361 740640107 862978557 234952865 448296651 949278363 621473525 727193021 190382397 165893599 302253603 454532885 214205955 189128951 179475847 298090605 84501183 725142515 351962789 731720795 352055581 724724259 982814091 881215283 201066445 329850151 318609871 25206297 317543307 79502307 595420561 622297073 195641879 424830849 569571447 142366319 36558141 778204791 606588591 101467911 997567951 114307969 594722799 567425535 901878441 739746465 88007285 627775321 920852905 921549351 452337671 241548779 524890301 79479717 914891507 320795209 921801941 812879097 917002513 773228501 170501357 368362819 485937855 611246519 864849157 43860469 781779939 498481119 877337385 425077695 974035177 441108487 746660461 935142303 614286281 595955373 497795559 101683673 878331139 282834969 179276219 779037945 381879449 840034655 15343637 726662355 19859229 515827025 465664549 34305413 459517093 954253205 860443431 680115825 812467149 944120721 117635931 933108037 768993469 290237301 573800719 405234931 282988579 160032059 758738321 913695931 242004021 730689951 220758077 826105629 395239345 565180207 118716279 220933351 80897245 79112503 967559589 770669103 709999753 624625359 839406143 857128783 79203593 362338779 280006843 339314155 416508221 543707137 635433371 626320369 613142921 667426225 895449451 279898773 361462495 563380515 156206527 537588561 239063985 683795287 723468845 812784877 155004671 229328663 125176153 882758257 208180561 859597299 367931375 205566517 245497267 239827777 65463711 549648597 249648317 21389605 375091749 723771441 875284363 236681091 605694019 640271993 319311557 265794831 941175489 842549537 431431065 23342143 230508403 993231333 619974845 383175763 723378229 99481545 175401327 388113493 878956005 57180185 370608247 468359701 27668849 312965993 687222047 235223337 958230217 434958999 328378945 808499699 458413033 323921349 350106939 644870299 847222739 568836447 648835315 778421779 691294095 900021019 277365461 196613391 968618291 468252919 424660955 812457235 408120533 763140659 42834303 202722151 402811801 161377885 601029323 78905881 189677227 893854793 462662987 325145347 935589437 564895509 384692759 169799877 97923719 258318627 630022859 542937031 517291723 565147425 698105999 45612859 859062871 370270467 982378769 350851093 321337209 328283395 851182983 605710873 97372813 388697767 90047921 118017229 481366263 361414077 549595345 376361605 779597343 2108759 680575673 973677395 116648567 799796433 381198013 645272605 450567803 283909327 990454973 761693065 788629421 995478591 904628253 485571847 182392213 510928725 297720015 621298127 870490823 560085645 311368773 628001251 686567903 881672619 199032961 445008649 10879101 948336313 598890247 120429523 154276937 213712655 984350693 94751383 76033531 812949065 45056691 452931705 309484617 880378183 106069389 617197151 791869685 532427579 913258525 998401527 466396621 379821205 836298893 117315261 16771999 626877459 868158101 898835185 269589321 273850297 662060659 832395929 835635881 975487443 587957741 390433925 802040237 358147573 339991891 770321233 919646023 361383421 945859193 905183321 186477167 341759245 819924927 930674377 687543079 17903763 792257291 163565709 675035005 462420289 163781835 851169121 497195647 311252501 654871795 884386755 912096587 479522643 337415685 211791357 629526017 290818441 26847237 896993565 899239627 482987143 526733697 560596477 567403227 57109613 609113745 511524927 2490733 310012575 495644625 290682183 247549635 56755909 551840107 823315783 261097765 871156697 82494985 250729529 491600873 872113941 922692067 9642715 304346213 790520059 342611383 699528629 71969023 457734747 799552973 67398169 225658399 710039879 964183281 731697439 600923961 211895835 803229049 305415335 868469701 57667195 277971013 162520665 504147013 730016855 519010747 513361573 182531911 984922335 291366599 340429253 101829209 326899599 696153059 620127925 195866905 158235439 917549067 429181507 749693479 65807049 929330629 807397883 915994669 442192049 26968607 227238709 216656093 786249605 402606513 658650645 164813299 889730343 364484505 428796545 454052913 329236419 724444795 233079593 59471457 687545551 390544775 214797445 957783123 888688135 755231091 736297429 96482277 785059441 557037437 985180197 482406391 820323669 952024173 137350463 516856691 951077193 978559887 935148225 342922827 332724523 796365241 144829191 264105595 705615645 424052299 989351997 88259845 416526733 819055659 108505423 100184307 166074925 931204295 608396537 616151125 978176765 679812373 603071163 680859977 822495037 65871505 975895003 204371183 436023421 490350151 701838953 560502897 110588813 495912895 509507647 341765633 698754957 919253011 476357119 609333213 25363681 222259937 434383373 613769537 682412083 661835597 911257499 988742525 101052793 159842055 408519587 127302369 279960813 299088197 575006179 510622661 522401303 661225927 257257445 70156687 73448641 117743055 418756599 747479463 995713023 786172207 556031027 797265537 787968301 852290877 47338873 526106261 927258865 797613525 470526065 743730023 625047605 164119135 701328525 131543681 144224559 19882185 485449473 942605939 185665115 158138503 945116625 348518875 187279741 665870235 143092933 547097689 434522785 663279497 966948971 53942679 638016795 928432737 406590747 638614601 352510601 431568311 790129657 943263015 845979085 945378731 955836907 820641269 926588435 377867745 767237793 625434235 208228307 482893449 277458835 42021263 651040709 277976411 413068035 621099017 529738735 843771025 641679607 840731083 99487391 4108277 115611713 773591231 423523173 721082835 361935737 96255961 973391905 911265281 208744445 562703889 69133813 167486689 416257273 205021035 904337487 52497491 317024347 142367217 716233187 211544267 788000731 912832691 207055275 799875645 750078457 762125007 363344879 799846183 215964415 966168165 831587639 851855247 352637949 133582751 246214491 403505157 297511369 505268145 325254773 860770461 744891911 540832211 626679275 23818231 580151835 60847689 165512551 120291383 661533241 508548445 437261791 672674319 12814935 784806497 546742415 697213361 638014261 174802605 222409723 336655325 128575837 853843623 492780781 404348123 492413981 348516537 106865021 764629367 807648911 982219857 366714887 248931849 882798741 209158895 757330477 623842669 565159379 791540497 388893659 952502795 790929595 549043009 10326601 387171537 855778183 690265877 659809007 619867701 97182517 786073637 552397459 37035829 223128205 902368531 829902401 752082007 486161185 584038025 738987085 364189355 998167115 139063355 584041301 329124549 401651749 162796001 186066235 505459141 701054621 376173119 800959021 299135055 491707491 518065695 280195997 404907413 235436011 79187283 426397003 235159113 230797945 29049269 890407479 976631725 418090259 952611879 710949295 868594307 309016971 611919251 624641609 80580127 323275641 89601517 399642847 625859921 235162941 196194605 133161365 898564477 138714877 776215127 614631641 250696581 442610605 180696181 315949151 875188441 124369923 439083929 890621475 512439407 577460097 7437789 324054887 857300421 929168237 460614243 129391547 830148577 929157593 845965909 221481969 561073235 86490269 561396199 838751525 558643759 541129815 467840851 580528573 874141973 872164723 541105625 388810851 440077353 548899613 406201029 21240077 39323421 122146897 820611175 858232311 213776163 22551759 775338781 933162661 313476093 544141339 653663815 512757987 693404911 427200651 892543825 68942789 131537351 527933491 734416555 198231209 38720989 411257335 294401231 889998897 295405325 37780603 525644097 744629579 144122047 862303537 298837899 294445097 643181281 114747219 376109631 227391817 369574121 430001375 265449463 919029871 990462165 72428447 820701781 134001065 565360685 793258529 529246469 694709319 18582781 936272577 23335093 999809513 833498843 81423515 350682661 630359409 611048935 675125913 825176339 815364109 763904453 441956971 609183051 893223985 839380135 560078217 556485535 896985751 638479425 17973813 777079529 315483975 923097295 171581559 779934987 833160329 893211675 236485917 695612913 220462581 283382897 245501633 555199625 500992869 680923561 509833923 120877011 276974079 172155425 157823051 472784333 324555053 878986173 926663497 78294147 998707621 817990893 655996277 430720775 597844577 692622759 216929105 363511923 627630505 695388265 748650787 898106601 656798215 721074491 4108797 680903317 349689167 499073193 766053047 680594599 190031261 647878345 761131247 247376985 846014551 216478267 993552401 104224751 452895017 115780901 684155979 156323763 870063877 12112435 554405269 708909303 318686505 828808095 265233583 681881365 973171737 267517989 612833827 188981873 419995297 51262987 388473153 555895665 413617877 493540383 991574815 403998603 874717459 822444217 120257441 122725945 846252797 487848117 114219115 975693307 688278657 113209469 463813105 597966685 406559953 665310459 831777385 655601649 661883245 273302695 659278547 428736849 272814357 243932287 888891385 463398943 915519703 292043019 898899817 878293255 176147721 843052373 631653503 372175801 865815109 710574585 428361559 840418799 952455791 208405009 98067931 889085551 703853493 609209925 557970107 850573823 574057355 329766337 801780337 372276339 555951533 601106239 497806907 560821669 388575517 864266747 690884899 415704183 957303083 658960059 454627575 707543509 353114729 600871629 886783825 416350639 248739763 531228425 347292305 125501951 857762095 847747789 968444127 539373515 344524615 666714877 160287019 330799641 116817329 662674185 836055085 297606397 770987113 472781801 81774951 42172561 367530163 738738455 703410721 324573687 928260123 379459995 670259817 958306907 335879541 838199557 253020697 990715885 216730077 292470379 83595727 24164585 756044217 775479145 404745207 418778255 617710005 182277415 300763071 311385131 433225155 201900371 347230751 484792847 624243747 824766753 910991065 421625493 346908245 888161875 746883955 630854433 93124647 617873965 549151295 674710809 689505965 789767807 485412179 532612853 671253829 364114589 785562515 915679017 155121297 870686821 723176355 595300157 640681343 680894785 464427255 486128311 856441923 446803739 679435973 208510507 41199959 133760875 709993231 111722547 929509507 743913521 167740315 506718321 38702543 608623855 714627833 386830993 258062483 310429623 91114885 833874755 226454121 557724703 246137435 932631875 88874039 24745539 467641445 817848913 467400487 52705227 702322005 71800379 62823855 332283621 890356383 521526735 656140425 278312263 528354441 826399721 990271933 742618413 14742805 163255915 504339861 269670499 926516505 272240961 263011237 367551793 817371433 868311899 216608201 986693489 628691623 720692661 501078311 910466433 268756155 563246671 969582889 700637509 783776085 498758455 792765575 168007471 473039919 504921467 749705785 251547441 54883271 419702327 467777157 168221131 158936165 202371983 193077239 689432325 573574941 882507689 866776675 26050411 671295683 74451389 994034663 585547029 730627831 880820479 136058341 745221279 796602661 10577847 822315017 675122737 37140859 902726187 975583563 22967929 528706035 112141743 868880611 34807725 106906441 763664287 44289367 577966219 108089867 450161753 232103797 616716633 57466757 86595147 831830349 795290343 377724111 543998693 316491583 563858825 780568013 868850595 233169647 268312605 367570981 620887301 944926279 723215117 380320839 98942361 733007995 147078467 416248427 629217005 39041291 391719737 468126609 796131485 866732727 102736361 719599747 252454221 644374159 729492445 33906385 845561763 685357285 330585121 480341459 942713687 812902485 880364877 570291111 15585311 619296965 586325629 610565175 219096765 336863327 923747417 642990645 900984829 544117401 813110287 825628183 401321907 629203247 217287253 93481757 719215541 384623909 73990249 993842769 697165545 618030023 873537297 21692803 305707061 606411689 631240605 119219273 87849361 871198119 860796641 853905669 20215027 109876199 120372285 711093727 594791261 857212117 442103447 806233545 355241435 237667363 349310811 89613687 700931713 586044367 454591361 609240175 487308645 133426973 473843849 655411187 487726509 238339481 231794039 580589591 856804993 371550233 60854745 51488437 983506963 594560951 181477575 416522857 786640031 654731991 79654365 826191261 434392421 823463463 741132355 835127169 900953011 577366425 670691239 65254157 962979287 148521837 355278655 778182147 736177199 510995747 300798665 709358569 699018265 598337675 815189389 318373651 950752515 74169013 147346261 159517587 44361565 350616833 604647805 75414095 408297379 855704083 481010143 903380461 841491799 609040597 613431777 698461661 583596033 395797373 622294389 784269655 365574711 573301381 613519885 28933725 267964047 921905077 861929387 790112437 47927471 279481623 48081363 62690033 881404991 505190399 523688595 971141993 160255985 845171209 664699779 830024507 495888513 56132635 319978687 631301459 118393777 861238111 680585199 701769053 184799561 236932683 881383745 747602645 496315935 298603419 527969387 772292603 315032329 243243859 527589293 258565845 611005421 432164799 970754761 156423731 314901683 446384245 14487057 267258033 334778957 632236877 672863065 260258219 849782199 136882543 542144769 279761997 317462259 470538311 949102319 75887747 47638025 851919495 8137615 383888393 948071439 998357295 226101979 387941725 921301019 519716991 882892623 700733129 843738707 466367237 436778737 359307099 887506655 81180823 229024847 562888175 454623473 499306831 682725249 689429537 289073093 123460753 424198435 791072091 522219933 467975691 356970845 100883917 304189635 101917361 760916191 844450161 269714055 648405949 574000603 792946949 866551367 117901751 904535825 765406481 138540129 314164583 542685895 633810151 466574147 874914021 918087629 324911007 659692127 306107019 985435257 809731865 934120237 326715903 114126247 479388925 709344305 74906411 498302909 313789371 141020659 801571141 894783917 251774349 660432393 97404873 643827179 799372143 898906633 492765051 749528947 32825903 45864089 177617767 905782991 386285401 837880417 297170913 117780237 193691207 295337237 588902277 745611969 806024983 645741165 776111673 903816969 553205173 549173547 298761257 854450319 174255823 688981021 154543815 166127229 994949341 19880723 896805329 661886859 979250463 329526245 142736971 603291895 251238049 699642745 931987329 576198025 572545325 577611959 124150793 373796493 718441569 688631699 420337339 485384409 233475737 946774021 141393345 836417485 973474817 707006735 284426625 115498063 330419589 686703551 755770293 13685197 777183201 414419493 151038549 695131963 725725845 253035097 602524329 250240027 866916071 598209921 876635705 602126705 370160871 419122885 208329181 335352525 590016113 541687897 785671855 731463491 299238945 301603445 68219667 193184369 245461601 544193629 375735 440618369 4383329 930208089 766667919 432387101 872078619 13673407 172767703 730893693 507001421 872857575 802224401 618494305 590330753 752226609 862856205 262454027 32754437 975180045 170681309 383496781 569079027 69792231 758057949 418729085 839514155 247717949 86891699 628396919 228663125 810186641 587037003 602707619 151401443 717367661 228039639 683621869 630305033 780942947 249606357 333259983 335421131 544790283 408713735 841872709 495016689 314974475 688049533 532584661 633713673 24267275 362265739 110564239 83774061 152477375 918189769 387558663 963090235 286258655 687662367 234092891 548719967 713644847 506330297 845587509 390107271 747629177 984887305 438435775 686784555 236805773 766675407 52419505 74757773 477137481 554776075 116137035 655158707 188548493 185276171 646676817 19900527 432900675 225948261 509182225 621298521 491857759 380725233 176391521 896734671 982563289 301767897 79021729 874644733 482818485 989451397 859935927 446121681 176615165 908936617 449525265 557742339 990747331 731074885 119316133 16861203 57819679 699010457 218364145 753939531 794855735 263719733 354364667 474024635 421731891 127205355 325195091 176716859 486191175 588736983 190332429 419630185 196252331 807003741 321582023 683557039 988310947 534096173 841445547 770743615 614373241 304931127 604056419 665010703 635542399 408172983 808565801 569773023 903084303 786112821 915738039 161317689 882765451 19327611 931334231 159758187 909091933 404311453 262620373 898831759 324949497 135276791 702823817 190244743 133571287 985986095 768975695 337842423 812057467 875014961 95853199 253918801 860290671 301863215 463990327 577241039 747077955 963569575 810761917 214314095 656169877 699731293 923338015 451996921 388598789 607455581 56106467 565076225 286575935 123827197 757802009 736055259 823216369 85383637 395150933 997886375 624791259 452956367 389047735 487136337 121371579 889176849 15758051 223756937 733525085 569917461 801270537 551839939 158674065 10781587 524864225 973166147 623825973 137437329 241515429 274096143 43208745 129337437 63747103 184480249 220854105 966867847 385323931 98230169 358864307 289053935 808230641 830138191 9619767 124093113 779949437 378691905 297732323 348178255 107766823 488225379 145681859 230220903 347256413 335989611 322770407 92651003 553133845 835651547 296579437 905687379 347777997 375713017 662736245 309797369 528301453 614650583 261437739 304278721 441130977 941805389 505107647 391712967 40010207 716473081 342298731 270846065 204748071 437107783 430891379 562197609 179307229 38192739 431688481 643201701 846429875 439223881 385177031 849090913 930257371 256053689 894876095 37927969 581480983 854420535 333574251 500324017 819003051 907057689 261663541 727065125 119484261 725118323 127347857 697068507 738988957 193703721 7655159 701924981 16788271 466242015 405927405 111315679 243143555 344306951 922915577 159558479 638009991 203808731 474458285 487330371 100649905 853782105 338576295 734956923 964809983 973835339 596444551 566778117 833338873 490657855 556193273 666313271 555236521 140744337 276048813 379426985 952247467 120358493 947287389 948301125 245959705 438047885 409403597 442155827 458043545 712350929 238000071 76437735 858515549 158658721 677654813 961710881 57200919 175027775 754820009 504116705 129205001 793053619 70666061 844264823 770516471 48161739 223217141 267408243 450016815 211484449 534866577 214879671 857759625 333163797 793247771 42043233 145800803 444090575 86950039 168050657 739832993 941984319 15634447 427567083 353879219 179208477 350755733 694328443 667152527 746641387 904902211 121631189 166469299 73597679 626181181 82080901 877466919 546296635 530426281 358530143 365790325 632850343 362753981 265174399 531968697 638276561 55952305 54144843 767715981 136695077 185875915 165238637 903907351 628759505 765198417 703211227 261949449 109801933 321604247 770780369 392980119 987531737 215795191 271355347 473853053 657567359 148529363 793589423 219299333 261818127 126688149 404437877 542075389 899178143 10936753 907149957 864093881 360199955 559474849 450357121 718074647 906759183 466605285 732325461 466431359 664082439 610711305 636405305 843264223 655978289 733064863 4595365 616145327 190241421 992778049 955454049 396054249 376711909 373110675 865529461 528970517 174523335 250910267 547267897 246742851 566547599 526367983 296687429 432160265 934113625 405285737 471122563 523320451 638212623 674014313 238138651 245117783 258830689 420748987 815344259 135855543 574820297 175401009 52527221 439317079 76506757 84308133 283782137 980811381 487820959 287408379 99810391 515221719 750128613 252440601 635633191 375087307 47508977 297802741 769933381 396217129 162215715 180362377 859196625 997205839 334172067 437703893 720493117 302906913 80563297 60990437 89676857 363907343 108085781 557793739 268989635 910708495 305503297 553804961 554950941 479311777 654098989 995378571 535385815 442000839 115136999 576647599 10237635 480051987 324118857 550658371 287050239 377380507 356823793 941128833 4597997 985840635 11218251 485583529 93854267 567171675 529310597 416568073 359751643 954423655 983298199 902956527 878589451 634378329 179148867 732611511 536226895 3255533 290178063 233264579 166904435 978132073 159403085 850267007 461559693 690987165 395866387 922327899 340259063 859645661 607880005 59702739 335354709 493567239 826881927 310935143 488668565 2355333 374340429 623526051 617147369 635237185 225042893 746211097 543125713 75908275 572464905 24332899 303238669 953848537 762525383 368666661 817354669 525453627 230407063 444866053 994378497 765850597 168678357 705755835 651536299 117131375 103795869 809819899 764065929 908602613 473477337 618318477 358723275 531675423 598794299 770596151 192186085 429701915 228360247 51844557 716117395 912382109 669005587 697475369 51683545 921113063 224974545 860004143 457813249 398099645 425964615 251540933 275976099 126570351 43550729 256932835 468746395 499288017 392044921 721675389 605317899 270506051 523733951 252731803 639369823 819897001 417280203 331613507 842665293 587770227 858365015 933646985 234790609 418516121 7823585 138126983 165105455 870634133 319576753 275786081 949309683 512501617 489458395 904843583 850780145 733501369 407538739 586159443 472446535 585325445 937116249 368805593 172876119 124919665 597446329 659693073 976625871 970865573 550775169 436138823 3496353 628887247 723709611 396537295 138011405 95036197 392743155 502778623 406540691 592753509 921753831 401247547 640972801 195768789 501450195 588492527 968505453 32184643 671617743 358487947 905087793 80443913 222326207 521971851 989674993 59508991 156335177 739085425 564824219 304255121 35110109 834569157 316515427 924492713 946591155 991710747 6988483 66858689 618751435 493774605 160139907 73085139 240051695 569156927 994403501 794349161 914730415 537697625 49193875 653959823 270267491 933328141 765255639 388061 268608041 957130775 101474135 110361455 197367019 354327351 604673093 382713325 82794331 294402363 706277905 98528389 926733295 896914929 145069687 220948973 497875943 19046197 407680639 896520035 923157069 137353707 972713331 863236525 318232817 275137275 30762471 844205083 490225001 302511703 377062585 767747969 374459927 58547195 219683339 327165759 733066019 274821863 893871177 637979193 133747071 508995625 553143595 91420641 101117407 319425487 446001833 642778921 49868233 878071285 981352457 560502163 599842431 268785087 970408663 426943523 888174613 65968725 144692711 226214503 421867109 4255721 954402903 246770039 116215307 477021367 793659529 440819951 192259953 527233025 240866091 967761911 918079431 583320847 918814257 401806909 386502661 109904437 244114901 347132663 175255533 833798607 893982623 89028579 453287685 199048507 426600279 55116871 395105185 639185895 773060117 124883955 784950739 459242053 321862963 427467323 597472385 592296653 63153493 287905535 58285649 454539521 127772009 230191013 434523315 939710575 127358883 138467865 711086303 922241957 194632319 181869013 327505111 885529407 408939457 725864661 173215841 295713505 93537651 435047071 845191183 815586355 73593069 222134593 491018297 743875559 447962571 333900883 9172989 832636601 151695085 746768369 383326791 171865195 716188037 894034883 914684611 968419525 411979779 532301303 787523309 79586461 111804709 220077123 155949829 593013449 487849711 587708133 630518033 696765743 347319725 578063781 254943715 139638199 388360435 482583759 840039441 587713363 734911647 396753465 779615997 236648703 329035219 594033731 424494033 802389181 225692669 392445651 190449273 399788183 807574479 648716885 931135153 943294365 220121671 463768771 807050999 319204587 15382953 847922839 388310421 680578213 432328323 210938331 732694937 785844979 318059685 705301789 523007967 725494537 513574959 229943409 884139011 682483231 663452293 299981941 939129711 313115767 63179089 881631569 39063123 404920927 684797319 41202611 255932585 48320293 382309991 265272785 827646255 601671207 824853105 950398571 235853933 661968325 966871157 232676291 895712181 921252457 159943301 22579883 46654495 795153285 943364349 845304695 314818955 779269269 263993217 555451143 90248097 763722267 530074625 204737473 41056465 500544671 943345581 931024531 623604565 433890231 628943363 112267761 667169833 800279289 902801861 831561437 181979163 145191179 567554563 965214683 531333303 790677 252354319 141037563 217524055 710049611 375536007 158953425 410354713 518429413 55409485 336573051 481517801 787728423 290326157 901801633 263086709 406553049 38314173 751452019 896780597 227233745 669976475 908471203 969877611 414375909 674035239 616601713 976955677 237628667 468518319 742769317 111722267 321700347 414778055 658396043 416945665 366837465 223843917 475327993 195874859 272682381 538030179 512128847 14500293 784992027 11342199 632790643 377959869 23167627 630861627 478975187 978397897 294831603 901584815 557714787 756492911 990794603 647285779 949050789 75790835 283095571 553748471 39015069 715326821 998300441 8841771 477542363 133311649 508213935 398365135 964316787 184375875 357866765 662114119 427691523 570806453 142556023 128451901 327374259 7935783 147776823 944177063 916320563 546444435 27105437 527834303 265721781 728481975 504303623 190767629 528228089 342980893 567448277 305037147 188100679 33927187 684233329 150295485 692149099 829994419 998746447 225242255 953378747 953638621 933414887 659138167 583509785 162796091 5028285 576225375 629048549 661867833 440046681 597027965 822711059 464227601 867035729 879057741 615588119 87836101 792281149 985919123 238747887 542479645 639466941 136794203 372011041 13921191 241720961 311744505 168557245 234491837 290494261 952811275 996730967 678306429 892901527 167433843 778458893 672086739 387862121 504730975 793626249 330679917 842286197 177872961 329436405 821515971 498004365 991791575 45529097 32379415 776382601 244036645 289063941 773089391 618449231 92722553 181913771 50154653 709069257 71225187 733894733 287684409 576206053 297780675 788417217 708926883 545484705 420201403 408872547 832434433 865508351 219963577 94195995 35529031 293273609 117573489 928520535 817250859 70801105 168511709 688139021 674967085 217790321 709900613 458468027 159387031 273733129 209868593 644685415 220153721 231133897 316035193 9243807 154582699 606879965 163129143 877782397 42539723 163553669 973131473 590518169 589190467 716596479 400545521 339673375 880662085 546636693 625370253 627969721 872103367 311013021 556332257 127423135 558994057 457400175 369815153 16601489 888212757 121408109 536759303 764057043 327324857 490229761 542967229 364550707 290188943 585526175 255699945 935366919 161153657 127574719 493516851 768965425 69244443 871521765 735656069 968223507 212601319 196215707 670048791 800621981 646753303 757194099 598287457 95577411 138289065 61730055 802922025 802635015 17087845 746971897 107588219 899079023 525051615 112939507 399902123 302563717 93518699 350490537 791160919 858245605 113357097 374323155 664730721 51556775 712410117 275772213 794931703 107544951 284023983 257334937 867714187 179726975 857972635 607932369 470437853 183593337 100703757 884568245 969693421 672337311 420325131 9608235 768432905 201599931 99572327 660831517 757971655 14840601 261785529 363846011 894340353 664133265 391958881 447100223 116931035 736435583 701410181 550967149 515765189 578801355 221028121 165939471 381616237 489649635 487936723 580080183 744034773 875800509 440066613 830373631 104978751 896942039 361225349 505548937 592519733 108323129 303184853 569963519 892175247 814775661 63596029 113749397 462080615 258960783 557331867 928014723 503608099 665604919 43285787 756199181 411855981 944854929 638810537 704542077 969592381 378185287 905819201 453322533 252892873 820279955 188599459 87993439 144633755 392070705 725623381 101963917 238249085 687907429 840650663 540502809 762650757 465536259 705184947 561099895 814858507 770284891 992424027 937429281 499453623 134782289 817386819 737536151 501588085 774520391 879179997 80925797 203580023 966810157 20750947 973596445 794718523 474429561 319278035 113096537 109085829 155763497 803192567 960131771 781438051 789235651 238994525 744702701 787351077 549825111 933222497 92666531 120334699 783056505 477900319 845527191 247809815 924996681 569205377 233151113 835380311 522979693 213157175 501264965 340202911 597989395 202457529 513376413 28608425 216596463 578551881 841690217 90658941 637220163 491752175 21128081 324630115 193583059 944044153 477732345 121189619 49988589 259456897 629096599 801840135 785735017 686831463 321642085 747515589 81663139 928380243 700054371 975722135 24106883 711836981 72858525 547195955 961537145 113643717 596041765 317083283 698181495 768644229 753006613 76443135 154629885 800173755 786749327 909790977 999994641 591701113 686227645 200645997 447531587 654787223 866366163 845321055 215024295 789961907 665885451 192789053 179388637 571376697 678658469 264201651 349794571 207629143 433603309 443492019 780434399 942167557 687829557 303011963 676873613 549258499 522323671 564717967 704103639 551357659 466551093 816968891 498168321 724541149 878556091 421813779 753342425 24303135 933671897 76157941 950188727 510207109 520713481 338985475 627716473 537879475 392326609 160836139 646066819 195246621 477870775 629032863 982378181 180085241 828881231 832098271 901449397 820181575 105827123 980769195 149433171 284928977 567739653 557443601 173892897 331557925 513549679 885076327 756063537 479241887 126287397 376619591 691652119 116898651 908206305 70550677 77524723 187447363 49560163 609628799 169262187 923726343 223089015 871142777 851129773 10706209 429095407 869342527 20322671 4470991 261764007 631075027 806852333 160284187 883429245 372456837 510515953 185711315 260701 973738471 253273801 764713617 773450299 803013845 481189193 782780341 885282577 990062709 907877839 493930599 274841055 201042737 512011077 834012567 427165617 466520767 408946453 153915389 357441691 91028763 50253367 879400219 14356659 116997513 868004905 939740217 341968669 386029461 527076851 694320485 6241541 456315411 440564513 31214713 419560603 330698785 82649801 45558291 910591001 53349921 418179213 179869343 100169925 38001343 582179213 926362955 254999525 928057841 630307197 633167631 895707085 472461301 382538641 10276269 86352599 434811979 604766599 101576363 634222181 792155329 678303397 916037723 758911971 929597035 950802105 439209683 662828993 615394983 513313563 715667703 136973947 290200087 290921897 525530477 15969169 33042345 405841863 604984739 926029967 205236625 582097767 274009301 541261319 789573705 241445883 901959427 494605973 764199833 361059203 92543475 604628951 820836745 431908743 939685941 863320443 97793393 725572115 625133093 57189937 614679787 252544701 879555807 481885365 689875677 849231271 969723725 922569927 939124337 137240691 503707937 340697139 710486045 726827343 117359567 109659083 425698459 913687541 221798301 388792939 110010867 206901921 291162765 317788145 384432751 120386329 542732149 61778507 365342115 931812269 713024233 39017 421602155 562264113 76808779 857476935 509632237 941731587 420169411 930717925 846850963 702977037 93512769 896697167 12023829 83901881 621558399 995672471 954516331 793776129 889659387 779547865 931975131 641902431 631136509 949962035 690868721 455929309 652352665 814513363 777403777 964923911 280972707 645309161 874126505 998990323 720412603 21982897 531135179 179887683 994132557 785503339 750985107 260310809 188515719 717427813 599001593 844377379 321794403 698896365 846522677 183232667 455743133 526921823 604470733 588845629 724315075 973152799 523333775 94789713 489287201 647111571 11571595 385606049 435130575 770119731 640032033 11822215 566453681 549483891 261411573 681278945 837384813 733144027 393235697 982946325 140418931 727678449 692726345 529220623 504595707 952226121 700038269 107870791 615741957 747944319 296632909 297254845 941487451 269889329 372009673 411632885 252187789 571503373 491323459 972055805 270576371 607399619 856482647 544858219 966560939 882249231 305871339 79757409 48607647 7292851 765507113 437990785 116425345 290015863 244127111 795094779 708476871 978102831 180884417 616561541 149352113 175983287 213976027 606340701 349453897 716206317 993053473 62658633 369926751 265587647 93308455 677003417 732319369 963820829 894351817 126584865 943491369 158908163 820543533 436540481 665285735 435498611 160906687 530521053 544972597 873421429 595233329 434726503 54641735 808023325 291670401 817550545 539098403 147078279 886442739 878688413 720401163 335594961 252003347 830483661 386903061 699073577 932073911 521131765 561544213 561903039 198749945 509685285 274866093 716908751 795606589 211205121 567021893 495247003 732108337 584068523 220691469 829494891 354899143 179678931 861222141 648126613 890240063 907862703 814217175 509183855 549843993 44173565 456924707 183593567 472765989 456622851 415420463 569528013 591009139 257537681 596806675 348979499 401037155 792328443 769713331 983066613 657367705 211944481 105591989 340762797 369403391 923322217 343086985 68004059 849399243 121947327 791098983 518391059 422364279 940259229 102316369 980291569 506210763 232037885 263641101 918716179 458766289 388730217 829074221 994494503 852845533 267276783 654000905 426223583 741485451 317412641 562199743 502693619 641284033 218874147 604219707 337168165 697481129 163721623 608559145 955718211 780894651 667362477 358574341 107852059 677296301 890918939 342478351 506902667 133445257 176668703 151776077 210700401 913350041 172001409 898898321 345555643 841109363 134333835 441590641 651075675 51398639 335587609 776263247 192897609 124581941 770369925 109373781 540764807 196613553 45444277 321386607 602093347 407781143 465780507 47066457 745186091 369833825 857548971 995700881 360940477 515920085 8455649 329810017 759778039 122283519 963205831 491890135 87182599 882289333 538154987 305896399 904919839 85396241 380840799 12151269 880305271 98694263 9657799 801439107 990945619 607376021 472601413 465546457 157007867 250469471 26723465 762442209 103297989 79643407 47500233 981283673 589488647 552658221 150088645 999845321 634394919 302740865 907026111 640880259 54001549 87480867 301948297 724210847 794039467 251361645 945569911 109582333 124095485 461828357 211716713 793828421 128986629 473060565 246922181 203787751 476387149 824279059 166313849 105593117 259395941 180123195 55443961 933789413 20437995 341785617 625933895 326930439 481513855 974267041 757656807 873042965 2207435 382372415 33044199 259193959 560568193 66242951 458154207 202243355 704633181 43061343 456024557 914554909 944466209 524195571 437448885 431819291 380775319 834849461 225787495 892045197 780405391 618059107 591164859 450079669 305171943 295623681 731148267 344768409 663377021 310777819 944494527 946697481 488815425 809604487 662601863 304160161 200423455 284016093 894762265 15420861 186180373 182343943 45894353 536357257 50268965 79366507 374543511 385837043 300758873 19487939 368685015 335044017 881572801 353743623 386336139 579484745 50742907 126239615 729145135 807549183 148121767 190948275 785796553 413027299 778913135 461114491 305002727 965170897 35607301 791677169 427311009 727691365 745067429 826011001 482831765 446875913 689186961 502038209 357345767 147622895 855225619 183799997 94950985 618504203 3285373 390141865 455007725 556220193 532945447 589637383 919611027 973028537 367257719 906938535 491993475 60307745 189204437 127296411 117244041 527923827 212079285 646827327 818014971 427333519 273249679 197163577 763241657 640501535 221114343 119894901 531175209 882057871 475700039 934583077 703818809 385605913 100454975 432043463 348069215 301607103 232532845 971751711 108787865 364869449 915250289 139467065 630632301 187302213 872632053 120891753 469869033 379009293 71987117 295126859 224351653 687470015 706035025 510352837 401874623 937266759 818111909 992311811 113508571 500114515 817670769 313304183 914589227 623280987 576950923 996569057 84125793 288156065 503101131 193615425 706728381 618098475 607955219 843392997 611169799 9213131 611150669 556135011 494823819 134149401 261675115 986932115 854820385 239738229 815878507 31826591 832200229 693354245 111269963 799569135 199079295 189831101 432240405 309960503 249949341 402093907 696726239 981943927 124675955 919157831 949412033 945414895 775462531 598172899 732085469 723233071 217080275 946141239 593437021 782780169 808045549 317207835 92751733 333399705 454220523 469866285 559423581 95824707 998699883 423001047 76805209 119805111 620091283 247122763 677896627 808093669 257848847 560657791 206713787 586972169 765029143 874247987 226057167 494296491 87976299 87656177 391968847 821383061 640532301 782889991 445659045 234092507 505661329 620096399 422027077 146126555 99228295 973852011 321413287 282317365 814479633 27525951 353311311 929252827 408417685 46947197 112876743 247506173 762264321 783278175 830180257 241674009 308666315 768282851 224748663 756044531 547279601 87279569 941009387 359398295 298919673 287037117 969134759 522224987 976067315 842107131 931240031 980316375 953035123 999312045 102950603 154902517 756575641 317817785 655412911 387787483 615763467 494176469 976672469 489709827 389348853 826101875 88805135 35354149 897461775 346273751 774454583 4358985 292699545 389913095 837926447 988452279 825236311 126492373 791162081 975560711 568289943 617123801 226916161 456787731 40723505 74850675 213751623 799520511 72282497 821246921 33776631 410578489 137727855 134580687 432651355 108853365 164109673 754428989 143722629 97355693 599214693 975331471 405686415 510492457 961054689 381183505 518407579 171462771 444415715 900647123 713700563 814542431 713827067 457508013 942350955 784052233 15955773 360143421 491419293 279702999 275042633 556325359 857611433 313818739 172990533 148319983 267707355 900445139 348094429 529838137 151182979 745843251 854382411 606391693 473637631 94634263 523588169 196467313 990138031 952069707 256279585 746395445 863757567 548309731 583846047 906439155 433427551 239103549 264187675 656132493 363710793 896002299 979873139 330136743 933974337 843756553 726799627 706187445 137894865 409389471 416895443 305625323 491684235 497655349 475008321 396052301 550682377 666131345 705035603 639887779 905411053 427139519 181610895 48709243 970654689 881168405 369805829 124420657 833285529 881415211 940491849 273629665 758049231 994066155 710791803 560310901 92255811 595241341 739658305 145982877 426860225 390507605 346177991 444195539 994853403 537662003 302337735 640834643 501312299 781784855 850684285 540490795 767180243 766140241 463248303 846589223 357633021 198718579 523677099 573427681 639684765 233799769 982393161 694936505 961946285 940531239 475034341 594429399 590921261 370367819 423881319 169974827 300443433 675224185 251421757 594355821 820890291 859397293 763779677 127886111 43341285 649476139 76968263 632965255 349357793 13258111 103565053 76335031 880469459 744571517 797205009 568149383 775699435 164225345 246220951 772946837 664181347 2513201 29634863 373219149 593542527 865494519 509773311 368074973 345189257 832158347 260871093 97684029 83463635 322226213 602825349 518470701 750539703 434291531 107514161 192216887 324095385 556889289 754540541 273969835 386386911 877519539 621947319 424428959 848356863 159621991 583209143 329502199 956816755 284336263 518020571 925927255 906038971 881032193 380340615 556892723 534345315 576430343 447850155 114023617 111981565 393962263 83184061 448274433 469233955 661937911 735272891 63831741 122273911 421387695 526140717 180374147 563179685 905352087 768597791 620641455 972222813 965451593 193994279 698282333 151318617 425028777 835120997 506844791 11630175 748140005 662144895 203493549 16116277 126866545 153829795 850995833 804240303 587086343 431265925 672899865 987077799 766226863 715805031 351989655 180845055 177635507 86384909 534088641 861528739 464655269 885805255 712924977 495345283 478687591 453431145 782315079 466022809 7495703 294088785 411256107 308520683 549677095 67441255 24775885 749162367 236254023 557991707 198088679 629259625 61546357 420257119 507708917 700049091 112550899 480697011 875943493 193185455 563515985 389273119 74462947 599311449 904511331 572575023 799057321 801751537 782387265 918290169 164825909 660261299 322291539 141152029 417474035 824278239 185035077 954018497 298524945 929877185 679325705 532990355 14295943 59497387 82064349 920169161 11594007 182692343 473952325 982644767 109217095 975611657 894927629 795053793 876191337 296107591 295396683 614589143 403561107 330852903 722884185 139135323 367705257 118955811 171795163 132844107 227987793 713840827 391019455 359256843 814728185 279310973 903075639 23484811 105106909 972587255 188895171 434599747 567526141 792737989 885893411 996679213 467378463 438449033 117410663 768025043 442839763 808522479 143380961 667630657 280230517 847246759 236046893 467951373 264856865 661475437 41035567 780608599 849120705 885291265 808807445 779001285 738287111 390882607 434291027 512036229 79879017 745790411 625894821 758348621 548694055 414301611 281993487 224684891 775682121 663429299 84606427 917236597 309854371 173287119 17311137 763263979 69165513 70256879 637035581 163482769 696503581 383983631 830451409 668594117 121669063 876028975 454058697 982586225 557320119 355065693 849554651 77952511 846459559 45823143 2684931 876042087 545339157 590060329 557907077 489058857 157940041 92905221 162429165 663277641 117887575 712455271 625761551 491815509 267117331 366738559 663912201 605913699 945800477 537936521 550373949 838077203 412096481 587885767 601878617 300302987 325813645 459926401 462062159 482359161 830422043 705162763 700745567 575507 112235081 284652991 108532233 945683223 12758175 867570433 876652315 590515403 509267567 487526457 363764907 940094975 555797711 155560665 367607571 330791687 511921571 192210013 640708599 93206723 20543121 285927237 208727365 178989463 375703561 104132637 104842801 257170037 99673667 449497721 266219573 588342223 588469823 140373487 580352025 827467431 753551559 318172963 105776871 341953919 566200683 724330177 676310769 622204267 732173187 594385531 296236761 628784891 676163885 183013383 146898557 988299089 625873491 482424365 988415503 969053973 385682343 945833907 243592447 691629423 433061279 956028015 607784713 910371099 199876475 314998839 659927349 628082005 275299397 530418671 910612173 212831973 180571085 205658755 609863781 609178389 247656873 424342501 715565787 895042241 125291067 146030603 79657553 393017665 641233323 804874749 541439283 841928577 524434155 349252801 62393145 310259947 935497393 500462189 845950555 336915577 541939837 100233495 146812895 405309349 562892695 106932197 277027665 136747385 282147859 808856061 83709317 797557121 706361797 142188439 762313625 360618197 188912463 943564009 850368495 288635667 507579673 900175157 493353781 35360095 540530259 792999881 486167903 547868009 625972725 584164083 53550759 178838631 232997825 171728143 98775701 815034391 118725439 213641089 953333489 446186431 436455613 116596145 909663955 890170159 664614995 760628241 994231189 641903035 201617125 570146077 191512027 3603267 113389849 982955607 381861523 980858669 193099871 392867655 724667377 9345893 593527791 882761347 955296881 591375205 503827403 334053537 188246999 932227367 182065081 90452295 254522413 639615029 794583627 174392349 67321035 26572443 381382617 857845717 735322957 990566897 489068417 568519979 630341781 218918485 725440559 340849633 166087119 800273259 685513615 644895679 58703217 515578723 983280415 692184985 485388855 906035699 633587481 271162955 66573861 348199257 684200841 288668597 41243015 53404507 301191999 992922049 880767473 119667785 605733585 146791777 23940929 596843513 374299553 213649297 651559577 396501189 387428569 700833875 715650919 181068441 222583909 294965167 150038621 941130721 105970177 418123451 311099513 565381777 379736619 343818381 349569537 551393067 990584109 350371147 400524669 998937011 572905493 942784797 863562947 140230839 288100799 337933621 628393969 324854863 168946119 161020111 690397291 652009241 794397591 105399853 856538587 545062201 985981279 753139095 609475893 880212831 580992281 231170147 676933561 912309697 130440067 578048999 591900647 251822877 84047653 757512841 98080911 552022971 357604179 619578033 778852291 541247079 166787359 23979475 486447583 79159671 602544751 508908391 213064329 33469387 738673385 359346671 682430891 353081801 601056509 214541305 336873083 546746461 536320229 476711699 129169525 316745729 318537119 542143195 3277403 14036913 97838067 949950961 777553725 702056947 512233331 739098879 360827757 2476501 449988983 766798775 580227977 877840879 313322013 57704917 473608051 484471647 493772113 835424795 160381783 502659785 741355457 669656403 408918699 87505245 242945509 940211021 902638893 96596945 562785023 545989607 94115805 380599141 938139157 784022017 271224329 152598235 721529079 588454533 995789381 985573765 63650113 961058661 773736815 240142391 145825615 862701213 942049193 544028755 732778317 991656751 961554785 413656761 77809193 420211237 629143625 622884061 532946075 577670031 520863841 285107 599458339 529232267 157631721 166402233 206968843 782895929 452456817 486477045 668635233 924276675 394518217 29422581 620922113 499028317 810384913 100775633 464856711 600981055 450219437 487514407 730258781 934734253 916270663 556737563 221011637 505565423 146335701 212352861 105201027 708610139 555512465 969803813 237698443 68692039 20057091 801182253 357397589 473408537 295124469 190546109 169032239 984527673 782818171 123261349 520276275 526648859 419867121 725113403 100275267 486957367 152591869 627620443 531924995 461883409 556420745 947821421 51236325 590381619 863846347 302278495 74239265 339482157 957176383 395181479 836745657 827217565 759842729 483126337 672797557 786158883 174395413 628867257 925063395 724477801 903501527 911639319 507909213 668146211 65298829 454790389 810675457 28240905 660955417 296514161 545524155 919848159 569276585 415348527 860784185 992113775 36916911 722391903 33707509 875166089 622019049 533750457 724693803 941046027 179476571 293316471 342495207 583374037 998461523 286496099 819532025 199412945 697449313 711703753 592974073 410312179 830170469 782565247 622306119 279827251 974231937 84418023 31076105 918030485 180235043 37490659 953360435 515337763 744362751 84520929 866428539 61554413 855108111 987893723 244568675 738014225 143859867 876894285 434107953 909263279 428870955 505559869 177934581 890990065 216105879 783546171 230046603 358130699 623751161 169336411 677472655 252277557 814108087 363499837 841507435 499010483 747333243 448581637 47631953 422000079 474736443 946876261 7939383 529233115 326040883 832627599 392115677 768193583 800840935 689172291 597407949 335888433 649506083 17365193 314229589 530136395 529722875 239922925 656472209 31249643 62905291 226570759 36862557 255396497 235165241 975681779 2379363 590476987 363026735 624015897 205329171 116005365 977951205 405591143 636488871 733939663 32720339 643231827 643732509 846575591 863239103 687961819 873627197 165316317 452235957 16238725 191085723 632512859 463884553 774868577 712081035 665239829 332820825 204594435 676803119 484156869 460067719 76217739 294628207 145621547 888008641 940532381 25695483 940508433 710738809 167741803 137533259 981724749 986733167 523416231 152290721 837560247 996309923 356400531 194464003 864980017 951667299 35422963 618850115 531408549 956093765 815663125 18641401 120771335 379475235 605287887 871245701 834820433 509893667 73674115 111803917 593831043 865411759 207259667 303341701 265654695 939557499 781023471 880655781 698135251 866476423 72347917 427099881 888673823 10278165 987340267 879851421 650657965 650596015 300202127 82727889 865002409 729919789 700674697 179514205 605306689 902918569 876269 831410399 400484277 908543113 180046171 363385027 835589187 122586745 189404921 322111541 864643639 96558955 889652595 977523249 254193123 73437085 694579201 817164919 60176289 918190737 615796323 443362445 250560211 268349975 891233757 561811139 16310499 875755331 819276349 407448373 381319749 136661357 154331355 222450367 677066097 633643325 772854675 3292171 708232171 775682463 867369933 4341899 740259645 870445765 733402999 677978995 476937721 535061805 325715463 414433991 23071417 578566299 284021629 194532431 587723551 973171997 450500443 469850265 742040279 762073091 92187571 926080001 37872273 843082989 860137497 669303715 627696903 361802429 786481325 552376425 371601917 382194849 119221013 302369795 683817277 882125581 221513597 185239019 352775065 30396603 21628319 64612957 648663019 823776179 754035637 612223335 196409877 370230845 332590985 549598165 33766403 807215089 560620393 46069825 889070757 662553257 264763687 960933899 389149941 108865419 950748455 76162139 756964087 864206849 853275467 360730401 39314613 959337665 304307715 995632661 107753793 594941639 353623877 549698489 12963765 971026517 359620495 327772755 413095475 787343867 212123369 945249013 315631335 130326923 66691039 288204407 205591809 497817891 866210439 862580343 978620347 933434915 196079489 428937313 660087643 973361213 978894579 895613539 402196519 159107681 976572809 743037557 424646515 133726669 291116925 472262999 989264025 341490949 243394443 897260435 422855163 789657813 325404153 979290745 3909635 943207763 932944277 798183713 823134245 943573207 744990903 936159593 707580379 459635465 818888763 919959803 570989477 970966485 987412107 967197257 695931919 12248175 996867729 517532041 120072875 77450321 824870085 314470843 493900051 832782913 325412389 454157737 820365801 436132685 474979129 51987169 177151449 401314757 860910861 951203007 753883795 752192073 284392503 818933599 987975123 730377403 548091863 168570539 35486809 394581323 774071443 730893139 148287729 557863783 353420185 588087761 852099437 316130001 657748381 695039331 274642343 426037897 21720033 544858899 46154881 515824607 744622889 858421935 174910695 325225317 281906883 584745937 705474249 610099191 851574663 434662617 627698723 258565563 442022611 920142831 266796021 538937627 691397003 326284291 398032203 866249677 322971423 465150415 467750455 723573709 959625863 355952335 878065875 429660767 294294845 257673297 318505539 662777103 202277963 769461345 357379501 833495729 27520317 153937113 842195271 666761827 864631081 421129303 387280203 111797383 891678639 880107335 66893561 620539849 17418229 982083799 244025245 283392031 325650857 613056511 870275977 273024455 319349759 320005249 260194585 555254337 435877561 190024163 809382827 212364635 164927771 558279799 195522221 820989481 916631797 26712661 93958287 820546569 988306843 293089883 704738763 132277663 820137197 472661813 177792487 20592083 330502735 353414735 748909161 444384991 345684401 979031781 718601189 149441339 58568329 420138743 461297909 302071983 822552279 247828555 914988861 176365891 572810781 289916785 608594019 774617679 788652141 816029381 436023581 464968557 309514589 439531875 61237285 102857091 484843273 732035637 172777277 858424763 938416409 264904941 658586669 718888587 194209211 946967297 661245385 47138477 162606757 292177585 57754347 753660969 908573205 481028613 503104375 460283721 661346257 829656529 655372627 649682337 890472999 654834345 260343669 77934349 940104431 375228911 386250455 166129843 407665287 852091595 265947515 733978111 102526163 751493421 47644521 913009059 830565957 308383951 456999861 251939997 514729167 828849199 106208121 720955697 718622451 484956567 33900761 117703659 619771571 822075925 22307323 6191263 486701217 461109379 805033495 66519915 126102739 759974017 24316001 800327089 686664677 627473781 17558305 483223325 976341503 20558227 146771613 214313127 876398031 65578195 750579753 236179847 948756875 990527987 445689633 790205507 411483121 804712315 846445539 546525609 789737799 58718909 94690013 496224201 830518877 492125905 582953343 35639043 539832711 647121813 999497541 950091515 425707941 264418997 730485935 218006939 519067931 69719711 469663307 206132247 934818521 680984459 362007975 254588911 342625111 956755065 611646047 444092389 604478351 126533171 429257495 695120643 13297675 658101833 483080823 38524321 412053975 85832211 805153841 124227161 486794635 367254447 302710273 179227409 998034499 280171785 656011943 963980275 607105191 232877773 319865073 500152949 397083109 601922935 681440429 826590291 489006771 681798213 698757559 892400273 805476943 362484289 736938227 597212795 516064639 462626619 415940937 378166949 829824403 10250953 336128683 252821483 30855007 83122509 844647189 274805363 252585027 264706799 111003527 278327977 935550245 446076577 837223695 901351487 768669553 558163737 500282811 113153331 310611489 873214935 124337575 940960969 887075503 41898531 582469623 239385743 390768165 779281937 867155923 258138453 27945487 682096501 359506285 899936315 899515269 693511921 935024385 438188963 170797091 410129645 91637713 148907067 937775889 513369241 106715941 452774901 289168893 158089965 513582417 299672849 651243549 748369835 649929905 672580367 880467759 135744603 11972259 24549311 800987259 686178123 594955413 580990001 77195725 785532565 211560185 959778757 808283771 280618263 744101445 997593375 472723045 661376381 794621953 42241833 751085807 633892149 261252019 256687641 896501259 737919863 44465649 321398379 639956779 101601349 387842897 507903969 148015185 597810021 496045433 719899275 936261377 701833065 863270929 121262011 406199113 954194601 587746251 259189005 737733313 951536195 922632035 883535207 390430085 8505635 107401371 141313011 814831423 116958967 653769019 891141417 725064729 253456183 644171289 137859521 382696395 842593315 759481867 293395903 787251859 730802117 707678455 641985909 385417271 264663789 689763525 224620145 128123655 875328049 158067303 34529425 997550807 416413939 743697113 517360379 548616199 823292509 160392733 295023899 132540541 998625883 929908283 583060389 275159207 652965545 445586505 146758547 786495609 702565317 214447453 955151659 423515765 545536505 302287261 491081977 51628703 211240019 145065777 651059923 222774661 564757935 848925515 247667411 772954943 390638505 461445927 487651421 514726505 574523819 197131015 465097503 274961709 137612261 667413813 752227853 106067509 288334417 467693825 479484001 800113593 962789293 176817609 224126115 215938679 856790657 502818795 419646875 385038007 133146145 843056085 696158561 414951235 201666977 32471289 66764367 637975159 262481121 183569103 520095755 330993965 543644045 617021915 885537919 30282701 442001427 511187109 314264289 548099395 146355885 853740739 974811821 670273033 121615961 785334219 781352103 637139739 654542815 693893219 15550427 388194047 908574417 988816179 732668061 814806723 160431239 18450927 367265673 533022975 474194207 140548687 782104197 625251535 390307461 755997463 299532221 566843101 534007655 31718671 786197155 254080083 331300925 78045197 454217973 230499817 579576905 270838759 294705079 809714909 718344849 815875971 820653621 868874743 978733797 770376649 129922309 867620483 88532193 591243437 634805503 349586263 980548833 237556775 394412109 900726227 207561489 285994299 900766037 873357533 827821151 991810289 909126097 873117667 395621251 16346463 646490553 347505627 981936637 702484123 800343125 237728833 769528087 426324939 412561197 125837855 97588959 86099991 868620057 383135491 926341937 573123507 418882355 904787969 692309161 584027863 954730975 178658999 936768433 860041927 686929867 370857551 154323835 22124747 202134763 991068787 253674235 269215033 580534139 891227739 89689077 940041833 332418815 872956871 424226289 617719741 805710657 471003641 758899517 974702751 908574041 354549955 355936757 279957889 231863971 27411323 539767541 555038945 318709695 567384061 725287655 269494331 352832927 586123697 938350395 969248543 367697523 184245381 30057769 202277405 632611513 279740397 733132467 726914509 564841525 323607019 545651617 236802517 701830899 824827395 597383809 664100317 764330055 861325381 132418989 157658265 682975693 63379013 910193731 101848769 904553067 815457827 808702255 658851865 425763661 300222339 443464735 573366891 293933285 41220757 345123981 623339145 299087347 221223697 873898165 903652683 27911287 102556465 449289379 551910039 690073791 909757119 274912551 372330581 562266721 13820423 898494169 754622329 98907447 789709023 280216345 972058875 444744293 131135399 590103309 753520863 455077209 122521669 849804969 532790575 618793157 862823207 294094243 229662461 890844073 366441539 205699709 290972001 923925061 488385559 943637373 364747905 679467305 405414569 680715187 975572103 944939559 288139913 389263355 158116513 19665755 682885067 401987569 169895951 988164651 852991247 851041535 584117007 629036609 710643833 948089175 142467051 145392275 379317945 610830575 374580217 599486555 552041479 279626375 352499345 870480417 789564701 94321833 715111957 378332335 240581701 828736675 207970031 251697689 122193483 977440145 550626451 14112957 179613063 348642639 478871673 833810491 272408277 912151943 675948325 644713093 633691293 247586473 830950177 643306187 86762445 445993199 407206911 939586187 643177691 654775639 218495319 437683849 686969029 946036905 263797199 415199185 649852945 338016377 700555793 24761 847391695 894093339 592012747 528645081 548063891 457330609 380332221 614253339 274072445 284296995 931212197 216373413 901961009 400762657 497299791 736345585 303725793 174086179 777702795 425908407 986806079 670720875 908408887 502477311 168453005 117954559 657781811 299705105 84795021 648844721 911712875 96281733 116885907 988109849 176818893 784071477 16075119 225818007 15422297 244419909 275066245 706561617 69762829 592554275 560810679 391704379 736514805 982250627 911684213 40834829 586092835 884876641 123527093 389035843 375688111 303478527 901491189 582903593 841720767 104206573 540846651 354286287 615325821 988322813 37334551 354877453 477776921 492625227 133799581 396224897 673368269 519671613 338693485 740156823 440780253 804127357 439405995 428069755 128231059 99115777 716364553 496013865 409132865 321944837 712436409 128653665 667070017 397292557 147551869 804512425 94404853 924233189 899632025 625444433 911699143 716570017 46372315 65621621 332213803 434268319 682874011 531054065 396716443 864514433 33119669 605457263 252655255 174461235 74199185 132525153 893308075 808862701 602105117 826649083 238993001 964588583 830777039 293799489 381356649 820918695 914817445 657093371 890137683 778245753 634912551 983175865 635253195 645400563 733727073 517690321 776075655 254155183 746493929 946296677 346986559 636330129 804631775 336600669 806774199 916061639 690885095 174373481 829701049 41689539 102307123 657664259 398727447 347823429 39495285 151596137 576533163 282158157 511581679 329576611 264806999 38851371 512513381 984564867 695055367 313263985 610235173 570943649 939815595 649960699 731286791 917447261 158625597 279013613 354797929 127119583 776492995 780551349 585259567 397726231 750014531 887997703 601997257 162079677 631588303 216490719 35718701 478002259 87838597 788438657 419684825 829303839 67126151 515443321 520446165 963624499 732913147 516895387 428514731 670855015 971395095 439591171 444299383 385425753 187169557 854775063 786543571 334797685 470160693 993960577 52723175 557685737 959107267 345461305 210777951 86203565 507901201 263975287 433888885 987730049 207700345 166834369 270026723 863986671 344906333 111712483 77429747 637317703 776329257 30652401 710621555 254260897 824605261 436088393 108845751 738702043 313313859 696446349 70802077 138838175 839846031 738888107 84926861 216195679 878427579 179688405 994628727 118611537 192917337 611488137 80476621 308908405 401819907 396416909 441503887 95103125 746041181 930262761 80504645 175870783 261470989 857659893 430586105 431383247 510793161 536428875 958239303 320035169 929865547 901006543 890092105 823118047 416523347 359151791 665926567 566827001 387163565 180771935 547244941 313353001 593366827 218059161 325633205 342472621 378084519 176477029 969357915 451009679 636306181 909034253 627285829 521358749 970548523 362224933 861756609 363227761 166468367 609365641 351944103 22703467 84463787 131631453 56966485 684640947 177206527 531300369 977423023 513510201 504705303 174581333 173637413 829832119 96071941 910590503 377069485 128373673 653797091 477021387 55508935 639772765 427153365 767137739 121704053 266099167 102985985 372125697 187920713 631182345 556313759 58795651 141236057 520971129 810320099 611662777 98154561 484610203 749495059 369847887 918200105 484158109 471472763 930738231 311728061 437354615 504505193 200902063 251132727 653309931 737292345 409493051 793134931 801818239 47223885 850385833 975170391 130018437 242038545 888023305 431989011 797297173 999199477 715501499 994462171 529442829 985402997 494616673 112315277 659380505 240431377 388790249 487995795 588964005 921009237 111530631 174216663 413789677 568294611 79563445 28156881 38398193 770481959 406366777 689942913 563608439 207765231 356412705 295339625 252123663 729349593 215876799 156607643 351767317 593683093 490897071 571669421 675917221 444145117 169689557 24567227 520246441 299454327 877087071 746244717 114337235 923419945 799949249 651657201 540635289 197292487 760636855 782451195 625303355 12969515 711042885 892304589 849959873 844017721 712900277 824383533 15556863 107023321 748657567 712528997 123469705 491711485 896093151 409672527 425991361 9584543 953228439 23013193 5239759 88849093 249155379 515636279 481131173 434976117 520017001 652713099 331292407 712682691 505635125 918103607 755969353 454469579 330258907 986925499 957921251 32943787 80208615 468973343 419519955 665138577 316910127 71779055 829430771 305228205 375955915 800209219 438282211 289284667 141177635 123919543 817427721 675425659 860542947 293542771 468331417 141483449 375848189 949994021 594976651 742249545 159156657 369216771 787333533 398338689 230522495 656134347 698703447 611471045 120353845 969192899 925417227 822331265 230788841 911221947 832164049 719412773 71306485 30846471 970511751 802104365 961758717 99646597 547611865 630067227 609706479 602751647 132119861 560198263 359413759 858073919 368518867 398295253 232278441 734754015 730352307 324391633 72377263 500640377 690590623 396720393 58559777 596339863 577495847 44209707 592342097 89001541 522206371 938451943 439527899 344476187 231715889 453543417 8743843 851908405 293219773 233514273 262279129 923094587 308848115 580697133 579091437 8799835 67198799 226248427 708438429 448649291 567214351 862296887 956719083 153089865 604536893 202264053 694482471 704347163 49058473 115483149 914545891 288801809 532835305 812511089 508170493 500795903 800379999 540770333 453570711 70342981 319373363 90976019 554179613 934613191 794423895 118451035 331209543 851566071 446671745 150259977 165992461 447348167 587867441 495611961 557964213 830576057 772513967 831170057 332981707 56682705 964061199 645299111 985245987 654182045 614011173 658306883 875498203 816257589 375550099 538617113 98676567 815767349 550363841 640413291 604483391 146689221 646327007 514102401 915519117 407534739 354899941 263030705 894745977 876512725 497236373 763249745 2033035 760619593 675354487 139574727 483808907 947504439 512172505 319170937 626896785 753411689 978761941 509595615 584154615 234142523 325748553 605050735 398580833 779845509 928221153 317920683 159237055 222550707 314793995 858314273 667573823 118485169 973364479 151346527 809402979 189716211 875266751 222948867 919065069 370927483 41618193 719077803 144317159 18191309 151197831 338037765 649107113 944445431 892702073 676536259 442283727 934243729 650080517 328003995 866044987 36162231 824623127 893052757 574063129 116996369 924633181 291631289 923945183 54514381 340925775 724182679 185271113 156759457 160625965 75743179 880323931 786788813 734337537 4616761 318041953 349259539 412283547 487310281 179000047 899566533 83682193 786183535 645024227 636149687 796509765 748479011 149507423 860586825 940310497 506789351 548493009 352700001 993331281 147334345 84728555 368771435 361826641 961242071 560547499 199474273 800097631 518409263 771486807 820763583 169571013 663400943 737602679 606505867 471561361 426187589 864155873 898946643 872153503 192995171 228185011 94447663 943539595 769615233 231022673 295565243 857701311 337361377 488511077 437220127 106983531 92520657 539594467 217722123 691416457 498812831 723308299 403052465 345874391 124801961 910749533 910269905 164872157 572005711 273942185 862676401 45730543 17912571 951687425 647862817 937543201 126891551 548146881 594814327 207465811 868256311 745055631 644771471 938180657 755707845 459920725 817842639 935761193 111290195 589589321 646149673 654663285 509086833 334509287 549350417 472397587 962967741 509832433 966567555 37268427 257758933 597738103 885202441 43268143 357879143 102205899 858580401 821294999 346009637 526430091 239223823 825528865 464854215 583473561 621308993 475812793 771381265 281528353 491397361 930929933 935036107 522929819 214845769 419313813 385433291 434382015 379502593 643383699 733346281 753808787 221966935 88979213 505820933 130375267 115762963 311155413 834527501 79031747 317967233 71409281 733991923 749656721 300445815 563236981 15862703 467399407 751983957 265018581 652297029 789158731 236611329 710331541 386607549 575967577 170034409 318445675 292105005 163075859 366903809 140714455 427616685 352488895 920031691 229939235 437819997 794847979 48398667 675065181 265905261 422342503 928530961 117272417 572801033 752394835 529229105 715523787 251086703 819789331 924408905 333059077 335374817 908638033 535462019 574295105 328232105 601930755 965621641 20614771 690731031 30832739 770714771 530505823 565427849 718777337 442960223 870569357 471758175 65261199 50293557 707176523 773780995 467108665 146934753 233089717 869761257 779358035 667580603 765355943 47929993 787402627 452625823 989193675 998086247 137954995 84815861 192730257 668803083 839081753 495884201 2150705 768280587 567213873 206999605 80975277 183744255 379351743 780980629 873912269 670894217 969904591 68613967 574442527 618593875 747881397 806001523 542607613 900620559 986909199 314870165 575923077 869702011 526457279 141841875 637616803 360642387 222228979 788309463 210529285 50592359 909958429 519190475 199672101 752673159 569298939 802534759 737992255 375187853 915911313 939017451 680724833 529805401 419151661 243069465 7362389 480619995 636789087 611356483 3634873 976783615 816282887 983729727 816923883 687179973 170372935 126868841 423463185 725733673 366510989 137207977 803880223 304879675 311133837 836462189 110593227 44268811 123588929 229351595 536920215 34249907 844047857 137613793 310702793 667058517 390528295 350654997 809599089 229531931 639871157 84286423 770377835 427678009 114635963 244556091 98629203 309349095 478177437 164929759 47869843 352132713 538962949 291777261 15421533 31986185 810472425 127973391 885830823 658895127 113640325 43552383 335033137 657729777 984760669 128332535 416157829 411201527 23403069 458262977 285018609 413785747 41987129 167723433 641366673 167917113 965649837 41732359 907649601 702979681 481675327 5906103 426031787 532710799 962943961 55089441 912540223 993638989 67669939 700658483 631268151 259034157 220879685 852407651 631297681 861988553 493070677 775505071 54284053 960739523 876358383 499092893 67882071 369717957 94696551 309809467 699301291 982165123 556283995 397939235 130862899 584576949 232383149 212701549 457962199 118671135 712763275 472027077 970728263 234737547 122775143 996186197 778859771 848133835 233054977 793877463 283726645 240627385 969213017 102272389 121661691 792382519 93296063 184698409 160020511 270741039 792835523 131370255 89477177 328521365 963076421 649923343 831513513 50607457 751196777 552577413 679635607 959429015 244930457 31159641 303295985 275648065 294240393 786609657 288679541 902098289 695587641 862489691 846793117 963081537 859039979 450217981 285304501 280175827 726198569 220420583 740826061 726958929 538739403 696261539 390271165 234408175 868266733 694541389 821341731 977529317 354098159 359249277 313033323 543449463 802876035 368301663 212547265 792891119 577952409 781856415 332449313 271819935 937375343 177978737 387312715 823331041 612528007 177720983 147803333 663556375 965386673 288850261 174300639 855450797 862467073 260183417 249974709 93930001 289744335 681908313 259826467 263928771 441267139 621723607 306263763 390812993 558337225 96600405 910898743 243477015 728164627 459614915 901752451 985944791 775483679 983326103 954412477 886696475 437006513 457725391 927089063 387197829 431267287 474369267 958865111 167322303 474113505 422647565 640675233 407992957 354411119 564827577 514637607 678892409 692895331 247865617 344443985 423805811 147746027 46688955 853021903 353673783 934038651 927121641 393033755 593596055 630439885 883273037 904007283 89320301 633408745 936929321 204598239 749379739 392540695 55580481 645804337 410805771 493515503 882704099 220591361 114358961 449358155 908543719 679538351 654914439 869461073 71895465 320973667 997621901 41685867 842476819 316257037 473982415 429021007 934816655 177536357 415481439 288164089 479610133 48194285 505023319 420915883 383811107 952723947 460865753 421586677 462544063 477539697 505625871 993970089 124491129 401172567 127695149 214261477 101522535 26897467 517095533 507099657 379165733 277001353 283003663 632050375 607720665 191022447 918161759 911312911 817696565 823550693 19171503 547958047 262002029 462097323 964986969 601932923 857300029 400473163 381876415 589808879 347605487 736340501 877505613 81309841 509837137 739560481 741043315 303581625 886805685 795839053 604775083 877546511 994110719 500909635 865790331 92018559 281492625 222578293 227825513 151121725 326975579 28215065 748604937 254683843 393907411 150893359 603895029 947428567 964937977 436957057 614549711 342941319 471216463 763423133 404582467 828373027 225020135 602535647 333688065 238254155 860226647 812573539 420276931 311718627 552852155 752204563 680329293 101349909 388015801 532962975 781714539 569911637 44768643 169376897 698923243 513824355 881801677 57614327 730900393 463896127 582320853 714157067 997667207 118508601 466364257 175995019 997173617 972365027 454710463 261617937 291145559 897641753 732405191 410214909 463105843 683314945 143693783 838230903 468319241 709372165 228615635 669950063 440233189 560219355 621917995 636295583 437895637 755562623 731111125 110112899 884360949 14027573 980480081 817206377 928867175 890632841 620725921 778787165 657783895 750799695 376044375 936952633 627791349 812303525 138499977 69312667 486259835 951430893 608078547 686543855 562478383 638160595 272503389 141035107 184847703 752480847 325231059 563498223 977741127 242416025 686056559 268028245 23380825 467957303 463983597 582289179 950636273 845620725 122578323 409309331 40670069 698276841 574813487 982789077 674527579 574606699 109311001 856188351 950487325 120501541 690564655 155720445 614747707 714372093 152277 981799163 151599681 408036909 125563901 670076661 729762243 977547309 46050073 282316011 672924503 542081989 441077801 374488739 1901729 126840573 675133621 409191085 969228621 571914541 267609289 279054693 159677963 963677167 109103101 384041959 522846103 177031209 582916717 55278877 812000177 746408709 812600257 539405497 222302757 922181369 122429477 383407665 695200197 377204927 564319571 559332293 674279277 980430431 520055687 915168127 402925307 453957155 988595847 379946029 408638045 270756255 140128419 898314345 257631363 183054511 560048047 391993747 518910057 499653241 360630283 984841427 812464655 92706409 965204379 790565915 857985921 509740337 505551567 699538207 236986835 97693647 764749215 180685923 51771419 534188679 600487045 170841135 128871037 675001829 106173323 256297873 963045669 237545917 248742717 57152867 982160707 987767853 407605171 307288389 210295827 202912407 617401225 168159389 171430357 79744169 17789159 906891681 866946775 937078613 446777979 635630659 845471335 885558745 262619769 899877191 591159265 771281083 718302115 491202355 44209065 793547459 166382655 67969881 15141413 269681159 317071639 684605649 232053965 611341541 776630917 600165753 849891605 857974017 134859111 248861437 437339013 599109 876854819 951911883 111665315 397823973 862451621 701370907 907159557 448858465 617156709 619529965 518680385 778384763 516961123 896013067 884596987 635257661 579318051 125715461 295647199 301815039 179285171 771556147 495082397 392427355 206259883 230347955 488865265 79540279 642678823 16024689 809810845 983959485 86944719 135775001 486852457 386466147 545795793 91091239 500566825 64214245 475413987 298539481 178860729 709301063 224205379 73313337 673278199 673216981 629287095 413093399 864109777 205646115 346036367 798461193 744775735 423412237 553048223 850392433 998880549 492705977 911317063 519610233 283938461 141535635 732148331 832841741 503734183 580106317 88953469 415500777 835344983 607751397 925265775 919822987 481240265 586386079 282007747 660282683 91940379 931588873 598627709 41858573 905573755 803954419 238656299 848527061 934395163 524738429 620857061 540502069 592631603 431692041 951428167 665254037 117280517 475349573 987790969 566139173 528422365 945264931 335947049 292710621 78261263 994330595 935763853 197397375 49737713 578674693 353449827 255627923 508136681 86331225 72983025 723303015 783677023 18966767 673746183 451525397 881658053 84543527 452085753 895273851 723429527 956677541 615194791 982014533 206477143 909428819 752576631 594687201 950108301 751298663 872676693 500305543 872778445 237727325 53917371 684835129 861295795 405296119 922546341 353643197 513962973 775907141 624926871 93753765 534824953 465164185 777685157 777422409 193864633 814834831 545364577 866075591 87217621 692351245 288036841 144860939 262557199 64541247 8358117 79947203 946103349 692271255 152042371 127952231 153870613 178186451 413896569 700487735 323830669 482817783 741313797 736537149 76108667 750202191 117113327 837338697 813719245 161706351 653216899 183721201 524411509 998182195 449286807 348238231 603498347 454879171 109115531 312154469 719361457 218473605 875283013 541481031 997720405 152542259 183125041 187738105 739018597 125623749 593480777 406702841 792247551 417264513 800496391 208422801 164024899 884761587 807130741 699947729 997667675 661833969 350309665 655237519 775428985 684083861 239536413 692932973 193177561 199797315 282215693 710514131 75781309 92816809 728429843 260508401 921662061 551921595 967845343 477569217 411498559 824289203 71604135 156276225 220374409 122223641 475023147 786687289 137084081 617143223 142057133 703264189 599417887 966250655 794839807 782595745 564289863 348737331 452157557 25890757 923410337 830086417 695152111 430565077 527558575 13314601 923341779 171857471 511544319 755863471 786991887 830532669 671932959 227635999 138143255 380636621 84917677 91831101 814420973 286238647 426087753 733083925 902478101 375984525 33704349 613361403 710362783 332784807 738670683 498457995 940621597 909022499 174422335 312770731 454822835 391743725 697614091 556830855 736693507 804117171 138131081 714081937 878239293 888803565 242807689 252988551 229720601 205657821 357970409 618292589 101349841 232477577 310290569 602782351 924739629 671376067 829124691 649894019 466343549 216491041 930776889 650024483 349942167 877284359 722865463 977511315 863341271 988303001 708038991 800301889 96962853 99285195 445084811 729152223 444665837 945067347 738682619 895061611 348086313 241314737 40216253 393594667 259507541 903811375 526605553 673604263 837913207 896885211 696298177 295121847 517559581 199359377 762642015 955185525 74045535 241003245 560064009 64358469 922963419 725392473 410866939 426858199 675728053 407147271 697029253 835691289 38423199 772778987 270124791 882099533 99448011 406603465 464824489 29524725 31338233 804434217 237660417 700340187 534764145 831765337 277224295 549621527 444250879 179975541 642599503 49337861 67648505 335306329 775300145 591191365 264018239 903340207 489304209 678303177 432444983 873771495 874202361 721271233 512901839 319616825 545072633 998503339 879643773 929192615 159378991 357770571 987922239 487807993 432782139 567522989 869552795 226418621 44735175 267435813 113125023 69833293 26934151 88223823 994661091 89237705 634382387 120503571 108102021 463728151 880421519 968941719 190237739 483202027 571289699 650345301 565181697 308783549 604436613 992254469 403990463 79965129 869600717 158161069 676558501 180072989 233816093 677579161 168166773 229785987 12690271 48367199 244177025 41190553 579104903 954222297 181656991 476145341 971525261 569603115 507545387 275659029 592848245 827783107 4706573 749339541 983623497 669584469 795764147 519382003 578788121 775799515 784890131 193757873 803877891 223431579 140135851 171487765 845994023 734869795 835543937 800085295 214200239 289052485 123352355 528778971 700756431 13761053 795515049 443774133 188351935 324198673 287519409 88511015 933644739 823018955 777995105 26107747 684273701 220266817 296211813 400653919 68121655 703488175 528983285 734403035 943536977 904582807 393440465 931245665 416298457 531856841 836565821 590468415 312405561 312365143 760539399 696693137 960302047 335658143 614895237 592723763 297198667 190192195 845311129 522618319 433563131 114361647 316948901 999263701 400251769 203796121 774270615 141473151 176941659 905012733 814825449 583053259 187956793 453156895 834960535 708909953 680944565 326091275 453223721 11184181 947032953 412464663 20097705 908292411 174705977 856474333 270257585 769666229 668832941 159577153 874283871 977724043 3391641 127125103 710073945 377390957 971596231 904740575 863111627 752776659 564412425 329637193 801577071 904040191 87842617 322224309 61843839 609179127 126243385 84646507 477189061 335155853 818504179 82727683 568855181 125925465 467164763 157775703 344950447 731978683 695818601 197425035 321046407 44889307 230116897 5147149 862038013 112575143 963657613 283534993 217214335 789369821 988926399 311958291 946731267 504614903 217523921 154946773 490810375 422280257 965695973 300410727 913639825 798420683 142059045 680858011 589658417 240126829 660426181 994237069 603179003 753011397 570360063 190665379 909343119 818986303 304310035 614482567 882679571 191700487 910607181 723550255 859885107 33455129 378455037 425102295 163286057 310942005 647906177 645372675 65543343 239579873 629581625 898757503 665236751 256478061 521868945 395608159 155385623 338561269 893391865 989564161 794619929 317733973 498438123 875777543 818825209 293419063 605499371 94854237 231644697 527513101 796054403 901679675 111321705 232387851 576074565 265519129 407719519 375901495 381146059 889750973 745934329 595513939 63513783 581395251 118458045 877676277 375921077 823285713 885257403 764972913 593207667 33816881 579891079 126018281 925996209 715268151 349646145 477684293 377384749 387003409 386681231 120818997 463487155 154581809 44585631 794255155 228322325 248939607 508437029 614517885 761225773 943940483 194386019 200690459 657332445 803565829 253591325 755258847 70454289 714554479 477630625 229348705 394365111 41708957 604526279 979316993 313771983 197151667 717837291 172031463 237894999 560857119 598411253 349562371 851629915 70868885 613736787 177056525 62530285 502736145 603116029 105223047 100547879 426895575 268069997 232675255 633151019 549934963 643259051 21979823 84520997 600029881 626631495 966283591 309974597 397245637 207186517 343755037 255916997 340526333 671701621 851814813 579904233 122958091 418807245 511850229 573590011 367718375 909735691 642409757 994214477 572389065 706830947 233225429 948917049 407687735 753431191 114283687 415327523 299740413 2601963 64135139 822961265 907981615 55393069 533607329 128984217 853615915 641603253 45775807 131311381 365068947 838847329 145679847 802004069 817962325 715399573 375352971 659922709 160712355 820385857 725184481 255552695 94814203 129197019 550694121 91923685 209061411 707815267 810391661 98964545 63004707 527341915 864248827 512491895 678532691 470964949 604986095 331381303 67321165 814915685 137731429 551795771 867885813 860213547 187220295 182550089 952019321 211803085 91230533 620145447 691593293 943335289 537978841 420546217 493666091 652630757 103009857 987744425 624067867 814921037 345905031 636998665 896453991 883269499 475426681 165310901 73001123 70880957 143350705 970791837 57875883 130562023 751422607 777264571 71778981 518070871 865093691 868187413 546208251 98771703 690193317 515415217 790023011 428013361 169337735 596762275 792483545 20909053 295861597 76175109 928728993 405853401 515648629 602161401 107549511 274059469 683729627 143799723 38122655 94028645 127220841 422750539 62510789 956369335 473170365 672492053 21410847 679014755 923393859 85659977 930165593 525635983 639702569 307478579 118970469 88702441 119009639 346829093 972230017 576584103 352277695 827341433 751870513 46897287 518940087 841373587 944250435 914013647 624119969 504954329 633397959 100033357 242652565 817183683 85364509 455394393 900882289 580492741 742966759 835044049 421761761 484049255 284498451 864557081 660605777 625837615 256531413 304601633 846795261 581930161 542192551 506408545 421969125 729270151 453549391 816642259 801146319 180466771 136808155 152228609 241877323 204111041 67104157 189628151 408605109 904170881 892891953 117278283 25149481 719539023 939875963 282775837 308200849 565616619 725818025 448110867 460306335 454462755 722283055 185350747 477164489 565526981 267536329 44584107 916618319 555632813 747853179 305947201 8831803 76452285 175338383 745268451 126690651 809391841 163459999 982426337 522228041 830215945 81575297 327877647 277718629 179151153 412796509 865481419 475147735 835235161 887429533 494004479 502971793 367150991 269098999 819669269 667792199 633009377 951086183 314146565 238395773 153246827 891182385 685956943 759899771 291229265 74899169 264868343 987011919 828059833 387474253 720686987 410243795 770799833 905513613 368811553 872537767 14616043 965331465 975444571 985486897 636159537 25453933 444645467 121755559 686681587 938742701 60053711 883908859 497029765 130755075 560340465 785636593 513999681 642812661 686978685 430034447 726735499 213758799 957529273 803835303 427877067 494105383 602925941 987312849 428253555 903055063 570114821 295307115 273103359 42159619 191443529 457346337 305482991 579316889 240433573 738234465 629796049 675144141 833794059 38765411 417270067 171974939 754895341 933528871 997403569 96451397 175092813 612192887 907623151 104499035 782207407 651851491 433847699 310863279 130815265 314982851 814054229 81999581 827416889 384202549 800748523 6540489 813804313 619724581 970743319 289033635 849474915 475074111 506405029 17242331 976760135 875550463 756173161 594223663 365995385 847870627 662841913 476881057 973135677 352276533 16479739 764978049 792678739 507313541 171318165 988953953 301201675 601272873 365871359 880981279 854898495 96937091 684859439 960439517 300925255 948570813 307364903 223002887 101569551 865984963 783227891 65087829 812890883 339382353 78181799 681975231 743522583 624539109 776547161 614790027 747959757 439916999 654901807 339690565 591319079 927598603 520847185 183896259 43384249 690776197 691586289 411023389 703708563 424552919 653946699 216965309 365026137 561061993 922186655 146576201 496323629 378896747 303200571 202811323 488424383 38792149 845288045 394248779 500049221 686269801 799171987 363476609 598207613 744450991 669607947 449642533 364668077 376705781 12590403 318717007 72482725 932577109 665250219 918251609 994719929 128356781 88776639 824021223 848864201 812519081 292898561 331706089 39262267 122901943 422305017 200293517 263951355 307066383 186659901 904143445 746337923 570187187 384172899 300863491 64201677 663599721 865310737 314154915 906055523 728848579 781754351 973675657 743693139 529648409 679697839 685911633 245913903 470830217 442602509 417569249 730217755 101193215 831882443 982754915 389479097 485021993 465198513 21724749 485894201 146098047 44307349 957616731 451245905 344784705 667880269 457738385 225199679 350989945 48975551 660546875 280263883 872350711 199576019 548361709 9322815 709267025 994677115 365415045 834888567 204736745 53034675 561512485 218522573 93393129 394494845 817184827 862680615 466249277 932571105 745280377 319639287 274791585 681499381 415144669 716388911 367329427 743337423 40856749 148588625 666164317 483257493 165626737 668410721 131898127 172564847 774049025 48874989 120613247 360364431 609884021 338293773 785512783 19651633 134541367 762368095 19677159 13295511 641997039 513445639 665113975 628937227 599751313 570385589 163292153 130928861 788244061 87843743 81668651 903056235 550159571 598163075 158968469 899746835 926070979 970233769 73392267 112132419 902463039 700301277 555069729 592677997 724884387 892354421 707175481 188826889 418731669 322103121 459789177 495821211 324286207 955387863 769494359 456915115 526606359 736851445 273310213 700116943 921837913 869976095 966666887 544009885 421422983 352538967 561294243 333232571 40620465 739351585 7542507 93129169 50316329 767737227 595992503 526405267 502040461 452739629 925596197 661325753 704536511 688868645 18789921 420023813 755769579 53550871 385302617 699012165 565197961 922501427 591907141 611497543 891754065 287399983 819393063 338085865 343546185 342810955 511144453 386232331 648418493 27795273 122557105 185337751 178967873 612423035 105801153 824612479 568156595 746258615 496019865 773232321 963293749 769253977 91791965 181273433 6223157 56994633 479206145 828741975 545604711 38108915 859769403 58592459 274899909 768679505 98559883 987335629 512223893 762745567 705726011 521523075 952285797 659031971 788552793 849118485 546525189 832227883 348192705 218320567 991648405 339697551 684801807 238669985 99392121 551503725 89974445 477427735 507043931 227925737 40381901 932227681 735046705 273678771 817558371 492382677 699960375 18797315 25716533 946085579 866781167 946116243 213323973 766862499 927446313 402108845 651081833 99083981 537760503 411491869 104330293 406292917 429819573 170286905 517436171 598033369 352531209 401337057 535817619 37035195 722318045 105951355 639842109 351500261 177014887 791528437 132572993 202028009 505662499 811450565 957926817 34594143 373084629 915313385 937044005 507076077 844358537 787296743 144649563 980197691 418711699 389387213 184034205 306761725 715092113 367504435 321446411 338733291 322703973 427056951 78235019 253260233 326357821 107083389 523342289 334172769 631147403 177122359 194982997 999253379 989861901 972028439 141273939 551027213 632166087 599104093 578998489 790763487 76857351 857231057 735984561 669071075 43968861 610857919 955048569 944278029 604268201 191482623 980952719 569374293 848799501 358391533 609783577 523109311 761178103 587922289 30001675 628536917 421840411 342148345 535897371 427279655 531212405 882472313 790964939 836913491 680765767 323115379 530064737 50970361 346587425 994605805 707803629 712953411 212372947 868311153 980761931 493217381 531691903 594489369 3219735 564740759 985383811 218002051 799427773 339623197 946728335 764348371 637009513 762335809 356148887 397467835 782378519 638016853 485426647 119577965 455858309 188162483 210978771 725095083 76317757 731581885 90066263 122543799 413245069 368137693 824418935 95760995 851085457 4961671 670934927 871899653 402322469 391772723 312456261 681804921 760520435 822135397 407215237 446980647 187213163 496267943 704952193 902992893 396085191 381074569 669696695 723634289 819283205 298777513 801951979 267370625 599437807 628055207 691954473 392472755 858676243 90234927 36997061 94429207 71457995 379989487 118224733 699131713 343578167 426200487 10759123 292212561 203627583 69674005 670685525 477500141 262549395 115697669 228421463 172677441 947973803 306970951 476213139 516151045 623375561 874512825 947610895 1479545 242297587 705732667 624935193 284192097 716767483 884630457 243052097 149004811 200123001 296015393 951117671 477994575 730738637 836040563 40753839 875694985 696569119 310393517 816577155 185710753 193486685 102304987 169235607 783829253 177515845 531014669 977533675 485989291 647641169 705685089 300406977 419278353 908412365 197440247 721260963 794192701 271163337 152596731 713479785 929214143 901052445 660673693 834930223 429976491 206260583 179570711 389999957 426408353 893446163 713243821 444148365 137399239 582199629 985604521 667025863 442797001 846170641 794921309 821069121 219793633 736958495 559228451 217563775 49754313 409007869 784551773 940844363 925588171 390392571 464752757 877510335 436580019 479238709 658036703 340847153 853101529 263042439 89783315 541341769 195031577 326489499 549452439 122387443 237682909 811567587 496963311 662100833 473193999 858092947 208439219 253111569 97090343 427315889 835415419 743614665 759363619 32204031 972985321 997405329 786056329 699723027 717826217 267103679 489013865 512389953 281751659 241703409 696698711 181429931 740692969 979722249 122278259 237071929 333805799 294289717 551172195 598475163 597089071 989316585 512879187 512507979 54240147 514651359 741807869 815033479 995619565 749596191 977941659 719321687 124524319 883427825 877700343 226346637 324203541 574049261 134879839 439561665 802787519 689386989 516647079 231331155 100636183 869477655 87401517 253964907 75622433 790032085 485771481 131909369 343499495 661741021 599915289 534928053 346663291 723812651 665716963 682944033 710442231 125581057 899625143 245089155 733397885 534583791 796087959 362126317 782657337 895085511 877264661 530614839 232043867 102680743 301429317 791216639 92180253 224275953 951841479 416270513 500487365 932207441 781547713 766965371 297949849 824705981 931039967 469345621 409422317 282833521 469554011 527508479 299525659 335962097 38374641 912468227 617270149 299224841 489986535 698926001 316238485 281292751 431829771 574263585 466635967 453119131 875718837 247735601 433232253 682052885 795679683 871879051 810706767 814903081 704807065 994237601 90516161 760186379 70253607 808865961 652495205 40674101 548838627 47747747 686872789 784941933 261077963 674733913 274273717 409999297 617501543 169101401 242933419 81741441 206265539 219322111 124292461 593021517 47895157 145729383 596877749 184431881 204420509 709368699 218579011 131424479 487080161 182914541 840847843 281043779 142344047 980847409 659312743 968469493 914170363 630625419 111795113 923474935 690760647 699520259 771500171 603086995 20057495 311983719 104074745 180461153 129558715 631738961 728804323 621802043 324280327 38758689 133083205 583841351 364740313 668513535 934032927 104798447 839773209 538119387 520406141 262962665 223468855 662541167 86278001 744253745 304986405 860180537 804947221 920268299 718601059 59746433 566325901 21857283 716672761 895851097 553517823 63465453 433945459 806605209 445006497 363746023 994276839 858150111 907819949 720949587 619741685 720011415 180266851 852091869 413354179 316447727 463207695 810623101 436151295 770131423 96755461 237380459 12870879 752513065 498317211 581942317 71059743 839395411 971899445 353735823 66403851 822548655 829839423 955417511 352511339 733782869 64156713 764445901 855767193 503201059 565471855 514150059 535463795 465342661 270877841 797282857 309878621 214461863 810290715 930342267 848456775 213679365 213276063 301467425 333075369 497238239 901191095 534400219 188545405 33548027 898901511 565156535 244988237 829913065 771156533 225305099 119290149 440552965 896810745 817806961 860947611 581127787 857450247 932442319 956580303 240155141 304926247 825584207 843787367 949992069 708034591 735411047 548787857 583664481 439989699 572128467 469168643 460150489 240269293 489789077 713772795 163643127 111037057 198096637 856517951 67667593 18852197 973222813 799418653 58715177 831391121 443963985 401536109 515789623 955745785 530246719 913241485 110082779 214826149 675226323 255389795 363195143 303396763 696619711 445644635 490725231 854547951 638970113 954431085 663468183 576850107 190760925 250368025 429683399 858341411 494893023 139834977 547674893 462660687 36257499 198857177 384867907 315666033 934806255 753648785 460593673 280212421 588104061 75674411 335994311 790134923 932999731 339994061 470298541 493890319 191382531 243003685 727655859 92420259 130759211 74136425 722220187 25484451 657232689 301343063 63398635 70294893 986463709 970069301 920789493 995164015 606283847 83521491 738399953 35378713 373627079 93647749 174010205 612049127 115682567 750516011 791927621 97232475 133464303 131264297 409777911 440452861 153165749 418709617 680562347 516660833 950684371 991359861 792682849 770435105 229176081 236809015 349671397 780020961 794868087 744459833 247685057 765844809 214761565 350213005 763129939 285590795 68598365 502825929 833948599 952097251 335378269 467080713 975971289 712218769 397766023 961504501 558478693 577746403 437730385 329746875 162134231 783565223 989734775 225612049 127939949 567867321 124914173 594314293 453030449 619012349 431523631 336578031 394880243 785839707 960666529 284027273 813742409 798167493 822677039 483698653 113342869 833505079 733523711 234903113 730697729 479243185 152019581 55524787 558246777 677796929 415320667 672999303 972543673 212507381 632209047 140510911 807286591 768333289 112122485 265590997 136577619 418185793 931060099 498893523 6523401 262445349 954442385 630755397 77114421 595488967 370092223 874310211 504009081 270403427 395132527 545208937 923545149 395714107 344009295 698491873 711335345 761765527 247415889 118079059 610087629 100311755 250060981 530869499 571074387 840050995 557531387 84328855 318233803 765872941 89727731 958590313 520479107 491307559 548057005 174867011 739718549 967678611 482332811 804716921 882749407 911789289 503450155 871591659 368208141 170558123 953351037 11789821 668385421 220827495 637699765 438473889 363894679 292047787 507450959 541521481 921016877 933121555 478753805 817989367 981585429 356703299 178022911 80454703 7558113 835088867 629210999 149674495 960093673 913236389 115424273 710709759 164821835 807319621 916945075 24309323 604435699 746678661 928907913 100669581 521333903 748144429 378172421 165464303 447570327 626182163 774638565 924796713 924908619 741458189 110732333 231922553 730005173 819842561 549997865 301341605 730224037 243868887 696513133 187104765 502665649 349475969 419162071 900432981 960422459 882656763 666734217 264996621 106857581 281331015 667938799 348629003 811968563 2363503 240825025 868126653 526957385 913313411 813360631 878006295 826412077 36877471 781597655 512334747 178979113 659935463 324872941 684608589 242145613 871948163 479401231 407289019 303165295 353087911 700619351 870605565 487590193 356686987 784858665 433778097 800560123 400108145 481958451 497897723 977661949 296455591 313756521 948842891 145467697 573243771 321504005 802249111 989594709 151088971 245906831 719382493 650045425 741556087 977032657 923428517 644404569 139981417 881650141 628656827 483275681 528470419 804281877 888202869 959328939 85198449 231975447 656040115 54779421 813677445 719160275 471374299 827231341 264227159 564123261 270991577 632669133 642952573 966171537 108883495 539729217 50632077 41982419 521676993 82528143 942714925 139380303 345340205 277995081 663318021 778149209 77586553 92019399 99436745 986952077 300652861 246115111 608085553 603890897 596073623 108986197 943555329 808160593 902340395 205705727 966136321 461691519 785751593 30060957 272962823 461049881 648721479 46621041 577506281 375921443 209186499 337611393 710724493 379228393 156920421 317794463 541318875 763478017 116131449 823932257 597233095 566356805 156681685 402837803 863041097 481368281 755906009 179283489 329736037 760360747 710251371 933590839 848378403 14229997 180881401 278058787 286085273 127032607 328355449 186496869 664813277 596426241 176456297 70909255 602114581 995628065 856274639 34796247 315822953 125540437 185766201 330184177 734100237 296495031 725617855 352394545 954362681 234302635 238425343 113449729 995256625 884079073 517745949 810286227 486838335 499516231 334566089 521709275 294732979 451068703 19945785 704617375 358354155 670873323 297374765 854545505 500735047 783209077 668741351 332841335 733794353 923752661 462810425 444459765 678213403 387147111 798550649 921225661 445416323 924073675 615058563 765809271 473886439 87730163 264713407 840786067 396433105 709837071 317022491 830370121 237689815 676911773 396580619 617123995 540865679 169625697 175184529 342297169 767806623 868673127 450788657 708352249 361113521 964802563 711796987 216568557 219817587 397741779 928349059 383092045 695401891 657604025 631656169 792980735 25836291 493653473 439408849 942622647 247507037 977456067 173958507 979767533 158774915 522749463 162637935 214590173 642968141 173255395 101157911 790576533 977655713 408356467 901547565 337834975 109002857 519861341 732674813 587554905 574611859 208663675 120684637 925763169 86426653 725933553 714306735 460788509 334061065 79942701 920591317 450965121 981572961 586932707 146324029 363595843 903279415 142854157 29850593 182527717 669900453 894104819 522753853 322103469 850506699 150225181 441720407 477804715 356412121 98498147 90660287 871650235 269712123 543331551 172579209 513594745 186426737 432495095 64198741 726559569 299627641 384652629 307167815 915053935 979505757 148277743 875886097 497177039 45486707 55207681 336645605 256362799 360810003 775428877 392157827 159451673 238613919 294469347 63250483 651703771 635224961 989922453 667994049 213237137 849393965 398660225 24777605 744968471 817459739 970479177 465933915 758599191 860647119 629109209 62830251 215209729 897998291 643508839 212789091 454842895 298560697 773539695 413186297 160835135 195286811 972251061 954125931 236408923 346489755 583942727 215142975 480093681 405843683 333372277 451031941 439703131 168108199 21506015 500084945 274678201 9518239 520469863 669824835 408352243 714452879 102429243 824611199 866974649 895881793 8913869 473582263 446784387 857269383 73602523 743331741 354464915 153751097 172107627 235230067 724097007 217480253 355789253 927632635 778082153 37982077 80585089 872006537 286083225 877190633 874836345 6790637 580991455 996519803 678580177 442454923 247510883 518246711 101061367 595722565 330040853 191296551 598584479 178251915 567083181 161586269 825279685 838273107 450432683 532955123 354301611 392397851 469375321 385146891 191691233 317178089 825706695 215503 756423993 917579853 548637901 499731827 525571535 684945755 357909513 583198511 551962633 458457523 273384679 41543239 197588625 458151545 891163283 60828677 778729821 594797407 17735177 697681083 331163305 728105367 982134537 376758467 478979577 539920611 242562841 389968255 128276761 77280391 923628681 49881689 620531485 268760145 750574453 204722629 911478627 509576601 654017721 9427517 60415117 859670075 284658431 466232129 997387655 812813727 343102393 231874653 692821641 751648691 398414875 791647267 146612235 855664621 669180971 621242157 871584211 511071309 366874027 690156829 28969965 36816981 25380657 239749021 799744431 720991255 172995345 543273825 987653811 350834471 441602157 15499041 80093149 569029029 754581037 97943715 469808731 141238071 248363521 13445549 853782687 570051593 720503651 592487185 388203369 649440213 568029329 596899245 936919225 861969109 723894163 568225123 252665567 800603347 451841339 291686425 497949549 783223837 94603809 201673413 535149119 572514949 748587429 109599839 724027513 206449775 200698095 568469741 932905867 538293693 887499759 580964981 408688163 683678431 215373405 102061067 284429635 935931339 326819515 161698505 435148077 594033407 464355663 321087697 309114989 816321155 844057387 221617741 678381783 339364067 396071 59068017 325086855 44005941 515976417 262189687 18531555 36957977 395803589 346171551 234873751 281955253 613229569 95022901 793331605 574913205 881109901 591000459 95174171 71480403 563190057 225250555 87404973 340730187 513169759 509528039 903289623 565850595 428489087 992476859 484362349 133753065 569195169 720599783 409654285 271502005 819279011 931230181 720313753 934771235 537602351 446107705 870445311 867360669 468240055 845468271 3838833 903056397 39511921 468101653 590105709 597763563 122126429 380540615 979210425 796565045 770721349 984381735 422060893 151605107 428099257 732109279 232246449 367225521 696448783 931813539 794812239 674174597 848581481 528492333 115514651 738483215 190301615 903940157 90026051 374731765 330196627 321961119 604059707 140166499 109998217 86103589 689754815 472152851 82875605 407893673 988338385 344021057 487120511 977222415 691127745 79036339 809079637 442579517 871325217 760473271 770086129 807169577 702051021 750650405 836514227 945229005 677151211 200082267 253316035 154674985 277301221 215996221 878121489 876584521 506663537 529250619 801730391 830114367 324735883 702118477 617892115 747926311 577208951 785050605 944978061 410968095 887712449 942384931 620524503 538647125 185881405 8511359 321526985 360167929 380916999 462748183 110623747 868739397 461000837 106926727 334012907 896433023 28244067 851283447 88454581 814597613 78172307 671016981 764002903 164748515 133175635 366482965 6665107 454741179 380423719 125906873 531158255 262939863 127197 656414789 532049085 30404259 866114181 976596361 825195797 342883983 69156991 82269913 520896725 715094295 646441325 652879379 635964073 568606651 719755325 743767201 182118397 189602311 932993827 622770797 279696909 822856845 134040729 510145775 307882713 39780329 127938661 168817703 561146919 40274361 180661397 213579159 824887943 998486955 270890619 714500945 296191061 677564015 158070707 715442923 641875117 948713153 320424737 197531777 112658041 756476001 526294003 720323003 219107691 540583195 496722077 791565511 294722297 249791425 533020123 784510811 21320547 412969263 742080945 958166963 292677299 394266947 903536747 494526363 816808887 106324971 886760349 580129627 520953097 463979543 541632291 8118477 410175497 814131907 168947747 829258319 942673887 59230191 479922695 992648133 595437693 827779495 50567557 95476129 432045975 855400189 315399577 184317397 10403249 577714445 399495 539987171 235478803 90202613 808313051 455532237 993916619 308561891 282626667 796413477 845965747 252241927 369652047 102254849 227188075 934865309 991665391 735463421 636078939 644326629 387522295 708951361 318933939 62158381 975857755 89959291 982857323 428165827 181836885 624803041 586208837 103855107 224741739 830256689 58223559 836832337 288996969 780224945 676926019 121058323 838121317 843398705 986308305 241189057 450237625 739130885 525180751 116590031 551255049 591791629 221279593 375834565 450645827 577057965 346512269 758918953 775604635 682909909 396051955 84701583 642567309 580005629 916298139 230600851 361082075 223761951 968803153 935629523 615845781 175471301 672372383 359438077 277047053 695454203 896584931 419532481 750783967 868141145 301151801 334984155 390529009 336414971 316155021 338668301 350551917 583918217 737339019 878502175 862512585 393575985 143754927 654651365 241501889 21789865 230461497 27946811 99752279 341539631 908710957 707113471 314480859 292461705 438441057 618199327 107429345 713803783 649117289 513846923 831447873 987118205 173452455 859484735 149990691 128089419 949144389 467374397 230809587 187558743 403189039 669072013 278047075 411403277 489202465 632310851 651670897 345585255 651664025 433333883 786563937 820846047 955294431 261848147 719732415 665870719 64902663 782077177 654515297 733103315 842356197 730815133 255759711 933122291 314541851 100422011 455475235 49026939 549927441 698576085 281888083 39603603 181152759 357128179 550970601 998668009 373353413 789598507 528420637 989725363 108331325 410938579 182062455 520866479 425759207 828236881 43216319 41994789 972525073 13749005 259465997 975061215 72021461 425932153 293458107 423721017 297614353 472454673 787363695 253984269 57947505 791680085 531842067 787361217 880467811 51477459 37359325 82016583 470206751 97550617 985683527 372348945 486756519 298982597 802915865 855304737 967884737 742554229 956417629 297711867 710126847 322436567 135498855 72638125 358827193 545025949 173208019 24635599 409293837 13633151 894893447 643896189 265917927 571699263 383586989 632426591 100041717 592627371 177153979 488166819 504566703 60894353 769749357 900603647 613913941 118765775 148473799 36369075 676078833 515531075 30056213 361566337 803732307 425969115 853128427 106297019 917869841 501182345 601666343 753398069 47918991 647737157 907619051 403054159 737312753 77797137 393533861 196033007 973671977 257574651 136675335 720454785 549606897 507875345 312532239 646337535 218833863 560111985 677280003 207291621 41388021 433409337 706147435 170117945 266189195 7848855 867583775 8142217 349244767 98633661 950809911 966544365 254383379 12446947 10932253 575098113 820260879 16993101 898355577 738116847 684182659 628512579 504479295 616651873 701361257 595218459 669120431 906960783 457149055 753807147 80945739 517608247 987098957 544073945 366466269 338629535 794011687 908039053 315585917 475539863 274879521 209613497 14109829 352248693 80294685 862386137 143557531 297696277 133883075 634308975 266951849 669843421 964272515 268380677 641298661 625955263 848731029 918529835 38348235 808834607 519643643 236844159 847584287 83608617 120360315 449139871 947882219 249970745 108292007 701491259 350845577 276728167 80808407 206839551 223098255 308922445 781051945 577605801 96075237 619896327 543022217 854050299 454912949 443946815 727255973 518156735 369873015 137192735 755915765 837832133 541564899 290248799 919690939 440437739 42153215 5489213 954565885 859817743 77100823 933526401 619735693 807592993 390069951 636880759 362973441 661456653 996489941 368114933 341898429 526576081 929131899 118519131 34444773 881480047 364938527 359829391 237411693 413765873 662653301 624145663 903835659 524701799 413594231 855441055 200331071 339832815 935278955 887611889 794325587 947922089 117152223 713908729 131436885 849661887 451473061 269218887 329961505 804758371 244184793 331752943 360349523 545431505 539268319 11096207 481575765 244683851 53613413 289982801 643082073 284189723 850151007 524524511 542436435 752096657 410601993 244263281 510919177 700960011 343407589 803204551 656237053 162059241 13809603 641523747 694945925 905985941 379694261 873779287 278931381 795863683 138505239 604663225 104940655 887884587 748404879 295920677 891601755 752969489 232531719 86185219 125933545 954923965 242365365 705866303 332041553 150601157 450284821 858363219 476347285 49931201 791211755 848996411 193020541 499069779 519821635 719167613 159050903 925669925 890847601 558390825 158019133 195489001 846269715 112778963 615800975 827100765 889870603 494970521 748977267 762903103 942377607 617458981 532584861 219557977 855651833 434001057 895213445 723755905 321349151 512191173 892071527 839241871 728224511 766130641 257564753 220800357 283577569 63232905 649269263 811856877 312947035 837886011 472531513 382480665 849913419 486806461 153265715 967475687 338079957 831348847 1318177 783882837 825978465 45487671 65600247 392694893 371912105 219775875 607848811 19949893 704526759 187019337 913908479 28289525 63035037 925953287 952703993 274401951 309561115 482243523 46101353 457635181 917504241 903559949 997094443 735013267 162817089 309156601 250248155 930863177 595005545 874565669 106434533 705011155 482698521 411569851 526140533 109368955 587064645 544387429 762062727 976475025 648844841 411047005 533141977 730169459 768899657 843359325 558014965 219984257 101242481 115291055 983041321 748806949 450845877 681395999 421524113 390910163 475696497 226196229 209053705 123607043 47038539 927086141 836229435 702279993 858096431 883684655 472261271 530277631 433499471 700080841 626644055 388779239 355532841 136936833 216436089 809030795 968708225 126430293 70112455 970601101 621088611 391396299 156124623 200892823 265641251 256405747 263932907 288136541 255326815 608257633 883504443 990728087 824277753 468654901 951943079 832093961 753199903 621843475 943044575 899839613 212528197 204832811 930514011 996767685 932690469 869748277 69405277 580211899 741552581 426959211 416881899 818433601 738966643 139501207 471682007 659401537 231271615 696758533 186988217 272807855 930983305 299138957 966645233 882371971 457974005 205968779 882409383 291281345 272290157 275552745 297210059 712263027 389655207 690364943 242868757 513864363 269572765 2740985 608194821 786648451 734362775 96627235 609685221 307330333 187016221 946732693 556844485 377913507 58164743 176509915 658846589 262312521 620489585 177584907 34077867 628570695 806096571 733372357 114876859 929276899 89042583 871141165 745327067 999356001 839078133 89643253 94774273 102290457 281776659 59787343 473821683 108863843 142319477 835029757 377934645 587715489 797170407 726661699 84153879 10924095 895740285 5826543 710491317 451849133 987933331 177034585 929308651 366526565 474556111 374309981 355633251 718128107 229061405 775640163 660868495 886459337 96338863 862654297 713022115 4110993 234755331 197220021 961508261 470102237 197860575 561873525 199556183 618741327 274033483 80579617 404697423 278849169 115898781 948646851 847951073 857488471 511447411 636219639 418105391 803837019 361944495 231885783 530961953 225514077 693633407 527758857 391708263 90252329 163519831 85375935 189038715 893883537 10093041 357640875 986307739 558369391 281873749 250009871 726455503 184546213 804190667 904033967 174329833 641181213 323157739 213742041 908166273 793845451 850407055 879607909 364737015 476932265 658641885 630526129 175837555 114877879 91632191 618882721 840535269 734120449 680554603 166959269 353446405 411176089 698379613 912473779 881797973 170729625 24613207 699103049 355826971 135570979 618203369 18352239 712309865 612919651 48649701 673847983 411399191 196333449 879114857 675568165 493897155 334874575 353279959 975507307 147446489 76712569 565770715 275846823 827121543 37880785 913305963 584986251 855481797 934444329 314714563 33919307 976729683 465099227 422917479 159555491 413372861 863084105 169652515 267696093 40600397 786302175 287815437 766347975 37160993 378121485 99187069 921367733 749825557 584717903 832946717 156341381 342607573 169912613 182258899 931285151 126116045 430510619 553975001 734319089 25506361 231041219 61969319 939492595 723332631 694407863 224662019 656059551 147615537 73193113 889053435 18917757 152126743 637753621 854864607 462007453 877205791 24550875 532533327 808763541 506573675 29160613 87150895 555159681 570960867 243578425 57126313 35642633 593978681 711428445 635989297 324595033 837820385 781864933 767893383 413721131 722305823 368901035 384627117 609397435 472037883 521692049 401175789 501748175 269109827 621032579 592631263 963812021 600808337 857939569 10226013 307155013 17504325 619331413 809357709 328356317 822271623 787849269 306575577 419957857 433957703 374105111 159330039 515624257 709908799 162008335 786512867 741145971 444070893 181333815 967469793 291660407 435738265 964929457 728187773 295715663 242991957 861475753 935255179 149032333 907828217 372563791 438156073 932047431 65748773 983474399 550976953 449348377 281211711 924554137 364337383 694797099 471879547 275939017 172351659 156991017 818080975 386495169 635306813 479304013 721954557 695943131 767510563 740622419 411787659 556893051 339157289 101487745 800719563 310634759 747135845 17664935 305010389 990868213 806617135 137826585 102169735 180692415 812622897 587066549 932426381 90225893 210421843 924573669 203867731 930853877 486599881 602877075 314581781 918253437 977946131 970500663 783204051 696644633 397599729 838919887 385002835 289708907 162163827 507075043 16084261 941851423 608103145 581951871 556036773 316079589 853976307 945516859 898831087 166367353 808237941 538579763 886852333 485019291 317571993 687831823 50157137 31205399 942400469 861284605 542928017 405490625 770064101 817431217 892799981 776588911 280692939 392344173 257795183 831804933 313225175 541027317 185991397 961246831 151040411 645321113 681997801 299580061 47019507 665168173 794527451 19233675 816674821 698758417 127489763 246243641 993606973 748553513 13835763 281224629 888693837 439872999 147452863 708980749 493279795 972837693 414597835 863214941 749880627 451268011 532058975 25649607 709507033 816802105 390404745 277794679 36405753 814535795 999253283 994851741 495019441 74384753 558249165 266093429 155815523 532950223 542259439 928294209 914797501 17913525 144654265 584174409 162075313 63140817 627292451 10341089 639618685 323584089 655210991 299212131 216820135 243094795 672259747 18489139 667469559 126011949 90217105 30634169 421522565 607359629 498955985 532930407 799300777 589941381 56827713 506904761 461850893 25555181 724001677 593957167 848148377 476870705 176679459 431701333 195728259 811723579 784580411 299360959 96166469 294932613 23680983 908419331 35543719 17342217 518849725 389184709 896016305 84123985 727246205 120633521 452732859 573160041 376318323 725719673 159227743 47409897 336546491 503275475 496468099 113537517 332058433 426895751 487272785 886638621 63519153 687839323 667964735 666619047 981073543 749863971 630727689 269812801 478232835 116838075 257812659 348993065 131949609 967412993 585159305 973217061 410708943 587959779 166728735 10709125 90448777 164961619 738514003 442509085 730977721 458876231 906723653 275705933 788605577 880194759 292166503 390702329 765718757 547207897 642172009 558106771 104865673 970815379 103522889 896624141 262942195 167387403 807574605 390631657 621741931 424795751 369929213 786583595 17660933 362675405 53233711 442499937 393174933 592342133 613316609 159960483 42009277 290815893 878237141 834558093 895770085 521168239 865927769 255415111 903477821 422682449 783312257 323051391 165663421 979031433 794953607 257220715 896223527 211678323 778937841 326425033 4203267 878967155 936672397 921743585 80428191 714610673 724012653 587731837 546773525 728214111 689316589 375300857 820638275 50759993 187637937 755556141 240275925 690272769 225685159 714261893 998413881 979795007 920872195 811061741 195222695 871515273 97892929 222915545 947548449 913745781 436784675 617346891 632595309 7473321 708563129 297349063 616799261 700574157 896781653 179527515 237076361 644715411 928210835 443406239 605237455 594321079 406529625 241544879 107034843 743042811 126865107 175760947 593583963 316978215 953826163 272947801 788397511 639385359 74408695 94908119 123575391 613238415 167057763 221949931 751585581 852797063 182540547 453250909 715845377 216210145 684278635 567016825 267543153 71722127 585367161 321392661 890812129 613200013 592073039 68622225 508103541 371241181 506189145 328049619 124346911 449195399 981544783 547332935 426579609 838086049 767227433 690928615 389543265 498884161 337555501 761136685 18229441 482777485 943545833 969014819 140041673 12942765 737841453 802801239 353988431 361139155 175106585 285865181 352203509 984001851 681982991 303187027 675045923 704089127 605871293 649284833 731986185 698179807 871882519 26994997 458051489 232609977 537424473 342391175 61426345 270349067 55411461 321953937 187758251 119572539 161127403 663404187 420568821 991192753 956819739 35042421 858705569 123353057 901165303 146710643 939875215 950120259 455358749 616721269 127054183 119935321 874882431 868954593 270139545 385172657 582231371 97650341 350010717 166097113 867293699 223284791 616678581 693416815 31789673 260499859 194369895 457177875 675093385 112312131 608290053 224234095 672204215 693455445 993133799 999602997 189936017 113202525 772617005 252407585 145826551 152580985 662867389 737350389 925328923 839254865 181686603 122633595 794773101 304365077 450777165 746790019 935146411 898097271 410699781 470955499 617762009 395582903 475153273 460777107 572569925 790117533 211159163 732891493 685650815 354727541 226620577 669335123 860607591 509124629 886530639 49849689 464747551 391549149 671139241 444941689 772367125 488694195 884230563 596469693 248696059 298933253 261130995 168431157 429344209 408459463 425202457 998167295 707280087 771577723 721266527 387787067 100696987 396584741 283847637 811895827 583890163 635050325 344132689 104941499 559877625 958563103 304590197 98437739 553897747 947211297 811707305 676871015 930399979 980906373 336336415 957161975 797563253 506731765 896682955 801702001 144186097 892484521 51842675 502915371 25224417 343489887 315453337 611308939 126194959 917766495 264849299 289962233 586719379 178168181 456116341 866550249 551265481 830782711 216781601 905939155 867083345 903951303 733013567 817470779 213687325 448334661 153652543 322709163 868058717 284093797 967573337 918660531 824067471 471341979 105159823 2818289 930960247 557817317 969629353 164830725 857028129 212338633 106158645 20064409 720706273 596112215 409034125 114517857 309493077 125294627 659798481 796290325 194235999 789183563 36909543 679400825 572220203 422179193 674705283 748525655 100377649 75682263 53779997 805268607 46802985 146994973 175941105 594432719 832916249 988525963 722206989 647018791 613507917 924534499 302295101 786686833 670193755 247253367 853351961 349548705 740064285 397326109 377494533 477445551 873527735 154482737 446193445 750370975 202980503 825516187 98108781 202828155 445109105 832185545 582691987 611471699 199452991 41600177 719476505 849652037 635414601 889559761 956508485 771558257 638560023 439606575 297492007 228140033 288766849 608190041 152745115 943706665 794733985 724228713 949808701 905699617 333098205 286606327 484992121 216043309 895296735 663567663 947261819 635062423 123313309 446088891 84497215 466738865 682220883 334408915 743673475 855379155 62871427 167691831 109767633 147189603 687720445 435784491 15164535 173191883 439093971 31600253 363481489 296625273 619672163 679149699 203100923 730907117 724398159 896191007 501693023 320346533 821529219 117124019 868020269 829547565 266911797 730065967 851610271 770333973 93387489 258920455 815971507 21228539 984884555 656636477 559875379 114097535 431462529 340180311 337401261 962285131 917471955 318199391 94538619 950428691 850358497 147697137 130856637 273509521 656723597 422609701 876883291 119018117 723644933 320530087 722492421 766476473 53846715 924165537 242261811 695832835 924614253 291067597 330228263 997456699 512363041 1296741 203601383 965026371 835197727 651788339 680859205 207171845 373233151 393251971 185375449 605236597 822123931 612260653 931346435 18843533 246649879 982102925 794997227 647999053 342039009 827783819 888042369 95620799 360521389 302414229 549034365 571772665 452416631 508233633 124656991 33434899 490433665 808359469 55016561 83280431 320243291 146993217 490080451 646951289 669231319 789038439 6240813 733641503 263947537 298288827 130175309 863528289 452776303 209230805 924698255 656775037 844356251 531227617 660847393 14963391 508869771 9615497 324427259 475660153 67703675 176340231 49436893 514753027 717200111 644134679 383523153 999033285 574089395 351425533 809487269 132762659 965167579 873024909 147108341 335891347 377330629 208212759 527564061 441067661 336930067 498465407 119111111 488448149 404055729 533812519 833299301 697088821 666625239 611600127 610368813 934308095 45509117 815403389 173347103 753733261 235692009 173100191 70917891 513152385 962651303 896100331 18945389 462734727 89239437 69120369 767073969 234679631 523181109 919148231 991286257 527905683 349821827 404563975 997675029 272232471 155902117 260596445 700434125 86475429 213563407 886836085 731086227 539819023 212293755 522399107 491195045 564810543 730367983 716436809 340594699 681205735 748476601 659660427 77034135 543535139 587090027 474823575 362856673 611294931 607086305 254955589 802851913 177109233 289750847 633764081 342989815 2708609 709140213 60760965 215217627 844405133 855222451 720467051 853117357 38898983 179081589 273928091 82248687 803761769 222217603 710260115 504472295 335301493 515047783 135678041 312961959 859556471 915713269 44203645 678891783 818043039 229602377 445805589 470645413 127436071 498769609 695441339 387082733 353267285 680870433 887955867 185120013 199595119 46385475 594310753 438643197 526725321 758365037 587731521 695922559 517957821 914493731 524477949 211603481 960528045 174106929 171745241 323035931 281639683 624070571 183958693 916023201 687212851 410177263 88562355 337318791 634518711 261580447 410936551 25372793 835816975 358079145 214739875 57387235 820805063 243731519 570388439 416522497 229861745 834490081 707864057 40990161 329824423 525950799 610372873 836602397 845892107 729495703 698639241 861106037 266900041 143843087 657111179 722049839 151578897 605772625 506419363 721654637 781403679 603685185 987329267 252680727 293653043 953503501 520118299 316573151 357706777 872825385 834262863 785367353 417477539 13770321 724476739 290816873 889593003 148627591 630108979 435680119 980959763 485437467 610118121 815487793 858482887 31538591 288407731 97919025 233680055 658957807 131398245 436468439 390188511 267278641 565428829 150009675 271160639 366190543 164819845 750404221 84533219 748587391 284452679 12648743 955304413 663578173 360975003 513277639 501008199 781155661 395206399 317953701 177555779 18597947 60932475 669140179 523525885 670640091 938542491 161089321 857354405 900884809 31803509 900345415 209931383 890224875 314636203 127748243 835408819 945956205 859520605 273327425 189663653 583128769 676868159 299121993 237943967 779717413 441489541 445349991 460486909 464940061 103614701 169300519 414746653 758156151 717522621 266592985 575030637 860513347 829617603 911018645 175668061 844197857 375174487 676631097 601104487 754767091 498566999 303202929 848211985 796564583 20714279 57694891 809137121 565002353 55444665 707684895 639157867 11338635 988683647 13409997 653587017 788228989 119406457 464886399 521235743 329653839 634801711 764643267 348475027 161829721 798651821 620738293 582520155 684910645 336566665 932856113 402929201 861062599 992029157 54450529 926654679 560387903 56941667 653785399 498232085 547350795 397022001 749264937 658421183 354467821 933470729 777325687 126487983 692682215 521387303 262520363 370603207 209494341 587306065 88633363 53951219 602965403 923765207 435409609 241529123 812434117 770611597 981852077 246040659 721081833 257155027 418071527 534045829 659208305 86524557 81825129 13695425 819076883 269161515 610206183 599283483 565898955 998575781 490804197 269381549 177510877 640542837 724523947 514612123 772318421 666693029 972638279 872324875 686774153 366384321 581016211 888529717 245176337 800111071 79826479 381546317 830158293 345759649 180484739 943456155 399452289 271996969 613359039 354168421 620829449 77010469 66881499 934955263 570174119 101854159 916386713 709414085 795396577 279036387 333201791 616444437 128384901 63007913 128307935 68582749 417560995 930262251 734849745 757586957 428893339 37980419 647791411 433882017 919154703 652539855 849664945 785164953 514604013 858413493 690314937 674083203 366290281 332141985 315951747 389821933 270603775 979530763 705482769 685109619 446122097 19585011 30997033 694142649 664477647 530514397 342294107 236847719 535038571 140792535 633104387 124058159 512620769 266220919 961184573 558595533 489277719 122289887 973661173 871266817 318641463 320998833 59200727 833570201 829435063 356799261 456937055 850663011 857718099 646758361 552902605 378616379 934867983 160921379 895116325 667437573 295251509 709807041 964779837 263983273 244827231 884482307 821301929 574394905 836375395 277923773 368285387 576029265 751820137 963936591 792627149 864860753 338827997 968051869 848949403 623003943 565003121 445168921 53115889 331561697 411179299 313430453 106130253 827612059 653138743 841275379 349987831 975991417 605237049 915103445 660105731 245883555 560865279 970634223 794581317 264781899 296577697 474902097 802979423 799491501 903540617 510067103 698044857 614138377 711395167 261551867 496008323 771177645 485622807 864986133 524605367 914362855 144968175 585304611 481719569 780320277 558287981 201019619 631003679 179565205 106211673 785081755 772669741 88326869 664120267 648189979 712859733 41195847 477027613 611166135 881432183 37271649 437307381 997241423 674759737 818560427 271714109 550842697 500722447 71320235 782724907 541577873 457975857 112484855 782112825 17064353 462890395 38569509 714626607 655894131 165683993 555173595 203235095 938505361 678651195 16212929 68142661 187613193 585423961 461822857 90529621 351391341 743578513 962544367 327099693 709943265 209433551 586228661 648366839 570982919 503054017 829462435 174055721 688566543 471774175 702923663 948731007 564726959 566695273 89525839 942448381 892720421 169086825 27751881 29017327 928446521 969916079 513066469 846996971 309129269 435320785 443787157 761293257 301829365 613201459 744483285 737553841 936861907 873284857 739973287 38768399 898032053 69091861 508085779 153315477 659731981 942228801 788453167 989837635 519531983 773423355 860055313 739964761 899492215 164790157 837838815 790780773 276075791 218819079 389195713 299484477 373856549 403495231 426273769 957964027 249088971 227230935 379001235 418959875 786118053 730985527 472366337 599711747 296770261 607102863 698145917 447666671 693306891 172159193 290979159 752364289 510232445 969455827 969404653 921167297 41542635 739970055 828969373 137323255 653843863 730955203 743171541 46294203 621901139 532354337 227252487 422310759 774069107 665182721 999289515 59194529 504296663 961677835 714186565 330556499 916549605 953971119 230913885 639161267 812040587 376116005 273174665 130719293 306203197 430523247 112662111 137972917 113610493 754846035 930350469 931008549 51825743 698938979 418963107 996724455 563558209 10610679 526287725 866922385 307858027 250900015 15525787 487685643 347137771 349211377 718017519 840700545 848121701 800730865 538089271 531870821 956471561 196978341 182324035 231521141 388578447 252510543 982938603 549099701 693518129 860650485 790167061 617842033 348105143 215478377 817673897 456996925 638635377 987859521 673948059 861275127 256035125 20128737 787277027 734771393 741562975 693164909 867791237 156215561 690390487 128375257 117354633 761263235 546341129 335255515 970113541 316286249 806699759 454775027 146234383 791441473 386157317 937144939 220868557 430614873 958373969 577784403 674364519 172293443 726032993 617577601 120389137 207967515 705994829 191105431 332053763 758434629 945483699 329209341 461569153 539770991 326272951 115757285 479410643 481907341 54944779 480887621 99366735 908922843 507006945 464291037 772587853 438061019 567031545 350267189 161199919 755967069 103817883 910780577 720932959 37055091 891671187 653554485 826748239 612416377 599450167 515528147 899184251 423208981 69122407 528079139 679866725 79123761 399960969 983338645 745197975 159731459 737477259 476129635 441438627 497059335 578463203 64086921 181329953 42754561 83621775 972669653 630082231 828937469 669823765 791199699 511139085 88817233 431652483 780327133 935973847 87443349 640714097 147159315 785935309 556525489 987879933 79200093 322007219 753188817 693879755 980656489 972871763 537238631 267761421 286515893 744581503 540122161 543169397 478487419 661723919 83425589 112520515 397064649 563001577 590545339 367185983 390199915 564078325 778317145 479483573 392493049 969087015 81237997 669273213 321521623 872222583 358772379 358869491 788189481 931452649 133233357 704478463 63140835 863477383 4536631 985999887 22151611 870876515 200790233 83269911 324563251 859438741 460129267 319064729 618999953 721587779 181382933 918651547 647344869 400088727 610503185 437327783 374374155 121209535 134116099 188129751 297690783 98968571 336124751 357814729 859526413 212470407 378419363 128529827 245344897 449788595 747434995 794938897 41232119 22352847 280770171 38105931 285182765 235325237 238376127 394782737 721759661 961156935 539762059 71270565 6166983 663136367 486057715 983016411 87550609 814551073 676870483 365473795 785819629 709351893 4952657 393084927 14112643 347383823 597460441 610990133 611625411 891474265 967844637 129222035 369349351 31258949 126094747 622527119 550092781 353360747 273706007 545752103 626304415 82163313 214993821 831143139 953911179 167885569 944391297 563678669 182425355 725077193 435357537 634440575 447852095 19739017 513114143 333998871 473927951 170104831 883328233 90593595 437051435 553800951 208731443 190204183 593015819 735924801 159745207 94432611 459731441 949560763 939928699 281331039 386307811 514719813 576558029 675839951 828513459 301369547 441900861 851095041 784940793 227042619 490057643 903890637 757975573 111050133 621873979 955499919 828306479 846135511 663746135 256025903 757893175 421973005 439835829 304282395 69863141 258982729 18383951 703722569 275921337 968639139 450311789 274305079 540081663 602090817 546042521 82610155 10656705 159551565 428032421 86471413 287942365 818561527 120853171 557069417 882386927 835912313 981283361 793783783 568475491 614947095 549114017 54550165 264459879 150596379 928259107 529498655 363898867 183159511 946046181 338750911 726266311 773624997 446003307 795905327 495990637 466319847 85597825 677537209 438175539 909831687 850722875 215217961 789179701 74734969 57621237 25138391 297498191 324130999 979543893 152556705 814013739 960500033 570297415 255747051 500687163 369564835 625794557 734585509 761216437 490847085 167094007 223992389 574774425 32779837 499214069 366847177 930804655 537868981 282702341 812835767 947855243 137603195 4391803 159420703 911908993 564627013 861606645 173924501 732967347 310417611 979223383 329564729 945918985 683235281 337201609 940827057 966082867 29997345 590284485 553256745 348526251 281627533 554406149 380600923 375362735 729144303 639262859 955239811 547789639 484511273 167341991 649730151 782924101 478119463 365882857 67099477 881917761 806517465 358009137 796998181 67414683 466017081 155456675 762669875 506910331 999179085 707714473 726833255 465944785 552230681 780891385 664210479 328795477 247551413 299692943 989326465 363054729 367142457 347164591 565247453 555513011 360143561 744323043 653523525 1129701 583111051 549134851 991732299 359290359 209866165 310817323 14473219 2980743 337458305 914155965 373871117 181296385 135591471 464799845 465061519 344086675 994012939 772028697 116321335 497794101 403600487 671176981 134609209 827545769 832385437 442651869 3845207 524463221 803038991 213604669 315499989 63571689 113628969 84770891 641069697 964662049 545185115 9038943 694669491 460599033 510362911 769375523 718393161 204759069 486423289 475958909 326332583 61126905 983362931 256058279 826789309 562747337 352970783 166276121 96081153 904984459 697691799 675610265 762054001 596495113 625738623 852868661 490100117 595603923 106451325 883363645 649606265 481886015 403634759 54239313 62020787 344044911 758190999 629854549 837301603 56785995 759622701 520066675 399108911 319647877 249514709 529150241 928307525 205803665 474915169 298522905 611179609 50954163 163344299 726691683 121233837 781640947 982290583 414708551 136136709 630991903 304689419 884244317 614830769 834404049 577405181 659335807 890666629 385324905 962915943 209076947 386390751 780076047 213045321 647790787 343613097 321022899 438285231 382957573 6001485 474102543 363870379 678832277 979867075 640334753 794263895 325419447 662529929 625822897 988267735 961884919 992620455 694276689 167468625 811341609 588730793 846834777 779634683 212852587 451897509 150084969 805502991 479632927 439709755 970332647 969579469 217535985 311406481 230113031 299230851 971302617 4405333 873368513 75426431 533060879 795436989 74520529 747702301 613552665 444581255 740872899 329085631 703818691 272661241 747571431 18539985 408025379 637700065 541918805 474020291 878439313 36471703 691967467 717597457 95329207 778118649 627477077 846003515 346241149 209643115 683378433 590505933 90828823 16059101 728740135 723347289 163214085 488537799 568063687 941569657 1981703 783214115 750643115 788754641 400692781 566477435 970426465 546479625 575546823 842637275 121140037 726403795 719821685 862896601 315772787 191176681 534013979 971212437 816716759 116453137 265010915 129242549 282813981 559480337 487878723 867023207 726706113 529720765 717177079 258936161 276093185 875074287 813377793 928707041 168713703 488183691 802817713 95993005 447190849 163295609 429250969 335196181 964309929 501687211 399736215 141478381 215865983 639859995 789047243 658964627 567960299 911012303 689459623 229204465 194438879 886761933 99981787 894312561 365425167 669013033 166666597 50694667 913139455 42309629 491914377 704779071 338478071 305478509 220777427 190943761 86695429 114762913 212845847 43587343 207035907 397927115 84960371 759319631 468296593 978808103 464811337 392291953 87656471 239502837 187393351 536570267 82423749 864315265 572727647 534423675 979917459 528213791 628619983 70857031 237279043 893599269 140475421 617008317 648613467 512260343 448050193 38780195 279488301 408763905 408841923 16264009 692103889 812469939 705943181 466111363 296529189 36803721 216009491 252460721 226168277 641359877 656720451 159462711 806109007 401861551 120427345 549110791 589512139 303856923 613394359 587769235 201654347 893245413 307022909 941049565 554506645 335556779 900000747 643141735 148017465 605048859 179491097 35169093 37465235 4771301 551186017 49649159 606183359 473913797 992919465 575047119 513642665 607436411 304156443 347369797 375220221 894347989 262019629 773581201 133034039 918377633 314255003 667910511 67716759 836712379 987335529 390861339 790711841 742976263 795936227 234222173 753749675 446215533 618818717 174404479 345372617 394198751 66831477 989817437 170311133 907021657 151967117 137302607 924745489 320256987 613653073 812638273 898170961 87642483 274679415 542341533 328301657 928669743 698568189 834396509 585985191 629977133 142016035 859235579 865706629 915107979 799429239 916594561 488058369 433223799 955566541 630736507 52221173 422780961 260899139 867314433 603441153 174289861 311115579 452735153 882630541 557302949 313940067 203835567 175414473 367231497 857421487 398229163 415908015 352951879 195304537 764646363 882105595 526259637 831784679 982358013 63467323 761336249 468846631 648422999 277217211 329845689 940792107 210849977 247819925 352566829 353131343 954371703 337748137 122042251 508640567 618937201 369237149 299598677 717855697 585136909 27685861 202686233 315348817 489019703 699031481 609450853 156246067 448442217 482728469 814995159 739624505 112659357 757117637 610386189 209209203 20954973 505095769 896960949 233693491 934670005 924135209 646893953 79812887 533988157 695625811 660118823 771083775 582040851 534256835 666010223 829706525 599037915 30059047 858476321 663447777 682623941 26007031 182712333 524175881 744891015 535431283 361063439 300936857 212987999 781405605 158179083 360856797 788503827 488400477 196936937 698830441 671471859 614249265 69275 742519067 921803221 528093573 896445725 960491541 452738067 406528637 61789809 494452931 358819737 741660171 304853665 559551965 138426579 821542889 382064317 254034011 801693621 514908823 770103779 784607875 629391041 766553177 127364657 462844643 815759867 267702853 168255957 531626827 433440753 653154095 58174977 233650139 336101563 445263033 595543021 911214581 422160631 515056203 341832667 234821447 557034697 966394389 512575513 51411653 239601377 880828433 677428213 729822635 641345397 979490557 119663821 549693563 185357123 370915171 954854145 71361029 757515923 974226577 328797435 995783259 500525617 634715553 718109229 175557593 617187443 835571315 849689619 358487075 330072121 657642671 99926831 942223145 601105385 814840517 430952971 575935003 774585455 47037677 409580599 557550709 430662213 210166313 435163985 940591871 284209767 952591679 592945143 343698115 547711323 839908801 662001879 279419413 505778223 43368711 578144675 113897363 648160123 347532081 848967699 27024671 766642269 354088997 142659307 250460901 511815033 55356055 403429107 257028187 531631615 436590845 644483585 711891773 447807653 16192665 579827179 342770319 563158699 104585841 415000471 384226719 629928147 525023319 930288621 100819197 249557615 740320737 626833633 120161161 677160533 726087027 324356715 427048805 113081825 584702769 878081935 289025279 687117817 864435215 467089237 147083273 887335439 359791811 323738067 18479235 758871831 975216333 760769313 895943597 717295247 886224759 626708575 710875413 973992317 637723345 899869885 55091601 103669103 556969649 825234023 332717627 263929213 435949497 93606811 282422137 92646213 710801489 989687707 667824629 541194219 898528683 244581809 153916835 532855071 602441917 190329389 399092931 177986073 936381767 449055085 193075415 952686227 748181713 372719825 520652203 96474583 450641839 283267011 411835473 897871281 359878645 475240119 9460267 853337463 619698309 138569253 568919513 12227849 515720199 523465105 167216199 528583629 674387435 628705923 560655787 212181425 897248107 807413137 877611649 463308331 812112515 26493779 469898893 337926455 811211521 708602731 904839131 840182881 3456369 316950403 510002111 722917297 672546349 609888845 129451479 624303809 897977941 448430727 741405957 222981551 77113041 255475693 905618037 914019871 822877009 390796367 222036127 367904833 526011213 472897661 822187067 117469645 801933573 905765201 546165071 181917437 314829957 565887659 715611687 572407195 835439769 563150459 64154201 855338483 94094297 153469869 435294655 930770397 289315753 416730945 631402365 470370741 242127149 905438003 949086977 905017699 304515161 844222867 778777343 360965971 171860707 751961969 511892081 170481535 583155021 704772583 565933983 152211043 815595997 223579415 691742481 643837445 851803555 475447083 553303199 862984437 978276731 211528535 765418083 130418503 620457729 627357395 814968771 16142747 245407137 225907171 107141737 392469525 77251463 626619089 859906379 514437479 139729071 329260781 150823845 633381827 324699095 19080597 466380281 503045099 172386185 594662697 843739927 879382049 153890069 982434835 114090257 969998135 882294161 851036615 185050693 78097283 895415007 189185469 181545045 248697313 582283943 756704377 383559981 973890745 92084569 161537157 788537859 603522297 18441519 460989299 311235155 301342999 847657767 207291101 199565027 905363985 249371147 547871589 890201275 753549933 696407913 723700149 139618865 749278011 718246043 361156481 50033123 303114511 145991105 902899841 67738035 236215561 384532675 870681977 862579663 563236301 557688913 139952435 173175209 141581965 424847587 898503553 739416833 675510267 139563451 570533949 641432791 212336473 27819487 633499209 954487929 54225771 217040161 981174415 115396221 310596479 558670105 490791683 526770621 550867051 830954535 983724445 631230045 52605329 637349491 93099361 420018379 43244499 699810541 592053593 864775355 97318561 610796621 909231511 870244393 127086321 655651859 859444789 143195735 291501633 150293387 683565141 177935061 738364823 323946175 207684897 984069749 151842947 748831117 371588301 506301011 643807769 177084561 692536209 102057685 274277881 373114935 443861681 118068901 176865097 653217709 739648887 988241337 22022069 939683819 760989237 781916237 38202485 931661489 124043589 939887077 289843017 993288585 841011209 368325197 302307189 27354817 596444141 814437017 496885447 424824437 75172703 204700711 280034967 387311489 885638367 844983705 676994753 268310159 376956395 835965405 289729197 731465489 268913679 67305765 617896521 854402109 933037021 998823407 936764683 615736339 739231727 271478783 814509811 149052507 387052519 104503649 40625539 852054441 870810479 966112107 407135949 93169745 506914107 946372535 485431909 523495285 274085381 544498473 489510507 687537149 903658893 308053231 759461509 390261657 829083551 59036029 502556383 982986691 879680781 988020621 67590963 641033913 326085809 314204967 130726331 440984707 610705005 82353299 465528385 214455795 223791659 316569449 209790227 589106081 1438943 665035651 32316931 881497325 27683203 863151623 52142965 480505087 793178647 291050079 360387403 116404679 18653351 475705153 540243957 675413245 802024005 453501863 847831913 868650787 807480843 547826137 169556517 384366719 889195547 419480161 826030129 721863715 925810847 47645459 868828185 137666279 135940299 997662731 802092019 366252139 662525401 630453423 289449055 835905557 844720649 853400235 602214787 80500249 203757479 251478257 894648843 720265325 430882821 939350719 195861553 939656147 78099581 878872217 567032497 660029649 152562033 244322123 155565521 40945847 746578253 251634409 982987359 770239137 508574081 733017553 302421683 647806059 43008391 948661157 790023593 619244481 95044069 263250515 703839659 756539151 782766881 304474893 329999267 363013265 359233743 205356371 938496009 205453125 20004489 908490725 112110555 458479605 247599345 297308113 573013921 165990961 463441075 807281005 707533927 117171023 299596671 677521235 230838979 804861809 821912847 71031143 428918229 675059327 466563111 515800535 432471619 484235563 735309201 451657239 344334651 960304105 154741025 22970851 469496689 744618493 204547757 394339901 345608231 761645679 921866009 121064565 111280673 258138893 759597903 478169373 722110125 23510897 140139333 414439185 952760483 128878587 862760175 691374199 17173857 676007123 170725203 624431545 849368523 630337769 806412669 700645005 201236817 258562807 81181563 366268655 827176683 700316795 636808553 650104355 609258003 555337917 696224361 42401205 255430099 413195215 564629927 946609273 302248375 851093385 873416019 919350155 292275925 701339275 617516455 628613457 243926733 785170747 26499561 264661111 145949381 157878989 527969119 587606767 93228651 958791225 324564061 700197111 451432691 156434747 505704765 824506389 772061215 293877087 681028449 811746833 902934323 591239413 135597109 771319809 786775039 525437461 693745193 6909251 953810903 406958493 929775545 686960761 5366427 613600825 506142309 796799121 950224815 849865559 460117433 867089855 871006467 177163823 250261577 611727485 992878605 487045825 932330155 954021011 861476557 202043607 76875395 895784457 520979653 764378881 181548925 834393655 799954951 928207765 697762377 258740919 600352297 47544757 363373987 351637613 188948295 605111371 319681867 690869385 814334729 968018691 3598605 358505849 799785885 126431065 70209467 408754687 150330553 82801547 587511345 409706013 188676251 778871203 320405581 114761759 358887177 645399663 879230461 466799513 499862097 991427721 462746161 190916711 885246539 980407121 756064229 328477103 860758869 501528559 84108057 707159259 30460245 695495765 720704985 109290657 566932151 787397687 982546233 799450109 697198963 406935065 718542927 71659315 770626569 668442179 957730111 99045073 413499515 677626819 336243253 934510247 378408283 622635891 108199521 538574035 962465983 879391475 45911295 919957693 730041155 99275179 297721935 343116811 688094991 328327115 879162527 58508215 999142097 2516811 65995069 521287417 632284863 194982637 820971397 114499159 705741207 516506935 988526555 693221023 210447775 921468795 395868837 686634977 590166951 778898129 245077339 827434109 266235395 411563799 266044785 764875285 896368531 463334905 896620399 753578135 988626107 913069541 231347163 641089335 579555949 964486419 561097289 912828785 483682587 300791941 833149013 931424263 474219461 129602305 567397021 332197385 772550899 954786839 822718927 649627593 534256049 430240547 296802715 74511331 632321175 822277185 812134333 442447933 924305601 602496349 871432951 65109761 426122455 653376291 928181265 342094245 604243463 391183887 273188063 130533 420412167 3810145 436228925 152015557 103704341 761937437 871621129 318775185 978966777 550331417 173836337 325675741 470597629 654749929 797069733 12830597 526887163 189739249 166006881 384944559 561343313 18954837 914184551 999762375 518006245 116496903 551409087 469657471 541422115 445416129 395362685 398141653 287849221 287133185 620507837 33601293 891736581 194059025 361435293 727306675 554679853 596312575 387498059 57670557 523916553 512515749 552078841 470674917 248236977 569000355 262538205 820439791 390443969 6629729 621954367 178250089 707443297 167404303 442696549 730338629 175892799 667607463 139523237 160888003 637129617 824219365 867929429 150333795 840772885 49863255 56613083 61206771 818629395 651206729 53218463 336703625 740191575 700539093 889250579 295578495 57141047 448365787 704676019 24092795 421446803 83274497 787012865 22102119 285046991 947223739 29367685 321754489 569355741 726843713 860956371 979344427 440892207 396756623 734377351 25913925 129355463 827059313 576824127 605840337 813902377 47208823 269912489 917293603 147006307 54885881 799260023 315709143 845883917 632174357 100205409 84045523 160590915 753086391 118999849 49929537 980619183 256589197 492154525 837542039 304262267 743424527 189823627 941240721 982865503 741558141 941800401 838618163 577256345 91551713 969872461 89046217 85987823 74137611 927061997 495784681 924479409 277898385 952428963 911035499 869689011 469139671 444590695 89436791 171794773 921628161 325066299 25723513 163252093 75805187 470872877 39416099 64191385 438809745 512464971 132973941 515483549 48882737 475124915 218829231 487548427 178291493 440518789 132553311 791881447 522192003 262154731 643578715 683761343 599129375 482259991 167516349 386527147 862545563 921145925 498285545 499004999 872683615 443075255 557620877 734680765 876787867 514026421 963977117 888864695 160810825 967321749 185168467 837935981 267597607 280264877 821508407 252455069 158474943 908471395 440061713 140577167 767327583 682696223 557836281 96231693 343772705 843935059 126806089 67966835 859563749 631564669 715369383 874650011 133295955 909693209 27169277 650846701 651821019 11666103 354344065 811762517 431552181 872900581 936078511 721462349 136193763 832589889 992058699 944136657 546420011 639566955 122129249 189747815 422466847 361925389 603957061 165970717 401677847 383603673 140514195 129501323 203182131 606085771 198898225 683721677 28507481 135837669 75388235 110836621 348126781 486213297 475275859 708086005 961499477 684532415 887657223 52348605 545188323 865948653 214042219 609003555 799460077 501262619 513351115 667063279 83338309 271708979 244024765 266009453 406803329 60426791 869513497 910104947 48051973 895886835 409294343 981196641 368654069 793801625 533272307 243252253 885458501 255959075 325771153 192695573 730116011 563041697 549272027 622985023 280704167 707928113 190246681 741898263 994694275 434148595 725317331 796997289 429803343 669803281 582300129 560544381 407188705 414767293 69353309 142378157 455176667 161134133 16169387 287411927 352680101 901295285 828286329 472005663 610872433 705686413 294521531 953453621 918550581 242014477 752181165 747305551 544765873 531646861 730594257 439703085 155924589 858070643 346300663 723243281 812914365 180950311 374118961 122527949 902815413 278183453 259068123 825564855 907688759 143315405 807053211 653687979 985185515 61256123 825377627 412684305 876129089 329221489 763263059 103530199 850475891 404547967 493692665 630617201 29378941 200495747 186921239 692640481 785801005 334674973 973125815 573517227 633752335 373630455 397541167 76597983 896405373 496360133 735548951 451395601 373497751 906489151 633161303 18400097 651015749 104811817 750215963 521882227 412011831 910564939 390440661 15189367 244463589 691223931 263691331 825371173 438951057 729926545 457491307 130827959 328325953 492050031 300721813 412893943 431815879 562760703 594803543 183973169 30697913 3978549 654542735 649034043 824079739 785960201 589258337 873699189 381678387 140057983 854236471 290038725 636368079 656821407 205078213 848951449 235275787 208525695 286812683 511501287 331162471 811618103 571518281 584938541 200555817 486313961 513285903 519492465 975535713 186377151 335514927 827488835 419327979 850146285 503290821 321429175 304037731 999543211 519234101 609532781 999666741 806043965 26342959 460503177 638563469 579400941 911531169 237636283 375842919 474434061 528395469 60649019 549896321 475335157 208298805 342237123 188828005 48886027 256344229 206144925 356688995 586357689 264647985 957468821 976022673 764672877 280944437 909435139 410727377 890586535 325859927 183378371 825067979 976101 197628547 113919805 638153455 956560817 792324331 278930527 739008375 117876641 317482253 129720223 418934881 993921101 186218925 907311099 829037687 586210391 366565847 526348281 725075271 407080041 227971553 383159977 902578731 949403703 964290659 858663071 365942595 614550905 516415813 641121019 599966327 36787443 172112051 728511585 16651895 283453295 512460833 46474243 230155707 564001471 834252617 420929683 102587269 703937725 592909617 527466835 421150941 298442827 380418343 408357125 789983633 866662995 29664187 550785277 309745465 758087369 344379853 501886987 23098425 743009701 552498049 167613331 535475895 517971435 263780161 82470519 608383907 797044901 743861955 552302119 405417397 515480549 251543041 298127769 959053933 802204101 917527619 25762891 440494871 806731623 409825043 647683907 216218557 733508597 286331205 316459025 214683709 707629987 504302069 658450377 20257075 501885611 525539209 258977803 264495371 124362829 756422315 933414907 462894323 115514837 239036241 970494283 119052259 975546259 661584311 826130221 92973979 394507237 819047265 134486883 333237669 444860971 228704795 532597553 565758543 37734865 417827065 362376293 731582389 965155655 916136791 206022743 936166579 345324807 195966427 872582883 301818867 340228245 598799729 633343857 764899047 981320059 384104011 297118703 569725125 178524235 77703401 356918739 985413005 484060575 116948747 247735579 26207495 344799001 266120895 558225743 212301255 879899237 438007641 889275003 10990625 831703601 487575671 528488501 763861303 131556157 450575613 527930013 363541489 959536455 677698581 36165463 174577663 802064923 454460979 723625109 636347611 205816971 123952151 640386059 580880067 459518833 171420097 346951669 873002943 947374255 994432385 569685533 464916641 780567599 276052199 642760911 967029249 988816613 790539731 59352035 378237247 998376907 610162537 177344439 957950339 262503649 501048595 594132015 390799037 474019379 206966663 779155387 216931493 374703827 213665729 537066065 734433725 251255259 263022597 580547183 465423435 431611757 994745565 737395229 231307617 689107893 30620705 967633383 510183895 231748067 104789485 998099427 596574541 620352305 636499875 969099441 528073513 270466531 321233135 714597495 51222431 892862531 705341639 323110881 622556325 934777763 508451431 592283945 908834557 643407197 984055891 662770441 516314925 120855509 452631895 438995403 462037637 935244145 946500489 943551549 382083105 645522343 128910145 405261491 68228573 781802481 511383593 294963723 588203877 224926415 97493031 374972077 242183461 715710669 341735029 445216137 287124313 896936829 800273547 488563985 891898623 58364537 8087855 362063941 172331233 145313379 562229615 656776621 202768527 4641255 630486939 827449939 759192927 930201781 45010003 598201043 535222643 355604103 952204155 564488775 638377139 360054307 331800893 182118743 622966225 882136655 264994063 51033391 660884289 897639647 997999275 566440073 634355271 266830253 358690073 428375713 779288043 956633499 775815073 557988925 580220923 561874325 210024667 150040747 238225425 974962059 746450339 865349315 830392973 675219831 102529561 52486115 552180119 863215711 949037231 976144623 52293663 619331913 229274901 621321047 540247263 30909513 858853191 260913169 107018581 714929017 873456269 152932509 550762697 660836859 154564721 23049725 432296269 767746299 85683143 410401219 349455033 864559273 984771501 233782021 679714221 603878209 227475589 703440735 908206735 977975299 993046779 508971001 854192275 29403195 92840199 366394495 922146481 161819195 727134945 841294891 827995813 434337885 409473039 495621305 986647547 82777093 409018461 505138543 845695235 360384153 212427489 40808477 640655829 532083857 686913781 240695319 260253007 157887585 972247869 340852027 201009693 482253713 76548263 829978867 916038061 764922279 577178981 476003113 442306871 197799223 175295479 366184277 450498747 476961499 816819741 795392887 410082307 789311029 712359399 57961233 456427423 991870193 991912101 439089717 681823717 266758591 241961463 523238009 289929207 922616667 369048769 187224057 330450111 562374021 548746285 123359837 791389673 268534795 266247857 483686355 240768241 861277115 680277257 733960719 328328725 196851569 377248055 995284819 535750495 464407823 337724299 847656805 725332893 160482433 82195863 517366415 460650345 926501047 508601657 219973291 109126691 799325357 476446097 17054231 82896629 212540003 745170961 943131319 219262923 377094631 45016425 717608189 310663775 613297735 157023895 17700059 407074099 715008159 535435231 964735185 589833871 30848275 750768589 948240103 510613889 29693897 130367541 133306793 623466723 774446583 1564981 598987567 878908501 810122455 645714991 586445333 572373311 257738411 212529361 31173763 717482449 600436667 658517005 164469543 1879555 754887515 364572963 136615479 366592151 460734181 897472147 805058673 963549203 935843005 460335403 624550427 371707849 485167947 543097089 907342853 223542993 653234177 869845615 111664259 871735561 841783899 337950489 774043763 599129117 3614425 721436397 664063039 40466043 317571081 171478303 728423121 680482395 929446265 598346537 510660771 643873983 906684101 333018067 210036911 616638573 413437073 589137957 227110271 393103605 966695299 549760631 744301087 891504051 500954963 532371301 719181095 920966339 435647413 563366095 143206323 402322449 368715121 240869093 718141547 235981385 283526989 754558747 47671421 903654375 47254815 16678189 770247839 914176555 29765309 183783967 802407951 640527899 219357451 735591741 155386771 7620999 476987637 471660827 22408315 723447305 794798189 505592983 855905691 110477827 578745193 318467027 471028307 38791577 854052081 688800571 686738313 688965053 205486091 497693317 612676265 988742441 425115853 154472367 903143083 204265819 116714829 395813369 334788367 249626525 204066993 292325105 583944409 300820477 350349857 935782251 553339287 360980053 746425295 130420357 196971617 175963461 722656759 731887777 571719891 4959029 268292057 919592045 328262165 679610197 911863491 654594013 911481813 56525471 330922243 778175787 993423689 435926223 624790261 825607133 14999599 347498355 506766333 108828609 893011407 823119575 453393283 122923497 350881267 628940053 99329017 909233 42015223 241868557 466187739 16184765 864798133 285989733 412896427 702697723 519502995 199114641 966717937 425083295 399068291 41342665 545413699 189441573 277995767 535303945 647809079 266612305 676863985 35793437 909414771 222156333 766421237 85234837 121526687 573512465 952845329 857679561 228691309 157614745 371962077 364280793 405516697 150268837 858925941 596868779 399371749 789622631 735906177 974186227 458893337 581308495 201596207 155589159 775077643 861067547 114508853 768195719 995872657 31970255 158870739 551320605 59970961 995918007 941866187 350097337 592878323 604444519 227120239 148997105 803175081 238768061 82133395 39794729 653842351 321716443 239510679 102834565 997533703 435247661 345065313 286690809 176237497 979827819 328894045 228569401 244031963 190776973 740513157 810228171 991017859 181962969 780483413 275422705 926717143 194768349 219347923 37916353 463306239 314967913 956567949 396809999 753114669 754082717 760634523 925258877 873524893 211187163 423958425 920778867 86550417 932092369 296104623 114762019 706280275 636166771 274148493 109502593 777313587 234798333 339902821 401833809 950093967 727709169 862398455 239895579 271897029 720246303 250594953 68865581 859110723 853778841 83494379 7453345 391462011 104263867 799719027 205934935 295289573 132236073 917745405 827629559 997181189 433251539 503549935 904247537 718018915 388421865 219479611 829519485 892317589 4266215 961741397 337977245 646551345 767345045 504464185 747386135 614634205 286362109 457134961 496217725 904095041 344453747 171915275 396695335 733915663 986482069 396573595 958519093 559335685 147912517 670489407 363735693 103525087 185046447 806071201 560075747 74646637 152924233 684720107 153523629 203547517 339506383 417999061 581398317 795443693 370033223 384337309 307577705 906414749 356393977 191501067 962622515 300217975 873259131 868047467 440676129 327293293 581701291 741771923 379483287 787879805 618512555 452222179 520161977 872685987 891694313 80993345 846800507 965594863 244055319 282873883 269745299 791565169 451695925 328907621 665416321 374511425 152334979 506163105 656490383 822730629 548227727 112683987 979528141 336387429 993355311 778665355 104590609 683252501 501885565 441288157 144196605 271383757 559537119 906962023 521499385 177235921 327898879 453435987 169972535 495604585 274072019 450235723 685390765 389595115 662468245 595569287 777047067 968478639 62803149 917004229 22278665 878753813 679607365 240659021 354220491 839127181 844273681 620055531 881576821 103650691 707966861 767328247 998017513 184372085 639561055 43465293 884948431 416295397 401021041 400548437 537379991 621836381 331329785 438071291 494967675 431900013 813905779 893653689 165832313 263980467 656742819 888449163 556722521 792394959 973404565 789218039 522584237 128918123 676321437 569703437 732935373 254971195 855066713 96293729 265158361 872757751 337233835 275861265 932882361 416693347 416868799 289374407 830051101 149994569 457991949 267795117 913183357 860445817 175963725 613311611 391762971 417960913 302920069 883438193 359665661 238113841 146283777 360314449 691718901 913625475 736850007 385121903 35612057 193753275 300842337 281355419 349399373 654899921 139218755 894202679 140253495 623688137 300648811 303343145 632714565 291497901 302470285 949834207 236871475 14496141 218326435 365809743 901927297 306453639 735833333 564027895 469427829 719459515 861005579 270075613 843974945 444910163 456896957 503366033 603757659 741835395 342254373 711365159 94097349 92979331 548337833 356385085 428123337 323589271 302060531 397999357 756973971 561074953 892720633 298100753 137418271 793115947 308723191 712561843 717738283 692909655 865294449 771154845 968583489 735071471 484592177 208678169 172143537 119082333 579701071 260165107 76402065 821547285 92245543 422219907 330214083 943799183 80553563 447160741 891008239 233380687 716691415 288984513 929288327 500866271 222406097 750840773 540461503 650207183 993378759 771179559 393295771 234731453 666462841 372731877 45789411 451149641 272157941 500083077 30152997 225572639 223827343 811693591 626590139 828827885 977717989 355843631 658440901 597979251 303239897 172042987 351619115 323552879 382003097 627687157 935094429 42312107 842198167 633448823 870114963 394261501 135520659 426871595 910834511 124043581 249748877 61417291 928606681 555918925 435724243 769710753 499926015 287463447 871864059 341652601 841348953 851813007 765067743 723723179 788119115 692993967 852364963 706324883 836035323 88039031 907320757 496931097 558071897 937680883 715300041 70582187 148587805 992363571 705311195 344660031 61202119 483203925 12057645 744443987 205650595 270749305 606447951 795348719 901884603 28993227 565215251 663353757 801725165 791781499 259119509 401457529 127444949 401736131 450561083 295896093 209784799 236266983 489506479 59955887 601635897 321139761 341442791 439120609 38564315 72582899 40097055 373586405 937041541 284859527 35417307 29852029 453013953 129305167 703366119 265204973 930653661 77951413 392354135 507253763 258338549 381672749 469366409 335708183 511367141 273625903 834816543 908900613 32957271 24585537 565951751 455007285 780000445 452707047 79713651 278155157 596022605 606234809 93495777 169063579 714647303 169573711 378928149 628368197 641657267 465008203 356460573 395606811 518391781 921132377 234386249 272781351 176599025 668896553 724995385 259322885 325374201 355355765 453083855 346548943 765130725 406583553 97555769 482594347 990955621 857206935 703705835 924829771 770881523 20407817 213277343 934844641 906675917 532813361 396937821 597391919 646340347 630378225 95977069 143421433 157276495 807687733 721495143 465614989 909247585 561407725 415998501 404684739 981220241 172704787 234077901 693818359 213431815 695015851 370573769 281934099 923394995 779898815 813837775 51654017 438217293 29967713 374500313 17023289 805352023 534495659 701378095 874542265 674100759 256425151 514280283 112077831 64446623 186061001 177688369 700794291 222166727 911613689 746334669 732568019 370324527 908523145 262795925 461278467 623870525 243930047 333822261 738923369 323180325 664082145 183394975 564441527 302063325 121873731 375258641 545699361 722241063 87446591 449814031 960948067 299855241 589481527 315354981 622394823 285454419 733869461 461526055 778134043 977290145 443275725 504279731 404127921 139427151 557503065 930255019 124395117 320432905 808093625 167318525 238785969 128226107 407542905 841236955 168861549 934426657 724945451 919187397 409805849 153944761 573486697 407196795 93818543 77759949 513485783 377244939 810522551 926372589 447150875 787349963 876367937 77960047 634459115 546228053 518350563 376310133 751337473 537596813 286444217 638522087 965685789 238659233 177711209 96227959 849547019 935471109 776971557 339550361 5715613 984166261 827359137 872130705 894267053 305328115 393138459 496358759 423409693 730138831 798186585 959885545 561791449 895624347 898810025 572178097 904756689 956907059 705785059 473262367 225027585 379547581 197614693 311879259 907990889 914793891 215944723 960835413 658159893 77369243 377154909 834149063 726660375 169934753 980748601 906346031 705874313 173973241 99628839 927706325 830563727 971634991 930447401 555925195 248657487 288130327 286671825 647051753 77010431 963445197 205530933 381647055 602877657 115314103 827544049 546729955 54009885 317446017 435713837 655340121 26347799 566905117 247846549 489929001 233971739 170462409 336589667 97452047 772165503 218844683 914249043 875977367 975702183 712132267 266518955 328840977 597400831 52744127 334597689 274665365 326538999 845189285 668965461 400051457 271855369 873132031 294930397 687990273 136627387 942966971 607256117 411609091 929311635 733658381 226372943 503454783 64503333 971820911 942363293 327471797 537135883 564905897 666423839 393894703 560858089 900603843 96813405 826816573 443257957 742792981 256153699 953467445 802527543 278038841 186754761 743403577 341430547 760979733 259755179 894510899 999217601 499097555 956880305 834917071 262554375 165364713 627091463 711859337 654257593 552625169 75881319 185729183 457165489 542295123 222391821 292174619 636946387 862047993 914353087 250595531 707581189 642024855 837125837 324902985 685709119 854398985 262174475 34648309 205398901 130794869 683394777 894774265 183142319 725779269 599926299 989942081 615959539 755358769 487367489 129642119 44747605 102993713 810398787 237860429 867735279 501931659 303175579 47360731 444052709 630174411 220138323 821155647 346380127 599662533 780294135 415244371 750740367 357874071 679339935 203476407 558960305 691173283 420026087 812768979 950653189 90323349 732716535 26368471 202750679 593361509 483588477 195018939 340199801 993462603 575475629 320164417 791129159 770940109 483308361 358069999 636799391 705569721 147758743 588812823 440455663 509619231 291566177 434218193 883924647 251319903 504878337 795118845 184713539 937629725 256023381 662477377 944692293 629310275 213484483 867754769 456713269 844217093 642320695 746911651 347638439 827014371 742289961 249692921 225265973 405879197 550537113 945259993 888412803 870751811 596598795 392955347 523880761 14772519 533205133 432926787 726040841 553522405 945883063 452985157 957684143 680149347 974694053 203876037 43975659 281895115 974246399 773871983 838524555 704957587 712815859 642199487 441141085 354652279 633729079 540716789 682041405 930020219 961928969 899366935 763263503 397564651 905538095 488265973 865166779 333867867 129510137 64198441 560080691 657749415 524542523 976173333 440286835 9156085 332410709 108698333 978492027 734719665 502313771 169389427 250093657 176860557 678097711 712507793 941600795 289433223 508605011 212457653 874174941 867542755 345166873 348018217 451713731 978837037 579104133 286310395 904198133 9207099 520628261 482755589 491559845 315108647 924044049 960001767 701458959 345834069 203800037 905038601 366580853 563298163 571852233 228188571 937294879 350351475 738491499 899091351 993032033 552541589 85477633 854129339 325854359 58697305 103511881 713679503 253680415 819173005 358300297 730474853 144421479 201744199 207912593 231207253 569464033 456112097 441600693 866456895 96630021 47119617 459346133 165090249 710370389 936224145 765445207 552305767 251108447 608214983 373481255 682066001 161365937 194888733 473530559 707167619 987280103 325668443 67729179 393417673 131488165 946549899 797902783 989352883 259280787 196527105 898626239 373426073 405864291 794981977 188068269 353188507 228447697 374682233 808967847 676933535 823607455 648989579 55909717 794522713 666958229 301249029 13702629 195091007 459612041 304536739 205875725 36670353 336715601 6770537 882017291 483852889 25613523 812590243 879021479 409567079 673757175 972291559 669959981 180470609 934999471 877511437 657576563 364158331 669507831 384339773 920981465 593109769 367053777 345823715 357098821 137239023 642255941 279313841 22347043 504857569 839086953 239834535 454852461 353445221 75484755 822381061 754462877 532336829 505179433 642436441 412552893 759926527 623489555 934973817 5282395 542360319 455894597 107486335 178430859 318817375 859815671 448822735 775159531 845543047 582714475 934338839 536871075 46730153 572474095 58391883 719980385 533851577 32581585 294594981 539900251 959293819 278223983 900542125 523282769 992544631 516627753 107325227 134109061 786233595 133442153 995898679 256405705 734450977 138384289 834597163 904858993 702310857 860529229 21547181 350539869 769569947 754806511 297887655 357757427 850548743 636639759 861118287 833252129 480547397 176369987 721235745 105468507 235336791 458781217 699246049 247610531 715330819 541920591 943822491 939651709 452428763 996572021 575539619 151391481 99457079 447445063 340809621 273938091 215491639 621434749 78925911 691048625 1229249 110918619 380596757 827693491 922936201 807634473 94490177 369970911 454734853 162858045 767745177 640939757 96919671 921425389 146516001 14303511 921953253 496955935 665561637 644783655 226037281 106209723 205364027 295980391 645121217 190064309 788458555 129896371 174092841 124554501 862165839 240483429 62127741 842788271 197084893 793885797 951574705 386151355 480775327 789415711 784121211 112849215 849678989 884835725 995389531 746292305 481351151 926744363 417418395 91613719 493127757 445441279 971626059 71975865 536731263 900431001 654821185 886232939 945408927 140988683 910025759 82775909 512386065 559561209 23521103 97839851 790966915 921755269 972368381 238178631 933236457 736706145 320933157 929150665 387055999 794857151 180193925 49328591 920477127 503707999 224167845 457036729 446622609 485266313 293489881 641652721 665227247 214672137 333441077 408761577 564303421 202196277 149464219 951791903 449664289 691914733 914323123 71376911 942073221 79695511 837152749 272604489 417679777 311642401 630139779 858329949 656667629 356130049 791035763 358489315 623695405 468092981 134073733 476437889 494581873 346424387 270327371 339076321 690333197 860139321 112466973 65950129 87522457 634843823 743754779 290079919 498673405 519276739 594294573 755873693 275584101 646741275 278601987 8312901 480491331 884415971 764246805 792149369 938735703 308111571 372144037 774265873 379060129 903541803 731989689 930900467 145209199 586850733 947670307 924284679 446813015 498135979 532079481 335682113 46632753 106043899 759178015 459305625 819385895 317621497 381972795 353741843 381439905 107321997 578008507 149429945 278004307 615734053 251449435 252325789 879590717 531607735 661042587 135888343 267503263 806063553 156854209 192049037 18296585 509466697 332881887 753011945 776946253 431917277 567337675 461826329 686894215 319719829 846882343 134932317 822715163 553427727 597360989 909130227 408855993 901550449 738644121 284974373 614016849 89648487 940954583 81829449 727820575 418953513 225450453 410811575 78651307 468725111 939347229 406126289 374080959 44100757 327777535 925299969 471023471 552562001 1677457 499867835 575816471 828483585 951818677 538432375 978590301 469946247 279348755 607099833 129380653 467430981 994758685 111278091 31536825 965347625 782025735 706267135 777401983 179690157 70943445 221006639 234885443 883530701 419205455 157425213 806906897 692674321 472338691 375632339 681171775 662658435 620540747 270035365 249641317 900627901 334986311 765902187 863264875 622253277 220694495 256567785 482321021 430685577 885525187 175051241 137735439 580746477 597889899 589846845 753592283 89002947 416785177 264347581 819068391 247855429 262304469 972940367 351967361 861239357 119580269 872690141 748258361 572806647 307363193 714468951 491399663 473596747 989793885 170016695 808610759 374027157 723722559 891093761 773368363 359526333 222305551 324760895 716780241 232489777 364338821 272589955 945411507 786485991 256274211 588731111 425414681 23424093 880986671 194908045 790876557 636458139 176251833 446361503 368682211 933898539 164900765 708754769 16557879 272261927 205150839 359032027 587563247 642596909 24282803 230735745 812971189 292244323 594636671 99982989 75876991 920247413 645873107 698879057 174556297 932520093 711346543 623598887 670472791 104094613 340120541 506545777 128424885 806991527 760073069 511014297 290497463 45297057 973081141 722478867 381060537 501183957 132458775 770659673 33288803 766620455 230329531 271673323 485862043 222621945 426099859 568745557 666696857 767422779 23159253 5160233 643458779 297042275 382040193 886098177 921365793 697092975 706013281 22738303 135260537 181711589 730439683 331669581 930321721 274925525 880063937 88141855 787831801 481407955 489408187 838000557 616176291 588895999 614213593 989422781 586931807 708862207 750554315 312840469 880647585 104098305 158272267 365235591 926176041 487338937 911092951 940301553 287366903 336802921 913306167 76986677 297974619 358918101 94374397 895102521 318969317 8152139 598882497 230558963 864038007 876306851 694928867 405525595 342289967 926912569 710042251 258959991 873124477 876633077 938394281 696320333 913434645 139028293 423110133 431164913 288004595 85904417 115261169 193745789 241460827 827491075 185302499 333182483 202114519 264471539 686975965 337739229 467962433 659939201 889396151 520571407 87649711 246149569 433168657 805518819 959459209 283872595 249245521 895698329 827008889 979795037 972338859 880936317 667011701 422523789 635024149 268049121 674244537 757286167 947932497 678907679 156664777 209782205 548924389 550581401 608798579 862882755 298972193 487145403 87980743 211536887 15254305 568949237 106437157 852715697 440755905 30036673 797604655 118285007 554409645 518372003 679434705 32543925 513226577 713808423 465285955 626899283 193827561 432180955 111154429 946639135 701859955 557169243 110471623 418961177 325568697 196021065 140228265 333582275 557239115 268834895 361538041 542319663 554573695 503105825 331463765 806810865 349176183 272530809 433095073 388056361 436566811 578850839 645547015 400264573 126716189 875418055 558053629 490838299 78635505 158887515 202422333 519265977 600873179 639971245 150923471 903760275 205872355 299272865 326176763 572902003 50228695 978398237 33220697 217764519 948168017 678423 688122565 731288835 220750257 37429897 219311455 567912165 669481759 853234803 363532953 982444343 250552459 123116769 302235683 40031587 954747567 801657317 953123833 934626913 622673161 475800475 311050083 606122927 891198689 85460769 917712363 381507669 980417097 299334053 682807909 561852383 970687769 706060631 880017391 777786723 813126641 880945265 763334891 583352449 566367033 64615993 972742663 952382559 777992735 552710645 260535093 160641195 139474337 795811833 245104819 317920923 401192825 818003615 854741509 36483565 419687219 501688137 467269367 493937639 678709535 332043619 844748959 123584599 976351061 124164957 58658903 181293205 675068083 252179891 771947203 618077823 133595109 652571109 563599057 860538233 105525849 180619135 130500787 909429621 450472263 749944595 400617193 714548709 567911087 374011709 71266099 966982857 924344411 85677979 639358881 787123625 826622171 453768667 311409539 848800401 673469573 135484077 426883195 495916823 979790459 802780365 812741991 709294941 28240295 946694139 441613175 745140995 599694261 184371203 581975327 808825917 541584417 89905591 276875035 302399167 247160617 582916081 381325165 384117959 850639575 554777237 290196069 380457499 493456889 589832587 683702677 558743819 306914601 362296261 550934747 110290283 171519943 829143615 608467287 5259161 32365309 864673529 742100091 264777599 650838199 778225151 618199799 306797959 268807343 820628067 440713161 634261931 974438759 832885057 520548149 732728421 146636583 175927991 260778951 723456959 374433533 78716147 842153811 971250757 324189123 442367269 422152183 683408909 538509593 391036553 736646421 757707705 707177063 166277983 502274651 97325931 202295261 169241589 493714619 760381905 748621171 268641689 814801269 880239909 461962731 961229223 896831753 299800099 366997963 793088641 315810373 527126289 70111333 606423187 48302399 818339519 348785873 14329165 698523217 17648001 650488559 484442667 446690591 822536247 972754533 453932463 93972887 245498181 194008999 384701537 833217773 976894877 223512811 224725973 557954203 12922289 708900147 199796135 283316585 197241475 266269509 16097909 505623137 180347031 465226419 920925933 718265813 178047227 544647891 882928319 348505191 726922821 439385543 249672615 527338485 101461399 238547321 133242983 288835249 244742547 908846743 61247943 749535755 397534569 869021591 826241435 295255487 406522829 436424639 416487871 136562389 486252547 191207443 430090513 65938071 141280459 645362275 907235967 359334809 151828855 360568393 334903801 770837689 900597979 889837095 275878267 435305497 790525527 422407713 725109255 209547301 677894351 871462697 986993317 735298197 797372853 491443705 979068265 917914465 923524091 426017295 99819631 397091279 19395875 104329397 984431317 100363627 713847343 458669049 820368841 38025993 277734067 763871157 52063611 288619975 238952383 217552521 156851239 271177223 184510199 743326429 197150991 194952823 994100605 439875041 732767611 538662155 370426625 262575247 662053313 810377213 293895353 796628645 389554743 400510165 925941859 306741163 619108931 58038107 640975173 891688435 141381965 954813607 836017455 355711893 47223751 819006995 608634741 580910449 585541677 559483459 665118711 300273197 743125503 351504933 182252059 946575677 477761739 554543085 638759373 978112473 617421599 993971735 541274247 832611325 244145049 836834919 682897987 89898871 467775447 948824295 348382859 830255825 550016903 891093743 711544685 473091177 409465691 758038555 567992955 589823325 572093963 102849355 424049113 604610195 67039577 698551729 960809257 979457983 904997651 532520381 627930267 453744727 465078279 52407341 263655909 839653531 649109779 239496965 680807237 221326997 822790165 330433169 18421379 175002901 50097403 256359013 702415337 726271665 440145591 790153311 712534355 874854093 576642113 294764449 361685787 427405453 131553691 970184601 532575015 432548325 919405267 786073849 745969641 582597257 652455159 844266175 157216083 993799935 43910949 639156015 6454247 824451465 325321595 980998359 805506985 333786941 654735911 122972039 900888359 130917103 174868059 42378079 529867385 779849793 158499151 541692867 250363965 833177243 62154567 99173979 932414103 329553967 595744907 41194529 748832823 720161009 700480113 900058191 378340691 807520677 63027279 340142439 674800809 544630483 344356491 958502457 538173057 997656009 449354125 164886231 920664487 232431521 632199879 975182237 775287921 637597243 687723957 865052719 713514431 167912767 985937625 989578877 360797175 510956317 512494269 725186999 239436295 743860749 603540209 534502233 286482019 838027025 799798035 681836587 875097101 610094831 145713601 405018935 355731849 640190777 896062891 141648593 750254565 650288967 545639037 763850647 577118137 644451129 954259445 657189227 497381923 932257013 153925333 591855225 866270663 368955183 743185381 376863287 852144597 186700381 463540987 273707105 988182787 124101569 668351983 630104061 232055953 714442849 729319841 211136083 229219137 526678543 728863999 457181177 858519653 703703649 780147195 192350669 32213203 415274939 251288205 888351729 161846759 478732353 612030905 332564691 864895113 564688103 648558729 203818021 463483429 276630115 570182413 876187111 939227061 393970229 620136803 475410265 340287157 781994407 249508523 334818315 318770731 722049225 57959951 852891853 607847845 712825713 757720001 364317375 871108667 468204609 442637821 704773189 322904459 134437283 413754885 422691849 792588985 354347203 206550307 351917057 766490997 431168157 157647783 81504871 606156023 301175023 312246767 504708803 199315705 279664961 743841627 154293471 344824005 978307047 603605845 338244559 481436711 37489397 710888017 704487151 662775413 100163917 135627463 218669285 639960975 371596183 739490875 496460955 28607195 604646723 457645109 595127367 50277447 345856907 421614923 840394853 121758537 64487021 385442325 780896441 582322655 117886897 150255157 485302607 164527503 247160809 631713109 604584827 964662375 435648365 68235815 963143899 41350143 210278237 990719849 411829329 470503029 776264353 627741401 217014025 204096877 839654633 513402433 112712571 393549593 679916973 537154679 264363615 155694891 672765743 902725203 282006459 585642467 487028085 757483447 507971549 983274249 703022929 655006349 561594965 613581033 173539161 710915527 744222467 59746139 306170097 583718499 536638217 178855099 150825791 88398431 428959701 325646065 516582449 511290821 620141595 576725099 123615107 456709035 364407509 567862045 513708981 606269737 434517067 737181577 248831757 643433057 978992901 842507701 977241757 252909949 624590043 486181419 815270203 723929521 351861223 326892805 538255497 233051701 502035343 659182305 923777009 402805581 171991421 36525027 420304799 824170819 706092711 65461949 764231055 436583783 492018761 102160801 820958847 537992471 429401319 764061521 179000569 182846643 221762379 49400847 782198349 289449637 990650767 969526957 390224785 466749537 48258057 511089537 555409063 975561567 141981793 552981863 429081399 284353059 43431553 317231815 223572403 823210295 283049377 389190287 993757263 395622445 167394105 728324405 171184143 354610335 85047823 961359799 809640379 438362415 8948527 274797723 742385889 634610311 854504173 572871921 955466459 492418139 169583079 617063245 826696137 390775395 921993727 743734479 668778899 131225443 43143523 178774557 698649833 440193061 194551685 497317987 34533955 821638267 679221797 614083673 362340067 549307967 396519491 340579647 775510993 706454611 590905645 423971289 712107739 71588257 686781817 83528565 340138905 527789597 234978817 999690987 731134063 478165951 759267561 465941911 221438851 175833483 864660639 263800929 376057285 158505099 36693719 139887799 337467373 689896657 805323661 281101199 649540989 275390071 856741379 549161575 372046779 58236063 147977161 644186693 825589943 47387763 456812977 801062073 10370125 833710119 810301143 71323863 378980635 801997299 826854817 616896575 564578183 978033949 231504057 665522711 359080645 255756009 693072407 768528395 607221195 219804079 459756529 3152213 903492697 939737543 164540369 176846767 512630265 658215059 720379777 345202275 162367227 232385407 83839509 971555645 134246773 334114555 398973675 354673557 357707337 526478721 224931493 135966535 952988191 965313173 825560625 395052477 822845033 215106497 127933377 390441697 830420573 583395223 836457427 853604907 77799419 595306161 617248299 296136601 819307789 11636913 260717271 656062129 910100001 149184321 989421351 443033987 333126545 569153813 95733435 330841507 546375293 402716903 455360629 327528241 711026637 144152695 96731011 615531475 825812273 957613969 272171097 80376757 850726947 121176327 984042417 654371985 715971297 965736371 438802323 788856995 407106419 773759351 502374471 97909167 198666411 522183229 905377125 190106633 339559713 669410553 636266183 171630979 251472949 833108645 661808019 961853563 72667919 541684033 580284723 711451353 70064031 154143961 174087773 942183691 366915997 532093055 158559755 541910279 919175051 55997773 792408709 207192397 934698415 581103461 222026325 508969951 633880859 756687603 520818511 667779919 248157863 113207077 242871695 498085297 51418099 547643707 296224379 24058277 290913381 835713907 574840767 723739473 65625137 966309913 556668493 820857697 949031245 118612607 102702435 457905167 462489723 797059583 326788997 788713495 111207489 475651835 809783679 206998975 820049391 659380191 528086885 627786709 263006369 980106267 191731093 373122225 270158387 329647403 525892529 407049009 729125969 808429455 532025255 364853689 315875175 721135571 217850025 705171769 125952945 196611977 943306807 762584615 784632877 1210443 841155857 338499457 965019045 36823739 461174341 525286351 25355689 965633925 128195113 111421981 389611919 644954713 679660375 988656897 4555129 901191409 852595123 22335387 383518543 375325715 412990315 310149777 65781187 247954565 338286067 630753041 559445321 309446683 233456391 738341327 972548903 449045679 760931241 154674701 209881183 869825315 624659241 605087887 504346309 431771235 438627865 996512421 819564017 786124383 822531413 899595555 936633923 928121617 70432515 749048679 588524003 726486911 588440461 168674393 295389635 905898671 712909993 430403433 16008343 530272437 931320915 941837193 840626147 240676779 292353487 358873145 876465901 724687027 537401513 421264001 390500295 981550329 739348405 839621613 155177545 486608557 689844241 280692115 809310483 976884235 79922717 998233875 303062157 50889811 924904075 213836691 738306533 651437265 654659915 648339137 597277209 494119383 157836957 456340947 166569699 690799039 637873153 792536197 255466959 102105581 771311429 374639651 242885421 477850055 269576061 231987317 4149525 502585795 194694151 670023381 113886309 489427547 282110853 710070049 417007561 443588879 756175077 647662269 57183919 123105133 989819995 979861913 442513999 531507715 469007969 897031981 851958953 949261165 850035903 607699315 721080711 947352909 877269373 577965557 236088697 70113615 922135027 764356287 712795861 155407907 168395195 5925223 999053501 548995717 109133243 778344461 813285403 789687861 446814493 969601111 467197595 942250751 281432663 266938995 671571385 279293367 403589667 359951895 155107763 977473331 789919369 234705281 653902995 234142551 533155795 478404215 137138983 406224911 573814165 712533831 760637961 219337291 99816875 281864139 242813595 755614471 37500219 367360091 488444929 664612419 356679599 279945443 417115181 614882315 122000831 547122637 512512727 604288371 623722595 988004113 351178369 87636369 338629089 149847343 12238195 366852233 677705413 302272041 696394939 548798599 657086179 349019283 265568563 903913147 188919385 741267069 620636795 423038561 412121225 468077193 732247035 735713723 803327775 300949725 731293155 512728849 349987603 328415271 699830315 456353207 433378717 162152093 249464725 170434311 865216835 403778301 538532007 876207461 357812947 509706637 184276147 857444153 861368925 691820317 546257105 941758965 578383425 852967425 965984481 51084565 867527715 664250137 738756233 403106073 13607917 197880521 758049853 17332877 980654803 908436483 119697459 328612101 349260373 986078521 740801901 932652055 859405107 31540589 99246257 221293671 702719101 748003105 949969809 225630369 144936069 85448551 67507043 780943991 306842087 407506133 311284809 275544479 941015689 796135559 497605165 632424161 11636373 510645541 163087293 590602499 102875521 300712925 555874671 582988249 829242121 765706597 52752521 477693759 258800177 809046267 928680975 196916755 672787525 714221415 71753681 813206339 534707161 629159411 475991401 172347071 247936969 360910201 715246393 200700547 354050619 320463703 473138533 522470801 176273307 106510963 160091871 95760625 401145243 482430009 140029537 829966009 2050617 915975075 720019305 959291135 563984569 694120491 253272385 340612841 321126567 733721307 903652343 151598493 270713049 267429183 850234213 632265555 186179689 532091503 364669995 46740033 918870971 301984263 565318321 621229481 139374461 220184369 531339815 451806425 299428257 470464919 693602695 403869215 757570151 699794545 990261903 344903639 872269135 371211645 183476423 864553317 922305577 218729473 64410241 828129841 943648773 409227213 560376789 639914669 315816515 375210037 413812643 503358293 475217799 753236761 930460305 933703595 595439291 656929245 159909395 412731703 6826005 171123315 199215969 62310543 695555599 875387471 711394423 39300681 373612145 843952493 434820899 902886411 177624389 456869719 97739759 920829309 710754271 518936601 87005497 710171985 885536219 878030155 655045663 978271299 629119519 707436811 811359111 754673685 128447445 342129405 559767845 320511119 630410099 743608145 693309039 731717253 305428917 763969469 589433765 635911379 736309919 769875071 616565969 638574425 160947837 2565469 449243843 210308095 302587109 133641383 389512209 350604733 248105391 54998577 576364575 230103945 480513539 527233115 68814353 459278183 341194061 434912523 696306651 288358751 877989951 460919471 426010929 766589061 696846297 107084603 695857817 133353973 891239003 492276017 386922581 185859023 563139155 182921365 524679035 349459517 268141975 995780085 608317663 135452273 724109377 534951273 464088099 996841895 829335989 837775759 360330927 125775393 482056097 368233099 440225973 669295143 924799225 984719629 175892521 706187023 757519095 556402507 643226063 333959727 328055843 56131587 913782319 456776173 570729797 329457533 490908823 561603249 53926005 460297349 549836321 360154607 372302349 913486193 890634413 317183263 536492467 445608737 461649891 82990275 415546705 821790715 573964339 252341609 104213021 683612907 919319509 292432031 813253011 578368107 856316363 71465475 138873975 507548535 61836507 150300725 7573461 765471893 971415703 729732063 237027841 886732499 419713111 907114163 354679191 241254089 856384059 521741421 677495421 182247317 268592169 647555535 568768735 262556635 548969173 49887139 214625839 159295179 962323125 956346297 438081067 675525915 925489419 400429551 45990871 991906827 268509405 760453925 625706623 676798045 637259261 437556805 25421497 385908579 838708737 441069889 325111645 705943537 966806861 633962517 53178005 391916905 783839237 728597955 190292167 597117611 470150941 243485525 231257005 535594795 962778955 557553883 364699967 20922333 317129743 152649331 893907141 723698239 356275891 996601661 866175943 248023383 205974343 937010787 190311197 633249459 685277601 613509145 13453281 911463787 824722019 488745111 916428407 104742685 881668087 695759649 9171853 921310445 532579209 503917311 891426583 612833419 203870229 560072839 841123153 700518189 918042457 277207567 776469437 542048915 5441759 470987517 138735659 15614975 636639477 919934649 945487277 654632771 560682421 117336503 226085791 690709941 108896255 425931375 679610535 406996785 85623931 843179109 291980209 595568927 599771289 772180771 367196911 459365741 501787539 851381561 953307871 704316815 956776807 956698437 762098499 782916487 997615069 678839527 414856235 102666457 113712007 463605193 292749035 140150677 983510717 202822303 730748187 691144527 245589151 977773089 772078499 542872615 90121237 998077459 21231535 562517441 714816207 163463231 470709169 562927693 302335557 386403189 532578921 222116227 5402809 796643475 308367831 213664669 238369841 554235769 846071881 122794597 51064191 995227153 968425301 480359975 322981689 342406991 545406163 130323129 174727363 173445675 598881773 323895933 790288195 405968041 766520331 701603157 91741351 128071379 177081825 84413359 227656363 111125945 536382575 673801093 723978191 193889401 846526453 774480211 629815897 223027507 607386371 403723039 123132763 156121617 799073131 207459705 843719595 454075975 801993033 162442869 904845547 435622157 446481409 311152307 183507077 225650855 467055939 808039511 278948517 952249695 569424895 268658195 423233351 363453575 136817521 463362073 910526761 223525239 908641825 156221737 414724309 117626005 94392025 91249035 622668187 846670923 259908525 655852555 120541329 799372807 457394937 152387329 858032025 804534089 163057251 655851849 968105051 229415055 956000215 626863947 234933577 252973669 810080391 977501173 194105495 776624731 482215409 251434429 404286281 866574863 760324313 77544353 257317927 718762529 78212171 845270055 889899199 489409339 348137117 879665247 771693163 116395793 707962471 30224605 393856331 35502939 983771027 210141377 46879559 713236701 985248839 742390447 426332431 895746145 389022717 291600345 212053275 751478713 13742701 568612081 10044589 352168639 18388637 234537273 650661581 742577749 913783259 660214645 930604361 974551909 683117753 164454131 803110329 114658275 228053011 498974857 756299905 433136583 700704781 797935513 693748167 89414679 944701205 222402821 102823547 920544215 842927327 852462653 702583637 108590367 537630565 938243127 595432407 639533063 784021999 469394545 713029447 270471601 940943879 273633265 354758069 414490953 69043841 886598727 984040701 781041917 715322489 488524423 125240765 398089997 187399765 176873041 337446491 48940215 180502719 795930313 701572619 361086791 743248813 886375329 640065475 991689487 452285787 427366411 880579395 651708519 358974285 726965193 958046229 975356599 925925711 896250911 485120649 146564451 974158965 861088475 239506101 134979297 39776797 419745621 925247867 111518633 570920169 887032169 199733637 348177727 923422661 859304575 978417215 747778349 787078377 533497989 697605861 309800453 80842957 933425905 132254069 319122017 31038263 977277379 51890617 895669219 612185651 968245885 846655039 10322487 225992983 84311857 945472865 651898893 68348795 422189427 367584319 291834399 34789961 915525987 768440769 606358065 346774185 213743783 837439895 528961549 353180943 202293611 670256443 159180933 347504699 861736809 203917035 302936179 857404461 297730779 759405743 257583033 509584693 532576651 263953755 638618691 957882595 111081927 793756033 790336769 465374489 628331361 945783431 139481325 500538101 243606205 473953171 941628939 285684199 239228349 132540565 314425957 854062243 251446481 583670597 226297613 849771557 524904431 532359717 256767773 392014513 679016341 626874747 149604023 208111315 860480459 260277337 765002759 605818975 726010141 923271063 94807101 616586097 729026977 380804821 293761683 22695279 80104951 114944377 74946893 623738371 865293893 969452471 984236727 312206883 802560311 820836229 230853149 205169933 168865543 543521189 180909793 190518081 436920945 354146973 775937375 814234509 811862459 807293373 415395843 193618437 222003123 709622817 163992641 477789959 118014641 326605733 586579347 587830837 240719761 343825909 421382265 623273853 963940029 616655741 174489983 700982289 469390623 329261689 367038519 665214831 111097647 172784105 436128827 972679773 844403179 36334737 520947245 378218979 565348315 251672071 135029945 350858329 271706635 183793055 560808335 270788697 178898193 363498875 610288747 452309959 231712269 761094531 360055309 932084945 948634533 264773225 435230529 242478827 464891141 744695969 657956313 469050319 700382951 139124081 754986415 692282501 219810951 451586523 282976677 967727191 815641771 94951347 551024807 209070551 65297057 989548177 323211941 481802215 168440129 14373077 611256219 109149349 446311401 82869415 75931273 652506243 548048765 169805561 916277371 726438193 8984429 532924543 665345923 228454061 650837169 734765757 977238459 817026105 224207043 388024057 346887749 554288997 813339309 102126917 647529037 287122693 930640889 436363129 733562371 656805937 994062787 837467189 447573411 586610513 611163045 784235489 113292397 19393297 246280903 743913901 955407789 889433955 604314327 400925329 685225909 414032517 704312585 521448013 739694817 299014651 379853087 661268077 619352719 780504977 454721117 249336123 229768237 939069533 714220179 35600597 918921259 940797369 17575701 274771991 682688771 35116105 431962561 426448813 1512507 388752635 666726913 514885893 103720281 584944129 114404287 389575511 608249585 166241243 593525363 219496099 113977245 704911945 491052061 444388019 301324033 793176411 798795839 425395223 629452483 508894305 489895659 1776933 402265497 152419581 391598007 962949887 112854589 534437389 769657023 501237391 443652719 815419073 359991723 749613441 564075517 859145613 760124585 513765713 153623989 773780269 84397935 391149117 625103987 884817317 878209083 624077903 272181273 202428223 29674707 984480853 806960787 678944147 817202565 109315817 58627281 943288445 303477289 561535853 540184015 34323743 675942173 896937221 751203727 252568293 969614405 923040163 766342681 354195589 989629971 115429119 579722369 635244795 140143737 683345307 527384033 565826187 91247609 159844799 474765405 233638849 441808533 552221305 668658715 613508209 685097183 804837027 950729811 353209529 512669421 605589981 532419641 757649915 838824795 493283215 379482133 578623461 699404881 970737641 896218669 792853353 609405 915846371 529026005 195787719 942521365 840661823 576855145 17893247 183721431 890301315 177783367 727501663 252618761 138186497 8527325 189761405 697062779 263980241 504160411 18594355 693186177 500829907 424948733 972339493 441263099 228642989 116226179 876333633 978725453 358950611 860338875 230244027 682526311 504242043 418162227 339923981 325279425 884835239 834735239 746809087 985152085 834227229 48418395 961455259 898383789 358069871 924896855 668899635 993767893 842343923 630442029 527607145 282511717 909865677 607241625 135077147 92109689 502888161 666081115 380114555 412195513 7560931 14279231 961483513 220208723 785091911 193355289 66983505 517012733 242180435 418772159 144113035 884622325 764540427 349344535 389422577 236734465 309956927 502640647 966247447 861175409 452883593 494266247 330332891 153662489 615664715 329934733 223040607 857708633 385333417 287536923 817504527 271129111 298642581 698287935 702026915 903534783 882810057 408927751 845638931 784602443 559472835 839390095 486468517 585481525 290325453 580183291 245095397 521965959 245736437 189857651 536639143 632112589 567621397 307839785 152050953 493342495 587212237 398321753 778196845 933403417 518051461 398501955 11829889 276308195 9701485 317226037 874345529 812363307 729761407 865259645 849167055 25441831 272446073 490717049 85132235 378570389 801705955 602215559 858670325 817528509 186159375 920257813 480607589 443235947 633320981 95104915 514425973 983484661 803812309 180394109 757553353 422962235 764003575 294581077 826533199 58406817 832599273 412006819 648457275 6158617 324661993 105155069 597412361 289134101 83911409 564615417 919565949 632353431 489495759 550085693 401725857 982502435 443394317 8363889 760264909 278193863 795686409 327305031 588085661 212101147 539781345 560654459 828738803 380987451 378827387 322608335 538880507 339666639 788273803 992595467 531102507 768729605 505598599 71115013 314678079 423057813 168617135 391966355 93304379 732631481 62000397 899273883 975887467 123252793 265325169 624722693 998205283 173820773 943248241 519386307 103676161 612578065 491247985 705910481 728848487 162074525 151260565 108406577 81650435 406371567 673360337 269911019 753075079 68102003 819451865 946379285 771759857 692593443 783922739 179843781 26488197 99343995 624850209 886394401 543599057 679320449 858550201 149374033 349597605 342865603 180277967 751971463 796499745 143885913 47908869 252297215 402131369 124571359 322756803 323267323 258060519 139892863 454711099 447093189 400131023 60692451 588376929 256290733 582346657 415525699 744018425 179842065 215118045 465818973 67302283 615831887 199669843 255016055 53768037 814880725 493895189 480489313 155097249 989363477 623968895 172634737 869945119 59020423 47298871 958648963 569128583 899659951 183526439 238766589 539159881 601147413 480632453 342072785 75700125 711462479 5003213 234582131 9511045 565068019 673984705 607252193 700714183 279969447 541350001 468202401 675577333 574416915 235793711 787577281 68700007 271907051 673649049 680841689 982921533 715953383 874385297 189103365 10541405 477137097 351732547 177436143 694711419 85234527 463509029 670177217 402656525 832799353 952135157 979019059 653049429 80836591 541042099 308420483 476139865 866922663 970003629 429062521 800809963 622168457 7309687 767755361 904532897 944501385 188793071 518887697 991952095 626992543 445517623 645018857 470667209 510477261 713640125 174032591 161525075 652562465 680652083 56398385 546467891 998635179 738631833 359276035 879176681 149733763 624891439 763435975 584526783 931538383 391683973 816952961 38839749 180968119 198490987 248576961 817056721 597677167 746631425 763028123 985566853 298621231 157277867 162640045 80513099 233222203 404907795 924058913 424248399 173225179 631667247 869621153 125412749 893784933 222498873 748995941 397895619 662130225 517748409 411791917 389888635 70807201 846644089 334183739 496454659 914242079 868603277 369571425 562484341 965609757 415574097 638737141 794179249 512756247 275074155 153563859 875337567 676328591 615791813 68613987 190446063 982265359 246450581 565454993 16965019 475341609 223888727 87900119 636440673 453033077 21184975 621652785 774318089 645773209 342466825 190811685 60290853 761846845 39451225 684771523 96450061 479106325 100432221 259045023 430547937 903634649 634536183 39138775 147194761 722083661 578888789 32630805 585049269 276826171 200217065 732140931 52485853 91228787 54710385 633682393 363240515 140801235 353725425 661467479 138324205 217782587 941842615 186631617 623801773 723804565 213758035 488524645 583519001 912334549 832174757 655449113 908052629 14055923 262808271 317325885 284097351 713929459 906340927 807649719 518649117 230117855 326707113 159321333 117730259 588477385 88290311 417429485 726733289 85477833 361455009 634543901 534962597 199865349 247124223 986861707 425157145 365640359 159892473 759239367 398009371 416403165 561492137 887152613 401870669 909658085 815722613 267345541 152686873 457926145 768611079 981976267 390540203 972478843 724107093 973437799 904778495 368513445 548417179 442969745 771762645 855716825 277273949 564253955 844016817 741325945 477828711 916698887 47028457 660244463 510701517 635827049 950620049 865366447 939958763 434726529 439041675 975724849 634145895 678775595 506242943 83860729 175335723 424038351 708298463 735468433 565383535 26188123 553388255 207111819 690025643 822606405 780004483 748698495 454276005 343671179 392396435 902782227 933216617 703421875 425762973 657128433 6504523 390687181 320125947 250781127 203974889 365700717 48480973 972540501 123912997 183521971 46779131 827677273 648518445 581904195 590754613 419849887 935730803 351385935 332398069 169865975 927778487 458834313 511864951 97387839 900831481 713209137 9939401 708574807 261713543 712025359 437203895 150443307 834490871 64929903 199973337 717061545 353056803 399500841 638620307 740044241 500636977 264202137 154513931 940787361 675452299 828876713 6745393 811098405 953554661 702273473 163587773 580997485 446129471 406369501 19350065 187577751 676202971 779105403 219543763 549876931 884325443 99513757 969129141 498866205 43783503 102711253 391044525 515845077 465819673 743427127 270050911 695151141 80151815 349894243 319093551 433336401 45037765 538840445 949362001 339303843 117401413 927928119 111162299 960801389 307704515 986794179 549313581 168907017 855894727 873568227 613544497 821013209 252009755 177064923 75917847 987219783 343103701 128048249 17613301 831352007 470327629 947596053 794373805 335449043 565055275 290938251 910001385 373378539 126861147 774756675 12464149 462497435 627011599 761859627 424131437 682919027 784966597 939703737 824518895 548900369 805526081 891266027 422897253 539827991 248889745 567336521 610797661 781926187 744792837 865702621 818264881 995960579 535391805 900587331 943961089 218000215 810607131 655642517 936505781 760923115 997517261 113613177 747810301 516045449 359347655 348159777 738357843 590321667 447508675 166450239 377153269 875915571 729202889 78058773 403923947 835148283 332133921 544654183 512178697 73593415 313388131 220494723 204845025 395132679 733353833 533755201 740166361 110212405 875937881 618162943 658401303 516460245 911607453 203251873 589259659 697960945 561436395 548618903 507913967 356997019 763966015 423022295 509315263 623047917 589677787 540444127 496987463 607203339 93951311 642434487 612757399 394332955 351377261 956827881 61086855 400340307 903826771 598729617 867509175 390756333 588989537 620085833 727670413 43470633 448263241 161302839 41196349 127405395 915000315 291131661 347835325 760144829 388491957 701924863 58569935 158513089 209266939 833331401 834979577 323962305 569289625 714975157 168097163 399369769 256228003 78726545 353217953 607854185 211924599 709490353 198489879 50693627 575748791 100413427 256604569 749646179 450336593 147962303 343296403 280117035 328716151 156098821 223230785 651998949 724393641 356212791 815816099 144171051 859510695 928642133 870187901 492296097 800843135 932967909 756110437 554374125 694092423 770570231 957825967 290189509 84305753 612161313 857124733 672278499 446135769 929075839 800684983 118881287 192011829 605258425 365490959 666085885 665083361 422334203 315693051 584848791 319061657 792019967 363144123 811420335 870684511 413219585 933554519 585095209 116624771 927516359 774625953 75852523 971455895 552960671 261302577 383610091 78051959 914660705 207165799 782911523 493624905 484604523 986512235 689873299 37823351 133215393 957296687 45948999 91603895 877637491 389265511 310418513 797619973 180402135 410362775 961706955 354014373 179031373 561613061 361801177 162278947 422897879 210090691 59558305 565567059 618458119 930469545 531634009 625679443 308293619 322688855 951433019 482231429 569124919 935765813 191378567 240253333 674892283 721036659 908595339 35721593 982192875 737305865 435014549 579317359 741925953 73048503 263506945 969968631 609028537 984332041 264603953 301283295 101296281 36608329 602877073 405708603 615659697 149271701 770926225 403574121 517322581 416504777 512978349 413296907 473979491 511419793 440359781 808744719 975569221 238541147 897556293 539014569 58193893 279980127 359096287 319771475 207227323 359702685 829832141 389263829 587922631 514429407 30659763 326687031 189136523 884337845 998627385 356312785 452240665 641574773 245191953 688025661 618201607 272470849 916555765 544797281 216182129 182781187 464304299 626986087 927454463 238483559 838493945 891560133 816880351 590692073 54165939 527944245 832240325 247956167 929178035 552562367 478936819 613987339 385649373 89383597 976254765 658452355 271411479 246060435 783446467 15424969 202605913 753788749 453439113 952300095 857841815 607357697 315718111 412410889 292692185 172181531 615792553 401852697 684110885 453432141 834711641 631713577 213903 988184981 170292193 935505077 859503153 51025207 153896641 714033163 819914799 553637055 585114881 177411639 760393137 31309313 32392493 28093459 637403113 29159707 947819357 768718143 47987731 573163375 567706157 47831843 527656559 473554601 707873221 586528239 613941065 342405569 340725971 503103387 992734709 287714799 42143117 51882729 850209225 756023737 369770673 969617503 989443881 201183725 101888645 710580559 463728769 375963803 448289751 430779601 488265537 335756835 331233025 373099205 146344677 293202985 763346139 822041809 395773935 298923159 16771537 676167529 888881383 124673697 885520589 787585731 82297697 917208007 984494153 911520737 727012599 470827209 119335743 281239945 601165 319967415 631333433 619514189 625245195 134590435 548860483 649746051 540235235 870640361 697145333 675283279 217733521 954642863 911310443 545151381 230120917 545244255 229894221 964449289 860604285 480577135 175038153 237978913 37774935 580130715 457135765 566739997 783798335 837825255 27031279 410903559 915666457 567021983 740296349 713581741 424784077 271824983 806775023 445127593 63292493 310525419 946141369 864934749 78248085 329093249 467285851 532594157 269005477 315847813 175358905 1835083 285243787 566596009 462036293 423685425 939111253 392738283 279405297 588368925 126917153 932975759 140703295 950200921 412367117 656108835 833166387 861125619 586855239 305436791 882959451 451360965 462984447 261206955 342268879 420850543 870016625 859080993 207676971 817853017 509812447 487838087 607779991 510733491 192102801 462933199 469364929 917676919 591463131 932204345 181123551 959953507 56520985 760836677 136426415 328802047 683531689 793182659 34682745 185417117 511172601 127207107 291944199 123429461 699970171 111375525 546961845 428792327 486570919 738497037 945416027 799703387 529710335 982134245 444521829 623013313 181388817 462316643 59833791 34249841 253536107 808407043 586740189 528763243 671182251 808962695 660131265 982610555 924552815 910548991 545186031 66567211 550807909 144381885 356773749 520426713 731541309 584821597 415855339 115339171 741442227 406121925 88229741 448026991 335596937 479727647 734366371 285686257 359198601 659175139 411661499 122689695 234605443 450848457 306975595 288978361 320644691 26192341 553514737 820518729 82410461 916435545 672282389 716534303 772712457 590181347 152753187 520274129 568416201 319753297 672620017 153669315 748341273 987936969 522267871 68546841 306548475 113838263 181202131 306500551 315566713 669594319 767908921 897973891 454147491 941650443 292840203 803456973 309858711 253527729 364373445 3586541 986409075 326277453 618135659 100581879 556445285 867097525 303576977 112766143 779525279 314321411 306874697 576464871 852645465 599617435 209534001 307683543 845469653 192197163 713789553 320319425 61575521 277732007 600765111 363534489 336221259 200489033 537271611 866861603 279429617 983388569 933490359 142436583 412637363 732208991 61902195 474009651 673494779 356960179 365267007 986076449 417137723 687044335 645148529 163921297 983227375 399866553 802153957 219789099 478549145 191701755 169118209 444850271 474708673 687581931 160910519 632479589 269683709 68874757 499541627 897300287 92534757 190281485 695860297 506699443 968558873 35446543 53702315 383177043 737151047 572314719 900699311 908406903 440306465 709255065 121469673 874284095 989220191 203558051 500128887 730270355 518960069 451459497 771793921 968625185 308263707 29571101 993741495 949772135 583911735 926240701 814973771 749196191 14414319 971675021 734881533 810217941 25804329 586168025 397872277 379978201 731944141 329239095 774051167 303330625 293194191 896025727 728266801 474104945 815876903 831543771 27467371 544041869 915918297 384701617 18353395 3717513 785561325 890721467 537822519 842176283 407032441 831462385 662998059 664737219 588125333 367505819 215248721 81842379 643926113 805760321 600275373 605887555 81802509 826419131 886677711 514836481 965767365 399590947 534785995 657241767 710555591 547826909 454674495 698140319 177817941 875353239 955693909 545511189 658447033 584138565 89452727 212738821 593443395 381192483 413603741 937889837 286475345 578937781 927663045 240639511 984671299 84452037 368158327 24954129 781476227 198792043 561049983 130500405 773079685 250902785 329911859 824857955 496220097 217450029 330652277 979658819 431284923 686653915 26224037 726515013 33821947 916281917 583999927 50544035 492551959 650423249 905903135 364517723 15987623 541721691 129665243 527383605 736179787 746461671 878036849 927393987 273663155 778616265 274506225 235366749 206858123 81779101 710318063 336977187 361334675 473420873 201802633 558814461 825793159 559479545 335130217 762540187 351691319 836392991 558341817 443854709 582834547 381320827 217214001 757539789 808886035 834305037 33106193 519069609 575459069 235953443 646453531 334653915 430689051 134495571 497557153 18655481 623520859 866902135 632022905 639283303 960407997 896575923 714689023 736494923 180527421 291350645 267456539 30545299 978486507 557478767 472158267 749021437 543074775 823484321 587910229 956857347 56812827 187926859 563639527 779437297 202717913 822750461 426961911 819327703 802535227 736489097 622569491 384369291 606132085 325392395 340646229 115772847 113509567 239745769 635583061 238675885 349835613 302946509 853900095 822006961 778060695 381708973 752600253 707290295 547772611 202065347 733124359 972723327 164536889 697226391 187729629 774955661 106339931 848893427 281841795 834017335 475889043 795065323 104570055 348892817 32359253 333194973 151035903 706960765 89695513 318408297 682878733 192038563 701385571 668911745 966662227 681974389 476939965 612291669 951663297 970437927 386584249 639367523 575678667 427710397 702331121 471043183 341644661 494333695 64522247 372863621 328452927 570413179 214604965 503208955 452306745 791417739 986311295 576825193 448052733 230725199 584922957 846764217 47082659 489802415 240258003 962768401 148648919 543266651 771026651 510537963 285625539 128088269 977877047 522662655 680417313 720281153 448657857 429947733 270514987 386480325 701141083 386902837 320431787 405646885 518825199 767808311 974050285 103713787 388078961 731658805 488172489 71041189 223621593 87030867 671570331 737216591 467042603 940034559 566188107 632599015 431415409 366518509 919838023 705790501 312200125 364300055 394190213 514957963 666063145 941978565 36097667 96619615 956377047 761960577 885451081 464010675 993511665 21495839 831919969 577802845 712766123 17148859 516875239 819399937 950573373 284840891 504103539 905715715 471804907 140889801 510392369 328156823 224314879 775815387 966429899 857585587 73405899 231900205 241908603 328008983 319831465 985049155 145839613 347011149 525976315 744299241 845206933 162726309 829682477 452704563 347493911 846622005 341632173 788193919 51728083 703220191 879284731 598708591 636881325 681564237 574036629 73737455 28414471 394446827 305186823 750229815 342195665 579217397 201294051 357179583 676664449 14605417 135734211 505174349 880329237 403705105 937760841 529539821 663173651 273220731 391089695 659614965 675308171 642599169 482080761 916510975 850918675 266431427 833609361 906330095 850631109 476737961 104198567 829033203 625767501 58016869 946748167 706210941 935893719 577555819 456380803 125065549 113922327 647968511 848810485 880488803 602672463 152194855 403080255 351326991 15875395 976376503 896413259 928413155 318462273 406134851 456424717 292512699 405445921 938590507 890609023 104951227 940554047 670001819 254553505 900983633 346809733 245319809 585422207 443896113 914475613 513933975 698119723 465262679 145043903 284924761 400933567 4088071 217611817 360202005 213896541 214155725 459674017 645409493 437092399 137634941 233271991 47190391 793944169 218730803 177013633 897459353 416594757 855290197 461373595 486123937 162320643 693808269 206817323 766887107 579466735 885142483 500520163 346014197 862749019 658485855 587430133 704347641 459839137 24319671 307058467 801530709 300774947 970873255 202110897 160554331 66572365 247306563 213207407 951784737 39058063 530866665 730287 593819785 732617315 81975611 65331285 966705981 707168847 91266343 654183107 875767209 663365337 53805279 360690409 218299401 100807061 789516769 41833789 493287261 65921053 294182131 592223935 36484713 384709395 938013981 627989489 279751363 830186275 232527543 663933413 372681151 112742397 390116955 813521201 206998399 470195547 269127149 37240049 493558765 357262337 883352987 611737547 9733045 938277049 212671705 591388401 944704339 862546261 474758497 289302295 386509829 572488113 862106171 869081977 838220499 52745387 712979121 681740003 16596879 45434159 712429397 879681181 908326867 670585139 313846025 796505985 79303161 857754795 801125355 449598187 852923439 945665693 507895405 817205189 432835429 495133717 925966911 796562809 330220623 790189345 242102111 939755775 452043377 470303709 671750927 790187477 311814417 658520939 435658463 833693443 210212929 689477879 933734819 234379285 762759641 375600817 560858739 442948131 791608953 45341907 247029175 420132041 33345161 256954531 13843995 935940909 185831225 24263015 873938833 794965761 512782721 579172211 509765719 530681721 77891361 90733857 261893105 198153299 392031141 290322899 190406699 321741013 251772759 510714101 350627355 880141005 783468629 105655031 570012955 240590739 567668093 80414293 620005327 415765765 380272501 182672527 534395685 443119239 587031473 500863281 535424847 898030603 784489319 692656335 918846669 242877699 132590231 238367231 827292511 219893103 301040907 709904485 776259349 198061271 264506195 104732589 218446145 669035335 922258373 744798343 14992767 180684885 98411395 783325615 554179251 711121443 579825527 177161957 541971467 162486355 315284301 203453941 803253755 725582611 143464577 91991473 27737407 430299677 838331217 873962229 578156507 260560813 836192711 111433631 916102169 20008841 371957937 218696093 231682449 240551425 422852779 623899615 683112479 69423849 847729937 144343393 774059749 432166561 677827853 696556579 28766031 132599053 368202895 128215601 737340435 273721501 136167761 229626015 716980269 766071113 722409937 509958275 242084321 703678347 669837911 790950401 690898875 917929837 46698997 855650117 9220497 632720251 611371395 488836479 202252155 296406475 367294625 556747755 78583009 762542335 821328055 490693321 253131119 912367929 465722869 38453863 390083095 42068777 969062995 114319891 64790553 682840323 631053459 148607273 840509429 120208265 333717307 713395725 366259321 915149057 398785949 38057253 361432507 320490037 344255697 261703145 486733333 338878335 581249719 55068109 473661739 461428669 667496181 164734809 530260715 639215957 738970111 189588755 547407497 472551731 98757131 909052559 920617343 97561039 770360859 891730793 823992981 246192169 300638965 203157055 687736533 426051781 364804139 514091967 736255633 668954289 510422291 421191577 15912555 475968131 29617105 609672073 834767425 167513949 196560457 90254417 907159109 5009377 385102639 998679225 575252455 843441983 766672633 77576341 889120483 571677229 459807975 817361345 76737089 190585321 930588675 480971035 137661259 546832185 645275675 379582353 857188501 47042413 555391691 531477779 310183165 995567961 326833775 441204637 949988517 785192541 629297969 314546737 24741369 421782877 233548801 356334551 992795313 28713931 277648793 754253475 75800773 708065945 852613495 98093745 372452731 226113353 548507877 255940383 448584799 532486879 664744433 104879387 996411461 923134697 327229557 292990679 128228427 349648509 572087569 838834313 871963347 161210685 330349613 525939577 712348299 249842251 721423609 880148205 495794023 924778327 914553967 348876603 401476513 718274967 471097933 170300089 339709121 164925641 692902939 549872333 942341263 57437235 880085547 26018527 265095203 410793893 708242069 792013153 84615895 837482099 308298297 282772687 450569551 190691453 156864447 831436971 819720827 693242153 880995479 85903997 781097097 718434915 836947449 886379737 446442491 761338789 606475237 201056347 385106579 598681321 795608103 549617825 533121627 303545785 918334283 424041305 916647083 70919203 961360809 411632949 235140383 574176185 372644965 583095021 706832537 901720735 100605027 639803459 661771845 546408055 834509143 508455173 181008537 541676913 776658615 923195393 734820433 952095043 772871363 996147733 301900145 815935531 814233989 844487967 654345285 711257073 315261901 723583245 214903905 580107487 64477235 880386257 57169315 162733265 987214357 142965091 464143661 163357217 514849437 991752389 761069677 511729845 101339581 185354501 5429781 632077055 335351083 234653489 599806243 586408691 898895207 59942503 822270941 12986637 467839163 54422215 74952395 185105751 195824693 422452347 739503555 930822239 671750319 33465525 202804451 393224247 307029449 375853745 342229391 569260931 210863851 532521137 630372721 394525797 113015879 166710525 188275069 127410061 299275217 853080811 318277363 972631857 699429453 191860689 513385555 138072593 327645763 949913109 654206061 206721135 530371841 302267423 234764115 10263837 971598241 71358305 398774113 132994159 890637315 809982807 947290685 286408517 742044111 92456579 997480913 221453317 961453941 899401583 378328915 325454749 410162477 905830315 562961983 746318977 759634937 884898005 922614615 64828851 580268191 521253261 408381867 420274615 904585393 995285629 551417229 342271389 548589959 102021975 312299419 387699191 132420417 954772951 169358263 558782441 368720839 897586367 917382669 805487125 201416135 597114073 307263509 517780395 96068543 60433397 231534983 450402147 186026729 873892849 83727721 576302711 453178961 753784749 235443975 725283247 258056135 976894995 797986037 773759579 948863203 668882709 158412817 701881169 396659715 25348271 249802365 544035821 497182033 742264291 496662695 493428503 370673087 423599035 269473347 859684411 664383491 5903431 186222923 700163155 258437533 624428453 9799941 576687835 753766359 142475509 662047487 241996505 223069889 581671265 14045705 58726875 143113777 512043291 116595011 617132281 674904265 281427041 167291665 179045329 540811507 699297903 745326621 632354695 403486171 182397589 178555997 566729677 823566973 416407331 702960651 74945493 204610711 269189745 981260975 807753055 494870451 944398821 888789011 133952435 31002143 16071399 308663627 403099805 412588021 946538987 428612019 596326771 58684437 647272297 889072113 867720213 687836455 931617509 741400303 415656937 857308315 632652265 299318499 781669597 512520107 171359493 111580233 441907303 599991893 307748055 68040421 268797573 967423073 303445247 686064835 83733181 135527521 45765415 144682807 87905053 31105197 275857411 504502751 129847101 255288933 413333579 94688669 34131259 526244465 463893955 853655967 250961083 509148289 526520371 24972887 201251823 606977037 271778929 464000643 748317321 771420503 844529493 636650023 492888265 293681253 823376577 280540561 494573175 166328841 176148639 917353553 487443935 461699291 457630179 801382983 978615513 672388153 687491461 517642389 781081025 131218255 273492873 424730793 234376831 962210827 13588983 546765111 914791809 795303973 638267365 485953337 863827133 849233437 405204075 285406967 748669103 778265149 491580331 498043129 218286435 70825877 489416655 507976983 210096481 958188283 487913995 797765483 182678723 492732435 864377751 108416347 583938087 406516801 31966391 364754577 189693363 640275895 142580661 361810435 709514771 126109807 697754081 454279917 684303743 979924265 247843993 159596499 954734775 114590825 914360893 94472577 334758909 70897029 937782073 524773899 27004965 372838801 796634875 474349005 983665023 250181231 216438019 457473133 748249837 234287559 645236687 454528981 923595477 535931403 803250665 493493053 459899941 504993135 903076071 298400797 284751187 647607031 958505057 533869371 302668637 364119403 168391417 836316579 310142155 253837401 759320921 613394345 102368935 676594971 652957493 96418795 92803979 72220113 264723013 758210635 953833621 76769891 476568397 959356151 612547179 635218817 597219607 379240801 592690745 510625701 17224053 208252745 739607225 77707787 830436929 932472239 270832421 492402113 356579421 50595297 388255815 378450067 699774131 879780981 362320235 27065371 79248695 186041413 13173097 797722807 990011873 976900471 33851293 405392531 806299061 510989429 737433327 764394653 391780797 130088691 846253261 972839821 414776843 535687409 840611373 538227429 581406905 169912241 516764301 779483115 19327209 357687997 796095731 745289393 140070853 70785773 106044655 669578509 686713217 513573211 618366869 779276707 712197719 110879341 256803461 73518807 735124359 263194831 865445605 935010269 649000029 858645107 14871649 536540075 284806953 850750871 273827379 63120385 923942473 459136957 142253077 26332265 941681949 909741237 446773073 84092723 988517649 914805651 753708979 514651253 12360341 980364207 794430611 799987473 732564515 704400817 896496079 213736369 372693823 811978373 79142603 253050817 461003635 480388189 600540023 962280061 243851601 615898551 957571913 562525155 340781939 993931863 496245311 13449661 253946747 513359947 824447967 614168729 174972693 425028835 189109817 528675537 839132911 340906431 238449889 616369541 842271177 368036289 443506679 341242269 910489441 441525783 470900001 80245963 319269763 859637557 544320139 899282051 467403009 520672725 650590703 18585865 35056309 677160959 257037705 677172323 678134913 298281979 118422303 630217573 457794639 989673313 734784255 51064483 706717971 414262795 760946945 255090045 36043719 315615007 885940609 852230431 443770475 466545671 242358375 444539767 317735179 870285689 959473697 446336063 203463353 56501361 839870629 294071283 716903055 963486513 657300083 41608929 188389551 31988809 917041037 404825619 924929349 943705995 806195333 267166823 381418881 846266645 773820783 916835707 769374877 981266503 481593067 815740085 340925661 945514195 887336735 93834825 413492363 443240873 243646649 793152045 454805753 670268423 927587309 647883555 63129473 446904433 476776829 331681713 698516615 495806387 781089197 102123305 770732657 569590243 9472331 503437473 465494709 861796185 203766447 502014971 411893965 818457533 26654903 503056609 276300601 863350011 82172359 952889279 170741893 768751175 319708367 682730193 780852291 999575323 421416005 555727639 483625485 161731133 946735399 54804309 622988421 699212475 249229821 231937825 559948375 750345445 340341715 388815311 358438195 467165531 128183615 382957441 276495571 356338689 59028321 190723105 960526333 567148289 137994463 19167323 70578551 40461263 359846119 893932203 461415701 397212715 698476077 172280399 352068785 813413141 131644915 348019791 962491693 47716829 810303229 473960061 960229237 948318997 345132187 623223923 545740665 720918425 661131681 204114059 181163315 489299855 46579565 216611059 742193065 544815457 894076649 89983643 574630881 338049221 516922751 530007607 807171567 805445559 696972839 444433739 180277741 588995451 633554527 134106397 946271485 158266269 390245679 188249535 119706699 340613873 570990115 169075465 820492295 777438357 497972817 430085531 157524077 121126123 11683161 694328285 299902141 434787487 64669281 55481599 165487171 654819241 987221271 495139833 174544209 701713473 852211377 134159499 40836161 495497709 437177069 932120641 556983415 844243065 722403601 413245285 148227417 676118265 963106027 316245013 329900381 597933771 10435027 576976175 964470013 516930707 528442279 271928665 711244731 442800953 836765643 209687047 979181343 386223351 370013743 301491823 586828221 200986693 813226571 398170257 420871727 831732459 869451801 224385591 323667991 791052017 155026723 55696369 874862369 200050607 267615605 465634325 441051133 963034815 463417509 841762757 245942119 498081543 496976083 483569131 257558303 690261425 666163621 472071219 857669363 829897011 724280649 164925465 497789873 893012551 953668469 173535195 263854133 898470133 157192295 323386243 235580001 243757959 923053541 517771231 888951841 403422609 407737919 54328203 124303461 583568111 267947337 551794147 903846953 970990791 290383201 847756817 720976237 274288773 682424945 986040325 730030655 54120155 977368803 653266297 341373357 44087495 716643503 8625387 724844755 757693069 927494741 902676643 717157331 509716153 173750233 566413747 156909273 406738719 778222537 419611379 29933333 286110173 799082555 856537603 166349251 23512661 890892751 880355915 869497125 792942133 668705963 154604027 173538691 165531247 438203261 890476811 229024817 413215297 565791355 565334077 961897609 142830639 934091875 930939927 1004783 358774023 149005179 281027051 605886411 28259033 918848659 223681233 721784463 889666053 509050879 123738793 391942327 644765231 75991711 93418777 576290499 417315649 745114839 346431637 88323391 340619887 200807321 796981075 717544383 207732537 267748695 61044821 739791321 819998305 366728979 932648033 799476787 683795185 462252367 994244873 778853747 728394561 170735903 204960163 783151441 942880747 434503443 113536083 935895937 680822997 73095247 407095037 661491915 745488425 787846517 791702613 725746677 741502301 843408819 863571665 213836501 574641709 947780035 492453809 363022657 426817437 808952033 506031103 193167901 572136185 678780885 587303305 226346069 110011093 840361961 577820139 841322459 732385293 960190969 574690689 764181669 723244743 696585053 468149877 212466107 16212847 193880321 948625335 503770147 858063287 124533839 439048705 137764339 728306077 719042113 355935953 849272129 213593701 528170065 409893233 700510515 406362013 383550345 332283375 805704433 259064853 554261879 610938405 472505005 717509357 145110317 636846771 442550435 716190855 153110095 852765185 497017363 480496529 519148031 498703679 714756171 154371581 952360429 267018087 83766169 813571595 598396751 652334135 352028761 723355963 772093411 881511735 223504879 633224029 902205679 147431609 249678275 386498945 333554755 526578389 888605767 20108039 977586483 9633899 908351479 45908627 438947231 244352547 322816597 857537295 383049453 264913773 882568425 578640561 427612937 292937089 792677449 800252917 437286765 886610527 834499339 451694237 299268115 717427667 880208085 157836473 167935109 488491625 845606735 481302939 958918863 100033657 898508587 429008095 182012553 593072935 268577573 315668331 474026961 777059671 860233471 745469033 77381707 825256637 49144449 512142417 405862951 469385423 487191167 417670619 604339995 973219791 932424661 746718989 794780517 366286785 971552355 211183155 822424267 684477819 887416339 759602401 85169565 708651923 77222359 688877299 780330417 894824295 35089067 755822993 829793635 883971105 272010897 535563809 961373337 668595 810134417 838977373 860998085 386254291 600545985 310346813 661948121 95055105 266125111 480062215 282412631 422708103 649915161 423719495 523792963 80291443 420192399 706695635 586033451 661918879 457798859 55441349 533007143 814437803 339637001 849001345 832217813 808433407 95905675 47148725 238432345 309792973 775317657 651853909 375220323 972350729 732047241 770697627 713233193 818816631 595890609 155944719 118230889 59662239 998642039 23378809 556143467 609603023 45889859 478828785 919123451 999197729 148822665 305955281 429100399 809316469 899727041 811582911 652407463 344689267 74433135 148347045 713931273 16699019 90509339 206140857 892379265 777011445 797870939 45359223 219331721 606269619 233442245 663517603 415679261 901392011 790994943 279188553 448146627 160752143 425658033 736124605 679820937 300406423 587024781 471276955 4605191 137233475 64936529 87223497 167373659 797544699 489306041 900476531 729848873 444948333 599728789 963410443 560796321 403234327 453889715 978389327 990522745 405955635 784244209 623038275 915651057 287972045 147559215 89141043 323155147 387625909 695686999 100709813 237385561 294499459 124646491 388071331 696951921 503776661 771615289 696662817 310076783 634399511 947764717 591868573 432036665 456467445 287540359 754598345 713781569 707951851 189237271 226327715 879995003 355482999 594229429 721234033 893950053 335011043 546476423 684132027 17346053 575115071 861965749 180676185 257823977 399010401 611665267 161523813 400461865 805309163 559076601 435663683 712933731 474153287 958375307 621056929 399349179 44012193 189049969 845522291 264115937 34205173 728046081 453943029 284456461 676624129 28706451 446455211 752077049 200336719 91874183 886219103 228876527 862183213 752723533 579865897 830518203 777762997 934069585 935690341 970588339 515204295 665003281 621947315 805692343 478026251 899354383 648088581 225459757 941707761 314613973 78953867 133797379 442430899 710821107 254944963 910204079 612940111 418641415 772614001 180762669 874337933 451796401 921014177 77105161 525188095 415313307 832341671 211014731 884313597 46201465 907868703 192450189 586474407 772278531 562492655 838877933 591524325 72484605 651556419 509854479 556163175 889447985 1627279 788341029 64377509 909395823 332668045 353299169 526722785 121419157 946789955 554934403 204402977 498421891 106208253 83041747 561927223 448592419 518851409 497536285 865575611 317998953 308056601 401677369 430952971 631061837 792764793 542363523 102191443 391266771 938317535 460736227 537847425 196995333 663410429 987099845 101183309 357535219 768471763 624277795 958361655 676233147 982136481 555516537 346611593 515354749 86967031 794845901 124702291 457932899 153983911 813962415 205565291 586652321 554028237 953388083 278415989 269912175 752234959 929783289 473634517 285092369 488848983 694986277 801694911 729044945 765401947 468195177 959147047 854214913 660691479 988648439 190590931 185421051 134837005 355289233 170999877 747464737 880294157 831541625 545443539 39914205 231218217 547037057 11534481 696653475 910217919 25028863 67160417 195748075 404435569 64669391 371468011 487699001 729857323 142679897 479308193 450328343 152703523 386413451 866979255 165639445 925733589 92700123 569066033 688887761 356960261 398582087 990762967 168873451 532542655 947820117 396985399 77665295 711177049 567625749 695993003 359532523 502978667 244132635 893503827 574844735 242092511 946205831 449137175 601805513 277649371 314352893 508409767 357464915 867000793 181018543 332147325 778918579 256713617 903416143 146176469 795838145 863794699 438277407 390523069 651968095 603969679 357039587 538391809 322404471 567119797 778572521 473723963 143136509 128321623 941275401 802059465 163433963 98212505 47294367 573932759 387123777 451306729 346222483 305759571 883376907 181955835 532167763 659598069 222464601 683192011 684539093 502953279 209830473 418885019 207049879 473164151 627821051 565925627 996098207 378076591 110897307 610958781 427222653 82082749 693229655 919486717 147848517 565735493 237416815 388324129 557034135 149409195 323755809 736771283 339756441 396657955 946753209 957399561 787645431 994137507 471980681 550013183 35013355 771933931 100186859 17971001 972889135 178618501 970780481 494516867 878560013 367470785 257645813 700989425 982004561 49941429 61422203 443892449 597730899 223838275 585341003 205101045 358979055 35887893 252144105 808613913 95357325 587419543 216646367 680749445 752347421 552604933 608620991 739278513 176586769 157458269 6098723 444271459 889764969 322480745 652864685 88742823 671064491 413886135 880800265 735725267 414826471 697272993 537793511 338805889 267681457 754505031 375736065 80009621 36508713 210638225 316408091 905516349 429956085 495460145 362006527 354784235 992385089 636126619 255105151 585920607 603275975 81163027 119433589 825893529 334116801 661735329 316816067 545265897 323963129 396157971 656212053 34584801 688681149 562876675 418125083 950912605 707736287 412736975 520992271 115321473 480184259 778759075 371972917 410961083 214082379 1055853 945376919 457721279 935219175 679408103 766573383 281670793 715768717 390741133 397948511 427338077 55448763 126177453 209780737 762442951 158097785 845094225 60323417 978900635 839085139 986984279 106771095 780954357 39868255 371818589 565784053 6970683 779527485 783102921 700835001 438708503 498425875 217621455 52367145 100351361 84272781 496196709 152968857 600488369 243705573 867299917 937587811 237922349 842431447 742547981 628945641 920396225 147749289 361476855 146990229 464021633 962127145 416355873 853765339 452024011 948399 930570605 509216053 838803521 644482327 894582917 499643939 545154257 468678859 664184277 607464497 597138861 808415925 26962329 211766001 331766867 568545613 201798865 508699645 424635273 164015505 75949633 820841465 11995223 685954057 234133375 530049419 981400853 966294977 966685151 417500265 695936093 731410255 867333507 183765069 23207955 737385427 763829845 224066551 652569189 225296883 565274881 60746803 653482695 447237341 844682243 872468691 606861043 406170437 52291225 44050865 60378097 224510573 235322315 941599151 933296395 515514137 808849261 278520761 476863189 489108633 200138003 472221631 1834539 876338111 274544415 638121917 434900785 390901231 750663097 936163507 91956311 675963915 892620753 65557421 85672269 30001029 623236639 285036733 911064593 271342415 82739237 897532925 874180583 386553065 993397545 114146449 934071897 257205083 768676669 301439903 906023489 950558769 975193657 480702813 940326069 154210945 773789885 955437573 3869213 652556779 434528561 960290007 408799013 386768277 956723397 965147935 928582591 350791981 410871921 287013681 490590249 557436391 498373109 122181475 102071271 454256005 652355805 967235865 709487303 310659915 578162035 710365119 63315417 979221257 416102869 951996357 824138365 59975699 302181089 846160293 136593749 502233161 5319485 149132005 462270287 615373071 465389661 98564363 705513631 168953429 801235319 531117227 335308735 722499985 726005899 228438623 437363829 756639427 884495715 635401675 250419919 500068719 328601231 175858837 824985631 504859555 861257829 933281653 541734913 192431861 553702919 136669471 901049689 765920133 445089375 740564315 612694869 578282745 209937689 598826479 317739625 631920511 596702641 612829615 955743057 109550285 836687973 801709941 169850385 503082785 928390975 465806629 213534451 977187905 538992909 291232421 17286543 195702395 853738603 906640107 837146561 147449767 488078517 162042609 976374443 445912099 795355925 653812921 472183225 8558037 359949691 839519307 482167201 846559017 86979489 289253563 542664031 281489943 519482885 801472291 437699383 772126495 57770735 38399911 294371253 957418051 621354353 986267247 372922031 591097365 649491555 315279533 565702205 705537195 682627429 864824731 88266183 351026849 111630303 914272127 508184313 982003743 540229633 801818783 470254277 862694867 894423491 543437903 979068011 921857011 841884647 858256363 654084715 20918077 438139123 964029393 894782867 140445175 145079865 511907439 77778425 37457649 195825361 595876661 510455287 224614015 759789723 996763039 270187825 507254657 9119037 313305133 628075413 891861595 887559979 919985517 918344279 734971391 592182939 156059373 627096307 799726815 613458063 202740297 583114283 882981371 106911693 804296229 397493519 158882779 548403175 615984937 485123569 331284363 394330163 324862215 400805741 97826211 538026709 998543227 526836583 850354495 39369137 529675077 861393423 858907399 774833531 860581171 245123285 74337833 270233769 407884563 327962487 981111131 807605883 674409153 633904375 606247387 729731579 328821537 622653093 287236209 363591927 294703387 76303123 67304039 504502027 234813089 588221215 806783127 301451411 342229423 816062699 796171359 53975481 519985477 882934499 204812965 879860589 227256945 151304895 90592981 132429929 423380801 64116855 832136681 793541675 246608337 925345105 203649371 149452285 934657349 842961625 670624309 889246189 391366341 162001893 568926723 358460373 376687747 583378317 8469981 621117013 818940603 282072635 390612319 70857173 703376047 697997973 980622257 239113093 559003047 818054293 325868161 402077791 272080375 144180851 312672005 520948257 319626235 753131447 478075645 122252883 965930769 501432873 875850155 95805767 505754791 873066209 515668705 375595285 626736943 715933497 380264435 552344733 703546657 77679573 80921281 540323463 716839423 382744485 571780783 534677571 56025431 666995415 283205551 800607497 650841527 987741165 17782579 528666843 704014779 642478249 373922109 48615295 200419591 843917591 416596305 847732103 152663875 233554059 157146493 986392905 860789537 705690273 683986265 656969705 150798685 637557823 688798465 79682635 552602553 929995407 347466783 151011875 128765949 187733511 753875677 253077223 438692607 930344803 791044851 841032409 712714645 436099239 594104991 628986367 880873381 908001823 887517607 917469481 222938391 770730847 587673691 286106355 431037149 366671941 453020303 410664121 689637363 709601267 307317411 699256741 615054939 760632791 863355005 629716905 761028125 257670819 235960459 715419771 975940175 176111957 898556097 946436763 165464071 546104883 188722081 693283923 982556011 126291397 538525487 818649777 991379107 627283425 31670265 639688335 397559523 677845157 787005975 245384077 331000163 330816885 346347045 687620883 445052005 378366459 541073997 567512403 250916919 359393579 747051321 719391297 60091943 964594757 109553441 502631585 460723091 713256393 953919683 416367355 550965465 445203079 447157351 310572189 258091113 21572753 697030871 527381665 837290415 245833283 395685999 448098535 272124969 285586243 509921801 286847255 217922137 312287611 264197645 810686369 664342727 123771425 406751079 32886461 654343945 774674609 172035217 36893549 249582773 127196141 339353735 399715447 82968177 446768357 736135119 201281901 745367269 781963755 490800503 234892199 114706885 566672285 907328023 80606533 292680393 41507805 68847309 68262959 478933173 390809303 714801725 221403411 365078609 913107971 621160855 133471855 545740659 968651033 232030097 851397501 409160689 736472351 237808489 206584137 663561393 378820961 923478503 421783459 738592923 573869171 414275671 263038499 672275875 287566643 81279375 368784679 478383041 620736451 501194991 858978523 260472825 553439889 308105565 45110827 278119251 574235473 680444999 206463955 290770917 75704829 440885923 830948177 235029445 799923163 673624557 440671727 915853849 236749433 809563953 567909821 265870857 804980903 285592567 416827025 468962249 489733509 223955289 584127757 681279889 653317495 484735221 235137435 55511205 716783399 872816623 854590823 20835919 835771019 365433847 451531117 765074143 909317085 123254339 730067307 794551475 475099301 179239571 344541419 988085035 412858029 259278889 456016443 956184497 983981321 658485463 783948149 142464183 49574677 805433843 351655801 820362427 149110135 654923609 819346159 808251705 44580121 624048753 629043527 905125825 168777777 616603945 169375163 789349091 659700027 124057333 152794697 661040439 809839611 716825047 967777465 226095203 229123197 67992403 586171805 419980305 775517717 421357945 195640141 57856751 711525473 863393757 381711593 860368315 342013507 268609183 734759769 387149879 23702249 122952035 755378765 758805037 711578309 308499545 458197821 717336687 348978837 269045561 25669739 443952597 180950621 272972861 104057821 497220165 315419755 3144495 324288101 837970855 766853711 447568475 653527195 715973871 829166057 709200279 638049757 175660309 209718363 673697605 402955607 821710877 35805971 980270917 281143031 468603409 294334661 760819211 151526517 244610563 944710765 957911435 309059665 106957579 306870349 461532227 719632597 13391695 343234805 351416889 327035153 500498169 302923317 966430717 111057883 247381303 528448557 722594723 739134679 617631561 630357057 960808907 695520105 949352301 841267227 135661209 373191109 780469229 813090993 71758525 722901471 173416479 417051967 877019247 472266365 135378779 784876617 607927401 261298209 496251395 683179163 519243509 626329633 707873409 256882249 509972703 502328209 929212489 948364719 367542399 156355667 858383571 461176435 822805169 512889359 262337187 692566657 942074845 320215863 633456195 662293771 497429233 715107327 532112197 669394831 64073827 201842027 354707777 433363153 630392625 765188675 799293661 380060637 11134945 929844757 57568451 350542599 595473795 50189883 196773539 605130477 307496619 236272853 488257591 84164977 227536505 769004491 731493443 547977921 944633233 804638157 229388177 239614543 138915109 854855509 53458419 77902811 857959399 368101791 709067585 370780773 206517529 83409337 334189153 799232317 258259837 418951023 716344381 866797299 513442919 196544603 112177349 970616423 930728103 537763035 149517299 447336381 7121313 35542299 536542411 243079519 175007287 331152393 106423895 220576513 318678489 580544605 129252521 50358947 754300285 984723865 118003673 97591175 144113313 912375043 200634639 700194615 539529803 917558445 87382383 701581963 408170507 871288429 826065199 669600927 795201269 774699751 954454663 7484371 441201321 649200255 758150843 176885977 729333323 339835497 570585365 331850145 417359245 58413979 650483175 595826793 205556641 582314965 677063051 973223091 236221513 81821345 584324963 5573199 618261193 770510415 62211289 782838353 676729583 60742389 485545057 345636369 694749203 832524661 418115189 723264567 5002769 155857017 916339861 282402223 553998929 636817773 227589709 983492779 713586369 320439693 84593711 545736105 847486679 539799255 392842965 301038703 903114897 340896021 538227681 605360901 62162295 512869589 255797501 295432897 899784597 728908913 537132253 39409473 374197377 491894537 556716601 737626983 453035099 216899973 656511703 411143265 223628999 496228759 863606909 607190691 577502711 499521203 570821117 170858215 927453599 837923101 394733109 42398517 518861819 258193117 566449415 242500053 924296917 606719169 971036761 909087839 390335609 894496611 92954913 865349805 353291967 544668705 601341015 120500709 697932293 784025639 387274753 767093617 894690351 258686819 99721253 54402567 981851565 467820943 820602839 243610787 32218741 410844967 579586097 23370119 649286917 608942201 717934421 458716995 668069221 602741905 284988269 452529065 693373473 2293319 904969645 427379415 54014287 537756991 84303183 502137389 651904911 864861917 672122003 228849501 96415495 85557077 440507845 146371415 15188579 151516829 652219959 984645465 656066525 529625975 941838659 448722919 382435377 752272489 743427915 841080781 630041509 25877189 599401147 273084705 966805255 209298849 161433347 728730171 775139503 749289183 564893085 274063043 819032953 59632169 51025165 753452197 122824143 108211693 299395549 372104981 3103899 790089825 631768991 925082509 727640149 551834763 671662063 857352403 65202683 849696045 403069803 186870773 117875733 925877213 218354367 350137155 939376557 647644143 919386015 415624029 267893087 450094981 344842693 713827367 344938565 264400009 553855473 141771 863698183 879788967 957752559 248242621 950906065 759670619 877165201 794971581 98500701 408704739 552247985 758904525 101991143 383077191 976183859 430448183 648980277 195005019 320899069 934006931 611284117 451289011 871883781 458132155 818963423 444819889 454390853 386025685 367719537 289073789 537040829 451541835 636794671 435849991 458581881 867292627 326194057 723873287 437904779 512055913 371574391 251072255 898290703 406318161 514483059 864521525 981949475 956979479 718839173 37250235 517610229 399082383 465157181 6890857 21841077 612888279 520646833 589476831 576858013 665950545 19420285 640217221 629027571 670762409 48059593 995647627 637022205 295775703 650396995 446866153 752267535 142535699 427988255 478266721 974361219 213416419 69022239 249791353 662964667 712189715 282792839 555387265 401113123 474763449 102518055 350516629 429062699 595353645 640408659 472380051 945220175 331645977 96652521 819366689 89707535 940216675 486078035 413534899 634104055 66110021 21911163 673070719 443169689 140229433 954793177 865529477 212674705 987490817 654392685 941655695 330229117 402494123 571681721 752886061 225264651 317624461 687972303 910804661 941325547 880293185 691845445 455353931 458603223 818198957 861996087 546033363 242147733 909475579 89854541 610873855 265900779 801938337 146943925 850741577 658762157 5725787 553934371 830012655 172310197 398457643 762025945 753189115 57589735 317315681 244014749 127882811 785292075 200625039 533216953 73495371 763666803 296156305 935026183 789720455 114564537 456967821 224101093 915315225 192993795 894547183 264351543 423684337 18765399 518980713 372132207 281912777 146681289 67277817 558297471 989351711 635235701 619382243 134027239 839706427 32748921 328259251 702943919 857085231 145176067 57715773 363486819 875504083 869778499 445613727 85590811 521940679 649244533 22447419 550251891 820969331 405792217 573932991 737760659 168882183 397393339 943962909 8847401 147589243 623885935 657586835 272346475 918182801 806887243 425621159 179230743 163392463 304162483 331489825 166205043 69168775 109849363 802147607 760857423 360343761 191356379 767243239 877468927 137159309 119391367 771427381 124867169 853588833 828446617 479826923 867933151 391624641 181268889 583147583 951848547 843587555 753266715 146868395 476633191 617224393 981927611 16453623 676339941 384298297 531837463 97163563 875525735 657780421 922453725 81072799 958248441 689175747 67771069 599340781 700562995 263888727 950452595 208890363 403142705 153941605 580131777 894241779 969011355 737060001 571770479 771015243 513955999 8739969 150732113 139837119 177916659 557230405 885530689 324218963 126718165 365022199 53917219 349942355 984571659 986088549 94151647 323606867 977215205 309450795 175094631 400387119 493079351 251276197 80567 916287757 429500257 700124413 776251089 568279129 937546313 562992931 538108093 990079941 857922907 61692625 534774415 335816015 285741967 160122245 676903011 805822011 349075045 382280329 68632919 713053719 28676833 20361195 94470809 235107251 998949009 165375877 799802457 971639855 740187789 940952567 925911251 809731053 361477745 200952745 835411273 980119451 729759589 458808267 336217347 498341675 127582487 506620247 629889111 368995549 2470589 204805643 772936091 159810609 180832277 292050287 688838197 284111095 165615719 773306325 689709965 696379455 781353853 324822357 404161557 48501609 407291059 494696655 998672457 177375513 576641507 394278123 906364841 204035129 247983219 639103257 72842691 660265215 611246677 440785553 189611301 527837671 896986875 93169493 480826477 120893619 904104039 269586219 854600505 60654451 959882781 776300197 691410231 226942329 212928555 671273497 59600665 185349217 976073769 255774891 241891735 617037073 88022579 329355071 162047091 806516917 556711921 321906057 416351099 673648575 643895185 309483263 828519805 943022829 177236681 659942883 841929047 196332099 387254233 814894139 989720807 6489101 78719107 936692951 320099867 495257055 707867929 979961939 845167077 472544151 288280943 847740427 601730365 923832919 391593957 525340457 829390885 358561163 850383457 922237855 558830251 519775211 957355855 877004579 724699101 180324463 564751017 588437045 773858521 459219293 619330795 504797471 731443133 697146689 834145307 56464111 637978295 770829297 210061511 810774655 958547705 654470535 584779527 46048623 568171963 127214439 219469687 43665191 300481857 389035839 187950143 662652889 76645331 121436163 696085519 407596921 822644935 725916909 443667737 37520587 944468851 245707909 803421213 415390295 898510909 396499861 327330145 310476139 94655373 94900783 898844085 734133537 573680341 235522741 235745135 685823833 167999889 440985285 519049579 957182907 35843651 97037903 1504783 142489271 775932789 374422663 565505613 647591557 524563127 189385449 267950233 171840551 925117863 327342137 938401263 815976037 711395043 230667651 754402009 417441995 851381531 182668059 462354533 492373175 365740027 757811613 501325607 513273927 440142657 707387119 125765181 61565283 272440239 958458685 621744209 292197049 370275341 841255929 188207757 198282951 15904817 672429793 561553321 204000967 592203763 579933433 616704227 271833541 458738739 156176269 967795459 723176337 905558495 904623411 604103509 717914563 194019049 388632773 112084655 975078073 132177737 608327271 352360049 65165471 588311043 444366471 314152321 800996449 886004257 956523735 161023821 145230523 943727539 166806357 612190409 98627883 352732375 825392967 842291063 976292091 378935469 923869237 544066651 116378683 94394975 536461559 164814597 243498689 39991327 946001063 538259593 307797295 426074153 539730857 341948549 749642735 921222591 48800429 498064931 171509293 421214763 40297377 353991949 552880357 892860861 506053831 552839803 553057749 985157843 728678305 88741933 745043591 125616333 975652857 822469989 330917705 60636437 423302375 881163765 399131701 199673887 167318983 932955955 817780779 333084771 212632889 55311099 710596563 371299685 568736303 369774773 987749021 940045485 150642393 675740237 963086787 25103569 443748277 887693117 309763395 125272169 753217671 18697601 608539877 619989271 370129755 915533983 389171515 525580933 78967173 616074407 365733021 679958373 35635361 338140461 332440107 910894709 957796759 686330447 198504141 972643187 980362637 990816183 128533043 42857001 270879485 470094223 970187221 106159981 653430431 861097359 560932853 976265751 935227001 451572727 684562585 416910345 409096919 837128841 256250515 704038189 857113935 957788569 778479227 34246773 456253883 418727671 7712687 286724831 256278335 910496517 897631067 332042345 759097673 245820329 646495597 279917853 98830477 316724561 270294429 663356433 818023941 432732659 36724331 533407325 407980537 123048461 191848993 254724131 311007473 732075429 622875087 939209101 35450565 549578059 341661771 174873551 305481103 910819603 440685881 715699233 893414069 665218971 308701693 155333319 776953825 816320781 541308619 130691083 725485065 33639443 284573079 691115837 668926569 50594535 402045223 767434683 400298883 31837763 463367165 443310565 390013991 554983537 340565359 295388709 133156967 350165565 244361873 861940719 545651873 573938175 106158917 163757243 330604151 272689811 687478067 541436173 420709845 349491297 369334477 379010415 265465841 969238103 579433543 932191091 377927239 452327659 846138021 717567155 596900763 690583835 667368111 774901713 988865275 218520429 482916851 605036407 16186551 173431025 920800715 494651737 82845039 218036283 360813143 986968879 719482629 959873641 216547711 451473853 101185447 724525093 755637235 561446349 583009479 784882841 289738285 802172721 363088419 938651775 6029161 884004291 609333953 820313361 523300021 799424101 697113577 994738457 502392285 31352833 55907379 525829603 519353979 749002379 415491193 948303943 107844845 772994555 362304223 738236321 504598367 383635797 649811411 936949465 804452543 952617891 294220553 316686173 849644997 358298359 60602493 168670243 687782387 521895787 794594161 954160809 412724879 917309985 724202869 710658039 219294635 712197187 172026203 440446359 342327581 870445573 608692799 770950821 941840777 650386335 158155399 567896763 549097811 848322135 489254109 299614975 571147695 734273393 822665015 447573795 925294483 996776773 963882961 746957913 221101247 363452459 456695855 170985571 792733885 214648197 599156765 682290309 401562077 196134591 62644911 302363789 874780725 732810825 893742915 737709011 765209255 331005085 760842363 585043507 333210077 497374527 700373315 734062869 640510275 379504569 182590931 810290791 774752277 760247453 734070947 783535519 578597457 172238469 27154809 797625019 959176129 664449299 831989857 617646403 921559795 236096497 968786609 541123905 134810689 427442643 332683267 762498129 699846859 208439155 105555259 995839117 980394873 776964241 558610311 581649819 763514365 441887993 492789081 999002029 11990475 4978557 406945137 449944181 111220007 365866231 503667663 694169653 319368729 972959561 642634435 91605681 535057775 573115997 500411871 58968119 469167043 523964711 18920703 334774431 655367795 251565729 40086343 274597957 211505835 717285579 157741607 147087123 732082777 540796849 29173837 940911475 66245431 259097189 626057915 877869917 388238273 88807937 480851379 745333583 15507525 42135719 455420353 590517583 32884687 801403523 933639865 191772141 178034487 821562563 190127287 347359039 851793441 962264231 797267233 967312353 597031411 745112173 491012513 395973625 764568795 480154721 442170159 181052473 736891605 159147477 238622467 386493141 331573409 275281955 480468899 476229257 37708997 153721773 794933211 274505631 583614099 532908767 938235839 707019493 709549345 576258345 538197933 618754735 675217491 128272389 587910471 910918619 257327053 973046777 676875899 662253777 604689411 572397451 866534011 559418495 921272105 569530447 858261189 451641181 906038341 434628575 63509023 232201317 715753499 803512541 732292497 434259999 108502075 821317621 581371251 246217115 982083583 553805015 545434207 382324079 442742151 442249533 153699897 444763319 453506237 724641773 420065071 393952281 194442829 119090605 509640885 770251463 140333747 326255185 661850245 281713013 863804717 240866227 55858087 78137185 84298947 923707061 590864741 122561361 764878665 896347715 6909523 371070611 530559571 216909901 322059085 737190911 587755587 344123597 39557753 502452467 905958721 401533129 276496449 498768467 512719421 474569031 920087131 926467983 116714479 369316443 621768387 56191901 234572761 159286303 594102461 985213437 2835265 627681205 301276117 419153841 489791545 129478217 59226847 736539723 619626137 528619019 220798711 807806177 122369281 99308855 646978691 831117583 998039001 876893453 425879087 83785725 679372881 334634713 887515117 549214039 620065633 926637293 162923515 314788439 620808907 15808419 629598173 469884089 122883093 615222879 68848993 355729859 102570897 355167367 112241047 968307525 488502101 48275089 599081951 275302547 936287301 422019831 134608091 932634507 302805253 835896121 334632313 497679767 293387529 462433509 980574701 33762465 605835143 872743049 323586225 853052449 197397119 335252161 585296267 183779861 816028603 872115503 7012489 929518597 509822923 599473535 492274941 483897341 724474629 235345505 799385731 217373077 307445389 163624593 14196223 567312617 397730631 138154959 180807327 212020641 996103909 536961511 407584471 687269353 458604769 755697581 234672483 532744571 275349369 659407863 710069319 508394643 60669111 368834217 346471887 305781495 488307561 850502063 259770767 330978039 247420459 796664825 342588259 208472167 760688729 505692291 190994545 625063 430606109 797211981 44561955 783027867 811511399 917218403 832891183 335376819 373119985 397136601 20254865 926163687 673245753 113379269 442075789 379080881 774088071 840582475 826372527 314656027 509105389 66311575 89533389 918102705 174710083 918847449 330430207 949698955 419630121 267519821 156556973 947089477 664891655 303813171 865777283 812438279 218067981 152951001 457451381 560039551 866987315 805612173 565168317 18951907 781388603 366928555 337958113 848722671 534394539 783349143 564819117 263786735 550621397 675113401 23205943 694233003 134453969 175338627 916378585 850478973 904491647 770454385 501579063 820010819 545175429 155279619 751136831 401554275 247633495 27204549 168166437 686954185 970671915 857966411 316105317 141857775 611780867 69151531 424156609 858391503 113555621 826005001 641959241 731642611 842298787 885676689 480293199 158763111 690215251 830242419 278708847 947657923 722239449 764593515 880628367 363825443 912912665 518320699 174877145 578529327 439797703 36940203 635301827 591344917 701031001 113259919 1019913 634377355 893293583 950527939 584374701 504545743 423506931 106299173 96144895 92712359 868655059 774449827 778315665 750152035 505400139 84022829 880486209 506496983 587428535 143364543 781055281 652559459 480712257 778606171 254853581 994662891 500622041 926992137 952340685 477172193 622212921 874972127 547714601 198633271 920686815 236508403 853653287 10643823 953668885 111147881 210542419 741975437 921963497 96409197 607238019 636914463 677592373 937140273 445660367 850275645 12407705 730406637 378382241 973457283 159892861 524153827 241613983 322447129 775486993 89344609 915397571 712157101 888036943 923589301 934024517 748910197 140295669 369625403 24869037 580378415 258790027 653728599 197757379 787916065 707386979 185398897 58217375 586052123 701986197 267933947 115380123 291786609 394955521 364164465 667965533 436462851 215082319 484766037 497990863 768980023 937072623 818691119 840815909 208087801 791729177 857202835 188632031 588677315 859233231 426092829 160954559 331013009 809541335 656529261 576822737 656933609 815206339 20163885 275775593 723918553 605650665 454011663 587119651 212448505 970348909 74634703 69100005 85031781 727341107 124665645 565171929 416772549 826095 349847799 684913525 903905351 810427671 357679611 467547253 880184481 31146733 903307031 384278493 859180305 366767735 613823017 228725241 457631583 365118085 538655007 709831261 545355735 273713587 531472619 739185383 803655759 39704413 96544389 14948025 697532199 415249581 152553457 952147265 485877317 512498581 783700279 823303473 686855701 425165771 449919851 776524679 159247505 755425231 37917609 248160393 940122675 272273899 55030289 710128831 844663045 139812653 682086605 816961025 293732245 210949743 24517903 509519975 996148215 901845841 748736531 38124891 858893001 873860413 783744539 963783813 474625587 252076127 846219119 978719961 846336739 843915441 755977061 69519255 476119311 761344245 536976211 214714175 935596919 664294835 42457503 123893921 362818653 798118457 208797873 410073039 659430547 257829281 955817469 932399909 751244397 410370507 837212923 390753865 690589387 204753503 100482605 580650789 962601491 811181005 511907873 730979055 794092851 220472909 56814693 548099875 751494303 29903073 901145239 867582085 914343257 899949137 639797079 549405215 511829477 38706219 230603599 893250635 881487187 733819847 269067825 724665759 320710711 276418377 540544953 929981443 421847471 529486487 165220521 823689121 800468067 598614113 774868939 714164721 769346435 920122143 226738927 490545323 374759361 77011985 877448691 899259605 776454237 366669377 809655735 182451131 478544927 765031295 244801317 199235057 466281041 872375139 512759343 983769685 456654287 75854923 677349073 997467401 39176691 566309987 599080461 746741371 43721637 508134551 302377709 719536735 726811217 48282531 132030849 443691183 812169969 913979655 223559655 575113905 906538753 266519047 345459519 358498803 924224903 896212153 400274611 84872005 107179027 774092017 828567671 264524231 853386681 691858259 230721219 165082077 722007063 164706371 245905113 11216433 420915797 801372403 193897991 9321145 593481763 64747613 467737757 749526961 944778931 692564031 9920755 698733211 309254085 89860131 475521135 910719303 225311905 244536919 850962041 578963143 903667987 111946485 922556805 386490999 885761137 951200477 183671307 665167101 927275165 390699191 421105551 97652547 759708919 248051187 5557659 48716671 877361523 512402891 87459007 305889325 894758277 533792317 943840153 526949137 48224043 696143633 208022985 993192503 658738155 124497113 240106233 796231923 453069779 205305837 973117405 718950115 360798333 258754413 46570285 635789033 855187457 73442369 564549293 780965939 714523147 766653977 530252327 444883763 561501381 652552813 417134187 676968615 845695975 434221439 241345623 395648661 554527665 199767893 503930827 588675397 347111397 690335937 346296497 626534477 837351637 184319067 185191933 922011531 47802967 673079169 639244967 599201825 47538375 400011103 491533491 901822333 410737677 747527651 861284907 574397011 675338391 942354117 216869919 551503263 828866651 405407365 671995309 604670371 846584279 929126765 278188789 624380655 721532689 777403533 805713953 929652051 386116247 693027515 833780325 879645937 587883137 829249947 381316345 410626855 621152109 440015505 393360929 60918693 903874945 262395345 202595367 492995423 277337961 861175119 913387613 823160209 560365917 847470545 649764891 442518719 836516893 614966745 409952199 666526645 805432301 536178877 676833739 271816327 912922011 765432209 751887765 248876433 556761981 905989687 2879141 494468729 15056501 633712215 768626041 342153003 383602405 434775139 312339611 795356377 756972477 178921103 313648545 720004353 920982385 41391071 709012003 32096359 289714947 857142043 418957507 457344535 40138489 746955217 607999531 82225253 288128093 747637595 62493711 385896943 500826569 168559577 154527271 2203287 586675803 543801651 237009207 576639627 54147257 3205657 821713417 111767871 87610895 69829381 516073071 692959341 113019159 801859381 94919747 915226907 893201675 113788849 674937959 529175191 127634613 851876939 76413381 360329585 696302945 904558747 475467345 174549129 242186215 846399743 729943555 530961411 826309539 55216547 75560417 444043849 105976701 500632437 622179055 229999377 396970211 862275373 123722053 727271509 276620491 487203405 988176635 868261213 973837491 478729755 367454515 232882097 964581795 599237289 277312279 381344809 546832165 841621453 722175707 111221729 764978259 243978795 753435833 260328761 665002187 355877415 635365873 469011683 376292275 16816373 890828239 320839375 472176823 782553483 756613797 219807547 911166225 525709737 278301899 789098923 657065595 350073561 893055401 782214635 377509439 18275691 674494627 802439951 203769899 91268469 620077615 854042227 259216785 760027097 14063301 120158909 19521621 156682049 178555881 110453977 393899993 67958041 737931045 380540665 18681357 484762781 424573707 422185883 788959335 244443595 305957429 777016965 185325797 666774125 315625541 947470783 496142093 10135825 269436135 459515039 235984111 25178129 518494923 578023619 278233119 668774029 983298731 358526733 787804861 693349229 943032907 8373419 275926127 319054947 825246069 726605329 254810979 824713955 9425147 254809593 236802381 783659825 436202935 224899179 245506159 237692757 953616267 66721711 7109261 34339869 660410467 645459293 844509173 350392355 623528751 84064591 930493055 177457861 847169769 20190891 585856135 44937007 410633109 915255003 834177525 175127887 720108349 179020437 123369785 148455647 736367859 412234965 230792261 458317915 991840209 948153821 880304025 50459665 160969209 805751869 120219451 80573197 821086615 921991623 335974843 591268903 860808667 473783449 759526701 298828547 77120511 171646485 543122481 106447623 580075079 870590439 453431021 330621537 765023997 568093445 403823119 888437517 60209011 598432939 246742987 431133643 796542211 204640605 162478307 727065889 322286097 797494759 357877659 822463585 351569155 461183583 898534081 726314657 355289935 118700317 504592045 988223429 500429423 791778249 529910333 756715377 418890467 222646863 635323349 542625305 342267191 733693411 123968101 839986161 23149821 459201023 395031651 103332863 549276111 176414057 477112015 534476551 746457167 976844591 224885803 831612569 346486569 49219489 464269193 340525583 650728461 526103391 70095741 746709897 978637495 957749325 10000679 322417393 432846311 362799765 976943917 151035123 413862505 823091115 2617533 18677771 530881039 189213519 761539725 799753591 653980851 107142275 107260889 410843711 360219447 585855633 488378731 401762359 265204871 382730257 718328465 651197171 330183315 886115293 888241695 447511765 712949591 733529115 90321779 795050501 138076627 749426997 616195959 368519027 604187411 172708577 462368149 26304983 712494889 774195483 854035653 848063155 956741167 915517735 784688773 493751629 862107463 280482961 633378781 221094327 779714973 715827757 257805913 699428297 795300193 728451353 295504655 668904483 250500303 136748983 644699041 193751341 53507879 349668019 110085935 454765591 100930997 373637637 470299501 587675097 696136907 997762533 589403023 823668789 245852869 592998361 176987475 558620337 26147073 226160045 7164415 747166623 947345133 656882295 921452385 387982101 446622457 351994255 616880849 551654903 966611871 877487007 820907565 634304745 810239589 992930191 818594521 463829343 649092817 652945811 931568839 279327887 327418231 883664939 691821417 180592761 737712369 565046551 315682495 587002087 135091427 652881509 903035985 269077097 516028147 163244907 370671147 412467541 705121239 437250499 623701987 510968527 955342921 4549203 824884635 551258555 763143177 386632261 144829683 917935563 260021989 10610191 421656095 942816889 235866539 132893805 282866899 764855811 76438327 581163361 436178765 353840755 235913067 32121147 44221779 542723223 76812851 621560717 817243957 508308235 208456831 718171699 604948167 534120747 710929227 204950099 519935079 325853217 643750039 545025881 427491839 747632605 276831345 981649911 227132921 264571417 874800103 85331755 54634575 895468883 481998357 934534969 685151611 565501907 90671903 551461549 687844743 342596267 371256619 28385627 436507903 121601715 406493041 325250913 897364473 43034507 477486885 179946529 478529303 469859995 499688079 38147913 681470587 653172755 72273397 581140427 679892691 739948523 585653419 356929253 392534105 8596709 106556429 963089693 7806921 638064519 693216889 661526331 779216235 77727523 142325341 912606039 922124809 746466513 795835177 555872713 236059133 700505713 199813209 992719931 842718245 223384489 156537453 349226645 220949735 664725229 74103283 96472077 646261551 512530035 118444665 692901405 859948917 597844285 285378971 409849741 720592057 26383377 111600125 881109349 386302335 22908033 992556613 766452733 799842005 127709155 703013419 537983983 184316753 634644571 533552485 327805729 825160725 496458189 49700533 162798013 138794435 114779885 894995687 522882873 993783179 138991665 666862543 722395985 207439907 368789209 712962371 40592649 463846089 848387055 181635113 212439469 643135043 493556033 144581479 657271249 575208929 656298091 23715061 21532241 984640119 403881929 67131593 167500627 999804773 819667845 194851813 424750915 960669583 758168721 884577623 206861267 998989415 158152609 948542253 362460929 928819935 479992377 501132163 828233747 105010297 838451617 250782077 59014289 274656823 808463847 569535043 38475089 514642861 430438117 873413127 440151409 328100843 721854267 771229957 288400723 475077269 923883345 169550973 978131365 494441165 414857303 442227133 499824731 92582979 622635847 219064083 105407407 223043117 335666655 99986141 719343399 214935625 540544935 583383161 458870417 340061661 536080625 537582933 630676221 583150265 414822869 735426017 194005965 275909169 281704755 490075289 222231967 710347813 660761011 284650239 303500643 704215035 487981253 359110811 302106445 109314463 763433889 972290051 198606297 786500747 567252553 800972237 516030665 206427321 319727235 180750239 41581101 17074611 983929057 664991521 484810071 946994567 549910969 284502789 150780899 298124743 791617583 181805575 749375671 692130967 585484071 475529193 755837183 537762713 98930773 837521523 567778093 522796285 228108079 367440507 764032511 265429113 947829239 820863191 245332857 593293899 616785587 350318957 375118311 136184891 885966899 477592101 951869661 849040019 350482707 471618033 138521145 696557359 290524847 959648205 811497245 550479977 293356593 102600635 574254837 513124391 214635403 67012035 716969081 34917083 545284211 994820859 58514593 950563959 1901417 84119673 61300147 337999741 990747831 863499363 979202621 884472305 723297643 565417697 684540431 823983713 165546591 180625701 527961929 971315429 549404467 860726379 103600461 133203995 843763025 333951221 328900041 756917287 1681637 162392333 631207857 600660409 425229289 956097539 111798335 78917895 601010463 96869685 21437947 670522575 651027727 445264129 633888687 300676441 160247559 55789013 429190509 952751473 387031585 941265187 353579415 504916333 140840509 709494371 727221195 744891437 537840899 795216921 490478585 516861463 735451875 27299021 616511829 388420633 820306965 369702421 118463835 995739815 731414939 468949383 351542479 448056515 991344701 763293129 312462013 487617265 925772169 660384643 476734841 315725887 739819735 334530665 156243359 300623685 981026379 626221619 263962389 8562977 532585419 752153507 26895879 702306423 72901639 636867975 737378791 683079287 210491255 678292399 114265715 468342743 742013787 108456947 431251119 330595287 793143997 163708217 389721065 957521209 499930477 76911721 785125041 180864847 119536899 391127927 14776807 773236975 175154141 408947291 185553837 497128309 846593063 491151895 933619825 629078473 360600781 607842745 91413477 497745751 20547723 78838609 919708169 389796121 91825889 824246519 568359453 433208971 746578707 884388817 605887407 285520563 403231543 245284103 219330965 85140767 364066081 919403213 700145385 388900071 742299509 762679131 359428113 873437097 115758743 780206581 919812023 856480905 370915769 791896547 412679119 567211831 344851413 846036347 385231513 859544811 285489321 107404053 825590679 729698143 316167103 60066833 254686867 484218333 834906981 531147231 123059877 600543281 660184501 238550251 763369257 606521265 301142927 242043827 539233471 21292093 268519835 440463289 149573209 133098811 598000457 577267847 965497383 777697945 197636563 364379311 364026023 548451277 693930807 497519817 533703069 546089685 351265597 154675323 986704149 327575351 923093623 430398317 211937379 838521601 525072189 6982739 762015013 716764619 792729263 99659237 89442877 967354291 380969397 9032167 16678103 314252381 452245503 188621347 178813291 991601659 806660869 171396969 970156209 279858239 758337801 744103575 268889775 805509993 990890001 654906765 166170033 534442817 10280175 834051637 612531533 5991955 593775675 440921987 608429917 3390391 938117971 258910831 426777861 290553993 423515491 417214717 326012339 517796977 209468505 783826231 278785563 207883741 721862637 628752431 238950711 833935041 29861023 879396093 45311823 168854943 876173497 44294599 917449963 753799293 26119499 601978549 715482595 187290597 30095659 749005051 945976913 883857905 880689661 192450001 512496027 945467199 805345061 204087675 748620139 882795507 13443799 359702083 156360375 136419519 29459207 337268603 185056443 688408533 205767803 751573117 372951033 590312439 213081527 628438955 100117313 787447143 521590795 367731055 254578341 752212729 183270545 376747837 775666819 297849597 682960169 565358221 245613181 451669 560387453 97088483 14304383 952502119 725676537 349240777 135429055 36923169 573308631 905667537 433589689 304390137 267673371 210261395 761679665 530334957 734472583 446710709 934213429 365254275 181629871 553360609 692578837 337148363 901222635 590009029 903808625 570363225 800181083 152809249 837699115 790635597 212352743 913175219 715249521 744571213 18310719 469225543 492713909 485218693 696565213 857002413 878400693 666149293 907558655 365244611 435325303 379494661 46348973 237295209 457688899 158742609 830052537 291733387 987867825 573695711 675985595 464268823 360421019 599278471 856439057 144583181 830060325 386693541 410811879 220752491 398318269 404288545 442936363 15841341 426883351 370945129 322335893 648681363 413528111 196926323 87230119 493581451 128314183 180050109 656194983 789975109 309557231 654858573 861731751 143988205 688591097 229465267 84367485 954360755 201833857 586781699 396654285 110930385 213351405 50333917 635679483 219743115 30911719 285056103 183960123 373643819 966527589 154346061 407012739 396904963 330253987 608467913 103361171 770754413 881076517 232683157 340315893 941300171 190348727 10780667 848618745 462043271 683357549 786062791 37932213 955165717 24615845 381813585 75757835 447790831 944314113 768465013 984811685 963322517 39926381 710964381 167463663 478988435 850670113 493960627 950401317 875601785 608366741 557404975 996321605 525475813 833677199 566781199 473787673 656235383 891410715 727619801 439225135 282910683 752757391 121626269 91107809 290003393 785013637 125902831 380564047 893428707 601983713 251302639 86709601 70171653 250057169 36188995 715158217 511881201 834758345 753810199 230020091 524401785 325266563 704783397 267531067 889496183 272505605 346216617 985605265 815110093 716197533 833951847 497339083 403767399 890684125 316879795 81032323 373311285 622641569 367542879 414907673 413843249 839037965 76671689 98112435 54665311 542815121 460015321 401958469 278067401 282852059 199935741 139953799 505698689 175299309 580662571 175583989 184965025 454032393 70268899 658506205 223850829 434255547 571568423 921054283 366647979 336446167 658245001 636619543 487359217 862802553 770403101 615491045 237035353 75392775 547408515 638676507 658298403 132593197 974417889 141090791 368187291 744748765 708541925 173868357 391161619 249763413 177228483 525018357 64757733 562008345 530174781 547523965 779982451 496417781 807080343 530201647 750774057 304028925 224861855 967260705 395839349 606968975 824552621 105867575 870973143 58892365 686806687 936536853 841224141 768304165 249613017 131158063 344932579 815757641 882081355 486353593 461931435 696061753 340949355 324304313 606375359 209759413 280297783 226471923 255677379 240073419 88569911 905579255 580250205 537863633 451508599 563809823 10445123 756191841 676413837 151966603 696779823 270581855 912250265 392972069 803031009 458675705 73044033 220533145 79946021 684586147 247917235 596652899 862437325 77367321 394927523 539348929 524574131 838464349 212964435 365277627 622537659 347496383 547712903 58238245 655557323 807993297 362796687 505804691 983373017 682034799 349467711 947230567 786629087 635140543 426549237 790343369 474724573 753454123 240959129 206362281 748170975 853295977 873963931 976675775 681560055 692237685 473815533 856038797 976942143 830472595 479750415 191599961 583359707 968887119 125136905 957176117 879908081 847555453 240644711 721373433 197044919 800753977 903819583 825005893 107955815 735122153 188046385 434643585 840228673 587078457 281819747 17851357 158725779 235073051 137083267 186768465 657219243 503126989 42501319 633814943 903058405 14261203 908423147 134440781 747173283 691069947 963061819 537272749 492211537 780783445 905787775 16944853 252055903 421975873 377619217 338028457 798731337 233065057 511060687 282983117 315662735 552971683 36341789 693807541 789304509 895271739 110654187 193479063 416317541 339396003 694429361 495258739 210896161 380625059 883289449 665701395 813318293 288746051 112138909 691276039 21639783 255421403 434340441 776459173 369974607 494946565 525398067 817615121 195704833 143859365 937465419 977685039 553210949 717088747 19040327 577975985 813665249 317003589 579115605 305258001 39509929 421783925 759776811 591203469 108182135 607834749 239368199 84499503 495199279 746530473 931003823 504034247 943595703 353093517 13290353 509597675 381734663 975728901 641997607 824050685 986161683 917319735 858219817 884280101 840600547 428802701 120900451 866315091 327950461 154231997 828688959 570676289 362638069 835665859 631331765 321100397 577122917 535580131 487413317 559683103 761601777 838135721 675623921 883505257 382107841 83582699 271096653 802277923 378263303 314016705 238529129 146858221 386795263 722602899 193027559 892393007 133041897 847016973 939908589 651702809 408301329 476272675 351271721 872906915 359505099 499966735 614916049 586967183 515619181 882047831 686110883 893059173 735458651 508497865 869612517 318646129 685345025 882121845 468821095 715140305 549129679 61691323 716558973 293462627 767908161 307496765 622891271 986432463 224635865 762214633 943765097 262103939 237762079 961079795 656248213 999218107 63370663 835350999 884361981 184141687 921894411 516907351 374528419 61463933 592265711 323067267 958966281 719530335 550127099 185012909 988620099 363141747 785859041 57137009 935614433 851324637 529785181 395542453 59775749 947061377 939982127 659165603 119215445 703291411 143693349 990003377 731249151 404955145 302551565 884654235 232519097 725618083 716909251 618580067 967969217 351780331 907190059 750518617 777895647 223439023 644753965 767249937 992180829 394495371 346737083 64810851 885243671 573451483 826310609 173534583 466971749 800144585 342975855 841474745 147700531 829194823 422177699 400883931 525237483 553281033 508324987 903983067 876487815 832730515 848537107 908061437 849202561 881920045 187722127 922691021 381306083 466131941 456005655 187357985 194523705 249689749 163650525 790852113 384189083 494384349 904746269 959778055 13322661 8737573 812698905 104424617 161367169 3654815 728258841 32039153 402355417 837939263 762065777 978452503 796435429 227307977 502068349 444326307 964388195 834369731 518144923 813631325 718849177 307485567 240696377 795403869 808986967 311703573 204392649 980919293 482199793 413724005 66457539 471667939 789034311 900945943 309456041 447332857 650245567 531093915 870221065 376829813 291147333 515054377 913799025 966111697 123851859 496342211 857585277 229939925 552442851 819279407 771611601 223705227 719575679 823478783 73632021 488484423 189361715 425347209 39826171 295981477 668686487 881338097 686116927 132082571 322652617 634730523 180418723 388781859 820244845 997696443 257955313 857399011 208934835 204666183 88491769 83555207 869342801 241382145 758733463 546421523 693650309 478022895 625516207 458196947 765916437 241826273 607244585 477377883 119551825 223446643 158874359 232411529 484529165 32825345 755452181 929910655 505981353 263015861 847777157 728065195 675412491 372467073 339625553 288205759 782828449 561320731 714227337 309003195 18311775 53197059 449008459 927393503 879359687 245188483 835948725 548529081 148349661 452483497 80385781 463260703 83920175 530467919 481456957 294251049 349905365 264073493 430894277 543562561 39644525 959704933 842454991 659459855 740455451 88975723 388684969 179890311 403201167 138355489 809463969 268636905 602541311 13996873 892839189 717228727 926359081 512835179 398558309 882660539 477891669 175601621 390385403 683644173 973926479 769154209 616241737 755409927 879624301 465625775 25667531 102968655 931988367 95950759 453097475 494508751 631743515 824954361 818799993 803905469 884518141 857532893 521577923 159085461 544590511 576579157 620328569 23111451 351641645 950517289 405143099 968039257 681609725 769393383 37692855 408778409 872205613 121016295 62931103 912384417 136970837 587897677 439945899 794571305 260080275 352579327 319594655 907960427 898209419 775961517 723832643 296311775 598609261 211975631 852538989 354476093 237970415 51486373 119752179 741876875 344018769 614075705 396433083 778464277 965883477 580969819 441069485 358490479 877584461 32385699 960532157 954023287 319053837 906556783 552732643 929721935 791240439 800261099 522261027 187608677 424533483 22788355 52946565 300292973 805886557 175991667 527953183 137888609 463844161 336409787 550631433 864010631 588115477 621500959 115013219 749359981 211707359 851847605 391711579 298891749 950650413 949776721 798237475 217258507 535194647 165623703 40106483 432181315 233671995 339771627 334139663 270236987 241030333 96809599 548604353 312197863 938359885 529751885 153891929 499437955 369217313 229502739 576423733 830987921 579771641 1402203 21137845 634119649 376368919 629481587 645953347 257371269 86456141 242030197 75091539 805586905 37908209 605743169 308834141 166838915 27586015 292531839 723259877 772425069 197080959 677889183 310650739 174312653 362007999 998073307 464986781 496827167 763577363 350704177 628366331 218325031 55035005 653293417 43528493 999823345 371119235 94887957 143168483 661035987 430335535 195997837 621007049 413647205 490922779 754459121 483322525 595031951 965845861 732414761 341162785 467572093 100631729 976849381 276930079 178656161 348257583 185232285 120282217 74518201 819573399 715374227 657713367 860596939 659275555 671517901 176528719 522885663 451688093 138539293 646674875 121437771 203574609 480418843 524904201 957752109 383930133 935966501 350394423 355436521 15218251 542703463 867265351 244400615 600734421 265557711 388467267 990905825 285583649 162977045 373446205 453523665 827035433 865612985 51891791 468211449 695865705 848154629 190850715 353993449 433717223 894970377 350613323 961990769 656195891 558582171 145964945 618611123 578115937 631119967 256749739 768756237 207265041 411022265 897969879 425198895 449674855 41250269 375596639 825608205 124318741 117017791 247675033 290115043 375134797 233900837 862193885 592758581 672665039 155723667 510015373 176644815 478277859 264446297 71622931 664048325 832961109 897018769 523252963 492950899 171026557 896807451 571373173 876880511 658777143 316561057 99108429 164516309 83901419 211943311 516090101 717792935 635567751 62456097 656020479 896908403 975623297 474487381 562926853 799342589 183255255 270293491 821682857 508822097 783646735 707890573 637574037 442522051 777440057 623423099 107682685 496420081 361786601 387308765 774915097 960510909 844380223 692825243 946196525 446831189 785850335 913068645 451412099 710233645 946395387 22082741 25523949 790549759 804802117 286186185 59184963 445149649 712859903 264181673 763060333 543385073 230118381 90015015 605913423 634719215 748129885 996554971 957393375 804327083 857698597 591674659 952225301 187567689 714610087 175182379 666882293 985689907 15364293 475626721 444404105 642693919 699324911 573988349 856847843 423169543 458428443 63450881 724397085 762288947 849191623 330019635 253834585 848646189 176335097 382982309 65475265 213584327 879903809 186790701 343188617 545436963 917204403 815921519 800393449 727663263 921203951 784700367 241522469 490734829 171728153 588735361 815600263 830594045 977390051 345297787 762375009 160334349 270681215 791472509 20008973 684562081 777722543 392112913 441014765 150636933 68835255 120558727 112579693 317241805 633339237 502890997 674550267 691938517 757722897 151050301 31791895 94997315 992415383 106847753 573702463 937744899 853672287 408488133 368730623 745803079 613376855 330822573 902323177 221609357 192584693 804822207 912082839 651018907 844470073 151080389 380440235 441623161 351087781 279520589 733296847 312120957 34937931 553378737 212644535 783367237 160194495 305498129 52503837 190527669 509216545 361740117 304030657 464762101 583131671 572534575 700507247 292152703 83862221 750433555 241877497 989009677 928979709 454477637 120078137 292908961 100356321 365602253 864131601 493011337 462904899 726894457 171978859 533381211 45113713 674264291 976134971 777408497 873018941 201368427 455744379 453833073 182971659 935666231 227692331 782837317 306608573 456907067 85281879 78289187 891645635 244196399 50569745 9052935 495485459 564854159 905239923 617176627 851943467 825643945 560065695 385092407 378575123 960658313 769222079 446565861 331107671 580054535 926631431 282414683 809547021 777643719 729527473 958623739 87991509 140685103 819920893 452096113 24302805 682006893 293426231 483191987 917167545 699618175 128397489 248758269 759510971 771218975 468235461 773865683 198880663 166899161 169138901 497178113 898849683 494604285 434065741 288611229 872084605 660698017 544890781 139735551 371565229 607504041 960082239 511264465 161322751 895007929 332977337 502479865 404178909 288977989 86125201 167021745 779852849 989403011 764357723 527965297 594063987 817941363 717341617 57619967 564438433 841001183 456488245 620366953 615091267 841286485 120090513 421420031 33659749 902841391 442281593 505604961 25839517 140843919 979711399 527252083 115615243 545859929 71224283 748088159 142623573 335183935 405545953 479539609 313046183 726396091 462122379 317065953 98187963 644622347 917365941 626886201 349560013 890801975 97805373 756648171 733068195 507019283 678443791 269344143 434204811 188012595 999362335 711869183 369052253 130558457 569763943 851340641 327001207 265439117 959661031 830923039 317303229 391156191 807253677 79409135 202866079 953137575 89604295 918926285 563989269 363770471 16755281 756699133 526660505 472241509 791110765 850841099 649013301 972699829 662663239 274742987 306810485 861938729 638695951 61325147 613080431 416793191 399385599 562603549 709685955 356146133 697255261 223694781 625191831 405431203 242440559 312489523 963583897 374036681 695898249 175352759 515966973 478598921 696306437 624161743 954140805 248800233 800568901 509246023 701115509 991305147 193752501 275657781 966690205 43892373 691498949 385949937 209741137 682842459 959131377 413732133 933439343 837575345 765669561 62683577 499207009 42717707 939570857 980880609 486987025 507443359 407787861 689065245 255036919 771210349 306410323 614570029 636323859 131514175 661209671 383895585 715452647 77308837 453468125 592150089 973072517 396966901 991030469 340908101 768110723 47479635 477740475 16924409 617873661 509498019 363560063 472894351 325149595 596935575 516222173 571473021 457062027 307686825 978213799 831774847 200360323 166680855 277626297 796243863 492335809 165720555 513635569 400687125 958440459 884631285 930221885 701336971 617693103 494662347 408741773 87185365 717546885 63102159 785220829 764664345 939799531 559941673 675625261 387980739 136223941 101312201 240669833 737557381 49988229 895918697 224513539 544928349 445418269 744761735 815679671 283004047 723608847 940573291 403815619 730556071 173283933 196500007 891279445 173986425 244580761 183220627 658547869 401826851 33975513 287860815 103094487 234643719 198405305 828243395 95227715 347842771 173765473 170006047 874368047 782558841 258442623 363258717 43307241 358949175 396313929 264426041 162292941 565285267 972626813 95849281 672019519 771461717 811711585 770704833 939312037 44041109 179628229 628524241 203878519 851976621 84907261 792398933 904469545 38238785 991459305 392928243 863457091 487256895 708290541 428777497 844043339 595126235 82111993 379895557 41544405 181931407 468552325 311137713 610757757 528825123 402104971 779665641 812420065 167762335 509730965 562667069 45290927 639772507 592111023 126773507 118302103 585428721 906495089 683779935 435812693 937996359 810615287 145411893 604175787 823992199 261573865 257196345 601807713 62338599 80956021 60610017 691207755 589128163 686178641 636391021 916509253 114502079 321927867 107084263 260042285 471626503 289236857 821979165 23698673 975280207 881638107 583426219 286037633 712887413 465528757 250362861 416465625 26610075 759347559 837033485 651545339 867501101 268917463 497710589 919881711 582678497 226182001 23105137 418627017 75050675 289067055 153461997 563982501 920933865 749809803 519300281 631192481 705028363 936125327 989761507 757343211 473192175 229021383 251572293 422246837 881259699 708421451 446566015 259693365 992374969 136206007 151427321 853544883 526208943 178598451 638932709 699936885 762774409 944913773 781086519 199374289 819299457 20522395 233533363 985267229 511489565 777023099 658337247 180795071 188090411 940692309 839503885 370070303 934048189 506883573 761644117 721888175 53043247 263395761 119082903 373298411 739242533 243129449 524372091 341463637 498058893 236767617 425292401 127113589 457931163 318854379 136455345 770207455 489434059 875274265 916579133 36959535 986761951 750006541 608743899 422760963 2549991 683828043 524165405 882731273 110144309 528028897 461776217 71041267 442369893 938699623 239474099 710281337 912597597 398967033 666279183 274405213 235041097 984912191 308795681 869227885 199512219 250697321 391281503 452036471 267126545 638363177 84859915 410736217 183125679 615005375 102788907 557198321 158752193 629587441 705852815 116535341 464033755 986177039 255595987 505615871 402847451 394666221 681153875 329777247 268028899 9001195 18403641 855813967 45414495 15515631 620260727 882214109 324961031 130981477 257628611 100657175 621792467 160691783 344195229 968613915 695326217 50590737 561200207 720766727 761755447 950688713 673448423 139022089 722170413 905291261 571681855 972559699 33103627 782635205 782481655 37207325 457428275 96101053 398849401 329263787 609893971 430356495 999988721 828364869 665505631 476945253 900821083 121637185 365983123 448681719 167332725 13705461 473053041 732733827 746701767 604032967 167161289 171200337 751573667 386446879 285721771 37692203 803339041 929272687 265585273 267269485 383183649 35593523 870204113 972230385 617561163 817240557 910028197 215341599 468696335 930862631 236875813 168227811 461179303 861241201 338638285 352015543 584188175 286828905 965270885 916554647 698073621 810279087 75804663 692623625 790005829 669561837 482600919 897295387 657997047 263595733 972545955 483481957 118084175 954687267 786031419 928381955 921372211 462423449 977595601 447520415 229975379 494799105 776377301 133924963 605880871 190163243 381799941 950654471 447844335 865475061 756844133 430261449 832030645 245674557 751073859 116005233 190927689 256837363 16556079 266178891 114617411 393668611 743308553 351325997 373074177 813820779 687620851 566548087 270346159 600330285 751566939 742220815 278707513 299189075 873800435 120985443 329093723 643167469 341777595 973220201 403188885 79963417 230500083 48678813 916446509 626940151 392886057 166921993 438395443 20948401 332794419 676162875 836355969 439203193 250575147 982151495 677371321 140526731 154033783 530593483 53072191 829183529 96861377 19871985 785658693 327097757 377714173 300813667 576139973 457187641 247706731 854400345 772086653 356057429 736148365 457948307 73703671 99590999 85647149 319204947 966807425 160132263 243928163 235951723 586237749 419870137 500132491 601949233 833332467 83132677 810700357 636381057 452497763 111140367 723686531 290902979 736019959 911508065 597790069 66904805 892998627 367179915 932774809 652886619 783227179 606575915 933157043 16259111 492707733 39061473 31521999 528891853 10059187 595959383 376938817 245268317 148413405 285866817 383943591 648539243 305701171 149441367 507157731 33798423 739107997 706591325 623272481 384289029 841558987 233126427 389634521 980097637 679567925 563769191 130552003 70503663 427170845 786572569 647248101 809814237 274343817 195618067 979874955 989618681 288017739 664565055 870538571 529703055 746846715 17775249 471586047 126068853 90210551 648937473 923280075 376047627 270994795 719481747 750103069 112389431 250576197 435236687 507743145 928960615 41012797 943469131 768379497 896817041 536453331 665773983 303151781 664845619 260095313 567786861 38424293 785231699 388371655 83266527 468421377 974395009 305221131 968666665 592582419 791691985 346852033 981351299 749142145 412825315 323631181 605594673 505851637 969367771 241910499 972650109 601729381 284152681 299574905 961774519 844667149 22236869 619543503 430186301 862842479 232819113 750970735 456888175 552799323 634015839 372652199 714097337 860785891 59838387 733959825 259545737 7777893 277745661 665605901 561233503 280086147 9869337 401477061 927867577 571355433 206538863 341948197 737722401 186677645 857851885 834756969 614021165 368568619 888651017 551970703 767844469 859290823 470641857 813352543 37965211 210268527 603684251 315977067 48056393 5657459 416651943 764116491 424841267 143188339 690620025 70611551 583748881 506207057 610471473 446805583 161148839 692162875 219252339 919212683 47440063 670385315 909260401 718649741 282453035 949843271 505541341 89708179 20302277 451303981 727992569 589983909 589049967 427890845 364200839 284860309 629992211 808173871 879017435 669448955 187789733 89215677 394284741 35500853 28816925 710432107 805794729 542060655 142003071 978700199 942814057 373675927 688984277 285439269 313141109 602543461 732145201 299227105 299519169 710043483 666396589 239131933 847589585 354533055 758705771 163670121 53400229 487978915 932716437 195760791 930995151 914415581 383436639 696359619 95426915 507769361 839983619 693573459 475811585 479659683 981034177 53682417 371037133 968456903 250605285 693454739 305000313 964164979 790252223 685739893 269372215 906816103 974181037 990582811 530919113 382388525 893821967 589129553 969114483 591745557 821051985 666637355 970844931 864198453 106696163 543512583 209999569 134104945 746567487 895177607 201727673 701459821 423199721 570425751 990439971 320744603 2380139 929202287 421553405 536022069 183150167 329489543 618341565 419377721 316871495 572346277 279722337 307722353 242653661 767911381 106068081 430883691 367819715 942875757 223759353 702059905 134908845 992732935 867019151 135015891 2339925 708956295 154748243 240349515 209363323 142112795 988147945 383239573 829072107 915355703 354361475 627068459 512158583 787563925 26660307 47236431 411701753 352521787 791849755 520955145 407371347 607636599 66150431 345975847 854481519 299873755 119776557 13723459 934308673 939394115 725230621 669977533 408628675 942286035 289468749 200560315 37706741 138502907 108207265 453596209 952994787 993540971 569722505 305788887 734844063 666522399 464937723 180628523 108311875 106603103 531846773 906645877 438646769 711461301 436529919 674118343 521736917 641530101 186312483 917738231 703528735 496943675 818124029 530953129 662246409 160877805 452561703 918291523 84950487 354875063 308715975 610231539 203747027 13068427 764293007 272634807 367925839 900721063 924965043 866447177 446496677 481496719 257588207 12886069 900999993 866531343 850556813 674278859 36583793 946321467 753911387 214806305 280652227 844693873 238044845 500627995 898000809 391410515 24509281 62082653 107583907 452012495 536797407 515672155 421389885 449790999 993573399 708359243 578714889 402426795 647064955 174895405 284038561 443239243 100345355 648484299 672149671 727719941 283649613 679301043 333293255 364453423 949081425 728142399 746526641 454313571 523830701 273114001 929056543 342683781 662526589 62798221 882632663 340722371 927464041 316655333 448670879 183299729 797917341 900305939 60181835 189512107 266987987 677605461 966366133 808180499 711481159 289469107 532904639 925255705 366369727 811266817 972016469 573559119 232226441 270806739 730717031 498314641 913768061 861272715 887086831 600544517 386385657 234201169 30490867 164440597 267941601 706910997 562552441 779700855 380106149 369142159 740682133 578189351 644359739 545818945 61953633 163143785 132522019 890519411 494071295 419735241 189789279 173552179 309371803 545350683 539337345 886648665 675282789 166034811 232785311 330638217 963079065 518540111 356602709 224913193 904917879 584335427 875958475 714558313 284441675 976237641 202913709 806684481 467991655 469486495 800469301 375306867 864160805 844950987 442296607 128435845 567452393 417831573 947290801 166399945 366533145 924180755 449022395 727261269 162706475 760587427 756432273 195577101 778126233 571625959 298912273 656620181 643054051 159927245 195737253 339759201 575497367 942979209 87115063 430702503 390306883 460640917 486394175 107693159 755730819 711727033 937657021 584472683 663375353 407619581 862564659 977223747 558738257 688252601 243745459 614386757 57040955 745484167 727171795 362319253 43779443 208542027 809124271 356999447 630289081 613991221 783850735 47766655 395575257 120268211 344758977 832366401 692732839 323494791 140989657 83445665 39355129 152551091 778492281 749813159 537660339 16157571 188134501 888380963 516062657 152492939 190448109 596296619 501338643 144083623 648625637 255757729 4254629 115142141 250928301 696313645 377321079 566002935 97133097 86891071 756942487 280339531 843150539 965287057 533841171 306921205 55860869 651663009 853829383 606589241 999743447 574552247 535505557 42687395 675087561 337210341 930419689 159093769 68205543 659052803 62698547 993266819 832879433 31839665 33520303 695869051 491904395 693808471 935935903 605121431 268540629 864944165 953610571 11054801 854587861 787755541 23517447 520590689 659064513 857301987 605716013 174730701 316085335 374643229 914144033 927238883 822884573 631745039 257955403 869502643 898965281 954162897 26169117 63460253 613388157 785706567 30189843 306957635 558193353 52695063 345799853 422537107 303002993 74398383 108230263 241813441 510209119 364487757 991700485 520933193 267002893 458904555 942739693 159808749 804329333 930763861 496350677 43264957 167095585 473267995 255399267 864586251 298346525 899705747 210182991 212895347 32099073 682744801 224604493 450474203 50820329 23413737 918571557 467476845 26240637 418293343 857029789 14722975 591602411 778224057 204225675 416506669 544982249 843008823 625641413 855093531 959389621 186154979 226307887 17390259 438831637 541244811 781875125 848017039 912030553 26272715 793154889 557748101 622978133 127561983 952777697 714058685 462602345 723039569 148099717 685436835 277603449 18043827 799068219 160253161 622789111 981076697 432288537 229788045 985846741 257009223 324717365 916694227 382711189 725425989 769772981 291406407 103765051 875173857 526284223 656058559 890077013 270900213 724876171 736020307 400744443 54705697 623146319 575986797 451992009 807513805 632671309 448685749 162274279 537361195 391168979 472446495 383435779 528385583 186807343 484022507 976421715 910349213 788146621 771225241 122659221 119567611 542386657 609839351 483284497 479720091 958859267 829284635 841833617 921539733 215349909 507945567 742038129 357074889 211229715 697738089 472408969 299643615 204242431 692512547 470403909 759654727 186290657 519252419 869170065 16987705 40058447 296541635 264097249 987461047 420384223 249417963 120700471 57956743 528873527 36311877 59419159 746616379 139000575 744994341 150584207 230677545 217600745 9594663 253299767 847913589 496628401 265653041 334406699 111590405 493073433 493791085 932327187 404667015 759473897 419722833 476067613 370730871 269660661 45178521 698797055 190037269 410437657 571671113 880517625 814224231 341476661 318481325 617969357 140250429 775284019 877394523 958584525 690304307 493506821 382520363 115343309 958582437 357612967 372992069 845279789 243771069 824638235 849614869 986273235 472666477 335189353 495565389 741047595 188364907 398356391 159974381 236156975 728882231 769414379 873208629 798473563 53434651 68396891 782659763 435051699 40794661 473488671 900775997 350042827 204455983 948641129 739039725 519194549 80491739 487828853 585763623 60581391 56949133 35543941 645726105 353268737 861899895 144438241 377951287 745392697 998929299 919336415 529271355 548713711 868308895 488924373 280008237 418760413 241601827 242736425 153118933 127656011 146257265 269047619 586945099 818523657 607317409 667090071 831930089 870846061 772354451 459451037 681508949 585967699 781785327 160444887 515603577 995880481 285881893 970759891 577728139 5775049 400536431 917361441 865403399 491601087 284641225 649155673 182674865 963933951 103406081 882857761 194538645 990820883 327662499 632828961 833084679 719288585 191601671 155916555 606633379 856194165 883086161 562518427 254294095 806739829 239270759 586612371 985748279 502086321 786293497 478093501 383119821 787397977 884605567 301793769 7122383 232258079 493119289 898738677 152700993 253187139 509827121 697548737 598476399 139877005 572834615 263908919 976163565 416125513 349283299 513420617 384684185 647919181 28418195 606878965 326965141 699169785 211346803 863478327 98549839 876198963 912368495 256342047 40074875 425288297 764650819 578349243 134658579 336185743 996406383 688463913 896652893 681226535 836445241 838945673 730369767 606263349 548117169 595796485 790671491 703563337 960159665 627526097 764489293 239782519 573979611 911267109 774145705 722279517 821800851 554706245 185783365 809145125 64198667 521022841 39830805 317750905 141220413 641937431 186625877 866529169 230013415 565251957 152230023 773794859 820060819 137824505 715188859 218560911 374338191 388249099 464378435 454144905 190477813 439557407 833994555 241316209 302942629 536402605 913403913 888601891 115994183 188440121 940705175 2084359 241853773 26276685 449005595 287712265 211511275 270015609 379706385 610539683 441445925 384782939 943175485 990578129 59475393 835435667 201276331 950480665 739300179 245547723 644271281 121094795 893546285 370697143 92552679 864432059 146932853 981494287 530234933 413713095 832509457 550454167 664879815 65786713 538429873 965475865 277615119 415619483 812192461 944667749 688820427 619348293 886912935 414434137 45069057 250602135 841097797 899248341 439087353 721444179 81685369 376131267 525904969 314176971 866629083 113319959 472557775 627732949 414370505 239594953 618083759 928586189 422182767 662753245 875983443 505601435 98277307 555508317 967945583 99172269 500061541 583067225 867254787 302760441 997909741 437455599 477346383 382313725 927160989 734584383 844072163 413184703 912653701 592352371 144598417 904347599 484766331 972209855 392093301 483827265 893169443 464866395 673575155 951379635 139438305 227352971 866167483 848018255 152669161 915410073 705331387 949486783 375040561 404744919 264595509 680706365 939790457 134305695 234552235 129570691 615424331 650105681 414953449 292163035 223919093 768500317 67657987 807833361 913366417 432610353 157393237 590804859 577747455 665183303 338007685 585171451 853099753 736547619 142043263 938060019 205212859 450579279 204388469 640832339 360902577 308338779 287047653 287890833 629494985 517326309 545150867 983436971 394835659 400742029 657585291 705594151 576138569 91841277 226418979 191087635 693824923 521642729 943187443 791490057 281206753 151252491 499776739 352498721 816263171 623229219 500677663 624765191 618289329 614804219 459096347 43016677 177123429 409249641 517866897 574099317 60025437 262989381 130336391 448494833 685546401 282276977 282515787 481887523 597366787 531804375 734111341 146414935 788298011 517061483 156886221 166771813 51694919 908642343 736685711 194703273 696141491 784233483 149890589 559024139 750262861 650315809 882744621 733359865 701835981 907796607 285245881 249039209 312147893 996828989 138368777 271767769 925727307 133430141 619364519 689938513 262477473 978317419 113790821 474811227 162308749 459302965 679247973 572096275 888252083 606710555 540111365 262169361 936884599 299505243 634507511 609701505 719664141 311539009 515394859 440616207 861454187 956485151 873124063 805275631 807453521 923048783 939979159 500812003 948832585 732054579 832904479 497835821 900212131 81894453 712164491 562545825 380291189 248330697 976391991 690353295 463570595 282170215 377375689 155915995 127186641 404673683 566792493 708786919 382731889 735925463 203878293 5290147 734192317 626691269 861003137 818770821 819616691 701513975 572187313 543933323 534707997 826457871 519434035 261765181 733811081 823125177 357788251 594268069 928761681 117407397 772507079 511129439 569594773 746032525 442581083 130912643 932839743 512716597 472247615 801099709 528749563 575645031 838496493 272787513 562318659 966961909 750847519 243749035 167647577 688381625 936859863 875452757 673263173 691267733 72601957 525422075 277039317 331674229 137643353 350023403 2007971 930010441 541803667 561338365 424189967 767616523 31406135 131576205 56401215 422757055 532096431 207071621 17255209 751813999 466741681 204361807 869850495 811805485 241509689 766575587 748238533 390976787 720870539 937142463 76415809 889392963 628354609 68864233 6484997 65906153 950779907 216515313 394994151 172123189 30592029 165440749 842244235 262458721 652917217 338874745 858210647 54291891 426070779 893025979 292178041 111969137 315751521 652773733 580249071 145503727 792365903 604965289 567666803 207979143 265933385 445476425 872917649 677258651 81298459 58554761 506300825 313084821 209578203 655396409 447830689 680304105 568127201 106341035 65107341 925552145 51538391 346529731 655594497 737328781 694954915 675179491 900762225 736841193 87136639 768823803 943082259 903989687 278568163 334304385 234089703 7816081 670757525 110184565 749397175 917397529 899754403 213706329 59162129 535929851 331014749 424525631 470487119 142572263 61130083 405013949 680407955 278550681 32314521 355293935 884728769 2966993 97104425 307039611 635914635 668356955 701924745 389809299 569491819 608907017 505590899 877891307 80712863 925201589 718119919 672143297 264358959 393306945 434693957 889159643 214011375 266931097 347545357 296656519 847817587 949106093 223291937 351415453 832319261 844740985 879121575 420568953 480296725 885584893 927575819 695456773 57253963 34418245 891861759 456332715 440196471 857951331 802992767 842740067 106427419 379720817 638370003 643017901 361015167 982362515 689604485 101022347 55554481 992387311 590290793 970045071 920766089 211648187 558632349 153329103 401698475 295662897 493240963 557192167 547720317 333481361 574715591 949745149 161902895 848319271 6733409 748446659 801141177 329830981 241602441 147957357 161355741 516530503 296824773 662840249 180841249 839894923 112680673 179281133 580973015 906015359 296907251 886554071 744591381 593115795 3194453 149271503 144049855 425123905 559398059 657441971 319814777 370358031 311732707 893321191 54393015 53072515 174512687 605848413 831962799 263445297 122726415 593754759 945615457 340660659 425465667 698805605 325122967 292818349 428179931 882931583 991396065 794226885 178167591 433947361 599170709 518037937 68071111 496502563 342994391 306982699 294472095 703391329 131518859 687955189 31031513 586154563 910917989 650438359 199059691 530582773 230990041 994653093 438468753 537140273 753786413 616869433 452720589 602920499 159917923 864926327 974246639 501819585 27673937 351320645 13781385 711541803 467939467 862347929 469049721 542711877 535154803 88056429 635510239 296823151 447964721 463745987 885153837 456467341 927636405 636797091 690142995 938249999 42490041 244418593 703839631 961374189 656556475 108498775 244642277 852532385 525944579 826732137 647859361 25110837 541135267 112073597 948728727 265196597 196256371 764918219 672791269 875892665 824975123 276684423 146331117 471794269 25989867 956584953 964759645 990116425 42678315 299997287 972302631 243076651 63924429 925827365 229942665 104346167 403969421 225157519 701481481 685861679 106808569 43908099 572267375 60250457 979991133 916676335 770280403 181690239 450936529 84144067 242939279 514033659 861777465 804995579 876813895 974153643 183566395 64079895 175790569 575744245 887460677 176316069 973512105 476568773 611705749 741994291 880768257 832655251 466365477 849386333 423550137 983236703 25299905 958279623 679186905 290642861 971255289 607102745 454728889 983378059 531815971 451725061 808414707 136987535 569784931 459064647 778095981 642952667 281887389 7731359 639052625 993203729 127867269 548264923 523018517 112260449 829037457 152747721 767609461 725241473 197951489 328128837 766061685 544218287 292072415 142803507 849567841 438025905 144911099 257949307 962040525 83545559 996534507 220654607 131126935 375578869 248695313 439848683 403081185 521257323 52923029 680309263 768337175 177368605 404401001 849891977 652195311 876286589 822571841 763429479 800647271 315798397 608381345 236131781 783392191 195131039 465205713 603136455 654570885 348361959 857424351 124089237 984431245 209510371 244029349 755222881 720555509 261618345 264540099 542946151 831118879 157992667 594351777 430408425 307252665 857188763 625162097 725283631 411788983 311809177 387227943 200313485 128182099 634671883 855938439 89905503 825653523 949583535 625554455 924673283 184797637 773104843 866167081 603038951 461733499 629017391 860920021 971953533 623063185 160284975 575386619 569790267 269096107 227349163 695878467 730399657 779134391 510532873 243763229 53040207 603038185 157549109 426385345 692212669 966617021 394033065 158934065 559466127 352174325 745985377 287594803 24232041 84728737 765740257 160496985 290178803 147090195 14419517 542764793 668770527 536921321 987818757 587003191 228122857 365981187 841790301 581993721 101690579 55683987 973117671 495955437 537472613 283383817 344253395 84642191 592184437 959236131 116699095 849585695 212422105 8666597 534877489 654058915 994593399 908623771 894206377 809137899 472927287 425707737 366573963 950814355 325369867 262972797 873655469 878631415 804397295 433089193 49716591 172014657 742625509 943333833 31486901 162923875 739990517 177900949 633549297 718779667 980225845 316837125 33870359 633103313 977888187 420505695 309910179 957047783 627227565 416169009 496728991 200086627 295302963 158060619 881148313 165075999 993969535 107093197 509786787 313835709 189894607 268107033 630841185 410653601 751107167 112862941 223860213 271318781 41200511 238348557 132043535 230590155 478440061 165346533 603815653 44720585 936999095 889957607 603113527 733753983 597258379 837999075 393798471 377624639 92430439 699601899 511540455 118951457 727005117 780083035 262124395 341147141 247614981 428698583 313681331 676914579 345443779 808390991 881454117 75584315 683457407 539982067 232675247 975464247 628673231 937736767 387633861 158010499 749434185 808632315 956066921 677055981 876849043 123142961 175018271 602799361 524976213 654476853 154871799 382800663 240696131 204169125 960051587 553254995 416278037 643451747 347650279 238178971 466910095 972813723 821764293 787228319 201154681 792401347 467465293 199772887 959852713 221197719 469410359 39791235 173683701 965733915 707743165 829900463 319068483 432616605 949358503 499403557 381846907 44089261 867219269 539565443 271326353 290267179 466054509 736366117 337536637 134572601 903430523 346678071 569440835 120715845 138602071 998229925 406036203 727769089 418743149 236890155 146590859 350011245 901712311 401202249 182036793 220836297 471703217 936340293 930571803 246163619 703419745 805488943 887581785 621510865 5306709 446450657 857983527 714357101 408034213 861437437 600682429 182826205 536611823 802032615 901617247 981438411 763709271 149099729 993455959 309159981 172993935 652001717 714659573 710989885 486721481 440699985 912888727 220073347 945915845 288228911 457591965 849822665 552130251 900172189 824738161 710435361 25646247 493056181 531908229 494675437 488615599 982904919 777799767 986825677 713706691 272783659 267121763 581986989 798527561 434655395 840113721 701801155 341426479 283597299 552419945 536421515 740248811 475820319 993949579 121366985 520732539 363694061 7195461 397479049 444697701 943238385 728579391 917602847 784123319 311400061 5399085 78740009 513933065 149462967 751493319 949575049 998277753 803817861 428466897 902149483 156266411 568555415 852561429 967689287 533134033 344864613 92639589 700913877 772283293 695796017 645181849 359706395 846460495 404472065 123792535 691893093 537936047 502250407 542155335 564701001 656599817 963522491 732950429 642144417 696914229 921966747 677739409 175894673 518826383 569939315 583914023 954391687 523658239 32862769 90207593 680105271 107189491 504345741 955589737 143437723 552618081 984351495 193928767 240708603 94536903 84507625 29566225 994967263 341521451 822932547 209005321 559570463 388382491 773251307 741750101 362364373 604725167 826831749 114430773 632434535 39045 634579317 483766503 271156351 441443267 669621999 696051381 946956307 104073237 150362601 142913013 85399903 932104627 771736355 653307391 519116007 631781213 57162023 671743797 949479797 609838423 306536771 869971457 816055585 571551855 442390673 939758039 898659399 22749947 922137841 423532079 172656777 114071517 400869389 567751053 364698067 596624247 600810577 160392315 133744475 879389367 419220985 387259531 910953631 546415127 126880259 341890901 760035423 414124179 764518199 993151871 359225769 158510771 179128615 546279859 888988369 958722945 133771051 138123681 747219573 779406231 749697891 270526211 565181559 933023763 981373879 328344733 493667589 43656603 951583447 322092345 351201169 265139035 240602941 896925351 134674395 516722189 459683367 271069381 937636579 828678891 724266653 828857459 449400823 716196543 860499569 512323229 500718509 90117333 336153403 588222771 299838687 423343109 504034139 706882607 852632497 56940459 660326135 501495957 562250897 277670063 150163715 819067247 773328179 130246783 36158517 717539023 984509331 536343057 984072719 111532749 587283187 748819683 368249303 147484305 8605923 130983419 501785503 314379583 87493685 13489385 686956861 356013325 159009797 566776001 843741525 348929075 37969081 837327651 611936331 67200501 138925307 922963765 888195923 861477789 137082561 927798435 523538787 806312317 878047303 909182119 990026299 634858479 553974545 567285499 959331173 516700245 218077419 72440553 744243505 90055193 937012457 633687613 899540405 436956591 157434473 841969743 398226901 439231889 223411725 646745853 382828597 701432127 283295939 467577771 243780167 44972101 492458685 519789641 416225605 731489589 113922169 316687949 575102253 617617063 403911611 548619701 321490377 816976451 584583825 207887879 788678055 436372909 882773067 684752723 873366305 520237467 192524937 476895021 61440343 636490437 566134317 39949237 451567923 368778481 636267109 922549393 911185505 779201507 808852389 837955565 907877467 127425139 240516263 936748931 988765539 233870713 982793587 874323855 965797761 783277273 859146833 713415639 903820675 792479865 242443481 885784745 993070595 576128335 266114277 788306397 178039905 267949651 678398875 264838095 358271429 200387467 996481637 166620263 201254431 942281981 285838841 507562003 430286119 764934075 426789201 480010443 412118879 819460835 727967925 83901193 210371341 181337239 9101999 580933845 594284867 903695613 353429267 843400383 217538263 438214987 578393597 691121371 457183597 398579899 603449043 325069257 27026539 268597645 320113985 63759791 85221889 82126349 141531193 855923003 609277991 557140365 578809593 90624673 263065501 602269543 708207621 151023779 174688493 550308349 507721257 449766277 248763751 27363259 319324025 71145493 588081697 710447633 138243155 949251755 17988863 891569785 434677849 27603493 404983717 75907447 839042425 837998311 72490119 477958549 962522341 401511905 642731483 328216165 834100765 139433865 885661857 119706499 643287521 774832863 423197603 36136333 36913471 654264933 962071663 25996079 395734157 797323565 790846047 550324253 706539109 604529611 793843093 949948945 979984555 637375839 293368821 547751371 237498765 442235023 515657265 302481943 420828287 517803657 816286915 488730311 845991229 847209473 706424553 637433781 623187145 365727801 357645229 647052741 636141683 742980085 487965917 192302045 278462157 636720261 841844243 67347443 538152115 229663933 787858351 156879873 845234763 614193659 718103001 492230407 602421759 73776425 986961281 414033425 524413829 482194353 989817695 775148849 537395417 217653387 621184245 836212867 181006655 145634101 199337867 264695077 324670531 247876791 423052079 653867075 187719865 571388573 80516025 332504083 23642557 474658301 926411213 705744073 206183861 449401463 780128721 24041901 400036685 411476785 383238389 447336453 654710391 143743449 834742321 117103141 877457265 819418021 854031687 71848551 411071937 564058707 384481725 759780909 330936623 233631017 762478053 315671267 586578129 554857973 764384725 329267449 920890373 911827471 257357937 401269995 409569133 519383381 604801117 651533881 446409719 50823467 844987149 377584239 658360791 479800193 202116535 534784031 203289991 279803343 863578205 801713637 739351759 10268175 133366467 525110623 94735287 106010059 960322431 377476667 175689111 39790351 682676965 913987881 27803657 331817841 689982489 800128227 48419313 124072721 554964991 502339375 623705215 752240533 199089739 189076947 232424995 372199723 505437809 644346275 17707929 916146569 179926199 584370553 813491945 28386541 27699487 221227321 176903773 772191517 925480063 974731979 292048777 630390889 122768235 173947681 144588361 617862821 624365381 2064181 223609283 692393007 748305205 522247949 848614753 667066097 377432363 221159087 925746651 296444245 612394721 720108847 709868585 130990419 613428437 125269417 935469711 298046315 370681679 846014523 350998943 537747361 863904611 57824019 941108519 316603011 479902691 760427873 374668101 942387239 523512949 539208801 626082145 896082735 360801919 66603603 311384353 634057659 240453169 45964675 476844415 467026047 187620229 136694597 73719219 82636719 720757047 469176559 906438723 350817289 309974485 643387621 363237373 399517651 483602091 440035219 268727537 342539741 167286481 164535401 338238335 460155515 138685995 539000035 49688395 849111181 925047903 821665667 534621759 725056631 597747675 964097745 24386447 576585003 651605725 51291233 930110139 939609371 753340511 502365135 333741187 110666057 752796973 332559801 464364535 60086327 687130327 938004685 383289193 745302777 974523059 942703291 752471413 36683807 75503845 821714239 655402497 269704909 271840081 927814427 370076983 613796261 318165163 963717911 202835085 670984151 295383401 567393031 633190847 212557847 443119819 457467589 523954641 800529831 86627291 166476597 438955023 129389389 995625577 892128575 414575373 406295635 887328267 921102549 836103079 510234517 297670947 693373427 670943747 991300203 550098905 676741019 478678157 690412481 911109919 964049109 586130167 687509761 191238569 225142197 321621823 577566501 792204539 445792343 339787433 283593129 234117725 550058969 218622145 424501137 792072669 13560169 988194909 979907185 586670933 289474871 688680087 690475865 261927269 746803071 776735187 452407277 557437045 227600259 786466495 699611983 529071031 745226379 241600845 983146287 544500767 246410989 547600317 947735747 907718001 68855551 585418639 727614921 454249267 349922343 179790993 416501639 226812343 216146891 733687257 803232205 257324821 739267171 394422465 460808175 622732333 839546469 895902703 18304973 601297831 873046867 805851213 825056973 466695923 783864507 982616593 800473819 993233225 874512683 908011445 368793969 521205931 125429057 988148481 528340105 966980319 602997915 736707071 371482029 476761719 972911847 310608899 25712361 98172361 485161687 734446761 526626261 28565497 77804323 498893527 53039759 569201645 416738189 171110327 528490683 664651091 821041123 206034879 793817737 944960935 240231667 969927595 428441519 185345321 630124953 979627903 92205675 244919775 753949113 531642759 939004549 644009113 278771003 124857689 719814215 690565107 93448467 776896205 367015309 984503625 54671417 774301963 648173233 367768519 376992943 769500543 193930649 136393049 737029251 330746587 769644215 992964539 910642371 366051871 932929533 620396395 660261517 665458571 360849901 267074227 136609279 305416621 749600395 206954145 627075399 703334491 860039781 958744079 923896727 140821935 4101523 219142303 951567911 184772365 795084467 765780917 726157625 485866019 38209513 774527875 600761115 176856549 380528613 181593091 305022747 289063821 254913757 922961907 96937111 482905507 204841359 1553371 369291759 767912687 417195075 293703949 841548173 565148553 201283013 507186849 536898787 348317131 934547051 378467447 239881069 925260635 585273109 862445111 115353517 925808163 890735657 337390673 574686765 126718297 435284627 545187583 643462781 293601913 413186253 453284669 178435131 446769735 4540371 988929497 286344197 480650191 14863915 835852383 542457993 201276773 361507043 192050727 327261049 624993189 149297811 440090965 838748813 448811125 823740505 379683279 799737481 748990977 267952857 473550917 773205557 689121723 962946883 633716015 434193255 305228641 647712845 239826381 414254583 822163959 167344951 684237611 156602053 544421065 686505667 623730451 239765695 27109485 919133763 258449699 19951575 863136699 763466893 189863863 650657285 448475355 285645053 870072571 916588621 881054777 3357817 29853659 478174135 234312073 502699123 509964051 451433049 231380677 79023583 731885091 597669451 82062133 277398587 591992913 910529197 14554721 913490061 287228845 359106223 535066401 903661155 941136401 95670397 723797135 877301461 665350687 765651541 450253583 940706177 380926011 800433529 449793871 209255307 556518295 377277235 26369859 829206691 885305645 741237203 787452199 966926337 831497915 927979959 661415549 93429599 406346187 910329407 235729685 156457479 182342315 194229973 363746817 774673861 282091893 333911533 178715293 876453871 81671945 787825151 404261775 742554725 401021967 350623887 994944961 258714253 83372025 119073061 168225131 862605397 318738427 12422231 930888451 555791667 285082137 745561277 511549523 757473059 885778969 898689017 379868005 981261233 812183695 902858677 310727567 772642533 323267533 780266147 462667881 571346521 304217337 872599425 529844955 431021099 374941945 375700491 175406609 855776767 304374141 862013457 575910525 741521927 49268221 229336163 196750559 295877109 257070779 992764891 358086455 930825 287607229 466389593 349793235 901724683 992813525 471177165 823829063 706902087 879872923 729676067 823616625 450128533 446650477 928808795 715711861 301284689 48702327 941657203 198060733 610361443 688599719 619494005 211011325 213656121 308536245 424899703 580151093 905870535 340727073 70709649 921479589 518099599 317104437 3175909 235784413 884635543 884389633 246284189 222133935 898510953 146195803 152004077 437663543 104589087 303570919 627628557 845641689 76690007 695769097 915487809 485828165 754759221 39565301 498224851 846697835 21225323 612358049 792932627 833542279 707806251 982924237 836778079 67369505 999274295 863616771 693813015 923647747 343133393 707767441 363201957 927818049 785347531 659922321 558683005 359270199 435799675 816851427 795692567 137128587 427498941 963133233 804855799 257120553 910456313 737880039 782958503 388779075 690448925 240282177 89004217 97867095 798062239 643815741 703654087 38281001 63197309 552558499 890182771 515119301 791447101 755448581 607826535 187612801 6562031 274607803 673545303 133714165 179443495 17781477 624091131 658120713 214608389 924368747 802084887 720565737 936297517 31211261 817247605 252758025 364447441 820590101 416360935 141720611 600422051 731096561 888103751 789873981 772529893 418262425 266121847 869659301 107642459 667102431 910214753 923809515 129415251 415683419 53325561 939227887 950902181 675399021 829167159 916949205 618438061 328860987 551526175 688836359 701334355 477005753 625654971 484815163 605664773 950560157 145296157 640562539 989757625 780761705 987243103 225652959 904951533 117325155 510092707 926326049 250737063 120827549 772481043 655791877 578849399 83940333 158279651 399525287 879926385 209395191 623518027 726755181 330195765 532235039 274001807 362071809 346066409 152002201 994581497 39447641 959407161 197558107 687027419 86266289 353685343 291951399 998360719 554306189 969074965 171191169 380605559 71726265 589725349 411172031 459585535 731866953 529133019 210065141 899497365 184207769 967259151 975695111 387160505 346189391 733217565 817886617 966213097 168890455 34201199 553219613 396087729 588916195 112103919 681024461 56340387 897625459 206767381 836294311 326339161 230954183 665690591 378680949 567595381 723098605 213640659 546560453 245236385 341175867 332100865 107353329 2982545 492565833 20030717 320067867 805464063 254348289 594676711 297284391 513133739 423282059 423890789 621575367 647493217 960552539 928176547 956073331 933789171 687515953 941518427 632430445 32435771 565773325 653284295 841316541 229324571 698389311 110837169 858327601 306204285 442138711 416598631 529771107 264392021 374699829 914640317 64664755 584617629 251422461 834733073 638553673 128777301 154456857 200458571 819730197 155772553 238779967 159070169 601504975 838475851 906097515 283826097 607152633 520242357 147612385 218389841 782902489 763381737 77733675 415787201 211737217 357201937 119040545 350071949 360890311 676007009 134868447 336331467 941568591 887811091 633422279 108900891 140622719 218193255 83425157 595837603 475393415 597355689 890884111 647941391 166669407 869676331 966383265 432934809 829224135 898057799 560182719 403857661 115696969 521328223 742237751 471758721 979892021 814558687 387846681 85699059 633673633 148777015 811390405 269257387 229075057 327325409 552261341 727828613 458793801 105670243 372393293 642899435 410825885 261052739 499019341 308049863 747428515 670511893 507501909 786226321 839880283 611508083 485100331 786773831 300043919 453167359 767267549 15235185 847699661 880329317 522662587 704292635 359227503 650454357 369997669 527835611 344022935 796603785 851831999 371334097 520108585 582182853 101786867 673804195 606719703 339764437 614844791 860141183 22510619 780597895 431663621 450992409 706706739 527520951 969734053 396733619 981959465 160641095 461674399 420587537 405843403 77757475 62506635 82660995 706255539 557623867 316291909 925351643 420835905 339712137 956533229 603256957 260969629 159377427 551454453 825613899 809725623 602131935 914533901 149488567 302802759 476198401 684166961 878837171 384267215 647399059 960513961 216249791 20582807 820097207 219351295 94489315 472380077 585781657 167008775 494804651 901226729 592879977 166608351 416336429 611279087 980397665 957743337 410411785 249044773 196677575 975051731 757675621 586197179 824952545 580967567 512374255 154627241 886653443 53256027 895968989 180172465 649061767 499364283 205705451 386084953 708228817 818780539 187006307 989209587 610579783 884392881 158535187 45077909 469430111 381046711 995809871 683701795 875972499 454146097 635212791 91276353 388478819 432015885 665828975 651320163 315086429 8627069 95256487 529487039 763118351 101645057 58317589 721592919 211141141 816820313 885102777 19300847 943834385 577088917 980873751 484378141 64750511 665956357 129245501 445422901 15053471 35292489 907935681 565040731 65031837 866274373 74435523 418536563 509540201 462533667 293250281 3309873 629308111 796810073 799135073 887785993 923716001 501195939 943035617 954022721 165359291 420894723 850421671 786877659 203702267 355247049 479956345 974572973 626433871 533749127 46598821 743904331 228895143 621980443 691108099 117806615 601136639 786317733 643368689 461455417 840688727 198801047 472217173 370032289 850953915 664518817 519152539 109541129 743878207 898165441 662396603 538058735 611516409 117891899 453897269 472574363 213086221 25435803 407773707 250568993 209384615 926440117 745650383 596090707 103813367 264248743 452884119 402802135 99574329 114922195 402273279 354763283 806644397 170771431 795415343 824682039 555032737 454839253 30832853 546687549 752128355 587420125 995628327 735460065 836659279 661082751 230000355 411835569 303696329 486521481 168636495 49970937 822022711 416879633 175605819 810878673 335485713 965444465 433589499 785720861 2708941 118424141 433098607 485935235 301421293 987148947 898268155 713884275 677820669 946162551 337249169 203150885 858325905 927566963 721703587 500415641 423156799 383429199 537438257 923282585 343478699 137447443 304438979 550880693 84821121 485663255 41068901 68666691 132705905 614457079 375879855 41084263 114691383 987765907 374535613 35755013 93831061 431387 228772151 50088913 751331923 730034691 65631307 439464257 459817797 824135943 393560495 251124629 848181319 874610475 152954017 563347927 573891639 187944891 14716393 456035799 603975683 542080331 299571409 911901483 726419867 503896761 984679987 847817781 238598395 855678503 927831405 588168989 45317413 999066625 290662757 912115413 51311393 309813757 217686407 252256785 621481221 806060569 949291213 623301205 879219943 525143957 104359601 647257321 900661739 348295679 206384701 995070939 76602173 325889067 523535613 834153221 831447311 955488567 197328905 52856071 902175129 773462405 772669181 23675977 74380829 792042435 605169409 756206589 784391145 631718885 991334851 316633367 920665419 598351397 886151801 92011867 604709535 421557257 695488739 473538127 669569865 290673503 181616707 319305799 583065777 907176761 68191851 668676949 154279753 500487923 766148783 818143839 999309 140361009 5818095 185533451 165305087 829627617 181364879 847586761 743789863 341381175 722950529 337965777 906519705 538113967 292092215 823708965 849748977 491606797 148197811 396659339 549267151 821274715 786997881 245458837 934424795 459923697 72564631 527744665 386609869 551501931 245054117 992694971 767357787 958739369 552318911 214226145 302455879 440273885 687915663 112361145 518444895 132898167 712109375 884277183 315836785 508198709 760331143 789473843 767429979 891743003 836426661 320012827 986486523 398011765 334611295 549244487 782765631 401681367 758170373 42350931 410630681 605767711 523031659 460550811 134125441 925694831 435427825 174508363 6564473 250399541 626957693 806182735 786848015 161153059 759789437 385207395 263020625 581289783 620956133 296475909 703778653 346373813 18577719 628735359 976154195 314694443 918124919 6447839 970771805 36356201 639111475 560979967 853260717 526221967 661893763 481825921 650302079 965746433 670170115 598980553 262113813 110642023 861685213 968136713 416836279 294465723 184151739 179530555 24776123 16819767 493634773 951472669 57559159 450976861 723001577 472694583 329819473 248849405 364002623 622019035 750512817 535106857 322104995 239568161 293568523 673364029 570463595 2389737 976558807 652945117 112055415 717116635 33421207 706673913 171053101 289477479 260758745 350942657 269249401 529183431 900464683 892120753 932292821 470666743 38535979 199825 409848125 198867397 946209913 476027499 339370807 657322941 462625471 147086995 446329297 50126135 635003311 438497191 239456163 94328407 453086981 335623049 678469067 364604163 709656451 884357733 600509165 897125355 662320115 269787569 71700537 748123527 916340773 660034857 153794661 826087703 44909559 108090835 245529263 536684455 777162313 276030711 382795231 308462849 987424261 441552171 111663937 309118147 402310429 644064589 207442859 543137097 841291149 845939583 30455933 85842111 342526551 852621871 363497117 782212113 544321157 137656079 137870201 918996475 416547367 911732767 106511879 333847037 561396571 889024671 194836419 247667037 598621505 58615839 820228025 387616811 371630339 120587631 900764017 749348929 544915667 748165551 457082373 872091201 364080879 526101827 952892691 834173071 821933715 915668181 761922495 203638365 996842767 151745627 580790713 738458277 787553459 862021647 97813047 710141733 28958679 976835449 96220409 581018983 817790433 789922403 518273857 748302265 700710457 916539873 866221281 516535349 943835987 43934031 467119919 797771195 546979751 207270739 605117959 850210035 442385081 997309655 440481489 136820047 629208595 351801873 818431867 5771779 148565573 322158973 861394297 609625875 670580205 387737311 252577997 815696967 623180971 926256707 889627899 306249773 994966057 518336253 402895379 219217693 944816411 963471019 112518057 781990971 57459769 736225327 314182621 346118253 708636487 84854965 585524819 947493219 72928781 277697205 38711099 797741205 576408929 8303847 325474381 282511941 621319195 165986641 878320579 113130105 472964125 24288833 284478311 946148355 702820177 669873991 864173445 679184763 545553579 997937731 105433075 1942079 557213475 144413783 651635987 321564539 143461565 340368113 107971269 289689885 774741379 630021829 549673853 577369309 474477189 630935245 41101615 91854139 894790369 668031313 839903833 209920641 523418807 500105433 647368961 332523967 735837233 42112829 86613431 689698763 317809795 612510871 643174031 359501897 702043877 182417485 648891945 448956573 722394011 446024201 373979305 739491579 805067503 325677249 394246849 277526361 160364595 994195377 828606627 970579575 73024703 41241437 860649743 162996959 537623289 532867727 349680717 796283871 942696267 164532575 594012969 743944849 845921059 975443497 622882811 730663127 492805633 943369359 545290143 269331541 780912739 86270589 488163965 415494525 464271059 161479979 789022083 842535561 462886631 806909969 936549159 300635255 63844407 872934901 152822375 328862735 525673829 753336291 254434249 354703075 873963291 437043759 902132317 256661069 748327181 73090423 926742199 405995623 364785907 573387165 580458999 466572575 289515921 811701967 173124289 909036837 149240753 549180543 539827271 649604845 219333925 469507693 340482875 436296635 128485319 253017497 764042463 710734997 460569209 714600785 259560949 559692109 935490085 220226091 394038225 901499 444804799 768581377 596604739 720015231 800742463 96836599 653773231 194964863 72442793 11740027 303944695 805247599 731578887 715662145 30393227 199268101 533842795 86885189 847675233 807485635 310246895 462172361 76808439 557853935 640031413 865915229 103270739 495807899 635554535 288317907 843859973 118783647 651327673 826468167 321045537 452481689 149149797 86713375 887758663 623659509 961005355 38830853 905214107 266473439 283478103 592840687 719264719 610006867 374065209 173986073 818875413 841094161 533529903 261683719 295616303 751784861 954048153 209322117 946486881 599282765 505050595 469338023 12847993 459722805 144287101 753252043 538575823 35651641 336653281 778229395 626199871 21095677 681810579 460409837 987138865 669932019 94046493 365551371 57052563 687743573 509852177 629502059 302272987 472242209 379287049 626815441 216728071 666050337 472989863 473557835 898928543 206805987 5978519 547304489 973059759 150987971 225226119 621960715 934971597 207748317 366628151 202599891 618492953 901449499 791946341 194262191 854985783 151974701 678720221 349398291 892078937 648534155 778536817 941895609 794429747 690799991 77381371 982407849 25940993 401801721 36613981 82213419 590382477 934361311 52732547 693248471 801947171 154969283 787558747 719868807 347304347 798098693 272992997 67420769 225973843 162395853 16432927 509203407 881042991 216501259 442762773 583830151 50753951 278439543 225462489 842526595 266671769 477774483 619799685 718110475 638089627 549809829 374876987 348728233 349097645 794854847 338456359 866989361 277831259 381466809 180206457 805115839 769863867 741579569 137288043 722636985 277546093 385200275 452769089 190565835 604955031 829105933 670476613 554221543 80983781 59371159 528934089 490586699 743139473 543751153 483650855 522507643 2521943 13058469 292011203 851603523 240509 307592451 848530947 877247159 13793745 522468641 63434845 424814389 338642091 115926499 72614731 807711071 47938279 615754989 330499405 792163619 108556015 834459827 711472367 768998323 903962541 95753579 869611459 27697295 758333337 525602837 594636131 99308663 266632113 530739067 372133489 297593 185882237 927444267 585832345 786430187 953081607 716984961 81457803 210831975 119110123 872643993 791484673 621631697 59992131 556216925 631850945 20812375 572697271 841348989 137699217 300611693 325258867 450365299 265969733 23166159 485934641 233525629 669220791 503598719 429024557 200119973 689991881 792153293 953458733 210674361 252925543 146716747 934152319 944747347 952370305 98483157 387175675 475412179 107391249 389255569 452784383 772946785 624117021 948242921 724383087 779874797 89382315 281323155 338032571 13761839 594323151 606469515 244552923 90881705 80463011 164427797 11640905 149396899 177924169 576588733 515062029 298332203 849905389 58042199 3196599 909188635 17235647 71540735 659206749 351711761 257399291 57331739 347974043 110543481 371839969 795410519 963331993 697001089 614047677 155855525 697385989 187804449 3851233 804942149 749176339 387260443 76668583 292476855 946132869 643471605 357692787 673094089 46782879 549387265 465044395 452382351 572130865 144593749 240527303 900334439 933825167 681861077 359414843 656359667 105219735 957910053 994696847 385767969 496688563 652404665 931119177 336846117 897868237 493873607 857056765 825115257 613906525 80184913 830101573 172006885 593677155 762827549 303403203 63119729 947558497 523676859 193208099 232193653 9517929 698122119 10500629 929289355 600187921 959094941 514854485 512704153 806018677 863245543 44114851 327589833 409232445 705054743 169845709 487623825 169055127 900559265 3199393 250588587 145141817 898429899 634550779 871023903 951922783 659051671 119041725 181029687 317940693 207987931 785797587 575784839 289965283 634973483 538537005 163599851 160374115 268232937 850711751 152186249 534462899 640442685 348079009 268062667 905656759 830151703 576658633 394920809 396701153 908217137 149907277 662018395 925652515 104564489 522886729 521177575 45707517 407554023 786914785 595713945 69200503 56244447 829487163 413519941 143967005 400723141 840622735 455670281 657072903 498957625 885561361 362455111 457925329 604140455 888191241 247678635 231034019 272357437 10852285 7277613 396717355 657625845 98334081 596993541 954564767 665434763 886743985 546445497 522982333 789759373 316461739 538557719 234277579 167387463 587199197 45613871 166456473 909509841 854044599 952765281 107647355 920956431 335404213 265284945 437428303 14771879 66593879 150145257 994434943 325392137 762964267 203200861 63506933 916014445 991253695 620140077 542972459 366644947 842793647 517016089 615261467 277494277 604744607 197851185 383283535 73390739 534454837 665649863 567746003 484255189 882273833 783894135 859519807 607195113 781283121 739923239 59240623 163873465 501688335 160445697 418119371 546333943 669629327 379451771 195601089 233034009 90837381 801516625 774495559 64380511 454410695 444250247 744710043 84538835 641613115 507081065 945614467 589303109 432670407 31714699 303167823 643240011 689686115 427007945 756650195 62399303 490190853 944617033 395876463 881510497 633708719 93006199 281215753 721110155 183244141 812151045 816951309 759853689 466052691 207060209 720579187 686297521 983467383 347128447 753954235 439336821 143010815 246533435 568214761 270764505 84541203 227912187 632981387 922832055 346235109 305505753 463020729 753894571 556903345 770974521 896987151 268760607 541528759 349312713 429234357 822725187 586237253 63072891 709104217 61344271 169342889 136509583 941103153 946750789 525965889 415544965 442640891 210531691 25500267 254588461 914032383 251997909 428426133 953784471 999842567 173543829 614746159 347351331 429044079 129952401 43687605 624926325 649916433 926741103 320164521 778773367 568003667 685065375 519000979 131641951 831909927 909298777 526010889 256237991 968153855 636006303 694098081 316432663 857850589 296281143 27518721 226824377 871426885 827729587 811363537 229473249 702302789 992895851 562380995 878052907 227985781 821017981 392595 91082365 1232113 308265941 784876803 463378433 863561825 921075743 238463195 700671789 208522739 623060439 579371505 714546877 588488029 655156541 488986907 940079285 231334111 501964887 238130239 119231841 133591611 866403317 464282437 913211991 290797507 659610803 558066975 11961199 39117131 269079021 427300553 93632465 556959027 935709903 628753477 8829161 663790433 626690885 50503067 927385449 675721793 560244491 290644449 655325265 468009933 215841951 183703597 893033953 59042945 627000395 954502821 668032679 316696163 534580509 768105841 136239737 160692225 348330993 836647363 676916593 903684467 958132323 103298263 70184691 124685141 386901981 378983663 581369517 280300495 389389967 263011413 581587347 996095377 801154163 724671577 294179551 251353293 716385351 378003545 145007385 777156163 234096787 470982835 638013193 271723065 620663465 283632597 721764551 428864383 485041057 655091505 302020781 561775211 382202715 997957695 794015841 743033305 929080191 252828547 477312973 211397167 131945597 76573573 874960423 500794975 876611215 928348123 939243 788343517 809845937 40124443 883642077 975052965 407345585 290285291 548438281 508121665 877581595 2577651 677116867 276352191 737614409 74790887 34203559 935470771 126953817 181047679 517783707 714145595 424331831 842760829 889626827 270766337 580133265 336572335 219298729 812742447 334880223 367624421 686436083 83836541 70158433 968574967 159287213 887570473 988779555 747762123 978624291 360152315 907210479 134319945 85155819 744483391 195266659 780006501 626064605 636100299 369514715 725133079 23848483 73346559 897270915 395438689 517510179 641733313 219184711 325342033 426706071 135670911 577952995 845988343 814481783 632634925 731462103 639887979 529773579 860148045 928523369 944194515 743082459 768153315 533184169 208086871 506931647 908818047 507957875 880365867 42304721 837258037 717844067 414129031 190100853 830735523 378100963 366065071 994328153 97214963 717195555 904135915 756151665 390409935 517963805 620005265 619941113 20751471 923086223 735799289 827818099 381930643 620768515 141990275 148002735 234889853 526533319 239641503 930331583 825020415 53795573 7708345 196937215 263537775 749720685 335250767 308756245 522190249 209082839 264433379 166690285 622824725 354908837 85359871 756055737 774173855 725010443 220159029 648266743 60255169 429080077 611061533 802786153 447246455 873097331 336112477 676765983 499254343 906194891 752126621 584932973 862469953 621057135 449081745 410863339 111751929 684288893 548403953 383710081 950515597 849320929 931776129 230698331 545559207 588940617 693059083 488589035 243647601 361967405 484164191 515305201 208540323 364277199 344280155 379501933 992750461 742901557 210972639 506750125 977995971 575159345 57231061 759868999 568792771 255018331 862761009 427481619 479857491 421492753 408774379 778944315 485162707 423477631 177702663 603084583 989971753 769886611 196361359 324056715 546717891 394684421 648054421 808695399 166577559 792232789 912266289 389501691 835898915 998112205 440224649 652222167 653666925 932516989 769564869 289069517 5597957 559149117 584201497 291491833 641000959 790618283 735774653 203458751 815428089 730529585 325520629 446436815 74023709 545879553 500743947 374305817 966768661 123646737 451797329 93821145 106263323 192180001 31764769 850932375 834582249 751773371 965119709 134343709 265954761 479479085 842566383 638486911 422864007 742899601 869614795 985452313 556797307 781647305 884349417 183708305 828056961 237811577 68206797 570462675 67009793 662923539 129164801 985497617 292034793 986233553 217445141 186111177 976097199 116131249 303680935 858585791 34707537 433140859 153594967 513040127 966419797 958094019 131079121 361210847 171672011 211218909 351665091 544805367 726246471 345457641 585197037 156100913 73006569 718871251 726292749 807471539 795404629 645962059 606276591 805751543 528884155 938635205 326538339 989172917 3916755 17698181 655906375 183484403 997650135 433419153 688764027 916300799 912980369 11495355 857525227 77127529 773594445 194475931 705160837 328670993 18699491 920763281 36275785 269047067 508494767 263463363 852551221 4017137 217766041 918899493 567255381 813625161 224884495 776630893 977681849 755929373 929384967 358422301 237148543 774825653 241297151 355257979 7290823 721791387 853234943 541651097 854795197 814442659 139827091 797132623 509803921 3204841 870462929 937840955 12385661 17190611 58028889 751836361 408541381 545235211 45714767 619111205 241430707 347481479 160997221 528669003 583495577 186187907 676318413 663778555 778416081 107395971 495196489 629250489 369874621 368008275 159138845 656160219 421398471 240625159 720143639 137146229 107800931 22387197 88526223 845913963 747566601 81734871 76169057 60546145 151149375 906294657 84741621 653312969 75733643 675701809 150987065 346378461 590568063 598286181 706917027 43471259 738132921 335827165 283192881 133444045 287573465 544485031 541993835 720490497 756272779 426045977 734965339 994853011 547065471 590292683 477432477 724445343 742181487 175556007 123702859 575906575 949838879 549411285 816910603 764242835 891727193 381891529 258160399 987140003 541656815 425563203 851985929 576162689 993235899 939371331 336470587 790524725 392219039 801989401 33785193 763929485 101370503 481974613 21816801 402487075 237871971 573032921 603841915 221030743 8065325 74561475 54356629 162694481 220506089 102622851 951661331 606731521 853729697 818488525 263388005 605181471 469626215 329878429 397579649 569446701 535059541 767703351 478688229 275931761 284855951 105480743 524427417 579136765 579620923 106072129 508754983 904086953 406426767 2759073 822304939 943658515 126005443 330248621 339853503 647474087 974257437 696994319 36863625 503734931 955457507 282860989 180091579 274200271 930409065 447685619 713379209 573675803 798569993 946018101 976644015 465298945 324816165 731742801 363161975 199510225 874998823 789234007 230418351 833477793 540639363 585564327 360400043 667962709 667747251 973225443 648030537 605307537 442296887 586471671 262679025 842979017 274696859 716175131 614699921 927314483 873287281 892529095 890107041 473228751 890057555 200118211 86760475 344413799 636939237 244456983 645405831 430779273 449538765 270704923 701152501 414509713 344137153 28629863 783811067 290178971 36215931 895269605 216098485 342635665 582083515 744522173 189219785 280447011 454808653 342898021 821593705 481670347 615726595 721832343 347703113 540388807 196543159 961581403 776651175 314179105 383014733 969719289 893715017 666133927 346920619 218251785 30475389 549408755 313704135 697870439 291460379 764150117 976125851 412143923 98259329 88028709 434633255 454749407 663114899 791998243 366453111 272023835 969820097 706978071 463260061 608100325 663772161 325653891 240794803 782339199 918779603 781772207 927783389 171183737 854114617 806795177 618591809 339490469 538449605 349281611 980731413 62572065 722318989 383894323 264459155 95771983 510614573 991017421 239924731 886445277 234519757 522254919 28398747 630107837 472535577 600516505 115476417 928337709 349578571 372964741 764064201 811633073 255159839 24527761 499356693 169740821 709757403 619764239 833891857 782773615 619863119 141499669 569996333 346125081 668545231 989970823 832098021 647702967 799497529 563240969 473626553 885275191 301753079 797057039 401801781 616859851 872893939 185140943 15656171 183079411 469385637 808403531 800136309 728225135 97835019 963978825 297978487 902500175 344558765 268528473 210588311 449474787 817868695 661553623 500547981 240021965 203009633 572622559 682374157 162440939 492920615 680290651 661778911 109525869 230945681 616510717 949151433 369705415 830588365 964740921 694382495 586252469 358323599 895753813 985249595 289656891 317328153 787492947 623749505 855687331 647233583 18498569 42773591 895319941 570672929 48387083 296658101 441885885 842690499 80126907 545396111 347710317 801602677 320218689 981580013 850029313 539841307 461347725 969394901 375217711 590761509 853028185 831741531 394715635 898828171 927697955 395924121 593184913 20257735 530393651 836533171 525097621 836421347 97326749 179976145 81975763 334264683 279385141 975114789 353518185 325287799 598935195 74109419 699181497 931625891 4686139 220672867 657816433 245516311 659444291 306625753 534636163 69076353 387635117 861255585 817808431 480755223 677710389 298186001 733493493 858363031 161888873 673825165 765970851 642980679 923113877 490321281 267217999 638866165 562835665 797392477 966614867 813978107 132784641 68357533 492665427 1553713 720353483 569851331 502691133 750819587 231344543 614680919 637675845 881322075 439869621 499388397 957913573 366422963 832100621 343008543 227549157 566301701 94889841 660775825 854542927 595950555 885161841 773808619 587813749 602413121 172707429 239967711 10043385 713192399 495402091 623627561 526798265 647661473 707716461 336200329 779935975 932657247 577353757 477132493 467209971 559265079 758425841 771594179 196348825 741992159 624788265 9137991 909422049 410493077 952252367 996906045 798756629 534457119 168140467 297775501 280189385 716758477 174974315 172504873 427619035 202983283 625323609 853780237 104960109 211301745 333407653 289585209 542076139 264653995 292935745 499815355 560515085 997232787 597798625 92593569 537969611 830336539 856268043 34756103 94818155 569022149 815386113 977292817 388650105 264576405 114974679 790627559 762869193 819419673 157839463 619063995 173443193 596535657 80583245 968380361 249515243 733112097 89914867 319439699 253413325 497497705 945297033 193710241 556200211 910211311 735324423 819092487 257383159 664025065 369603887 361636833 708222209 917358357 652733063 449018765 117203193 681376697 252856163 836596857 485354487 891832741 210231253 227972887 802384213 871521325 415910083 67729375 82633143 871020337 114169555 230484563 701451 33772567 799293301 875551745 327240837 932741323 447283681 812426103 770220961 800177351 818109465 739765585 865295139 158749703 26643939 911783219 713093909 253711889 422921681 940887749 733051599 641235187 313377339 782637753 253365229 911005253 914525759 19238347 300851023 873364003 282781385 539333565 610431527 674581045 591888261 598913111 154064101 751303337 674797551 372104303 369731143 919601973 203719751 27334363 831310929 81497111 832506003 516084609 477635407 456913175 569156005 93141065 26034389 117812865 555522067 439093797 847785153 552432171 294953791 600148497 295572533 158245493 626072659 112318479 547970719 876885317 292436795 749302825 117905073 427384583 952615859 357376879 161315689 452160949 932994617 397346045 343231755 378699209 846838551 451267319 709078565 550156109 146468187 521043333 212295303 7372495 595803105 809025499 698005073 209359459 504307269 118719793 468849383 856385191 435363313 387223497 594655731 179554755 643934997 622423537 788511337 739859557 33280939 800204535 7343497 758930115 495308401 326960185 846542803 46231965 123519983 784923159 831328279 306513205 777927031 486112507 246447207 536811613 301084705 117751383 361981215 291345257 525401549 143873447 461446627 189519161 47906851 935795053 126871203 749030451 963354515 159086641 163132047 195632965 707461719 785464713 759048485 45886691 830390123 704681227 209191 180517903 594335645 632792413 676653477 520960845 836681337 649217319 54903537 548645293 685289817 935305757 391569321 582547395 79663707 55852535 421309871 964163245 430518123 24126329 694614319 448646931 694055735 674101611 623582623 573864997 536571447 988607395 965121213 944084629 234583981 490092023 892422537 707005347 513406623 824321357 883763537 940502039 201724125 710594701 363669161 66938685 79815683 565857707 110674543 545894379 832260205 7298719 790551749 299473281 78988359 273695853 819092505 611480293 244398719 491774493 928573469 666366853 771630539 783044549 883686609 656550997 509356465 929495933 644086645 480436439 420488565 895706725 971410329 742047247 708145447 819670955 523469325 549577613 461843107 407891329 169581041 518802533 687953541 702871071 862242217 182499381 869298487 183475401 301040607 900561957 613346281 423512777 209938569 441886693 121148309 954662511 327350241 226924711 897682937 766421017 295839087 761154603 812584095 504168743 47113981 203102137 984237013 724560643 897349023 585868573 681991605 734376481 915161777 37547949 85720863 782438649 680986841 123743563 365861565 76559 140948225 872618839 686454779 424412139 372904287 5538245 755226131 375045155 617049199 256086537 783325447 648294479 911093237 884218913 128329887 800934927 929853949 968765843 691749737 511500051 34377179 288627311 118341055 952645639 224493357 234828361 472354495 58079145 527414485 693100351 196393301 430890939 683458049 157086971 130837295 40735239 444256547 534128551 794153925 473739615 319531769 370867963 205103449 555979931 885175687 808014135 89996785 516788129 998612763 453945885 92750943 903201883 340781893 510298111 500046651 63990199 75135973 671841971 18309093 978611891 46826525 297156757 706955139 982429009 779839835 359389069 173522441 335858587 72025683 754993161 784956205 138663075 677551103 131713535 167194479 540064131 934776487 393500653 86779161 672813147 395520211 627988441 210316091 780142939 61735003 897279569 370328237 775568815 169640281 467376495 43100429 956087447 68434739 462961099 67464645 744875601 722393491 731354001 295460103 77429031 922742639 842159979 257153225 772277871 667919363 361571729 934371787 580660609 248305619 540633795 228471959 677995199 504382889 368691525 545129083 407503507 881072031 365478885 954387089 117010033 825514507 749061369 959223483 980950993 150988437 646336355 307565213 400816439 497301287 255601541 749557929 974847277 104034041 94367311 570208537 530648389 613695875 580227125 381468907 944644377 248159627 940056633 486513383 669065035 473515549 107117281 725805217 267104389 804547981 143474487 38485869 394427003 118250617 222648279 87415659 438163173 730737347 785009113 502589575 288191623 808521881 92678121 764168561 545849899 458211693 180690225 420201117 998789539 101535999 216586859 327781199 723993799 917047375 26637521 709385357 107653757 355620523 509442861 265542697 775752111 420907177 328523467 799588795 716641869 322062115 884472963 551485859 941396561 181678141 538076593 138154503 559652543 318592103 96595261 772803035 213287585 6843215 640814741 87062485 110036489 472136951 353662127 718711671 393982737 752176289 503979273 484370951 321095387 568241623 194962603 53664663 132238993 773088625 369915679 235212287 527971943 585605257 38190465 842293213 752028821 758309253 449271145 234634141 486874719 325720335 503324675 546202731 201833231 664682783 177978617 680039235 491780855 499590635 177963397 887869925 31835249 702600957 627568995 90577367 189072607 764283423 115440087 629902697 822680491 717824615 175751861 390192821 307410761 627901229 39137613 135579293 950214707 998778137 183414659 225486789 787733481 443892503 615042745 332561823 235857911 682116441 370128095 816083813 566834927 212329053 224925547 829096213 373586795 820910567 896218715 911464057 415059213 465421829 643124533 277923871 842316671 501259783 45527049 269792867 448214901 817210253 441848427 142495329 354322857 758014329 233190523 120892163 132461531 268802297 800162271 309286393 494265815 832423041 314797253 314546363 214604399 518250187 240493793 581190027 243621499 332244959 389442165 49215601 431998947 289349125 912713541 850384955 452134027 636181717 226138015 225249667 117640553 487014441 911348059 517812649 54758775 479209255 405107925 794018261 319306933 847961913 155601397 924174327 729598767 191982357 407429419 836401607 934830071 240796597 64685161 796407751 521155111 555342177 866835503 546237501 113052129 572021411 956683907 449381435 873109839 695785807 566068725 545419417 589122981 893149569 853923481 592958197 90267677 667140767 472934159 583962811 102152439 957655125 597193597 865693721 174669439 76251541 57671825 908552967 751007239 843497373 993618047 316223557 51252969 812773617 185019913 969402973 330473863 739859549 427193715 853486751 367308365 774815221 50309515 34245665 418336939 651530263 316367017 482613447 952518683 641133669 18259371 465415733 704823587 72604365 423427829 64625375 37354569 293303425 427645815 541971195 611236129 540474625 854106023 872381833 669439813 100707085 68297349 301936467 372899671 409226675 513267347 868589031 548285953 220948297 64678115 702706849 538267383 383745129 166630409 257941405 564019187 817351927 162607397 861595845 198591413 83115297 393808093 146709193 340063497 827631195 27386463 968562723 320880065 638033505 123440737 788300305 953049529 209137205 393925663 677403549 935377359 645037351 162253923 143907477 799950063 853691849 371817595 724449427 54443277 706439927 296454459 321658359 660069411 201436887 134389761 579817193 199362353 954094547 474588087 519527001 444657475 884578721 685434311 307510015 366419053 522539069 964821801 83275357 275961029 702297835 983862619 481589691 548703087 197040439 216045413 92562727 543549847 721107445 893149395 808048251 747948397 505123907 466385595 303750229 899231531 92028035 745832127 516859169 961645079 43292001 16546815 278628877 751212919 83626707 141262383 520285713 57215903 288554775 949124739 573674735 240260841 78056365 491138745 166943277 335357111 585471587 192343575 419270173 271808629 556700749 167239275 3783893 274695315 815986377 322511117 456745273 693626253 41593465 588139483 606583279 727165155 448781899 958990393 435121253 83122721 471809651 747395097 471995351 806749657 592926571 249111789 475811909 502020775 999610619 599541429 923300725 801590825 453940523 21975801 80074231 463088653 542173011 981119941 215720999 485554435 276559629 972115631 276932385 280238023 510861631 87194073 292094415 208696345 297966355 539335397 709088739 645294533 79752959 542428673 602855633 817889181 468815805 238570215 358282975 731404925 443720021 341141459 94314511 674702915 110338065 340530827 29074743 475705565 739322245 407428447 38611691 194474299 309147021 255600675 285598349 120945241 570216783 299818293 784006981 618988087 866985525 297927807 238662915 139891937 282777847 831407723 728327553 42664809 250311309 670572787 852407613 357106923 832986429 444832913 426062463 391740293 618513811 314278223 378231387 53265765 320986979 908171705 147344293 852323771 242760907 587601381 337822205 3064259 104901421 760364661 733563599 934676413 166194741 424875403 642804297 105359351 667587803 450765269 773859429 256519103 656709719 95508877 349381599 929609841 93707055 735200111 25208645 137731697 765198897 961930179 685822947 106276389 253344621 848206675 897625297 62840581 314556227 995697273 410625011 221233797 392894807 255890451 221541103 844758317 841428883 66478215 760497205 899608451 783237931 667499201 374062589 920437019 918085023 26407225 316602695 35216785 409103279 571435759 886010589 116242819 846172267 831705191 386499151 690812831 806140453 952719023 274349301 997038485 793006457 171524189 846374125 85011745 553249357 651659411 829384225 293787909 779680459 523205107 845199171 941401609 968657513 253967277 286879945 523669505 68676835 991203447 604958707 696700105 195833149 874419087 459503051 35951935 653384387 522272699 435578401 118853713 623963145 670072907 199707275 587694063 807267819 571862547 999340395 154099221 93843087 788946035 128555241 911831493 109780065 544073807 821667831 773104135 962914067 518731033 272046921 904130799 922716835 525993411 127904357 659120793 57290325 756666319 321210509 232349219 387653045 870185535 23522775 265673403 350065561 695567015 595148311 144711313 703564059 398333975 329359343 974895585 108431519 948673587 352765383 48182253 119611091 545715741 451171535 820587005 412161449 658861445 765582335 354900583 517560161 16418209 326642969 820603777 611260795 999525423 437832101 82009777 675913159 200577141 199147505 942273887 473469269 969408067 267372053 451079677 553088901 856383213 695562485 754139399 785236219 719092307 986740535 199190015 953404065 465677275 558190155 998599277 620609197 761544049 341271401 743663845 898479513 2454159 640095379 718227459 762908973 662038319 897331599 486156645 638793587 493505755 682624751 770736313 775928767 727136673 820547339 177281201 626769837 618230035 854078721 246093829 352712227 821281109 339036605 771728503 362019915 12497929 206788843 508060117 618166429 689079647 280602631 275425005 665463247 119213837 727834961 357701277 41915883 560260945 155421391 836591811 913892155 947075571 280472403 858264397 687630165 979081533 503140723 265571629 785678865 341286155 380864145 507528027 249486487 384765879 358876119 934028249 490622547 889913127 557304625 643275957 580911609 966897613 56226395 946697981 893576835 72123805 763199955 590801359 135787575 275027731 813854179 615863625 182506913 642449977 906778521 842129305 653702295 720453533 979429841 115429361 763876659 298925905 866017319 394150793 501278937 152960505 41144837 7355045 864296247 444947383 559464859 97826701 16228161 629392699 493951715 287132055 691811377 7991995 856298651 283698201 26035855 389025015 218845515 563267961 596064035 915940401 890623557 702643743 981321221 619907899 386327201 929559933 810107791 441523305 831471167 424933135 717884263 111611035 402009287 235502423 862056311 212691511 283291305 613001951 647566581 709923371 851277343 700997431 434094429 847798507 302819879 724518397 773658483 658474361 689482121 108084177 299836483 566639705 455571927 479381853 415329313 420670617 964188265 537481299 660882857 885630161 982547805 699770479 780742337 410700831 734170271 249660019 49267093 295035687 360046813 903747881 577604503 374084377 154119823 31067233 306975365 121168045 351713527 273153017 693596515 777763101 993514779 274366671 572823421 265900337 246127307 464979923 484896105 669151801 586078115 642112241 620590591 774942987 25347071 812006951 962549609 524702467 474026507 534519927 649527309 985899785 222761141 474034923 981976485 241886345 134639283 511125907 731668521 646848637 952670091 296376461 469826785 511963745 287443585 632700153 638017365 975850299 698770341 788801537 930281565 496011417 616650451 161876951 666247443 610700179 599501479 778148023 432835035 495944647 233644427 144429539 921389923 727850585 989143729 597918885 353774495 688847099 914768141 857408335 549874891 267768031 642180195 649836089 231290473 541917637 614286395 46210249 883624009 849389813 229763811 640864359 908791677 23310907 539943029 949736327 305213281 792074477 235382737 48913569 646931611 750188779 670047137 772370233 557944855 468859291 490339665 711905497 226516487 949138155 776218139 642336785 217754345 962666065 62055937 223306623 696224385 13732299 591492299 412323523 924613851 28646623 434120967 29349255 860845899 518255003 102679823 935222399 943626605 985734039 736086017 939394147 641557031 904942321 777506505 291378935 223207077 620156749 544594197 314671107 910052697 729099997 916311645 946655837 201742595 878511955 106700003 540171485 988654499 838232303 477556397 107166565 401826183 294575481 121893005 711066079 488749125 728040765 717895451 651550013 392181685 678285331 506425271 121584765 666031873 412965975 146696583 375184797 322600849 899258865 195116671 252747943 21614617 605974863 523500117 190549169 520211353 435224165 480790921 733830867 161779281 58462133 411591269 900282671 594291409 765110085 521037305 278575087 569419499 463865759 449456413 236945991 361093307 482569437 272680303 530883951 706818469 809891229 424804441 811559851 329352537 641534981 174777357 128838981 182557383 293734081 74928257 909291405 132372779 115841033 884828789 679878113 584196877 538114205 320273523 967877281 239423287 875262143 361906633 502843447 243809725 197873987 307231633 845156375 742940925 872986745 741204397 32471481 737025175 599974211 387901889 470643617 354904701 72612359 4153407 455835737 589459935 842628019 474329953 332193139 228655163 122011325 55188517 688084617 235217493 450774051 948307283 215474749 73925945 155726443 58141823 179007289 21554493 44291749 49619197 215621937 182948601 821405541 952407791 135887837 432864855 869476811 99444795 570092033 274351485 986595453 615006615 307379815 652740581 223813287 296252789 607482081 506902855 544991489 928577305 757205833 310123691 976148171 361330569 173672065 264121689 541704905 504612503 139415923 639238121 17723465 970122715 491038227 451320117 861211683 185511861 811155033 121547617 88067507 611743307 811220809 138071771 773211105 980137105 860857837 113389911 688570907 765173055 743999063 778539215 179029847 182531537 227802273 793880715 782396691 380418963 299707373 608207893 652842581 417090709 110557029 343439937 335749293 498033327 601636669 607353387 514109231 761761919 924958127 790313017 848732027 417034865 66270203 875936021 903220919 264418225 318210413 333898421 433386639 430873915 45187157 380333909 3900477 240206031 933378833 478587513 341534587 473969139 23844097 434777069 541355923 338412279 203330961 692649669 254217809 297430005 961002289 607997023 623530253 352334287 694902363 262393693 288347557 395100969 484422291 941260971 635879293 6308215 930407779 888319617 980257413 306341357 757326685 589533527 669562419 689128591 717638427 646528243 308097669 539890469 609860671 115723105 471525121 249285181 592232051 177188343 451184055 846773299 938958443 952558157 793485883 641731107 546923233 825220941 950223021 368894199 895529877 952639007 525434035 749478495 95115347 817046327 770356345 342184917 848199661 231799125 735559609 417656725 342487357 347058297 768266415 911080365 872709669 225083635 219480353 406632169 174328975 121427029 694383453 166116835 339238767 23673467 548132155 351264251 668959679 888756361 723192599 929525337 121341823 957953517 236151001 102583021 521874619 501296987 734484207 756453231 104554117 959531471 57151311 943353953 515657719 109781901 809564281 826079241 538563891 82959649 140129903 811919225 669674597 956019807 811204547 750414217 552684733 489827 413895305 836172759 599004021 242795923 254926689 440232399 967041233 438071961 171444337 691461023 272529179 35383661 867420775 68863295 616420261 743204167 976510327 929385839 91286473 3292333 597024867 953065145 891060203 62326379 238875503 347746413 960599153 466923157 147942249 473587105 593838801 768481673 999471785 839746617 757686917 523381993 929302029 395837401 460168205 29128355 908961785 579882741 624794101 863202281 597418845 409527747 851361231 820076601 185196207 852433731 974908213 395663961 92633325 743017023 193723081 233256273 738984095 871374917 299686711 610249081 192082641 242546865 883240495 854607211 963474457 686403999 287611755 592737035 412267415 883207929 716515761 76987015 227729905 800523631 561023943 370421075 371718741 702927227 633207681 933355305 508300663 120188507 892880569 573000977 894384793 882294041 384410193 570313813 362411135 997604739 420997429 209626503 617590905 42855219 176452949 365477257 249313627 721265801 855299755 795680377 257425027 381792685 945843773 509268169 812599513 336405903 934280977 867771433 125458381 228809449 927985467 302882455 676542545 358437687 881286357 803315541 123544549 34776007 869524737 258128371 125243281 61521573 617263851 262460229 278984929 760564651 514177731 833907811 931100907 817782135 479361221 226857397 781508431 254209141 227396657 590769127 925552435 592858579 885687891 877724907 247127109 14382217 715083645 142695167 628932539 227834969 333756937 523035559 303757649 947642057 836747099 486598319 911982675 765807147 212976857 565877037 38477449 289369237 273023737 776262267 248460109 230384875 505397301 639468349 562397309 36410323 168816653 543318113 756433789 814899899 980369935 704706073 736826429 674497759 839459529 223773925 126087221 523318335 248127703 269215365 180257119 420694689 978719195 776664841 608752453 918427797 578317185 444213187 46598131 982430839 634141305 278681679 881810175 533267811 841224063 442250129 182040713 908958787 899807315 783563447 645029431 184395977 986671297 152923189 952690743 346465899 415501725 320186567 732319295 177661289 746704317 638859889 196707981 22273995 808788741 317248893 399183079 42555493 665506145 953731971 941124509 337414091 144359873 36794975 207096451 589643615 542797089 947742515 994719223 845600841 898865537 351795051 333269475 455588985 659271407 16127933 960180401 268141481 676222585 631131429 500366937 14090327 532913467 29215719 804933979 260426443 901438295 638712975 116650939 424905753 190555897 40377585 808016903 920755477 526835537 117918507 403254869 391995231 130775963 329218719 402663237 797104739 41171993 357954299 244545277 289364559 940517139 926226225 515611179 572919581 781161437 948683393 320134917 958056843 40667601 498566507 482607177 217478689 119425875 902483645 827600445 653356081 378728139 296150669 109214641 432637649 78269867 363517237 864836857 351907301 453959535 558302297 211237109 777457427 173151383 184159207 498804233 292820171 303347631 532388627 787236135 487883589 303713355 939131735 297025217 359588225 440899073 895501179 442764249 220762697 815050101 82220169 680326385 447138093 371342675 215390931 845415709 159702917 672364365 292109563 59076333 271097711 377639193 784013535 395075971 999501013 678882175 29243057 760713095 631930473 931538245 149591009 289686049 490664097 667243585 630413355 719851533 336727229 711359049 159900823 390286471 848978375 796081217 523684463 811883095 44712847 165281045 160260679 872850119 221134763 407436471 88650493 821022899 449254525 976646429 889559731 594862451 879789101 348117839 449042389 593402867 681251245 912882259 127869979 312477597 905601971 234401343 613884797 617801067 495898047 423231273 712529217 72635095 231129881 387208247 27380979 29048043 501267925 562415247 758620007 54009139 360021447 127506025 970841531 968362183 215763345 243907067 468228689 451422533 564087707 409114247 682789847 899579345 155991317 509813083 890728001 37335579 809322743 713995461 372087241 79400281 706499331 431878945 265501175 997167433 733201089 66357715 676899475 488047409 609287807 829826115 180159669 876917473 911926869 501952227 996519351 686039981 527175463 802008111 645639229 285384053 543254427 58888105 274742581 322582431 721665313 654197465 925336787 4090391 510295281 818267221 929747859 978182743 560947981 300707507 882260793 569681497 508376379 325183385 182764495 510199719 396121101 57172143 591515821 677277773 274792411 106408615 178681199 785244131 510985667 914250813 831463671 147736711 88361137 456880435 318347377 307557341 257833041 574683473 549807699 379517973 142869537 340153707 271923033 14144229 409594459 883457629 697671559 762643083 282244875 497304583 980138281 15494861 512743169 529472083 564070355 384272379 335774931 10126899 276923235 42839531 950395875 234494115 972831995 621232887 527923035 782772133 878686217 155713291 55561511 893478721 523455807 614269587 596064515 422470797 724752283 997444483 260958061 300613279 709521763 823464029 642698927 196680093 21899551 207457573 452038103 763012015 259705509 762908777 294861761 460631559 218864659 942718017 309573641 627175393 207525581 712166731 869803033 489582463 616580733 372043179 912458273 163320105 255149079 297746449 478507547 742743093 173531355 229399731 795553989 516907513 255480649 74396751 127637159 577000155 717565489 146544429 438005013 816637763 928095141 813020697 858499873 868211365 843384321 215303529 478738097 321194105 574761195 298949117 490631531 5646145 871500365 809960507 420511679 874761099 391596893 109377807 966769127 32784101 575133591 258627315 655993057 510537453 217681853 470182115 843587957 149999683 626954463 234937189 544623925 791067025 482323791 409628551 714635641 690644105 941218219 899476449 377302623 556088551 330621909 26899345 617005523 704175981 874363385 851200315 40035971 23267557 867805581 182089743 150241511 986015519 583135823 600688323 274027073 751254009 599095615 3828887 911025559 554331731 396982699 248206925 2039993 197421335 965164583 800469303 466908995 250756663 277481361 101111849 291907985 945914799 698005003 224125061 36883919 316029569 772318211 247957291 237768427 643174839 114540331 921915791 960813981 363969377 892420995 602686117 646029157 717264797 475940427 931636715 605763469 564913035 116676883 573960807 830048803 177252949 685394091 489490855 618287363 576847919 275539507 503345859 467514569 777735505 501740047 978308441 208110559 110154495 590259945 904771725 590940535 940617345 378140855 554347535 265579653 504705069 373785523 224399127 712584397 205505113 765974885 843338079 663565271 200447595 813779351 771063343 311212017 12669387 636755805 252013911 415768885 572187373 345042451 879854637 176075397 115176521 367766111 321946253 530505349 584752995 585223979 879448543 116407463 953127877 479641261 700811281 697981987 340707839 568285025 574154393 715217659 117900975 791932171 908209523 332934391 343795061 429821367 717904939 213039269 633796091 809356985 979062473 213955679 337806069 388939183 500566759 277502275 785379099 831580027 358225059 835213885 129207857 450149195 245396385 441883899 952814593 301517201 706872849 849937655 363798363 482304267 267844523 771803757 520355613 687060925 427581609 246796649 579246887 627377653 791683797 345807547 259681123 31635267 551820411 861489915 837300933 350544263 546413425 18978697 393065541 423821795 798199833 266046859 934280167 144614341 823186517 708170485 99047861 490453473 530250899 53894013 467061951 610347313 55179469 638222757 611007011 159517181 718199167 156490163 861983745 292696781 88977071 510245047 697537155 311881593 417489133 421352845 313367261 330688539 816652365 635089873 387944519 499437593 204160879 500356845 725450501 32323869 280000631 79927059 428559201 272816157 485112343 264302649 788015789 193512533 300445825 90963231 607145025 370348105 215501941 515124815 596711043 705706693 472468027 136690967 781801437 539501533 423692959 919164563 831748029 754846189 730540025 646691999 288772003 525109915 769059109 926851301 311253005 460559825 964856459 815717845 658758535 675939527 303042329 887878569 459272609 478504181 136315717 617362271 115734521 594217249 977932813 568297919 397494575 703107671 821643255 585605213 772793837 326094571 921006611 615141005 504959463 418870139 167210229 72065137 651340503 296510441 299550653 680574961 157835645 945869411 347592975 250340285 778043555 783789659 46045725 538544205 643627551 7120785 794863001 852435683 829300169 398999813 989401285 751559301 453831811 513627653 861374053 561669893 859041591 957999911 431316423 338428411 491494873 538627397 206136769 276553159 700480099 836753029 933044661 99120783 855953877 234997585 21027461 615360327 530317113 70955869 648997793 685694119 384137893 398036649 524263423 735535659 134445617 967857783 993203997 478628127 233247999 26556497 101076993 357946771 851523643 525698831 949530683 881689951 585313811 613739979 218296543 231918369 79014599 892931819 984293261 745561925 418020245 101597467 972121963 990427895 923956169 776693325 111043621 318760755 19149237 403081407 226209523 848652217 491414451 456579059 526015381 246284303 725625125 425156537 914579791 129273477 458811765 956813605 189825007 297163575 295499031 778831759 784376013 335855361 201364611 614653855 730491333 517862029 663757629 335747649 135798335 204265293 446081743 216938919 667147305 676819573 130904011 719147599 24922873 73514505 561128651 275601405 669580463 208690129 446522225 273202367 536521421 885136475 942151017 498335717 670094181 835994115 618627427 185788687 207162891 323657701 751219225 372038943 226853087 532203 154497871 671442755 303353735 876360901 722158287 981497327 323279407 892066541 134411627 236389853 343873169 558103455 983651837 810102549 457381607 588680425 422069351 211656159 725240059 235510167 157392021 115388371 696100635 348845123 584844663 565000907 151354649 205223501 235209223 131753453 444537689 203139805 573697097 465461411 646149565 366159331 110202951 4697507 265074869 389810967 232082195 59240425 933944887 915485947 944531911 520029623 843589825 470229973 600227973 392008093 98710619 440969399 342626169 985505133 536304529 144777849 342660051 19813701 33320569 649164985 478453453 986687109 913269171 753184483 469314733 783637727 935563621 47963941 561342393 81378627 302642235 442462071 733236549 323454703 901954671 999295129 187360427 978989159 71454909 904232213 998716493 65385079 545260907 880130619 409627797 986883381 427987783 738663715 554390775 645009145 681998505 866474411 42664685 793196395 871312493 664733053 852474615 662751351 148019453 316479243 892560289 549456721 770627395 958498955 302200957 519625587 956963767 414101245 106785061 817270179 262317399 297813803 533248571 925512943 442017451 779189923 370513003 333368231 199538879 883907265 589410661 411635307 828073001 527328673 889514725 596227357 877967369 39889709 192015787 476084205 270973189 874651157 286277763 536550473 832317515 536900819 163338047 128234483 709042831 688019621 150046137 619141611 52471571 640968341 887060691 96727425 354832027 589873265 69373305 973215047 837272693 197229011 272420251 138313753 637455225 365469979 506166581 891757597 472138501 268584561 222261575 892811709 689797117 538251973 915926749 629610159 331503057 575804113 371117065 372544751 28288889 616150033 144085221 964404161 264405103 466491859 479855765 728220849 455910333 98913827 81377343 622088339 488541935 912990427 364131353 312803973 686728987 641530521 962754653 339354857 575721441 709842889 377761867 434591851 116396135 681614233 474769199 972687617 393055323 928917761 325794139 475487977 940437233 361769411 43882283 757728675 161948139 704827749 316242429 970002685 834761357 536642105 271447871 592977931 398571175 367271511 501456737 34072107 868419469 39986845 86118621 644679681 891850527 261587895 802019641 797707381 42368705 106367761 449531899 298428865 937025635 832185831 82646455 13655133 605051771 649140793 358980359 691436561 161564169 585875405 403907983 459579621 134859151 93516083 713564405 969903153 22022175 251752135 67171823 956485007 897359695 562750885 607661879 892104677 609896251 552278711 410444431 226773085 978272651 534487983 591098815 714307437 410003053 308030979 17395611 400479183 666391447 466691059 245610749 881236875 278531399 604063623 862379977 507024107 585306947 681910675 100584421 835843971 460271577 179130027 229520455 887203631 394590433 134437937 375362025 87679765 331270329 488737613 339270349 636807841 98705733 566523887 287561979 833533061 407667447 837720017 156530055 101295551 485897665 566218609 459887499 680945299 987976741 97810201 224594731 210752909 557933093 772335063 794326157 638364801 95746131 625465477 814001897 913258893 303348421 507120835 804128115 412185619 265828887 450800631 380298355 468422591 590025329 965538389 355488303 411541897 546852481 411894229 830678011 989995177 565363325 670765365 429731635 418524581 480024867 116066557 500469813 64711499 687558841 323040895 53395311 157223339 506430479 456435411 750029393 540677925 394194809 65668055 306844247 871665501 117626327 657150263 109239809 309448765 836274573 456555361 561826269 598647545 416823691 81192589 887438201 689727249 440770121 851194811 150826097 290369351 771229377 319239093 780971369 361588389 330565501 158859787 523459337 669036931 318348169 370121749 656168707 486809723 481820541 840951793 773965587 534528371 569641589 269587851 367773177 329784981 405038361 759215503 685420163 335171927 763765399 221915257 393841791 761733493 93407141 492704647 246489545 367593971 391762817 943375299 853344581 120573981 964447473 887873789 117386203 285792903 574436677 812242635 873718653 974332429 917237073 147367311 376350759 548731605 693189237 891421041 625983705 862086987 15223703 536079203 999752865 522755873 10017827 603391515 477394317 735401557 53703443 544875289 483691961 640060459 194349025 501014949 31477321 82634801 315879831 633966035 382889061 218930999 226052033 449066871 2860607 999921757 996501367 745784115 922228243 928767493 429633109 589508463 281538339 498851549 4396419 267388763 594782391 242633431 49586863 122722799 851681059 197683251 113958159 475244781 23960771 282101361 840495713 697174493 723816181 746726241 320967149 420796173 403753255 627335187 659737471 983229079 377317835 9084903 123294317 58949465 482284887 525531521 739475095 671932415 103465811 132260811 892521313 939048951 317951813 343920379 686928061 814023801 645358531 272377229 531589149 260809607 158429539 87299395 253588355 340193511 183277003 814296109 453381235 924551979 727289507 814251421 158601979 717022379 759285917 858430255 906996403 405854853 445908085 22416841 35867063 252663717 210757101 729804437 750770097 955665849 596469453 783630859 162208971 203226169 907558891 620056291 670447805 481417573 588870173 275055905 861988805 655734087 514465097 407491863 604156841 888938159 696714583 312388179 82288313 177181235 175068473 993957555 354504905 307517749 516288491 372487517 483442745 647520479 655963503 915856829 708021999 310895389 730257357 604830343 150788953 946418091 627913755 928513205 505679211 861152007 362811759 392675469 791806887 568528763 924029423 861352091 960600081 317232149 605788099 419484341 376553271 697487793 489152541 108703477 99977009 400773611 215891513 977454783 231759515 918631981 614679641 26584513 17172895 188945575 302040775 665629423 258355431 75306835 211832531 338703747 764593323 770552047 295278043 825460741 542039977 277589507 228326461 663615805 155444265 626950627 573813351 908608323 81073397 526810019 310372299 529252465 474904681 585276707 552835041 25434221 812659039 581934095 998380333 361911073 969575999 464537301 450095671 638425027 160221685 173927855 599942293 330194895 531828475 300691867 293770717 816288777 727227981 276746081 953143989 866974589 124670065 33824915 670148037 100320895 562401909 187537033 724765377 502480811 918964977 994531681 426944865 386386151 265255169 720479495 674029673 210298463 996614991 555691049 560986785 589151109 325421317 377073471 643950047 604487703 179339995 273107851 468470265 354757913 219897871 558953491 940781013 988830679 209346921 523585703 767229531 201185511 931396149 46135011 514160511 783912225 671042889 25402659 242792761 933922479 632710661 20658067 636726413 669558263 700749135 773944609 600441987 434786995 218383509 175213189 675311921 908975323 352390349 174059839 998064813 840925623 315334515 119198361 880925213 891741391 470833041 777671329 627696297 489522939 202984629 882465075 737516165 362878805 296686067 588430059 369091561 788435009 997734121 948771891 70532121 102786669 586184897 925855293 724749917 533771213 581948709 891039741 612622603 424960157 648253261 707078455 322178683 100984929 664917241 127793011 117803023 344527075 454853995 756035327 34923825 872954683 436971125 867391991 238718547 321124037 252598125 226830647 200962547 157421601 769361455 195195753 749187469 860646977 862737443 812960765 94002353 464971605 296143159 278644779 678253039 487057883 313880799 21925365 63553503 71203223 69101853 72305443 870407719 324831381 785100661 389645891 81103471 993704489 217488887 23648175 538569579 168986607 163696183 267398277 137849811 862150349 936598613 460200369 509131115 734291951 334395893 314761953 453365757 854320583 995944775 117556623 246304859 2227989 665172483 612703223 361182045 765396953 380631139 831437349 658822889 286768225 887256625 216633065 19380455 165193795 371688889 994334427 114513995 203559769 964601041 859938139 468043789 277401799 487757785 519060879 537511473 458613243 994076855 107716971 105104577 727769511 899044313 271070373 332064463 451826379 661125429 304569279 486977907 716623783 738595657 307472639 416883923 14252747 913983003 652672373 949060377 448104457 930674747 962051069 709605235 303142269 129380285 687088691 404722465 85316749 573721921 79295361 497517665 296831203 942315755 838602265 49661309 285471605 99673451 341775857 794908619 386838397 496947449 950000585 732692643 667146627 192358991 249758251 975741031 80567889 796783543 238154853 109713281 599024635 648120829 488813971 743900005 518606559 584967545 563564433 871058827 817123485 685034247 423657481 375312503 302384935 121838351 914034539 558777523 915198893 250873471 870593009 251648977 31916461 996212685 188323993 278757225 988150251 513502711 787736619 469094433 809261939 994132867 648248379 816777379 853050523 290819457 285442589 353176733 575276027 375071877 587056627 137359823 337625469 527727023 887435685 466432759 52377927 755658659 491837411 596746465 577547987 366917523 999212325 478620509 362747865 53344305 481518765 963707465 630027617 610643647 173086081 515145861 925634739 790375423 29558643 863229693 773903463 228714309 178005531 370063775 185007959 397627745 808004057 314487403 904560551 999453623 383954131 191708767 791976389 852692265 932800509 2782343 398128485 923444519 902339087 253610741 155071107 37820583 261836421 210265025 153119329 892149543 873449131 600745489 17191567 814895533 971026577 826978575 687956447 123462601 442155023 683332331 278710637 430568079 848686019 471590879 425905055 874284959 427504665 592258863 806878495 454821917 821284925 241885221 303165923 993744315 189811499 539802387 534486567 986260395 440046243 525402707 367350639 710195119 155791915 726748487 233331079 841459979 341032979 322791257 772347267 207819149 297129591 828272893 417842369 473384589 243380787 40037037 198658531 841219047 293084145 38729705 85344725 762571523 285314851 267523133 51881679 756831695 436486397 886623803 719074121 214849985 551817091 336047227 452461833 703276759 988212861 619205285 398111259 517383321 486366843 869494877 159392725 18500371 568813523 847319129 346615761 648145883 769135527 961268561 753069811 126599953 267397343 174632713 205286505 444549209 191026987 873594699 561446565 681933285 196267525 953229033 663481959 421937511 354566571 450867901 197855663 270394657 234325029 276189353 160053965 892623063 840371781 761077401 44902739 920827607 16808099 647215485 843688221 828493561 323407007 788235343 705013583 953855899 68916577 484879125 292770135 718819489 49684185 596275157 310262249 960359035 340958911 91342753 232697857 193780511 857238421 524190615 403887587 574917387 883789729 737908697 22683163 966950471 383123957 743743629 353290365 154015069 224674665 483952361 945641253 791057513 777601435 707610663 339894137 616034821 119085559 850139271 169427747 364985433 11167403 925273685 853947163 106967057 836297135 86886115 410197145 872157031 94008259 608164747 320896035 287236885 849571185 424425647 345473669 623085925 537901577 68123323 276152275 385051941 698934947 27360031 657078379 456362153 612468509 638209877 342392303 794837199 951215905 864093153 982236237 57732607 944833313 636833101 124951223 542665513 308875603 722620715 847402667 722350271 986242231 466934037 660628207 587395009 946298391 525829039 985412235 101567159 992339201 777350047 644805079 534957227 398337745 756552859 34286445 866397753 801767331 112501341 913064241 892586619 622396257 569784229 381054289 274357273 609862843 573833535 121498433 718647359 561854507 762021117 623490747 702230951 344273647 268621497 503462599 362105741 76496913 429444951 686036143 42338487 283360607 245537213 250720007 681237107 391780467 814527969 795917483 888931737 169262509 18299325 537252287 893882759 143477045 466220625 586818227 409277217 397468667 400907945 697720119 243637719 453421753 329037015 454426441 557939359 261169387 460196085 603295789 622585081 691318751 379368999 211287405 782762471 110626209 518309267 919811043 844088571 800653835 202652017 196654757 833216331 661367227 606804469 610277915 455325299 449900829 693070949 369896177 615282587 351500639 851850765 328800025 823121519 681863033 844651323 723904209 674308137 693277997 199135307 213424541 134501509 315424257 514699935 781865803 668569289 139611719 813001123 909072107 481803973 94899735 887431623 567366621 535126477 144330831 706739591 98785987 86854079 521037723 639250531 678979723 814380037 848275815 376279527 876119401 84092041 864092911 564535973 960856023 909334723 994701363 736886073 19643803 334474931 959510265 660739393 451329731 168986587 146349521 394897003 343616161 993438797 424333079 563846503 439169745 214226847 126111207 292198639 795036215 784093165 123832107 886257865 117219841 730075871 850392725 247225531 229772451 852928675 899496347 135670681 550704857 115879149 527081597 511877181 467459751 460470783 52244803 902933131 872061527 960505247 749979329 541722219 812495233 515827735 816170891 431620303 712681473 164794689 804846851 584078001 717037817 865015675 637789777 117485079 225205205 627972777 95155559 126455047 2296139 135026493 520902649 266553493 644026455 116841769 934637707 974058973 825967933 10031853 813631333 920690941 88346249 772649105 176662933 486159395 85024785 114715809 126414837 67894911 913750509 776805685 239958565 780957005 333602181 928000233 631693195 322763981 373188741 927711717 447804507 653540683 53693919 698185431 867534989 611657243 16658643 463082485 175181023 245874835 545192417 475670013 29049817 683070231 318638039 408475957 363036365 13689363 838271179 654077037 316946131 846775543 572704535 676186105 730233801 320197439 335379039 285342903 658462555 995112301 714453649 926731025 341224439 710458377 344833761 502356465 513214421 200280743 428479691 582442449 211242485 386992355 496820497 249314731 41794337 319190875 602795715 72715273 460689641 643103421 532156979 307820023 575614117 278422713 347526141 383934989 466409075 127343371 129269253 729394023 101231167 655854195 730739323 497448621 287956149 491252159 201262287 285156109 92649041 434597053 273522367 737733437 695174737 906419017 145647437 3991675 694932927 774754887 435493321 592339341 498540139 253583007 217401541 835272131 366147563 449685571 595020063 228305393 68035233 938710831 939073273 430362487 57697461 703678565 121455295 813146425 699844377 155608301 546542121 251934889 880408707 146715867 120746799 952475833 970041459 756985931 137999127 287621867 635381809 284446299 46804845 314434627 336541649 378803769 868893445 294729807 46912295 795234837 755198717 402828839 625924309 548662315 679843257 680477031 165999427 817129917 422297057 476306231 421137313 229019667 538742127 419045189 653435623 414737283 269525659 491657927 820996823 596179043 682284781 598301563 266928377 905821209 811443757 416263849 271705499 388685835 666961267 671768603 389014743 414679217 388867097 590173485 139598731 74956929 448395971 771589559 602658403 525268733 53240929 233330981 868709069 636299187 260267297 615446371 932256257 783733041 634205061 65871845 70009345 313317909 421842767 44378797 992815251 173702141 772481673 951993151 48161865 818761879 728760971 358697385 727754619 496010389 615347953 248239491 589864263 664292013 809855645 667921129 332694681 999139495 25763515 62829443 672725791 412393547 145241025 984753535 754000977 88712809 371005035 804365971 235975791 176795101 489780925 372418815 599029635 724446347 807453955 295308933 912410205 548914779 299168465 634012535 99901843 852639809 789090309 203891113 585367175 27900725 286041537 56621947 471209571 602230073 233970547 119295699 837956371 305630299 912468941 657230365 182088787 336955305 488082381 385990995 118281889 313940545 324582841 255491825 466761287 366430785 864642585 105691901 387159123 162871767 42862787 853529093 93537697 366157365 376698837 191223841 995862989 567434899 560670387 879812077 673318977 513233715 449252103 684939153 45788461 116742755 238080453 664915901 280204427 961240945 833407533 195134115 349349657 177948091 377260223 470881539 456135519 509388193 219560011 399245091 416067761 917834125 384961763 508606419 808475171 623671537 4443875 132872553 29927317 660165449 551653361 963025601 645478579 776952087 111855095 599631937 923993067 664868069 750870059 518101211 122426743 50758211 77503497 740988163 665774165 245885647 2274387 541198773 858348877 61935399 459060249 706000251 143610865 124172281 643436973 686639459 163479961 209937655 503996845 579749889 965866083 465178073 793155067 508974707 925281851 164165987 986888387 473061219 548810703 685493341 306923901 293412859 746117527 376265373 251206113 363369203 81818837 378942459 817000693 799385481 590051471 180596567 118649349 927877 882963607 384415647 819866021 140447539 896742019 895468741 851486387 963115625 679542967 398718657 768212817 746194823 379847511 233701527 404237293 937820019 495682903 366187343 24123 592003483 71671661 608946431 495194165 954484467 231967513 816025535 853859617 520346877 253936549 580409519 806414477 241182909 456562463 551719167 940955465 78377923 234960227 779807963 662463093 500732707 378302221 570374785 302846069 572551803 261890183 366144819 364685299 88743157 99979011 873645115 780950757 434828347 867456373 366661097 499220869 740065157 882182561 178168475 847478619 125773457 464790287 820543921 811982897 207623847 612332045 911613589 289484571 812466067 153248951 646570939 220446581 23808173 355979753 56576411 587139045 312340945 944329293 559560633 612009813 416310887 459525971 130779037 985518075 711354459 128715827 213767645 442676307 165940519 423087343 441039633 98500129 287421639 700086095 456126683 258802545 251166401 43671521 588814053 228196247 951692069 52022527 358889953 813996593 470071175 577082823 230098061 488897057 771984901 383412517 47116453 966287509 796755529 254256327 15038457 333815807 474626685 20534823 115312985 422655773 546615897 811490689 576599967 750467571 990343197 973722339 643547307 752264911 463027595 708039959 298703981 136392513 226997493 19027131 464853457 112060713 49364017 162441005 201378263 714547113 976931739 769858963 943058043 417078319 274834715 37061089 731460557 710417263 383064351 199503821 978588381 806712931 341711261 804134361 538548933 332171603 306553619 809246283 894268327 913699529 554521479 764715059 535110573 417594519 65368457 217902189 770694155 683039965 661404973 994474133 808484345 615087359 95685393 48334869 497582523 358202023 103914335 526767903 415030171 860234443 121169601 285127081 25979113 308102311 756337521 748587123 744314115 226455743 967743017 182951943 977491529 849865695 5327667 44008883 421204773 474414619 255184219 654555795 478923531 760888271 947787513 370662019 448296307 85778081 897418473 907246893 926583009 967470715 870755219 987597569 832455647 71084693 632216037 961567289 947543039 437948519 655671381 77314515 878502619 901025975 938874337 955371159 214813973 882766481 152395023 346890265 507412311 276024905 191575277 721494445 509348181 742202493 970065429 338564981 276466887 302351 236698527 591678809 782238833 215169069 841994807 391362057 932076317 479681353 583258887 470141949 373276317 684155427 425653961 147661943 815082187 278727611 444374199 107832445 703468681 671452513 360185755 860860897 301739201 704818085 589973697 582484539 249114471 613671783 52644097 233576427 238675571 492170955 181488567 369527577 76221161 162446395 451684811 536598707 879501267 502915947 382690475 170222455 866023747 191646299 9307981 456639199 611864915 348294221 156653871 110687287 231041317 73503435 857407321 632534415 508761571 470676653 949616981 74495167 971366337 327425295 71001151 318567525 530910967 749859409 776271279 448106733 869316297 307559717 87077073 212893571 425522305 343918971 555759441 811810083 663991921 450754449 194339427 732188045 573393651 112508649 483509705 959798855 768071017 204454227 919306951 501144481 580152127 930963939 182745387 735633847 777209571 512017393 804059211 624138597 191420629 55966245 610241033 88343893 493160083 7782763 504745927 898787065 41168809 385065461 345148277 675206533 122001577 407729729 52607625 103664895 303552557 280292371 89619713 888556329 771744215 618963833 213885029 432193177 301357905 393770435 94056127 805618083 754934607 384370321 320935339 439407977 838504075 663690437 712095555 841071315 981967557 334243213 559134509 65915281 158203849 391536989 425142683 966219549 586555497 243507439 506124863 869521333 958598527 696347211 841930587 470640993 271442669 271712697 312914611 263290099 174307997 576041169 398877845 832482563 738211715 250764141 687026905 719335153 104568985 36059827 277008859 861293541 23132639 472743437 317065605 386397135 850699105 966704689 250924609 224306279 755750449 454088731 515241991 23625263 611308393 21194253 950327637 182297453 520125227 309594263 820009009 882919731 84544417 789330315 255964459 785755225 330633727 892109575 218206297 188307069 693611391 291254891 351427671 654846731 18943585 950386537 165339979 528381489 146946289 514331889 203895271 827120103 593508993 658548289 117978207 200685293 32454763 780876253 573484399 567477197 860842769 559282321 99787105 689732055 801421535 976700019 624319747 591749155 610571589 702186971 115491495 725485711 384118205 873878129 839329585 223960261 238140109 544991265 947222787 93186871 303091963 832887839 150076173 819882523 51355099 591698405 426287045 869059697 576835847 358533177 50798123 498498307 66583329 151603753 316449985 551389535 297549013 98545157 604958873 106033377 894507475 582400621 313075273 359940517 459223509 277788485 138817773 272183189 85849503 772040375 698253099 758536545 592279037 621257783 837603893 450056067 620782269 999812997 173980351 941430585 621850555 142633377 187664903 131193741 168510425 569801691 165958867 841741901 288155139 959496901 458195569 498981651 745276457 511171387 200712121 64823359 686748229 899365219 227944969 20333561 696222555 465370535 564584517 799607601 469827703 419857341 783856093 685179553 76117415 372969377 375231431 997738949 396288775 69319831 525691779 554548203 466195897 781615147 450319379 490938655 989833961 514681649 147248393 539779899 474190023 620685511 191867 412963549 959351693 349038927 488977157 400261745 154167937 11948917 747902671 229253413 460905705 16926513 550316677 469143025 217921305 102869179 792045921 649712279 328528235 620898201 750601503 818149021 274517827 249265559 429820165 913262677 280856583 186255819 923486945 960886743 709086253 662620557 781187595 700655105 467378223 554952583 368201825 693943167 573368717 534548127 411715399 809571261 526666707 830722831 273863343 339439095 143409557 764176207 142648331 138601005 292302697 126823719 191402843 671313957 33309427 921718431 920974375 857172591 480119263 379660047 909202043 131018087 184776413 855936017 396650479 214274601 17546921 616225419 306870943 944500127 652766979 46069671 920618547 34231163 93513143 524923355 159778519 652424499 1016215 731491809 488499781 941952775 239321983 293109697 137029817 929192193 66307405 212769221 927156217 160179695 186880239 130653569 105855061 372293227 73099093 485154001 206084001 563176405 253999995 853274331 741433917 46298453 102268257 149850891 83461645 966199517 285792531 831009299 743676801 452743201 480735141 652612337 961203857 263782309 902420013 423748585 817879991 172728241 609460431 315654023 255061757 292491603 169049015 709284767 525844207 210216293 984249365 584230991 534596005 455792007 399108389 834034425 907063739 475656479 528838439 17131851 82851673 503603811 27362921 543607351 782530861 156855109 929659961 333977339 304405355 757950089 577917939 639471133 839945429 974057653 19106811 679804517 626826161 261632283 74619063 801395177 217591497 131901139 224530335 997356295 93674103 754127291 624263207 541772131 374484889 631338879 394015959 887292135 558650517 446414477 135358517 543831751 998966871 912977693 1106391 483287171 205693783 748972079 850747731 929574109 997644949 318072973 983164749 245005535 215144085 863512007 498588273 998998241 561227877 907468085 48966767 563267453 290494621 689166069 530359043 703804569 745932889 375120627 548070127 682566751 617931841 740334043 697491195 133275717 532098947 724806185 391100155 857048071 329907925 206682907 944774347 539385513 960126837 106217403 717259593 110069623 607418409 358976473 664265571 471414533 554002497 386545419 437575945 644240943 11448977 784587187 898524727 47916315 451417209 581388795 668994031 281099317 889239773 426874575 760537913 316788527 88877359 440553707 875589161 202372615 543472737 65574349 289138395 384843265 739425781 368942781 744760429 224374443 659680495 395264463 902382093 878653653 881796829 330034903 469723629 380935583 167674071 862172791 790667333 850999147 272611449 919953175 595705431 829159143 760616683 414803943 635339631 149404677 269280731 828469727 469047265 563305733 883551871 290724033 87611395 597854055 739516565 19900437 224574779 198129915 670734179 680431657 749375729 980171985 138256569 157524247 541473687 832406089 729863147 797706685 619890089 275921927 952334553 573466823 37287081 376058101 923493097 270555043 24592927 306556745 825230855 844278153 151037087 414544767 85770669 797344379 966278853 168942937 304924119 365760063 41834543 945713895 565688329 256746855 677786763 379548539 243993687 408151115 736931467 228821169 594370643 464005129 991601383 539343727 697352731 759914381 156584801 857642721 153335639 20685445 820142023 390953337 725462581 736821865 114304743 545649653 892018795 564913017 32526751 228389977 338623543 854375359 314321869 561329393 380750177 95549963 445826911 651762001 728095797 707048691 65794375 634246997 168793737 797464537 854385789 320886309 76183741 282213863 328536835 856853287 13205175 390628617 679112423 414188309 324947683 746654459 443140919 796748007 307925819 57165371 570926353 533998819 401420857 631917331 373813909 845735829 957126631 478214803 765397485 698889427 426613459 518783377 676801611 598267575 286278927 130956719 789455083 168055973 174210879 311027285 315831823 350107211 251803525 430297011 560880639 73492637 920283281 301175747 317173777 672497877 341817497 348275523 544186779 602490235 719717469 390455995 191168259 152667481 625000479 302684031 303970481 478481025 410356401 341871267 885289497 106203989 461491303 811147271 192532659 856327027 590016033 239873879 614160129 729067723 137904709 888400641 964557713 562068625 68858817 121163583 434545649 366115905 900327689 760994575 588876735 190358175 673868063 448750905 500147611 792047799 987809927 324613967 50107951 776236765 119672401 663173289 485169965 335288749 116457743 731460965 353309265 174890253 501002725 103064431 469978205 654593833 40396149 190876021 565375003 747313011 473856751 998931439 144290651 325138345 719274251 552640031 736297467 22110415 526659843 716437259 840791259 948710449 944874911 323204229 797711077 217917029 308193839 121398307 756284939 302386245 534037385 528171593 828359753 667562997 859799305 538381083 415904929 158962147 262266263 16162189 431079453 209222081 563741855 575247957 917713101 604174221 818192155 814443763 37302991 812857485 942683783 514494129 782655811 875618377 939081705 362543517 190965075 458997145 797677263 731745683 737220913 548751767 95815249 433054511 288277275 225730727 849746445 414119643 687388237 700774265 37623591 440561097 720696855 900095483 527005009 202734829 3535049 281810543 222101437 836079627 243121851 966427223 114828843 431863979 750040915 662841725 626683363 108069659 367369209 857927929 543492273 651393399 133247265 20960807 145194475 592106139 12332355 979887527 811940209 965613361 28348899 6856299 588968105 295367849 718932619 15122595 802161537 407349819 855860171 672660173 353662831 317435369 92414529 327706285 995330161 295663995 94599565 710062159 984279053 536257407 733321561 737205511 198428753 990175311 107650137 453169265 974892757 616584971 484322629 535851893 158099383 797076633 418496481 516143417 763233949 752422573 965201397 445990967 371930035 311593151 491960407 764468007 628416177 780454667 749848543 118750735 232118231 476147615 779858543 54471995 220861159 862101317 567985137 72582209 37480499 109651611 800693593 449000187 18759569 50586879 259020703 462267021 881517917 361916823 788594887 292994661 588617087 420918359 729106651 627371831 113412709 803416821 360431339 759771133 895137797 101483507 362515989 744467197 78405341 246780311 383300729 924618949 735051507 321106161 777784385 199465767 883516117 403659997 141154465 644770879 662416027 712978167 877711057 658484083 758255331 704255657 386801941 921194093 760874963 621416485 588699575 98095139 302269463 910341985 217498121 783252433 779794407 345228061 491596131 748924409 879805443 161503715 13207083 789907307 845153967 281776897 180584139 277959225 841030329 303925139 584316593 19450561 82246263 6189941 321559901 863150757 836113611 226676817 426770253 54514641 349897239 946059415 224758539 386798971 33426249 990343809 605306413 263732511 368147163 114219277 496703563 936470913 476213705 102387459 598174727 141626285 176657051 312032247 861283851 780227065 260091483 174201661 834014731 489041151 357648803 937576695 460734399 189913251 579475345 563414797 290067947 594255121 177551563 9816111 961658713 875603393 884917373 803470037 638737371 782228587 588869473 284241985 526472011 81900055 864008369 319130489 696392331 512325133 302795575 409186383 504198277 156492517 473992767 834402907 600829741 536222073 769182369 356795389 117908091 766785005 884950457 180283741 947095923 828500655 121101423 800699753 660180255 143139699 137636401 534019807 324917649 332204085 206800373 904570169 546176739 552011319 952530745 284793283 303677495 970293001 503842051 966946445 479291575 532398973 450775779 654814063 63810199 424791727 308205 647551751 334498321 883758853 127685569 904078273 939588197 218907945 194578309 852241609 287616735 559751441 460266725 91120411 167152591 606931705 982778651 161466999 925165459 242958949 674629089 116125795 281925515 665603873 574599809 957192495 255011107 104759873 639335625 691243767 779297995 748859171 847726603 506712215 875250429 39228521 727781419 593917625 339011389 270605567 830224011 813629135 62755093 659762461 458644763 432517645 506411799 253717819 522291025 879517817 835382237 273228575 551218987 99687381 8365833 54349013 194717231 374205111 874385991 716290483 34022509 296869235 821188165 718700883 951563641 145531691 676469699 398250137 465962355 572117703 551321215 68582067 538634241 412184567 783737413 518532115 81405265 544578101 85211111 227542905 961976087 215770047 380531263 131868389 686110101 330320541 415033647 448581799 448745103 597552545 397099683 476416081 349471827 509559651 530973577 629499327 654563513 706014531 868237537 261966869 379606045 162980457 485357225 98497217 474624103 1527493 223438061 360944759 388377605 234271759 358972095 826252851 576913135 738950345 221784377 349490233 686405023 890470201 976676477 416519445 511000093 876369521 977573559 862673563 74929913 273856841 578438935 254766311 274008135 336500063 663722199 51652959 706624167 325510687 277146171 592037805 102509631 786150327 529628045 522374345 226478525 42009631 869759007 425026027 631044949 306486295 719882571 359064985 309638089 485644841 18698613 713314463 731455837 123398053 663765251 200814353 119752415 525799843 90757483 847776589 341736103 964749313 701082151 569917685 186419603 162079337 17217975 78368759 963817991 671192397 97582247 215954821 68636403 791379683 116559497 601055517 151398093 191925291 907644151 694480773 833403541 105216495 8453779 103372229 667407053 967225277 708461065 589349429 977071239 197647089 222666505 155051887 983628887 513348519 792071501 646099287 589801821 270967753 855735707 639110683 874376767 261957127 690071225 11176751 789100075 463707867 820567675 538403917 750154199 341008259 514574523 222239869 732620415 757297929 560690779 38950665 448645869 107020091 637434439 86191237 698905199 142145459 536848495 106257869 710400473 676695761 156376781 965427975 359481481 383335101 230255207 79851677 758301545 717586023 433485379 605057605 302292963 666453641 245581429 970691067 137660655 991381663 929098519 61618947 489352203 441079287 440523083 43173609 452400191 846251677 848174141 56201857 420803351 375248491 194167325 438711015 167985065 492242943 277788967 565564033 584427925 887832005 110673051 976016891 959564289 241094379 644365765 697866055 528266907 888597609 912514807 58391715 545599641 957910017 551007883 471690643 719301049 979346745 37066725 7803877 425376065 495627875 860924523 36373161 487586047 113089943 432578197 537018687 729143883 429019059 58087127 345186377 365865731 898721635 17878201 173105333 131445899 639584275 846616513 845632695 832373459 638537471 428389507 661135561 408704851 940851239 337602969 277952689 933425669 911253329 976545445 349073021 660026995 305715981 896325459 592856447 376003241 242772919 709162067 437525331 819962429 818166891 316484705 300208349 711179087 916060691 565173565 802433355 561042309 766965857 218096309 15299857 859050253 499405515 844121495 254168811 39215005 243210129 531828927 945243869 182067571 737915581 359707151 721545009 546862677 14837021 677223283 686586241 661694611 620553035 656265691 766481315 215870977 3843751 530435139 804295359 345237757 877870169 880967851 922964031 498908529 113409107 986882849 167872217 323430855 597464137 351845043 990658953 98595319 398600895 491065981 682911379 427591809 230387709 568973987 826258051 20078441 175450897 874643275 481220911 501656381 32258773 437781931 568519855 946026003 10866921 536035581 962572395 970065037 509666995 719043459 865775631 300682957 388770409 831437189 511955087 833968001 257633789 110891607 878478629 140323555 166998579 984999251 162775639 620554159 858140049 919824093 565667057 29410859 516156265 520623453 458369289 221262119 890376915 771567173 771495673 448625399 836319661 468902673 553491557 575720059 664070563 869197889 145251131 579874839 810432803 811688547 319226543 193524925 810538597 408518917 932888637 563979487 584717417 653507523 21425319 888572799 307915769 668011841 377567997 817948449 407893669 405985317 213480849 476155091 736205765 367062055 583808255 17022763 829760887 144889085 702226731 292912971 843291047 450393449 285914693 217821141 758147841 652594231 926691261 532647929 29888513 943269691 92999505 966111339 708877797 725761611 105739267 804415087 829981623 727226957 905547043 451226821 412727111 798679079 734991171 671450301 446422059 429189585 833598273 924916529 870352069 841291073 213292863 821378937 467320639 480179577 712532905 417945217 201693829 834892677 471699511 332259765 98305875 58003321 394655457 774638089 706548519 406697835 370183917 416088319 897689929 2027137 698668519 225819545 614479821 245594595 667517093 779838827 354407559 811552707 422423103 390983557 170070041 205122141 332544287 532890507 887827691 367912689 454321643 302635679 174610477 557201613 915289245 143854193 314067671 670428735 926059885 661206071 311777963 387008421 828874211 922866607 3845937 471260765 123283399 391240223 704110775 330070485 879325233 233232727 777390423 565521533 506559611 673942187 292052975 157837521 40630089 971934203 413213995 762576467 558704523 430910125 683337849 548373131 166182255 813146797 59057425 416645135 740337015 704035701 63592181 139236725 773445477 665330431 50022379 961191011 393216837 623923413 791831173 752103041 880408171 522723589 278477083 261249665 49208435 210142497 489520843 960614175 435940419 896345421 325521537 119191581 715066629 204261675 270441963 428494147 945345327 203282155 383765121 26116967 224235389 940096067 290583171 679052127 86978035 283761521 44398075 590782225 981133021 332148797 531644857 977401445 266436047 634972913 882256979 685617229 381736103 5990249 367395627 431499205 374862471 807223807 295354219 404156111 6275805 252655257 483562239 892142963 188384347 234715561 705878947 379623623 837732863 369170721 403133909 269285345 468781583 466823043 299152863 284501735 959372051 649428691 655066833 726424065 6939875 637107615 8109441 185222753 477481367 335345663 491469201 869984579 608580249 992580753 966743657 632416489 84094353 902751609 948118585 458366877 392473459 58536807 14458619 495257263 972371327 546083473 515255661 782301053 791734325 437792181 448880663 265807973 649310821 289315611 775089229 496016853 11005473 280929167 706009379 872920383 142095813 843624295 747524731 861077531 121719031 704428931 804111867 723438317 300639649 902553673 387029529 264961597 545419001 459102887 520325383 878946209 643547259 792984849 587069897 733645487 993204457 56953481 148428069 402133517 484969811 859364243 567073965 815240803 573350411 617935165 467204537 51264869 966775727 234032671 12882023 474373323 547543073 633583447 194769059 767242583 23613837 859504521 893489435 558126551 475601259 295834597 208810567 439037465 526590323 52787489 957154665 674545147 715925163 65584765 929159 907481181 599996511 653561531 727599731 917640745 792049443 683981613 104182723 509427025 429111765 631991465 854169051 937345491 380070551 88876683 989477599 851137707 586657239 456539579 990737859 576235241 299557705 594312613 799907645 926311069 659329767 882419523 215666381 57735647 67248631 739121169 926031805 266178517 233005063 258862357 880856603 418301351 983598055 93216221 558336451 155746697 37353143 591945601 578806609 121854387 576052955 77844383 331339055 605041001 196637949 698264923 463757967 779168243 842452755 581908581 682734693 589127591 209700185 594583029 115738231 165668061 359437137 870818757 76769351 338626805 703536843 437997855 590832683 777007967 190128857 744716239 329813559 626184839 128758487 439811883 783924045 528086763 188318571 557355795 728165909 158990861 272982399 558163181 89433599 154199415 775898953 954850471 324028483 803587515 576322885 561656759 154915555 868771185 521229111 223961115 270164391 941267519 147899691 903829849 66751261 732168653 454657141 624642431 948306335 205199567 916218547 763044389 838110285 723749885 468195527 46994793 22073869 948790555 684577247 715290351 190737043 493530611 546133613 635455721 292097879 427067221 398358319 857010953 521818261 275259935 765827625 398918543 601601627 24633905 984759721 922873923 62552947 606081397 160478527 13320561 279385211 624343263 895855307 860648689 136868561 905895271 948084591 176163615 339223963 482488081 529291417 88777187 902593741 618837479 156001533 940667819 277228061 721839353 893196183 170820203 511882765 204974437 212461737 950604453 965809891 683583819 681106627 650349663 147279279 298664661 63280565 327446563 665675597 755954999 233182113 382103051 698846553 839669161 375176165 669252789 122679615 705828463 811069489 858949189 488961323 353292755 519147385 856921453 195199769 645344039 48302329 88627295 326055879 243228613 106032949 298949085 972846527 144318991 967448313 772867625 500000847 852159599 951114841 618854421 185877139 137259609 431025073 490824183 229371495 450262341 801822887 212432043 189715317 609952695 180289831 167872153 588493357 351996985 405029987 580467887 786464969 633991259 758838745 378057571 308792903 954326971 928307789 426014643 568495473 334426361 25004747 375287333 183213525 946191553 338745767 13568457 783890125 76250817 85697407 892065587 225274489 244028601 871195189 648815491 75323073 575761767 889255927 522186079 869381205 33950615 790989369 479816179 201146797 236332825 228618421 49236983 692524555 632914379 255700593 764493483 228649589 950350477 790393531 820512979 336668861 680618059 516599843 51790269 27391099 367709939 364775817 103949889 930859023 947748997 296631057 815126459 779759009 113283071 143577381 44421395 919179295 356132461 136873337 529379255 407182919 493711839 299644941 339007645 309872531 588908147 413086243 666752323 531507023 348009289 21081413 398205615 649953163 971174285 582877259 608431729 249009695 695562607 134176337 267221405 961244585 729680169 538043319 296671187 241942677 143656959 626507567 513081913 955999247 92272443 850696361 780509307 915143443 175419695 969671779 142247379 265813857 819281973 660307937 992606203 792145023 709682607 833278701 584518205 518041277 12633863 205065377 42069605 721882167 241330865 525421651 897759179 449367497 251896613 180966059 54895691 938147869 699339241 802122901 206908239 269105829 987756673 439749187 902710465 447583893 658014597 785006643 547743257 748425203 372563853 4770859 58956117 631703681 783997499 233808435 780298747 511750357 626252603 51839905 265221659 793915715 705663293 59704339 454082889 648236269 537625851 892247147 331215269 772379835 208213049 359207383 813293269 431442013 769040065 187140299 828518149 113092429 790464357 576216577 915797999 404573641 940166911 400000385 976278477 846055897 603587441 601648531 11016809 56063567 79655079 702546895 872213009 111543747 946913169 841240079 18450585 817610133 514996521 280575353 125715551 488284397 30759795 502381431 353886027 837866427 866510457 152275135 163044299 805395383 85001549 102216781 347826133 548675939 592676105 528109667 89668585 833398533 786660815 277040529 635727881 248271791 454479307 962499497 492988103 604247097 401570861 507486921 498601015 78426177 896423983 609926227 900024569 128371507 874951191 329709043 361479987 31270205 317221931 679578783 388665233 57717335 781449151 475326355 171900493 458823489 768306733 337007955 944428579 511124101 950386647 763746475 85276505 156358003 999845671 889951665 177048765 909266723 724967313 410448061 107893927 157885299 548514447 22840183 325373941 734247437 584704673 780038603 306060555 187474787 235587155 747550445 244440793 702208939 677099319 724016727 612418517 955555813 621101287 83190479 276994301 525266139 366176263 989432675 642675929 879385627 317119805 790820451 758429301 394401537 951384127 22145647 412171367 103174057 784528583 231892843 587455951 679308797 294453141 552342913 801819475 351857839 515153269 86734373 550862881 984629299 142837305 640083223 407316205 566318029 909971899 359465305 181480697 128206981 463447261 205427765 811297033 73066537 512424075 847644739 592460397 364575315 901548213 702845533 785797113 107891043 303131991 483538089 514424075 545831297 35605873 13896081 54290571 626890141 602680335 80432331 550110697 511209585 171166019 961454163 655478295 236789115 454463783 177794413 670342293 196203523 311061215 489353125 543589995 681424411 94851985 373742543 346759973 533863835 37230451 196022025 316925401 605708065 109957311 560227765 289690151 68686617 243944117 467301503 285509941 184590513 316521633 921838431 650346161 426600161 63604951 736994445 25124817 455288171 275969453 17221519 630036049 957351893 833651847 854876209 141968253 533778033 466742481 721454985 399346973 220011351 976306939 827736303 31218827 896726373 49301889 322138893 539873701 263715655 985255395 591363787 22370767 397710441 751482285 253541981 265525497 680421383 97888113 701234243 691599515 261463585 433431497 115821117 472060079 159743613 774543449 92103769 895470271 673251755 219909319 216616429 470851287 980376583 266904523 792493203 859494541 99545261 721789977 772558129 284673 59908743 649510777 157346033 731778777 241166151 58922929 286385737 418989379 451357283 116834197 669298677 414976245 202880539 373664767 849125879 409190957 930210425 619505363 719441567 701358257 236407371 850973687 17709439 702053071 454510635 563811939 109485683 241381471 969537913 968755979 887044769 292223423 56877405 31894007 577408373 917087445 461499849 160586029 690253217 766156301 919287921 653811649 761006115 507086175 253331929 46344397 341762879 956779339 101261385 349675125 844188545 91644371 351488207 634590433 209115837 984481163 978127429 842816835 852099345 551233667 761429067 119518935 279912927 506235741 689729609 793769949 983616213 577284159 170231407 497686177 949148389 665417687 575791285 721678965 775596877 962463835 389486557 325743285 396651667 487385225 288860781 86915007 401832319 124049575 204832695 396907521 460201513 339563909 530235603 744935659 502171881 123903351 745072031 454677497 902614377 249660253 145322439 873325997 566383505 599011739 993118649 236142223 923258007 41163043 855570349 780356147 925313013 791137895 138298531 496621619 436252787 623619689 162125671 816609075 619515673 890010539 494139779 142645723 250234943 210063679 902666837 733511133 798670975 678528955 729376249 874612981 910290879 822830651 856749659 718469603 290730025 637870439 102813223 234700661 667436339 366071405 560546777 683658617 672644761 42010627 824043183 92942283 612191 371551591 278857139 191800655 53487313 265820513 842570421 576386285 925486979 676196155 58511179 367026839 694826065 345546191 898658775 1807945 901889889 5413499 89094787 865288451 888811295 711396901 517863995 450237907 948965693 562413113 548527547 856863943 830561209 55195569 178103937 266268667 281556951 764833799 956335573 645853843 774170405 177502277 190522827 940533175 894023283 20675575 134713911 324537241 724438241 882255413 256118715 920764533 424853201 119905947 115118783 644278157 92920561 128567891 626778739 327999529 26877235 645691141 57882575 555082397 342517207 675541997 901444757 553064773 737344093 907731657 976071757 437950335 632571541 474578651 271224133 505587385 216386447 472391157 106022295 423297893 389278381 475661675 70324257 208020475 185106573 990930205 821214095 884444669 248079391 923998319 756387663 563628281 642154391 384583507 956907161 489165693 891278193 724892987 677549935 913480741 407823215 608086057 124989847 625932949 174214561 456155041 852762531 797973621 455713113 161316785 329315307 958744695 676027443 180438513 67402637 804622167 153733397 328418429 50911093 562292439 198239019 765469439 24630097 855267007 454152935 586971553 106776217 935221733 598473991 724204059 295592333 981020959 71705487 662588587 911341623 500779603 387917515 31238423 253730151 512430441 270541391 393995183 228638643 615444819 413548537 703341639 718746237 844295949 995110123 805286207 84302575 416435865 185419409 470354557 50510581 995198977 903387555 697504879 212891723 330397269 765091097 829206281 830304623 346588849 148648249 767255245 574081707 657975609 438619279 86926271 853728015 77599765 536062705 887732845 588249969 526903417 119439481 468496623 224094579 626224541 802678411 622611939 758266493 773444035 706671829 223796589 956628671 181759289 125182027 593111101 47131699 61818189 849424423 509110409 837450135 41363805 466659569 893967119 888272755 435000265 605414259 839757847 210993947 539178235 34570687 905378925 847789475 134062181 598664247 81238119 897769197 445343619 350223993 855783141 436408991 787650775 544885365 211738189 218953007 772325097 833544031 643965835 748426959 732759887 458854067 372928793 572857987 501158815 595336501 871331827 527286545 82115199 866410481 500376735 612071435 436156055 298315067 399141931 706861769 717548955 267335599 867615023 651311977 510891331 465785139 350175433 182626775 881034835 843895283 91271069 708515009 832335763 467136865 147138779 886229151 341451993 846316347 280220473 618160307 618143739 164927621 840790005 36027907 597865951 354396299 868016087 348218465 672805229 459618787 747353643 127632739 336629401 763396967 924264391 931378029 960473947 483001659 728648715 336935075 746808503 869929421 524250077 92840953 822005685 490132175 495130283 910830629 807571051 383561281 565428075 130840743 264124143 145344355 886565787 103644873 440715879 782030275 545044545 917388441 295502331 463746103 527384299 599874035 769396703 511764441 98108081 411481971 157667403 354701069 694278961 460071811 468723331 177094787 866675599 796305237 612649425 748176937 142212475 135492061 249574021 677684289 819010603 37930721 64753917 347217997 393244511 857327075 737223833 560632343 119260761 579036985 455094979 667735223 880617707 737394423 532176365 111724937 850332267 780147711 404471445 544439085 110156981 410656505 553897529 278445717 312443185 371436373 382502499 181436913 794941389 738420299 624782761 151950271 312737789 675922397 551912609 354110403 45737411 702974931 289264369 221473801 859920035 996294331 332580419 955624933 947603629 437642991 430738757 32858357 799792501 651687823 370578613 41557019 31872795 199416193 493200469 551148163 382655811 180872313 636946415 279979685 844028445 194125295 732219477 755272505 588903265 447869983 966269535 517989445 65117001 862131991 743928819 145591317 160351135 641916321 473260795 356600895 83289775 900256347 198877285 655635101 921743439 245899427 406926127 479905875 296795873 155835295 662412635 458318543 108537415 107316547 381840115 554571461 876314351 645412165 555330313 591238447 966959315 769701415 312019639 654330965 160380015 380472879 474215965 526809791 324361161 418481261 530427243 337966149 860133233 919216573 139999181 92980481 180734843 398259643 981877379 275533401 996750983 300900819 184221643 783800311 932935865 196329521 302525935 514830033 999073987 246134481 815591493 408555555 204145367 849062001 267901477 58682479 973390773 335123355 362968561 859309701 825970597 606073757 71070739 435337847 844028275 187946899 505381375 832857251 855870839 338150233 665161517 904189099 46210189 226316441 458480673 713297531 942325533 833589699 540033381 898662217 868734997 179473169 211566219 780847761 938857963 80855425 653236525 779649303 660629917 923601373 37277165 32317417 38578609 351701427 659103605 786977111 908954423 31661149 36345209 631245313 978773699 342327291 727973809 249006537 777598325 248214645 464396001 661211357 917166065 791725179 907474387 500673711 156775273 695178373 836943449 723630845 792358031 985755605 807139403 485715149 818731173 70039409 741907599 856836455 764945517 406983467 579729935 421085027 991815995 665144987 492255419 801898395 14681567 819544609 552930957 548396083 857172925 1947621 311873673 709386649 824227255 846878935 158540217 892125057 309081405 185087919 826647599 867196391 754901317 248134637 716794373 49764877 46029133 55858395 723447901 300155779 115213915 997506697 285418081 211361051 265497599 742223567 181531717 171701233 432966989 146017867 964811329 312573547 780913637 318288745 351787417 974794035 487895787 971032917 762817943 757935679 409861137 300822283 455190157 224217547 514629257 832318539 494307029 685265243 616811541 335098011 603292113 43594427 665989625 60957771 287202539 673780479 796062211 496051063 491773079 128179589 716959627 300818683 831542607 103634159 991359597 649517441 278096019 479430185 922831889 324612731 812423663 117970795 712930917 170008349 545670645 820012845 822611167 570398573 996386623 638354229 344478591 144889645 211903855 336183183 428741063 496418547 193603631 523250577 334980041 346705171 879036467 827029205 383694105 758578351 434105907 960675391 610607575 523504815 978676213 405295357 574122409 795612355 731928895 222966657 605044411 843586661 993256675 10922635 894924999 138669011 502155199 677734939 217518599 640473877 553860021 222796929 642229317 851727613 830000299 91336015 407480271 70715427 778787735 558425697 706296951 657576935 719835505 408829147 61843617 111391089 246688319 7708205 578522159 401026225 10262535 547746565 176343953 722030431 306739677 666230885 916630205 187171325 560013531 765676687 696833585 6117073 578849571 516215311 817110005 114508525 897610463 408697529 341888661 932314921 615381315 994604713 542702119 270331171 388787081 407154501 108739915 429499463 892618737 338475577 228778023 159836867 522547399 985394295 323507047 381704847 364336477 405201213 22619973 54922347 907696909 56503055 857296509 251478753 357599801 597464761 908302677 927088449 273971021 276016719 889787035 680011939 171278265 47577647 335548583 64116965 757172983 235040251 446860373 739194801 683716491 428567457 411726863 611938681 273165313 970362963 682948799 552744051 552092135 518676367 592486109 588809119 478809305 957457435 262960999 379767751 974617465 18752255 242100965 798754939 730045041 837840531 286364259 66818833 180435317 43521905 414226039 680151467 948284479 760672125 916014145 839175729 167712655 22449893 222362727 80102741 56243761 643409693 261525525 984574347 848406519 996119009 711964677 8560151 762183355 719250995 318613875 545973249 153344353 240542563 395968293 581884183 943265999 460699139 618403945 490097907 191941371 302985967 94188567 812121077 481428959 920382541 167863693 402068549 11159163 339531399 584816559 440185043 58015707 774634323 338723821 623861337 546346513 417972397 176114495 848269909 658671417 177241049 635503391 435016207 376969329 894954595 598090901 492278169 662986983 236422431 546872625 30309579 88091339 156498729 786193417 759347781 3697751 822311655 571879609 859666541 14180561 101069573 452458089 695515255 939422079 879325045 460115143 210672985 27523253 644051061 892635911 159132885 631397581 578200457 131607275 99405937 207185193 246215295 586972599 546129023 592744757 632186983 713184059 360218391 336999777 42406561 220018891 832874263 660757545 227882447 280963653 598818603 778425101 598016223 782588691 32766143 597252505 447395845 489287967 804114703 940896863 241609147 744344033 670001179 771656699 504377799 179215193 426882473 301334027 380866103 186957065 329958985 138731069 355696221 791399683 633898071 218101057 160618965 779999453 348821743 356175315 977810819 297071795 696925435 171045811 420563093 93269037 957925421 695089837 44169087 68607353 141383675 819647379 638023421 451641933 53383333 877751105 481233683 273155813 119665717 622710165 698342925 972890381 438822777 358334077 260411775 27047693 476390667 477915881 76027205 569962687 464741451 654017493 229559429 958065793 276609121 252973889 616365225 781799991 653776703 677509945 587127399 742562387 262819993 460049615 237324987 975839431 903120115 224416031 659254249 720999445 601402005 879821383 233737341 784153151 594822797 831239285 982662733 736778199 253538229 134322905 728975729 590870771 273275821 317460143 535659857 931920943 731727837 473539639 716560281 798154675 34530933 380592063 195411773 721024557 328340845 977648277 211018615 411752403 532191111 389484565 631682765 299234659 454680393 572773027 135438859 486964515 115437573 57200293 29758791 587747299 759143123 332395411 376443611 981726711 418589585 181262049 771404395 596011071 804534763 559581975 467976165 233706783 733293135 34068155 529838205 889003399 66522357 456380257 129233839 780885999 718956253 491505317 537561661 913344849 690730195 964336933 299432759 901492279 572882529 605537679 893442287 879126445 76859621 487323027 597378049 629256779 938746491 881407213 592220243 718892333 406765327 476860511 327342607 167619323 715615053 501819057 630345387 350871779 408151985 352437687 5841379 944234907 515238267 880840013 260290745 984624737 925727663 157348945 245844605 552993787 481471523 737080753 268781507 919127993 786760811 373457245 520424291 821007471 23732969 195770193 921169797 239377789 580191687 142308495 402606741 363139529 39778289 917372959 156595269 881200319 725315107 426926101 163700371 734116697 594549211 263689357 288422595 301289233 159975009 214633637 705036385 98482417 218187209 389747595 198636099 576761989 17375207 964734319 260412801 31884517 716242269 614090381 146889861 351474093 748863635 244739623 360222709 743973381 278427321 871061893 444453835 728417691 486922951 188891389 78817343 888060325 606692991 704727269 823842521 53351393 394398569 266527907 53072225 637676951 319290835 710108575 672489711 209632401 512435671 332688459 997233373 557048875 271683155 331836707 151937489 109612095 745940467 415368103 782557877 990277171 788334117 656543077 717352895 156023289 816599073 47011051 395336553 252054787 259995113 140103895 226473339 44707667 711339331 490987719 467548159 631073901 510233793 733454953 620285001 646847583 481958587 130148975 768160757 350908097 778510927 954861969 678547945 646138287 68057193 991275921 377681231 207838929 903960247 598660669 263625885 824131669 137931441 371794531 748610703 361611761 992229015 51354849 479181097 989225445 188412019 120808341 453436087 650201075 483748117 640864365 620597453 514831469 989567251 767651419 761861961 778391335 275102161 537569367 498573133 805784193 582469235 243172451 427147847 110104673 435292395 329205901 56697065 683511091 43008243 249259491 91727921 776681713 243878153 647904643 21456997 830394903 991346039 463782283 147769357 584012971 548931405 320890409 315698945 890621755 473958753 526233231 338792793 465103839 894630229 336655861 29636735 172125491 640713361 980080799 863232539 100437857 412175173 914708693 672095009 977188627 796077419 343061997 429091537 162272897 481888193 410195773 558111149 938000489 376448207 460690219 258564735 32418577 218305001 307828255 371016031 77797705 866867235 164998539 82958503 557196135 790020447 545892587 724105725 464942663 276270917 669530817 429278539 793683023 892795973 231613847 789262791 500252273 745589911 45300477 489747693 594128673 428627261 173663377 420511617 219552091 335101693 854314737 435785357 90560939 279014761 690204877 316209259 390558489 52153305 284310993 626490801 841765951 377354347 325253563 844026439 333471289 597513995 277579597 446281815 196066737 987303015 436973393 157660505 636720081 54155511 932480407 565519109 558006097 507753981 59954173 704890465 405560175 704682623 308127073 153023161 901125875 538670159 913477299 617335969 558749481 815061251 60775391 597741815 488208103 213510399 12926179 553622493 894467981 885065319 830970561 481833921 58942465 516547119 359573123 317608535 26395057 781861133 424912441 601310617 216189329 24976001 223138305 815577293 550831395 72494037 305940731 477364097 552213355 686549783 884342353 258494599 362197497 622770211 13583413 697145595 995659745 347134869 533491939 580639041 836997313 16645079 660306845 957925383 98742723 244807707 973637549 337431873 922308753 817184085 161336675 242350891 557398627 440074059 529643805 61572423 690645241 60526463 87716411 860692325 686885781 539884103 425746983 142712471 885993993 961741239 479172949 666400313 918399915 28463793 41090621 490835185 49988695 772651485 36638307 960593833 200093557 919361195 289512783 804550807 938916593 749427795 518502807 517445175 411131973 979701463 873314771 759588941 381213549 304707071 893003685 990008549 481492463 695065689 581268151 814295379 304573403 748254271 434813371 513185589 50403525 629140177 658100591 849771885 235617483 701199093 77759377 416573737 665892759 394753119 704741867 772620507 116080467 249751687 638106451 975707969 249886135 330636713 507657889 441648737 625217283 401010131 825330615 37888643 395923195 992965073 768511615 497851709 867636205 676918331 855773163 939499117 599970223 690686069 727551225 964609335 508510369 274843555 86547879 292808963 920868009 968840121 368077823 21094539 591061557 982770797 215729431 16989897 543035707 830467137 280447495 389278207 723802681 306822011 204099313 915954877 191096629 660659499 564972543 412701907 552559807 900568621 527742053 158433891 598449387 496631837 1919835 869038283 558122583 614027367 832951589 23499707 629100333 409420599 919536141 844470823 481395735 280159369 234315107 270857035 647657807 21023515 765014661 768801707 872505743 445832567 780914131 771481107 290236705 678220011 11177399 252981399 241353937 948510355 765862309 361678739 859735799 441562699 916632341 873157805 698059887 955341245 125535883 970824657 101995937 770870105 414216337 401346097 664452987 408976217 447597241 588367691 243751539 30096059 824464541 794635747 291646343 387798089 431014623 672017669 945216829 268128145 606539817 28719877 343832741 528158189 224138287 165394049 262465107 129917821 175987881 458915675 648516455 483423785 422195291 429872065 352544901 768459937 520621583 381032231 243334877 787001181 931580823 78150983 495310119 145069983 174119117 508743975 741799581 264969325 817945747 592515093 458018313 692329369 1479635 257621153 764574903 919622843 626518145 379323819 159626111 6246451 339083413 569663831 647087037 220451369 791565587 169815055 173680731 376846733 857558277 457164681 6746817 391765783 76565117 398907839 863705067 714048071 616122261 631507449 896436565 182494311 558321007 300906431 119003655 104400775 774245685 136642025 993400717 840615295 16494875 510798227 16594685 617925869 186705241 97658653 358621687 648929853 245337397 49865529 735159199 883816605 522067955 831689175 712013735 324464899 542664683 226643253 10210625 48211253 240018805 569250519 606111279 903319223 464376819 33694345 15296949 703330265 983216849 532814687 895475617 981738679 467099775 125018293 436906827 89649197 74044791 890080561 997201039 197144293 447496509 530323391 317242581 458648657 482679131 326606481 566040587 99721125 77988451 946956837 450607015 915001063 318709487 447992897 660078503 358894553 807264417 830762733 870528403 117491985 853346595 636306303 251016565 236268771 770694953 269492629 235346153 527735921 479584621 778267153 16957961 966504611 837529519 917628961 140787323 5788969 871117755 681812537 639995505 618323837 744408163 201840915 974449565 10213853 469866113 971232439 882661953 455818321 392672759 812948845 334695457 197449131 998851759 539050701 764428683 330962051 708775325 633364657 705963607 68603961 628061627 65213503 222889699 85327861 831069961 656379105 301885715 43863463 525302163 686007117 808537431 119230727 88563307 211069567 371974565 499384983 660340395 501011641 814419067 164426397 203172469 306859659 650950625 240261163 449194485 189419463 794156641 335121433 454325339 171919499 665038871 768460805 658526433 612044857 611422621 645291867 990418379 673795709 9006361 709094985 38806883 61455949 655017789 300275399 705392379 450664165 123615805 671877525 346490861 107620041 386393301 604720959 531965595 281224901 537522511 163113231 130318705 300465903 453086841 836149795 916936159 776279967 168329383 502032471 867367265 208912511 501425335 906361687 476472951 931176821 889424657 392956815 305982893 127594427 390507171 591630651 218992789 773325001 45570021 391888217 421352137 801291109 963142609 238627507 37420267 690746525 944881903 945769177 724587943 334722241 607758927 175355681 129212077 908189297 924933255 145715629 316560823 257426321 37010611 741837413 770907531 389313099 186312059 97528315 670837487 357064723 599328779 725745379 428286903 16368809 289962781 280980577 205218749 448462607 697304557 73415037 976236515 905539215 225098561 106699781 268626197 441682369 606979175 510802323 170659139 19309951 712926775 772780167 686831719 553741295 554769935 555844873 304071559 230326651 823807187 283143689 990673833 915802585 428332531 929467457 294794465 934491397 809306725 880767791 808905033 588270147 661228457 652995611 108237827 43816735 250870977 664055063 443522107 773098605 633857855 800941563 721910305 455366475 846566969 668702567 626468337 2003483 449326411 126398401 701712619 672457097 85585821 691052605 607226971 530611085 671078619 496993233 690283667 525056607 409119807 906861119 137266669 885402501 702871429 273394957 78392781 808385227 776802803 290330765 544458649 251758407 773960025 981054679 142607815 587121233 828150539 205793993 642758865 795451539 339611879 442438415 400825911 480223477 769422935 604146965 269598087 990970795 9563973 739743767 464996687 151891253 721865001 26475541 793306155 427188563 86024705 492571349 841013181 633435157 983561045 936465127 229184433 644534475 184461105 534695591 452531383 662064917 666360621 966987569 641839499 30446551 613845349 28374895 164849645 542988859 896776065 999233811 43900329 533358263 575635887 870850963 883764115 890775047 505715107 976810799 429382273 138176045 177503647 48525297 496142935 449619321 542678887 724408487 969124097 11474301 86095179 870201835 721017199 48096789 419671839 802460957 620947613 148783207 87215939 760924005 11938443 372184543 964988827 905403573 878580039 535863087 743489177 822479041 14804959 283221333 183438895 782848525 262338415 254075029 247929565 734882017 419407897 218934651 121549995 131915851 906303497 891554779 410427941 304328485 67399791 13799891 844309347 283035919 947060359 889482437 406156033 402759537 888939667 530131551 438728487 518913659 672843483 471352723 403644035 672930853 195967155 121271199 479816011 642524465 34847605 509153033 205346877 382265893 788642693 772990105 574760863 35746899 256258379 698432103 230221887 796372179 90482233 471677643 934641271 616095619 659283403 333087599 975384351 89737231 380633729 38661179 622250147 710412517 830814951 271589989 221860845 494095421 974298257 282614631 547445111 156576025 749573909 99809801 740680251 583252543 314838295 626286419 570827459 343913279 392143171 397602205 631767579 390072181 309169483 429704065 565112539 649754877 138241253 593134821 733080607 134793667 11921625 735633907 548849295 409183347 212471789 421990433 174327641 834906505 260749301 74305835 768964915 233915461 933016269 921061397 708525915 842449323 310501715 783470635 454802583 401629585 200325237 452034049 298891831 143904651 801046565 132575349 309035279 528455163 837845081 199099303 868820607 834857739 158909977 197292041 676269419 251960743 436517995 723754827 48821573 623017099 820516197 706908011 229662975 130445109 76208925 98961327 182230555 423189741 178356921 214853023 743345053 722976711 954498399 829829649 889983251 8037271 235959111 566599715 939817365 376560383 3772071 89477175 194710719 595324007 260720321 871494907 824356281 346226431 639399651 299135587 575856177 87562175 218635611 691548329 200009565 145322601 140811909 100555091 8526587 426198661 808429509 711863343 657714771 486343777 138582147 559992911 199884591 674170391 110551345 497282319 860775659 744843909 228376651 273129747 198073183 596258903 178916179 739749193 968994295 599338747 482592209 125498341 52472479 317932457 888210523 960349539 389233355 799594083 251095943 982765445 116908157 888458479 960068347 332441691 59033401 715320799 904744543 197469495 457352461 616410507 84345445 445770677 225537937 203706129 815456713 484602555 451744481 357065565 81474637 33466229 781745829 460740125 378033593 498855509 963904779 69045449 668066017 515656729 807794633 682202529 574834337 794920645 317400349 678105263 287241433 789189797 70770383 895882947 542588275 212871501 27795243 647650419 713835873 808667291 629065735 639918371 66691999 953923505 783365059 363526135 762162223 63811067 34810437 742492385 645154585 496512561 195181049 340320155 799559539 980735307 9797849 608420003 290673235 936093583 971798879 545980483 211076063 191235467 865147797 266624395 778392639 25476367 527851017 631717713 118181029 899865147 36136655 658808119 117965901 910404209 219260037 150985893 332586873 138917215 708623187 971619787 140352113 544268281 904073191 418944163 554614923 16676219 616814713 435729899 918252829 117438567 847791555 631549997 754122381 923789709 314865165 55115959 326527299 551732477 403370535 180460195 734385843 132737817 244296293 602605009 232716373 536207231 662323111 532493289 641877163 82199073 846930515 198593883 139521603 766356525 983094615 460973663 234657963 875219237 120105257 463618551 572126081 901524939 402108101 612097257 673215845 222192427 758416053 198405319 764803841 530831769 818936839 343918825 680494599 14660531 82587983 32191855 300494899 817835353 745519019 840764991 551756359 760589501 44327875 662100493 439085837 283286351 742305479 214026063 873965653 674952909 802455913 68350279 304817661 72613947 774459625 369197819 305791205 637504231 493919247 781219389 858705911 491080545 196684327 619837091 154047781 284011145 871492103 273895057 90266219 939003009 471490831 707983915 762387147 494398391 962685477 746380389 970054479 1087965 229717687 877665269 462772743 864646899 363543993 602315355 441195793 247407673 229469357 738122977 759984525 333041469 274187927 274096535 357174949 487662805 869596935 802614867 793149581 848338971 684033297 682202551 797169021 734110581 353498195 857647659 59094201 633751949 729194999 25935585 956292489 331268695 935188391 265398477 689784899 59260435 489837211 629902773 918518589 823210051 873101457 794374939 412371933 349897905 738183377 872172885 883912075 107287669 515773223 851225207 394611899 590866155 877135081 368548707 598314469 589710003 887205881 112437441 799558797 777418943 689016759 783565825 51349565 148764991 782099991 446915675 573225349 371607217 960551565 516198865 333370115 20716761 422429463 744683051 557226071 51448259 918134587 233758199 815391531 324331715 293205257 801432975 697137715 375821175 18864149 941262355 128131623 998282433 960982141 258369129 967734475 830730701 456525803 153603653 494603241 669792019 329922697 50791711 956314193 191124299 786397199 513116979 892729569 542965883 662630077 439835279 285081465 683218159 511323733 148734463 671718915 770946621 166477097 981399579 797853555 9821247 2807055 14431303 722629313 829718041 776916579 30686631 42755569 65626425 158477581 301300783 208924429 813835859 985814907 843461013 965358373 93421153 816867235 138100827 466932567 795871659 767522307 39378119 723163587 482637497 735781025 929443817 134462611 257564003 637503499 704868509 374797051 424062403 884936283 431105663 588342835 785677631 111375401 879484155 252923007 756457345 943521185 895675453 977908777 79377791 407255917 754409025 518168707 580771957 530408389 709483461 773061861 646591205 145538409 622089555 750035381 950587295 493616285 94150201 717684573 525371061 485306415 166195603 995882827 264800389 295347829 837552445 343956735 190479025 777752145 414754017 63786231 851054885 974080549 19538671 710473663 165321495 213202657 834198945 699922151 619875843 597407993 986400245 49743885 986959021 730136943 411374773 359543249 563138083 684980937 751902063 446234333 728538805 475665425 583651197 149470437 188245251 738532323 199032575 570078115 124884207 234710871 952088541 753590743 825567911 869590297 621253319 281214027 227543965 408697939 558948405 11256533 343185295 493508031 783713641 577414989 771138947 377431703 756640617 335412373 690270913 631721893 845802503 215243159 842022369 559161397 405099739 302933063 979486653 215107871 354741829 130939039 458345081 668997567 149647469 349702047 6955651 566709501 694120515 54434385 650065807 364500039 312013439 927901899 87110041 613362835 591725217 563113253 755915235 255133535 346640883 552815233 208199677 283776947 765942917 789879819 8221881 635053849 369961519 755481585 286692659 698947757 793022863 353268339 612776401 237032455 800006417 293544143 356409661 290114643 440702947 233098833 262438253 580341051 814107389 323857227 542574749 60809721 991030303 594467349 513356369 29296713 143536339 254951959 319563349 49881455 74153831 5176501 44198845 865041727 736867831 155000421 502926311 272649 784190303 309717407 52181365 873223345 819950153 860278759 412794707 986697625 790861351 303297223 859628985 907690417 515493935 523314897 274703647 945508463 342757985 360569503 187056459 156506577 574264453 93409235 375743561 854220637 326046511 412958745 34483567 860143907 563768499 860353057 97191511 854688441 647148595 215877797 229306341 83215929 892577943 810806121 26981703 524429647 254541199 214489143 389283057 811682343 968866453 795252705 460300189 100809333 311879655 647697217 705756497 357174395 25295245 836781625 684119131 569121277 596580953 65580725 173041741 392474953 725591779 349764005 747534083 364162615 465239179 444346883 575710113 694080291 34980985 542084051 831958423 276302327 391607453 52040991 884686741 361557789 380321967 393307897 10403991 682891405 510134577 729686651 292551909 389205701 492268137 228148679 163452169 990363595 450963305 140879625 684806871 612251695 506775817 853371761 863119979 396711431 848164071 993160761 255611691 114866157 961949807 649637799 510744771 638878733 455523279 49651201 547474469 196118291 611339007 319729307 617532559 577093939 587297473 123182287 352801413 902121775 768349083 175176959 600371923 839606603 242142941 844289941 75586957 62067799 896439203 739635205 963482897 937885349 769575369 428444617 597038337 389288217 273712379 697052513 895601995 467378709 910499237 480033113 872512289 483154569 58476547 787367235 696243715 515573995 494164755 730976441 748000433 899191355 321938335 398489181 744065081 50349307 950929719 607782107 245516529 120196669 150786353 298516963 176501619 358788757 760152495 691495729 567275427 333651749 738301081 629627269 283262383 854552205 626829985 407905195 613113099 763158017 589961787 373490037 92614515 827425845 65227947 902770365 993452009 972378725 303033081 900164197 542558653 920099163 591057651 108581209 358136705 387542117 400702003 259557257 973486097 70064215 443580185 624455921 841263507 260812943 200892877 932844689 48757873 783910391 888561983 301388661 621496929 40416761 431414313 340181423 643977055 502998925 439553545 301003097 59697327 904293425 704471079 43259797 69591517 786197741 111679637 608810895 214169533 990235981 791153451 553081719 347467627 307544167 450340489 295913865 49864525 179594717 85209365 57188101 206796303 630201039 277293571 3143479 297261475 236862705 823148619 468469873 346664519 536077175 15245225 921561359 831396223 873012255 826560425 708776047 458398489 198190127 874733723 235421695 261303333 636089205 571153047 149737007 619700227 507837257 334517371 325620089 356853077 525659529 912992499 155382627 936099081 732186521 650603885 124507507 336576851 562452843 116780833 450141245 259535021 266594929 900449807 460052059 928071391 154332331 776973313 147994481 379352561 204673441 692117893 648559909 487373627 67819871 152707319 690031149 306414167 893909883 415286131 812074307 156411945 483554839 366100451 67020841 424313313 282096341 276250105 534264487 100202989 698768867 991452459 650452881 678630159 703502587 675899833 731414465 535664969 987055705 459033005 366625049 524519655 283419587 716134357 282332037 398247805 978798985 109513931 975293941 57872103 897986943 816347631 65180517 551594571 645283333 664390761 477032407 877730067 790838527 859685419 814273363 384659957 79907549 32805097 101043949 591469549 808468375 507269415 586076095 454466367 972743591 257501997 417336813 263044727 999125271 727948809 472328093 444588395 477441651 336214165 637268487 692054067 741108177 185675377 816482911 201563703 455865299 299091205 640874733 488826147 495084187 639092353 267642871 57830891 166458583 946191581 661551825 512171977 517132481 878478043 60204759 840290627 884648725 969629441 26151527 680727847 835005979 454050465 458389999 288060805 991789725 59140307 796890335 154801853 365510389 755150709 608920243 9161841 108130305 200687667 309793771 665015439 82801191 962784123 533141781 391715403 805960787 156738949 272844735 874259745 873953021 341295443 672691077 436175315 406119717 940168619 882849035 219109233 368177999 548312605 698916601 256448077 584159881 323405829 717928705 275106051 20209001 242304383 737701599 998275961 949115665 622038135 208980819 436382169 831865891 364037017 535246635 727271321 846417359 402498913 779988021 578344053 22446795 832554767 392518733 668510065 336661077 322036647 278523991 358319575 703237427 776785151 714851131 162403905 55796405 223573163 2360555 533330821 767364527 686668045 43213667 492813771 787936129 636760143 233080739 754960255 834265871 647973213 318472377 597172819 996308427 756626675 952267955 113794629 70675111 70931599 159917997 882633369 264947493 881719673 545734347 87459035 157123655 970516421 987008309 27040225 462476705 342542151 923437341 386234563 406514243 542548129 286950079 562027499 78011345 220640315 571522907 421873153 285342061 456911685 666920511 901020921 261249735 167191737 300132793 755373841 52245781 834105939 90844711 717360079 72244757 409675681 795474151 424415995 961171213 350447 465311591 850478509 967879629 730046039 675286041 106609983 619962281 227941561 817889139 221465687 416855169 431221947 957369085 527318495 157220795 847769553 47063613 559022093 100478787 850258227 912334793 165499739 240140947 557385949 156914743 950713745 205634469 366958747 967457581 127605433 779041795 77436669 59067475 402602023 969326523 653963867 651748955 8888695 470108255 34427859 928222209 147657103 269148691 160489553 858921735 355732377 858070137 896576899 820240693 105063947 654405569 362390753 174342497 31071649 718741921 68249771 364894817 435149919 751168599 652347627 887666203 716231313 55062955 122142321 406525047 465162701 451593191 796962259 357334631 816338411 192011495 946332277 336849639 147535379 874469637 642294139 781911545 598590385 987759655 16443095 403587493 830912375 92131007 69049923 464777473 406298213 377969857 948747837 401372963 691116731 138247849 293271823 168889905 32281863 424593537 361923017 952072275 234443551 442263255 626981185 528164027 617307421 960967101 663322393 188383397 134332517 461771223 995929785 790718035 478604965 933851975 231572049 632274959 671860945 937526461 961913819 373382953 839154211 274428015 976583701 184038143 905542947 763546909 380758921 897372655 248741529 853254409 38885253 589266023 919203997 966637829 426944291 689208281 884733833 645018981 735007811 225993661 788923139 168274697 63171213 798506647 70093045 518808663 644971633 61144815 307513493 559232061 604503591 949118555 882914655 494762287 798165681 688345201 402768919 521548847 868814549 442975191 844664263 153973185 581641253 976024373 966485705 841738995 943642617 697350719 890657203 13614685 636876401 299005613 592070253 550421789 853321587 409023809 417148195 976808407 973678515 297709257 58596679 593490363 918491559 366470933 985502871 109750657 861980817 16426493 953683991 201286755 741691255 817095783 679662867 78900521 609345067 128567611 579104799 832176931 455721539 328750701 884508697 741402919 95926307 726778357 617436963 985135249 648722927 338401495 81191851 819985993 156285595 383352347 768709477 925550523 722274013 263926743 587946571 716201953 147998773 83938849 858567587 148545591 724664813 503033887 722835707 345936323 876363797 5970681 920369445 662299155 145053827 902358755 519673149 202923071 251842521 906605077 935621031 492307941 729089151 706181587 520355089 784237097 56872871 13625189 390486383 844029117 736312391 661567777 514169597 568789203 154385439 350325087 542775101 248638507 456441015 862112641 244747775 879501837 633039459 324024561 772277333 414304325 484413751 505416737 650952603 968695849 547575317 876774797 753967223 962219417 79001509 846097591 256203219 67246075 502801239 443104553 136707045 351039293 810169445 107624309 712722217 64708821 735360715 534899763 582339427 670836417 443065943 515700489 45913759 798789255 512233365 81661855 590490163 110125109 177696479 937547433 971123639 251337571 698597205 373701855 422586899 740916271 482255839 788131333 803888243 774734397 719283243 615309797 617230153 304501183 59517879 267345233 481766739 264491111 357272253 225368353 828101271 161793653 412327243 720320315 462884701 687772593 202511917 662253959 422853435 728715367 637970427 887165689 189227535 647797359 991421465 477215369 502755069 436400165 877419435 408832059 989503855 555616113 448517285 655370777 11191321 841862849 892219069 159042357 154455547 457999881 417933941 827121831 672670037 8123339 163110419 779797141 450887863 392424973 588988071 450414889 201479667 697554777 238345997 975871377 875348261 990398921 366450913 387516173 475569073 584461307 942696847 993826265 277365573 360670229 311955779 490463301 850223829 220799171 706027513 652582305 643603869 83257917 81471087 81377607 33848865 591032643 52354863 681576857 693580077 192200727 51705737 244835073 5056213 300687757 368799379 563071731 669916021 554608117 524576815 777892583 448481971 825767985 513864197 306796385 321461883 867700903 968603269 224985323 954435071 981723205 353973737 497210135 843531965 193030529 959522607 850555261 660759417 848454489 154172193 837598915 615159615 266753109 134038349 314389395 440419427 240756095 509297421 502051227 859125123 752181105 100405889 473148571 382480513 578612553 176047505 155003217 298759563 228159405 171773165 418091657 835687957 381432265 863157005 917682707 859301337 643898453 583335219 160074701 318224349 449743505 257171045 280423575 270199151 197915969 520498805 431031645 382092575 205818803 694561531 284131341 843672525 719758527 728808023 43678887 561509789 729733057 692820145 354597929 813480697 905382305 172645113 649902495 288902039 912345037 879927271 543563547 526048625 233229115 456754427 354633397 703027663 338260841 343262593 895510419 515425851 64632669 888019843 324804831 176116103 171949735 156038879 893269193 463778517 699589723 566718513 422407051 867852931 894868505 278293989 357634665 919758659 418200839 29193513 699622061 890851077 558403793 325413109 634454697 958796295 37992625 207744265 556982455 248357837 526130785 34214639 826453561 818213923 846409003 521012981 257581209 889067037 340071643 250071351 12594763 778574615 640177353 712511633 408482249 742074295 79454419 926800813 580133523 354640105 90575453 500263421 621228597 999404255 243783511 806677687 900837695 621669913 411027767 432270299 733825615 779745879 975475707 570900785 525265671 440415143 290171177 722457421 329216781 2407773 999249617 559021187 217659671 430288151 36156039 407228405 765698013 359870393 702069355 733185163 634090787 752660587 326125603 632897013 730560691 170983335 768219611 947421613 727180127 37377063 571142477 165506545 148570113 528616429 523952821 570503881 82297979 627678025 508650969 271065351 449306297 359893963 562053895 797464387 683418027 453756243 78820375 340358365 604446795 829121797 800763237 243574013 77657759 396478539 355639001 557880723 512301227 991985115 395535073 750937175 584836487 337905329 938029939 893537227 184979019 878604049 437264143 745442869 273511707 720088453 611022263 331927207 64566301 104169957 627923453 704208377 277171847 472791629 107026421 246069705 610918803 907589663 8302143 446057347 830032769 494715655 653193985 295217493 628151965 314244091 100504809 540946743 884253241 731754551 913401387 968211435 727619503 382116927 682381193 289674743 348665185 432754399 561608519 532850347 649996731 952901677 510821939 679125283 905462829 916749441 796883621 36034363 271162929 512391557 180612475 460107935 447422539 699382047 763234585 673190843 890982149 567935625 386340975 663207115 495436273 366171451 76084211 195841741 228649129 392174075 662049443 499092619 482625489 387675095 148282119 744224149 926782479 414657311 400242731 474212161 797162777 827915891 531315877 245027761 336507049 724246455 839330709 290153165 809068927 445206805 397005729 728909639 325455463 736716291 670488055 839425939 525728051 395479611 710982987 803716853 578782653 100057285 347307743 417262709 800664297 912845033 802895223 816708577 202824605 666137919 679756899 82596051 930818511 458014369 542439031 397850027 819548025 540084533 991279889 650562193 35597211 686983525 358157083 91664501 130128193 529921767 935176703 935143441 786048125 89460663 486545589 818804963 821252457 470534425 580839099 84920883 891259689 226435225 377759513 621421587 690945251 38305547 357378395 297039451 427083469 686616973 559519895 880054187 499623201 394924161 370949229 883136617 360937247 499223187 822060035 371422153 939920917 198926267 530196743 735764675 17899601 204183089 474242735 312664339 393676847 566059899 231465657 216723013 821116177 822819173 148958827 766539433 270647395 922852613 114751891 859267671 936011413 656814515 672068489 76796461 579263011 884355609 999648299 949916375 54571661 133186847 788081373 461728707 637586271 877159161 833726863 854259241 173715243 263340071 63142841 151935497 913435787 640778857 115785557 940372781 916439331 507011023 880264685 248506915 503820955 818138537 997840269 109739847 820380069 632932247 436951499 94708661 468947707 589804157 208953543 731497049 852378211 844609413 850306087 460899039 74447779 279860005 966503961 496030403 931299727 133048345 401507411 152873539 58562817 859730019 814905107 563750249 430267869 74152531 256715295 917353219 367263755 377251707 735472583 626607531 153120381 487344057 232003039 819408065 542088749 856478765 478260421 219905901 166313761 636183113 11674723 31272353 936094559 151661757 302909731 558534417 672564219 255871623 640090877 630882881 202490383 519379435 13053553 934100345 552706495 991125365 440824195 208355271 441344307 321391353 170596545 795032581 317618077 357230741 222432833 897692115 922798137 511955883 839056547 726540953 458904391 348616169 152207373 522246279 938575635 585519169 513865005 605257621 281504497 628772337 506290745 466445957 195525687 266379647 76319215 533886429 756796233 224893875 23791253 337993455 298734739 970297509 247439611 656141011 639379333 263061679 546618229 415108967 809716123 562787701 894468323 585415767 389664599 945736421 523453865 570891793 886014273 73164339 177332409 704126157 581202669 822001881 594761861 692934541 381309943 679967135 131829263 31898391 631890685 577316749 892360665 706002683 893143725 604862203 893765367 197055637 34534071 633685635 510583289 908278273 422561495 362315275 999363073 390337323 483048397 999665085 6722487 802871487 297955943 931601679 174036547 893776185 581034611 619289533 271178849 44019161 315029453 419306187 343987021 546924963 47531865 201953157 509644239 559520365 781117951 445901439 79449905 898238411 749068209 664490135 692450383 661635103 397374571 319327215 692973697 409827731 323070253 958732019 439711411 772591891 634801413 65240409 945140815 240109403 225208321 278092063 486507599 111214057 140851263 826974597 535384621 740594695 316438749 97655321 43188979 285796291 779247881 439769519 676762669 675835127 402329331 674673509 540959475 100577347 71717591 574466973 729257699 71335951 738888183 917072645 452621601 417087883 176439195 791291793 267906909 682502577 89200665 647012731 636465869 800908349 563193287 276377673 244007215 811688125 258967051 927873481 735291337 208895357 235058251 105463565 678611051 468181655 262853887 572970865 376253033 689307371 841641117 799269785 276312995 429499167 873782439 902744179 723372927 3087527 696907947 291252275 866197481 93375675 977665335 838241621 318555227 111971671 169933033 883687835 452599503 106610759 27447647 322328853 769855183 547657243 234097223 469093653 79909479 585201451 722139219 296266553 759437103 31405717 415871033 962060897 820207429 569014085 358688193 944683455 157505101 413077737 4378803 608370115 363879543 909268217 882079199 734839083 801657209 32976821 995737633 696477691 274968465 904597287 468007261 316379263 304943237 75944479 292942715 43542091 996407973 510044979 320073581 646221629 155603399 18957255 792835631 747053175 353231429 1483007 830403523 773901157 601660939 190897869 945430067 318161599 205976453 594447595 198710927 360677245 379912359 819361753 525585397 955543013 627223027 288506843 306770563 595452549 986809197 189943303 984156775 681593133 114907555 255399729 930385107 895705085 189798573 363391227 425361663 921343063 777283881 370783949 655892781 167950313 661623611 148379863 403296683 745798055 360786835 882120979 604926919 911380685 75525223 681544255 946559199 614035421 663679605 591377125 182068563 829858215 275022853 427706451 201501581 894242365 672270819 484816803 636328703 176191995 741199973 194724021 365520165 964003461 532316267 657997105 61517441 811788747 417925211 851133319 673046429 245870333 183797025 125339119 237996041 352338839 262003511 852088683 872970083 287748705 758751129 794776769 187366473 811654245 986628301 367747971 801731433 227483639 856548321 701202185 563309173 344517045 441331565 32590707 233503013 131468161 29844623 207349415 964906045 986035591 444841451 84480345 771366021 979584317 877553329 968474623 670811603 487923295 46388631 331060187 448407549 264770033 290540509 875943411 938736105 331191617 157864005 906339353 471793791 287157471 424125473 904738275 757580723 930968491 55675463 133316021 208475005 756125127 21071379 781397939 406683873 194624929 652529771 820721361 671032039 148098283 865055937 240745925 512811941 314240933 623134729 656717839 238681907 818517263 344331713 287476473 543799473 550202551 761277679 187117715 72373071 95537011 772123937 185415347 6819641 855411293 592910703 822809595 409641133 84517339 870729079 847296723 881899245 532487831 589559901 973393005 778515779 714604165 123101649 767513535 732503039 163666405 884410123 30808201 524906879 872714809 636888517 274349139 749654307 171806029 298086217 460516721 240518741 690160691 106319203 718715895 209342345 644741197 16137065 815285447 686141239 135744571 785384251 81209481 889244899 145387241 93132351 555566253 931345429 161322125 861189219 929053805 270429539 658693027 356998429 326367173 568230757 26995183 498343529 990850179 282719165 332115325 973557715 71501619 417752597 67340193 712724835 97823791 755373855 898610681 251810483 772453527 747720089 716520807 587724769 103805779 795179327 697016087 50763409 703464467 274613217 730988417 627678451 457679439 742523983 449412445 100923071 805073479 79775587 183598257 697080879 650664455 87037181 278837705 797965581 376239707 219488013 26171 354468261 899042267 326532223 389391329 932867535 104607211 837130323 471495647 563149799 278134703 763087493 277174179 574160853 335205147 647314725 80865 359597061 273136613 109430083 3446675 324886641 934018191 248259577 458493697 162190229 613688671 523415913 394549427 475422071 865753445 424860605 223562881 154397863 836259197 95102505 335980165 574592313 859427139 558303717 798895653 735388109 330641955 656566069 522065675 167074439 853843529 940336739 967551021 734946329 601187249 143630527 165683911 998346933 824660249 138520999 511606619 418485021 763295499 867166075 666187449 833557395 748728023 56937125 932979443 951907561 75080595 835057817 423308903 20380021 671924513 648170191 640523447 152392211 691663657 947495883 109397967 110054187 527716379 112782359 601823461 625660843 429066801 8392005 517944181 164457481 959217769 637800175 138252869 357158211 246348685 888955319 566731869 160695263 224907563 278804551 649057299 266884333 556001949 431982675 567556101 307841793 256117251 678299539 666759189 473493307 266186565 401181387 189328497 289650751 711117587 108880069 890364043 139264831 961829349 851422547 87570979 752213741 686863101 687331919 416482873 802467979 649509729 690309787 734692891 598142685 779579619 277959457 984094303 713772337 890676507 812099541 964895199 50416221 120877161 662801583 46358719 433039299 633636597 423727283 832249197 603374661 596430767 134631147 311363997 512023379 790369615 617025385 139137867 141565411 543061333 676969543 660380601 892529011 308099341 996144807 826554487 225193737 855873665 150346675 478733399 626870325 443727247 334700447 177281141 708401675 55580883 531896995 52683575 838853163 940381369 188256771 945113927 205874619 285061743 485227785 497343643 359706727 506548973 420723207 520289135 322363239 416153075 776193367 196505927 285021819 512530187 90569819 575313391 822320871 280913027 525313663 260160123 374979705 959655031 437637681 819334729 778648201 714289603 51354097 803373051 6632179 876235025 969350461 113337983 806330143 236185043 211564961 69587463 370671355 63137087 778389935 875562257 950877181 34511701 109701633 858926433 668764197 948835805 976864313 784515331 456622325 566324587 529214977 294134605 96043135 793506387 673029645 697468889 44501591 798901175 952271639 993991051 526084765 99655807 282202335 575252369 155989239 342463579 87476529 792266335 448170385 436252357 881458911 193185967 870606885 863766011 127582915 685206665 67949293 234715653 426874559 255126581 454121395 724255157 390165693 756640587 842199237 200018851 732690865 903825829 247863285 48257327 492902549 82140265 628165031 644517249 16101225 323438337 172604349 296567433 605859385 86298147 41570983 84719615 437077527 595899593 226039387 255307365 272312861 48688955 675178839 98854401 608294509 430994947 955975075 409100261 242864945 246753525 423762379 432621289 601329565 285902893 36635621 237526701 799319275 317582609 588458641 813498007 312377179 570587469 698217461 645805275 667511609 692951507 771032765 546233199 144272855 508699105 234744099 801779477 727978639 947429883 47247331 426448467 44571587 563717357 160133443 532563065 302195679 454763211 994468881 11490979 773010003 772811251 948318373 539100845 525766297 966404615 775617499 485436995 231465271 240700661 95151645 480104913 864692403 47001071 806039637 175112595 512130721 631650933 860939003 506673799 726299291 346476359 653752077 391210871 903537475 420478323 717880083 546088435 928370501 446457167 135928857 756276561 245569105 551440757 377654965 31458739 524050465 924159945 356357127 158466305 595587961 814000249 265005749 925948909 592076067 874053881 101101037 855957227 495629555 35335429 36814947 938861887 477844671 214630303 476917593 299053041 535198059 247960087 725094291 727196879 770405345 933228287 373231711 9853299 417391639 4628787 788299925 909432381 276709889 47601369 981140371 790061397 169551013 88376411 430540349 915695531 428840719 159664495 34606083 845068793 855552333 694356497 878722013 603148221 226771323 528961925 907893573 819505727 302097083 298186583 70589765 698140049 92474937 784429147 707740009 674058635 257796133 727656877 112506055 194028749 75885753 337556915 810636543 565675965 183738683 165004569 396919095 600173967 861532401 76273617 144968477 302111547 404455983 834069529 655434725 415377021 82625359 110616951 606901585 611255009 856783795 947314611 945008805 774612151 554635463 557801955 794044849 52620823 838933755 266349413 973067721 691410911 384188619 700928219 742250701 731879611 392279991 828965171 165775905 866720793 694505291 586559649 858971573 161660721 945354779 691274655 625286399 940430339 414615741 488624629 522162687 702419033 720892117 776148395 288577079 685362883 71875087 561716249 982241209 225544599 84058395 180884697 961265691 586115575 785499317 795803855 912925561 625315021 17272477 395043115 322098555 164853189 162650271 188382811 137535055 625698907 966031757 813630241 145139627 529572045 113683523 406979967 525873101 505948453 394789535 521112001 164430459 139941937 104318095 844753275 165271043 664856203 936674563 308438153 119132733 345807251 616082679 80893457 330598279 402168945 17831019 689445245 361747399 763983127 183941483 95133571 253149033 543758649 212845835 140033311 946824805 289085787 887359073 768017557 384930107 939580869 334671249 336758387 761040365 867999109 845000391 731273865 81520909 185985909 914762547 524494581 657589937 505528117 74169361 980328223 774130037 341627437 63550369 763932333 286559617 354919565 988909617 984576665 378401155 576693837 570937615 467851803 687189425 863905839 829117335 658900409 869350601 263497401 673231917 582822977 469067025 115613501 361217847 627233731 500815193 815684819 54868013 223637151 980445173 4493145 152681091 295846007 404561861 743165563 473941697 78494009 672432941 342846631 915808621 149073433 922331935 256247829 77340699 84962963 82944013 340864967 567742567 725260137 979068663 497638019 576699119 29493163 733154405 37419481 281858145 637091755 368232803 201674533 957732973 844638213 980413577 608476291 515603663 710241951 796711667 140511711 300349001 125102499 585004361 966457829 309449123 530974343 526901945 579978513 154900657 68279559 141024249 259508899 553147727 329353255 233461319 579932575 184538203 785167155 306527339 522548187 258436291 100265151 909647279 491727083 453987447 698936231 212859117 727199027 545191283 897054737 699285891 647279319 926735545 761017961 86150743 649061065 115407697 996358241 65584341 358262211 152943439 742831607 425104375 545470275 286192335 741706863 970448695 204844691 89115375 448383829 326957471 634955201 153757405 717519231 265174715 294972583 167412427 576179719 23996323 987346917 435598063 17104721 406013939 663224291 112436369 391463435 181568211 152976849 620966647 819654183 369584625 401278633 942170743 932090853 94039683 892184615 496935271 798831301 52997703 790570457 861437229 148286101 286937221 750011403 651808049 637305963 156296969 745986263 492168165 2970529 952702761 447973149 118340037 568745181 826409157 769760131 811977811 324018441 835866945 894492029 916768535 64947291 914896527 736121923 112427685 377888589 18636833 203745745 371440025 235571111 289964537 527577587 604003729 984873843 822209947 906227001 186096699 202214405 857072405 220836859 724903497 838131961 58790911 296144727 511694963 692480821 698122357 723651129 136489595 341158371 990678561 101270607 658844207 774126969 321338157 642267921 132544605 108231859 832146769 407775423 981311971 764933525 472210635 296715107 625403551 901648491 882014049 679745485 690250367 15108299 992039267 800075923 464099957 551653005 336871077 589903129 690536313 590065369 655577479 185596035 135247757 92924699 29867503 900123845 611607743 216525317 797361227 470670227 365222941 228122775 403760783 535527795 900368069 758127377 463832893 936785575 843423959 44525569 276253785 686698053 786677373 636487485 69009521 782941473 619551465 139643615 562255261 845456605 346615639 951749707 974132857 452711649 948119049 331701551 777437487 378904925 637068103 696238719 737615977 97092683 985517671 759817589 831863903 418154601 294636735 3817113 697434063 511230017 79706805 742933171 266971905 119934753 456710833 109779931 895258303 702005283 533310501 963974763 325768037 151042343 302184591 54805001 465760205 55449045 763960427 684825247 862439519 616152221 540322889 883993955 853211143 152508855 459128247 260689361 905480511 114497573 998181971 339959981 635367171 430207661 741256381 622577923 445132761 768123617 318762399 978390311 439930063 987119641 369107115 945631669 19468413 949938293 846760349 350439059 217180671 963407323 455431479 747768301 327901183 115660031 328130115 312045877 83828135 797008983 568447633 873482281 828167599 627554597 914639871 341644749 116150101 963427439 708042605 832690029 702034273 813691399 508460997 422014879 862138143 350966147 682524409 946086715 772044645 779523911 470668037 411689065 404203411 410320759 805866731 427369877 224692879 233249543 443379125 666879603 389330887 307812525 142137715 466944253 912669233 3547113 891198019 605240955 33855817 982288389 471888709 8309 565245467 923338001 728735651 543050179 761460783 740438243 900795791 520461183 73559711 930775069 273221447 190725645 156391177 68859175 866577415 165799963 536721 162997555 105002783 545317789 854686951 315692855 668987615 402545359 569032001 686522611 980314015 613094195 926773599 535088623 635984581 868215961 120929411 283085951 768090553 62716435 166876799 623661239 143377647 268772093 381233833 29431161 306400991 587693565 697111261 67534701 351542541 202449405 54708867 582153219 991677699 906003765 228518281 962723445 970249553 318384667 582281571 439678143 395035285 688950393 346149907 467423407 612695663 909024857 190999837 991293649 579926665 458610449 408209553 552397695 91611031 697547833 865932291 734653913 672385105 985526457 914740115 495114439 613884027 119355837 356006629 897689081 901423581 375392183 118400553 7035111 842735949 63727461 251168535 628547539 969900451 214589645 672033257 487025347 452688577 452129847 23122537 873784457 523306129 569563449 83087075 7988667 737879047 642490289 384598829 427761085 776849947 582566083 72447911 157204917 803449041 251949529 67978807 895117713 456391729 849862567 500175179 61015309 830571345 213551917 916242137 292068009 386506569 121845419 176503647 95699115 214015035 717521585 889100515 114855971 490475601 712993041 300174837 114389485 367973055 500991975 468102825 475831717 217392829 505261207 791593887 409389751 961664143 144988369 838167803 759097167 391562879 541387651 693328237 57929065 898415583 972960239 216087853 396528579 33312775 361410199 716887797 242858215 769261917 755295815 403973903 733759013 88616523 891746067 454216263 582639763 188507711 242607447 665461493 397669907 15743673 68484281 408685045 276565069 618421815 993429797 719813551 325119921 460493123 359726541 740409617 368375929 241492339 611272239 585275025 405305763 993211487 124607247 658283309 428641785 528348329 507204985 965624171 954497289 236447995 28054979 661185115 213903917 808843529 173378181 160785553 815873413 757472907 892130215 961784109 334278905 17714757 7987541 104369875 231785785 402550017 178013443 111277237 655888061 893422225 129327723 25213829 955815111 892168911 392649363 389917317 586409567 841635485 255061705 564392567 695244115 85654757 44738461 913265327 967458107 119786395 755271663 574881277 975623291 43236023 190671843 295296453 797053241 686170941 536316387 733586665 39936101 939036727 355656101 573922009 866857655 242790327 999091491 687343243 606103471 686726103 96920485 74713981 455218841 743812025 36003509 930110645 874877311 499111047 856023847 391373763 639700031 934291061 990566935 235395515 675664245 939130813 287773675 137643581 712147341 715040159 928125261 807995501 835043253 812730727 742714931 827296765 84009701 449059685 612809945 875422239 462711517 661495287 977996483 125601941 335789863 898736765 917939645 173899939 982849041 832490595 548163803 793984023 953224119 67118105 902643577 888039497 176958709 227871769 577122365 114784533 957501557 271489511 326749715 302377955 947442601 780108045 172675373 623425697 554606023 355028509 555311115 369282757 608466127 749355953 229182061 87636557 188484745 732301163 66240609 383544513 329368457 879795447 723971899 577346605 488003107 706177283 548578457 955570727 393989497 317414479 477231967 618781391 893767795 670594713 975343799 25162185 55165633 663819693 488802581 319780167 86538205 608395357 59186489 415957757 118432773 398171011 652005155 102256935 640557377 826501377 588031267 868162959 869568611 487147201 610249417 212897409 356497923 769695159 950051317 98386389 611494273 545469661 122026955 321764329 682827781 124631603 884935605 180037793 122317695 844472261 665124969 141206125 456470951 83697829 348506339 695821123 149945087 118166509 890926439 520048033 137471949 381913023 939305087 920512399 337084707 887292999 681606147 831518105 547917273 709599413 997487631 25163221 969229199 965497923 235194373 732960483 421304235 637323573 24014737 779065577 522999393 351380949 913242025 942295187 254277031 776694133 355211145 71469083 955544639 93463407 39837621 94750267 606364847 374654503 760530169 501851965 439122503 974746627 412048747 597549039 993191971 539074169 189044579 74539173 37998111 442115843 21724299 304718909 687150055 331017249 127293129 301933855 360510951 547157087 373041495 859176507 903090779 845475151 760328109 943724547 966097985 224763019 735178385 866269047 867685475 86026421 281638161 357959967 277472337 979831929 304967037 784203269 897184097 444024711 317495413 841984197 550562741 466329497 131752925 927161977 505340725 113746293 421000159 38540233 979363475 385392609 820604913 972471777 611309635 544009905 113515469 191550843 442760073 862621119 193588347 94362067 430325613 560199149 428764995 999583663 95235517 251530791 85801149 938471517 395721235 901011037 315894725 774419637 671273167 221701769 411397755 876316693 531712537 413459889 845608785 313194337 315496673 807811803 337836535 159157257 394772961 643196955 992658025 738051331 487788695 443080587 524057071 511663055 232872523 104613453 999394323 148956015 547207951 764595085 452742569 474168181 337922235 411342203 195747279 656383735 697739247 171514963 7305959 106921361 750182161 985791829 819407261 680469099 779191637 400858061 167913 34804017 949197747 274918925 921566723 160770845 980931047 586709103 477252977 708372971 57911677 966701143 338831871 593715937 665639621 581820203 838247619 79082959 290032087 785941347 854396695 943441417 497392529 550066547 138577823 743177069 667747999 890535651 661295433 272920421 934013551 761832249 977340487 545117659 368971321 862575369 422007577 356224071 655628285 335329517 575678847 934279849 543527301 615252615 135409545 40477827 483444065 160199555 831900807 277900775 661535719 559752849 540751385 551735915 51264057 654245485 829526307 188672555 889080129 246074071 454659791 187970767 470102699 117202845 710741395 569528453 313048051 787393421 552349227 51668225 688601431 811753347 183575193 703370373 507226849 695535457 956254509 187784919 997832543 682417939 808486265 597994049 758081899 528779145 253845851 367367837 409065573 132983231 841268723 988037193 264207223 439062965 130632371 712999209 282019469 419384185 772826699 362100655 182896481 265621017 346794425 697702349 335864437 237478065 828108097 915536899 739295761 322712421 353142639 274167385 2631491 475710555 243284503 152543579 475556069 492325577 188365655 586717473 164915351 848563689 876929169 438196807 560747969 986427389 200298355 83126517 383908499 491716429 535863023 794146265 77513477 736439597 864396357 572099881 228849113 930183415 17988085 182791075 185129365 666058511 359990989 866672525 934424971 280978909 20456675 647549879 245437651 350733011 993390737 639789173 411181387 417358701 201693563 829078693 112928927 134909995 970509711 557449393 307918141 837808027 42513921 696605571 352197981 760245579 750919755 702534037 585289729 942376663 175680821 170003937 78125039 211365603 895184839 369758961 173064375 172093461 727253081 234314193 768036789 988327973 297486215 835157785 73501957 349535943 477110577 674040805 453764755 75892931 844051847 86447325 316725515 517155551 910802941 642619183 842925289 163429105 335171663 198481297 92269933 240883407 545516929 69975361 543242653 436425053 450102495 945494277 318964553 66368903 411626749 965679149 47342603 59618623 467889337 995877261 456688709 11910267 222365749 401580677 943875099 891746883 344424925 376166395 522670719 11725725 798534503 758988123 865312299 769724063 751558353 5240733 368391837 171648863 575131995 436467265 829312799 863437059 144641683 592182859 52534719 522124467 989146445 909719369 564451415 483267745 465212583 75188307 397752711 935470345 609418499 955778821 433790903 83076907 921592079 678255751 471183383 214279765 877103295 939012231 648987041 104795349 876747853 215636539 825734673 11017479 725047615 277559137 993050357 814059087 712217955 222457153 732049049 500443669 297971147 275482533 342541079 779059403 383597523 301021161 472270159 29514477 672991775 987564007 801505767 314114045 839068061 962605317 410547283 583278467 153435265 923310389 577913291 985996309 902343495 563715049 812336715 612528713 579863987 868480291 520339871 861604805 874978255 804282983 933390423 842160177 15244531 796927427 371583691 720652863 353619643 752539343 119056923 347444395 34293767 845908391 286944557 47527735 384594953 377769971 153724853 401453995 727425841 174896097 913083177 566493405 941934141 346582823 485317065 195305379 646677809 27847173 561907103 256480227 682512473 668009021 736384379 478846853 36894537 538090529 140624883 111853435 804044255 663423365 544035435 594362049 283964221 157182665 418491911 274754393 187497167 15667155 958257339 162149195 553185101 947059983 661940283 337214381 581792175 119061111 651746061 361750933 307493947 585820295 482301811 38845225 603531135 906807109 207303299 271665297 188819787 486132031 304743185 641211135 44156863 318988941 555698879 530112431 684707901 938980811 547530997 387918563 725830771 166792993 109691365 406660837 624173397 761317695 303197571 671416581 390282271 364239447 763509395 907026081 946368339 834185513 218198941 582428695 284918209 756024315 612897775 100612565 97207675 659888541 777137827 157847885 675262173 371521125 311971737 875782647 243591563 398508335 104584313 939400279 6489461 700193377 739101619 758640373 225852363 283372781 626134399 901950311 746957321 268583239 935922399 175396163 453477623 613684331 995200153 128418607 426150303 819779299 3204159 543702483 773191253 989467581 633196841 34650337 673458103 853996941 110484855 231364119 264934311 205187953 583081743 825292849 152806993 77320723 828633253 145627135 851460395 949920413 205017263 250904399 432420337 841716679 424074863 189394943 270921641 701717711 297157867 820682991 645916059 384036989 615720949 448580361 901032541 96075293 7652643 636016703 231401165 267348613 787748057 227510927 262936333 19687701 28710203 853937909 842416523 258674867 758777149 11192961 544154617 609276109 977187221 776089411 179022423 523711575 12346819 308670803 917881317 313641683 483560721 586460631 975708721 931528005 479304591 327281143 331513873 72194877 764554003 369512935 650048159 855395791 282241599 925570015 144555073 367624345 319655291 820929315 35558305 342858437 81590777 805835515 22781621 803504125 627989679 716773821 967263671 532941177 138814813 305810881 485650479 57542903 457246091 73053287 149448679 834762687 337752461 401174303 151975411 10129821 475762039 645025365 390416815 767423977 509044267 718055047 851886529 327372415 327225937 6232887 774802707 9812679 950481753 809258479 403958747 249377965 530725501 415179071 280017557 382990763 644856763 156854725 842219269 475585469 882883291 789725985 905156407 481086057 162433135 195792125 869057151 863522751 471748815 204814861 78031995 469034835 585162011 560857865 575167501 844846403 387128379 329643445 141428833 240325945 383947231 703492571 777074159 364530015 589847935 789632587 566750575 242561901 641010525 589561315 328263399 661023651 774232959 243582083 774131363 235939267 207536823 523397141 788498489 5137441 678500763 623515021 210898307 221048461 914151311 552260579 434320805 459586409 498367417 878030619 955731469 960226971 762522119 723013439 537390959 394698897 630143029 805946207 178059461 791033153 46583491 667827353 461283927 657068841 844297719 779852045 874030765 657405519 391925475 149225701 579594143 77214531 928639581 909321045 544772935 40237081 661844999 583012245 754334987 220638063 65655115 929128425 21722773 379066735 513747029 327278747 612472027 789248707 362556193 731536125 190867225 257789861 203339373 145022057 233581523 345037007 328803011 799108929 617595347 300690571 33808755 914760687 172625713 191640485 829339027 281498599 84674121 701884533 290204933 310343329 504562877 204417495 177877873 882821281 590330489 425203763 40270153 713597041 111607987 152447095 240677569 245824929 852441833 699900697 307541213 258400719 933000667 333734167 340247653 719299483 474714775 861253367 534205671 973708721 822873969 700737481 204225981 842987967 185730823 15956513 381623047 683638149 903713595 546308381 81145005 470827969 94618171 243266919 495193439 357110077 84049785 565644841 908049301 115590095 684877493 328883229 832605841 19174735 582496495 996459645 779988315 10965151 592549749 709039123 330653633 483231913 600997597 813522987 27574619 388926305 866152961 550374813 985992333 770480833 161649925 201660869 155644285 58889161 817840727 9180043 586657563 724619141 710169515 849203293 615346719 763633157 119258365 279786289 640572425 899358567 831406991 981339525 210809381 147222731 406967025 754099297 150403709 73133917 376592373 778690383 99416303 297397581 149440439 260900715 903275031 602014933 762918557 938224719 40115297 39333177 603676497 960319777 776191227 135141827 587250121 555061651 244682461 255664837 792946753 68735703 655154119 41386649 904501309 56410287 192010563 973735585 472656777 618073695 564340127 784125511 6071097 872657333 779663607 708856319 545172139 261723657 299933735 628087873 86805121 914266423 939204569 729223315 452867497 456686759 283366271 862715513 872444501 798398023 379987023 129296523 659202307 69442957 834275913 794329953 763499383 783871095 599431477 956055197 284562879 690842765 800871335 598500843 396675883 810617305 932580339 976686075 463517531 153733111 782391611 564735879 394390833 752342785 145953895 645431891 442559451 843244701 382675751 77407273 266066381 22125821 600673013 129640923 185941441 973763539 102561295 654152771 25106879 962014561 230786685 468251971 187566095 931995499 518882577 920135879 996856905 414013503 219826787 886674367 683975239 857484725 334037971 437137701 666753327 497357353 121084553 211755261 764020843 112189317 378950261 988168529 277179057 424514611 120862031 837346099 578948347 666220587 901754265 959597501 613940625 218138603 386899865 863400209 989693693 528579449 171510369 430526299 438168851 553398117 145233097 707781579 431234543 432878021 6974577 208066459 631187191 950656309 284845759 824879889 799876567 371172315 464044519 162897011 255975297 726699113 942343647 587077909 106276659 55464723 416666985 92763729 949923697 555031189 436987659 990279817 209565447 504649017 920687637 302789159 876793865 44864461 340932003 161218719 182564053 857895587 650800529 270072683 381259021 8911519 375584139 710353163 856315551 480582179 703416829 563724811 498810557 620501023 906880291 544783357 301259495 577896203 874317307 835455611 461392861 10159585 28992335 873996841 359990957 358814505 458298031 687686573 834620845 571817971 737774449 501342397 584892279 210144469 652560311 906117395 961949167 225400043 921017705 539320175 76405571 229194459 830438201 634758813 491465447 483485655 187816347 562908271 91091607 280409235 757826003 268149439 672190293 34336333 574412521 32615023 387335281 547260875 573920427 574801515 640184445 633860699 513699507 264812195 513480789 458533077 17467233 769704723 388609055 31395479 470275805 144676539 321156677 189598341 254947351 167775399 403156093 999740431 569566665 311887593 117331139 953112619 937735537 617746843 224252507 318727257 521013335 418098657 3317969 957377947 553867405 879659233 342046969 347707267 234023915 391536849 764833775 410716455 507753745 744417259 354732569 807816227 601768037 457492335 368146467 998400927 816621339 481226409 110763519 93077319 343265835 584592365 732814315 661303381 206481745 955584913 986677613 945446533 424579097 463583993 444065869 581811485 658551507 256701329 616155041 254476779 949555095 414023113 578776263 115796039 172624195 937780763 460021345 573034511 295929475 672394253 678104413 748248743 303899333 914145061 672643055 287489025 514841409 4816887 744273041 760695695 627858423 526670109 885507339 374232913 773281457 703747643 763635557 184013007 893312511 225571063 32934647 482472469 467660855 487943689 661863259 473114811 490117755 607964197 805451639 398312669 194374069 265329939 24690805 168615971 467675537 436305561 672540875 12140217 449378699 105429387 489702707 896699481 632184801 26459843 375545269 562031423 1305245 920606757 110698139 669792049 593350285 871382935 54138745 953375871 568761419 21677585 705558059 613868797 732255031 767779975 265641431 75411211 730393211 418385153 112225255 689100941 219648515 172255109 792819475 359838707 910487945 604818215 919629907 511055157 796036495 319073537 659116013 620944589 328279645 486376759 665335917 294598853 898078465 365123057 6481319 206376361 58366037 746041953 753429433 960018833 31585785 362668483 131231749 229526297 40421205 316833367 413686327 717855849 795757209 630646889 870051143 163955759 154785725 344337227 815185517 981817503 967539075 177479257 206085167 925763707 897308273 837996529 913601883 433978889 102848473 702195329 381871105 772184083 464158419 894603129 999502465 326616819 744210239 323927637 471631999 238182279 433183939 996068759 409388005 77559349 25945555 268323271 466118119 565864937 641649829 397820537 138732549 467753243 145515067 718168903 155500287 295577291 343265627 490373845 392396773 101504893 213756309 50752459 429331721 649471551 147047493 55262683 672200455 129573289 614855559 136561857 577331141 194426071 732318023 695008061 205946221 202505841 965790769 559980573 46435701 190391205 944818881 696603951 401682329 539730729 514399287 622825551 933252317 167579707 969991065 259626081 248451725 808722337 191799991 834030157 707407165 787340459 487884075 157761541 673914825 828408365 303816023 972964741 453423191 615724423 83282271 56736717 472456531 903303069 6599733 574302699 879777391 306196961 935477395 68511725 437238185 746719557 455053303 483507695 735944261 209833291 699411883 348628245 740071375 713067255 914739133 236571783 433835293 52281815 190431239 254738039 947315017 84930307 448362793 700072225 651782839 217013271 138083211 521074631 661445653 387992123 109022301 229520305 333989717 450460445 893925529 223854387 346095799 253205491 618844669 814321321 186829243 677071483 987527697 848651633 656298543 549227003 442340647 385978617 888210217 141796419 696151895 41927091 992288771 354842279 790781825 454124055 153568099 980571399 352705099 273050535 265623603 981555913 491031849 651398641 359726761 516959193 588997459 695886723 290275135 237371313 797756101 744292089 780515261 850504269 274864459 964729847 461931565 865661745 879709557 359578149 653201891 967445617 327510939 898653237 962891899 626079647 260871901 626728675 452680411 455739609 819009569 827387377 25897517 800238535 661468443 430922023 694899431 802864279 783846209 705063259 717218757 881337599 558273235 151667043 347870923 824774973 802155483 898124069 441303621 245175577 629596969 838617225 245289417 494043871 835317587 646025857 665769263 832672869 433594813 469750793 256272799 72815627 683907979 186971939 671379077 11899319 409630897 339007447 347171987 957005781 722414819 768996667 225039049 794331743 12965031 626146917 281697127 189125071 201500735 51488123 316630267 773759535 807388865 60703397 556938075 718669325 496838401 939370775 603764897 709689213 530232993 793053193 450718257 61059357 721826057 576196029 234964921 706151701 997600875 895725697 49695789 475009043 897318075 997866915 748339911 774857805 704768701 813183105 732272655 822150787 619333881 101478779 292372685 198785271 45072061 486935803 208047385 50701947 537497379 766990451 737234253 270360419 496100363 806493023 832243983 871041679 493553949 860635713 555348041 719663717 129633993 354375073 933750833 889806803 375758151 154496277 779302467 305280845 505986969 815514163 471162179 224392661 350108805 953523617 192104509 889253871 122594205 954416647 96582021 22361259 489311289 369265433 498415543 179543709 654899321 69835407 139177145 146876643 527959107 250266413 660650167 153471013 446095435 333079995 512923939 25416081 975346439 278483471 856005563 183216607 633353145 816748031 678821763 651742281 649504615 313987697 822562247 465545113 974561763 570565709 530986781 895928089 747269827 90240391 609094237 789770661 132344939 995212311 76040113 683390615 60495103 988502273 511792511 228403415 480800627 446038861 17100161 395670993 713536125 817693969 574403503 164971647 729022877 6555747 635450193 870147677 876706333 896225897 141525487 315224177 350838797 159980107 990812769 496911947 74501443 497683005 807538625 337851645 182684257 923565687 665483379 172058155 926591441 615219773 466581285 942215927 416160447 744090329 867159499 871964947 251029543 232193179 944091809 618021297 344718791 560092129 921672489 918118545 917745447 152417803 342582067 746448123 373128347 44269699 639071697 501585595 814865463 411526587 816794719 946548007 222456029 491538993 140713347 307026975 628887349 266819937 790756903 536925449 300844207 440590043 937553027 249802195 202280069 864527151 772073743 973417459 511466165 225426677 949723023 199194471 307579655 978289107 609930259 763207605 655612941 602508659 642670575 556700907 127870495 565661827 399459515 155039393 785221213 65533377 79279455 390348533 621373359 148359919 354401031 74601357 663332293 999151063 180742693 65395861 557811223 694286155 688913785 440644037 443657959 342128163 10135299 358041949 605231675 176473669 146791697 617635615 290915045 758497177 493733689 758943069 393186171 836449555 366027091 139629037 457681249 727772587 343703689 759464747 525480893 804376421 191187523 703744767 461106301 198170699 251641141 303812055 415059805 399417711 470126687 567591337 931933917 38831081 325694977 431049459 264584515 780408287 498172587 85692859 351564193 432759163 802480175 957528207 74660045 773732331 392553129 412029831 393329769 412998255 816365437 301173057 15321567 680508229 917278811 846101987 74141019 760303799 461663795 876917785 911951065 20411931 525736001 815593499 813149463 332273353 639862541 742625449 988432031 838269219 969141089 210508807 727101633 589612435 777326929 649748227 914834067 20379533 376688953 692381683 758052343 371764873 361219263 789622201 834593941 13493003 678666703 134318775 582819551 907508125 280539035 747615707 456410889 259610577 218650529 61276063 675678743 844269377 756994213 614714623 371203281 536796815 669190579 856465027 313123525 88068709 236799265 962993973 607041869 283490423 225219975 988364207 213652105 839830141 16946893 149880079 558305889 885082939 199167263 346582011 852690821 850699643 703438321 820870047 570450029 488293135 155039997 169468085 460163675 321976271 782189385 106089591 2615895 834601633 208914979 63559087 928838703 320963695 929965595 954340265 284273531 331823401 650291217 524566333 605696159 788885705 416942121 857419719 953469377 790579795 620195021 904082479 11567569 511729361 722660275 388515811 629157767 693160021 503949525 866838489 350711397 462433529 922721147 188284815 669321649 496498143 944442159 50717197 67694971 413545009 860772037 710060765 128008095 688601123 388099417 294929177 393701561 957811181 787530577 139309663 670294837 561083091 356838231 398603733 444792897 956686367 572131169 325796135 595444949 205908003 745942443 872842127 830897841 915197241 817374649 897078983 488685919 466488515 455963479 51638809 663419183 584204331 315016089 144769363 817027127 589775845 614291931 971027399 351032153 172251243 14241477 155554137 589948221 345990461 249169725 27607403 713417045 455637479 621204859 922136045 219079383 70054651 895073277 975200853 871438787 735978259 325827203 779563681 781708259 641774033 379089179 836628567 341974469 261724895 246171419 52733319 348017091 434587889 92130843 313806789 535930109 936565439 859947781 699839793 638375003 61915663 47420673 612340593 826087309 116887719 709541507 502808243 210733069 265819481 114975819 679368875 357094937 409477379 220737625 460829083 227002809 658816903 775811325 108249415 286129087 57923787 573496263 365281789 623313603 816133573 658419865 803467669 49539621 252961645 263459473 69339243 994239245 625586121 703109407 430936167 581115243 787939039 309380343 143102455 341601527 232716739 970962197 585625363 175814195 522056591 66617277 546287157 261276005 852358757 806190969 504635237 147876255 793633903 786004003 591983411 191050681 650461921 872112081 808955827 207008595 823581429 845099499 8591749 461668819 65885419 244079643 761064655 655484781 704813839 171955031 688006207 417380887 371947187 177778395 67778569 52689555 695083313 489803563 406503151 525880679 703719659 687130389 44233013 884651491 451145293 961286313 190759337 684049187 306558663 300166727 100354211 965900035 130843091 637338001 797452545 478124335 711561717 616399987 760348967 418475027 420127161 966996517 676369413 896406507 377958573 812539423 118450705 950638005 960240749 709643049 367841867 974720059 581670811 385148491 609708853 129132301 529799393 930179547 656234977 819401089 37941747 734115959 536893155 939400121 516897419 739224067 703567707 217784221 757637481 649780393 536573423 411420127 227351897 562497503 722448845 327035123 822177837 898565983 91046827 36025885 537991103 617432625 730507973 143945317 639075571 585428893 800630245 226412953 240677039 684565051 40483417 466456403 810146537 889886951 208440565 640960499 335386011 667080641 322495255 509035425 381702597 578009915 362848681 748254029 409465459 763631365 137573909 183929265 435482551 311920923 282942803 477362763 446094765 918625477 536189153 657874531 601963891 614440845 489674695 34070539 610020919 991264839 51653009 658457883 453923369 570141713 646282069 809930291 752499075 329510733 60306099 737788347 349488011 315909801 796022481 57788129 256162183 589504023 393031517 902286499 689807819 243503573 118533005 339511483 898134193 489282919 916595999 238367925 198868379 69449881 216157529 690866913 4423157 503368321 135406601 109757271 710868527 836542073 142355079 626072309 357000901 407331109 922047153 315738215 801546551 927318899 469728747 754363163 318525201 535730069 822184999 339322441 50491621 715721739 951451351 136235505 950309711 871993493 213931003 572610525 860407789 429602115 159218459 524381341 724766317 909835621 672965187 215399559 228728191 263355037 810285833 184050877 888985055 69143497 425495951 382722601 229728077 655012889 164596597 359178871 258420117 369703937 2905839 86897955 261408137 176253501 806540209 362545259 571238403 399115983 745519097 439979097 795797223 356709895 611802509 959530427 150584349 639771511 31533757 101034283 217164951 345051901 436431197 29409801 195462481 961403833 258843595 784464255 713976907 427853597 152957425 510623609 4638097 3311577 318100025 981203889 13403701 362407147 535784605 215064233 139006803 879730839 337354647 241174697 44370185 27050857 136728369 388811455 245399941 51192629 954264567 601411525 29983735 504654361 617118207 961785179 834712475 13484407 615677931 496530665 885869233 58526973 486312413 366944415 8455047 216786333 342039683 726037621 840452971 445653655 737137687 827901741 839694777 283578987 17316693 196504909 840411859 19962855 328105091 708146215 499240741 652933409 779389041 880026835 533462559 369666163 423791475 181906225 232828221 398504321 122026601 502660839 449833729 403891769 380090807 535236201 542254579 423854031 5887055 433501165 329827751 926112701 981870243 441361013 315058617 277382859 57310133 693021895 437497543 310992899 227722761 209099893 695186303 518471607 430391469 119294165 69405073 128107145 38921783 193336841 619454649 556537431 869728713 386543611 743536057 841115475 42850309 384620889 16577369 843930861 907823643 147861657 416268141 378182881 961467071 677863169 842021841 708715063 959941941 572295573 451350371 240945209 457370685 443449893 181496593 503934331 734556969 496916555 751168715 549260507 428953293 662040681 73218189 347362427 526359689 788915875 629113689 37271239 851040065 55689707 883741751 587842935 698494567 83750651 92595003 923799171 307036397 800146257 309083265 992576305 857388117 369985079 433782567 548194061 734644129 435979195 59387483 51788011 665316965 118305719 856983629 226115049 153168817 145166027 986796345 333993065 917599017 803521375 177077345 166926105 166150639 873098403 769885965 501299181 977172403 452523409 664717203 306788127 177285035 108931559 435859017 265651767 610774421 420730157 927230101 307605757 44426423 169105845 811885023 600764041 48887009 894423959 507694745 226098229 536193383 961774003 602865983 333443237 144954921 542662831 162543441 591359687 941517965 375210495 817892957 306963151 611811455 748659931 321538801 779203385 663962489 319501631 838981547 770763721 857104757 690669817 727157289 523547273 216185853 55111315 545827865 520328913 265766687 710425195 388805677 85597245 824547437 523608479 481298205 421859245 461593099 631689493 801587883 635073619 397880731 116556929 65579173 331321503 733740365 836446553 359840217 754452303 682334935 928353245 544215333 644477031 658525303 280348695 446960231 499074611 785695733 811521751 257970573 237073991 839885723 666247859 688543113 288622721 952097605 673129231 692205907 413869571 307833677 325319951 809061613 466854971 761851801 68380839 492145765 215602139 917011099 17343883 144049865 201338337 637838917 54067777 930613559 999940241 921041689 458193163 440833997 117404793 610607899 21939967 356271289 411432297 119015641 625195249 29895981 522539393 504690283 864538755 653152865 520029221 637096559 272377117 472707225 205010685 400630025 409046769 886885917 603478787 912769257 386915827 752353859 720190833 4131397 109475559 221545569 113393353 31732699 552394837 689250525 361734619 342308339 673663883 370437151 854073017 143201113 82739619 437918617 987136447 815214691 462651517 454756039 233222289 193645041 181994433 510017067 358239519 649075305 176757215 63454799 780573849 379373753 239960335 745435331 206267515 969542485 954062931 29951269 688116109 459461951 424578161 180092947 488258777 63466235 227112699 866976317 912613555 525241751 925985097 472727375 819064249 111118251 543981435 805461255 468474317 434490965 969177463 435810855 782010651 7685177 738500081 298310519 562233113 167537799 149040479 723093197 134992259 538782709 56655107 820129793 610669407 740666819 193865187 754969587 414321141 268483763 133244369 964811153 598009307 450790935 483578979 987695821 191796719 6597317 686129661 778374047 599097939 280468505 989856451 937613067 19132277 146526459 293909417 67754011 194238215 559930071 971600229 771519711 196118793 185420967 267883895 841971061 235931835 40018919 896437545 400857341 921558957 180470685 623696523 288606881 170448559 947814743 95029619 250400915 418606305 620873773 48157315 36207887 643819687 7125949 865873445 410162007 424836267 824813867 793442181 133544117 89950947 304143911 722400159 161511801 788076425 794810857 611969073 742487553 352449061 337170475 494024387 536607149 484245633 752782391 207115689 892324839 836363185 175013849 28062967 370318627 825342737 41146983 907801487 846587865 537021767 855981505 441636889 675462541 417855805 394398029 701673989 771343303 600245545 35180281 247121037 235940125 792839047 747722299 788938671 41778727 465345051 607475473 461161779 52415623 672505073 306568961 140498347 966404583 593758557 983856153 640000367 423670009 441217277 589726193 145888159 78927995 783173811 964578983 878468899 515169835 137317803 690105311 817834411 577047507 402965085 108346827 433449647 907002953 570714497 91338781 439740529 502316133 556814109 47012629 542396151 668633097 181611903 49945211 345861395 759191839 291087927 955714203 455670619 708160153 70764325 657883981 481936691 678889333 447789419 527626989 992086465 340665777 572078199 161437027 616099571 522275159 550364413 299251485 790053509 94465917 474003959 95331855 203133175 36061499 563964333 804964539 591715471 185230515 53211303 197907751 220233311 253107215 180895933 173893085 998288189 76044931 928273417 662339319 116466379 54234439 611787761 970188563 504842355 244849311 357432351 534838357 617785441 173775061 309570441 778294127 623640721 980669241 923131755 949528211 683436481 154204969 221537353 708196995 469570683 169332485 56557805 880482177 481796623 47797559 347819889 152313951 965894035 533545267 365962795 139433331 680052457 440831601 221744835 884649369 464546745 343487861 866173731 874869561 51327605 248471753 519787139 472010049 144604497 451780095 139337819 323884071 339603793 622998705 430410609 852932841 502367549 824744833 599085777 421421069 502648995 476496153 934395599 844650659 143574237 400957229 690405897 132766015 144105483 387925365 265857121 565771009 227347989 316638901 832347653 694816911 946076587 941327287 822620263 75838229 734461253 912608333 410952519 933597515 110071845 114452561 797818277 922278513 427689811 280585381 515588303 659429195 262512285 698282035 547970395 635390759 190923675 711108847 459551267 275321565 818129073 384463057 123749195 87477193 734961669 28399325 245603137 850045139 398162567 671418909 740884409 3274089 952966383 715808419 815813295 267788929 902043327 181854857 369491813 253353369 975533373 509900529 22202219 95194039 652254841 213342469 146971539 978070635 481962063 832875257 81003257 847492809 623250269 374491397 661984259 228658801 519526921 851068527 503391067 858603657 937901447 739413115 717008121 793640125 203567309 57148289 28385043 949755975 716780443 701360089 746877747 536530145 623384443 818366181 913527075 661840341 217605309 837740561 496908279 245631215 33302903 756931021 96991501 129453959 178968203 901115027 862269703 528871801 198981281 23688167 233900755 893107759 895962923 214348627 692284579 99515283 51168607 385397609 662237429 70651677 579966269 6290627 190179725 755147467 96113295 834319619 8015993 961451555 622343139 676944851 86766345 311413557 535989139 439980007 863104733 691506581 645530815 445036537 518952663 113838947 631660111 185313225 680579621 951601733 347773427 330788131 935281467 221035111 738729253 238582489 286273235 60108163 755601955 537832389 305309941 882624981 652860149 525017545 263754217 398275361 273633389 481423567 587135303 465791931 630462755 420120011 435245289 163430261 361454199 728183223 699406837 243440813 885001617 183668371 615448021 870528331 551986785 294260843 651217727 317492157 483939487 52776017 397191469 653263865 996942541 752152927 867645927 690508415 806849329 737438647 732444151 43456337 321812189 879609221 823842609 649481473 70955177 652478455 15154097 504627619 434614837 30271565 626535133 715101655 377208551 610544325 950802529 543793603 344116467 451230635 651592495 809968659 375757391 756993617 276047493 159402241 560324029 579177489 299874023 507962185 190159299 106087757 849915169 978236721 699686833 773544049 897430855 460549511 730209443 162853613 199228855 765675171 972716149 573774397 972225043 321402211 134276307 897890017 904702537 878496811 894693417 32161125 541446027 263324651 820828851 343987547 442196825 7750425 495263087 420085341 142920307 640837299 215409959 813718797 985181159 889328961 690280299 583007767 555694091 614906831 812072337 33980715 454175097 236726003 491498939 990228483 599146005 574040013 96460753 174670693 651837453 412010243 73659525 212142615 299497685 597798339 521364555 94240749 817141289 28168385 420288105 925772993 65601803 727123775 800714721 15883637 673710795 90654721 124912263 228084981 334243323 416724055 57174003 60411185 976847223 691428629 106044037 614823459 414013285 164454809 132172389 32460497 208840751 426490059 169361541 724064321 356952971 152988699 761891737 937653383 479197045 256382587 871165733 314924989 905291057 919797099 489634927 485050629 26667083 380814323 373059465 197323659 400598423 567498143 257131595 212896127 695682099 882130309 430388565 923470621 531501183 112917317 494187279 532043685 867898669 219155461 480128167 768610915 815777837 708423539 292502299 946896809 899643327 203512005 397306405 832789969 467572067 31388087 187295057 904373311 551099623 803616149 990553327 208840793 181021535 375259175 98365207 313466517 24748073 145659591 236133543 907844973 602962407 950756691 786226763 700534369 346286471 434945327 225183601 459615999 899294525 245043275 51896145 498142677 804957059 32203295 450836459 47275903 818189345 194059429 430967561 720029599 482981663 415167847 28240187 875327969 866846165 926387825 14951639 261820661 465389021 229029209 824503039 380786583 914951197 282527295 664427677 755236231 945829823 187054281 517051229 671681169 797779769 830201637 927999675 186532745 563592005 727628041 291971317 20290373 730765291 468467891 625744405 328311209 425407861 895549929 779594985 289841825 821390199 581370617 136994315 318063901 785401805 472215485 433667293 91020313 535948189 573233805 949765251 913186197 119418961 138304853 370108655 976048029 192250529 727724671 179397593 915492677 367900549 270605315 327316931 652924835 527745347 772313697 53912309 675791067 72383079 525014939 641039485 908955417 5831877 99302981 969633077 509315981 966242939 918284399 811759293 552214387 973804779 225117371 106239613 533673741 600344001 273995599 634714789 279109283 847890421 440805081 607254829 201179017 581748927 350331791 916714199 475968281 532015269 546442287 501376041 785062839 865446517 5656319 708925557 426871755 125800511 753705167 721353427 45005511 540099683 23728115 132792099 44108327 984705157 841223499 870930699 239321195 631046287 663586107 335377151 976426527 877513141 253214901 197556021 564291799 781733751 678209579 773030575 15292457 435403413 447172255 807879219 777024185 389622815 518060691 490110291 592297779 668275303 614918937 295420261 609885513 464794121 327512263 530511499 1380017 149270251 904173241 467962543 46552627 789954871 939196823 95397503 834375317 988188259 54054031 953490033 223498667 836324395 269422679 25076171 843575121 958518675 110925869 823039889 827769957 479275495 913878233 487776147 438396373 377788347 696936869 767042923 901957521 685912555 293967211 694626171 197655445 481449629 59932041 664573927 447510243 691793469 642090725 753437089 721159811 851383933 516211947 534676835 526411403 344207195 385863317 278745259 224083217 163787803 356038493 225931459 418059067 463427657 830601805 812590009 171962927 211095739 771606769 344682855 374716453 206641803 969784929 494151277 463100755 665975325 614586425 655470387 921349883 582982687 509253539 869502697 279349867 99195523 712008265 101602441 484229105 734516105 470020451 612767697 294063593 221972657 17917103 450992201 491165111 71545291 844086131 370508355 903820995 697663463 991803775 315410903 103799679 482079845 907363367 423895525 456241255 594951145 111573835 370179347 344882429 343558493 549627983 541582037 447787721 978024183 533901093 155803235 361495649 238759217 836621633 357201849 457241691 354306003 670256287 658236581 493235293 699946215 714994377 410671537 96920079 430933441 358834123 400330043 251721251 380618237 842891581 78061665 554510165 47272577 765194557 516183049 935910247 931944055 652155759 310532071 513177121 872362581 726218243 252633457 881130583 5225175 986460847 708359399 357216997 653235713 1929649 499496531 619744683 647195679 470789327 84997765 797174929 139599047 725546585 47620627 92414607 644530129 769437219 575645281 526651547 175239781 777519245 386717331 480099513 316340207 8812413 278325917 782620401 407702817 18429793 690819123 425209431 613529851 319128621 919488987 701115399 961295805 97127011 238375895 416550945 460081141 432259591 906586429 300596431 560585081 159182247 75398881 266858819 495514211 843102555 594731109 688378553 351796247 355810241 394423089 858226035 700464195 495465725 410956151 793988537 976447451 187005375 648228651 449989857 131783193 163303997 554724625 691251777 260696965 330765109 685197745 756988479 679376615 463329519 346701401 395294019 967703127 851095095 949699107 768457409 262214191 688433507 338737391 139722801 209687061 616351059 558570597 211557397 963534323 516139117 328844021 810714363 485631 467084701 449310935 203436657 585946805 215337309 289904909 220571157 16489945 200282793 78962781 412797063 394925431 531167751 537195609 349181041 475785187 186140805 304702553 375521157 256010169 883347131 679166077 359996799 687880415 691358663 548192427 147637025 557283713 109371981 108411799 389775669 675249937 515806077 619525559 904913803 370713933 295044109 606712909 683363329 33461049 881514301 121712735 10127735 652754465 824329679 154930111 670496471 130034843 411037973 669948931 450752531 870980991 585115107 603327887 991663399 229506807 45890971 600461447 959005973 726911849 906074909 161982943 67520743 833390223 272318941 225083469 980341421 467582561 113900239 513042257 210755205 418468903 919779185 858363445 279896975 869451625 521086665 922353929 475449589 999278335 927040613 52942755 951612651 447645187 385305437 884649637 709796265 209107161 181606223 243249273 195637875 764824111 855063391 430106187 897525393 70544377 993414973 998792471 690229849 585487987 545455135 257338011 91560993 578045215 194582981 404669537 86095183 500489677 570692977 76719799 149325643 715432335 485856501 783856567 448838793 292470209 464210343 704243265 473254273 663267081 724712291 473826557 595337655 593446995 460198289 392235867 867058357 605112273 341611551 284795541 489240843 930533889 399552129 148378793 567583063 953547941 132589753 644175711 415818553 981273549 560243787 687782217 505022555 536628941 332576583 809814207 138936689 263215421 328296257 538471649 364015923 852545029 989908057 580837527 395854181 970765905 586372659 459126161 644933585 508580499 952590591 518129479 349948231 283360139 901849717 520902139 763943589 94077241 302308559 507839411 35788747 969448427 405563863 576242497 834021027 598360375 233774553 818879291 31404065 476904693 883291307 829606661 550917949 54484047 729682607 172369861 594891259 669987501 657488327 870806889 36252261 101891267 820642913 599729581 734309259 771886481 762390135 4615953 256314507 794781527 734632581 820725211 913538437 164204709 17995409 62600477 522301091 924151629 788255019 614791597 981423897 966584683 621751911 986986797 195267103 309309027 866075365 950614791 803953145 747454949 330775241 220645223 631726321 385837281 698288325 963797577 827934297 269254803 822052107 630529131 289572233 149572483 160799835 29969495 272833255 176797307 767215869 85669725 573755101 116009359 664261053 911343251 427858649 69610267 15837427 644597211 246760027 867375813 500297595 87624925 25987553 829876857 75594685 765512203 62350327 372040553 211472551 364997017 710741037 112345875 860797103 899005579 125107233 966941755 980106451 303646633 127561843 293498349 274555289 622704257 326407629 760096895 623673873 884858989 824845795 671324809 735002831 502559117 821537901 786012661 366094579 259409353 180506159 854685417 38790945 306570193 378477555 246112479 837958795 482416157 50378635 853434767 16938467 634810351 43729 485800447 219469419 647710799 814387879 504010109 219602151 394835723 654366711 372367515 986404005 960772539 469282997 586433077 59861627 786554563 852263129 559851119 767951819 453732425 671232361 47503287 611444087 230966589 634104169 163812289 564257519 461504087 994483953 68198535 421543721 998811417 444423193 230600017 51910563 145567433 477551107 73385385 351666531 289325431 414683611 824440419 84857337 346793215 465118671 662863515 497893497 7975423 699382815 515822775 413509251 153951965 659937289 958088033 255945019 181738701 217743577 742932111 262032979 25740485 654110433 95321213 380594941 30601861 749018233 295130799 923050747 533282199 752149769 462873841 165605777 864931403 748720117 523330135 229657229 276862135 898525107 270707775 389226823 512839101 333900475 492579147 314378139 244459527 756717201 173576807 221604081 180847873 24519871 179142603 647531831 966119399 864316887 198214639 579124707 529421495 575977075 879730329 433232117 791978299 227853365 751211989 104319983 823249409 1451209 732768505 963153123 86051683 652445919 187049885 781781349 392567937 733506353 537099947 997607317 87839299 401396099 122109259 162618137 559406681 516794783 777929201 414855709 306158653 389198423 831293277 481522267 419922477 843615365 404601231 921392141 660667953 673030667 852830423 564189949 813916957 89109717 694807237 565988217 553937795 311521747 866759995 335298899 812984521 947857407 692566871 805402351 8192533 644181341 243452041 183291439 146990423 839021559 159928709 318906755 572350535 541769951 771568967 257271521 210087783 66813231 865912339 427638983 87944445 78121225 103062645 168987965 48434203 310035097 162022465 438024911 350400921 358351631 974497683 659003795 126935831 816169381 946256337 657362473 98049019 589443743 966465701 665110711 426035321 885284425 214981381 135703529 624420999 718609391 47162927 732027897 277431015 304184563 311867555 529297315 208218655 249777585 3909423 233582893 743504255 725255829 336235495 828196197 178040867 577087763 486799657 955311267 858613223 319045285 507931799 190531523 253349495 12454347 918893087 324016431 460827711 656399121 764847347 866181585 99624315 321352713 858905233 310343713 47629611 206787661 125617087 830153501 791285779 123596927 360018309 17649997 182308809 863896907 974701627 724912573 146562465 648599137 485292667 825680131 800226237 709145469 276255785 750593087 608568325 795364703 943102835 495745047 48889643 647139539 737179085 718484919 562689443 879146411 726992625 59299801 772130483 266018753 651956711 38748089 837735261 430565879 224518137 140287005 332579701 336971065 207088569 53218387 849800339 557078903 186478601 45101363 285532951 441787565 266925319 852495899 173680937 354685915 276639013 983105007 182663099 131922957 701708307 857399327 297802625 451623253 563218383 992207267 814349823 380841933 362747291 146971637 400306299 366517911 494152967 915064351 366141703 44117215 578400487 447707051 975438715 343101653 636418643 909683637 965052023 334855349 740433843 993017815 317488227 575937983 639379891 183425337 829994095 822284095 211149893 411982729 581183379 601611655 787504039 287806459 397152655 288564467 182002525 238109777 208536559 731021025 626158387 531432399 905195261 184519359 611659327 10373189 933694167 259833597 130382811 358829831 740942937 750683157 600080555 349387251 895102511 902478733 392999325 692697715 955625415 803985131 156281571 591649393 221782617 256378563 120844029 97625957 841738213 718988719 648295851 566910287 58964021 96391507 512680701 981831601 484619737 544098133 317246531 549945501 377544487 426673771 807230751 413200809 291820865 564932431 38251631 211907825 342294801 107121601 87279971 555654685 852451395 994419599 552177263 783291227 384629331 812006279 382150223 606400609 12620671 297630341 385691399 604736877 522003409 644970091 988545249 283150917 976000023 298209061 435897205 403003703 90846443 707066275 528215711 119148059 838930863 180657377 826862977 394256719 790930311 4388577 219785095 687917239 441408613 8307115 147583847 669487301 649160705 324247635 389650461 274484075 277229277 568202739 443007469 61509419 650947905 119989935 555045219 663272967 70130747 387437741 79709267 53250705 778812069 769194277 603032795 403655391 737240095 913272139 761796701 534441869 654721553 41020775 804147335 846787779 794650283 575046079 223204939 784779567 366151141 642141607 348905705 642195207 391967873 765055099 532425953 252319497 718971653 673128601 516808449 923237755 832710339 120227951 672638815 9869101 695804115 326543213 168179285 689159283 185259797 528273679 113012103 295992365 755826991 927778261 288521443 775887039 225441685 196187725 881390493 193690905 233674365 979695109 24455983 911767987 269895401 340351129 463384673 756619655 497865119 113624237 837253693 681914655 457092657 49120489 833755925 19740551 566592501 297123583 242615179 101316439 656469263 554793643 560387965 519172523 438161251 660217005 92859677 61467947 859536293 2093009 265649115 477267205 94223945 789176299 596029811 739647471 118069909 890150097 898818797 105413415 605173133 186093929 895518099 90104691 926660353 353460889 776007161 624340515 502472843 663207513 25670397 671633419 265349773 392167583 423913153 110635659 604502827 479213677 208564657 349355145 994431319 516973265 377894789 280315249 992156107 413249497 121876533 631658045 415224325 25373601 598908167 691728999 813056335 301130573 269610887 985721593 19748279 926520837 671839369 882326399 644124951 892648443 143737643 44790545 501307407 976312683 187338191 736371019 251032839 854353301 995199779 982225749 545101615 399829959 378412315 309107933 968684929 518077007 194905585 281819417 258218427 208395659 957398317 496973255 245686117 742593241 505391255 135451183 693618897 455707047 569594183 955671069 388380695 937548389 627605143 590893287 25860631 593723279 740416299 681231469 834055033 473692839 860595185 145133587 639476651 307136821 175920413 969000395 80161259 433917391 616014123 379705607 360802867 441127691 155856863 911027145 777597009 247573647 469455683 101609365 316569295 110780419 318940335 844301433 908452875 566086681 737920959 355930125 624708899 969077133 93587285 309558893 784333565 974977057 277478557 292794689 445001037 681981341 853179405 718860983 674548617 490585815 319586401 449704583 200001009 694555813 269728157 539940075 731525263 252850413 197681677 353021355 543312435 345666967 208870213 140050711 821781875 479566229 696379171 341842691 855177139 417881059 566878921 857547215 612603415 17629827 13464485 795555169 673733267 731225981 720459369 632484901 527193819 557235175 25733139 406205461 634046325 593813207 373500647 954610093 486756515 367288947 568689523 852594419 226509691 695130851 504155015 371432565 412903633 465611097 337340227 256026187 277569607 6379793 866454539 804376849 965641029 863339597 596914569 806868209 660190717 980553559 278630065 32310421 889231971 596849535 108551363 764646965 437741371 490991651 575346239 748875407 855502605 476703137 901988853 779219945 962539815 836907623 199945719 659951891 247069347 785460199 818816161 982431843 584095073 622861209 653453721 560023733 591956745 717410817 508650185 639014511 846247435 502912935 25595239 269865603 842390175 467234849 176948463 415737701 633846727 618406149 871003171 968507411 763551817 256306425 839661075 942389523 683344311 297999013 689895697 51941235 945658729 767356349 318392763 192136651 901635967 586794489 651553267 830368567 256272863 91203611 26864613 200312929 436863293 75549425 177135879 217891955 846948879 665657419 562962711 667798565 956137367 600710657 573417749 729110709 315996379 535895801 948405839 155521771 521883565 607184411 942877529 256211987 229178787 242041691 579408657 483058947 876371745 851802801 724402073 855776539 726304331 131434783 587541855 100593473 869031445 936007603 633012757 934186723 689492789 248213629 632339899 69184757 270282539 380091797 481176465 375756025 967513921 661672481 409303847 972040179 623015303 192347977 246420813 346792307 372989907 557375297 448983843 150196365 868981447 73068609 132037901 782231775 906269901 422808973 572129205 939552147 252374289 899110509 699934993 312507475 336383631 115313975 782335323 720875607 938373381 196576835 250908187 438643039 236156413 703532275 427943707 977359533 431066565 539902641 837796207 377948691 750748279 574524399 725810291 987578599 759981811 352039209 441390797 902929669 254826465 149500897 775522663 612294101 841990833 903854497 455677559 145316675 474458269 362206459 413640313 861787849 877939107 183615111 586804529 506184803 106840459 403808235 475842731 24520087 368157415 965587663 396168763 150188661 337446415 661493735 464971647 575250065 543832099 223378923 471163225 589219849 639294987 825483935 454949111 475058823 968683895 41784781 442811083 16045621 453992415 553297477 437665683 647783115 219048325 350511333 978785619 817919625 824702063 165527949 112764505 455646003 84383599 43252775 372070453 93755159 546316571 188873127 376504519 923329035 505173719 138465029 241497393 990465647 290189769 915166789 928731873 653775913 449429983 601672049 403720843 999975335 508824277 92876187 628407593 67480799 942096683 475367899 346387715 517534799 6900519 533851223 474286241 441246205 934295515 262951225 11361243 272625273 480586781 194641839 202520779 360088023 561650575 423101175 879691479 626336951 829288347 27127123 511581097 709346621 830030445 437425421 782416951 389569049 550462465 239113079 99604925 903260035 282736407 117644267 825130687 599491637 926491699 961043659 286035977 917249657 736562347 982493825 194183087 200839963 929165203 660883073 444493837 243177587 470274765 140952643 411086025 177047901 852371969 333790795 288090573 944074305 233998241 564427043 20249169 502032397 836551649 34592861 46469581 506367287 773704133 42907025 859634951 467560637 644432917 648890725 661909259 475964197 893725279 834257539 908150317 56498047 90839037 654931097 737368331 149318239 411606287 712609639 602402695 994309349 295945597 182143403 375865807 129323445 976997879 229196849 530159957 6630913 256386295 282036425 592858073 216185467 66728377 873525585 412104795 782030435 734534987 823152809 405742121 75040897 388970361 928911293 509419481 127184417 457254363 668463227 152605253 844959259 485329109 366831843 72317843 433299403 953701005 456169971 397409325 790861851 883924467 590967479 408489927 772301427 789381055 222661951 804136545 156429775 635707251 825846185 743908669 671442349 983426133 588029717 933044709 164654351 765176439 318576815 303446321 942623623 488026031 490174119 388522555 747105321 254379681 770774839 709672809 62004373 89383345 977571235 216578919 446001135 93488659 614492469 310702119 163956201 488972989 643574335 443086821 306728885 499199855 467566875 782843433 226973461 786779059 828826923 320502461 759217997 123813337 802539481 536695479 441710123 925758455 241481625 242046319 582438663 210396911 151622373 748783501 792231869 776397675 976657213 107086845 480998837 217402071 652205101 713958129 81126621 242703471 595290181 672122087 484715179 579815985 586578979 608241059 75147549 409970663 816022889 266873651 894176699 24423967 171376061 818616551 896053903 218983731 551699925 603231839 738804533 777005123 224173673 328355965 243832775 737859127 505113917 271699567 145952235 552015039 283686939 583734441 663094739 435545941 837777365 420215781 360366385 942214199 20644677 405154859 741438023 172539245 810574413 34923971 487726809 290715595 240736473 442966085 64960309 337626083 172516825 224375691 665785651 298033947 57291335 969948859 380057905 527418521 585435175 979723583 112513299 189300301 481736067 913909197 228120905 510804977 782151021 26990433 657128905 549619201 712132863 389657661 584842513 509661385 793626205 971245297 605689129 563241305 877325741 378629967 369372827 825038473 523181093 744662901 42418563 268872185 588410623 853353155 934157435 810391311 373292155 535434475 240711593 438486015 80046821 483756765 408841663 141150911 172934543 976297431 16516337 720853009 138794451 106816093 99108347 307239547 665650707 916382523 386493735 333562189 70075067 389987973 308949827 85022627 446572347 709676185 462191267 552758617 137161485 417684249 765452325 873308187 857735861 856641523 244235825 915951189 687993533 179888729 832062391 681952323 428657847 911207371 279685929 497875173 141314621 90528521 337825671 272253695 346171891 727664929 653740887 535205415 679500415 662859881 802938793 303972785 861954967 866290555 837868307 416316351 527000821 385477179 924957361 925244985 94981977 932747991 478345003 388974545 700930447 722235075 771787181 782502141 428672361 429967291 990173425 644546813 111841473 163624641 808600115 317825241 869238395 948768037 981003833 682380387 606515069 999297913 199312977 66620723 353229245 631411865 756876115 453269929 212869941 623213739 322101917 7162861 486497509 143880729 216172819 982234353 713644505 735587993 412033573 306655081 371381283 696950823 728809161 711672025 269880285 280585223 793591935 175815303 126421547 860102085 146496073 808624773 392045107 524873269 254669241 819025067 920214059 877389941 137412581 539526553 833980493 786365671 949133929 543635383 51949529 946134071 424588397 614504501 989809693 385204827 388045213 375207435 300732263 182263185 752020275 586532601 564273683 423601497 886962923 879530123 811658115 930228097 826085387 773339403 536472355 706611997 694135395 233919127 546697059 840948619 443127111 869597707 395698879 850309485 398097557 512510995 70042807 295253425 710888375 244318237 126724311 690598539 948803223 938846561 294059953 900902517 960983213 648307679 867755487 345878839 363617273 535987553 564037893 176895705 898217981 964212855 248105675 706568371 90964683 593247095 373833187 998977119 319029241 157826947 734966535 793646275 97287587 36691333 550651389 269501705 871474033 156921129 544966283 688697767 569654161 518031851 838835589 772425559 278716343 936781833 866880453 771082273 147802149 530224525 232333615 367174735 66404511 171715397 945505705 960456565 236298101 804936651 185967147 725288303 194258555 908020353 857952681 441540451 876428817 651435147 685511211 412002493 664699419 948725211 681574839 537642031 44293387 465294891 783400801 641075895 46135507 200198135 20356675 663309977 912488435 497633677 636961921 408619105 676989043 150818297 592878147 542387171 938305759 64720405 864204475 349291837 32472399 4538753 325021477 827577809 522817631 549335973 948562881 725395275 500253751 494574769 840682203 333141155 186883973 519226013 959863751 863520529 723971711 130243627 966607323 336160539 514388963 46790113 557002619 160421263 237968375 927528721 52655379 124325501 512804233 322137811 635125267 681084997 632116979 38280455 824606199 555623563 436879629 177238355 848255809 684566329 625087555 824633899 527400569 97791363 72895871 80950213 404193075 331990761 235487035 822093091 622345 554887723 507304561 42437387 291202207 153301081 788418987 40034575 962622621 218198469 212383733 372622981 880193717 39999755 184895463 112906641 261702819 925458961 38568093 348660759 299025703 149963521 160483007 618322123 458121999 660699473 35573115 481565219 74630185 938501821 578901383 399258975 816270417 275453513 136950817 700103049 282242155 370534209 128105999 293581423 247280479 676198457 406376097 165612971 875877663 331351565 519686827 357605791 661356455 350991587 374719885 802435183 812015607 60640039 685995051 443065613 522616605 215645323 32415223 561116211 446584615 500352269 282812899 974078815 288662067 305604081 611170161 225810395 501773151 570713285 14840741 792509365 785863129 853324377 200126989 13240007 905556945 711348173 187683777 172623281 655169923 558194563 830965341 336218331 316670001 138461225 791141129 586882933 746130723 769552305 661845363 309948025 242209453 954096219 394313425 301803941 297802027 22834599 987192033 152053377 652567547 715063141 515832043 947301727 372042891 999231653 354641593 320555607 346443597 949148871 529455015 206318153 516457657 622490223 733058957 173211613 91133521 489882759 435171287 608672899 691676579 113727813 243143281 21664115 687533885 490150693 876282063 600381613 51797949 647375337 541261043 939231741 163689153 301365153 415039073 963114477 454250999 408722847 688598311 344993499 982447631 687733119 328929501 325307365 147197893 25984039 277822367 466573809 645335259 571367105 920873749 610991795 881284891 910470085 889465709 924202913 709343573 948612587 907924573 695949563 959601765 380497719 676098083 659313867 713220143 351968251 553359495 399370209 792883355 622565317 233328597 43198163 61858459 595964531 117567459 354413829 441911595 486627627 283330833 56005531 69252685 190063961 685498693 478804617 798504971 412136881 779698923 781138821 32644981 540788013 688232445 162305295 435699113 616010259 389944567 788304239 442463941 487390959 886519773 507657145 152419575 631321495 227777859 253490881 390290289 222406693 932898619 487889449 304740715 573486589 680552035 771204441 328186663 309558477 100719843 352332419 639269619 841213321 261605225 515846043 579390493 476443499 227928109 805938021 34307 818242299 375055849 150228585 259639045 335560961 276267237 488824309 929389965 663088533 773928945 673478435 496817421 75084561 960456035 427378131 923836161 677496091 754051095 670817709 889835 661574557 36374643 537078561 474950739 448917965 682596713 68871271 295695311 827815207 405095789 175512193 95637495 445216879 935974779 997924405 264077163 722908849 245761565 296060181 790267609 509958209 349395041 39506553 457559539 985669051 801795803 352060033 758310001 555313413 483886249 444426005 91586327 420055627 860495987 835970787 994537133 624135935 652549993 724736617 676204809 393968863 163292221 846829281 756508673 685929199 597506607 69730647 899286651 994116731 883471367 767583643 924633951 313631257 645724945 844833603 13615265 618617505 248098339 69552307 372431929 131367485 424450205 450538511 131738411 304273747 332664677 899578955 394079359 120731037 826378217 298924573 388228683 703739667 999218461 304100101 745819303 363318525 794921603 78218317 246370483 205337315 697981727 341118981 791524767 561377693 8693377 991526915 451886999 267399237 6455229 365992681 503034585 431575871 707715697 789851937 252388519 171569977 523588039 57813463 181245003 109239335 26140521 973275143 622264341 473926725 992124559 852230511 5650531 162065175 539169527 36240281 830289045 73040999 809326569 917226707 259003925 515812685 777049905 666530103 854681943 992734499 24241189 633282981 53378259 954240655 362268327 193502405 461007885 191878781 318587927 999755271 947271821 143858975 302012009 615525541 3566825 240444147 109486865 8462493 731930041 699381181 699142157 98487735 719583901 335053705 977640163 961868421 804876613 286172075 564028323 734124383 360476253 286265279 5405665 152895333 189794981 334405291 646164411 374722431 129578457 540771739 966277851 838563165 265801161 612158721 167985003 652983927 619085125 404324765 865511203 587616527 246286117 926651247 177256515 935741739 304289103 232099013 782439053 493254557 866258349 388868405 754876499 241094395 392427821 682124441 115671403 231709865 467220687 495717397 95716401 799601101 298905743 740026135 594101389 866618965 867983997 243800657 558285037 191111679 944095145 445893315 270084423 279627077 290017581 477734061 870255641 915079795 186546987 318065311 791091561 370303641 686575053 532217963 278884293 690810509 360219207 40667181 7420231 415292913 665517009 362987339 8981127 626550319 686107311 106296687 666631089 521906035 963430185 728954767 365570927 379490233 839897237 830064869 175740921 746835393 206597195 419178489 643834383 527467023 405974189 690263445 68599285 222250489 977556005 942900685 736011897 768315027 899733543 37410559 555017713 865094079 672756779 325587659 54353727 267069733 420079285 28419363 618598597 546307383 191143503 998063415 349149043 798876201 832387723 849616517 924115389 683005695 316982019 523209681 956564647 915650689 813532761 332388903 914912945 646727229 477910839 633055197 770902763 602354061 811118929 448890251 900787183 20953745 34110047 39502619 133107925 37777201 787775269 846349491 836850761 317747741 252007533 290372557 559581557 258321871 688527881 491321889 337070867 848240515 398590419 903466167 683890781 391242311 524079789 392093911 658249757 907049959 441478529 945771801 777396127 312719869 431019075 980250199 579311547 787267815 394050795 348994741 259124685 487964881 41975421 169404065 990880957 551111849 32677379 633766351 788633593 820366631 204396943 258134585 1287799 388319181 302859067 848681767 867697077 744466401 960626217 144897571 527976635 884153205 448076163 422397953 873637651 911306335 112370557 402243549 814691801 787555139 256125519 373077533 791446693 763306629 374748989 603682155 44911267 599373145 673119121 910285757 323493757 250469557 501488541 107625295 518827117 370056793 164859835 341818277 166389039 910985679 250534221 532080267 450052871 51387239 732867007 567951637 406521801 58559287 123303295 408061089 942209733 710290465 933754125 262375889 643619295 392568527 977395175 971778449 369390713 663993517 692626841 270573081 717295747 790916343 376346805 501348833 711266163 591161259 999768533 599399087 421579079 79805075 934138523 314738831 181122949 6111293 634458289 449066711 76545597 916330243 677708491 531299105 48487173 960599557 740264867 767966801 95016439 423245355 223013625 199871893 741914303 817654055 539730073 588367711 383670665 538836589 916549973 474948719 472246793 615148609 352673287 22682821 147331713 921680041 253377169 541152945 50619573 446616185 526254301 718841285 702573299 934452805 35096543 60914653 142751507 60319085 21922961 549010461 52633969 196220701 4843251 147574771 811547127 313183555 83974417 592915 356105487 733842841 948875261 77388665 941485233 150933659 524141777 578216041 297806683 187539095 443434927 791218543 548336403 921863319 142811841 383489119 856171625 290518393 851739451 20683605 784944499 597052635 44579415 797943223 432149197 811015715 802228309 713167151 156095645 277564293 458402689 457367733 912621461 32381175 335595309 589912961 414559719 57619259 171827891 265751577 716452949 504851159 226231413 73193289 474471203 727954205 323524319 700658469 987350817 30165795 728870753 405617675 558599329 933992651 338236277 63615389 236832391 723592639 117485985 906579913 367379765 50099307 452806763 259968449 645781915 507934475 724254567 447645955 279811631 265819807 35595311 341794901 455309809 177892843 565469541 698115775 797445987 849789061 687552437 3323033 886830487 305012161 64271567 107195517 798365475 180952001 545418861 181995599 651170595 98011759 359877971 652130365 580947005 744750711 431523915 939565499 477235107 83266645 533316391 335922819 617483785 488989511 707830211 406695837 281440427 833485397 258652413 128349267 524664917 767158097 656793537 517647671 334550607 271583189 510979589 203119403 83974003 473032251 462354877 940527693 928746781 646481585 45369327 702724367 428789815 352085543 360925095 866600225 346895403 902414673 620599027 4322433 995028977 438206899 138644463 136789105 716947719 431257235 483023805 959567489 649825397 435564035 123012489 778939269 200073671 433798107 328431491 452279957 946674197 740697787 849070053 559605785 718185211 29217547 719763957 882783421 977887135 59367419 775412985 879124595 9340339 741844611 819693381 939995001 438037099 282218595 299509043 853854035 336299909 948544807 767524389 260704205 584371783 712374041 58620295 727910397 591539327 487672919 101494217 323303229 802503045 590429119 122879335 976104497 667494711 996990967 146413025 220592583 67998969 800844403 304466627 724359217 61641917 421607529 409216161 314249711 136052725 670304217 993968657 774887105 246537889 162584205 176868535 525812919 203335241 837198613 444127295 38026531 147098873 993417671 412181849 469314465 40435783 122998725 133218497 466446613 181167701 358946809 172110903 563016365 735588549 222002191 411455879 862115037 708750277 620535683 18354563 686008417 691012879 357126291 942503687 252836669 372550367 904258377 926774769 172797371 127044347 579645555 591485999 471204723 70278067 223152301 257075377 519376449 505538779 825287507 959689331 987372871 865742547 284820879 14219637 438486513 401873791 526325585 106580419 30755573 342982991 352788563 66880625 575717199 674208827 531106579 66574997 97790787 170490045 948742617 154964563 848097117 69463775 229180343 437307863 483558771 926993197 623008645 729315409 489988509 155966397 478938851 775494909 150948163 307103537 746087737 985859611 9480721 529958315 220518583 978257913 688754937 510366171 873427285 780037093 421859131 826522101 819215317 178483515 53933399 80867515 912526013 138377823 282143771 286836339 601287519 679424439 883596701 286798823 128151251 338380475 206510647 525912945 690311417 54312159 135064973 283721711 763063671 573038763 316337037 819795399 521961665 885862053 650300779 477186021 508673805 587613281 962946209 722952897 379126109 798997371 723604471 760486747 62716535 743597201 196031607 546969655 569951213 229772369 656999027 770301027 74995989 219636843 707750029 513389685 630427155 675973787 98641059 145052559 80150731 659399587 531344103 106678355 893936625 670536267 79397577 158053361 668164603 280423527 734877701 763748127 131188777 166011347 175036323 989906203 691292549 383741293 246464749 649293483 480869341 48455715 193662583 702455583 379776205 883495909 664372511 804900171 835171505 710337711 891165447 976575119 862169011 694613891 610495643 125938127 182836419 878057833 892260755 3029629 235905691 960153717 202534887 748551563 940962489 871066819 863401181 501334139 899419751 499015025 321404929 441460817 396498355 640932781 704538663 637211291 987356279 198667689 44698733 959690863 214601555 176168347 198535989 745868143 717288623 469013195 98351405 500924605 40685499 190366335 873162313 433398281 483110257 893340941 397844675 478554761 521576335 390781131 909822499 257878523 448045469 243355423 437704241 591576997 898244589 847776625 368223749 234091863 840689815 967474227 954344185 255655013 823020155 693338593 803376049 948242607 386449473 491091453 689413405 58474907 517604185 137264655 474839915 682363669 849018107 321402027 89650973 421025431 235435815 140345453 503903221 702670875 222528425 226191603 554384893 275188523 600869133 763977707 805037197 489378261 110600107 450835975 658741057 146259371 589886119 211585023 839325947 612999889 165195493 811224469 174579431 137469161 471391257 438456471 408559995 467043875 3476409 178158547 203632499 307558453 608493573 726556199 401770195 164645725 845236999 947806065 610977255 124368739 985692559 908643743 517072963 395432081 33570869 802879907 434828741 803061955 787389527 753088117 772074383 619451987 991109407 443474455 169450767 11865383 917741695 555579031 381262071 11164081 297259565 386133251 141917253 253858789 409466537 242672249 837196607 939845695 608371261 971361049 969898093 728812233 814696439 404624653 331263909 80612369 333446321 736631175 375429893 183661609 252767755 691110851 393327601 382605237 398341997 323989507 124050451 271557847 135205129 253273743 774225503 618520639 95784659 604201149 351856149 765932579 766091663 666938851 40734645 948485443 287518661 158189671 157427727 581907937 123396291 137049265 409167157 277566671 166788515 159578675 167751043 544089697 55950917 292508777 353498783 319810935 524593745 334793173 149659763 445482103 541186103 453717761 94552629 471503439 428614191 226525053 96641377 436866931 454338363 482269927 462374585 923823333 342948897 980527583 792356173 381763369 305330803 953151247 489958255 116347215 307468681 66550313 237296061 417268713 51490179 557064425 253318681 35118107 864686665 794878993 358148783 430675079 477215369 213785195 410701559 138282589 584381121 538146759 453459113 818340949 131268651 883739651 927926475 740500393 335154643 376864767 380299945 440682785 365257097 542407845 279268567 469185037 89899237 707973607 101238323 667136835 166263877 779311041 847800031 567778335 367924179 559315253 129004361 486281609 37635713 222852941 934749477 649728749 637661957 614506521 105196141 13738821 609186527 284672951 293720167 633538061 566337881 812505415 451456161 872599627 51841667 864436723 653902827 935525773 144395827 420373485 157733733 353514731 142438155 137469811 228226419 335239171 331480949 973744577 169375423 223310329 191748765 658219559 558228799 626660479 635961727 276964085 216850221 730768071 836326361 628691075 161908241 854514833 553190197 727866935 882476469 433708325 353102305 510615417 310998829 857191503 429900279 926300349 499334613 226421605 463309399 96492667 123758163 981859399 947879337 303100983 890442129 747496027 334990173 293046651 283760069 787918223 268179629 612378839 819296619 75530073 519577495 764134633 565292103 434071479 979915747 347755345 208065125 919892015 539608099 949983673 730498329 711356623 699982511 416112341 856296449 464412463 236970151 95528285 907451903 232411501 389411571 94049557 657606209 960592173 569857347 524734405 781976377 356009633 347180303 17234499 314796965 91406203 868063897 735020903 943834505 765785083 763071463 938631955 109784371 677742057 15759819 312091441 305787443 247452049 86334173 144377013 895372393 337600203 432800891 322753687 484788471 80334323 163696593 434997467 77369163 521238769 175744205 577141129 760778777 465767475 191711015 840736183 498014811 348271023 751576415 766489725 807510105 748613601 830746047 149696509 629123739 82438869 716703063 115269217 815649017 270005523 511430909 113638621 655413133 513951925 985056341 380864681 98735037 121828953 758798019 40135689 416228659 977548837 363199097 923073863 35992805 250307781 548277105 136361395 876517391 289458801 599920747 226148523 863448373 382820329 560076267 489186959 336618275 507038575 31023943 74464203 995094509 985541079 435944851 631655885 446371823 573455217 588278449 442734101 912761551 963144479 471223881 37007137 538981495 707775303 621129933 277399931 728554527 579300055 371961457 42860217 140133183 187627589 747244089 819513459 270844061 499340431 216888557 55327051 914932037 890732093 701118491 163373547 898862475 993640025 900505373 803249671 494899213 984802173 52167187 468560215 532367021 645052103 707256549 301832863 486400921 912192221 551515203 905945769 502098499 335957739 349397671 931695943 488366187 646606763 481126221 828865107 415274257 948652631 570071875 612836527 104692611 180574649 602170453 231248197 418910807 236712733 501182493 109516297 361867879 930205019 966213369 168718067 147017177 471359439 241218837 636057351 435515159 796008289 896921951 859967823 547135957 843771775 889584783 572912093 332962323 895023903 260376615 262262475 833996563 318095295 394484077 595013435 852521055 486666853 671759475 394638423 240862415 559905953 262541583 877699667 958868861 980468615 784322021 592696681 225514703 670493367 930769241 602118361 144729969 207534935 505996959 436569071 792416597 883178771 856855725 764053755 594310329 978390309 430262595 770936923 412381983 970995015 893405163 988324719 134236759 544972483 695751413 144716195 579643253 408702821 823122039 950782823 336637393 710698117 271299411 600544565 766390803 337606145 852538419 651790481 635709223 534551357 990083203 792221957 651998015 660914729 359847295 577375011 495273689 661976123 842572069 896834949 307087801 835398001 871831359 584885709 783200237 594101585 9835611 137922983 447464645 102281707 108421843 690055105 690386401 975581907 224725447 114044123 911047715 964490793 115065887 189138611 797278393 321384339 267482509 82610453 326985751 745342781 677275525 856205523 845541111 643984097 860052043 353650375 614046049 611904699 240268773 238839507 43270557 715498641 554775335 904389857 368373059 868879025 887277733 51756517 758367789 574188275 2781119 636358873 447209345 438926771 768140193 70650301 198972585 323166937 33290297 466017437 788824155 664018131 615752001 184647307 795407251 498475927 868017461 620280481 879445651 693181349 236229219 596066561 787012587 20875007 479416277 308973015 565779309 370432567 73060969 689060947 797079863 426719585 87339965 702390703 340723369 250120989 876057911 416904751 785318261 886696849 890580235 84385821 937318539 210804587 105059631 3114699 423509289 567084255 855786597 842806163 369705939 710444719 178421043 813081817 131031893 364185887 534587115 189145859 90086341 537874173 660884131 911228807 711355771 447529633 890193469 582196191 387867679 854704361 312484707 594185867 685481373 182438969 491513985 396318231 538736937 834331521 296533971 317708821 145932349 154110775 190386777 360783391 303173535 884127321 69071575 625394391 899441245 637516655 876178147 204124393 130973383 613405061 229754321 705137157 7595389 813143345 405633475 737369061 870669411 210897811 588455075 415128399 441131427 84052817 748978973 7507721 534462641 632686489 317119917 794669287 16510285 336897823 858452369 17163459 246625399 890936613 567151057 985951615 114440575 32943215 530457151 116920839 269427959 818857037 677935221 862251083 834362811 274578323 627700429 305423429 275488753 607913887 584855925 340251387 597056515 223538523 956609885 983536499 143014823 583978545 190009145 832499649 327850713 729772825 878066829 373935103 810370781 313048977 200830623 25932111 635752767 769572001 213098369 999307485 639399635 716767701 235469067 763045081 436061879 856518211 694171613 867712895 369566541 958763403 870944863 150159887 175173953 279591635 372215233 341656533 943642763 930008009 527206651 284630307 326839139 426974627 911562189 622255187 263787343 475042847 352756675 150569673 73319451 403602051 890014503 176107499 757716187 398148253 372495383 962241583 94117613 98218949 231506801 622277135 240182517 437737433 176511451 614383373 216943579 531418173 804216521 402752177 761087961 316451553 700565361 510455695 68723047 316481341 238056915 239169601 278624845 255843659 538786233 919493225 337245843 337219221 293886899 579901875 526956433 804394791 47994391 842452175 38918881 833135255 58644999 472335481 351001961 65787653 30969965 65935985 858476115 168177687 539750133 322284677 888996373 968311291 334282523 991317891 972947817 379662439 275877149 927870023 247180375 562906009 455638789 735497907 487231785 107570007 182498721 245203635 685427059 45836273 708483981 533279031 702536465 570532155 723869733 699577147 601434921 507676563 435590803 859272383 332100903 642728163 808476871 264510929 603779005 227227541 515098235 308353919 886348777 307605409 123940909 432308453 125018095 953126279 879692325 643544613 746808923 265669963 250267509 353402731 822085889 261128059 949841141 299495911 19642879 913247789 597582917 491958997 71446199 645307393 841243341 454329463 421413591 1270045 928829629 991554837 220205393 149043759 706020365 79053827 158393699 761603949 35977599 840204955 617477009 211578773 394060697 118947137 529628329 637026029 231697325 644712541 421591227 706841669 402407123 103423841 410870311 471999985 439296235 176804297 623534737 376999633 242743195 775953429 671951843 797786953 817012055 306986193 21354833 532525131 116191317 247531921 65351259 208517705 540683671 445863915 273675203 148397637 317515747 775993477 644730003 137280193 566764747 627920901 943377187 389674705 694420389 944910371 54491661 201808645 340661909 79100051 284792631 410739329 794731391 216601117 747714251 941321703 148309271 697344391 488053823 112883301 515196883 888530087 915659599 809471669 756273907 962803539 113209087 37694995 51625345 827407983 584040091 795723079 902385995 77576935 826651831 992121755 8396781 928048813 907167791 895073771 980927427 64357815 151383337 792319887 387502327 444996365 151317521 391383923 817884793 774479285 396646041 652872449 770751747 467562949 642800831 87397171 20118547 398622547 160349127 228548483 448979699 702594437 544758591 490484475 857218993 544466307 285049335 695716649 802315815 36561791 578500879 409543967 752848117 377597365 408737001 918512769 70963331 591713125 609754163 608098417 704076289 356379101 649527519 807589023 214666345 426775403 681711405 376427073 584121209 606279787 759202461 248281877 951221433 656841281 599364863 370061921 55825531 86894165 58218339 477604853 146967767 668712729 220114217 302099749 305577645 445642505 195977461 196875729 122755749 985529255 97048497 893012319 425666095 349702779 652201875 92050875 62153347 953681947 182604567 356882015 835528609 488573213 68744703 246521157 867780949 189494567 107869787 660813815 420143147 967054817 621677437 614098561 126565499 340386813 181172481 764148347 870650729 284951095 118410701 917330947 500565977 899705425 106422539 262246589 56975231 261761555 933820211 509775577 964576209 828233809 45274365 885492237 239342353 209882087 519575151 229255319 732052291 853233333 466592725 238231101 96080701 172319397 258977987 75777871 556918165 333594281 826046229 86700963 458073001 136979389 330097651 121968533 941259939 317577699 164357827 817429259 624811637 523242787 895137855 928299639 159395541 110217875 803305823 72116683 40609347 551276361 475880041 620384137 121861385 223013227 940754921 822520245 673574965 552684321 103740853 812012765 47392929 858705821 491443687 488200985 667684333 982691355 955964387 968030471 862423425 810503901 104886615 195843787 84773775 706730539 888208695 796360469 965678091 186393947 630027453 618559003 176707513 281039811 54051441 267708059 764357409 993664969 213186331 862298845 354545553 924193749 559507155 476563885 545244707 141372763 643612659 706130785 459232951 269188563 503987233 687205081 11379957 642106305 931341639 765393019 547064141 953983405 514225307 873128755 280843767 78841645 541521305 994702715 480079861 171129303 756299013 513957455 437821453 370066513 718249963 68828725 811975121 863487299 533694623 579549755 239684249 104169055 514010557 674209529 841109125 956027235 471072043 346625933 397744509 325643531 890577173 191351963 772199471 712974375 852956397 763395923 337384217 631915653 842766961 968359531 961421685 936544259 45247653 762591011 815348303 895381377 628965589 858632765 96654711 499685865 826434967 966901003 587688581 977168685 148939717 988357731 620218327 777555787 511218051 51300257 201876377 680938815 645368127 753961387 247081143 622548505 893141675 975531507 639801325 850718697 909423045 761203565 299850425 682939591 750365651 278577559 396781157 359750105 751629917 70609783 490238721 164334151 293114939 509809819 846280291 667163717 854185095 291321371 614372141 934280715 711784869 683132309 576652745 858169565 959653955 313195565 742195555 262400515 347963989 297889683 101265143 196510675 576731671 607858431 318012483 484131493 562109197 854497835 134247633 418533337 662683393 276983905 77240047 489685215 895450891 733039981 188716215 7265315 924075143 126726309 988196105 162397219 682977813 562506217 97654413 98322017 628691111 477500063 976381107 297167463 858260589 638620853 650940085 106288837 259062757 453564321 980847249 250938905 467589331 391405919 351156751 513053699 393335107 830031739 890658753 857685549 354548361 318481917 926117375 368368459 295227457 37153919 786982377 943674389 365035345 821545759 303729767 113706575 465908453 178695041 244556585 136915395 786906993 748878807 948527015 669910849 19131311 861840339 652548131 920599463 36495781 765888437 159514275 485826261 366359455 493606213 745186809 441020085 259216179 680123087 275082429 417347131 458491451 926789675 412415565 979026015 345785307 610442677 836531157 90659109 683176321 878989653 591969603 489172119 562733535 853524343 884910159 847176133 58443253 501269013 193855353 211131853 484087811 749576107 108672267 333481679 861687961 629681727 29123605 871130357 721151369 667673185 917967725 279289715 981026543 539438117 546289847 625579393 767248433 252570667 172998487 570499939 386256121 638178455 420836737 260773219 214586941 976317467 334088489 224514771 355359033 526488809 119600917 34922765 969168495 974731715 922331591 502309491 821538479 860004075 840079509 147592047 472090123 222874931 331196563 814213493 337791713 980839665 48350627 930941949 55385299 803639553 853499245 738783627 256680909 829249995 958052963 319890089 813775621 548645437 624583865 604744935 467076087 430742221 566108531 491085283 706164583 327091833 58687833 918691901 807412833 702752199 387914233 488127649 309884731 472106439 595936429 21546685 444786829 456120589 645915541 578864209 926115905 93217465 894624921 540354075 336415357 815718767 919071337 368637157 841199803 603934817 782778239 622169221 335511219 360590913 878117655 478228691 214011757 945745 264551999 647398065 595230769 194136917 947558595 618810633 915482007 865059995 296141885 475623887 419126905 274477819 775363851 806014717 633585915 554132433 587064665 966469011 668797835 227929605 115430421 563507357 966672349 98943749 991384055 542327339 101333485 546347975 417402497 689829467 527650557 598516169 377743097 970219597 480015517 624478737 684068721 740682541 527958431 733762095 367508415 999528233 903175455 44896055 370286215 558525569 37676419 16960713 209125933 529944179 395624309 550011403 440095717 118619211 908341995 846964393 555270821 787601499 49664545 646919133 867047469 3717373 896140955 239265121 191858183 764979603 334432805 530708095 165256323 412904327 543352787 152854275 7565751 761936717 904184579 540127301 41624197 12877661 942648407 965444129 864659351 422384955 745778363 435345407 24870489 836661361 370795111 818914255 269557255 116021137 951668691 21454083 194059935 9254197 124938437 937672603 95633387 153901823 731481929 282700061 944496249 27967643 858314421 349757337 375775907 59416249 610721443 15037603 979411849 648093203 162527223 864560731 64911891 360232045 433926623 314607207 453808115 751303569 154876109 806291187 23574173 477367889 193134977 121502137 960558165 717394311 424638971 520622835 160997667 433390357 742712459 783200875 67331541 485738215 928977603 603228783 139988229 955001837 58464383 777125585 659585041 635840801 271937763 743779829 278128677 70718087 517481309 91174333 283373871 198986793 246419617 172381337 111717097 263395609 155231147 707198591 426202063 435551345 202484415 68447725 300953135 571768403 883171433 867380971 180950803 287840491 15193725 84680709 497999193 970114409 478437143 747115857 66297503 430259975 240335261 155118447 721401419 408160779 286701497 898911365 643947153 441133243 383450723 996694847 636451687 861436523 482903763 55651287 692449679 659653237 760477071 460524297 456157583 17315643 96401763 102177563 601489081 302079271 29410403 795901147 966254115 951209901 464135917 700752545 120332207 289733703 863153315 638904649 189555463 560634229 681464179 836741437 329716887 605156291 567920271 993105255 406975643 276410051 444543861 266617919 742610451 868555791 758160107 616248003 995051459 480430155 531570681 763731835 715191617 297015837 650123511 380245875 29618145 64195899 247460991 535931713 940581317 546138463 476487797 167214597 277264599 325930313 340146439 448033381 642430403 76825029 243040681 206830479 985498373 533798565 462483989 834530871 195349979 754747843 530792787 771270047 701257549 507569665 258220717 298081419 343962927 846207563 471480503 541840459 158148885 50057873 826679885 705527217 71500129 28088015 16456083 954311201 527625275 338430981 308970233 484412029 870266003 473174847 972839983 883483191 283404065 991006863 611594547 51816001 846074215 371590671 299959113 38157851 500658347 574950115 433262587 499555021 346600703 82704433 696391203 786244067 639749179 18318383 143830231 667404915 286319871 917105431 516622463 288171037 54060979 33532969 917927879 775009799 778755975 611868849 68726945 163039199 499077491 461939971 318486859 680333529 311980343 822290293 84690249 122823863 79668831 701650795 875020905 770507453 824676661 682854481 887228859 407610555 617140695 835218071 311211679 853843461 752124195 694524087 264998839 809115259 870890943 7074871 631719409 679627649 313830175 196672669 493216129 329714439 694753401 447022205 802869985 605981315 340232141 35348081 840657879 754405877 854560485 375494173 370932337 338878177 994905169 591561511 406769153 950954325 88335463 554423879 836990499 192076519 545626185 875030065 202941371 984610743 143445729 668225197 235440119 69803883 901706715 5848961 14050123 996451889 251087027 458732417 465217139 410719679 994743719 987115399 350208371 122410579 627123393 264679799 332044437 128949171 123889359 856347447 80287601 271613997 274109037 176111549 136114659 206268313 27352823 684203011 181567245 776878165 857286039 747765259 185961563 660232775 609315389 676160989 146201219 427101147 87277731 820469389 547155585 974722313 704032583 234997557 363681433 746785361 875452017 842052601 328784727 169935797 569195827 852166401 947147921 822787015 500093029 809201023 162971231 254519965 635819943 342829229 620086313 465381075 960751713 664428753 136269211 910267537 976883395 133513777 28482983 556099205 413887685 362988577 590548365 640461029 238008105 40592381 727440333 474870383 628640373 679758883 208864565 634563433 307047931 813855489 440531419 87669411 492832979 528080391 781596185 733624433 864589021 202709681 433492883 437063603 235137983 679471487 769211447 877221581 927961581 407083775 744603961 244372657 663755165 433262783 598327829 355702225 726585809 753151067 637895053 441848621 838020943 711650935 818942641 38550349 660976553 353522619 442411475 459050301 721035317 565854681 350130063 74713493 683766039 674247309 319995849 509283185 433344563 975575191 848507057 953952633 212145725 997582533 281119671 748247771 634677675 49186021 351984793 983084109 136032189 390983891 826772057 585329933 382639997 189292915 24887367 479254499 160012985 382861741 211111157 925748761 854656781 182232947 471854401 747942537 239547605 428532417 888780621 646858385 982233147 620384919 345067909 546194711 183435311 403063299 486622625 793358215 339872107 72353043 193350041 298507995 796173165 437999075 665394355 479271565 899650943 411670423 725126779 745665447 149847983 558238039 834292679 287845813 463764439 204464981 806831023 808020943 973221015 926915021 617826973 187360145 92925015 84717057 758253879 87652899 93211719 167497529 939316087 157146931 571886433 608909769 952219029 288665079 87621475 943627789 882646297 437258799 649084373 223816547 646739915 47569693 776666889 514539833 860928707 780743827 977181463 616830465 23895899 620498917 631359711 942777395 251918391 759117043 500547849 868333905 179818055 107199777 982188805 95044841 978506681 379135585 50420747 143168905 117110543 377498661 551119901 238022605 385717771 314524783 5591297 337694041 790847673 781754563 201181001 630838229 903147629 849319727 862827851 421262835 974162115 986069323 577630251 600587887 328418977 723765043 664911565 364952331 617286961 596796049 159285477 430296975 781286121 956223887 108868585 61090001 434166405 597201381 581681179 992818599 330007561 914617297 412704129 556323319 940381121 195783449 251963115 63281577 624930625 784034829 736996597 27655599 271224935 15710337 209153275 448444165 878668885 235845333 471091239 440703917 626752121 255543535 824216171 162038703 613056901 441048893 92535165 269275681 987531895 821589939 89589213 308120601 680432533 258723539 794126805 526705597 162711911 763447969 669604979 430302005 457548739 134111659 592008849 802062261 454388935 557486089 59202511 47897717 770879447 774845015 400864149 98186167 597973661 459590847 678030869 192328649 403770381 68437995 702277955 122491897 546970983 477947923 213852643 700961701 789925163 242734069 888822397 647627051 209853993 565007321 269534303 216411387 346013299 644368009 806961315 818866305 339914853 128928865 755298601 274567995 71991205 106266171 100737945 896141739 853589533 733369983 934682723 412189273 471782659 482866713 455102399 21575899 831128531 502889859 963005103 692734151 400934223 817963961 732831225 506794691 658343047 196222785 275663151 418243959 476563405 896464681 147310505 969676951 333989823 577048585 861585799 347271131 823497279 981485311 795634353 560169991 348184441 773728943 892404181 849599459 216697061 436326985 656013681 918840645 962712123 290425475 599833791 749446147 954562177 447259291 291719371 551531779 321488643 168798041 195769189 416544557 171972181 738032649 791570469 763700853 874352469 468982145 594679145 362730195 108953125 639668001 325996893 694979915 215841075 968482767 422504685 194413797 224046643 804108025 880587989 499892151 300600607 360387989 131549331 626906071 202201405 776236831 954447217 306880619 299762715 756148899 332000639 52477595 547618953 472916905 144115347 157352603 21661095 329887051 787783503 560925347 72046553 718510887 852273693 246245879 148634569 990279777 464544297 147312609 498982253 583388841 616324719 865890481 119196927 405027125 434192045 810535621 793956871 667274693 476467309 343658877 860356687 936463771 617093629 100713027 590564587 979654281 611479927 914434953 852917047 257761765 56657339 121013709 784037337 854685067 231562609 149595787 864617915 566437091 93902857 135753555 379922707 360023003 33540797 35054261 737897565 338264039 432152459 624332617 920408413 883689737 701663803 738809013 129956895 327964357 76675423 745524899 571602423 743823659 43373391 466762689 322193027 518065103 383792427 796693709 992467109 835937489 130034139 264909705 326648203 221662677 654202639 890992575 443517863 465024779 279034943 868055617 238721975 242868267 233740717 86774759 860982207 973097839 227052383 81731223 194222093 821316769 14056999 322350137 136384049 193782285 690974365 123712449 753472523 281166217 13242911 982372391 386613949 20427127 742477273 844200815 180245941 120193463 878217145 235450787 207416231 742965437 824866167 626764245 520466831 587531389 460450195 271066909 236735919 409858421 923762263 306421665 359405207 747213739 81784531 456124299 868100631 584160175 706071517 911758345 182858831 624016789 955239193 968590427 118131363 389410301 995100651 937469631 772351165 414402315 180849287 408450943 374765459 868127599 253423841 490814961 802089569 237308769 472905151 901609837 206791595 559775131 931348387 736969301 921331261 994166375 838220771 960733971 486175275 873329297 101483923 635165979 839364049 869586033 543254165 746979813 165918933 936450787 792635537 97693685 319822627 711247439 356149753 764093397 667760109 562130851 856603393 696010519 627773617 607428437 559419053 613944147 662993971 611657827 490310085 188166959 439956863 240238419 637102039 939075925 120621289 313436981 469234749 95467381 268972303 19686557 224278295 167160137 15542227 340165803 351917133 858984341 35760483 708315139 882345615 988538659 342389553 981501399 179517015 311211461 433576701 165138649 301760225 531018067 925899719 94568523 256090427 973618867 214887135 200730863 186244913 652383439 242261717 31401497 509817949 52738967 564144265 159799449 308692765 891439365 676415519 433889235 359496605 871842845 231728129 461086377 170516683 154609129 350710755 254984843 649795423 806118011 157493701 304231535 383770843 382426091 868907753 976314835 539534981 795469153 101668057 396511165 246070895 727852033 463757421 487278013 351469679 254044161 499043521 817472231 371567401 180808601 939105845 387899099 344386305 438556685 510352251 808096957 28405035 881832103 47515779 758411327 712471197 817884089 158930827 605531283 48398103 92727197 933935637 380766075 153586211 911290293 358204913 124187195 807486481 271099755 70924339 513521313 340644599 373623091 618335795 433421317 340296631 160292231 293986969 277609539 257787643 702682599 520744017 69357763 237816367 481419743 930488717 226879859 568621711 961145857 688950475 132646345 685505561 708763879 96768977 399798211 752270999 874955827 398677159 695992041 871748247 932200335 666755235 297008967 939171443 625244591 301887331 21541491 976350539 814937931 287072201 918110349 653916679 480916521 419571971 322659129 398368857 753561103 888606085 795527337 519360437 411753935 128545289 731621521 47544927 428171847 221387927 166448429 596941919 373916505 661045111 716356679 368020611 348643051 287884353 415291435 714799461 717458931 334157519 269106865 53289059 395872105 450718791 172923959 898830505 583356755 845516307 867894945 697701413 33873335 280943849 542866527 365829777 258534825 730017733 536685415 379987561 317591107 105769705 678910519 966680059 939059623 132893925 163013847 962479699 401510911 120911755 420600275 11170377 929354879 469340921 277233473 338956673 165005409 117727887 775607233 294013279 915621349 392392191 907407225 23695383 311268183 376110137 253157141 143056799 117149193 594044539 931252431 144703161 882021205 548779337 124973923 544596971 121522589 215927663 136013591 766763143 126632781 691170563 915262137 64007075 515929045 911268957 811710625 922352417 10196143 372249893 830428075 42955947 230264927 272067399 648446529 363781295 234351983 811878903 777749325 839633251 649672049 892537007 571302215 881031117 149683201 540577333 242614061 166887599 505051069 632639895 475422087 706882463 683325777 524824357 173983583 254994929 61353585 695670143 782253905 216912839 183930583 964187785 373644919 506409739 88190787 689056877 423708025 767417449 697484417 860778655 338300291 120408157 181463651 194280671 607591247 361200165 883761859 14073903 646556697 528819401 980454021 602344409 462135463 971350557 935047823 820002421 863426631 805854645 436003543 292701405 35069393 377760243 464119127 510499639 783805091 566980863 767961359 431137773 224058273 706232777 149677323 293766325 466889275 287527177 139409245 638706571 489999209 507752001 168598561 604182963 979760293 245321911 208078453 485748921 294873335 340930173 955622279 308967281 841350127 412162923 349794695 950044409 249084579 352300065 655667887 720251315 254420655 666238215 821044805 726312011 969701691 896687437 619957647 205624505 662060021 264334827 7440097 771012405 578717713 90693795 257795221 337786181 168565073 356905723 553614349 702438069 521632505 334262595 773809333 908161691 734592729 829858711 348374781 491256399 21086277 480350933 209541985 493139579 942169883 668864419 97729889 692716037 681043653 868436341 972926601 124781863 26436909 673905537 247141227 985293915 218844107 827803591 993475747 795252579 773358239 387601 819929551 395648077 67451179 10946287 217293469 192286319 134103937 694958263 797615037 283177827 971946807 574868109 694211049 316614159 240390249 828348245 14049511 174495133 161160383 689348289 140217981 583526019 722697319 833221707 52315007 12865405 500426005 515949105 44254407 277632653 215371531 561983613 931590201 88540163 243746831 96077309 424933309 911791985 487476331 573466445 498974789 253316275 110159865 868874185 127276747 155292911 228891415 833130139 608708949 862100881 377544617 682725299 622203881 515259723 493696033 913932491 958052251 840846619 704843889 825881697 310672263 142021957 27930393 581243069 609456075 48250965 506720289 412426481 546143893 247924255 434681877 470442453 193399573 684297409 540051725 39830281 264923783 195771805 935397797 931962869 165847851 89888865 732384773 260775625 698364749 223615999 125350107 214042493 547981377 733178293 394467933 532083923 638270301 545752073 10948937 284080977 103402757 215776707 137081317 324666953 130516901 172322041 394205441 397543123 49268909 805233161 223332081 793815759 202020249 627586199 64646803 778212323 256905451 875075725 376258641 464976515 101951787 362736417 558823189 50197733 502643693 829521869 417961817 237035531 311629517 300273497 572557335 374007483 205567081 936674509 669727705 662957191 884442479 408601217 914731435 106259653 292823951 155019023 357692965 671753625 24319621 537763933 483115107 397324519 932228883 754500757 476287245 837823843 629259265 364653357 32835921 759126915 363982115 444672993 500383205 413392007 884048467 411376565 6226439 148182393 856539765 911147509 722326653 607360039 874835057 923620661 392944791 311672877 657838649 590680145 30793001 603464167 208490953 851454831 245477779 840094079 529729571 74867451 132700859 602218469 964030031 689815719 355518477 748708307 288130145 858493553 329827969 263817927 555866229 487744925 213911 866528779 515336617 236282809 772681811 299889069 854601515 481125781 796119107 327161223 316771627 634718289 255068287 701839929 371962341 186432591 280292003 750341675 459438747 749051965 445148119 125275789 666667157 933009421 366408137 281265241 565879337 304675839 356638639 288597325 341902765 10929043 473610055 179324145 307324039 976197273 631476185 989249943 625147935 738899489 18053935 119449943 739264743 472294795 324355749 409846545 575309659 233915771 25704469 758747501 151981819 455966427 288556773 546054107 148382549 547213281 349007111 972974995 798471415 361772297 167484397 780941463 649852031 558005269 48394649 175739565 364951435 311842069 377532815 904096359 682422217 754203995 382629853 941193755 523878891 978003075 648633883 462516461 409862825 54148467 35569253 209309633 942549957 7890263 751231587 740695115 91562253 656945825 975148099 779009025 637098831 391189007 859441083 937219365 879763305 839227813 734852363 159118781 663252793 823712687 750104565 947654809 470966957 442795457 910254795 125703765 986345143 922159545 877437281 344599117 943368783 734731961 636243479 514013611 639435127 640711725 69496019 449708641 402826813 41556173 91466241 881031717 526655919 497949073 993179 101868407 349234923 69543615 691065373 390005921 552498703 141209827 695157645 927706289 847967561 252184531 39564921 712617601 391090123 369364905 470375161 112736689 524061901 468059593 561056681 259230121 898520211 77873121 547270833 751707291 483653477 421901029 128057025 103494267 328635033 219083279 574960139 155135501 15525253 248490983 672107343 968991193 292086415 513672503 146638547 946586925 307179039 880973329 616360295 590314275 379818919 683837655 605412705 703371163 678125219 469970727 177727389 880959037 959632789 464773873 658534529 442862969 924001543 919978345 127194879 490484103 592434825 284323339 744566155 622420329 448948153 529589147 307168033 558650343 585317173 812564773 524555851 677596813 394772397 701718781 354096151 110421177 873428173 137970623 351374617 424420489 994213971 45135185 622388847 238532069 613982465 70852063 757793987 69562747 972117407 67206363 245381951 272789449 180381699 393983491 880719515 488919561 755941381 751521371 689452565 638179143 382646405 689430831 684065909 25248083 221584497 532721941 732440327 743961029 10070459 579014375 776296609 893171451 889249371 98654409 978803875 864728353 149622613 723543849 74090995 347916579 728603571 865155001 407265279 704183741 186212229 641890935 49684411 509040237 392793833 758435497 633105065 264496765 354083583 760076247 974250445 782500349 820837617 7551705 207367351 932967619 385717489 94873289 449541243 788278129 625496891 549133835 340087991 14932593 537920785 770687311 298843285 216614127 236284349 911316611 786597311 608148967 341948815 110385641 153064813 492599575 897681637 58543875 402925919 798435849 115445535 401546651 428561623 140378379 777880999 248305353 301635495 256114231 165181169 383428073 861686053 816893549 602142581 869522843 958685485 708142677 990043319 125504721 892274983 55475039 293448255 61822395 158541567 95781061 316321443 903386327 252444719 673252485 675156603 317380585 291869875 622431335 479948649 887219965 452698129 57771773 189895447 186930535 953811545 222202527 181971511 57355459 453309215 18326125 957168007 674031097 218601601 78626639 472150725 259132463 109674537 410468085 925427643 927227359 83272257 870266583 372040511 344262593 360796801 23930167 448009769 63715803 150693161 809471003 203868763 504359545 943634939 35274837 845518271 774193457 367388491 56738941 765781831 513007069 927311081 949317105 307268593 624732065 96027959 45141469 94063547 601441771 877558811 309902895 866454191 482774383 384809475 266249887 483111395 756729127 806286565 986244013 671745647 393695579 625914175 151433635 918446197 166436499 458980119 281016209 602413087 415479975 731599101 551775821 646527137 195177905 307825925 658084731 406968115 191436055 239141325 471557759 221304857 749589123 191719807 180481421 720589213 437649643 448210629 523296409 971019023 522012555 114059225 527376489 615544269 627667173 825915253 194690431 894859319 522883017 246513635 112709937 619347127 98423369 201313775 445435027 240983745 497885891 502940657 481511815 951801805 426626265 680900805 967745973 446788191 156272759 671926995 144176015 705676033 243261651 736682249 427244873 196026693 231534441 671655389 736930279 598991557 924827901 54559821 482689073 707656739 30569117 272838879 549500853 994083337 765440665 675093667 361240013 415235115 836333457 610640429 347027609 496865857 55831399 769103515 840205825 672733967 25859145 340800663 83136693 823658847 852361129 667542859 452003119 489834243 183382341 446879089 203506347 420729301 997290019 953636931 837701687 568577207 15354251 752477835 800493983 832426131 325643285 616307605 235841149 382334301 909550747 244418617 319398191 69855501 143220545 585720787 51733473 499335335 127043701 397547339 247218561 132979509 987642347 592739855 969746631 117124297 334922655 586936085 624490805 796142973 856397011 736922075 965272593 899603571 911382807 156321641 153073517 938565845 56612157 23104841 31164191 25445591 582212193 98657431 854406603 117966001 529663721 621769453 82559957 189182889 975525759 17034097 957912689 50563843 161185305 920958933 635848341 740915479 658566387 405662027 640900097 746847805 717820817 104550805 236409919 389272023 652247999 922720247 970026399 204698961 14323345 715949631 320029239 593662235 56014181 743317445 135647977 552971695 972544221 203560549 850854495 975477393 837701605 485387655 697354245 842364235 313958581 280135449 167036183 320843887 525535685 569582737 526733715 145943191 275435227 662973933 810552643 442209125 673178627 453882549 51191477 777715331 106198163 841176307 489705027 166740645 713215013 780490819 616532749 498056837 159928733 128406719 313540603 987290595 115184169 656167949 782127295 288096907 482435643 480782943 396710605 890052943 22465683 839883111 584515177 889352969 309939505 533819751 999896987 896790939 589638757 986634275 678784817 253886191 291033537 335380457 666177989 550988281 446793505 567675537 598441141 771311539 881393065 811585655 374748973 605979677 515427529 687064965 500474651 201023299 441110319 975865381 162443321 533927991 442737629 665520207 754191619 692364307 28121877 232116353 698762183 556907769 990406499 931718849 179118993 741884693 92243611 370847135 408225081 501751189 174376665 865734449 641946211 894659513 482383747 459529747 899711605 950256575 567914051 378580587 977135005 399086067 536931857 134775019 722271191 695430567 582879781 305131463 199707107 958469173 85448453 143486395 332713543 126881791 86047613 922299153 297540693 597432177 956571041 30824599 592518947 912762875 369355727 172305057 405290645 394472215 396907433 859176461 422257231 875876683 175605533 226161987 622976709 609767709 112787293 244937521 843152427 735967777 167623143 621105231 196300167 426160113 254051713 284877719 864037789 363292463 291999027 251787153 362135037 149443207 599509845 272584525 866341377 206450601 622128257 957567841 366259145 333266511 128562331 812367593 156580159 116920127 118192593 881513099 65224975 148652863 593221015 295271289 333864885 579376675 373485991 351232103 208482927 418598341 433269001 61043347 121692741 681169159 327159047 266133699 655650571 841724629 531835445 32962117 834299989 663102239 354095983 819912177 239426693 830239199 625333979 981551909 117813699 237278747 616483555 215891141 9286399 494674649 34446653 384845377 726409457 671695917 182414309 692780175 456764187 510610481 961792543 184053039 459982019 625503751 346854263 509084451 991394299 560218331 246246593 863578621 848804507 551737565 298453785 931699923 598614851 640279113 460696805 525141825 102785627 272381023 506041553 719040623 541652243 708354667 24172239 910379017 189735011 977975999 189789469 784141641 785633293 808482741 454363967 261067243 52353431 737765553 891686659 724605237 296039251 173602585 372993913 244602103 748441431 429149027 911688705 132553861 674966663 977000457 486807869 6480829 868718471 599338635 857925659 3568649 117365195 797054071 48730319 23101267 736924297 879673435 434411475 968333587 569820609 725411539 15395565 163965255 465720637 606185345 180168747 433291639 831806349 102781457 697815775 490217391 88641799 51739955 617260197 77760391 17679567 942011811 977331809 545944859 996493257 539507489 575331137 43323411 514347431 453788025 132580793 734910107 971987427 122371967 456903813 5284461 652809403 92591625 206444969 646357957 772267065 42919675 487837041 743762025 12480811 20267073 127421809 83475113 739350573 13215435 735618437 910329433 432785563 45450645 839555795 479512537 757813151 858620063 453634757 418334477 133291305 332985845 498902033 737983077 899032819 744190123 451158451 706236377 924371323 495362519 599373807 282949603 992100105 975553949 539303249 889903245 964244143 47880233 514621871 688440931 315764549 87574187 688720673 609467261 785476715 836209759 718937871 52599415 442761 559491461 166899493 643569529 727816399 297899627 436277335 780296497 563619381 730041439 822297055 434354645 256065661 302956221 662481987 507779105 497628717 861375465 377886287 781054049 362778775 759518795 678036505 950224221 225231059 564300629 489858043 512893295 986199745 894914691 737891737 449529717 891854855 781054037 998307553 613057493 227130137 546621271 58702087 242102139 155388461 274792221 897924487 759331041 201404485 753359165 385081635 892231937 85316135 341767771 17985771 90908773 613273445 237265699 925614385 623731737 289905493 525079365 47587985 285373621 564910619 991707261 954048241 835058517 507996059 792020877 916156027 968696481 257076873 470513981 4451493 165533127 270363995 204312929 594543915 158063485 859936593 276520917 373626639 84752641 129660277 465451383 123681697 265967897 197009301 2742069 992115059 643056405 362496333 237114111 975248227 291294665 936454393 49096913 736289171 173848213 265396931 910121389 284088943 804699229 319524251 648561819 824298927 919684243 640908347 748117425 361131851 111225385 588575777 267679493 404871305 297964705 964708503 842434491 792775413 224577279 692584363 905396479 285115749 662421713 918796599 518445827 26556657 260697903 645207515 850514943 654162435 574489525 88709119 825377077 317032257 116854155 846107347 187281907 581854885 808101983 820138321 884211847 5221479 661465447 794269495 929089357 284891151 946771553 999761421 7958953 333918053 728129683 921542181 622704387 492881793 714267085 532723607 23705037 133196221 65893731 789238595 33291907 464938687 46600501 776538065 959528615 93037425 605499561 766592177 566218177 931136007 737764779 149877019 598001765 555137281 950168501 965901585 985219887 919873569 119526083 457613401 615614911 909946227 16839259 710161285 458966463 588126795 581486219 771349227 427435489 681633861 965380331 45917615 296768225 290462279 454983063 104828085 478662271 348753787 36181047 122428337 153822857 95956055 924214521 276363801 658294733 577484183 447817619 718245423 864020777 53396287 863305795 64240633 471674491 27574683 202031313 815163463 455643569 88195135 23471497 957375413 412485565 331672329 889939009 587482527 596229015 616258331 349024601 524081967 72978243 547624419 712126135 545621591 936345801 429862931 19691207 899173069 426090813 308742313 878844803 401750801 91546043 782547435 514377061 674337133 938201699 49064545 701846647 84405487 528805215 927154659 360122183 25000561 150692833 350508681 587137001 864401811 579085605 497622461 144038139 94039999 240551789 300557095 745410725 201898785 183459073 462694331 419362197 165181875 371150135 361733305 721353217 397781559 783868773 711294625 594493097 621465397 218670577 601462851 354246095 583544827 831636291 345077681 127267909 483352483 781793999 922691911 407866463 721011213 200038925 119423659 151621373 740708065 165630335 82181575 868083845 170164367 934899635 281883601 111058917 917045071 311049783 518564933 144018321 468080163 731055785 626273255 913287307 374605779 569155497 689368513 891878743 767894509 279975393 984304685 519971589 490500553 145393923 614961601 941365801 80347531 169311435 391171173 602215905 358855449 671895035 979358275 304431829 535408419 839050589 840224979 799511605 218830369 617102017 827849165 544974003 80131411 29787653 472411703 341941647 926583747 494458377 314167133 145464721 657290561 645461431 305395155 839732227 889191269 368329473 675042423 568549825 149276301 233060323 647522667 713742885 901224165 772920159 420373277 912602647 397261657 936944767 335054145 605455619 694871717 132836691 946642897 178064355 136566345 367403513 486986771 595892787 462669705 579359633 446091669 308668153 637045371 1506117 852097319 505746885 388426995 137484105 747767273 160295851 912293269 34687445 922776639 335110217 879929029 893907499 611910355 965604551 394057141 682840473 126149019 570692821 144008031 50307183 936054483 343154597 630138241 283619589 607289853 959411447 567011749 525077185 732948201 230970899 345379353 186454795 660386473 983594181 910738167 207585879 382979737 171619427 707553567 236471581 561889631 44086991 116129593 982841569 749726693 623429993 91324597 117202221 287866977 69762085 637077197 439595665 625160015 332407 333962623 245466027 821940851 638042205 542660243 20568603 544479193 353820509 323743899 818405259 963626197 75781509 503514607 473064623 629914885 646359151 561892271 658389055 464842571 742608947 281481411 811789823 333882581 333227645 484763867 447972281 953061397 141156727 834681199 813582397 57147337 461549785 734891201 997609065 720146935 513308899 68117207 688611869 378590439 41780567 492062339 489895747 129163823 880554631 615749725 435798735 238703021 853085257 943710147 509087161 77597315 162593017 617681889 317016069 339365919 714504319 470079653 252790205 57138485 920083273 463732167 439305201 151480513 135604557 86502855 359777215 103338757 54075657 146459375 328009031 797260433 369822851 802065487 222027955 93244213 692580425 310983357 487854903 482821395 480816755 220623837 167979019 556897161 780929951 318253331 962658163 262849095 975247347 905763475 279297465 923333185 340580379 891289169 231453743 921972915 797666383 680240403 35350573 623920161 622910287 200304475 737924633 881856343 774164831 861388415 937552989 950804585 222078797 181294995 229491815 860154291 682870127 442477689 975138231 900154075 568432807 117308633 58865867 673252813 849578839 292036389 290631213 723230139 77759087 456499089 692827507 656583715 996495459 228013857 967708213 915423689 476936245 735273117 321065749 189244345 509949547 165677459 559155901 968272455 664211471 642474333 610307297 646971921 343991739 915598363 430371641 371458809 422461581 231142837 567444617 416396589 883097899 753177819 922968475 175631393 860944577 331869191 238983745 985747855 891927561 845901431 691437653 584086141 122397757 892334899 708837561 167941689 351172135 733850125 198118487 262851411 869124883 747711133 927554851 756884139 495108057 790874433 165995797 500687973 244596693 968087077 457382707 187538155 630857199 138584119 90828417 114643955 103492501 945586223 569849111 296268663 743433149 314123151 727846157 488747199 28076005 799733661 932482437 692998483 179139861 900897899 24532905 426341899 552931543 361023439 398444461 6496259 578332741 764540525 926876619 699659163 745939709 160618665 661125443 415449477 322644517 274457527 266732385 799570353 997784937 102224013 563213943 643879517 837980675 251774187 794577629 98188557 829223853 488084571 110612987 433060749 532655537 171291949 537304885 464749297 404488157 204156279 349491457 913759893 711973763 165813275 351286231 121420063 784221831 583295427 363824955 924447099 270954571 933197275 155866295 144346075 705742527 744599967 274555101 930027709 256106329 347559693 282464327 925913575 269940247 91668975 259374743 314724193 714996863 783715027 251485561 811081857 538623649 847128083 334450077 854287589 966703633 890884303 59396541 775959919 327885551 245047791 324490653 10387789 925247713 507204389 673241863 573062899 501134869 67570149 543981773 596290331 273107519 402860659 85204425 106519501 607175073 812620503 69470173 729929041 295898111 613556191 980325109 185392959 882202535 836469797 547833345 958232433 370244209 608047879 727597051 521485 104729785 929742769 187214567 620330877 1523815 445577745 861492943 694735735 552152555 346163169 342858949 926800375 592417591 393762717 276283875 468613439 334070475 142420883 155625547 380253151 897954989 6115535 570806313 27920297 767170925 484813865 502655149 468447419 573401375 11381061 206227217 434607223 733810275 245342089 523036569 339042953 497417055 981258531 487210127 865364967 923899585 950846479 683252037 925544397 698597565 434556173 678331669 942478527 15119381 146660515 205403747 893134217 917639437 562494499 469234069 937899585 397960307 139838627 749461537 495772479 464885407 37921799 462226817 169716779 325882991 365423603 770268213 188720881 307150407 86245595 937648841 414361285 870446871 67206387 413779663 708279585 480575317 407723841 579205601 322340555 324943361 716660361 549245601 128680657 92671389 500357723 583298491 478492547 252613947 994945553 119906527 526936961 706565487 119223755 146984905 105179823 46458201 979810675 997959993 847818039 572267935 297268661 488338939 125267597 925928303 478005517 748231649 820022897 742530943 589678265 552632005 54860773 448397579 63340481 656083337 954674739 612898013 879127545 177276697 404718067 50634307 696853749 973340517 123494399 308238865 810725143 550153321 647776893 962390437 963790983 893539621 927997399 882623977 383567925 998835365 602889155 568383047 884847833 631155451 666132029 69382583 88829941 844679233 311164553 457111479 469285583 656067481 731127347 126969679 84262777 898014767 927534607 285776907 305133003 939055155 434862907 695580417 501570661 8714721 157950489 298533843 340796335 368385657 462317909 49231265 630834393 500902215 185169127 981239327 231968987 508720797 491144455 857078401 423122807 832533719 755133243 879187077 743449651 695475027 359779151 925521777 228422497 556537727 893569625 52305171 861521687 894398923 559497137 601235651 484171833 558297265 578010625 793813599 119440235 344508343 765209649 525170507 649694753 734595171 77109877 125096825 153543569 962778953 678190925 548096603 836360123 21996291 185166457 888070641 961171049 829450549 894297607 304576451 528178219 285698949 147730765 147517917 670034263 856765097 148306917 945101269 984603409 31593307 359826613 733710285 259210301 689735515 798917863 916341605 868759693 854824567 486819569 451008721 189908859 770937725 937829775 171218885 596454725 816907593 322674883 178649727 700731381 725489597 902202077 690597573 505107545 241337029 213378927 509027047 425200397 391973713 554946645 894124217 971841389 832303709 542261941 323519641 615072419 66770921 873809915 884741233 14383775 439880707 876037849 821633707 67053339 602110905 181444685 648445761 434384533 26125863 764491931 458623661 462796117 328996209 735523407 334392057 750596205 278444477 965588797 226906801 942289077 25666115 700443523 823035371 498808781 164336695 169384579 805189961 712130845 856329697 303142379 648938221 43905237 987114375 767457453 93737861 508800237 705691773 154170375 571878731 926795815 722443295 119941759 704539899 286912777 595117771 300669149 543731421 799093989 455617775 360410937 831228347 913758931 440804347 972202475 95750639 559815347 941319531 117504669 962249303 374795819 174902719 336576823 725908313 22533551 237785989 956085999 830238689 878159733 808059979 661116223 43330663 219381887 779689901 615562991 742655467 192039827 83774543 280881415 310975729 912230467 898895063 367567327 864017543 43522533 472975101 408321553 263213379 674737309 668996727 423006595 897992775 756628047 910596615 263288927 891551285 530806703 579355257 705544731 63814205 259759923 540545441 972221043 822109461 498977307 531579733 459360363 304903163 30153585 873489019 184500047 842168757 992122115 686145529 822343091 975757203 510823021 153008071 618572403 196734057 802809355 835335131 881315765 256873879 751360519 600192823 164377061 275351553 828914515 66944233 818725045 887204633 301269155 366948607 654361635 770513361 594306939 20491669 286747509 418720683 809285411 452889039 768377907 966516137 823755177 772397269 605315891 568760159 953868007 124395737 536674707 104725469 288668029 209900055 620877237 678217415 905251283 453824463 957844551 548078911 942694169 763249487 735558461 435854581 205448777 989528805 619481809 284263199 852120353 524648175 896587401 565796219 397385513 578184907 636914739 225289039 621641907 112222695 205037279 743928427 774925271 517205683 412691951 87270947 857484149 6776747 866928641 742225495 552719925 64216657 609275397 816378989 2684807 533708845 573547055 641246289 330216099 150882261 875360507 239328637 975049611 676115935 934243883 259566571 142721029 493397489 754963407 199961893 989554851 126799283 440382265 52580153 634325435 902095319 435412997 482471865 789077105 623250713 391961881 625535177 192992681 238556475 839053729 172337675 96026903 696175621 564183567 622369199 123457585 64918605 13932321 479599979 926982457 220306153 739439323 694481277 690444341 117447615 564495753 604128685 67393525 26365111 508611263 513736773 364805909 398320323 471688795 579796769 471968497 552331999 840191871 758901403 74968243 918615821 961250711 807104665 926091341 163773269 745793883 186881421 871947637 160612045 292555203 424177001 534698667 661532299 557750549 274411695 633117241 533744309 511333855 208487779 913921837 564715379 641442289 977860115 274481249 835970039 973237099 328292567 170443637 30169981 899620271 281797197 792008659 425699399 800839275 939509913 95532455 355779231 746757779 755274347 804867819 285794261 510420833 857539577 399268449 274682183 520133981 679780353 154322577 829586259 659597649 644435147 258632393 844025959 431510863 431575331 124451875 982354933 893723065 739284319 797638271 81132405 783510573 628681311 409425285 376867691 193930907 790756489 316687781 180811359 440962103 961450187 573365527 825706983 32582781 894449561 210253021 60537753 234360881 927777781 921435071 943363099 608300639 948222563 766992203 790951957 698437467 620842993 17809113 65218363 34868161 752480055 260484237 674701637 946846583 423789907 737807949 909683957 713070761 754396393 751870665 217959193 101035721 306639145 406525561 70713729 485259669 259752649 216911517 115060229 453005841 529870089 159499327 394615691 17193867 874919595 445506351 26841339 296768147 599703297 329929477 191043657 975581193 522066145 166518815 218895725 623272463 610024359 739796137 301963625 189450003 248393787 234933135 319143755 341238471 449327625 77196685 733754659 757887787 334620683 769585187 937535753 266867071 761123773 942902933 212577827 842161489 103921701 981391609 586967449 30243703 399875281 396522275 677233567 406016779 562097369 465303991 687038573 903414899 611328475 414431001 654788423 296608345 25806075 154178683 709795701 513830065 119497705 249882839 347297101 751763899 756927965 684225003 787810087 940773625 266942609 359632705 664111203 131312181 539974479 690260263 470168177 908969607 550262243 243853751 218245565 958177611 429719971 987417041 764380357 542957857 82524271 514575901 661111563 204313851 347421613 679950347 612303385 460039433 479970635 816583893 92327041 850290121 275573951 513528441 305970907 67841791 183536647 413083327 824634061 939800247 360788137 355350073 558148607 177276997 246994611 57761599 290073893 869585223 643378109 5416689 32107255 589960863 60526053 709666359 379150137 151102329 313529039 779210945 657340341 756690509 978268845 404355079 893688123 227425235 192078641 539678283 129904809 827398161 824224923 676832147 723034079 838481235 467804851 127006385 435367623 977945391 303201733 311894077 636072021 962738047 396162985 904597 553266049 62153575 895283387 674919397 381816911 426882133 673804003 343715099 735384265 308390653 779374735 91087087 969787905 277878361 544517555 435343841 752088335 795447985 291310289 313939515 564909081 305075853 794135535 589982989 637065543 124357 708919191 488896301 891355085 390122611 752417251 89036863 120038627 664632317 601952625 122416039 882051277 658037773 821315685 124136345 198936533 822227353 178288497 403584009 598324557 127405021 579243207 508591549 839784079 375554907 100004649 375885113 967858173 585651427 443790553 752415181 849977345 335475847 909585579 717243539 968318991 823666853 211341039 433646955 767363999 528644831 618883207 90380799 377556789 829198625 451783129 427972795 554372955 231250593 711325139 782946265 715082147 580632795 535917803 742938205 421444005 938921619 50626079 629061385 513447431 544052951 140321781 125171057 821710195 573550583 447290237 153777389 190524311 450148499 154880843 181238685 359750195 277862029 803063423 875735401 368192005 657833491 786539967 833753857 583710169 808193175 949498935 141569759 519989119 121875927 416595615 961808449 67087573 542705369 504836151 372229167 321151163 904211173 848421315 759026299 899219485 750083219 679461521 148096189 639938793 748457661 689733497 877347155 465872671 317046151 705738711 772607593 183589821 5883743 464112275 799454957 527862223 480499193 658022171 101345175 267833189 464946001 593011813 87621097 453757085 944456361 655852015 718265641 133012631 870615441 638654143 994403177 158106751 521934555 399026277 747720831 448714885 26738083 646893045 287827215 445829859 168569935 128553231 504441213 6059741 325773193 931002073 485158141 555207613 853666119 762646271 248158341 760728021 381009861 154436283 8885717 55377279 96262279 554286535 956365431 37328413 617655641 850789741 49316027 454827801 324494671 744130425 841396919 577585895 169523655 461931331 569955149 774970881 192238435 299752103 462948647 170650087 119355663 893960975 4741041 607083045 524147971 198511205 990150183 910757195 130908599 295929377 127612039 370447863 630742257 80999489 555390619 661763017 92089533 99240011 909815537 460474477 476097137 97583695 693499363 488470163 374949799 545446369 850583185 801538805 309898051 519813921 760281571 638166871 286283379 21423029 254562699 997130627 695644587 34380233 63501565 903715915 810647461 396835607 795252861 820123785 87605863 260373467 538122259 27813407 803996223 996199385 274659981 7331065 738575039 676005733 58983045 910816775 121810371 194356305 915760475 939718211 936140911 197835003 257100853 324474801 193090099 964624715 227529991 655693915 949384637 582698927 291277193 459256147 686073359 995961373 443135543 426024371 105298795 42132757 2242399 483601311 945567325 666564249 559351309 971138365 898017977 192162107 686774041 815821251 585307291 940372239 833189415 428516459 73815401 996718261 696975005 953455477 889892047 259995219 1451689 349225773 393109951 304796823 45795911 476109029 387734391 103277493 716793399 900233207 410453115 958407279 174898431 58781381 703943063 569601801 759465969 325963707 456995551 750509137 344342051 162570311 307633841 662249631 237806457 573900265 753324719 300711121 781764503 246490399 790493895 200533323 372792049 843343989 788971563 899858173 341337531 502225277 773114459 993102429 405439739 720234961 118874135 64332393 764979061 427459605 171782765 67209129 272696505 480832239 416271795 221206825 601264161 380851733 749291651 443742591 906923981 307606849 338132673 938478539 737173927 616638259 328393883 956343475 985730139 364485815 123742597 79343461 524584037 128713119 105542459 997285525 947200771 710321093 804556479 352866181 716067133 582788621 246135649 653522169 585325799 169790813 254464435 755724353 726380437 309218731 902434449 697018417 254919081 200322289 325925921 832635431 418262347 575376431 548286157 997670667 493470571 862379633 936784459 478216269 397452481 1711561 803722391 858198751 988575439 976708689 121245429 836094529 469224667 659180845 302789873 783497083 244011767 911168899 2333023 789951513 86280443 947159945 213086555 760289585 596838791 419394937 121424715 942740067 66027779 389388947 919959515 585450709 671352479 860676645 349414141 938846261 928624467 776136829 180451055 579159481 840579297 38829559 961831221 133005085 657818831 679206389 742317469 81430957 949314415 467376099 450509111 41284913 616443095 962010161 11604835 489420547 346615275 772139867 89716931 482785537 120343887 816032993 172046405 414265487 294624375 671220815 3893277 829288861 723179673 345701431 894787269 352293795 786919861 24771379 528252421 267256475 266640277 372793575 376100325 591659023 350623945 213784825 65890749 422248459 429718439 863236129 116097319 77956133 227331411 914836755 228765447 507467389 928342705 730000791 445459085 910973625 723996019 542041459 411595303 440780039 129127699 348318587 697682071 235115293 750135759 911020681 162165215 616815929 269489585 175411329 362239563 666500897 957693321 738345801 416631151 453670179 54258669 437044697 443992359 108770073 200075839 854301477 400486041 496325979 338318247 110957877 754462511 870753237 541166613 223561743 33587103 474722033 902861123 365995207 374666469 629159079 200869807 738992247 85234501 861471607 458683297 589002563 561455435 744514915 716533291 670512467 750770381 291894527 505404965 532578777 4434403 310828635 975820079 356954129 476584949 591438873 884452017 785922107 973179055 514373215 395586267 377800867 327184645 49426395 27364261 990044829 144681009 37900995 702265809 566449023 208714937 681185749 20262887 126826925 161460075 352036183 942033203 452925843 870453335 531823641 751689427 46408865 209128925 543674479 213633701 351861843 68305823 83034425 905261137 711250219 387039627 512325851 341736005 980663729 597576405 738757703 868184765 331629945 78219001 694247407 411301561 391457821 74699449 5218517 144467711 736771649 44907813 919707515 10460449 646681741 509603983 92537077 977754229 765968563 396545939 935904211 851454239 619092079 850011159 944545079 604806915 232648833 16163909 525353415 591260373 4753847 553860499 217012913 869900043 154139615 89103293 289215659 602097381 954066133 464742853 280214771 792863597 66768765 974463739 353751121 355346033 254673599 101464051 340907535 329638797 527890061 941807493 824463113 194961181 92452067 282904025 80224919 12362059 627483329 479235419 147240357 324464905 820425013 200719293 718793629 544270091 847136845 452045565 246598009 856599765 320720421 551105631 159519411 835485615 585607137 946929007 462635093 488709031 38022825 151480067 537916395 78282903 219333295 120428595 707228301 278471967 527641135 976886121 259105239 185211815 574784107 176176459 64513267 41771873 737001643 994666963 253619083 393887553 648227139 413596473 66915543 359819019 717843599 166727429 749288597 189755461 459372525 921816831 438854155 916489025 588137163 957527615 811639049 224108567 737138587 169115679 921093859 813997991 886330581 232284997 162541945 35766425 888587771 291841179 389097521 313727581 637039259 47260759 385485559 313408555 24945987 960989427 318546245 668397061 923446415 165578807 610229013 430067121 43161123 624707117 495591409 822007745 783846311 134316073 872920549 571032203 787311053 668026823 584278153 392472371 572275025 344472557 739399675 675067549 27107317 69956037 940646879 333415549 276185475 477168069 648436837 261918281 788173515 71227049 910263619 856101955 881671849 32172149 802751671 360870513 197711105 995649909 838130311 88080803 842372027 70628669 1298691 710985845 146672073 314134443 635385343 721129027 896732711 304373217 481670107 100082743 754658007 213940557 926888061 225385027 75334115 306978977 493942355 883194909 794596443 252741341 545769809 354698309 604775261 133459521 268650489 920605445 308673287 761085787 119409231 61819755 696897927 604357633 125555937 657737809 151694351 61238859 353596871 126341975 984964567 773470115 902285727 248888807 584550177 864374193 904488589 969852973 13433403 375081833 59293505 779172899 168576627 71990795 265594353 27139211 457169191 675144217 86251355 944930285 485750967 464384093 764259271 59111831 689039245 381215471 203757569 921792163 477785371 33148969 880988255 641261297 161201373 345009073 388622273 916037161 566657365 117308785 334646413 980992699 457916683 939902111 564211119 690015455 194758037 495050423 830212001 978310551 728678539 247926909 112413023 538848171 261396109 77814523 402983279 895325865 824670281 808168075 464359135 763382761 262358897 86698947 719857735 395947919 543606205 976384651 129541829 136462209 263004145 12898573 568058621 250168943 977944789 645117633 555584543 447890641 41266239 716707679 121236193 580908519 26151941 540683245 96970883 219875003 69234445 260268983 894869447 453056797 985800767 604065617 312027135 578909349 10647951 611337113 175477247 988545457 491619061 902656177 312683305 574176877 455768437 213380871 803663965 465072069 356831255 342043215 570426639 956086389 32254705 789488259 577876531 231956989 268832795 506770665 285573959 251001761 732766389 732124431 54344017 430977399 938482157 371361735 391889887 193095507 909808629 743567405 344826889 854326745 70139141 980330149 536886125 14634861 921024609 431010269 334821167 243331393 940992339 34644937 506255103 103622735 999315499 114101925 125689363 552528981 529199943 190797811 103862315 104436957 374945799 872502147 482565257 412026421 413903829 375702631 56054015 993252983 354793765 386458619 758528739 95132803 355276911 426144997 363193873 902281985 627264311 827641359 813562865 351065441 134740229 491929519 134304369 134231261 644403823 38342209 2012421 952344435 989174797 739163017 959486895 363415275 176241023 362603411 922674677 403152343 865902197 471359413 774655969 105722511 522779035 196014983 529249549 929759795 201035183 694435825 65040791 905221035 149050483 781313055 250627363 85351079 581414321 684364419 481957345 290719903 953626171 926303707 388241801 269683157 128649961 580536877 178458709 617093711 263125409 384953793 803955215 332880607 571370573 447888941 965129475 167387165 339228123 657037647 544405255 373654887 414281033 5923915 29512317 790525929 276841625 196340361 489707847 94758801 245096405 904861379 923841491 804013079 558039567 529210867 531740187 647519227 684708961 507816027 583884955 769412999 308244717 434557579 755863385 580781515 59043293 995617363 953140453 941417373 390968931 681405397 183410003 649252001 900478909 674310767 989899587 369733179 879875113 819782097 735041241 381882527 441998833 875584239 995414215 927380929 877192299 673808645 500743487 469907559 998048495 224369303 825545985 808351509 166735839 120127089 891865173 274080027 701311397 424089767 689149959 281591187 714514869 455865237 642048111 34373725 48657799 374745313 372733033 395244323 385211295 471079543 87147613 752086097 293081223 19562889 633802041 756773411 201525201 322541973 124274547 881392535 362062615 428116831 887216137 983119221 838257915 474793459 44182913 819248975 88779815 835774373 532492523 855605885 546109519 335899411 277934299 575065887 958484779 329712671 534236785 355186973 721069951 679985911 221049425 376728871 145303061 15843087 661773741 83055031 823861951 702137889 587381559 412745227 321950549 499368755 584946737 980464427 92147903 95986067 446533471 538156265 744712673 405208017 706729487 120561373 342369457 766705869 555833623 981313893 384153383 58982059 845265369 718392493 226140743 935518677 490857271 543523747 635263259 83150849 306977441 652530431 553851317 25134889 263485197 999928387 660162607 402022549 666446841 805394101 980222379 878259151 579897963 228896871 631257939 873274793 353974771 436136239 90137435 77649221 823388069 950900145 342283771 826705153 677360929 860037201 923419255 441380751 996966283 97133123 147842073 873692383 288786069 21304445 399340851 726031663 26081137 758689471 828062751 733265411 398857185 47858835 671041087 251700007 474433321 251169353 990422271 565141935 149029143 139487223 786279629 220359415 645413635 316404863 684909609 217520037 850440905 429249675 408429201 299522725 223336913 390484359 81685393 17140777 485502985 583486127 27479483 425950383 673147111 26388481 90155433 604570621 818761323 741497671 232956157 64498715 166264855 38906127 561972577 325617247 74420733 438504883 587870601 755102311 191537073 16237651 137644591 936475415 716496723 889674711 783521043 962177943 84490377 36902385 107776513 385337441 779848063 787412501 71289803 96482863 328336367 763914887 796967243 849293571 896956435 738776911 189090403 202182955 969271733 575514427 744985341 326202429 226458915 987156709 322116621 918490643 437938223 945164717 963047565 475512787 56510781 161578681 125752957 266568935 909590063 10280957 35130857 163835909 319110517 432325425 366599651 293713961 135632133 627641553 157484933 257381269 261794653 923448107 219933425 431023833 560978053 604007755 274015313 31463879 768018697 929373193 17367257 800886909 506785023 263103241 148532163 619929693 886644487 260942257 72614223 266881811 22132039 915734575 468270025 529681301 730649195 993936513 100720771 864687903 570162861 324027233 712994519 950787125 463369929 845121883 158511399 884715939 224212229 795848127 802760671 984997759 343842863 323760547 400100975 171867681 676943519 994364139 39605841 329995059 273814833 700206395 457724939 597697691 814404687 691754759 652715555 770268563 219013859 85022853 179273261 740352915 522721125 549015733 780794307 297605985 794500819 168834657 791511943 339824139 594347957 489521943 909844003 676384737 925759767 756333105 19771211 678714755 804753295 160477137 788101817 552923861 51504189 599807963 268348205 370119169 75007431 481959681 945681267 922845307 783570777 965999037 202794845 340416003 502124973 843082061 325161671 538773403 88499711 82438841 807139471 663299725 290828053 546958293 370053537 588364657 157457469 376248885 433368049 803546913 824368719 555402811 434647417 536533443 776929449 75987983 190711609 959442881 274192943 832556193 96620607 674336977 105628753 848506537 416587417 847768303 998134791 150692265 353751651 450916191 827591371 194511591 754133695 84914605 771972007 556397175 361968857 829695149 407922215 239181867 190446305 178415485 405643105 590921897 839264017 941942399 904231669 904872535 795590319 784681567 883586057 8531557 591389441 477192469 685611595 945944011 726490203 404231897 911885551 935671883 127213847 395167537 560742839 82450283 900134039 366379497 609774055 916878717 580421191 296805399 427749199 672669847 149354647 955514131 449332035 521076637 589991427 284643719 455096737 819902771 17351179 716297307 138756051 521615053 372984891 632091075 290879939 125631905 356152615 603130943 14319849 281511343 285343589 618153871 673431877 982160577 981590169 325062595 863230041 609070439 942788207 266603563 501997111 288987127 969970583 820662887 22488181 856406421 705416909 279525211 298624303 205154597 276271057 414644785 808164877 401280601 662938223 22961503 541245757 800561835 965586809 885995937 442897525 415561817 368235467 910945529 125164019 621813101 100403011 650281911 262757245 993207991 520347087 864529261 767848801 279964365 351251039 314428919 841614199 840560913 966302703 902003323 963541021 791670955 988594303 538521701 649340727 827262347 24954395 810711655 658405687 430930795 699192277 415074175 907856911 548131017 760440009 991384049 498526273 855179245 904988949 300494409 144217039 208133609 726050023 318710875 765480779 800762773 63925615 304764997 732602059 953139345 812159977 611301225 298008811 473411141 469818005 112850805 945504723 430683361 533992897 36580187 390992945 106128479 490202811 38880345 644179003 168608123 573980895 210347253 775868079 134411459 277812881 736566263 372125139 349176195 736395831 140582263 366746743 206567123 347715401 37882831 469724399 715915927 966337339 592689827 592487451 162364021 953343637 637814241 811114079 812979419 31826909 576188605 93622955 655519751 793274535 707327153 785667447 206021363 691040399 997341317 971377085 392888939 614981171 698901313 986238471 308268543 787659329 85579069 356173153 402870533 503834729 811848979 8390243 517140897 934579815 670116521 947856425 993474487 514850557 215176233 91239771 379722747 394652915 234298633 833052455 302734563 536107037 645496581 74666051 611711407 446906455 486312737 725765613 549011305 492686463 955330729 661360363 59394015 337440643 866450481 98433165 32191149 543494483 647518871 12599719 857070127 935628779 979599869 759253913 422003343 720046157 1205455 894293321 470568639 109224321 87841475 225865763 364259699 402802075 177597909 948703009 550015023 735035575 957340491 976623037 547825211 10065395 342463661 997201665 602370469 353982077 812344017 961448569 707752519 58801799 512016085 287769917 90925761 642027591 322049819 925417705 135880059 989230853 107939409 701399717 360010663 262063111 190810731 224059423 452724793 516124579 363256739 90540173 454268661 866856495 56282495 496749997 765401953 203471633 524740045 256583879 255209423 775078321 602318239 902523303 138710103 200875649 518110801 390417315 627111385 661492221 63846023 398801563 924991741 965762983 248913711 312202227 349050675 642263303 155287677 476385693 189319091 128801457 990179053 111664395 615507071 159201089 777313345 432843327 919683933 779198037 688980617 933698237 688278239 536183707 65132823 110478483 341856091 143693765 790086023 355682649 308308981 325918603 32278207 739591467 982513041 510609583 710954475 771353521 745753059 862370047 70580093 129887515 693625953 49710921 650631731 686246171 807313229 832384619 809100305 591658481 707183789 429220931 761706851 495321443 919298385 673483967 611149757 4863937 829223381 49270481 600738557 283799775 638932885 594869105 966007877 12622621 753994171 868966561 108361473 814764129 787321401 772719727 371683305 192480023 777520325 171262441 343354869 392524601 766950367 568397869 948494699 743360323 531836369 481694553 72677593 868621627 464112041 648477083 315659279 394837935 749262401 152451621 719613229 203187895 759173945 542081071 330055573 473063151 941329915 446663677 145592565 336939137 840573107 639558615 457694785 664985111 125241181 636151059 351746741 586443753 978105527 10085127 628702419 73729717 241113929 999436825 82577771 580389059 883338341 941563569 545713293 109251805 993104675 36741697 169177243 616869215 840272227 280041541 225417011 502495011 298507981 597732671 340433479 527464593 372217809 211695033 611840263 464408725 105575081 536806723 874127599 794695593 72455761 667024251 980149447 108462281 386685847 537990401 537073561 145426043 373331463 338350719 567995833 217019853 457481977 237618087 211190725 368573783 627407505 688742453 795222941 393126453 136021685 267370219 99106163 316368657 672101909 467464339 438781111 454784789 904614185 301181693 452695335 516053753 503957809 845858311 490319815 177425403 470015287 204944527 804636645 236791011 871758091 851967877 563746321 516498685 490527301 589773525 165258539 315686687 598750531 107046525 934285141 706876073 127781425 82004863 435538685 52340865 461623291 70358245 445990357 789205013 744992605 721812159 994541021 26607195 99270103 867712299 675643989 625505487 301547695 139598153 10398411 794903163 200213493 928917571 644570133 804058861 843157379 509855819 785065293 18496313 504453627 31316381 983579353 839664893 656746433 972946299 519803747 98723683 758568455 538992943 169523423 94656533 21657031 781797131 528442253 650173515 81504959 336287591 797689071 819485125 968796793 329147817 753913551 955539909 439159107 392479033 32168005 435766813 348082487 134602379 355325101 220334627 888452917 109279255 842944167 866768307 928234981 594290017 377187621 908859445 583168697 160118259 476996183 709497751 278856421 423537757 836901563 463229261 920487533 975339325 298825749 448381273 754454295 350447667 872112753 779002175 67526005 378311913 660181283 616157455 48045535 301081107 558535113 688343133 616295797 278847593 952999749 289102665 78447391 967654831 884970691 275281271 194726029 598777261 390856891 761616663 725851959 44216633 764597733 706028513 508025695 568045867 796816455 868972559 391911691 786407781 219443757 761133931 613037837 967210449 25196333 196137537 65864189 577258339 874424097 234458727 665415993 348018451 806748973 530889277 607463405 999503589 560987327 624093097 836833287 122852065 754115211 134771993 755639615 637213213 769083787 66304643 678556693 104248241 269197831 528767077 917979859 67170239 529352839 859848389 839128713 390954609 699098851 256993843 583814157 322692859 752217397 23484611 646935811 87266965 916433123 462657301 246405839 86716803 803540375 892371789 985163173 12265999 783366727 194812955 560076155 155028361 968028719 571869623 81030929 368768335 281077713 59357915 215846641 925671361 261590525 976021457 923710569 135732555 38485701 825181541 992069267 545259867 192967303 486509551 653180751 949263729 620719333 140267083 461853255 4814859 557331403 893962465 362935783 952235443 561565295 680705183 977326699 800442879 550984781 134638075 63196881 610530951 157467177 568610803 67866593 429850093 429667089 520863501 587964205 847267547 359256405 146570329 408930317 306520325 173102485 298479211 118131873 499031075 141934515 418291299 601401553 41088761 813697501 928407781 613836109 255690321 594060165 496140579 17499791 932062205 597671017 329634767 51191765 599074263 20045199 856649259 908513831 588840641 274314303 997116153 125363543 174805413 744553745 421433741 168802557 96964215 933297375 290377399 137383287 446084399 884658637 317249499 580071153 373340881 578153033 903609307 35183705 133896295 860289543 332090407 192462951 932471811 169166083 394273203 165353629 443414975 851036799 446832643 616849473 3466941 140029963 586625047 390648677 976078375 959032953 219400577 422877663 168190001 713558245 908278101 939617363 754013973 803607989 470057779 664892197 334683155 847856531 666358847 156221321 308739703 110382709 170092075 267774069 605187729 654636183 123967529 99368361 761263295 320869757 251857915 861534383 683317857 72337139 419999973 115398615 219419363 38656525 903794869 827181367 912047797 352741929 495540931 733232051 890772049 340364777 186764523 190550511 371049275 102809657 436536469 509561181 816044797 66596689 671593391 93827895 823778857 633569705 611088815 313965947 164025177 660133127 864172691 310274547 667115567 120344439 545014243 822576429 192625749 293567055 886919083 712989059 283197055 243562281 989859201 549604885 130174311 641517289 860948869 535005133 86072525 168844989 305460571 415568983 84276349 578325785 445017909 890482477 217140553 123976375 23085253 311069841 410066955 807808413 381745229 217080459 859991717 116887065 96848785 738061801 152014593 366074301 453296351 44233541 284041747 491030117 148215823 299715583 62509269 46160181 416170367 635951421 229611335 652472733 588745491 197901555 759832437 305906253 781909819 143595737 788490865 442496577 929247725 91715437 417274709 253102017 88999 781455607 394420803 770204503 596103793 375583881 91982183 407371991 86368981 239345401 871430641 118744157 641946351 157368299 63858459 43712335 750644057 593762501 190969129 654125401 199009337 979941301 737545317 85621101 424442945 302729913 542517281 583380681 99918245 833352331 675753911 614830065 868158753 654315447 616352139 31890865 448655103 220182925 244316163 514576925 202249741 67170595 9551509 396037011 71699615 895986781 519270075 722253237 605805971 329544927 377284341 798964337 706157905 542720797 982074319 900940537 64456905 247421773 743396571 347958477 613335149 438141039 462233523 642031789 627035453 438768461 766717689 422668711 144249791 80821621 117115225 734489105 763856131 899964481 666122371 585111685 494541727 430617555 390607921 954411751 68227759 619233807 948996905 133006181 508247771 727242151 879868465 369269107 536981839 133742869 581105437 215911629 533099205 429288343 761359815 413415029 729227385 54442549 716279569 847794107 975395633 126672579 296600039 922746673 786590779 859706581 177709625 948500403 657062511 575953613 239654913 437762407 440307499 139738323 587215429 514905783 605221715 65218007 602292235 633620313 141530711 172106385 89902951 512132425 727583021 459292803 781711987 828488139 477798741 379858677 650150481 852302443 547493329 517240309 132319789 238991869 112143923 778520923 454139959 184664477 132615057 789295051 406097579 108785073 602366343 774171563 628085961 151106277 149711165 730386987 855603165 639368491 285740639 1384515 195467833 257795265 526308903 665434549 635736631 486431021 641257041 235930631 910207803 738912311 116899363 368120715 620303531 44302581 865084781 527872599 503486717 87765189 73828739 335625551 121007787 614414921 880326723 626982679 191135541 565506159 867058455 578969379 605941289 474265451 366473705 340185769 73572373 391442359 518270001 590211497 885002133 318819611 137730543 117829613 649487947 279763871 739194533 554079749 390765539 674756251 934090341 837395527 597317901 501782953 573132485 923006423 825532549 387351981 281279457 940209561 893299723 956865495 328608609 572538177 886546283 266140309 621678963 837315139 664524665 454361769 630424011 714573027 702501131 925876757 517300907 89880361 755940869 377830181 531931607 833593829 237543507 43275117 440587167 354728877 346453221 668751561 601162199 197265379 142783159 474336863 760064223 138737071 457859529 319103385 263277723 446685953 74404905 824527661 564038525 735101843 85182181 115059223 282740087 850799075 627012889 230284955 35157769 716608569 836436711 766605125 958471227 700130215 767153787 519869419 589994393 204909829 34030853 296469157 158176059 706115571 646641601 613585629 433748413 194891737 817446129 16849977 7701319 524647655 348892893 415737779 221806727 261592343 482044121 833547907 211508147 184327973 543411263 475674415 368027529 117305247 40216947 101781125 461631055 628429777 360270557 292123285 600407251 627206867 532483567 65513407 736119151 295315593 555251749 983499685 860258043 995161753 353850879 816252981 530366947 235337073 316110345 314993827 661059857 779258703 422176727 516600427 981111551 604258093 388825343 577049679 633100967 277013463 861793831 682025311 339581587 735642333 108216821 109870573 172126159 339580309 76796961 104005269 125363443 402400803 887915615 318377277 60936987 614413419 61632887 900721167 869712111 418375457 447322671 823748737 410304413 299821243 57842269 512538191 265603547 499916409 614428119 90038909 425036519 942311781 907161985 239045717 257752967 47810381 964588615 103947889 437428491 191465933 842835483 967954343 838495815 772530497 770494707 958734879 589182619 404213203 15999959 912894021 238709995 461301365 414972877 519323595 988752041 515465179 77232875 194180783 935351495 788861321 69340999 393501749 137386695 82044103 145039879 328755177 914735533 660560803 72497745 588109985 981755655 668053495 146616413 966279541 177380333 552149091 400386657 195976911 54335995 913331023 866915743 318073175 484942937 114080749 142145381 883247361 231511733 988838193 129421825 324536845 735740997 972886239 671530447 466859003 337364167 950921853 431722035 252117657 694891907 464743005 167480469 170356477 430733891 76652695 425788775 138141825 446951011 34959371 13276453 403170251 620583867 288486241 658919249 767653829 943016375 57470473 914407283 520769189 419849795 646784827 362019361 371280613 602778323 676391161 354089969 813265485 578674025 202565897 935277193 76297959 262842249 838928381 71671697 876308999 842262849 397772331 340378555 640342345 52400169 946615991 767659971 40176531 928863837 496462471 253816683 943149583 565020037 115543369 183125627 819324211 346059727 761236089 490285511 952008635 933854449 893418583 646645803 965804971 105892139 163103977 238284679 345512783 738846271 654333695 229268421 316890173 964811391 843275061 898872791 704454221 632518079 238900455 501599929 22422695 267041375 380178239 369534061 677377207 214020677 126550575 135575803 198171951 132185565 629725549 774090105 257170191 172707617 556151161 268813053 322059415 714611853 402479773 22354861 140457045 60966949 885980135 220904881 874078239 317969533 515536945 183276091 823263247 656437671 524157725 998076039 738083721 392398913 166112271 903392983 990401083 302230131 834872121 597674867 35334937 85783787 120338069 263882161 295253853 521266145 119710433 492568295 380943759 501011471 710689445 252205947 700551287 130326461 989405491 955327957 737805869 881897915 557662115 215759721 438539531 48379999 683576789 678476207 897446583 339949189 756595569 393079081 941357851 97435795 109567207 947877989 229661037 358978427 940035185 200653043 727908649 861486513 211994891 286476395 145234195 87764529 676003203 677302643 374914103 654750597 541061989 758643891 172167913 386987707 991273481 99808733 37099973 113123943 856297875 972500653 547967665 86143399 967876585 157923301 21126617 49632035 369019835 163629647 106673839 682480651 38898561 350509499 264873713 660003089 829501563 879020551 739229603 204901237 322551731 309393939 291923985 923123199 115472121 964008649 162455759 222343163 697134053 59827739 279658683 80298559 570462933 239724039 894397943 898917419 585304565 88595337 867698929 597007013 299045425 830776241 480191325 377469723 659422277 836677773 386394933 209653377 546085297 1357883 661536703 697572953 290532795 441783771 580439177 909352871 955752563 209982615 850071141 198771707 933250483 672666275 494904431 683052137 2570269 708345911 503985419 547032719 557092885 741070487 768190183 472373143 36177101 418088203 759133687 77562155 71255871 701260265 740279927 992394883 518635305 618468231 654015977 302733149 410532885 327826251 411148317 855695105 119242833 660206749 490209829 734777147 755685879 784594929 151251805 228127075 96474599 297336767 166651499 283471701 181169865 35944843 80748601 801727609 726104079 44425951 407156989 941650107 930258669 108141131 124636979 873515925 287007079 816071277 491161759 570774275 314887491 230322405 827038541 669292683 599033109 543116637 668629651 198321213 985892655 985077385 137560073 786439085 355436727 926977313 180646551 445530361 541188755 870034153 481382249 168436171 608429171 257956267 582156017 995043917 941827535 456400951 583318509 382324791 966480617 611341163 961752675 640970697 563660743 309123367 354479771 682354373 710064955 982641493 247283755 215446397 490820061 322789097 886309105 744632775 180156683 619402459 892151825 963996159 980814321 607468335 143621365 110695949 904719485 59389935 994800209 22623327 721282151 510919723 510402341 416729323 562311727 26605313 928479153 372223535 413899295 930849425 523043461 420484145 301037383 784064773 909813619 613135233 442820733 519954321 426247319 812779059 228782437 797090157 370799445 188298981 639148899 633163485 964257117 178806721 761671339 982809643 646565277 400498545 937786163 357010601 614854999 415472175 269756859 31726513 297543437 369788085 615999693 126226851 187376523 452350797 489082807 847745263 180372197 512799939 547305875 648313603 863180663 828102509 177946177 248725337 89092327 171517997 97975659 209679989 405241121 780321637 469660541 328015585 280329047 737876997 513382579 330952749 533607175 520977539 417722891 748581879 260281589 625500125 393844813 72763615 318154797 349049497 651752715 164972943 697982213 156537285 244524957 861980091 932176917 681338363 660657187 783527197 449068357 907723347 905134213 443772533 108401345 378023801 596939635 502562957 457940477 421288599 907620199 814956859 619360435 610881127 20076447 23430743 260638185 684321315 620223267 558111427 900953837 112542869 182781893 109060457 54252111 192537865 165291805 375905853 950797551 731482711 628435849 467360569 371342065 878192603 850862389 2542941 877159615 5464701 938828047 694299059 450119695 843374507 56266703 806721617 491285211 813702747 48905975 370184015 179548779 153785355 297409485 972222927 849832009 703868867 694069347 784024829 78897479 317571853 183021199 297266951 599372935 291958021 789650165 348478509 579522151 704843075 263988217 349350317 750401945 145253619 349410511 141098195 344153101 369228225 345285741 554730993 142514689 409596129 877377171 973925729 589850361 762089493 393933003 805977733 185486529 284800159 459905893 46318791 177013357 703990867 282532983 643093659 134556505 844405889 669150949 373059193 302844971 819077901 506417491 780538341 56498639 582358873 942011699 225514601 664433271 483843925 431171007 268515991 153079971 33597559 140804341 673346313 721630739 128750269 861753503 838271841 379102933 975010223 340557131 689593675 604319805 381891415 977852243 173780855 370557417 606192977 920966103 491775135 608793789 255923637 8116161 691471495 916553697 114578479 711786685 664064249 39962575 258901227 374591557 922657991 904970561 427519901 28875419 934138059 858731577 528346759 5725127 937142503 159609607 961177965 556103319 989200647 344392507 686317725 593204133 589349403 221419701 202470895 522615889 913092893 665540761 71591871 715170753 43528721 75141201 146406391 834724331 461172481 573608595 342319873 499889793 28540671 696540763 816157909 389857287 32385829 941346797 203796465 751168707 45900181 716821971 676269659 348812743 46621819 995818469 790055587 241509865 842662663 643978303 885994207 372230349 982658675 804318787 756790187 411319257 738593541 397529501 556509485 671064379 750767875 272499011 300640279 258479345 8086977 558667889 614880411 941480373 57201305 923361707 962279803 910556691 194248685 212223421 280432379 649415003 414424615 987189437 700718571 221985955 307336379 347069699 648484509 60748751 253716259 402811449 906455541 818323587 167388127 190936133 74335317 24249651 986451323 774002785 322029741 768655893 243909001 144987653 638016883 373018665 55837091 165843447 143840679 674369081 206019179 278583109 315731403 147414483 940249229 973739071 722126577 803707985 189483961 858004869 157799855 328331733 968477611 917398779 141659425 786720323 253463843 247384779 6883821 63889997 865317613 557979243 948527429 639831149 704329435 432335253 6519773 139196385 452411591 874833233 879548147 275793329 647025555 150797543 310560589 387630001 979572267 825152751 832218681 569870197 484743807 39860291 562900111 889900383 149629067 906365193 288822699 204273559 193454927 687730093 174236279 795597069 459997655 222642657 696822877 473179769 834750517 339846049 45701717 310096221 237324931 312842293 293305823 520744193 945876453 388792103 164132349 631400307 104126849 469659467 745529409 230588043 712373645 597255103 50189761 197947117 667736643 571626725 893680665 949616895 987336931 335014249 658302575 62626801 277160121 796227395 692859509 752150715 359532055 477598379 973864799 457218847 683344729 547293479 14310635 405249187 970929117 25200259 909668959 231521689 371905809 673620949 398668169 919843351 721647461 796374135 715647937 49041665 226072915 991934221 858765029 780505339 580946017 237917317 186692185 816531321 965312533 803744529 621338127 465743793 885924611 488203569 967856505 172004259 555222981 203750053 921482391 333931801 660582911 529624445 668626161 256344739 313979735 104656649 145350291 696750231 105375363 588143849 404707093 238188057 807961661 736015873 937168019 95537677 427250759 372838779 492484277 729824295 240748137 376802253 210577319 540753883 265756023 833725363 744132387 110672239 598598219 272484143 257020261 296318181 89864393 755357841 475374643 272652051 608540375 19967339 621815773 692757133 685726059 299016603 503929911 813392053 930077567 964112961 261570465 893823667 36811541 539136719 455852031 504022135 943034933 623748597 571881409 590689723 477762547 928161969 423354591 304523005 55123817 702037319 59295699 328454277 242313403 294396995 271474855 838087525 705854991 282145657 527895015 882272885 377863325 384132359 298519979 270863701 429328281 652145231 646086287 235094893 249841995 621017855 577424571 154471661 416217081 865134089 405115613 181086671 1325815 654118059 551645993 155688655 443943841 405859179 196843105 106190459 185022037 844504849 667093707 867056159 139558785 967046581 957607217 472115411 267828373 359462321 545852909 130159227 548335373 312420009 777527773 732067005 356402025 180277899 988243815 108396039 39759415 57194123 617359223 188561047 866622725 234964515 824483461 915252583 116872559 426488859 401463185 247130435 902010905 203246971 330281759 743214011 906349995 426912411 877727293 38788645 224891863 782154261 392795521 647902885 452068953 238885839 86096397 109079327 159351281 293063155 440758403 588251207 810706285 246344695 438102547 173689491 390226075 791561623 138078067 179444547 820837207 841890263 871947233 565265761 287273605 296404483 994536483 802859709 175297293 620732591 8267657 20710637 557320417 315230905 149307111 924736595 131334141 866865219 984849821 272341271 833332577 687356345 64483471 961056299 228339227 322277073 998736175 462552643 554866745 224694665 915253359 448213219 480241111 558732065 927241169 942658387 699755033 800221479 789952601 48522145 186054183 256934511 161227157 494514087 678068275 37547543 535370907 557551621 470176377 668845697 783807245 733891875 659000379 831909979 270516237 930717747 10128577 373037465 238639947 889628713 964067423 863062645 844401661 642509513 259850097 599549557 749987809 24266649 166391125 140579175 650574909 883636459 79908729 214121565 561264353 236120791 749380687 725748915 323815201 176704573 50839117 914002189 518112989 475750853 91112187 246688857 560535419 617999583 330104289 827098827 541911783 775670467 882367375 623224543 134834331 420612467 760233633 966552663 770330771 67652277 205559995 486144835 512993875 754716443 257152389 82666229 674964975 789615867 737462705 338958091 468865783 178702201 549894139 243413605 20035471 648376187 753079333 256165941 332788057 943879855 266334711 719836907 124937349 65601169 220969543 867583301 129208521 296510305 428339179 217998151 278676579 950230309 922555081 77158205 459476251 916156589 869479625 434817723 280230717 825683093 317404893 777076127 199083679 773786169 872811521 670944523 920087457 842755267 493895223 73468523 457880103 467274277 615406983 694009463 445047971 993967637 966942471 977410087 145799433 337052947 131985357 992460225 710082517 117504873 490135551 837753811 720390417 862409253 736277957 549176877 127727947 452725793 769071185 76260591 424315541 97669887 161112801 558251387 657534867 118474787 794876849 983940479 95926375 729228735 891563793 508478959 475385793 870897613 668423759 198777863 121053143 439113995 292925641 273666121 226892649 790389249 535685853 385060229 170162873 994257921 365471993 78818765 187133081 622616611 502085263 798098301 148318557 169632327 196301079 653940793 31400421 28778005 926009109 536855025 243102359 872497149 291814161 446631893 382921825 962686009 244648609 605450081 275002295 816747973 869281627 56359261 571971995 985744239 933302757 320947923 930801297 499336387 743283943 875183639 320631721 975400729 469350421 194070471 298713973 453484181 77401895 729925573 582761241 913744157 930570465 810317373 338798903 683235169 815925259 914592421 86856959 52693977 30961787 143997113 239199529 538674629 609461767 862419325 424158959 20171825 898381205 303505983 694894361 366977255 52578829 497418639 669869303 361650053 883955555 435944525 247178591 177525351 355533199 60774555 783001517 439965113 323210133 743682791 330693321 761348711 658436221 663747299 45093919 993210157 369813085 798529679 775472809 387224971 65608011 163591467 428356067 252155591 228930669 516533829 861829843 612519153 963068651 176086707 838044423 818833891 72886521 418375567 438440855 773768767 768685775 39867711 437198369 461683817 206241201 791436397 182488009 292827539 330775273 473312527 519177281 499558583 934167239 596651359 712826555 462102931 794174889 89525989 672724727 776886705 213379311 290901355 190406717 560628063 421072899 11858947 16537177 4182199 403040087 171292687 24064161 277463705 609502057 28760111 244163317 839756205 494387637 986251087 660583611 318622565 613082059 306580901 226085345 887854325 68102203 309899693 755687901 501849185 173556637 889671467 168892589 106026863 561240983 696670251 923002839 487469747 407027665 200433153 658408297 29463679 644416767 891458635 797841659 719005177 438968281 731977707 657207979 314840071 591773219 341582861 240719901 989347417 356637607 23614761 411250563 530461287 642026807 633542647 252989071 937719411 183437739 551823485 837742465 515733635 368158953 470852871 158901793 426801001 446848217 190287659 233238715 334927805 958512239 365131971 122153255 871145181 83291811 579076339 645142977 143475189 789625209 866527017 692804209 522619123 165439227 124415513 668170149 434966927 423405115 206706877 782242643 434181193 688837713 104349533 420773369 833102699 938119011 860818049 461715869 731688965 440853403 316427265 853314253 733190893 908684327 398529015 621113761 370654663 8943175 496565193 574131895 734163447 719092281 57904417 360228405 906988977 836766791 805404405 775205063 688476907 160044999 260366465 32215717 843376229 264650769 34667593 606594703 386178217 871122823 853661463 178485961 338869509 62423699 431467267 75779617 585676947 870660265 312788585 648662765 427258163 248118081 842511083 477284367 853182607 152988383 682796149 773936105 691464467 275966477 239187005 751412073 595511035 261471837 409400257 946813705 954725189 7247719 750251969 810619845 830446265 721482193 349223755 528585253 641115881 67519045 106451123 139845939 732911917 132394611 592579735 421904265 334272933 255260181 267065561 966636101 138036793 694832111 595454887 21230605 857258905 815274699 573794419 875337229 955366463 544454265 347895037 126273791 300534121 267750103 547882565 91565085 897000479 165945541 327083417 123776561 773572659 886143791 362237839 200098439 733342013 62329861 650426625 546436087 437865885 162135361 985719315 763064285 245143417 132248551 134762291 680416545 158084037 737850113 961163285 712496433 418159415 510337697 834009781 341062915 55342417 536821983 566056533 593380373 692365657 185649379 381438597 925448557 45045601 517899217 822117911 731522715 12661055 852528607 879356455 664308915 96922007 853387589 164373787 579028821 684745421 418582343 764283805 878958503 423053333 507993903 945354147 659951445 800464997 83657551 45741417 554019225 810515837 584996865 681047667 809436205 282744551 360774311 918226061 965630555 42341107 495237291 131664075 543779311 473530295 556153985 971894923 634680385 673389591 411758243 436967535 797343535 265071799 520717969 609544037 658389021 55755529 666083287 194557855 27130107 874287175 869271815 991804827 224254783 495570031 469211833 653012253 804533991 406032203 791286933 839746099 495261049 253475689 210166847 252052525 866542853 863938851 269906029 555736235 314328863 761508761 345159639 884382351 204174311 519309749 155433539 694928647 173172483 717097251 345340277 75208327 749995679 762264413 58793029 579962825 78012533 30133925 781588363 179054805 91003073 77150979 666981163 831272435 33927497 952095045 864569611 208638651 734678107 57311237 569517089 141837063 528312271 208282787 950553957 470729213 527992321 341684807 145815261 465896711 744963801 444437217 599693455 815142619 790666949 935747625 750098317 859200115 4628925 657463969 138334453 350870551 179436091 597425807 143918313 895934033 936000071 340090117 750479247 245347573 530958961 791769305 396601885 900791839 889645773 63421359 902003149 941801269 602838523 600327405 906326751 142487011 980131873 355517123 700626335 319960347 291779053 668132649 713056095 727076891 235330963 396337375 826540409 927731559 374332885 401278575 183828559 202020811 595252471 152730921 477908045 754357083 743920583 76769315 421850339 632014965 380096157 957424961 262609291 853419707 6692951 485917223 571152585 552179739 946647897 755545417 51961127 692909511 946864787 667174621 448713783 689534783 140670075 72954851 83085717 702863683 55475729 566047013 4535263 886338273 288506327 729867313 105382849 648633967 788089055 78207073 329892591 66785927 199985597 514933207 794166563 527126285 134360977 333657719 177656093 753650223 441351937 723636467 130868649 814137185 995934523 626849221 464506009 151272543 608502003 953941035 52971463 549249067 263577963 168160559 875941911 153685013 37351271 282412703 748598383 161724079 654266935 780239381 826653381 199295189 379999407 361020401 279750931 399990957 437827629 882429531 746521177 960008865 583819163 688086595 390601635 489673831 2023011 45561441 164736259 454837243 301462397 877663287 526494357 82476705 901206119 351880461 521367415 478222309 606670377 694184689 509995733 991330459 999123023 831225275 750373093 330254303 958827503 523380751 471508443 511224855 727214761 527918675 453159679 951672303 905882531 922434999 779388823 318119769 219445387 744868147 754883575 569014931 745736343 208693897 499564153 308529955 748694917 527582015 464303743 723152593 175327899 145114535 158830965 257884339 963296679 337214935 21722571 957750311 736564737 99973811 304791037 389470159 841401735 279271135 549072267 200560793 846970269 883631055 507600897 653735097 441759283 62488249 172135409 891700393 876857025 997480351 667743735 496632369 456848705 350116421 179354033 433354585 391046973 906175297 750104269 379650425 563486401 447568615 93474299 20038699 892543843 382811739 775416821 191725139 30323011 512664705 383512705 442637601 610419719 784297741 633809253 683269 485737949 963085171 290418549 164584123 140525691 734737401 49831307 897563211 439339551 683884193 468229003 975262719 555716751 113221697 573988701 811377515 530755099 366591341 700547059 767084139 477526167 702461319 602147911 739489829 913024609 340154295 663498847 300775427 380416867 933024237 151639105 586256573 693419015 321655267 950348033 238632779 717835845 173354519 410485179 794247153 116693149 626386129 161455757 47648065 337369363 447439141 163736485 276129545 231063093 439595493 150008883 852723047 232492057 913694903 866841971 578125251 273039713 361118465 77461925 399915971 549211693 267465459 818074901 305890401 334737201 261493895 144057111 916473557 194939553 830616185 544268545 52251045 351307067 59331415 404883255 330979231 735566661 134241901 68251173 397256915 112821647 748444883 801761595 646395809 180247661 218904173 956215285 392938413 4394687 872323809 123216597 38138081 332072681 521677981 238188131 575673969 507588061 892838367 475412531 540130781 569238541 968890273 46849505 370443749 388050555 642949807 169471499 471533465 566193577 611671705 378513247 755531 100756139 571531445 937315213 586518935 344799249 795343655 189943889 217397347 946148607 358161875 932567661 261766105 315963927 821597037 414157481 348779887 543473289 255831659 24270041 302489825 198335753 742009869 909695191 658536243 311258329 309860189 200034183 589164977 193636031 567572523 889129425 43711727 410110469 383359501 440542631 871269321 722899335 357334885 423776517 92350053 762121885 801016923 19714285 277003055 273682483 163909089 279225959 195158489 237176755 720515243 358347655 273450593 237380119 813210685 64088169 341081099 913027803 855342559 734135851 250252899 386475779 381692831 465977339 49216063 232196643 713424727 28317705 280148665 641557323 633766823 869555345 340516917 722096159 753637623 945301205 674782049 563679681 326078073 139154461 791297583 138818017 771011873 376392895 65104607 497639861 180938419 451276049 415325425 83935483 443257013 489111161 936305715 430494969 449408889 596731997 115261371 938463615 55420183 278957877 447789795 263167969 320164463 635064183 227834961 72061439 305716777 565266597 272665839 342213439 150285749 254380621 57156339 58026381 25579083 298967805 343269079 272824419 118247917 408594259 571441251 688246715 806451297 275170029 867166113 423675167 634990137 729271673 797998565 976042139 267848139 584464297 485450955 160280519 405558843 975202869 226787129 426438849 459649135 282702559 130590297 684771629 612238869 900645749 426891937 635279675 949376681 583031493 187152589 278998177 838942315 990900139 152736993 974833053 801768801 387695115 29423913 829393399 807092315 73488845 511386427 981435385 80073205 867427813 200595183 381422975 838007179 392531275 859741037 236856547 75135561 50556417 450003489 999181835 452797467 852624917 407909309 151589737 424403645 113682581 777745729 699935471 544538797 805037727 518134509 225198367 31684661 813294161 89111887 41668605 329412195 516692953 370396221 945423895 135321105 24674921 173639121 995745157 225376993 318710073 830610799 846609637 385646135 841637003 951472837 193461851 635461 483717805 277603527 826581143 64250629 765915885 478201519 667879887 103345461 850678441 7518469 930300097 668673885 21887041 741580433 857017269 967082191 46369311 740404587 49245559 116792483 963860917 675033581 709613661 886830777 83377279 497294269 767516487 853533369 469321471 905491653 812306075 989763347 380458943 395375675 293426501 772873729 77845583 364332443 408315327 306535039 646472269 197534121 32409861 526964059 440343639 883628401 162329501 588207649 18407707 51159367 235666069 900002857 446018123 362073031 920736389 850083735 676929439 895768279 814831755 734697041 360060379 396494499 114557771 145967367 371780551 358529693 927051253 687558193 833550137 610502275 520655167 954274575 761126409 477072217 448735337 975507117 308722967 250813547 574543413 988921045 926661969 905093711 219002869 278219557 594591913 276429277 73547903 763070457 808889111 181512509 174994735 115691901 214416287 665200347 966561515 222477981 154585929 943386731 363370789 560835605 355468843 474490343 842840785 977119077 336684125 650754711 324444013 912090579 329880319 602521091 397881343 85437807 941425985 152501507 284266517 505553427 795228495 109807281 675057351 524551777 640559975 112759153 417912755 517556413 358340299 495257585 444179965 44676185 200382661 493503525 612362069 33059887 435821989 902416457 473482995 647783421 392419785 56152543 928961169 55361357 247308433 310185143 155957625 640581741 40856935 859146211 497254775 642456439 926412991 282819263 960883169 160517451 855444753 752239089 88366743 373111953 973056993 150659683 653843711 129671355 282327223 748082253 708968199 11311869 110488105 801040933 384288805 954707803 488822991 247724469 914131541 727904667 336851019 659848967 989206307 213594193 307204679 590544241 303623831 579406799 758813557 521289867 388331083 697926971 57150099 772687677 226888797 900151675 508718429 245645491 332442737 77808191 93535139 950903647 598099129 244474111 721204277 585449985 974010599 543582205 337005037 512937113 803464507 819542847 40008875 889615733 362958205 446467991 300481631 391624233 169248761 21430173 225970677 462687379 363918983 222219439 525255277 295045591 959042435 369631737 842873797 352502623 942874325 743902569 311607815 101739999 963280107 791626423 337504841 251285591 140914617 729048163 627489187 945180935 801066433 350493879 229357111 485296255 588385545 956517059 863286319 999595153 449542171 421406557 543468735 954030937 988626705 818219049 429447967 504613947 78677641 127715979 466052499 738912999 441753255 188556983 577919077 70426189 302684701 388012707 899374821 901342633 473091869 968918287 917127793 603164547 218508393 73693829 931342185 856883365 81349699 679949907 953627703 493993251 179557757 404782995 400059471 968971097 40605293 750274597 316920105 592921837 897533423 825690547 996959561 817862603 603030635 417355433 301819705 390892837 307666639 532609859 710603915 446009977 246498705 674920575 198457561 231004811 64725423 118408485 109331141 141906535 239184303 75975879 913153785 188975715 783640737 714930877 337155881 723702551 464355097 450479399 596751117 40018539 466629175 241051117 679595369 684029579 728464543 156209599 901133575 926008043 117424003 902296343 911052217 184094533 82572693 505810739 46938969 37681823 913075735 732373787 679869641 424526407 463321549 370962593 236711155 484325069 804041221 326322013 867653067 725712145 692972439 19385263 936038217 176401719 446955487 956646845 80445553 174716841 240598981 357344891 354190413 220531741 929852599 322816671 847374575 21781645 624811435 59737515 689867889 829319745 102262815 776551653 763036149 338819267 185818393 119267935 419345061 607999719 912176169 857190895 508621493 98799561 244894307 567935545 756330077 687706063 880748903 562594209 822709473 94703523 312781403 764651355 332755339 455167803 636149483 769871965 368429741 340007635 928802897 736201321 593806497 376451055 111988807 395855107 199143625 606671451 359287831 381120129 761122961 984770347 127761293 658609911 519301223 543221691 398970881 493120841 226604235 295897777 922364751 525565979 14129979 938527481 833043169 670954207 23421763 870046405 917934241 692910287 705486197 558095509 577221127 418143721 812780139 737329705 102526737 13460471 630387655 860984207 955867973 161707399 390991155 691334685 298265267 771897075 350773091 518233451 600177903 712345437 522592017 292314723 939164185 80943017 513029629 864939565 731618263 214004617 27332083 440378173 796612181 285577333 617000901 229198419 921000781 616554671 337712205 185003887 583834873 823788607 937095021 853955809 196831011 138941427 948968719 804752953 38756377 679928421 77554215 753890135 523666351 609470709 379564463 539435359 271625795 780641483 4201895 618368955 307574717 652269527 106255387 228521249 437921931 535008721 197409821 683501197 463692963 218839355 562112711 809914435 463723139 195644507 137377339 950674125 160006195 824149059 235202723 605390851 71538751 275708873 117516595 234405377 202076861 796738705 339606821 435959849 866927693 227371009 234821305 654007847 765441301 690161225 950640699 628481777 731424705 919534433 744396029 274294211 473541259 775017993 252461145 679289121 594337839 673792715 106915505 597721049 721065715 116879095 189523057 928367611 946078629 679962019 959956233 88118247 179080349 584472755 615941107 597117247 746485431 250673099 151824821 610047471 42282589 236195167 324596949 430545199 696149625 173547941 647246055 830142583 775777667 957769629 245329285 327036557 344872569 93773841 886553425 855928959 71456739 467719311 389867255 833803933 418691789 33731697 477571623 891425671 855725517 191343065 849682075 637752097 19473411 841249451 16966935 51936149 852919829 767383449 734530151 574370905 108284721 895719709 652132953 893160231 725675019 726002293 996535497 822762247 844666853 794362539 149910681 88018241 297823619 164630413 822727349 209554541 142343733 413613237 735873293 248987495 14880973 562642563 925070747 196419663 191581871 768966431 264915813 104283543 137066685 116631417 64641905 962339055 918872681 924889161 413597139 289558099 323191973 866237201 96273061 956151051 227192049 659194137 385334025 844179617 929178709 201414767 240869419 642413545 75575901 415247083 353364027 48569857 548409375 891201841 595450227 416861003 19757371 775731111 656584985 796216437 628207319 346612605 225365619 566358385 519638177 936227755 156957141 157922941 402396623 176379891 802314137 90850077 193724445 871842779 471963939 587988253 340355285 336866741 876540889 68161427 322936261 218293143 40700977 789078489 139503169 46687845 747728549 719926419 817947177 891884227 868756661 91297967 734898401 258767397 7898095 7116895 863322713 929835457 840813281 129901091 468600839 935689113 193274407 1163195 714711019 56864113 79831907 930561335 645979017 164198879 626233409 125138407 25386223 200050487 571898737 277368171 301395379 228186269 560162223 758380711 102731765 512471797 557035195 65951941 463360347 817948659 794125921 672940091 676172307 696123659 489846131 698014661 535845331 870402179 750018765 816312165 947155673 875205213 78108237 238980459 954177771 807441263 32362977 14286697 437839959 799474253 773608057 44879677 919877365 168441945 824945937 48121351 560419107 402101435 35848617 636883257 79746247 957893987 980890701 619616131 9425997 122417163 456736273 448797667 135216045 592690481 810537483 296435357 804317543 614476573 33728095 139809341 940865917 583814883 462894905 10617495 461958273 622201173 575884745 115864521 790678665 909958169 587476811 440615733 192233521 579294357 960575487 289385609 209589665 649145593 139144755 258100407 53788551 190144831 296695605 147076351 653660185 905822243 403523681 286330337 570598421 823525939 700979739 636997675 123655105 636866235 491038921 814659059 961683949 564888787 450697699 763559315 423194349 850456159 558435039 826421935 560695201 974541061 37672511 297055029 460909677 103424821 117641871 113635417 328168003 242277671 486766947 280641941 399542165 364860379 119340113 312027057 645085027 205209115 149229053 815468981 38123573 210750839 302057747 25647097 367450903 78134597 723907395 906621721 206963361 874812841 203164745 628714229 434365423 293565063 437441255 197925821 485382057 940080787 264470501 345636581 506198781 338132547 331368727 796843049 542557345 920475351 604946521 815497357 886189011 529361753 691811977 758954333 176976731 405110169 435713173 769596205 182751875 82594605 33974893 577869019 936110629 344168055 643385869 392324745 396089759 303589791 593646711 864440995 450813911 743290775 459329203 596303071 413946937 933000979 111860951 883479867 909927871 588096919 917234425 499943671 772167139 25126507 786575421 273781153 159403951 45314973 674555343 213428749 406353071 860113671 461945825 119756633 296399867 676204361 385598635 451112935 536832303 9026251 997110639 941311589 629871987 807280319 742999931 517416135 586185845 810837017 82468125 205840199 366507883 725076125 254175921 525344619 117550101 555134417 81374107 26627329 631962549 210158601 32515395 485619995 78025757 613118295 941957659 692280597 387550369 903987873 276135071 967123859 32905505 316791949 503924305 474408323 46401281 542893195 384000185 953700121 875124275 315544019 409849963 340793041 249115689 809178215 200591875 791366255 764583141 917453837 207044897 398202877 443959787 20759895 115637613 947193043 523017033 293369499 941994399 439217293 801462423 88429309 695981165 45412363 690061297 721480035 979298713 466112639 222046977 22741371 404389617 286739033 705070577 414442689 97609027 222045271 748764281 822423925 908530029 956051069 777772247 169514909 461039949 232914199 430845137 650624521 730732753 23760313 578094263 379501397 751764203 827319873 706117213 864187101 607093907 85625297 243210275 531374029 327379403 79079895 401344495 417901073 598220449 307688197 623033903 696349029 587211299 751979097 333830359 23557191 13420911 808220183 436936297 140053761 841760421 238178509 868877545 171787425 773667311 906784843 64086757 349935617 414738559 639601329 81695861 173590211 988582801 424382819 67444277 743761995 354129767 478138889 590915151 314991819 907600969 673895325 703131501 507344957 541788557 369538393 512224199 90527071 374264457 744429503 341375003 662658745 122054051 708212639 228391601 114757533 932645699 724271883 142710357 38304035 567687901 197039199 4549469 63825707 50845673 499191615 908909225 730105693 655553257 364554651 713140895 960952873 728581739 839739043 575307307 139888585 58081789 263163859 95777735 571493689 499267389 812646899 580664943 878606663 982964939 681988109 229562537 618046335 61880145 74211445 178973571 716498745 949717633 930630089 623883157 657083033 642511383 480550379 395757565 72190853 142813909 709474055 366962015 809080493 520427909 533450899 821052139 726338185 659351543 535526475 839784791 338846809 297192969 739091765 942494177 431245097 517497499 715221657 183481681 343951043 736017047 482705677 178455283 139445445 553340399 93612911 226693021 531650955 185290399 432850401 370118831 276535105 199818665 575624401 688090895 166957267 399828503 828659185 323584043 287357181 316289017 137177409 231046393 360786239 791321453 11076097 542612725 184919263 514109331 852435905 520364331 340647405 326445973 728303441 569257763 528737347 34983333 713462737 902913527 850842755 401491969 921492901 37188421 941037841 358080997 503958391 522887729 499355423 180435105 669412669 310742635 149095335 853004421 103584049 654968105 904055911 232663529 754988251 789533227 764029673 41815603 275432965 759723699 167968123 552713419 63018947 240382099 638496823 392730149 993464689 50545953 603387901 315152057 599805365 857006649 369972085 664298507 322414969 548896579 218646033 757963173 654288627 486136365 809599237 544934935 126028959 683161707 385977429 433094143 719717953 128073215 609721801 841248509 665219557 316976749 27968495 880293563 72373983 911490501 27332383 338551789 575357133 352342427 582614141 494169931 7191185 277456911 309480687 425744537 383708503 814484677 126632997 786979743 779562391 263956461 684718487 735715635 750369289 662658367 256609671 227141165 911506099 342705909 908808187 152008303 803166179 176257241 921718213 151567843 337495337 652762423 674083709 507856253 731797605 978435557 896199297 800151605 827321017 760724805 293208061 516355599 514794899 775025463 963602911 129269525 133824423 878148655 115221471 27147351 798192623 581394465 710964349 978075891 180242099 49817995 320845827 552952073 611470459 234503795 860320129 83011779 587730719 745175401 192539085 129080149 206890169 455455873 128235147 686898679 904428207 339439707 886390559 903089901 882871979 9394459 152657853 869272705 432041891 546699123 664359515 251906053 672255699 319661973 633543097 77978321 754897599 704586817 636810849 598512459 92966449 36650431 880996769 446945245 18958145 138871003 933448339 903626229 79039051 386793453 794752281 175310099 223102193 682297809 565070551 894775221 897531167 585764591 556985919 731437669 98265613 951707701 93969291 27148985 602558259 83553305 597101497 323047497 6680407 969721241 597441425 541494711 24787333 199280443 877282469 418976173 789989905 665374223 851552335 165973471 715067801 914662569 979114153 490521093 382851071 970778153 376277409 223138019 234651505 960096563 426038759 288465731 411601761 295219961 650873839 696210679 819227023 456341549 608003325 24689625 586453243 992586257 308778519 966382795 14779123 453102951 816954639 89363127 577990669 373329795 157479293 204693393 307360547 547929909 646836673 14829393 349824089 984966625 179105281 284738811 8798749 159939689 611069233 725464473 566943267 896792125 64073223 750541629 307183719 373658195 176399877 455356417 908602411 767918633 395258993 183411463 616391935 179311301 241726301 890912121 385530805 412883895 422770337 50771339 991900009 14043667 208679643 785016183 100080257 97763705 454637175 611865725 766993319 353309965 9978017 239224809 953496273 440355457 901673557 125117451 291452987 204999431 971205971 828853057 936517993 489379425 960889119 753418475 287452199 592764883 533379087 158540917 647662473 620930347 215825463 879075919 254628589 379435457 258469499 268415731 741325045 363721073 167083391 973764581 852141711 164158371 556554933 243453103 203461101 952607813 386970455 685767651 841200013 725891277 289181539 366237211 428466483 275020601 813752995 529090809 502041325 985773841 25365925 979291689 916343307 394329185 692309701 887058521 907893805 27978943 464915743 727681609 297771573 362618955 133514141 909909943 436855633 280412841 883471343 447473775 80694261 636800011 955448205 767718723 864519899 202408485 200426169 125496589 772160011 761084211 388909435 63212463 908450765 212005119 619995297 721769237 19964857 587576789 114494661 25835053 380204969 415628173 919569223 935366135 119313091 46943365 555385679 906550385 274973297 697143969 811077837 261531559 901178217 826139217 432726905 743376043 972797605 572447627 38548949 729685143 277943405 662662861 310663207 56076173 925203275 491850271 36488577 293206457 575706899 473740813 779427515 820758603 169021409 63939245 718876531 283502205 207229723 246813343 8333589 154150547 107167341 678320137 451475407 94527191 409632969 423460247 418604953 207153819 735819629 449792899 474747699 423784249 169131741 250894473 96428839 495258389 466079717 114477295 850280133 893960853 450677401 862050691 209547555 879217455 82307415 907655837 50928677 914273373 406102465 256248601 551583087 362072735 152143813 278371169 265272181 900024961 939663509 935082079 647000685 137091477 654587825 506346635 447283031 653983093 881222617 722590435 67577085 405529795 225490971 134744559 42686189 981119019 783748301 831648953 280925315 552426845 81184905 60159965 18874843 628638227 265227571 369110133 361016543 656724243 712320249 411510057 127377983 254955299 53262671 673370405 999093365 818474007 939201009 753705763 778177727 946795977 612042209 337892959 37348391 865113371 885872751 303323551 816033915 351718137 245738029 545795633 923360597 744838483 71371767 485531885 888226581 311348771 52786675 66465585 57616867 886757487 884057739 717971937 275307183 903497021 339094901 857758829 294418481 975322273 78515885 49796557 971023339 453078709 992746359 598870907 826696997 67131547 851399519 886242431 657949677 49998207 542727993 707221609 209457693 16123793 716595745 328947279 487268435 767272205 409040509 139451853 328484603 288008499 603530489 570071051 31185219 128353615 800714631 367194807 573368867 682850227 740658279 306373893 78076765 991952057 316504857 947872951 794310775 905597893 7037291 181930769 863914435 429535293 716296305 403346403 351197015 825637017 337599369 986752129 208215575 655003469 434926933 478625481 497527975 73120225 658569411 18892837 881718907 761940443 666900487 562762879 867201737 390501327 961857435 317117775 846642067 153739351 351095111 417678997 644141727 526495509 619189011 472430547 110146173 928826293 454914647 668310811 585040265 20362983 19014829 6593539 64723679 575358823 71994619 457147559 886157673 854234357 193686123 771999407 921805017 219898207 629243251 250125897 271431843 565045619 275028173 406211371 648544525 803044365 726367361 165934481 492908057 345809679 47432921 552491335 29494941 864062053 585214313 22683285 115162413 287600895 275160077 938461525 754536747 863395801 916503019 178401253 362888639 851788019 460706925 587576361 913412313 361649755 272540747 481059987 17450035 770855711 422262397 174209813 6451787 681245275 66525513 77987375 758077801 538228787 135686459 515975145 12396193 916389069 584340519 582012623 815675079 69815137 979169835 333348601 696796027 878751523 390248105 281292547 375309865 859825755 464502093 743544085 656887551 51470671 712175375 895835101 73473527 665829715 360781607 628986257 949363661 110529987 398680603 12999407 587234575 954873597 640408761 988478013 453153545 162678639 631026961 717389387 850271443 52583049 838646659 966080365 433337937 246004679 256414131 576844929 537962793 612689833 35081611 402465777 353223627 824113853 504215103 205062823 955842159 129868945 595489103 629101853 522982933 616591041 854865275 523387469 393235335 514356721 845048275 234309313 931718741 283503303 166151849 125721989 219568599 495536379 901788825 684231985 898324523 455663171 387246473 413308641 206043963 88982369 561040803 699832125 4604345 991512865 23355997 124136819 502925339 691954519 495571827 856858169 166293409 270797273 639508457 431434445 345953621 629106061 677595915 386100725 88185607 144676697 785031533 916313857 221084237 100248373 838109163 507441861 988247433 914381079 643541675 292554401 854175459 992734721 213173785 908011899 474173773 849252095 233205223 271171263 384806779 628498981 307365395 982381925 357498099 606349705 444014049 260407533 896274167 856746577 544065757 982939227 535209883 753945509 989008861 66216765 640740537 293860791 939868667 189779627 391366893 856595651 79849883 955897409 536515745 984179721 57858411 965615399 1060101 155058903 203154269 884182795 735598865 968307067 21726641 412506403 582657159 718206547 540765159 490594605 817719533 725326013 986893775 861325937 283273879 402337831 476649081 863533753 57072535 965303553 865313093 459765089 247206611 963590599 214716631 620551747 917842161 500458491 498815513 251580613 735600481 383475493 790058305 388529369 915299163 593939931 733699273 858896369 592648929 277767859 199828089 730987535 401719737 276242771 428927579 903304375 802849397 283092323 344557507 512515575 206575981 589253525 619905613 177808743 808174015 125389989 104217823 694552867 865329239 288004181 33768099 964793555 856349921 685831789 134021135 913134757 402427097 995391427 522824159 65841231 240140415 985626413 343652375 372446225 256992217 859345553 359382275 325434285 839526839 910517207 518393401 699493237 856762037 891826161 219110289 271606589 266873903 490975195 366054963 24375141 75590993 672478103 583496075 887011283 467169799 193119021 710976075 170351347 253381645 341326259 482305395 896899263 918542817 284640831 421154627 122132915 907964365 254632695 329114697 696280021 325547743 820259843 248035931 485410227 961509875 754613909 169181075 751988069 388489893 278380521 190712661 197663623 379023455 642811457 209331535 473271873 439738705 706602471 397317237 678723651 186997621 493078571 288671233 526095807 277239689 303204971 544786555 738016629 80421397 298645765 10049707 450442667 395891307 898674791 962839209 662647089 205396387 681195011 210398415 245157981 58812829 947539793 473120451 774901259 97486849 338399957 402162287 964279969 765008191 72110359 322410249 584724241 654038929 115053997 150487053 710461903 860612595 59726893 804810303 918258647 362306355 815136573 335059627 440868787 39484637 660090245 18970021 667754609 745083467 670158521 759581641 523163813 425216411 57696401 99195645 658418029 37111481 283775951 789651309 846830963 203794003 209296705 995601035 267231201 739760353 359115959 319889429 53535087 844357539 932568073 923998479 210448219 509568933 571073053 628805829 954213485 785676977 519823835 516386253 378469873 748509797 283598135 889547007 664348861 245502749 300431913 673464965 73660977 466040581 597405107 948010181 88826163 88348425 115028707 146676089 916130097 56544229 936711113 500453529 298098975 183104793 406255229 243184493 359255167 386250731 80776741 930499965 855209045 293072491 589968361 23311777 895669297 644872309 56732157 774632691 521442087 459144357 898808985 356378071 852075733 597754725 546045697 13702395 624685157 173021669 664578685 542221907 507692929 864608031 841532259 876359195 628847969 957758161 733339147 677574101 364521413 189880965 47309269 642377553 898501615 789857929 852104241 175956385 471164849 370356983 388653451 179638305 346303585 864854703 669638753 313531255 650372571 479323737 272064565 139378319 924223879 234876775 815081617 828210587 353941329 842898701 819658759 453980953 765056691 484838223 267528495 178638539 892178345 992659445 948464047 472519873 226732985 120902541 163967791 220996175 559017203 192991857 982962787 464271117 245076715 244375487 282805763 900668899 931796415 453642851 898567123 355975677 117090585 346466827 345236893 274943949 688161059 193849903 796633137 379377171 804090261 198641937 847150701 343625423 38877359 184998071 840016433 712426063 480532533 125708275 940757863 155251753 193448565 65944413 366729987 443874357 782732613 77436499 463353341 124070301 896182533 77810689 517035609 395305417 941583259 235090517 378453025 769382253 723746677 480553735 565747303 69884809 773228169 695195799 977655363 957904989 63481685 29641551 177936859 112670329 184781791 259493951 12061015 239817135 401132215 432173631 420618219 151626779 390907889 875538157 68814031 325994785 413912107 426584499 442202183 135174257 829034383 985835715 424160925 221438203 500038343 264213011 723713315 860333563 913366029 704793699 605826867 250767865 983878171 332392509 864774959 799497663 602534715 139851503 15722369 409098081 628194361 169787283 868606365 480237883 660025197 729979915 654045947 735446771 312693683 699221499 700130847 110433909 740811123 319494613 890682771 484890355 740209051 989514707 449327847 27074027 121498273 141087987 492432825 800522273 996932483 427385853 161363625 87216289 759418567 265471621 80926819 873544641 181742461 812784607 349846165 836580889 717004857 222639659 319604991 841196947 742672411 14339925 611815519 168098901 757394375 308545037 436307329 835092441 377414253 532591303 160745013 654112215 53312709 58564295 164180569 529969493 934595593 398584595 481918669 388768161 534662915 285289341 474241661 209889611 378469119 209865117 426016599 208516403 359491797 303614419 292531547 433953149 23020001 635933765 883246983 699997843 570703627 232949735 581574887 818471467 484094401 447370607 314341771 293499455 936574713 870338655 399957393 811571223 55647793 873134589 275616793 587929917 540895345 797662811 883795535 94661253 795148101 774410065 973755491 933117195 891834307 734694781 487286927 60721973 727758731 876687691 766895127 695906221 565469121 785768935 389964869 101138537 187101719 751533133 949286251 465703333 643595711 942881341 819148771 672920293 830530171 965349691 764455695 767001589 742727567 197403037 771860057 972305897 667635401 993548151 562915381 973487135 108680577 536739245 166993179 566535993 802598803 667779811 992994961 817416739 230216295 191056523 211848221 468130067 466222571 645304799 488528465 959021191 244295061 567667421 280162251 650623551 882831715 57128783 942323755 941758537 444117725 615657923 902162717 151451643 291995661 136404117 718214993 614683373 673577615 719697121 31926657 955868169 408515709 49118609 791210865 490236023 249801085 747235413 804479211 112210091 139832257 404980901 202915521 36490085 458607867 954802883 9591245 536618149 846423405 694626487 462603249 187155131 490865883 27264335 671380249 810793783 821518227 83738917 326733877 812837883 21227373 672743321 993462335 527306277 699937479 649654739 251301691 357994277 647921541 725960643 586316595 672275375 984879127 3190049 571990841 760511 419542131 722307183 407791719 263067801 133101335 407834099 468533985 273747913 245925899 32738495 656652493 485222947 209576409 868379563 150848353 809739203 844539549 695118421 431273429 415280143 149802737 309285417 564705391 147358385 14333179 415938389 914909045 482993823 120554349 672805841 307917883 228049685 385908859 482686557 780031003 388356759 322415841 285788547 170167159 583404019 232092393 611027603 645464249 553191225 507087201 13453475 146235221 221631689 768816797 654736279 227598021 462639173 846267259 597442835 645526409 957035417 383138403 351401355 633789997 574045693 549504579 516047669 27816003 711927017 696411539 551249681 120976229 549945125 590664525 167942121 866648631 614056889 77186553 213924171 485657951 701752061 373329575 591337619 953719443 136165257 518233069 608515037 583359885 263710535 737308903 64097043 92835085 245515359 158390331 154970341 639573471 156870727 180525339 318789581 155054549 399766201 369671739 382050569 627697353 372478653 6092505 789105059 58880415 137661339 776803771 290746729 255133501 546481131 454744623 813177333 616180121 488630409 569817869 381418919 143700653 426741141 537569715 651665063 49651065 371359105 638669061 948124133 107387145 787828221 689460851 489273369 73069423 954676487 600051443 67096261 762553541 80312289 592121861 410119473 516105775 283720731 471680683 260124523 118773459 571971719 456449655 228540749 712785127 769043523 690836095 128662389 534815397 506727345 514693727 393468495 627760461 869264255 577809215 12953865 941363757 681987487 544910027 493365403 107997587 182333007 428206653 640622279 906014171 15755539 711155537 43255059 846837863 136546231 416981837 535121873 21800099 874385233 267979265 584297751 834537727 410432315 101366465 852374473 306602999 87637017 684492139 274871947 644956939 839722713 457304425 701301969 706613191 136610221 285216933 623676369 499611837 625089301 756316311 880799117 40493191 709863121 126568765 592364491 623571657 549423857 609923615 404644635 55294761 773221573 209530697 763952089 508515935 664627183 93021779 874311969 182953247 76215629 626519897 765696477 959480625 955726351 966581763 878370751 109839963 925394089 146161791 322113595 156771697 36122071 467865217 942732695 193174861 942413213 978572875 398853589 158920659 413148741 522839457 710876619 258008809 651511143 274309331 796263437 454386055 839916255 350308277 474266109 272870049 122858447 382767271 437336771 869496383 814148003 66298253 32818767 754458727 102781713 538908887 901686363 265607213 432698133 393783933 139969893 149086891 953403379 115566841 992859573 594177541 148730423 667539029 678233695 35222627 667888565 344647965 926246967 87413495 326579851 409677673 139492061 147801853 706308635 348551637 635879869 725930677 570658323 327022729 657104645 669413483 118919013 554180659 128493231 766571891 554368849 471395593 547372919 404294947 850716759 48912841 967058923 629023711 536622917 77088953 661328215 727347731 607947825 566019751 611744979 385111855 538071925 892282861 265493059 208533167 924543669 883773283 420684109 531132693 979570143 765348725 480213089 162821865 520297511 24114957 392756663 53004735 871935239 741569189 153526351 659055409 422715719 784731447 418083571 570038755 77762545 445043533 704562995 980584061 386320727 602321395 546224743 181145777 72121883 540914113 416613037 638998075 398366235 745540051 667764207 763481051 681954697 120198865 67031775 72396383 66837973 425341417 901833203 468384149 278851259 937932753 32457835 160874329 397052227 380662215 711874897 689508495 175623863 732867729 859829365 345648159 947121067 860142975 772841837 171798011 663079165 223796581 333219483 163036191 294612175 686485411 996319783 355096971 805294477 828755741 140568323 59280205 453620975 158984517 890412003 122381683 839866605 873003789 107067981 108169241 61341901 474272759 74843011 423677539 665076251 440835335 176367513 996118393 136037291 243607499 120316009 198709133 875710107 831708507 785243279 129873627 227616077 646921043 372564085 67221669 8465519 255451867 423573835 127828531 928414197 175341985 792436745 980175833 898520601 597136091 10201713 732118515 593389667 972374087 988319241 42206687 315014299 416409387 417366821 500119819 170510297 110167895 585467351 566881257 654389623 491773983 437768965 968380145 892554777 585476451 48302933 567345573 504393389 15588489 87289399 9822611 369241447 453958013 914709219 349780809 400656579 804851129 508540763 601794403 541158533 968406841 449215845 766859653 847732919 541230979 60989331 278347095 223503025 311995045 408115773 356656523 737612815 554072119 85401217 685628125 577935793 981900885 92460875 653955343 203564233 514087591 125764679 653237737 195370951 377904475 316237553 498030145 631014249 485190695 103352713 335110893 321701299 342265673 626575381 69171667 139946225 514511497 996769127 612858075 532701879 555814963 45677077 780884727 937826531 304986141 478691201 309099299 538618519 795119783 350748373 783779681 56367937 130180023 653974013 568180667 166486419 173802937 460751541 440404289 233357963 187343015 664378747 574344463 565561965 997372667 980637849 671644489 996016071 538783423 325678365 278053399 723076713 331592321 756656611 278756013 346833011 965862997 435873415 766070339 888241993 45602521 297762419 248334619 910060693 16479797 741289431 884503939 967962955 146287895 200604845 245477577 540903595 589654965 650643379 316255307 800714549 679534799 8881009 552841321 594230201 680289447 8324921 408764813 517179977 103661583 965997091 201693481 842805057 694685531 390894095 534927545 310896197 606487403 694154917 500211903 925536069 892920485 550815829 907738563 616273777 378351095 683587417 726217051 874844743 496785365 354477741 328686877 68099209 37160769 326810911 960632239 51810119 266410175 953341499 530137017 439420627 859471199 876923739 817694959 358067147 143653301 876049565 605005577 486244881 174926559 151297517 78339787 967869905 5497733 492551161 196909309 189758593 874539223 391054649 714303349 954345439 967638407 32838383 40495625 648975595 805882069 802979361 326910879 462361843 918215561 386298015 377514271 453173387 118720239 79426053 266585725 606030993 934184925 468916911 688597937 190173991 811039155 348258505 545294271 384067771 70836055 941493057 970724271 535641855 542358071 913072333 260023703 927480819 743670599 558383347 987389327 516540119 640698889 840731895 559237815 150234427 285655425 848599785 494281277 926262255 475190079 338959525 474869331 557197331 801420887 184614087 270286641 837406219 991484007 994482617 22695451 529177217 604945559 102475947 45572187 122543467 276456087 136288919 467288641 606498563 946557849 526690107 423458859 614050001 952913245 671118881 97149817 738096799 879153451 734218647 843529109 579606401 64148175 686408119 71816435 648459475 90314143 263949665 908443659 515872059 518427005 409518911 218896993 769093539 247728073 537245373 100119421 63820865 347968631 620178197 253333493 722930577 15096571 291170889 834181217 488435031 818477395 715983905 813938785 269628831 877100293 862575403 25069477 910083517 442829857 477033409 932526809 727297359 561482811 674136833 365900987 747470135 82595185 653519319 482901773 412837539 131785069 929879025 796189081 963167237 408248409 73234631 425094449 612971035 404996077 482481307 830599853 515969257 466351721 901963123 991620595 638961853 37900687 390959649 677105389 211478311 531172273 509675837 244648585 861291527 294353573 18685479 599915461 92171903 810380487 767429125 833289379 787663869 5966335 483080907 810149165 86809397 871297211 261911087 607616117 929967905 984934129 116625585 342640533 486793737 378772767 831654043 544175789 913439861 983809355 99089149 373558253 976257597 880386051 987175087 952024193 192826235 916017505 907336015 572264361 809365909 110429693 823919687 402883491 141212725 495724035 755017673 905589945 548643409 606847005 63811019 239974465 530758437 664934019 759764749 290007955 671807285 145374709 118703129 21757201 992018251 5411511 543776317 824781093 426000257 671816087 51661971 552049475 189682221 72332523 853901053 122605795 902153975 448819093 837966623 165180553 483409353 685815799 803441003 695351999 323651547 148947713 168405531 35492119 568100005 314302759 427213869 578794795 806091501 197693803 118783081 573608349 948225983 227967059 580596323 786936087 924335471 500132585 319850351 887007565 247568027 387419081 330762669 655944695 449083173 243846155 317338889 620376537 414187835 290280539 44499507 402666941 342659663 682509283 569529759 205732213 859373601 969666909 111001233 470766809 724647857 112519171 594292751 383424719 358952013 910309535 138614251 310909505 956601995 778357373 876596157 483160863 320652101 205010037 152981989 105484131 125672095 796085219 811313289 14088721 20855561 827201455 477314205 703638579 793189937 503173959 296226007 761932763 924787737 842401697 136245433 620023075 818265603 762487867 115722121 919707949 447337337 264389661 282898777 980414243 803995987 211292881 908718081 481902905 357162667 158081907 732866591 821048743 750388711 548942747 685334559 978193329 257474993 454818933 779011885 708304033 558893569 309369771 267103813 667585225 538963725 616157815 78578983 803257475 196815967 74690197 576609113 365101873 902079937 936168777 361038123 915645501 450927689 612739175 189962423 788705307 387299663 119312703 766578911 672641349 162902395 109091253 316904007 674232123 292344761 499119403 104172129 224343433 987708475 75260817 447198823 792180929 29461887 466340957 113612887 216741245 626600777 178252173 573816315 154182495 948911527 241253031 721865697 496763921 621032937 8021435 513866341 913891399 177867695 801726557 647484579 728871099 671533019 978580141 678320005 413161773 505667483 711176785 67156155 596548457 189699427 723627383 55158717 153280577 705737197 345588179 420628173 803431565 595117889 184029095 183697395 852023349 130738599 376426679 34932733 558583581 894525111 959801169 950651781 961914939 494031947 319287117 592065003 408711817 251190153 795190023 287307351 96121351 481192411 621784679 740736697 951218369 748863479 985878493 210620617 936538057 340547287 983046491 534165769 783162937 614173379 651875169 662060991 934232115 109759045 317523445 757949437 246609889 902987569 691691943 628663963 42754679 860630435 664912523 282223927 890570031 449976577 154034497 537585981 887521353 419973879 949428207 530860251 415567889 949554807 737169219 139271689 253276633 166867135 512749937 846246791 829125371 978248275 769239355 780145631 533848537 726001151 231029989 896449121 498276063 177365463 675280189 790307875 59348349 863981113 34847387 394352905 686159149 589252807 57022429 946861239 984536181 51560815 375257447 404235169 851754459 765800803 775960105 601193469 267192051 330058275 479810713 569872587 647144791 466513007 830485431 914448085 593169833 521042261 788047877 902383017 90900627 833276715 551896213 814846115 891803593 215692939 165085179 810484191 515985157 128507737 995669335 292460359 920178951 401468355 83614031 372342155 467037851 740926269 547224337 826562341 751858579 966123907 498922323 680549203 993380299 661002647 744212817 402899231 888159265 475973321 749741013 250902615 862601601 859195307 408985645 895283349 412015583 622432025 234511661 25613881 246859061 15166265 839863859 564974443 772098179 329691253 82637353 89923867 157942997 596930179 225393273 93736961 220444735 940426591 622414363 448633759 231629015 618505293 713534093 554239293 971163585 864729817 730526935 102733033 209483305 448936407 474696837 228982909 519022143 460755557 33508525 420344983 984641085 771061989 882402545 656440227 16423273 798619139 156981873 388971727 698303753 281041333 536092385 763487507 908347761 39535161 549526389 581816369 363961083 500273935 201662955 905664943 677689609 312630789 651856777 817690591 258348807 394393647 842594333 5200599 644139877 285014251 315438847 827878779 683028127 420128987 835322893 282968689 416874037 802301677 338166443 896529191 446176691 228294485 827036363 228871897 837519275 108844685 360226271 436892039 995077305 351481437 102710247 920667895 715408507 89013965 797980267 348583353 872480927 534628661 315989367 376668201 396454869 334367535 825432737 237811555 966937817 996990369 614115851 651838545 369124715 602463157 828052823 8870053 201385303 686483937 892777651 269152211 896741231 232372959 667244505 464741409 24294031 521824439 369509125 386499985 653300373 546601395 447469565 235322105 573957487 289313639 513479953 146403053 886851597 480877487 783540245 50702031 437909867 214327729 378360679 798090183 966770057 490836183 259199729 540315077 790691443 828996569 443616541 808638595 894788411 873393071 592139237 547744895 750606077 866206879 992491459 433473537 470607319 43233077 9437377 517340189 551557623 599226693 701230955 289174951 162621069 83324653 960831447 393778239 83174101 719297935 571121831 137140049 988963599 492481239 546038781 126789387 365531017 759190973 182521479 222403943 805510545 972889465 172514943 558355233 193770115 633536145 546172577 271076551 844226243 982330323 846093109 348652453 759933623 567261007 891601669 478647507 414885335 759332709 884151403 635827253 756133783 13074361 91251269 2332017 536117375 208573493 696886521 873401079 869693717 524701709 141484403 673011967 194908909 949485249 870782507 95413897 349110691 909653265 241217569 678828639 220431829 414054925 859077593 749719569 230016049 350718471 724514913 309008119 470445159 876433307 62850639 570347311 606521907 327324335 694649029 509088419 585499223 370866541 506339429 649544709 675708827 151944523 489080927 617189323 460193235 538463237 471896425 81000245 409187547 313322143 868053697 210588493 808808337 415309925 649782061 902819811 77807331 712827883 313912829 130984077 900675777 165409805 42909701 362478509 103504679 222288625 352459941 103624555 588655895 113858307 106076353 936550073 690661273 66586101 298866635 444165195 406601409 853183429 520699573 430470567 528083115 111322039 271052545 475414543 487041141 1548119 458508721 234412953 872913741 82857339 21559385 4999705 551651171 361992509 22646793 983439409 872890611 613889281 227205733 853115465 406949695 809427317 175772815 992005521 465020303 833350283 164130359 48620801 773892153 811913347 711066259 195827291 534475667 123544797 511175521 934819623 763835139 356142441 203047399 430339507 930874865 179047735 282407925 516991511 853997263 516816295 716697311 384641335 100173337 323607389 318417541 716012473 408537937 317910339 36523597 427159309 157750271 904325519 47630883 712162923 56298679 750016187 600757633 826930645 203633685 278278799 789385313 130291985 23243703 483646741 216878669 45741745 28496203 89813409 519108947 469468429 613338499 331604431 15136005 552185667 729604375 931746949 255886215 424269887 222802377 285256429 480043131 811434413 624938343 125562239 387756049 106539785 246279871 396664561 944212479 405246099 411567791 657124173 381220483 670694993 217339669 356938461 751155557 634742037 787444191 552887607 776345327 189620085 280987135 536290867 204182269 94056147 317352557 800642809 161315305 211928665 949145899 530559221 943428505 202515443 123695687 351587547 295060095 462550365 966897871 287845797 584259215 815565077 598944737 910458777 718987845 652595045 251249563 992595267 420332971 227809115 469144619 601469561 595288911 890764755 631685315 876628821 844355395 881538153 268853403 847471419 668754987 976628359 71090167 345336281 396486697 586057309 223928607 297915939 559893997 364152293 484929385 952183635 865359789 778794973 801722411 282152433 425753129 285797581 766202827 237061317 374537123 39320583 978438321 379964903 780490477 198603427 676681295 51121585 155098715 947947649 132160033 784717257 303887053 19353929 174553769 303177241 927801001 587766635 279918193 734335447 321385693 459104033 181006089 524013695 708203485 182460777 7497231 436336341 938378923 632474891 844253219 451272165 5517259 589090713 919689199 820258819 451192907 132728427 141401381 355730379 420491971 859803039 146829185 777266467 328489553 995952417 702281669 584011319 602819481 506057631 651853499 852037753 911151563 891209105 916439091 130162599 378789279 346703929 754985483 249795781 273042511 844612253 181192481 558030623 397413027 798910093 159361125 270674763 939001323 534348709 325186499 655181857 233170173 484773953 345352505 330047435 647278901 646603917 181604809 827169967 227665275 100335991 687779965 223695495 953430331 731673013 90281317 731094347 925770607 652144845 511458975 719192643 773916051 163458051 18455371 696505591 976353965 691957607 981542035 556974143 390854219 77037269 544938153 196382005 82030469 913623785 183382985 374503485 602398201 577744909 658295093 366163461 379294411 684257651 426613303 140466305 681237421 151025167 856408865 39497197 988701649 756792741 901324875 46919115 682864887 264536509 641745691 369023979 308027495 749662373 730973945 65682271 133998573 84320887 839973977 147682691 995053279 658424851 422133171 769030909 672038685 99993123 987589771 328777401 97890829 185147411 318878315 353037033 974121373 710657821 344502243 521098251 366162243 194669379 214341521 992411619 877851901 850045005 440358165 696667261 887983697 33231561 690179097 124775213 511282509 271067409 556378961 963953551 566313353 443720771 46037365 713289353 382419747 41084235 623884873 154497863 297850815 967897559 338550165 88940603 182912399 255462751 381471279 702227493 821878853 880154661 452203759 33670405 609567265 281302575 623062967 74657577 849712363 930376783 130430065 573273639 466050799 359230749 114238479 955974615 210711045 904297977 945079695 928952675 878993545 115604489 223296239 434285619 421014115 931775809 175348793 883091195 631771137 893833559 115589251 652113083 305161559 939819211 199509733 735411123 421827303 721917927 100571009 647874675 425335479 554352571 388058753 75652301 424751953 781848863 59294489 315970781 810156751 678846897 295861377 334341639 716682703 75690203 505655549 195679739 185411191 826617039 497210583 514647977 90111347 450998147 768043871 869216845 796188923 785616311 279594483 709626991 628769231 132988917 241469683 437797593 812465201 871509387 919326409 780924831 935173365 397317523 22098153 164234527 306065003 865486831 882065099 836197625 110510453 19270211 263236851 564827935 738937977 918477569 471307755 857751233 243635301 759670371 895207749 783730525 205870511 465233767 342848155 857210807 914675541 651604693 322647183 346466011 604770269 222961729 613841355 26030367 598137431 563402495 568708611 38065435 639887191 435114289 173023471 111881913 258533373 55384765 654793555 132930591 10088175 566149209 185300985 969016519 589259609 793695351 493015219 365513321 2098675 216766555 326730075 26905613 250472957 958721291 947465427 396126459 431650363 329511513 638546437 624904139 983247355 661368285 429205733 166463831 222088725 178333687 167840619 463526851 299897829 599490253 884672667 144940925 361184339 128172883 582324095 838854713 13717197 6015553 726537769 923949041 509400649 378877203 981709491 116221421 45214789 738116885 124395583 89032119 984762311 492741719 823439351 633354275 213782623 660508849 10626063 928944205 322798369 38352577 933115073 658362011 469066669 797418739 766211917 486069687 167181097 436573299 818084607 287046551 230216001 285459517 636345895 486925431 494251823 215715857 70957347 649045467 410267821 312740213 296213843 89055119 950268165 432121017 904462371 465175719 801104387 132794871 373303811 192606337 354003711 87151121 885478253 143841727 93039575 62929323 140531685 804207949 258900975 945231929 636927221 164179299 465494839 762900207 615912751 41770105 795227429 197094865 326553389 571047509 782350263 733651623 748249233 873172739 835291251 995578879 629937413 549460441 319929193 925858357 834185021 307543663 907374637 230166117 650779123 29563823 596723935 393213817 990702823 553671361 504850213 164457761 552077797 659411993 676561707 129020119 79699391 183590007 280104619 61404887 671153487 313557979 288021985 188300591 837649527 701402773 759458963 394625195 862750497 867939895 922159887 838989797 14583873 515329693 366071085 691054653 446038737 838104811 588758857 332463835 728871121 976917647 242404171 199224751 577545293 89721405 319977377 600137841 81263703 385446129 932506689 618559395 631576585 69566703 875316651 128630667 782455685 587976899 730588129 267751227 376137463 508628545 802164085 335286667 320867215 316215173 603916411 45990425 948910727 531240437 657778067 68343377 552671779 219706171 378142435 872205921 669575341 559605839 86225689 564698177 148277111 87771753 112391273 552588465 301037019 929903631 459198869 136736827 528116797 370692109 567895265 194834479 907666691 725936247 561749275 477972899 55475619 745059755 917779611 148618875 539817879 848590155 18929727 979465307 712152927 103707461 162822251 812781495 350098311 398392523 389711887 441532101 84402593 177655131 520064929 42588805 753969479 824487355 553639967 757384129 419960091 565479667 267172881 918433287 693815241 552438619 123783299 902869683 406202113 299224973 825277451 46861793 570314877 414290797 817846217 46413179 844214531 109995305 818383459 250460721 786319193 720525365 262801159 75062397 381308243 808897611 528086633 235705245 997985483 522938483 916631499 914075 929000611 841922039 663677425 349597509 213302215 819825513 888061483 323561269 844648999 585407403 437348173 94654155 146070461 566159579 259531957 572174383 201255311 61278059 643421515 194268241 964936355 413643019 626783871 922288619 341119757 560721849 526108995 110327417 426974951 375758007 266519 984730953 431977811 549096853 126917891 100699751 383902077 823123751 434931859 396299181 49229205 346060421 157424861 188435897 305739223 451204631 491104641 923661559 144392579 186731145 162962341 85460629 211922917 558161357 815012599 700164491 790932815 698021409 111189165 38562203 484739611 500835081 948578947 190061643 369206189 42238033 774314437 819971053 753232747 307268879 181605947 282407575 352712139 67950749 981706559 863825709 183883079 54858143 981080239 820104789 272693087 774102275 419829743 296599933 737647009 325860603 514255087 132391393 731935387 941091847 61728551 845249921 988201705 319768039 958133905 920560163 795653677 407762603 366057143 201562199 307479059 143378341 765209509 294154361 814080843 37818993 869606641 445634469 178679953 9051123 132754107 266492613 57985445 614483289 77105833 874648459 573631059 438631703 897966825 934558573 725195119 704792041 950786865 516279979 699771855 709995475 323181503 18221901 955770199 529609503 507601497 45932071 991793139 856168805 258901839 528571853 746530963 580034689 824990837 898392481 794270771 208368533 370912297 890165963 251601619 233186829 200016981 180747579 820311169 898357407 87050595 513622187 22262347 18018375 738307915 365173657 141963597 252794185 715794061 315075661 316934057 752776241 966642989 884831707 847742859 528300243 123772857 639857431 230406691 13728077 655602759 426479521 681938605 178819841 47786359 885422309 549315435 575877533 585577839 22289681 323474085 153084947 294292189 572218911 468589487 732740003 663718903 268956877 337580003 388422861 644985211 987234211 883070885 984034399 42544047 413481459 784996701 740871279 188740963 48065747 39214717 578908503 333587179 833246247 839181441 285166779 149825319 141001621 310508009 99630729 686069883 442440077 270591809 230947317 622882777 216085063 494316061 685719673 799879603 238783171 507723795 38921437 73722635 156329419 18992071 892061227 656125027 407241455 518702053 133975221 829633743 878440839 864237087 105273117 484668127 790644657 450821163 798082369 542300597 122313047 320747729 317471059 719652345 693428011 30290135 603837123 113213139 620747683 439803923 504396109 264481535 164400639 269363803 355314681 27790265 853698377 374149267 747832849 868834249 50122065 260716967 8545321 407352953 398179245 639447433 167283487 632067749 230250175 431864367 593771797 97306533 480401583 651660961 911406711 453135461 706381423 524512229 189660413 861083215 680676533 515408913 651113119 454309981 313359617 603592507 302134947 636691465 823663259 465613449 986619541 29778525 324784535 736554273 769419081 141443813 120568265 437398843 72661469 461513401 282392531 103805197 248595635 645791607 424693277 693759449 85048441 992016963 222511575 140289773 509471523 633342669 820580345 586170519 617979115 715797579 96567877 654290227 503154521 106500219 594396739 732609573 907673653 528102051 379328065 308654293 354226839 605499539 468932695 583257525 789394905 196823967 56154985 638957377 779629215 988954535 270471709 216381179 798386135 662671377 53839843 883760747 907872693 315712713 748225523 331653671 309746357 341290313 707316303 984705733 95268507 874356107 694279869 859173355 745706353 849638681 647930319 161147713 476385935 690221567 30516189 240041337 710949777 526266837 28621829 440283471 160514393 828299961 882151219 849747077 349366035 873801807 396376851 218750691 860779317 471187143 766176035 761278269 361300091 398382039 148043677 848563311 185250025 63683517 361791117 140222553 921346251 926137919 666863811 33263845 235983797 280818605 130937045 424124677 986428805 495776221 365723173 780659125 759520093 218113321 892028381 456438519 458036907 480109949 157126633 670907091 754740769 554645317 453196805 575118431 39057085 475783285 687367855 894985393 963955397 183432079 269571121 262480879 833330881 945770647 96607641 15116353 981945479 108249627 569550275 149398233 564181557 166837299 581729867 774762227 458266415 704624509 311373979 541151441 271130399 498791965 750521059 498461883 916307705 602920643 475549981 717508615 48973309 703688101 538275335 609192971 851542699 134953857 399117865 41450797 415364051 861136031 387233495 901172181 911753607 367608779 251142947 183338871 852462627 419326299 428944627 390125963 597492045 227712047 931178989 224158867 852372719 387080877 905130113 915539229 970124351 590118849 409103593 947838135 826919609 418302437 764381731 27704063 402568991 494265877 199905015 370156181 152478337 257006807 568195831 665462819 535600945 309933369 592571259 211370331 962224589 58623955 388490913 775753721 177118775 862051779 212531797 450994879 268405403 799680941 176560453 521558647 187982959 225253057 972743657 235376369 428029809 682654645 638434179 30178315 232175777 515914697 457164569 770220709 796673357 414244799 377122939 494478761 374639113 138986729 616973637 811966217 919434163 989357083 447299539 505493697 71379053 927929015 955837009 533876179 570502821 152858525 288635309 457378121 499228173 199995457 446442655 950127923 735735973 963174295 168632487 844620207 259836333 625234205 80103695 577719261 952124597 91955161 729032677 753786599 454369933 683519321 864751365 761715969 366132309 634048693 352676107 66322019 37848177 523279243 913682017 493940817 619283339 803105023 254654009 251675155 666854809 504831681 686525831 475803647 731943125 827359241 356828175 507042411 895863495 844326033 239047513 583747261 571788601 482948001 663129011 529517661 716345663 965326601 583297847 920049599 903530549 532875295 597508295 900759899 806042305 870721727 849032967 111263925 976935885 942614609 7782249 126832983 899897231 558433475 84585253 651960273 256835203 101835147 235214397 849036993 665096301 502463141 404940409 573097927 642027865 418008477 583946855 786904717 508547739 80618107 804910689 94999495 713505233 515283161 553090949 275096109 682410461 714920149 877853887 57101187 61543405 387195411 252064189 202643 998513779 651229891 562545145 767798061 787643949 300662429 803950511 995715375 73720607 282130907 175839467 41034105 810883479 258980935 247312509 899720181 496643365 926856237 157468925 477808535 460615081 339796835 397093835 583901015 292131909 726855755 456774669 564852537 257455207 400331975 924993975 404911943 407454915 556260677 160674431 453529745 219543123 532111295 189594343 614489141 322446687 729360561 226037557 586473043 189304431 643884577 570334841 368621333 337246043 616820383 252994447 566818735 934683709 203398207 746830355 236675417 940974203 520361377 847452527 171553879 354033599 193660649 857495509 502290675 579293439 573845193 352339259 643164799 111722359 717860723 940339809 552827987 424614315 2409383 392879057 115026133 392498279 599917997 620378329 943535727 935972799 322937425 905382037 355932815 941654031 34534379 353129185 11453621 19327741 248314199 442890087 327350623 782555763 748019453 463677591 253964057 339429289 670880203 583813803 95864179 342639127 169273911 564388513 366325771 847955075 388119359 245943617 902571393 71800313 369027945 933648415 458610815 313511629 882378181 564149903 733958329 487016349 229680359 966811827 262914025 674713163 838202863 270960755 720011471 835040005 197319041 745489023 303497781 680473405 125719247 996972879 112578033 334117043 307040907 818274853 327359963 242832999 773086711 84370951 920922837 962049447 600479703 331207879 786780617 542216969 302737785 727101949 796586155 457554791 197631411 123829769 475165045 33821415 949296615 313814289 743696679 324150771 347093751 670049801 938496203 63987775 228166227 690704809 482528887 244080075 286543089 182860141 461751875 704067545 360090703 355414177 69221713 596339187 995318643 42629973 483683021 531724017 784110061 376203617 874833125 382659565 485930193 657141603 601523161 614698829 865311679 967987655 521860327 577853885 848377309 864544185 881869147 66013487 783649495 62777397 810872199 55083489 128799205 371578107 750233029 50832213 357408967 460732305 699676023 74108251 801439425 48684615 942296583 106249479 347397537 421257529 124531177 666844081 345360063 646656323 315687317 841360897 795368439 305683727 985266831 981829859 148294833 483183119 215653473 91001481 492640987 691311479 527557021 703783281 215049707 277097291 271784669 946884959 67035105 427115347 999582147 663187041 76333631 226079773 638842875 930911175 894662423 883607557 839193141 252528433 255274493 348088359 330428715 675010433 574738193 44363629 789101217 824386021 531383801 411578759 169267297 945925329 527132897 637482991 973627197 140228351 328211843 998973153 656388623 698098807 732774937 31576683 127199929 630265729 222210157 490077529 302486311 277492149 508711629 402191941 226283593 609422573 439888651 683746447 181460249 595956303 235160459 538665311 437412763 357389125 663133231 86392485 515774425 482796677 67950439 845515801 199199461 819193611 356571945 991267901 549828569 358516505 699879411 102063959 872172247 351534911 509065165 797642873 547201035 32100687 893387075 364795003 30733989 691658087 782585963 441636091 944141279 109189351 428079077 78720869 460547583 892461953 467385815 916967911 860582219 183941157 911354605 816285305 489956119 996580881 244862305 289385435 113755325 824354761 532500975 603387543 683833503 584232473 579676381 704025085 47495975 259976983 251034873 365011237 912311241 983523611 270794395 616505325 209266687 243045837 751825567 143284735 801689161 421724441 593674607 315861453 164235571 595405875 156985333 686736781 537799247 103260309 771143337 159022143 613117751 457690885 342032521 266656429 71306893 665887889 583695901 602127973 781304573 122774921 16256625 525416643 656942135 776283789 724398619 757802979 437907959 436497279 365887547 77990319 741231869 112005263 942686583 21059287 664463893 951399211 535179005 275277781 313256721 738972437 23662977 489933287 75008971 105151821 846436933 535388695 748417317 936499491 720921101 60058163 107181067 636175657 901197351 131389397 386263149 679094331 836576107 341737821 136385095 836856447 810385207 396679923 765689497 808978527 333669487 455232903 719549551 457067921 603505795 609538515 948700635 367631377 250041451 37830995 624812791 240120099 557880737 206110549 967511271 830212179 825504047 40294373 523934929 53587061 368974497 496014045 858435819 979286695 872083213 609755355 224932719 736950603 778233363 461786699 881933213 468997901 921441497 729156187 746325185 883698147 934269197 370666499 240739117 432969227 14443491 438211333 387296573 149241605 831787805 183434471 54234191 772062879 800768511 599099387 701400017 866003949 219811417 144672857 196215859 626613325 932262271 817967327 199734255 844476003 33146705 645846585 814825099 213116695 580262195 370975187 946050445 232319139 562327829 133651177 741655433 499583 545432173 85501307 562435353 77644147 474814267 970915151 438851553 564893831 583358721 734787829 517579655 3713043 44265425 147254985 360725185 253994929 319464769 779154919 940892233 636943431 314356589 110409017 462161377 190962943 614303229 787892337 365038929 537124943 160544543 20726533 334102381 593876721 684033161 500599093 904388879 983404269 833066105 216132361 133786651 973674125 755800245 954583381 700438647 18147685 250440075 75564205 346826009 280144721 102782675 39895667 427007739 592756087 565265643 356526031 601787423 553419075 751654839 67738801 704887949 508877159 960051113 271307987 131509081 149283041 621452979 36177075 39572381 132882421 62311255 222635163 171994493 611969327 742970263 426272665 595688223 774998627 545564677 594963079 106122171 641992623 324577975 983262469 871875717 474739829 75273289 767441529 417956293 765726305 741204707 120084247 26379713 221722219 932609843 464241367 82014157 249803211 56251247 666337911 394862917 806988039 213184597 432647295 806988935 78808301 123046955 643591233 86976001 360683405 62622657 539272405 916177187 4876103 33518955 275310617 587920233 862832575 369780233 156067769 777290067 80607967 290292223 815572003 161696111 821984219 824470077 500817807 599512395 339246643 63726395 293902589 836244611 824212137 624029683 950174519 800586171 601131591 545581807 598078413 213927835 999628133 434878267 685297175 701530581 807388317 741506927 389005363 324734501 6460885 842532519 448379917 965133643 92733239 810443147 660611153 433382933 978760761 906688841 994841467 787648593 518104727 402830999 315008201 165861339 678933333 994053299 874854213 132413335 224885183 310921827 894579903 634070637 51115113 850202359 847926989 330613327 260686383 68622659 219414993 682399545 977290039 635350183 140514291 161586219 150350317 53412361 173820453 290735667 461048323 537431765 4359965 322148703 657069943 502161925 340361307 80349131 632409485 437517075 333656871 658553499 694577619 618781449 242789781 759393527 674392857 575715699 2349945 760794897 433390719 239217001 98156917 609692453 201913447 639598215 4138481 387850357 621427071 329361397 622210589 966386249 506997689 716474209 585650929 782380277 882343765 872316929 849326639 980312789 812807123 647270291 125385055 689386823 425340675 689397599 602879183 418340793 787247093 843408689 870558873 852930717 809814537 644629599 600510363 265747049 284103139 987825353 710481025 823482533 892206189 771999699 907109561 483590359 824042461 824358767 471612795 444192661 488198319 549264655 829840073 966934901 625880229 945928885 681846889 439127581 462939599 589098469 537220333 133078325 778425215 243117229 372290221 965638511 106390353 172348069 386018503 179612039 558587435 223053801 137686567 441205567 586031415 595926051 210854011 633388639 526113517 276312445 236774203 564163005 75483653 674519983 343006375 920812591 673005187 493710071 202873545 614828443 325053625 912154395 895973489 239753705 418892853 168838251 514029109 592989195 260165845 868142779 307212663 374008573 662904255 870871147 255167841 773388481 812299871 193063777 802261471 670357343 44276585 323781643 576782509 338480621 760662999 121395805 424221769 879393153 865385967 47037657 826600701 25585729 981487165 139041667 568600535 118448213 64776855 342485737 478084531 255256815 583880471 353829667 572563501 511063371 350613793 201667277 659031727 79553963 42387555 328512017 592056169 720923225 514063313 678223257 970325 859355301 136576165 506332061 916244529 417422317 389403495 366446811 546340229 38988943 435128031 315280795 19708837 402040569 625861413 240005287 2112933 499360413 494139027 349587035 712725349 328490227 751615183 697285009 809257105 511760511 360726979 768788657 11531159 619819465 46197925 840196775 764156081 85064807 42170609 170985965 810509021 560974831 681002859 645577087 188942051 82759431 954330399 491040739 120130645 434229847 19815521 243341351 207871115 947507603 917772749 702741219 312333731 345131635 360090441 458305843 382239113 559620539 950868225 346901441 675540715 785705523 112690279 905149879 17477697 443537329 778449209 966377421 350443725 410149387 393167995 608427841 892361621 951456807 290234745 299673819 902687337 11981549 802038985 258471399 490221285 968911441 930521923 570545979 929822565 455033931 880855825 418528823 68662805 330161631 865963161 448998337 170784227 180252693 239678357 982888775 51729799 643618051 193988605 675170751 803051649 493290687 487800601 761494693 95184923 236702319 101957745 506661123 874749539 462723899 267951325 546798695 937943861 509400919 671991159 677039077 627376941 996627195 76600483 491046683 808555701 229066091 14382863 82451251 201166591 863189487 72059567 931061207 348781311 990328541 488696255 313452095 763185785 659044493 103778755 966480427 540865781 304272993 92571781 309749469 813165249 733594563 503179037 843630119 390561273 239480613 73822951 706704223 528886649 153993477 668464771 205727841 945887211 892844255 351430371 950315669 893714111 700102723 926515255 77125609 780610861 793867713 628941053 436406737 682882871 110005233 379475705 363706447 160571557 205805689 455383095 497145063 824648197 182088449 346026507 518293929 650042801 737654333 796628497 202827305 283621575 346621157 820527919 622083719 424457267 808583869 33664145 830063719 564882851 159729551 107426473 290484217 115978897 814764077 410745399 377719029 366671161 274570095 761897275 828219285 388069799 72869179 758626819 976608675 854157483 635178361 929069093 824285035 327633117 17536797 876820859 28323011 271359389 481817375 558905641 849259019 74163217 965950851 460867741 806824745 686937133 959381075 456885897 374839947 496973735 514983073 615480813 925263911 710899457 303991685 977169161 488274555 638533761 270914853 351693933 834233229 83048759 817211819 380414443 997892589 205300223 999500357 743998879 45945263 976569973 612935219 378867439 219221363 435986947 10521011 441536389 995906397 624131803 403967247 903822423 580520989 635034355 551281053 554540703 651772395 810067723 488977589 978697957 945222017 275741101 164250297 563137523 175075625 868607527 361717267 593366493 219134895 394100629 930220087 958158593 649641835 434902483 931463837 744387327 462963513 556855947 40385993 223683529 791985537 357731373 659631685 822980751 915497265 709612275 977223587 802920143 448930495 845011931 880259963 91502413 780826409 942023597 276902515 461850901 110519029 942130173 628278069 981026429 510316851 692614687 883559279 744709149 742125687 946907189 668389601 162566111 66574817 955335719 282254921 560911337 82147861 413224613 644434547 862443957 380194373 851630119 726263599 465490683 219908387 887623151 785648219 288212163 114028017 973807875 580361431 997834325 968918897 386733877 85240207 994672201 856633079 697110045 827288689 16107385 379821395 272350747 253217661 294204937 39503337 558083413 319214001 441605735 977446811 66824383 852758041 705765959 26338265 164773137 483260103 479426469 292604313 303651783 446950867 41712579 504153177 522457133 583027811 393358897 41605919 27357267 654143393 148606913 645570939 360934417 868787645 673664911 37872257 586184709 844431601 509708289 756007889 44592283 354637441 37515201 713519247 689660159 703369143 847041733 982661229 546710573 367626469 919642953 600917661 683068901 660545125 303782609 514587361 68340653 307307417 483803433 86993021 848761813 924610027 336693605 946294591 92628601 499507151 207066851 45091455 473677941 533704127 637793861 205788185 2678387 511362363 411857527 164885877 76907493 735613903 271699377 423368321 732362751 316105229 423852651 649650867 324210885 313593485 147744363 473505801 783922175 372146423 317926333 174219787 774509629 160126191 519440823 329874629 557565909 588499243 842535923 810692557 692690921 480467043 132418389 146086211 823995745 364072539 217501451 981788363 309612525 766447837 685937543 34034839 513137415 475818683 416663433 616216665 945107693 923272911 865479953 511764051 455769511 446468347 118763119 236348489 363362823 408376619 960084277 168873097 362987173 330406479 38684479 177900267 293212385 769321313 431623089 870835661 659452899 500570215 945918969 46362899 275741083 747092839 15523019 540768557 201425345 363759987 394816291 53443089 916342999 194079657 919843141 482409533 928096035 53311531 615425469 257796537 993188791 911065887 51490399 146923791 992194923 287193019 751283015 570227803 316368861 634097977 283240411 93403191 985115769 32184281 673568709 812209355 911942509 771211751 453233661 25476803 590401713 374322869 599625659 892751961 813601541 296736157 302885765 856979527 257979123 753905921 972098087 423492311 682114507 552903501 11392437 57873623 859602597 416587249 135207565 596372123 805507423 124235879 364949073 616321793 167759779 295747379 502767855 875394673 883379683 620028639 609080729 23875035 55770709 566116605 784585165 716697521 749058041 275752743 559684689 16801523 542740889 160918529 731747885 737461289 344734403 130719793 439046585 447030365 113261267 93611885 207223183 567392811 74938853 911864687 519602579 313448109 618581987 206110455 217697267 87725707 325936509 850956497 168774691 862729457 569793837 29677775 447616477 611514521 714816561 178591435 153480745 898006719 999851411 802843049 752033361 72565801 44418337 813614159 414508265 748954149 71622773 389423795 135740621 108519819 160324591 623432399 814588449 889186745 531709879 73836963 345334101 336860563 537211069 732581947 374447129 717814409 449321403 146728105 775531627 332090257 115256877 331560199 620285839 124049451 653604193 697053817 722110735 999973721 716824419 862187557 80276421 778962093 644352525 150970947 376042695 567878461 519460861 940249351 809057405 291801253 957460383 680206775 150107027 168175629 827176993 823811487 208899067 598329121 321619067 904546573 271284211 691107611 208115311 190578781 236520703 569380279 643090307 63565041 608024813 628015675 374005257 417415733 461284557 131242103 499732505 973433497 768121343 699712447 419400849 420634265 941120293 340970993 648415261 456774069 56692525 287366263 68471337 358085497 870297675 58054459 622002161 475801719 934653177 34666421 17657717 577909067 309189373 573305829 372278907 809481107 628669541 959210829 728504723 139428605 459623043 640231423 926552857 276868153 343178995 840787345 109681705 777314817 345847961 862704159 204982701 616723483 213516451 160338257 130078039 672781389 217634181 259335509 759732381 774283115 740638203 283738591 428959679 811318863 528080393 883601201 3885765 733274333 490296313 603481873 635460227 289844477 312666467 288211913 431781261 199083425 553133091 904262963 479694149 891493315 624182107 167151533 471356115 185572201 774845047 256373531 126004265 204450457 619334701 562495983 935339259 766260839 70540665 219644443 286086605 279462383 484012191 218057759 621504231 885718351 964459563 62878211 496779095 477228725 737539059 37590099 779311095 254418769 953600527 917960487 920372839 350569567 117427687 342300443 149267981 435024927 937616679 69250135 897165597 367450333 784682689 901357449 696381327 622176749 649513461 751804135 618041377 334822565 769749827 920659759 35010395 437290345 282193273 244720807 707140751 720114341 368153773 307338783 779550421 302822345 173967161 76361707 831822859 842145873 338400961 411214057 375943133 499710655 939109683 708095875 782832313 698037659 541014467 931574947 827070167 748718713 468160493 625329859 99695415 36023029 569665651 243846877 870391459 349753773 980429413 716199291 432087211 332278607 141924373 407262121 800613031 962483595 773328927 358441983 215649973 440465437 917196903 347327385 778044097 933667269 566216989 529531167 82313591 814340945 371680689 257300415 190580051 465056399 390474209 582097967 804406163 881989467 209885359 311089581 695725377 360165017 607711083 408549119 89289261 117431089 347827367 182255989 393988589 506608405 267800897 370561507 313367267 731057217 839530331 671878057 867629879 256550327 824388961 509489579 593194971 60896895 818440459 908243291 409564037 280174765 114598993 893609899 805653429 704891997 41409657 940884509 551200691 245403309 199709455 270550965 603867027 3205835 208046311 347156993 176635177 76868839 417612063 165255705 616590615 228841789 723002907 457151897 47012293 649935631 452933251 34141609 937455203 387282853 376148561 827543543 70327273 538983765 810894781 842638777 351772697 152134773 544043599 482800301 814773883 186116715 236221391 883216923 918894941 984564893 970335573 221381069 519026905 479874947 394232379 712337695 336739277 89698195 588139301 595188713 804644581 113663567 638259459 242476439 636298639 903162181 224761859 438323221 921862403 473355523 864554663 618841303 353999683 531096615 33548977 675498975 222707733 337650767 514701355 474266289 604435467 401064745 49473133 434674011 715569533 260806503 946612499 918646133 615301513 360751039 351912703 751938843 861570331 271482873 885904733 367109109 97621985 477631453 886917795 561825841 630793555 996202555 269647245 728101765 273767857 331171823 426036255 425542193 645737733 178044125 8730277 300490231 124910111 57116397 878265011 290848553 480728469 289889555 209810471 248890779 812427977 362325063 298056739 444936621 54888165 178819723 335763477 355260229 831551957 873037293 777946287 503374543 378426709 800716667 435886319 609745989 281140707 507814995 472674075 197220387 268391369 109083283 771673531 314539631 178773013 101236841 248180901 940839863 463232419 285257479 579545079 184704531 239967247 756237733 684182805 96872991 555615939 586688645 14052265 352043011 67010543 365411829 721855655 999750255 558454157 706992451 741454159 504152469 70693979 495100365 476766753 799158837 864710881 271603187 243491821 765435541 425036403 475034143 882847941 242099077 499954725 1412547 522947845 448361307 626915799 897627739 309733459 534497523 331814197 190540393 435975321 801149107 876874413 838238327 25889037 837844877 72393337 181607445 736898859 920223221 929569687 838341857 695395253 564151527 819678927 415902073 295991739 716501229 465331123 533023883 287280527 888234261 999336859 560167369 321448911 168367091 762962597 657101035 111936605 680327333 676212413 264187061 81860453 114917333 4535441 391723503 891956319 620044973 697679001 331419759 462623491 215559141 754315799 328394765 188162135 445529275 143731729 1465257 500472743 486204407 729213017 32459825 120416647 306680549 538170501 849101719 391010517 63126619 915737337 608640467 806061491 354047929 399972313 708579817 306223247 709629413 411175961 236493025 853054237 993020493 472593007 794937041 529266519 419769317 29449307 614074833 410752131 869155887 943414055 183984385 459526191 564991535 95247073 280707473 57285419 671736693 122391397 273732525 18100375 900882709 923584335 821625747 261452503 164292269 418440969 15346309 466215061 773220199 979699653 64867789 16879559 33169133 855248503 337211835 156792999 528097911 403217123 775764141 180281533 357353411 447942801 415524867 28255187 86256153 137290191 247704359 217895677 472622917 54996153 315638925 465679255 578828959 882170923 42717869 909463623 146122755 339029199 815124747 628842487 588896473 782721557 514293039 406733021 385914125 128720693 559216047 165384053 63523865 226854961 28208419 649685379 373098489 7419089 622577453 914546451 164401715 595832227 802824567 91780985 11898071 326728961 134889139 642009683 713829241 96556041 913007519 541608067 697112119 172606887 562703351 440867639 236569787 116998537 835975563 70452449 620135215 147840297 453572395 831646271 409551691 169512131 153417649 984743765 471504719 770816613 34296573 939454065 174777597 373881561 636306687 527584035 377557671 642779325 465928355 527217995 144533539 79335279 374070505 566862347 861999565 482077205 594835917 676359377 383780237 851872419 470130015 810293841 159245777 687084751 433616047 823148933 573268623 238103835 104047319 557502133 645349957 244889549 303312377 350035563 430392057 738058741 765478463 64654457 321390395 305761903 232056029 148501759 997552927 224311511 131262731 918269793 100952899 847625367 743078669 333777225 588227025 492939233 685377325 418394029 144217971 516096683 809560251 733171657 418719331 372922293 827050773 952909857 777282907 209269641 621404827 606405505 105122469 403972981 928627639 404113917 758633229 690756245 813102557 50993649 243802347 870030021 652722821 603705603 893911835 210225071 444945459 486908701 428229637 690160579 313659249 150580087 734674071 736411963 547310545 13116297 998809415 616344853 346766573 302058521 333038355 309750809 750824807 417060915 718508673 49739739 310259689 112242731 589088415 199701935 425810471 20797087 522428935 926134711 302167513 899916145 686594001 348937691 466085827 539846863 945076393 501603019 847016623 720472619 551570361 509290239 235148911 561481541 7713211 567739833 305922269 259581725 227609065 869719551 82728667 255687427 448827661 388419491 573104979 489559943 894279795 734313021 283944505 134621577 25879795 307804717 216151941 522457389 566253545 816478619 638764091 679912669 85022269 922637685 926357349 573225037 100030813 952251513 541823765 412253565 466490431 385243169 743210341 846374831 933664353 914593209 255421303 24695917 297312459 233193297 576463989 843056271 899275015 260608705 248032915 365326641 78571057 720891559 329298441 652802739 279102433 132980591 365891611 10002887 198876995 419039813 846174739 189388893 370811907 574332965 313126979 56295091 991724885 867988175 330905861 958802507 120538363 883834313 260992443 944704757 413277241 769871715 755902417 67838405 11948253 635540921 195472821 500776979 566701117 66229671 529067495 745530503 125102139 553741271 141360101 432666125 776576569 375735227 782993211 808769751 412879399 344694919 590679675 20394851 202743163 207484993 713138239 507892085 143475251 173908139 150038057 196100891 997126615 540729947 231460835 419805605 292509297 407746469 331621409 488176819 359026077 434768811 43737501 747351335 203455861 942412117 511453719 504052783 995860383 650100819 371501915 234736191 725765197 988059679 927542331 734289425 210173745 72862967 575690129 10768813 199362189 83505891 802659135 548199771 674569765 688665269 889988911 802945715 2247751 674300677 188112469 784078735 867453131 62655283 294676907 883207445 769917965 439329895 805177649 74857135 716277751 581406865 801332979 826548499 699589363 332602729 819191299 35284797 872535289 418602353 690808187 381273967 119360647 601761519 484327293 252978233 291175843 329122037 960660019 656490861 385486045 423202395 854381777 309740841 917045323 415855295 365664401 854211789 711244425 743532941 817272243 37587979 118243261 343160051 995180163 887577043 872736921 214639849 726555219 722854243 586407249 522462255 938800253 467173183 512588961 717113167 269195619 2072115 256462035 446561177 478132081 391956565 656740533 129805349 345997847 737870845 576862361 4530897 55231183 97077459 982955363 971237703 757574687 544507587 727169397 143578105 43339917 912815361 876223423 78690077 997510061 480237831 670434999 232516531 323607321 24543643 159851357 565609093 523661683 681578443 626772019 605922593 758646119 755752935 582604363 27887843 926565541 460920975 998951995 138938343 264640743 628343719 113024287 369008663 354374385 587083609 534002589 97339427 113357199 928896793 854403303 340429957 21582991 225070247 558653361 933666427 742228941 524342531 265774393 466158351 539673643 579450237 31498821 246222351 132547221 431917223 560174115 357508885 275986683 247846237 381745579 704640129 842010455 957004741 90644539 572024443 982405805 553465417 255577271 924726771 785150473 753658015 209265295 657144227 559387513 626940099 881992889 337296647 302794009 566098425 94782645 532241773 329829899 8631245 515491205 635149025 810247547 331535123 457480379 676129085 292957081 919825641 635205485 803924255 819660959 506619825 469241655 686374643 119029715 426222103 938407233 895679463 888354939 613666323 69342519 90609907 28107499 17826269 931850835 485177305 13533053 23129851 271436881 907232799 829531541 877201721 152852599 902338583 985648793 175272365 141143699 495443929 30905599 659332527 107111933 346009155 827084097 967246313 414908051 177311745 330633439 352756545 829175225 448483967 458395493 803572721 746572129 457112825 142468967 912669809 633143549 621347695 397322619 348670089 326031501 724683687 781572933 68379201 762817945 852378161 800633969 25929969 330630189 733209961 102476207 254702131 108392417 547757675 819698107 780814573 610232529 862056993 77387349 881320009 325324965 102812733 216216905 425381565 731875209 802755637 387005801 396153091 286275383 884481609 164707217 460763427 348645867 132763779 881054623 571360103 402697579 250252721 119764865 516375395 1503239 29503597 386508839 960859891 276657555 180093975 162203277 790421821 552244847 48449495 171200691 520263085 448423039 408914335 830755493 17677557 256570419 580517667 999932279 525779987 911979907 79467751 389139519 386152779 959870185 686586675 26624801 153894185 531208815 741915413 514974793 95549313 772374177 48804199 380069095 362175089 975888279 103094217 695987255 386169691 726492653 156850593 500912249 156044781 574830539 309881637 530336763 643470617 243652063 375072839 424320523 518584861 220472413 991610315 135700485 738123135 506589703 462139447 356051021 951393287 744553763 691392221 29102921 875570123 408457339 877593301 686396017 453109545 24847977 219829757 552233273 774518725 464794571 120002561 160633897 163254153 257640199 733228879 495927239 520660905 881254153 434449951 871631785 211452325 729107529 956364657 508922725 768329279 754312647 67783183 519437215 538408065 338653191 240283017 941553923 806325443 734303255 364714295 276553537 871972767 40417423 812274999 70469653 264831227 260022411 333657973 111676481 658700545 157418163 600333981 760855181 278589735 303681077 580745003 373104333 231875881 179873735 775522909 312523997 915167243 301987495 79643965 804286363 948003097 483641243 296383899 40426485 184813799 883056627 208322317 529036251 600744017 435367043 846201845 752383305 638141821 202625707 555994749 74671937 185419479 414911823 38963601 855346891 780424209 84418529 530898925 313158651 566731561 277111635 104955151 864021741 766998371 423186727 451128383 345452735 815536205 568840801 383192977 939830943 738470583 556877455 178752217 15039 450999233 40089801 663813305 928197463 873004493 425306795 409903513 760345513 775730569 321469277 564784809 925280513 717470951 519149197 222262497 161985459 319958567 7367025 740809219 707806229 427638985 681881543 480122263 134487437 556814493 826487509 674959851 211312515 285140147 613961835 253670169 391527529 400982123 633068509 643238399 791825595 535351401 381651723 612014921 99400699 93510551 122900827 489709669 737698737 83872811 944919737 889352843 37302385 676335265 653732511 439292861 519246039 301840571 274069257 387212225 728259713 379318921 535112571 100137769 892201245 94799709 452480009 640871501 904745821 761843923 739465285 587779659 516478457 774587345 648418381 725384207 477191347 618993539 797465033 677391175 258717017 59245659 676355815 369217387 698151609 185829655 86461789 361654459 473973169 270634427 82852201 303972673 316429343 934577811 143710419 386708941 784854001 980685107 345425383 265370869 607069209 987157367 754536059 125085723 1494927 92500615 495853807 35692649 670145621 651226057 60687657 529451979 799741561 273379831 174198677 642482685 445306633 748463625 439548461 282942333 607243043 395471429 470181739 589977749 952837863 957602615 786658137 692306517 995130495 792682165 965257861 739747731 883920669 536657625 79982849 620056049 216907261 729221895 549277041 547066071 783077217 241582829 164435959 481545333 504999313 640675199 20684099 553921733 356429283 989041655 508906891 288269957 520982445 164981981 642586511 432111165 510276437 326314235 87308689 801057601 225610051 384935523 928748131 751820453 937507051 246452087 98512473 340804681 637848005 103410133 768223827 878477273 3614803 976301421 332004023 239980995 477554979 861951347 119092339 564385345 825500099 750609251 619983355 532345937 671734225 938793473 361576017 662021819 683806189 566298713 822653433 934812433 149261505 891981503 992008707 867173035 448610815 742644687 869997313 60915623 984117603 876749679 390678039 145972721 270153135 471581131 854547943 445604919 807686573 791577685 397992353 694653169 979969837 651176139 936445949 172847969 918924301 174089265 110186037 103261837 786745133 607734739 5313297 809282119 484514167 965717063 413343713 512789029 113626845 713016935 595665275 858755723 611176795 944906839 320156475 742470557 987118579 125104261 827782665 383755343 867608495 148391587 221674321 703380823 336794271 455432367 896642061 243544629 713390305 18281967 994414521 50979379 419238293 689051627 141148507 895384415 269511653 250715515 191694465 543356821 848974339 318526905 695974467 947800945 89158701 311881993 270897727 70244189 322018719 179981339 800075161 806923403 830365609 461599965 764781571 273197551 881822875 11410833 842862767 994722125 676661965 547622841 127025501 478351405 358873509 834571551 709264725 273536733 976346763 652208859 556906083 134525305 486027251 245957193 271790557 224664797 966537301 151494153 483671971 317707699 701674805 318378765 26773275 623620971 634944029 673243525 580636723 338396477 326931357 454384623 907029601 197459755 496028755 988973583 22165411 365646077 868275167 369190385 569365887 968191809 105889771 150053609 937925635 355234385 835708203 899493523 893938375 512502605 797481559 601279959 182506473 853249307 225875763 874319835 207789839 400466799 65860999 524289817 698362981 360523201 735043113 771740745 821953443 205658701 975375857 928289649 76808457 946706721 812903617 725632221 915090521 899772167 271897219 368324643 626025445 526150301 95095851 212900637 35140483 936083265 174884017 333459695 30173071 664253977 628790297 227242247 284551665 233936153 226869869 205299225 580187415 276126711 282843325 816732447 445157623 906604341 722031143 263031903 516143631 579747097 12950731 177276007 336689253 600032435 535517907 189210889 948745863 538937055 849641331 433160801 8424589 346300729 770652643 9298901 854273813 448438059 499813991 505317647 35991109 231358695 530171721 753681157 598501577 691894883 112984027 63497971 540010713 616063583 475999093 338347355 596622133 681411429 17351293 8161037 966280737 14250691 698509661 890568219 786738795 305069973 261629827 228236003 909430889 186651575 74391151 480060167 72602365 672045267 984659103 368873587 265359497 80169305 721778333 385560157 83543035 134016899 684607487 821770305 191983053 708272719 706429533 502353123 797490939 688835205 48625753 155435343 82262029 306081721 290944669 132491227 866089485 926251327 151962845 654475553 694637461 45163321 727151825 731883269 389990851 23932303 147794237 803204019 117820733 62488305 79831787 520356003 548284207 581968855 489983917 331433357 176701523 190460291 432257373 312845177 137432035 774672123 995037405 206404527 481748137 459678225 160899863 953273543 185669105 462023773 938222591 344831387 913672339 683903551 179662733 766162511 54965227 402349535 139951813 691995985 323616993 901882923 769579697 14121045 619509475 218319841 752722787 816676183 516911335 892643451 216686325 167897497 335082603 796217157 685047433 803871403 517023349 164997199 833063753 734891359 628256405 191451505 216897897 883318481 237655519 6998857 903450915 53908327 102224883 89741379 955570103 871349707 749758455 568839563 943166065 975012339 952054679 102335517 832873889 141244955 963235341 63239097 179748261 746666951 645080851 964006373 292550109 193955523 787667955 740495601 939645877 852163107 999800443 308431097 139865501 834449221 152347133 623726297 102409231 897605323 893721181 497280315 58567823 861986209 442231549 148613521 423331495 385606143 727843277 318686479 38730473 81630301 978038851 487444923 312474095 780697729 748338781 598133079 617353051 57448567 275538337 65751161 489492697 745799573 89771551 886011765 539236119 798006645 174065515 975313261 852504277 814158587 279796645 232100681 26194385 583730005 465124467 814519993 63526359 307347189 190186499 953550647 730318777 463799963 526838281 914144513 7972433 191340103 369942215 477160479 92397441 640655945 427645441 397478755 825666869 352530483 928569861 690085221 942859355 688876001 846221483 586492293 483730931 447522423 368334415 102154987 219993595 837319523 835268825 637656967 719934079 523951449 855383735 383139601 228842641 185101653 22114785 223377419 867006283 1760155 737382609 948150971 494504655 17905847 923596687 331390003 617052489 756926077 200702123 804168523 248165865 181682441 363176505 245640609 7256041 101389761 919106265 770369697 887033741 450043471 630725297 978061433 425689887 998027179 855990383 445620513 924072945 201252621 847137351 582996825 599085917 197735163 418377467 399446443 872030663 49434177 424611535 955972455 877424533 453704947 772437649 233985957 248041021 808628079 424297113 912546883 431982905 450863447 41506757 992710379 459969801 445127321 766644345 476426767 349966393 339746407 660125093 704654309 881293403 919143999 406455743 209086829 987713801 985576679 772189639 854840177 302927077 544477543 242434623 606128511 852500123 327393303 700944953 529239283 25381851 627413393 834599497 261301737 349588575 958541241 627177871 380791371 661286125 739914941 741888177 695656137 620253771 207113745 897992925 849388509 139722317 172667247 970298057 597935301 830641357 843958239 493986737 936875659 355090605 60377259 219131487 848248573 222777049 554543719 575165985 382164405 799545153 427528175 562773963 557051155 907300319 21240681 940176571 830973247 210411449 795848511 973812699 291211049 897606101 43997991 409917589 116776331 709322823 45784861 257758689 108707297 736407849 384710757 336407869 277249401 754933149 464574603 426127793 641119 720337615 977509475 436349129 117634157 378143983 155926281 3179419 289265217 830111801 130012387 559080903 95052871 649563629 212096157 958854771 151333805 572835671 938668073 231645517 753946987 967753417 639248837 698173835 867580227 274592413 820740853 66113771 553299643 503055927 35326343 92206771 301487653 250346749 790642827 774248113 500822937 475938663 107366241 926301245 617337845 818687977 185570987 5434165 830308837 500093963 969366359 254488317 279960277 713548115 74388889 133783941 258530305 599938645 932835307 444575813 526386537 290872235 659007507 764124983 218096339 459353847 242733087 614085093 287680207 77589477 106876257 491956827 677426105 736366885 818278261 797098031 144560813 481203059 466388799 449629569 992447637 289289359 145277933 710339575 907703587 203097159 396037619 447436735 732573133 172763497 991367181 757698191 279453395 128689873 386586175 32769189 216355391 234518625 717787347 564863431 182696671 789188101 466176867 190431301 821656397 300831917 585829829 207827443 25960681 84958549 518998305 464996655 661478107 675703293 711957729 190708195 21053717 753897139 261657019 772348537 761000267 316003461 908289195 787108585 31072769 94054543 816844789 354146227 182720895 744129781 514882597 462355675 807246035 920443869 758853393 572628719 489541335 537659005 853198545 277733381 908316971 425843727 21531853 455287999 27604789 746205397 57365681 433893695 305542443 998176023 318179697 763376691 187646719 45734441 811620423 624714197 483756405 467214181 293139897 59966689 970897683 325216047 862715539 79151005 614317867 358632943 354071275 869621977 61711573 144078615 859417883 381458153 309133807 848426531 993711303 600685229 597041701 392596883 660262877 376701577 995517413 471161845 353938833 748257135 272116583 916024023 537281887 457683409 164113323 776424405 74156553 437845169 1676667 725399955 894100127 430863507 542588007 58338999 965920115 283015301 38571463 554608377 492842273 432125213 789866937 358547983 134605197 212983165 405976617 965385915 120130791 744409671 266536387 621382601 84901535 604454571 76838147 182673165 613960819 711442269 380324647 950325853 421000037 912021409 508531513 331276447 477322949 567674935 159921929 852302009 599046949 842212463 905203245 151490211 81698147 110194979 330995463 921811027 650904481 932880299 228510145 523873483 526627915 372261619 824819015 635071767 54493977 517633639 243096149 704510283 26816515 241759995 122378857 833959805 158505039 750751281 169179851 847795411 206279561 558684427 196205967 451174005 85998727 637724445 424412297 785776789 617563233 143534967 245813851 426431855 790499201 612720061 489008493 289858627 684441229 337166097 130935023 844483167 662081407 85692707 117764569 537399313 504843407 618450729 263918573 937105335 185330501 593828577 399381683 376897199 723235689 5940625 99041401 583980135 403757075 135817481 341963097 925391183 56286365 238914717 138525745 541537251 47680939 926859309 131392429 493684133 715951661 410857759 637317435 753253917 974189649 149537631 71959059 814445537 802208921 577781351 646244919 492027783 765021383 643231281 65841005 65881781 406464743 630776391 804571719 353712915 618133581 83095735 368975133 727871315 151602325 710651155 884313357 769506865 291792037 805180287 570653955 802953583 265884583 78004637 852282541 815620821 868702225 678082461 675084163 661465401 674079903 115140917 899337669 333483377 863146837 219882147 219308413 976936291 714097279 742651823 193760635 201823991 443438513 653330595 750677 456902431 674711241 303649627 378323309 736311511 473758953 588204593 951122413 5545505 381485951 1419531 940294081 440695045 79290685 237159515 513042085 345665177 571038497 178807827 574061335 894090227 81636209 292057781 846646625 125368633 353239221 160239173 464317075 2608787 856376517 887750993 453981571 576149811 219541945 109485041 98758099 111300693 115717883 445542083 750293227 218410043 600568371 531573227 962839803 742439727 380550229 134842393 264638461 613226625 475090593 931325315 256646319 344655247 555725719 515404519 975721881 567280823 570481671 18915981 235034639 647758951 594225155 24754497 857365797 204955153 741131239 691941721 562400957 799012141 895805785 639458741 307341437 223782463 769309763 269447355 609475803 753052623 498100699 689398617 369160713 126308723 51461533 823207939 457761035 651922625 415851595 209689531 166259879 491142239 204414709 989210885 48496751 359780085 88417773 961285871 242153915 942809143 971910097 152837649 47375529 589599197 200163459 861985161 253106469 522211497 860939311 145781243 529968605 82565481 546781261 327298199 270602569 350516715 445440661 515666963 688716459 75626509 216404493 677214639 833770249 644113071 124993025 59308589 206055989 517903547 845230341 869096671 38277061 875818531 838340599 835448475 742272029 868272357 354013433 22141629 981366113 303896573 334381689 106554413 102728837 334071419 362867243 129564247 858058815 953627247 815003657 463798325 449067023 357906929 788374361 53925187 102266175 651688487 804569001 109334151 300665309 191424569 898770889 387650959 547261381 200221275 409009881 572326259 645763475 937001669 647880509 248296401 509974961 120889531 651331487 299800013 660274001 502114693 477085173 728824087 919057767 160362361 908623995 108668135 674603961 660553967 646129331 754353399 619594697 276203335 718981741 904740497 150386157 943638513 68149435 372052353 827333177 37821273 341393145 908130077 396044687 905952765 136628685 387955013 650526871 864457055 596620833 851465567 185359553 648240393 589309483 577261913 388923717 194529165 14873191 250505385 574325797 843914627 31092889 222423885 195023145 936546449 288604365 152073419 251653855 718892127 634638423 184478513 597487009 900722593 638915285 127524375 873087631 721728271 764210473 671468443 248545423 653302893 3514497 54351713 87212373 39061893 713646927 993413019 405207129 650631463 72040017 561361915 186885591 904580657 8760715 517989569 538366941 245063299 147765579 189860277 54799157 422348807 168576289 250188579 221119613 697796529 367074029 388518627 454096147 490844793 466089937 319389009 434486813 56189539 35800891 851399253 467395471 741357433 70111199 649149533 827294495 246658763 408622777 48683357 980452687 233207159 661233675 38398423 748720229 378414493 937828453 157966801 724599665 449426791 83010967 52484053 990924623 316907529 11599299 208632829 318400411 827661499 991493191 775912167 244756929 291697089 891998931 634763447 505289709 421487461 600608859 636675615 849759771 548523769 371467803 417338705 706520841 294447063 366229143 842932495 9281857 224613985 655290523 385986971 187730449 126633729 284634171 917674439 543680149 583178539 275916755 909773801 563093673 787992663 675331849 318357725 321056247 342391049 177827273 211469067 916765423 440047563 480674629 437881185 911838667 618297389 376911099 162289749 10933129 771177933 167357871 995322597 409948915 903630667 296006765 501109655 222040471 167814995 945570697 568072059 362401999 511604627 735780769 774788389 905941691 215798219 273391255 320737717 741392195 922259641 810481305 889920465 336651543 520505641 357059355 168193701 392120495 682293995 227380183 712474857 137946957 537897437 714485203 678192093 871100919 73207519 81547357 680053829 783288447 777225437 782523909 800278383 333611133 673258437 349302187 890354739 273462353 258931095 902072691 690280941 910456355 541792593 70527943 115944325 498121953 163542015 146013787 806254185 717205321 48666545 465921839 502390159 700927189 844114053 834078085 275249269 833638609 162027419 805172455 275454497 728655693 785203231 892717101 684465699 988277281 270159937 781969011 265258895 621326827 114730043 13399577 133126149 660884247 104516945 126243281 691854507 765795025 917671629 344066443 979501869 677343765 873133313 210435973 956305093 576556195 736084551 39299907 916884781 886294529 433285633 636961423 106961839 817769599 191433113 490418819 144134679 669221945 969674115 75455093 163804605 3919883 123651127 365773069 731551869 242161311 915723579 277426999 629753281 105124711 533261843 334901541 523462515 343174551 739697495 126489429 669184779 323588405 82311071 240175501 900126855 435470851 528504973 560165845 347949421 249434775 211129293 541926787 568474061 222178629 170413071 712318517 442235707 185633071 909862925 208086221 387413463 493297981 934327691 116989049 999694663 815570207 579955283 369637293 66375607 572396623 644519735 626075427 931751137 651044619 512910609 772205283 247176447 610060635 562121667 897053493 368271323 693669905 566126905 155292593 987190723 133069765 746255459 434553393 102066315 997860823 20510779 142025691 341246097 50768751 442945221 676235289 146623933 668693117 253886987 75548577 678860925 727323833 76194079 246592879 351596743 594719909 268255515 390953413 172676891 491981447 343838753 305069875 179004283 765174129 193302109 331910027 705732217 230230075 2486527 951562475 158310953 132288131 256457025 594508981 645827883 841761717 81607529 675945109 46247845 482546175 545877949 894612353 128933443 320487769 481988497 31600309 606316863 973327491 255834687 135855797 782954325 391898119 973655593 291519053 785573579 417227573 915602873 138093971 549757551 639688997 609962595 4855519 282305689 417433525 85248929 419663833 982643751 30908047 735983603 402296941 311978877 620746789 575322085 133075919 851357067 472757421 865752841 368949625 178215111 98588967 559356665 866541105 665916975 561237085 983768153 409795333 252555851 565788125 899184591 357252677 788682791 458155267 720032017 156475025 308961881 702314987 268332505 843708365 239115265 995899519 122752743 117614115 462201797 753647473 720103175 738652423 12514515 188040501 575621131 281161785 53208543 200364815 176810957 88362171 545993771 474821639 876358959 956058583 777519739 803079147 174697757 640378405 273472543 419088981 31254407 796455039 780171243 162231717 224931433 285076235 322939197 502288899 605524163 665155635 213766397 240804959 150551969 782130093 550289051 172379507 101102357 165031797 868611337 595011773 618174777 766227663 825831879 683591557 271522609 403461959 606085597 599570397 944680483 147056561 807640279 85092765 901308997 519056171 532512715 691024227 579695057 48899607 888173145 399822235 381307399 712930593 273798567 630941043 800582195 374385729 338350435 619021795 79815849 881046959 71194307 791713453 613348287 530960113 542846851 928532311 627050201 289859539 633323247 619550771 56644451 877950827 905100495 373278553 235969997 270042385 570269821 390625191 965881491 928101231 913352663 887617481 88211253 314187117 441273409 392099627 189083455 366139711 716555179 185409289 337716035 933183333 273189261 532533603 801126875 514215839 849429985 153062911 777106603 911469051 842468913 994524525 367706969 636386767 12313225 159849481 119534237 453555893 991787647 1596143 4159275 748134291 323910195 27614985 988014283 315145619 626009931 216675337 131622211 365272875 234003957 490812773 173338471 196460311 234379239 625135965 397085201 362923353 699251039 886325243 159721765 951144513 612861987 235631117 657868425 238207329 304412801 452640813 144875317 349641365 215316049 569534907 334748701 237434627 691147249 174562271 448221513 673241111 115937607 716306571 314800831 549286019 951370943 431971699 258206611 910842693 104511057 985850139 41330399 95291553 468170877 165193675 68032199 391072035 999881029 637821585 15732595 416116895 320430397 77042247 952605717 950873395 953568373 381193869 537209321 712865857 876628879 896517323 181874479 825692535 241490609 899860785 664170547 29417415 623265417 240537015 641792583 225913455 315007309 671574303 307605191 896215029 329007547 809997807 636412945 202532641 525248537 844590457 463461011 386262539 885952311 330019541 43498941 230137611 828541801 217809377 271035147 178242507 599488399 665155657 639229695 918254131 673887757 368771195 659155489 44816249 999323093 639930031 640760837 413808919 345923417 971930085 958981189 561091541 295452059 182613225 111032709 546921147 753440541 969503557 759471213 105403937 160533233 372575831 85330095 786225825 349088685 699160123 406324743 601835041 589416045 166138077 729936693 760706763 331773401 202074857 154445575 765964309 178637087 300800219 265157451 356651963 153367285 471291377 920367069 302390465 464279705 275402549 627765153 486597235 93154515 752102519 62555007 568134501 889966829 237486413 214929257 12201075 352780225 811394585 644969819 344505283 277480621 479936261 742273621 800424897 855466647 495537405 531001701 688919583 147957995 599869117 488480409 738398939 965695139 852616131 711058445 804493113 20101945 859170647 51590373 676422855 233900983 538727309 179906121 19749461 861639081 269074489 758100075 531884803 395668519 778646525 400040839 356758323 456825037 251495233 998160607 614462867 107436741 322893621 957640123 170265109 489838007 64224977 312005231 512071929 766045407 408704471 378082135 248406975 697498107 329859023 64268241 362049079 428952141 239237895 836236107 417385841 841362343 572024729 188772407 817451215 62482781 790932579 959595789 687331055 911997775 601698833 299952463 323313345 864698081 737489937 425433227 638470777 87762437 140442523 183711055 650526867 264503853 253970609 521693239 296078033 275398491 687794969 864809191 954849091 390200595 497981797 122759431 373530427 394492259 411107821 799831881 594901077 507021795 905893839 542035049 958642039 464725679 778512887 394419753 25754061 638972785 884155411 236477521 200257481 95503443 789507995 936964023 284960809 940445965 598592207 723137841 619799281 940687325 124950969 945610917 258275949 559944841 339866409 487911419 863306289 143336289 49858485 812015653 14201371 483064889 466044095 771446815 758775629 978046833 144653169 882946539 739276083 91575023 997831607 307654547 163495557 943863073 945289549 865655335 587347515 197583867 589380785 734068931 260437147 780460543 93684781 955960715 122361393 578844977 721265873 35702951 879657683 240582687 701070707 6465355 262979739 522900705 712188341 316871343 293788397 303554581 231881471 484554005 745439607 39467999 697438081 141766859 281705261 504959215 198065973 393524511 726062921 112847739 142852313 644874095 709385299 746726465 684003573 93982235 342235925 25900425 505705693 676106637 221976993 384462367 53939109 770358071 604996697 611512409 170544943 801812629 279249627 868552471 237267745 123842089 602604823 222086847 955263473 520276091 776511553 195372093 25813457 971553569 787484629 594445323 296466373 590836145 969430167 339695909 851972243 501945553 419306899 395887121 317268429 881678633 70836509 654041565 785249995 732471917 357478353 131897633 563525035 455553109 996587925 67389691 468237913 546838949 299368085 910267919 489359747 393985829 423363651 136530317 807346593 934071979 955788381 459468331 753373685 402828813 231777255 40675111 47374725 670264369 642660397 909863241 392761379 342639103 446115781 752454621 37433701 17924971 538836873 979445177 139615151 674977389 781478813 284907581 849111845 386967049 997045359 438975567 412358843 946681159 544751025 647721821 161171751 578145341 842487651 530461789 221604841 653014785 600041157 674781389 352631371 180494009 470300005 514581939 106397275 338416781 959477273 392967325 439237109 822250673 83111931 339436195 793264565 32612701 339626351 354052451 364025861 881195989 495532325 197058049 995655703 174274915 23620363 699053613 569650911 49806423 824123747 816697117 460148771 786134799 77921199 298203281 518400357 489267947 17601465 150376907 414909179 634976085 667496089 212597405 452108537 718589119 200255403 960201821 724380225 80699303 837135759 429578983 516156283 707937675 391878455 521837987 817781271 29787637 487623891 582206591 259587917 651514747 144621793 427859695 516950815 853669043 639992101 645269237 625264981 401935683 561181099 140439573 106845821 398094549 590039495 427538015 992855281 399581207 219671319 490432871 288853969 628591047 135841917 286882125 798993411 700186535 129169189 86883253 88394043 963329921 464128903 743334607 864668913 131540519 992658523 574214739 405864289 745429617 412186535 608654971 698106521 227400773 287672759 351138065 531222371 686649741 644737057 819080801 150930013 485890871 261149887 431763009 877090533 945728065 982210741 64033043 776513057 455343789 835412849 528124601 896069125 474135173 962481063 45879201 406351943 458729179 932743249 343840197 364849513 635398857 181889975 818119585 286451121 130016367 795470945 738300731 227642415 9170941 306065447 874420003 107561919 278375071 279364899 667998061 766660093 50200469 844652731 264137401 3679829 848287517 668896409 560491819 82173171 542975361 598887859 412436341 87087571 861488151 662898501 401181129 921902515 841532983 557334993 785075431 911023901 124755011 614549543 820846359 601609055 976794277 527768153 466176805 35924885 624732881 91533509 456863081 108392859 52426303 191915277 282238143 545922843 441126771 991822621 704334735 519666821 264646903 379639339 734745287 19036691 176535645 466829235 974277853 63763139 832296255 849484921 217989327 513315679 740640831 338190731 864316707 727603573 17708039 925597497 322815721 109759583 673800779 543655971 707059893 469269565 450627779 959494699 461013415 672455415 494940723 662326143 302643299 366918973 517495141 846192529 610184219 150733191 482959915 60207135 821793153 143062807 517618269 210339887 283556823 751506675 174700257 633322249 75221471 422411501 571840673 894666565 627715821 562322589 781365645 449571773 623213521 760389219 159072671 618033301 578515439 133504103 991442907 177984571 235418153 76261785 128595275 897556067 300848111 733704881 643774977 963273993 652281399 214851375 12294167 194245999 30557311 803933 814688943 342120229 746294221 18962507 485618931 846418173 639330225 587441873 253296919 25672211 781972287 399032973 630593875 721071821 739949591 472801771 563379947 800015829 760921437 517024791 103085353 966388001 526396611 247010829 790236767 179307245 171668859 254394253 999244519 507224253 174685511 398967837 235148835 10865757 977507179 520109581 5698429 765280993 199879093 506032505 373101929 440979367 5025149 465590077 393424993 772489041 979005087 847436803 956387301 616336075 156857475 654477629 187362177 340049485 596088599 918089247 782058439 153258063 610089425 285478575 984321361 759312023 270234801 97046703 458038209 173542193 534778681 752408245 793782465 912943475 146401147 107343637 585249541 69864183 907644683 356140273 48077637 214445729 939638793 738361137 270924615 584416671 320264219 43765637 709437137 247211619 182316397 325833063 661600437 891295661 961284537 396365589 185350609 400673661 884793145 164198039 99419143 99724835 968115639 790143167 530488125 98461489 268675969 947141669 41244777 573933187 452017257 19832873 280519811 504819517 424066259 790440435 531698065 633505999 693117089 308782451 453668761 739604967 660860995 730405473 315043247 193943431 778799023 377578303 721548013 296198129 22210915 58343507 190783349 458117553 362754407 985590447 721057137 890239131 902270023 377420587 52312597 23966411 662717465 351146853 340533915 254004647 537950589 964040905 241132355 471264987 959861913 213989765 539395161 88388441 205000729 296376209 726507311 458948703 855572535 159969709 578764063 682697841 225881519 822676579 275763339 94568539 795953351 609064707 347423711 737280561 833119309 806308517 919008395 762771025 782023321 508610343 854824969 656059997 756912775 344953395 328732381 203620931 501463169 555480635 335717779 775239989 985948529 913055605 69492153 498328241 939682255 730908385 320782571 40867197 192741529 434575177 410089419 426246817 67045463 585720381 795667715 90792565 243401237 885671699 50038855 856731539 246600297 653861357 284290385 410375647 811398259 214639795 624102113 359548807 155314393 212598295 180465603 379244031 876208839 319102093 529842633 541308163 373883127 662724953 315775181 3392405 616229029 552880003 679529395 608635141 738140311 173875417 446592353 214787045 604954139 271464693 383932365 57192209 410775561 332744759 799505649 325777583 174415807 890283207 485731789 814311209 39300641 318284693 435684205 367024693 561411231 219329883 257370083 108608975 243391537 389874071 933867851 488119611 719830609 186494353 289336515 789001221 809949703 646347611 365181305 199229697 774004963 122870989 528060829 683160907 442768891 186021511 675616617 913469257 815623915 47206127 355357219 253543847 199891675 731040569 135184657 581618263 393410425 762142299 729664135 539042711 602347513 505059351 628102879 414245099 820754461 191265267 712174971 276403233 83064105 785009217 658854855 749554249 58432749 481826585 528885299 963518147 871110333 505547609 898465083 637423153 188626039 306748845 817013343 264314241 566984581 254363009 950541611 661704935 419892177 447231505 973961265 911999709 812630739 799286621 788217357 667664681 903528587 899419435 138544221 552914393 16660091 753155595 947893967 539348543 678259893 401259097 501496339 289735159 538110671 179079473 691148517 920400357 125762277 639140733 609660677 461444407 263346847 530821359 430702143 158692449 850270763 198971645 29485413 433340447 962242367 795097575 73776979 635169397 443108887 285944759 843737575 353250223 77726335 741577531 615242511 480462177 853116607 944672013 130499515 334799207 116153009 695682189 466946279 553123047 26362035 111046883 76103315 616846155 377464489 9323009 264457419 548895049 814160133 147589019 600470177 507625437 371939769 788748341 66997041 959799627 377379655 739618839 156785817 236688927 218944433 109402703 823451399 746967599 967145865 196892087 969943467 530102675 363662053 958867439 838247361 560476083 208915553 231199839 947544457 507445819 464017445 220015927 11457361 767595039 97518815 221074543 78307943 186384537 983492293 413569225 216011815 128380463 453918869 535789259 110951669 157217197 300217493 939789767 217960759 323665705 242502549 500762325 641706597 992448765 868579305 944313811 659854835 510376141 240919153 934167661 703013481 134897799 467358097 352577297 856088141 965150047 580546617 426797559 873997619 279510737 647282913 269952543 338839735 542312351 438720131 629845 580492151 525969113 905201065 31914019 642432545 889341649 233870687 318146279 489138277 261262883 615868989 561206461 896321023 880416949 542331231 956111761 180077489 851019953 909562733 979458063 127604291 937387917 123572629 565160627 111568777 31600389 721446541 610454717 955629919 877035547 613588371 152626993 620503715 788284447 271425901 546152421 111392835 27507621 625479531 238550125 652815919 914948997 940988513 561241899 866209379 877107175 232162223 393426505 867991009 9548087 287240251 544680627 153422257 911840039 606936945 766397733 768609767 124893109 858140747 580806941 771539103 823208485 977949251 187410403 375613687 18842627 939010147 505550731 7932445 378131493 251403319 299281385 52911169 858871715 896436951 858234783 387827615 811239 865372639 922728725 446992249 360931479 676561527 707144059 418276119 432503469 624959053 248530889 31041743 146504033 112165527 841752513 730580215 416933435 932139283 319309547 928419573 99818755 111935753 33068437 752963121 698636497 186038339 792226265 699043101 901661439 456509981 39107733 915922997 896887859 617225841 961482357 120616697 373587799 482006693 20454119 220804343 760109729 846394027 603771171 463772861 749257355 338256885 712416043 168887017 49407709 961583237 613872325 68362521 203313057 843355615 840995459 835986683 346129451 993360913 647273149 780211009 452023831 512946867 823316113 366840995 590131275 810190817 780421355 987174627 370150897 781959491 384682361 839617999 460413311 507443463 414882739 455850549 440380337 508814563 42537945 37268723 846238347 529192215 353078773 340236775 469063257 177836901 457033943 823001343 786742447 435690527 656067861 174717741 88132459 220390681 230937107 243170153 845391279 110345395 480405237 590210485 877077225 493545171 926266285 980779551 14455755 24383461 912485365 549009333 481127251 183498211 583914571 424488853 80246215 960498505 736192249 594030045 69896111 527700509 827306767 126061243 80873699 905829613 567114083 699770721 371042683 560881617 26144151 351334151 252271329 282349925 597135123 200489457 842234045 992722899 752267271 425351783 735579139 225365957 50572909 374228927 576944627 635035507 523982595 809945935 377824015 305927579 173557841 202139005 827949601 846277763 580715947 364895921 790544193 843252987 749720101 701858397 94397129 240087897 983824801 195596797 666201695 475341433 167500231 917227539 83921901 217633473 306613511 575405353 580647593 882593571 474465177 240604367 37417487 896702483 887385215 719507107 203155683 632985741 690092671 919859011 9877039 761115933 380666667 492308319 503802445 886962379 337300955 557635747 980347859 622700593 220350637 554948813 581460649 339770987 953467277 288728223 827262713 138061347 375642409 790918371 396673083 384312451 677666809 102030185 463421991 343386179 809234239 863709711 376111043 993973409 387790337 612081075 92812379 349219941 621466641 707452229 994252931 303726299 783758597 961801905 747267353 455707865 914562369 266089973 214634559 873993663 120337129 84000275 176085091 718077043 216272625 16237077 281920313 236861027 897516559 714916875 970336443 745090179 145784259 156345875 742359599 953506901 597039447 604300109 589700387 940645597 988270809 652645603 543616105 898687915 275256869 619905287 65992989 678147539 506872279 923832821 807111075 896944371 668854873 284295919 627336873 47736373 619673309 419474239 61490723 39161667 762564695 984814389 733601357 218898773 898325133 52734255 873259689 57562667 623551233 669634189 66546439 753036039 295073289 254345401 421831289 482768827 916587449 165319719 528121947 140481437 588068083 351660879 575984467 8319625 203844703 313883061 461630027 215344615 469702509 135574241 51580281 520477091 569936213 786365801 542430041 312608567 295411737 666833381 269554607 722862751 17169793 958604279 716462215 675013985 493881371 771105097 121013045 965271437 343014977 581802125 471475543 76585143 221045011 401548417 190392783 451117821 106884983 512176867 621291467 205946889 896067361 866547581 121985469 697783813 390088073 348207397 75121251 516501161 984434923 491227315 734662083 803560501 48552277 177185801 47303205 810339949 182207891 424554257 104026911 312688543 88637501 252136125 858015887 862286241 98969783 855672331 309345177 40807635 324256805 413601017 318166437 767567131 154224251 475680145 431122285 72309479 456876911 702020841 192447467 18249773 24360323 183739417 153241953 871377771 598039805 16144707 674747487 452336807 993959149 827295377 957105333 356882545 504630319 729264951 641043077 926658269 487073375 486554221 899278125 487022729 330511081 60938359 891468381 698675615 337460217 206941087 319826185 448256201 809798539 908652341 353672813 183678529 548854877 206077591 663528205 572295361 473556729 599336485 371796917 137529491 854755501 593682505 732257913 696655491 609087125 454435447 862144949 822982889 710427277 408001575 203036431 163949217 195702335 673282013 718081139 472181267 876853787 940541987 215077139 279081005 165536347 417673867 530002029 180888933 756900349 701713583 733257541 577077945 458262475 283943729 721150631 941531311 333655379 557722811 917005543 767137879 778080239 79101697 758071971 187358277 645619647 695058363 524734397 664341913 159091371 332062125 518750819 525911799 394061667 239388065 663617545 253010319 230588511 502610281 239771753 71154713 67325665 564794591 717078665 497773007 478707695 986145509 332524983 99755387 919564123 874373733 866281603 908290153 541274813 504530771 287953357 480049009 8461429 585203111 551562681 433993711 606000811 216956005 487421105 985134797 129864271 326239383 86821483 854453619 501401113 51654223 552277729 564715741 728593801 117065127 836964699 347717255 263508969 113022401 489001825 94193017 421159753 226281415 134917067 626211135 404656513 780703213 159718837 306845423 516937519 998883435 306468223 950063145 262465727 911975559 798382555 282650129 458302303 242866565 23420601 896178265 657448453 530450365 83802199 151724083 814553207 678109575 462111801 478236513 729650745 840024133 61849643 287062823 485548443 996493155 648332097 811382611 257168569 987137873 388328151 337270077 327768687 311335049 560339347 846949569 81710951 722717839 627154017 432081735 925357843 852200173 913612147 861690045 202585255 484487221 459708231 374782617 233126953 160046337 262308259 590310105 72313691 809665779 76418703 114268421 235299027 514359733 152512865 80430887 942154981 733777403 871188919 355689691 58657459 209991807 487324787 649291323 587657509 891186945 5319875 207778541 871544811 180368205 65161499 116833571 266067071 62577205 681368629 262389903 41751327 129176211 91943449 377809779 942068691 20018249 988825871 698846611 318906221 78504769 608874159 812376893 684198533 749239407 968361683 823683145 776508027 109578957 742268577 992469781 83748983 184179291 92695939 619063685 81612905 70270245 833750575 402803209 835962377 608739389 309862305 563202199 297284057 242782909 557342235 232765357 642271775 475202759 760443949 97764691 398969325 702283399 401989545 211999763 221259803 443192109 914058925 416534025 929293895 247519219 59676827 344444367 674108893 966512925 370816799 137449867 658422539 769761525 509514543 478009839 299850697 514404557 70011911 825765167 950214359 956180991 590124587 836151303 368635585 420681965 55020647 502290625 319259857 227129859 422917329 997511723 500875301 22162609 910582209 477144729 13703321 460889715 991615201 264533225 323511257 741211081 46769175 833125763 309897809 136885055 799889053 479424341 445025853 841311335 335691755 354377943 295668891 742257883 42891463 113549571 515078197 306178365 273116735 865616993 416043675 618786873 791550115 701917697 952114467 585494911 578985107 753486457 196357615 370431689 222252531 907102437 378981607 400475357 566366445 272559085 714307261 870442625 924367605 397512893 513813477 844098953 943860683 28502543 538009507 920264143 616297585 188687135 293233919 331614773 78837297 713366707 613733319 469630375 895638947 168770585 631894421 329761813 331408289 121873449 812750537 156269433 780863057 850080321 778623371 169022169 306305053 873128773 427277515 482905403 146437819 604511909 551462211 802311347 419547687 740108631 299078769 360736091 129912229 824479451 221183901 407020117 925675713 321987635 517177049 633549005 954361935 837580529 748221437 753176819 783465837 534408235 19479977 836548867 503451261 967773565 663597123 732426301 30099499 891993615 78367999 799457773 990968431 769554829 11344595 743947365 169824129 962685745 315352449 958447615 662650599 18954935 988226191 420959263 322035309 47777637 444933711 551412267 966970153 989173003 504006873 291159705 575809651 591625469 819857163 357705699 346057461 51160857 487530897 270835593 448571287 500551881 815566807 994172697 694805133 860277239 493600025 187086625 268597847 286229531 366526295 204778045 983302837 717433139 996946007 408659471 46423991 756563655 343817897 155310147 818976429 976871139 272620713 541836681 857043767 931015967 308198259 305144989 268498489 388135319 378102257 428533567 774312669 762146803 342197205 308088635 832097689 764482657 80088213 732659557 141991209 768108181 620729969 442518163 679802255 147239633 447906163 302808233 125540123 901442265 793823337 550747027 158498655 636659965 361254381 820265537 513228855 308264721 546577759 276157871 663390409 795101557 35566055 376892893 174609025 838193677 243921783 183026393 937852433 142004555 581626307 596078001 280832631 148361505 293753679 297532801 549703159 379253775 30573155 860320363 865698077 553556509 346909197 674734747 370781117 975748567 115058983 713548097 294958069 928535381 36303697 26541977 364293415 39324467 517339635 524503013 757056257 696525209 452551997 403556461 273964661 169001781 645758759 262382725 518981825 690198589 5425267 871189383 271181931 823179119 217115559 920842711 83973179 680793873 37505045 676375005 927867977 843943921 101736661 826974987 803727597 64303209 666973637 555195101 693020625 715645265 31976593 96868307 917929181 494375189 156074407 327570041 588338503 87321759 812962111 135365731 102547081 25282665 67935323 437480743 552155499 749039981 565240257 558579561 339697397 895027253 779424001 313742805 162167167 780993997 135225719 566321693 957662627 47989453 627254079 382403063 986302279 173524561 947035717 892612139 381138581 108979969 309774645 290343295 275034371 458277387 910963339 273170887 339112013 973140517 530677639 420320479 130007415 973484173 23153965 286570405 562731981 244545033 794139987 397733639 655287779 708162537 661249421 236819191 672376471 21461761 863417917 290645355 825976329 792660657 392909709 48182123 687304875 150547933 756258921 163833341 421711917 535153655 86843789 477607735 609713293 37872113 301642871 402202415 974045969 310751565 418293871 109986571 828470593 248727823 592497545 706578929 801608691 18706117 169978265 584090649 152852549 925655943 900632897 946671033 792836249 616571633 539166953 335787027 949179293 61707307 270160321 440168053 999016261 145195747 277560001 50840365 255176139 208246351 161245611 352780439 343357109 776608813 535105543 991618583 853557201 242136517 409014307 529109269 338708529 293549793 961518105 683126787 475774769 962640605 321700039 100571485 118937461 912636817 919982297 668667045 214188011 191965801 264195005 624010595 441603271 170569553 911548075 922977837 87648389 911790525 291658149 865598873 897997031 732919215 563722353 361665357 920632317 849380523 733474209 650685169 769341721 837093567 708315533 439171383 82366935 984141187 917954387 366637275 540861213 784590611 597774303 846485407 498251287 296947991 854956767 242859339 783298871 741886397 783284683 739262643 930135355 356618939 942949603 269180595 249138215 440152655 936384049 886607659 257446471 487099457 228485253 575885829 50649391 40062173 123004533 756869171 928682173 623105017 677484901 425443505 571194387 130578933 2368121 595068289 477939869 360683191 650313635 100481707 429156627 849943723 70327965 469141829 535086701 626227659 292031973 920996965 459239153 359849105 898745797 718674993 778724653 620685575 538583373 476163281 549717745 415755195 617566035 291548535 828699229 63051969 306936697 202721631 312629459 208338615 843348263 897831115 425765377 857734085 793226893 657228291 852200155 339179673 39172517 890583133 144132253 258431851 677645613 99522863 261690825 51803893 42910639 883892447 504443695 646204799 478037625 878948821 61513951 965022169 173019301 666571141 747091771 379634775 300184083 811122535 828860385 110885849 66713195 876737533 410930883 684825797 471637021 363919829 34093839 46970889 724527457 811943549 129158215 974396955 411103545 619668371 891485997 782042615 790134891 169683895 124840141 144993831 860155017 388123539 531235707 697893305 158249707 988393177 119461845 569424705 978652081 279859013 509453243 592017885 350250177 804038553 135205215 469401653 540166863 450988703 782833201 508764025 332672593 644889127 369161199 664628827 999226505 583241231 215374749 311552539 576172669 336062263 946244745 938537857 365398527 112802441 996931907 113033689 200050853 350463479 465683627 931523065 930890963 227108733 410616035 434434881 218970797 302918685 233976921 947468951 588928807 503725281 32710335 298330985 701703415 296651225 322478101 516907179 925848477 443607843 812930971 55915487 980268131 623293407 766739679 842624009 151658841 605950775 548960951 927594681 360452693 328083807 202430013 697444611 502127097 868054671 359747031 963704965 281050797 970257931 542394927 57908841 39445411 41424155 362074425 822391385 634359247 22231573 193644853 285811597 706932983 288850767 864461221 801736643 811971229 19438639 782829139 19579971 838976791 706246173 413316695 707298521 368627321 955637133 593391885 682089179 605626277 708376311 565564693 284718635 662065475 625479647 734185313 510467113 500005059 851271119 203806241 299004105 949440861 97625431 616649171 948212095 479271699 724435221 502318651 306468937 970769837 540834985 462971237 204870317 303584185 884635069 341353125 464622267 228483473 217548037 993845657 731630599 190269013 812612409 102595363 987573423 382522091 414793245 80085103 132235869 481643271 537363323 931924981 103847739 794437665 582535715 750373997 514528001 395138165 126240499 92926941 916313071 622396433 820212171 337644177 39134151 280912321 525499029 32647711 180428507 457484829 88775749 19018337 898145537 252871305 305732563 354371707 883584661 831259177 389654339 926990811 603463039 55997169 86917791 503216437 989084205 463736471 750462199 170958211 151523477 393868189 705220969 313596173 845467445 619156041 596280853 919305307 263768083 139431851 234934565 945954629 492527549 747584159 834742221 800705509 524751437 105689793 774054725 24590241 261940827 701900157 479339985 214145571 934814227 918974719 767866811 923779169 68662815 225868099 315707989 560187287 175560887 745369351 127088375 445709895 473453723 415023317 760116743 284236609 963472911 214301179 911924207 369242263 214295521 542691733 269083677 955566247 801061991 358616447 275410961 899996947 614551171 69124963 362869833 844721095 713550999 418623409 84043601 580003321 16982931 710562467 570895033 825037605 855709163 629781815 499883039 832367631 64558241 985526839 147247651 252826053 442149435 380248881 155145071 114042007 828304323 968969599 117730743 238868773 159861717 96305473 640648885 694613329 212388233 791541343 258699561 600019785 11059083 59878281 334127581 665065599 654408453 73758007 283471015 38238897 795974321 763215531 813436255 330352869 44956617 235139307 443332327 820782691 84618519 457524681 194321961 443893187 10964967 543967453 375188761 746881503 418596113 180942471 592251313 279927003 662516721 881417455 236833521 361313573 668190575 323322629 596956131 241435249 697588473 5604737 375845021 66412731 998730117 527294435 725096759 470414661 852935313 176596853 65738451 259852191 954118949 361778759 68965021 518294683 917049547 975249457 937090755 217792853 820207775 100646353 647822725 69963315 721544761 75371923 311016993 626031071 1834693 387194533 89512419 65384015 42472941 856309759 49078045 190060479 576560875 684384609 540925991 515120563 66273147 985463381 279216745 886794743 52042465 361156905 358765383 640837023 613956337 710749177 158322487 434172425 983594235 858273185 447816881 282489303 94899427 353849547 38284601 837162997 863076363 977160937 3381337 29431451 535721571 586013489 4751523 274321985 896145249 146162083 690775217 552860845 831234307 251752455 927735845 618467819 406837455 8034033 299955371 825783633 677768405 357457077 685645555 65623673 871254187 993662069 808766391 251782727 938741355 353030425 821147835 31116777 682417089 210066513 191462345 989867475 398424793 505557911 18774451 136791743 260860263 700004137 38205779 253202611 600085421 796495631 331123339 47202813 552777071 663694875 689548103 53115439 427448571 168510693 183641207 589764389 204924969 580892877 482163989 42661891 261225301 614945531 388764453 386155065 976275561 321965407 564233905 496633463 284948431 409244593 850827979 868020665 383390079 797758067 598700173 802113095 119897079 409632235 355550745 606910635 389904701 9726251 869142939 905640121 918025697 847846667 709066307 386163853 669450233 552143657 85062475 51577741 2298911 507980017 858653945 549675877 174062719 472706193 549282707 438850311 930825669 18242049 590988909 400289713 328652325 801539075 417541345 448205799 62494305 277600541 939273041 239630965 762218173 925523615 899412519 16843631 417923593 122531237 987567831 884506931 169636503 401487371 793565915 719172451 165603147 815638909 785825971 539476973 564873863 153389159 244434155 749711363 38645051 607762181 949113621 669330725 675757533 913204309 986412235 595857427 480563053 962586913 926004911 278989275 247087213 867128569 376089453 644734675 621180399 728519475 246305973 422309781 64246919 350855665 218315331 655028741 978724183 540445979 687900887 17696337 393923839 909610851 27911997 169502189 484863667 34377021 308887879 590152853 232864551 687736301 295119055 271888203 637670807 528505467 519244983 298740575 435189453 485300405 61833195 669579619 324847639 294522421 691626075 141799475 751582793 466026331 110917635 757281269 994967745 771107407 323196387 323744019 488664681 342755841 73332487 938443075 209595051 213452075 19336065 820748417 58434687 386607435 764935531 989720593 296554339 472045481 804115431 306875775 486719071 836534871 332202529 190609823 440252159 95444781 960855113 254682509 206863449 368219851 328922267 418706351 703727631 405070231 912461911 837733553 966243649 69462725 417243849 202983045 120923555 622805837 889062467 937989481 933840489 359495915 202684705 716503265 616304977 597366571 494259905 233189051 534839713 237357149 929264785 902808583 51221799 698256025 621061889 863709221 34225467 62651069 162310795 316721079 541881787 968371573 881257653 633474475 9363979 725041199 675965189 457357877 843099677 944061987 356018191 600235983 88146275 324460369 21518957 915013697 193622493 695861635 871548355 810960275 511253267 127652679 327115191 211250461 566052625 994713337 10717951 464551033 144807789 140644277 148730453 676712587 413782601 855829093 461628283 443888771 723486023 852410043 82112569 630196943 95071893 145080365 453298019 573489201 897900525 394704635 427323347 682851499 607174539 174705455 544138091 589066889 76322613 314824599 934715415 219798367 403945787 6013645 946678471 327173385 719260017 536769585 497625207 405825197 903610423 291595499 279600937 960290229 412244337 234239213 172199141 785516247 605613455 389781995 138575551 315228431 222939273 106580585 568967633 893757089 899929305 152708271 337089599 621746713 18624649 696419275 652445231 676736845 288567333 926679703 818902233 350538837 137112003 940065971 209742705 754304665 655545861 60754823 872505919 339533765 114961677 254330691 673418121 838423757 821466505 672238047 119194787 930036459 717201331 305647645 122724585 675455141 175967303 880643715 828031161 58593993 3965837 985764451 183394945 200577895 484368463 651701461 865391537 980574943 508128487 494825399 87300037 617991379 564147763 688022709 84555069 644887345 64060569 578335805 459715751 37966637 645612293 986817159 902320017 321395267 733378031 905315477 136123287 83668277 448577623 847378221 598751069 17203987 483529409 722917855 431136139 827679279 88020027 74719239 65954771 965461285 589628251 508289473 556129777 64097243 806837571 489917177 992102565 921140347 800461461 364505691 529839805 463803515 741375105 941186147 950526983 970454935 133284797 213094993 559027807 567910099 788727687 659353385 902529705 852594553 744502437 550188737 301532621 497485347 18586215 419345581 499374013 935834535 372065697 462082895 614355573 358313517 673300915 663080657 591796981 725853729 338420609 905244703 292137547 275842869 564153469 965621237 709977221 735890791 153346969 599750097 289335231 25438203 175284823 227168507 733737245 889145469 217125305 4940679 328582087 239168963 255619411 117007177 837378031 258604261 813468213 202278115 444542929 972955725 327724547 657912509 295575725 54725283 717219807 48743431 365747665 821050843 533856633 928134075 727732619 822817331 434891783 213638549 833947193 647873841 460604231 614936867 814852921 668931741 716351103 304594609 308408313 419763599 29404031 877057113 179039979 107676513 284312475 487423739 23724677 565869753 488454835 185550653 657093711 893040769 172029485 818556563 511685071 886989551 36509685 683320373 649803675 963471997 669713797 270811679 283052617 176112371 431633111 197629469 328299903 456479323 737731957 126493887 613566181 687671305 942446957 465200733 316679469 196027289 5488209 180734485 484267283 686077937 400229957 21770451 588319833 181090363 24248555 966903365 525298375 35808493 677143155 896593891 308337971 535872195 549913747 302050285 403140211 74780609 606792585 497493613 181862509 405758003 830745885 97321011 37029129 251808175 876185497 343341525 761292601 447523853 499199705 528759479 984218617 843063413 414422327 344465917 176343883 164662355 316659865 223344025 588583223 836694617 611897713 682526021 519598291 22897031 93776819 439064447 460650805 237263901 695096795 396510865 949629059 173391017 692838387 680529291 117657317 785948417 352949897 938525507 725805453 920917823 389680559 590680923 98300343 643569863 950107657 516460347 887035301 671108935 810449337 587757843 320533409 262241203 69386607 620999389 209427707 723891525 265111905 471384407 372229393 942017669 843151439 318728971 320290881 258604603 762669691 284932935 973021945 156211839 474571959 612399397 32125099 409363883 2950999 878846085 188699343 769620325 384956731 323571471 275170793 191367063 540795593 650434867 681999489 389090167 524019439 254842153 923791917 21828737 670918689 116610035 812800643 167730041 87360353 12453463 975707689 443480937 966468403 455524839 466092487 457962667 613072549 310094331 654201617 754277333 967462479 149929651 594215359 805554895 456495951 658893301 627397267 793273285 175752777 804600949 13102171 856678441 478574189 384379561 224491751 253694905 818863219 184868307 824088079 776817017 187846037 256236793 879538361 15415989 290190491 277652973 307421133 850863617 848826581 859296325 775709503 815754299 364625689 471481445 903410951 527586181 842349763 108549233 591906345 53841485 319668411 604786013 950141357 205129287 702911085 867567071 127402921 31878509 793856723 727320439 841349171 681729285 659427689 997795695 246184561 75704989 394205493 511485911 80237451 266162439 452142533 331694213 671759797 866882399 898301489 665400859 703567655 707974153 863112727 836044033 629477669 565524915 493014171 591259241 603714807 475591249 352182127 252304713 518389491 889497119 978936261 903258465 203365745 971207839 999656797 721350201 99668947 502565281 966422399 565035557 5757315 23600183 410918391 767178553 956726515 502670781 946800155 335320663 951477407 897762009 649513931 180067367 826035209 266508917 755490925 968084505 242418363 508078279 723176943 128228199 554154311 185695819 899662279 928542221 628408389 483643589 947866099 615779801 252854619 510118977 59465209 496067927 895974961 175946773 293047783 169525985 256850811 146178009 950518101 358283159 984495601 148723317 498488417 347813473 553685847 875557653 466826415 866859757 114238839 420066347 531313265 618318009 184831779 688596597 514732889 50262527 164418355 972496889 111220135 42265805 454132621 770196735 90085667 450305519 759303705 378081053 812352537 500845565 88053195 416596529 65922145 762380891 560832923 125710175 668552791 452088877 380917133 874618897 608268771 116037991 58838955 607859963 807688051 861470655 967916295 731881245 422245115 198704567 215742649 212352183 636842237 824189845 429906151 163240025 247754111 548858985 545147323 961278933 412590859 102391567 128748131 633255239 532097979 888820515 499706911 371220499 756964909 414627345 994845483 802965479 564472455 432364037 828506583 401158071 86577013 91917051 998795123 826979519 308202799 498606001 223068505 604529027 757411957 232408241 779106283 657858255 575412617 698218315 326537619 140943543 513702719 193704085 915661765 157828503 73449959 650390129 605029369 96284437 243815011 15248007 791726771 569412381 866220313 833469767 790817917 307554529 484480247 893722859 404102377 200478687 123539059 282096753 218602895 459993307 451241611 434818723 165419285 243725537 845370823 968203023 826560037 771206213 253711665 762501391 898500717 375568805 149645155 722761923 670434221 793606883 659190139 22353939 459667107 536462893 508904479 706681263 560236059 175698167 253385339 891229711 915526117 865466107 143647047 83212405 807618527 966831935 358775235 313816039 514301161 149787921 342698163 99454519 681444335 314660609 226376037 792685821 455456991 358090223 696075953 141609625 56164281 380392447 149240819 494262067 18362747 272717211 297233427 850712507 21348657 999601785 461798015 69832937 659635949 348196499 483165229 896093245 522675911 973607729 763239579 355162883 262444517 208313821 29442767 825034053 775957873 544511337 663282265 415445729 507685275 565315831 712454221 566213747 663973021 791287013 372210763 648492135 741348283 308293605 645193593 529409515 557313599 52563431 149102979 90734071 813030523 183324969 227810723 291240011 877471945 807090991 647848339 573899377 164928651 641947589 579308189 365864631 706566443 115405823 251949197 5593913 685438237 855949113 596221115 905817811 902988507 869918233 233209605 612325935 565750757 114420619 908705999 168768703 116511175 20200385 525113865 277855673 942935825 885833531 858786345 64464669 17535585 564208569 715617069 235395251 796858201 867951433 750980251 611623695 667598239 525905215 485740163 523701893 390885865 252686137 419604601 331949111 386217199 853383195 631386781 526192397 736139893 271048973 165386901 850872503 660022853 436869257 204887181 465288879 581012273 517679433 903133247 373347123 196192275 959901519 664713191 350105675 569621197 365712107 1575243 627348169 962606411 498283949 554269881 53517125 206497405 871346549 822837769 147021599 73264477 773270375 135690135 488271743 613184497 136681709 208554315 963593301 456354365 225752765 199164307 414474585 465424217 261706707 618460261 14397197 505712733 759779443 501731905 14684087 981243245 571361063 562605865 523677801 23087791 961201607 381779887 122121723 955735385 964483695 662117863 375428107 140682405 389376641 970035825 241789957 176797395 473365929 946162035 313702423 762123311 327199453 547200411 147918905 633166347 865664857 894581021 171421485 171282881 119383969 54154939 217387385 114126259 544323713 212210361 745314413 119028301 930833423 828194789 669390629 712535295 222304419 541848215 670419837 752901443 311443943 479958957 559814433 845954973 759797185 75118987 234841213 343965847 978488171 378621729 461003213 92399555 527657053 558303973 12372495 173698747 363643741 405368789 997194253 934491683 472962425 391169657 279028055 964543649 33500417 99286493 235595587 542312427 426414741 413508247 548472819 91359163 382992921 939152327 989787983 601902801 514699703 450097171 431269897 231526905 200575205 636632745 373191317 115734789 60873565 963532861 254833719 633714639 757291559 857240081 81391607 49554235 849719947 644636905 261803427 363921967 52936993 433111061 422269141 651259553 969772739 787320937 285004269 787669131 593064343 494234435 1215763 446111469 348721159 308621709 447702327 107699411 561114057 118785201 789582611 62312015 846204633 846827431 48179237 943332219 356621947 882765805 894949813 599912315 707402299 588411531 980625365 932981621 908175597 144409357 801410653 936321439 770756527 961108617 67398637 281474611 779739875 640788639 898018027 116429425 530946869 568463477 561256587 321936807 177947293 759993785 253730757 530378787 220257619 657181601 774392917 299891777 597026525 962119147 365927879 544278883 875662599 30981597 680695403 406463733 58334439 170338629 143141465 455066983 933822421 961713019 382129775 283743541 61290107 470629981 158136665 822549471 37781953 962350927 871350405 181076209 213653467 685355585 957772075 389364477 135396169 31644843 422521163 490560669 626232267 302978183 706777775 581110645 845495153 610185567 594456037 99954989 428937099 52495679 677736777 687340663 352036281 554817981 556764151 164748301 191120095 145719033 564033755 753053621 950759463 47926937 442936225 541422389 369557511 420863179 326538181 592921441 978911035 417674053 119244677 901880083 470608325 295745093 148334315 694548527 645779957 193652625 927551173 546005149 441011549 245539705 481174445 72299343 449072091 756103121 98881283 797300031 507436687 206918903 42741743 191706227 306239723 151428309 734159459 692518129 478806431 515957717 425699347 361629645 73391017 94387695 491280771 888162849 329240397 946439075 332142331 616892433 369126679 937580277 632665993 907848133 643948763 967548019 598236167 631040111 691365047 110426675 346530837 85433675 890179085 746297557 508926235 182392473 10850443 305340031 991765321 475010725 91645219 388478431 637142679 35201731 544982803 585809707 10948039 478541385 332297441 601275681 544002911 243761563 87583061 136403975 982409393 793263397 664148615 948830381 448257237 235164247 590432465 2021735 315747241 616609965 458514391 36459285 111101657 828293289 624021383 494573595 948117203 698004691 856722709 961391467 128605647 284426431 14794235 426051959 372744399 195482121 30925569 898079041 956557465 186060111 57904431 979075915 792383165 11197759 259994333 663111337 797597335 148064649 153536677 346757099 755046979 800536041 438277229 124962867 986090413 773942047 571672671 854443561 785449857 784485369 290136561 821050613 696873019 925097029 916383455 579470675 971466523 104734175 986908717 792472703 773343013 215263659 718602535 683157825 886497839 221707921 720615009 105583331 205441485 83494531 997823161 950535233 460248161 662072701 521702481 980397747 406709781 526375039 778119061 264533797 784686037 609900183 702371899 454136577 397078621 98941395 627353665 23854401 760268587 709158993 505696487 668072799 459325833 75707183 284192187 128470117 238701445 46295451 819669393 694476767 846527737 376840645 20903815 720072421 598327941 199088105 30451199 366974741 94264977 726305609 822518695 669303699 439432781 758605101 89088627 983801871 37327027 537667051 286398621 864181695 16217471 2578905 522538411 702216289 956372031 830455389 52889451 550993211 357842239 756125917 323449583 627884573 267597465 593575377 23589267 893879899 394030893 435687343 620018683 624838613 637370785 969718265 48007445 120296433 42420585 829750845 198765333 709996187 78242749 253372681 305724023 245421389 680719513 562789627 986936573 199437825 645308361 423193521 289181367 247931969 800298973 352237785 795809015 147195929 138707757 482384165 631756635 251805985 893030615 22312779 730196163 70441335 893935559 67879699 318358113 744806591 332194731 124883013 932968101 132159785 106503675 504345009 747901517 804940395 942193911 833479731 798756189 783354051 359548073 652308911 534536737 329743863 46249441 395354125 107504173 983411799 210639157 50035263 266769759 956152761 208346633 774354241 968904409 296261239 789922177 630936853 89725447 233417853 459493775 25243589 964765089 100571703 3750381 834045537 38360223 375308697 878998299 59349511 981795655 281798437 165157213 145859797 298056231 657524959 18325961 372639993 478231311 549163349 95446835 817893285 581966367 790456991 853239613 205971985 515340985 205412699 152485711 487596159 334236811 155471277 92208025 308469565 75730569 330448965 423132181 76071321 561273839 296001881 601910657 716886257 51050815 939793831 899024999 973793189 936029513 472408439 960009237 701358111 887439391 37339541 5722533 995317713 208907293 792386135 658015991 287739959 781324519 838035101 487646131 855643603 93217901 504729805 642080329 274609967 119034847 891057619 655717617 395267035 393140409 760367657 594556077 299740021 165196739 61553355 926954563 472283291 404962823 285636159 737025349 794014715 837968857 960793491 822581515 175480647 154699735 871571295 994469301 779511351 674623971 316411585 511814441 105411983 731282985 307420253 630874139 654884375 3622431 731862371 565307649 331849637 808291201 602783881 218639645 830839311 225379155 876652303 730035061 758307899 300804323 435654583 11325915 441067281 63338177 682123731 735508453 830227077 619661773 832367673 810176503 590046863 561914409 512577093 623066677 798633523 117771843 718668509 637789075 735574649 617250765 561502067 910100679 130843511 932017351 805293307 664508753 96108869 946355825 630371059 674782843 242450179 948825 59526753 153507925 308111329 763825493 914216659 913216693 915514379 383482495 270085473 532364861 987250623 221456957 152218025 70806357 832733759 12507449 448547023 372167983 38712533 772391783 762029187 752961217 129105873 677232391 199521277 624204747 735356817 86068123 10562807 929125845 342657909 442253551 780808379 120320307 946799335 44395029 758621973 900360185 865828955 533395567 647090011 916313865 950885961 605097117 562733421 526454539 218474549 926658443 828383921 232822639 895200679 297089391 409477909 864425327 483664181 547342021 809391631 802721031 409715063 565871441 797804955 911970309 968693775 566428959 97937733 552090869 322153639 148653443 467304725 557752881 359293937 929017883 288448677 895882457 219779755 222098377 106746899 204023253 194121873 8940473 119318787 843258581 95374195 531631715 817202085 555085137 77260833 491566207 53488049 362096521 889513845 849849875 201888609 340852617 95189327 136331115 665058943 202778141 605339551 506911773 657877335 761579485 862856529 792479747 53990849 51084333 475832165 469986881 721059865 829707825 495381975 484362821 705141319 917399517 142434487 542038211 797802679 323853543 607666965 388121781 508998499 592341969 182558219 648068707 192282823 199138017 145791931 750198869 248370921 338122535 969451087 92771427 280559705 484320127 537213691 363408551 788322091 402262917 762122487 98838151 199533055 244828325 747079815 303321005 353532665 705321227 51866613 852953359 655695051 445089459 934305937 851342825 102913447 95211099 813922233 182297277 273928271 53919885 247418829 858903643 19888389 154535065 371120951 869201109 499548315 850686869 872377707 186560137 23010151 395298659 356269537 863583513 711838789 362484139 403482909 89824881 838283165 330531549 326475177 230867399 677994589 724429107 206731031 513905815 357451003 603982763 669802241 39891879 779424885 546875663 62746121 621405695 860591441 557187821 759384281 963128309 449981087 819646111 41831205 617946663 262680307 195340357 47832229 547218039 876347245 792470983 511768605 78027027 189370545 985307093 205918295 871377261 898125809 705971943 880749349 412721477 629456863 649600063 980837473 782419355 803606461 487107811 775102701 80784829 615022671 208001189 435172787 875294785 812907747 141826333 388349607 414079489 270223439 583408811 101160897 601056545 120097781 527688055 640297477 994173455 936125623 376427121 500150909 179394687 787665413 789975633 297016123 401940077 436282581 129168023 896603225 815490331 704836261 4236943 942047481 48935449 655646331 7260739 699482693 443965497 537877991 80704401 757067889 56102551 493596669 509563157 355941301 300496281 159625309 317770555 253103445 230240745 658034733 502645041 689215643 55823229 588797721 206833135 657994713 910632081 357422681 361957173 815732073 239629481 222463405 182975629 878278317 543806865 765656665 847256133 935358225 43620957 189840939 938859641 684829443 230581355 178074747 498985989 247285507 166239837 183187749 436837267 128685711 806339873 446938513 559576725 777774387 868798697 164938669 137780289 806621057 292528691 366418159 967663255 392448019 570365635 214339927 922760543 291063435 413776037 586732647 535864109 714326675 468213039 811551281 71733845 919147231 672155643 385110601 465471993 355505193 466858477 29980879 137576193 551617073 86086195 856736617 286018333 604894403 60940609 55680579 778363847 791072945 66070481 554749719 363489597 707019477 628265963 726962719 225525639 222071569 675471831 226460965 662004599 428265295 900899117 181865079 481050021 439733891 204136903 194964967 898479985 318635943 311290059 821595097 277399555 25684155 86691235 358673967 931212107 317753291 689438981 115646297 405809409 645559785 64077803 366099789 382084519 680233519 279227037 403378313 33358723 202209983 177311653 750392597 406519207 887242179 957853399 425974141 420632299 947336815 344052303 63329751 255393007 932093949 523191155 834831555 352188185 102744749 496831471 48798823 367955357 600971979 464459445 660699503 606408305 856563113 591571715 745374229 867152471 956413089 193728861 900125461 915176917 596607509 916237455 129003189 617622587 649771633 626987693 184210883 788867237 343535397 470771733 976643223 519471855 699336619 950693481 739043853 645216453 664714377 435082135 621768335 823644819 281987141 858076369 325831943 313646741 39072371 698961303 845407213 303441865 705981101 419307177 478908991 479254777 4711829 653937941 597194885 162626485 460986839 502795057 183118795 373547347 393420067 390887831 616793767 100709365 82149683 601965611 591583801 68977027 557491403 516875035 422094631 930120879 539295925 582869467 351191711 801496557 345585861 756842535 607136597 391267969 249929937 588149505 931249291 904131443 609172413 672888761 654596357 785245329 894431859 963066593 673617425 347999093 331031785 457641301 76243591 124423807 882601747 455413051 163746757 132998615 376399863 144740093 396862127 226641005 957057697 362206801 452020917 914463995 624714527 739461427 933613775 107654399 591250829 588983527 89703031 464730561 503635213 30711033 381650103 744756051 198174411 115412029 92451099 470737293 464801527 466913231 85997241 703901967 661150155 485898773 326969137 178898495 863893133 375193019 323830185 540223569 676099203 756529331 811222991 331127869 494545409 462637371 632930007 158226367 958950241 25957593 825702531 632113763 122966021 456916821 843065367 712467577 67378009 524747205 700424035 576455193 121639885 883716999 796115387 627007521 421094365 252546877 288395519 825430333 636869897 948654549 827415187 664590555 985111261 826067331 611537511 34660403 675089389 453260993 31530481 640337221 762482383 690458967 306830129 929212891 231507751 508738893 202948009 294276229 221054625 277306363 393592171 12787609 692568045 819531003 536378381 247997497 365331911 525173553 656501675 233662799 858525167 74997709 336545773 605831303 303835185 115018557 569840385 566089565 492798303 379137091 863800989 796573199 961034325 229102305 607454975 752185511 770281713 676984163 895931885 315225075 863987489 949488989 910344629 970745485 938671061 560402091 226785839 237395413 739592713 866065523 380188089 922928883 580939709 724676639 319678009 138715609 504012029 275988069 244260379 63666235 158785757 358673985 211094359 583251101 731410035 396514807 474601581 162882375 968761827 921802773 205713759 271531335 113740633 301857899 784188095 695182711 564285957 132087575 807720611 300851063 941133603 341651329 608307623 107419823 584749811 536016207 162197491 851400015 1022915 553722747 323220021 937355087 516478177 189769021 526884515 288355697 668609449 113189147 18152443 985588283 570240639 827630563 124648067 515729663 961250761 789718949 142000907 420228309 902894335 949900993 219294695 828710299 162789781 46152921 323247607 449756925 301395475 762552795 523176863 534809449 847654655 518004987 451071441 7617815 519905773 920707509 766825215 489014537 188252281 347367115 430289449 163197957 463897409 380317517 561380311 498704283 950895859 474377613 733019925 444185895 552687935 611925031 554002555 798643909 678525921 834345217 700013861 957394017 294289819 202299461 611680187 394274983 923381557 259064169 375544683 960870931 978340995 167651881 416916715 86413285 421645665 193093513 639545209 718389537 390757549 92831445 91987933 456163229 598466901 762676897 259789665 412653805 350784329 860393929 304539871 721690997 668594821 713540211 608145333 338174297 400100363 137286923 1787593 49938315 427920611 809820995 316003719 306274501 568171809 126619417 597338345 77376133 228343521 473701841 245377641 439412757 24990017 608542455 327281937 98125187 340596591 12742497 717798509 423550633 517386653 694593577 685162901 265602599 287830017 556145587 932521509 405326949 79138275 928078509 944163653 479029395 422451849 652835593 739105955 852278187 786648137 40714503 56589173 696847721 88201593 928322087 971263865 257353051 360179583 571742263 753438711 506276301 306444227 431414349 433854139 40875225 734553271 381332931 503818523 61067103 547156695 313904959 592909047 44046853 628054949 256697259 385052083 175051839 763365033 650258749 47632705 895731525 121648759 301597295 212943123 920113427 196164523 254670601 597149483 87688053 639993827 588541717 418988813 415516923 383728845 497997287 758545607 249101821 415999771 219268891 397912561 935189401 223103365 838910359 217595047 595402939 430815181 860958853 879829139 212690193 359944129 710448219 575181791 414894099 557973039 877552085 187753539 925855745 373634549 248243447 364340733 93959909 595599601 426115085 626592979 698240399 10615057 693873837 751792917 207505045 646050631 349307567 340676247 849383771 171353739 376240443 442218937 853043973 237671135 55796669 135655521 573926791 341322833 251502311 387702525 288671893 485898223 454119865 149407105 37678773 663702231 72289907 57696879 379588649 756269353 676236707 119587275 317154823 443590927 835876639 586986019 174428963 622397883 396299521 925136271 250344735 342937705 258443437 971495595 698391395 821063003 479645137 769261473 202673183 394622169 94172513 174521627 432387917 757354553 952544919 752793937 936767403 582052561 409056251 200527105 861680067 375260935 243735637 812922995 111173347 408648515 726335421 977099377 761168421 804160759 572902029 250420567 106468713 939002273 755788395 190471167 366705239 480889277 544349505 903825617 545132895 458575835 646999109 402704057 995930297 694785929 681570547 496199217 863734119 772798565 957830159 885498421 634114095 273118991 808187557 820930891 805475491 508092465 344856841 796976769 296429595 131360637 710251479 687209071 704154295 808716463 491462901 34326577 379637853 362644617 870012559 324775025 250719681 15240661 420171799 237317721 556762457 527264355 852873035 292440737 953020519 147570193 297861423 631769735 880516593 69953471 24933647 987303635 638616521 313686615 860235137 871309521 751486341 576133579 870419805 181904727 400688009 521814551 261698251 740338629 546190329 711405629 779206199 456603393 882013641 461272903 317344597 744883321 943269807 410513733 446308895 669992227 22553387 304239189 186336221 364755579 745941895 440931735 855992343 584135053 573546195 701159989 811068837 815954401 32338149 374255713 707586465 613256849 399456351 787589209 550383215 259416379 201664937 40225625 268413117 189946115 17945077 970259633 32892031 765437337 383468089 390581425 412924913 678871091 887057973 884153777 589116565 893320849 72988017 70159127 339037243 60048373 552929345 254002763 857349109 685206577 505964217 310895553 202237215 426144411 906871739 216785393 480856671 534732047 700027375 635404895 232878239 17179381 233998021 875158165 673336343 282913339 58989943 435912483 220518205 951943765 371885057 30027431 433081819 399025989 860401201 152317633 981573627 530127503 431766675 30013211 373267187 244271171 622980993 184460905 360986203 129791989 503544347 461308259 778863387 225681349 682097993 661620685 39148127 510920023 82764475 978969455 202805401 711170267 845853161 789998367 539014279 786782729 332863253 815476149 961342511 233008923 670466117 460138259 748062169 535208411 161300043 363108643 845976859 517120149 773508541 984784601 519621075 89446687 722436607 426233645 994594085 126332377 118684727 671097379 388058747 927816873 325432403 97733059 84660873 81491965 216135183 743128867 3285583 90367435 410691051 501949787 298800141 117794449 107811373 303419533 134408275 640264277 972917733 949559523 549742323 347286951 629655535 594080145 575620105 944140955 801748967 968437199 837430009 638101457 498321209 747013089 189773683 187494253 223876625 971410961 328941157 469320735 571688555 337866673 468263185 670936607 693176069 407573529 769084409 881798695 256925801 157195695 654642153 43953793 11289063 500944605 725667573 846307321 741950613 216411921 998623609 161260775 481220181 539758539 494737179 619355687 610077391 60871561 133310919 768029729 819461235 897260757 122826415 552658371 561906043 156749637 433992529 810900355 365073125 973934193 466138225 110367839 80510843 863001851 175730459 847394013 538470603 620389773 953345445 275088397 571178031 937945563 475141799 742631555 415475655 54336413 809604617 827962719 802712955 249117591 145490423 213342021 537554427 799500435 137516517 147253607 839551935 149507683 260693901 50098295 664671753 577682145 223466997 873370039 57066977 382684399 665465963 633582569 316643605 724883319 752702847 941578849 403608893 415853165 156134929 808325103 70631101 953001417 408606277 759730167 995558843 69925007 408802949 7580507 94542119 224545225 598887559 836418443 109167033 801591689 770674757 497502077 802107121 832651753 994691335 304818863 969110555 173510155 155490391 715969575 712804161 20930841 165645065 162591093 276157505 290595143 825378361 973133229 936683447 920868047 77834829 922249327 709599759 417061105 707653103 665535199 122543735 118098681 445514005 545379503 562325479 530236727 176841723 235421457 733953055 465615369 953576485 918274503 569999017 731981519 218936671 208398357 332785107 958678261 807130301 362428873 879562169 493998827 655636891 201509435 196043575 110508331 913526431 874292039 185922295 859182905 960847541 245162581 388849771 642645663 378236943 431416659 665717449 864154095 722889517 761986999 715769361 896801731 615150031 59050367 494777355 814064573 75931651 953102899 261513547 846590345 706248989 432724447 992135717 630526933 333615291 23487001 864511931 138829153 206688705 556893953 319155957 823294955 965853017 767607867 307045763 524277055 97752055 838153721 45635295 359001135 512396891 743044079 663616839 674571157 264456325 190375513 575064771 304716627 348748997 210709249 441848357 35326291 97863339 160678451 385958917 266042505 841471511 428784583 968405443 893267951 494309421 523783707 915739271 33742213 619747927 870436115 868126785 378776919 556022603 755430687 757536937 635480695 958870533 586303029 754806337 478937087 398248649 62065363 649597775 647222289 468923425 327910657 13366501 382675161 224522725 932685131 248580571 28904839 929455153 404186055 928667089 156881237 432821351 114572565 555058221 366055559 965979187 367472475 882261283 129862503 361686155 23991621 440779433 656674631 574789803 872658701 765312897 681883521 13038359 219967853 679046705 618092153 251296411 140033199 159392777 356978325 226632013 519297953 59972133 768841547 176705925 96118935 246586977 353050133 758932717 962694255 630453865 805351283 523767659 403364241 838490281 863715825 802509369 356052717 925945181 727866657 801589967 311167221 386101635 284609181 127240179 923349673 748478437 261980423 141462195 44876433 148425235 762387211 836800351 808980919 333914979 198890073 885120663 498664631 267851255 933460139 465590847 558459051 248637367 439994567 534935169 360221755 748476245 419293043 752125651 827425939 282008901 549704835 788431087 678959725 359584459 507971025 620879325 343693061 990253295 594281023 520453349 86479137 49497471 683504825 386613919 714816527 644698133 963891503 598418919 576085671 976717073 810382747 622107357 298726471 880833179 961731843 74276851 885650899 44478883 461889133 450243289 780595387 762313955 339766765 403288459 548148213 619976665 385940381 505565009 664076545 736230861 994312351 290836917 621019873 863982289 779489823 692904331 556318503 560425149 520428109 897481201 381989609 993270321 425855333 17426761 729384899 104300435 306528423 96318015 968100061 752716311 403059551 419658955 697667555 221753525 556997087 170502437 403483151 357451049 409386113 913940691 565407517 383427327 372205737 492936609 98083923 790837383 747217341 144974501 686854529 666699225 327059509 580764473 890169851 355550163 665443461 222498305 694440351 439370529 687395893 474271211 602141655 993325873 24955595 867413801 819024525 863564091 292632795 671733307 970357049 837920063 209021695 741446369 517722587 843582215 687732441 269980971 738614261 228516131 437639189 219965545 896547225 220644841 805600611 525917755 944176221 795204731 163642239 955146629 299210845 655914947 624206889 596676465 319073601 252254061 97747247 982633589 420314423 745997557 383617887 554926413 653036531 728399513 307642261 434811387 826228663 848119907 958411187 114311375 295090249 100816161 68547493 120853339 788412403 538231149 689251419 693341053 648851599 675383975 409558225 499169365 868382843 976146425 965359367 239426901 959767451 911343439 58185483 75587885 400978529 438736483 73776107 34683099 71773887 116860855 105570499 133373091 491449653 511308179 952179127 33487633 846970315 788262149 241518829 800409593 491909389 722721511 963674011 257161081 179197203 889468633 995071227 439222003 930293881 983071811 689520463 680040981 151930215 780544853 845170911 906543569 318995083 440075271 69098751 460147047 352183323 115992859 200852745 189096791 626169045 642132247 458834273 165622895 416265471 83052877 741599855 980025029 148420457 975794389 637238181 186674355 252362343 442237325 266148991 144067549 674545367 613297953 136398717 728469041 168543523 68195839 455686445 684118755 710046261 863461471 786726685 707808621 299601543 784525123 824821481 226554007 115506451 97458033 677195061 893924201 939838563 62317177 437647015 904310331 344628611 85520823 379599607 200466345 35925771 770711367 172106713 97421203 496093719 164900629 378221589 614181929 532542287 242845133 893957745 935869151 193677281 824550891 670560451 535145329 32252035 691825839 233706721 752433379 533416563 676928287 576921007 446077057 813562487 31897867 60923929 619354335 30037983 14995981 833678353 755794651 810917759 110188679 219420557 690962071 72923831 241141405 240512405 465319551 553792109 314180417 356484399 6198345 11496461 987043629 401078385 58129907 283022479 246278111 763371889 518017725 294171507 372459169 991323989 765652021 388276669 79033217 554670405 57824559 947339003 24553049 104493939 133488329 279003717 329707977 968161307 679582053 811611447 106911801 814273149 106288561 586079993 564072665 810298855 873604513 103208249 620126883 360689831 642353007 383680301 572301651 689117465 365803681 736678547 625000055 965013153 912306437 220484275 88443483 924115111 415754157 382110039 925644569 59093405 697578485 356286427 465901457 467288575 859918465 972311065 284762217 626504527 636326975 254329719 275845909 18329365 693779811 204621799 225651405 513940967 170536041 205673691 28874125 34270299 852301077 877060181 14221601 262796823 602691441 400489945 581560857 104563907 548291797 152991093 77414093 247427345 369174749 109588161 998650461 790248381 76373609 434892761 267184559 122262665 828199595 338916453 749744759 318616381 723536403 764903059 463906859 870742703 295517535 115108377 195006731 307357621 968123027 223611703 84121889 737528373 401545723 423157679 385815357 481800215 78015787 630745555 338078709 941068365 86166017 521014135 456353453 30075859 382015391 707325691 927634057 54212267 386188145 75184709 329565053 697877213 194405423 383233473 501513021 659150207 543847121 504721257 478643791 990121895 887314845 38862777 334326005 750404475 52607265 683867319 692897861 542027555 239025965 298167537 450477843 364736465 648885729 34370175 638242049 727426241 212415647 937074173 160509303 616995381 453240597 127253907 156911783 181745271 247726135 695935985 45649029 878969047 723652929 165835081 53049301 457576627 657318069 193698907 164071199 687666793 958030179 830753133 825687473 559201383 674608477 668840271 696982181 544872479 48145151 759917655 342278619 862664969 456172525 692297569 690189051 594537897 221787159 756756179 89375861 449180295 36315821 645314975 694957185 60569401 735661867 832382521 454543393 172560213 379453017 850651549 823455259 512567681 92318529 42514517 180797441 266059877 454284343 629784943 632730411 261878195 870707161 529385343 949335993 654800169 751378441 763251107 544080785 104553859 249857267 798767237 605422439 91927441 791226381 603891023 551656369 412326689 249539859 103631545 240490929 318355985 150167307 647631873 69985901 330273601 658599741 87193583 513134519 964458907 39292991 997468111 360598821 776060177 288669423 191102583 346027291 694278049 384073071 51052359 891783613 878406727 930303021 127017765 121469951 617904659 833035995 474534783 72002199 599636757 527849849 446476617 685566725 152026981 879654727 190188549 706751123 960919081 14608851 261335735 986011473 201540745 117646323 949941487 643490069 192947897 983457473 737313729 862598785 841331441 474482851 151823563 85208573 412666485 948508739 923285303 26671291 141815437 798273943 25584303 390964657 778764687 191882969 788551787 229748895 597872083 962856337 7170601 610757389 253225657 418452873 120042289 381278543 712250289 425007061 835021135 192240505 818336039 146371025 526121435 925512301 439228313 326477859 25537713 649259219 260134025 242132917 80228153 450109467 358410113 610661053 250413919 880114559 328545553 383379383 960713373 205597437 340438487 129092711 492214511 950525533 78784371 823814873 924725211 735470641 827030927 885254241 922114417 945727697 92448991 382376093 259945285 462643037 421728283 232984687 867596661 974263997 691767047 967411971 832640939 376919201 83355501 678295761 160818705 902567553 254247453 252848785 960540767 144655007 696375797 202555977 18187989 243667713 265735381 396760133 573229877 419158649 392365223 581991963 609301459 199109533 186342495 869432229 279767679 610088913 967409909 187307015 799652763 782112315 306504301 909018799 848751885 213637833 966173905 913096273 509334339 972855607 848744241 560595431 955514931 388121093 539629739 73684409 950092379 126141305 351691103 539898447 977061825 697781413 277886839 11819393 186325237 334048351 524764711 84540777 249244171 943524425 516748967 686413165 180491169 352269261 424718651 517781815 652370401 764508951 130528813 520046525 271084917 569110563 296448719 563940923 833067671 989212591 563160699 346949941 739305473 269120581 90512787 351063413 394662397 116508469 180316801 122116883 159164759 976188821 204814009 311647339 41896551 607125831 995292083 992140063 506846729 316636659 327139827 248240923 973619365 398818315 128523267 226633621 165145385 235696067 893406579 689664523 138370059 344926239 823310817 342358845 965722697 767423975 25581 935797817 634791529 141525161 536740931 636618579 545720187 797684671 335918225 396928809 105536019 343967561 543299223 366521757 676084559 984983855 608256275 898865373 921572825 185091105 919635663 889211995 848953563 443592855 503261089 510716887 91686671 750711251 971396449 445878353 932443567 966894813 793479921 135393047 600685957 317711747 60073275 463212735 690904541 372177757 190019635 867718691 797798287 476091599 496670675 200438631 183490551 792120831 325746971 588633337 285011965 498619357 394751767 306350221 898827023 192587041 806585815 877814815 495150627 328705355 8070521 809325809 549131959 344234407 657019165 841499795 665511379 428447807 322721263 359051735 740072705 228609265 492465183 127985625 131393373 964142681 786977255 552332031 97516161 800185571 633168523 65349107 693899667 6803389 877870421 352752299 972474437 883705823 905705111 17897315 224335305 714962185 245554859 970155423 435296737 372659397 56829683 883835691 804329937 280615265 381540057 17777947 704510311 445876473 920766673 7525069 88552443 136153193 952513363 263915747 586681193 157867611 530484709 395674187 172308249 425535041 477178891 462104887 60647161 320308049 15105629 884753445 200419455 288411531 262072691 682127577 502040489 440898743 590592751 42297185 999678463 748685673 212641917 934703885 25240971 386069493 654926029 186396029 129168873 930060157 969480857 418437523 335010099 452065001 705861541 211067005 98049295 585879529 26950075 73422511 251635631 609758711 916513709 997156067 303874757 284989777 83114069 344950561 338876051 311798271 935339925 296530865 204829917 718504147 203795801 275892267 479734257 320141413 7862929 354248297 922223015 370318357 882215479 929720721 447986779 677476619 625734223 7949581 906231799 288987447 210546915 912937363 79675109 604710993 628218629 929307677 667205405 558407899 917722575 846113011 664695069 209136411 995378531 80291999 19619051 879204899 531997165 440837365 553793303 461869259 495146653 715212305 344441783 790216371 803076781 338188633 267780455 797367105 797830755 885053049 368579149 752715945 251035141 359104099 21856539 107279585 51182311 470435925 626912261 23894187 86701667 277961427 812225991 706495117 641039067 316769961 821522603 858914775 474760377 961671147 379276159 950249893 365120369 938118391 523260053 960801747 844286077 618939247 170746577 314256909 20019805 52692289 37552277 189030079 124565917 994737055 534995665 487179301 387965391 504216585 508525565 90237245 841129101 501134655 210016019 845088977 499874939 854053967 42582683 636729457 466226751 409632655 715231653 726454643 869590415 179018649 584195783 481015801 267559461 690333777 762592029 990355435 715636929 728892389 15297869 827620859 219975215 154009545 273258633 675903133 219103297 17738681 146528133 901683989 131782353 301832887 998556543 531230315 222079681 743592467 381827389 477459565 470834429 249972319 317661709 696445109 141638517 112746615 774264519 286558115 686193189 969899649 493881545 737938271 409516045 20452071 838850295 394777817 403310649 762914143 505857729 258191051 601457851 781744613 518757661 280351411 603622317 865761213 1896331 25059801 661551155 331870835 480209165 13994575 259346803 828874459 387962165 675092461 298492323 727368209 359097625 941492563 123431165 323997819 746749013 489523431 84403905 199009477 946581009 176170973 827173947 837172961 672439801 762681645 65027519 789861645 639893319 209483923 369118627 392778447 770670007 557044635 32854859 430416879 872703119 323641493 239902243 830346627 953848221 731675033 998763163 721505001 366417465 305892741 6329645 704178883 660399169 879140613 917313887 81661951 925264153 96821127 135065783 311534801 232822963 4665411 330472393 908715955 62416001 465215801 681271599 463274093 906537091 169535027 832853133 487931655 837089345 66841025 386354569 831988441 228304327 881825849 386535643 471741821 273160365 69694653 212074295 425575385 786665231 82381367 85169765 996382487 887035029 54129235 711807019 917624749 201296747 217955469 666900829 117093973 851435339 608422691 925970645 33643799 526439025 169343519 385758327 629514813 342151331 796715087 339570217 722717019 29673521 25977421 775134947 810776653 429264623 545984377 653017497 543822905 927561021 476580093 693079123 772775049 404919039 866179269 285898519 845422581 647783589 335263371 290594553 494706549 935906855 526993105 556225811 158504783 713567743 741230559 195915657 568473103 876257335 717843651 673531523 357951881 332526939 57399895 584303923 761619419 175059843 738433083 244316885 342560359 299432779 971382743 28319145 498383065 980168411 564716379 260395515 89304617 119434465 71868095 899651869 292644239 592053137 960374981 514792555 730986897 53925293 591516147 721814595 177353469 467861371 352538011 598618899 775495651 983339461 642752213 823900235 257615011 493125861 625103233 466997095 234008289 220768185 520072005 597063913 539570823 928702119 946322069 36869465 359032009 504541339 295482791 604520523 114061095 277836301 858965373 207567193 152495713 585961469 509113053 909978919 927308679 884098799 823274839 138223197 804291819 6099953 152376391 138640045 608169257 18115483 701339081 954761683 441401383 384802057 719496137 321130639 386435599 187980003 562893555 274867119 927123543 303502423 439536067 483729153 710131899 111591963 768839033 905123425 221859391 128912749 951011611 469421747 240097327 349675795 266797689 409024735 88385823 6450269 115136301 884742359 96142315 717852191 789004697 429730967 792000185 259889593 9857505 775664415 55402997 232681487 122188535 886260093 459390801 361067155 73996181 631911871 444271819 19812919 851600697 180400129 927721383 860651133 103756589 453737319 419742577 365525609 267181439 279973657 784286463 175683977 124611081 572687689 472813419 11606773 796632939 958754355 590555929 322060873 756122125 622105881 562350263 612219565 440915231 144960835 412194359 628707279 186984859 316637445 67005401 516507365 300127039 444917947 266272029 657186221 286937491 367737283 820763089 848926573 631797481 863451531 478247691 347197429 590407513 264436869 429632037 804020889 628079555 356453161 230327749 453268793 718055629 97160441 225785557 486480187 823301611 831015299 303170443 567249547 227157077 168026453 800246881 207708323 387657735 509096715 934225183 70303615 24941261 746529865 91368399 521892003 539954999 441837239 51448773 218634275 434358173 336764167 100095133 771202449 954722591 795246069 958093629 374901003 101506723 287872323 991115471 423658553 795152349 729296057 498351561 529307465 955935811 493474093 732229863 653059569 222187541 439046517 835900461 465222255 592922461 675234167 662264295 370975371 82644715 159626011 506897835 10321553 264836949 437397331 210036561 134326871 461879295 25510171 294135297 946611773 417420301 188552821 3184423 615424041 121441651 735318377 572384117 158901383 16561637 487468301 700830187 700731729 217673193 985217655 45560009 941880577 554973633 346971085 480366749 493927329 620288131 400111927 675831101 265298367 419757827 869298665 154375875 248231279 582728931 236890907 476674707 569707855 254722955 766746383 139650139 114947975 150505773 853489683 936868111 347874501 479928765 536924021 290480617 756948287 937916415 911634579 376868209 469581237 773500539 801610701 145668719 272952425 472224383 907773325 664677115 307681837 331922725 986109253 471882095 593161557 244286029 188972145 824619377 234695873 606641055 178939795 724228331 262063831 373368715 392416563 949290259 744854149 582340681 901669607 343704933 722886719 257121499 490823237 33691813 888730375 185388551 324982259 945678303 549203809 194006367 964885145 19723111 796549213 612071483 957256683 25589209 452857487 161131707 283553 778845979 6008597 236533445 797364351 330315609 660085399 336781069 523850061 502199813 749057091 710650377 358431201 108663005 713433809 822951675 896309777 228648677 998167931 420626153 687177923 253495145 356735755 707079077 723012319 886643455 19497675 895710405 372507225 277489791 407630743 980289197 402487593 616884243 919809225 853579137 147307091 813921313 323456329 20551221 106203871 162267747 570908803 110777215 92201699 180951249 723839345 639202527 796076661 135519411 622296975 701988255 42206395 371216273 136162275 767108047 691158749 922994243 647483901 333215045 276433679 585554915 442716399 457463459 396832137 593616597 138218077 57381459 520834959 377612743 914003305 743671681 186260075 148439725 316227013 322076457 239921773 570694595 909167267 268536073 166289907 947100299 701426627 709806249 384442461 417643733 848548973 252438621 226041621 368250803 262479981 277877817 486419085 582981761 189179161 350632223 598715715 174481381 15822929 953847223 686035123 292797641 895498107 410870129 120048237 732204901 117368965 827729287 950554881 554855985 819795685 463355895 302620423 407273713 329662617 192440969 741741605 972507573 311701287 423316431 699665925 388343249 467264157 327668769 263486293 712322269 234109587 54552735 43883219 220474305 265956135 700888625 959893569 283356585 694595583 46946951 846480233 603838727 35420487 657818393 281594141 593697947 102096567 320339497 575844405 340416613 422247055 503215037 408605847 993412275 550277777 599323815 292097579 371990299 964734735 752073597 850222053 104287093 732431839 137627043 774350525 295779563 945864541 154428479 988950711 730293477 501682545 806217535 568037853 986123287 982235273 87919711 67217729 214105473 783024795 779645983 712524795 821607267 286144037 489283781 550601777 130447437 154053933 858791779 156912653 877219857 638462017 282569935 793918653 175139019 953321337 683835051 224258945 856671199 234009459 292359777 381101207 462420733 343212117 274528285 832488009 527259925 283973835 534751707 264912365 784455011 511643405 141312089 839822043 976281199 216851419 997554209 228418421 194792195 938684793 787651715 933797925 470322995 232212661 970619029 734895199 372942171 766370277 70959161 783824283 948121377 214279147 280892183 834824797 452415601 953080617 978255265 226508079 785491069 880653453 165276171 544343459 368698563 593315473 663875929 919282003 211928071 226880049 956362835 779001569 529678165 872815093 107432071 875723511 156867843 9273063 639491919 215907145 653213097 586020257 882250955 837503375 601809711 513470785 510421731 533877389 328220097 4630125 799912007 333884173 383222483 561849425 190362479 723469537 863096351 260468135 769236381 176373217 75874475 294877609 338774489 574502131 661875653 68454177 744684529 770370817 693983741 411772763 330070397 63414779 679537203 966181679 663567585 77545947 605034123 506731513 701041219 845368229 887102831 71516321 543500435 22083683 709790869 665801365 794462857 705987623 676456951 658582731 584037287 998567179 608723165 824747713 145731379 110836785 881764561 668922239 78154045 957076675 563108007 772460175 593004961 618221301 637869947 478389003 897415931 511147775 24362419 532924561 276172727 532456485 388913145 188436039 791197443 421541809 797188163 473008089 238244311 140731381 520069325 414319745 441887731 804179787 310589723 81555449 168394465 404772629 284685049 569865099 508648689 698377917 527529339 560947973 365669433 901608119 383813629 772837817 467515291 864380797 249928487 951214475 641921983 556095119 688429023 106343389 908897303 876596601 812833885 558533279 131164633 647439565 357303071 614596423 315405061 869036325 114602469 403612627 471736165 134940195 192227517 765467593 68073351 458165105 258333949 587781945 953669573 1741251 240080957 367936439 823873855 89789905 396454247 777661795 377829085 515798369 781670307 269267939 153295439 850347577 343239525 704119653 592231183 514430763 591555437 602782621 220793691 626466581 465843643 746837197 477456187 249800665 830832287 311715001 465642369 352792925 681953705 989476783 107867845 937307799 594775739 902375303 527804519 20720255 45047027 269365405 316152719 859325723 114215873 499797209 127547437 743923313 838579161 399350441 731684857 287122837 249060407 107521541 236810101 943199137 651575071 987216743 707009255 695580855 55578395 259528407 879795041 837174017 295462917 342206693 856148923 511227315 396357619 543851941 277183381 97947143 809027661 231444919 794998357 597947453 250146493 647169857 636181039 729037473 857189945 116514545 763557145 624488581 164710397 290210043 630056405 259688259 560492173 125630497 605085929 666627389 718133943 510459559 683833765 467426015 354458251 908050779 218580773 790449049 831488617 700294805 430377285 832970981 3425267 424326451 135617457 162415431 99908885 72688025 674337493 381361995 97064711 509269175 886256365 257589375 775000897 972348163 135154935 666825343 674299531 450494845 509823933 553262061 410745837 760989351 497274575 768959859 766239677 598940563 92519811 334464709 662104217 688910549 461768699 237286301 19773029 706806157 165783071 209494203 908945739 257759329 399287969 699864811 3103425 477509759 176091637 254858239 154109057 525125789 579598175 374990801 77362067 140600311 880329191 179198277 403036479 973145431 671013211 475469633 60431901 851116555 605908309 576576955 104217353 398318823 636313653 445344941 426756643 675657545 128242723 968450327 645227997 269108251 950968847 981542405 408741351 498587335 635677875 743524745 307281981 664731205 382956429 400901055 677238823 670003731 835733477 43744709 757782319 533933881 990100429 699519689 352693289 850285379 460646685 883706107 690772019 407716167 374688373 301718677 475790255 166308069 592183869 7532253 588982603 285477699 976043427 410491161 140187897 209810447 201051557 863361437 296406263 132829823 611994109 948056771 193245897 330412113 20851767 717115373 15538747 764233419 188146851 150446215 372576867 196081083 979492185 174767361 813571739 167530105 317711671 133805527 140174727 65403107 503279337 518969481 399650325 84815965 34471901 252327075 610740343 239218905 86549323 406768311 563522349 411419593 211404595 841418081 609311735 614986541 977421151 941927999 41945829 537381517 469878367 514939647 346786119 986516981 627175049 94956625 905820351 898662651 891561727 43406065 461005355 721104321 184643755 976998559 583871163 60609511 802998585 874410791 565727971 671481249 393908773 213598043 616202591 414472867 337324461 329968661 681946673 812141355 227903963 179144505 253198761 729941759 726405501 865978543 591982425 323666031 677357869 159910249 893672223 76530511 443613771 324829283 197352987 592622077 67191809 342409117 247005631 808485987 227424827 647693603 553308859 304684267 897338547 362011143 132032525 721311119 368147947 910368101 431374841 267605705 138132523 849387355 811041547 206940835 816419457 141940759 593860375 667472809 564158407 720882889 469151291 335446513 114055581 497033901 321914841 524059165 249515883 810060803 935921567 2729039 441673057 780160793 23127167 528421173 109998967 993567549 812694969 938634505 919241327 289184203 310853581 800478855 970986191 540229925 929577865 736040949 812474857 167447479 509576963 210653731 529795285 411406065 880351381 204831589 794868595 15195215 839014371 801883291 429201769 255675987 693014235 941942825 959223595 207514501 554863281 370585857 483037423 211508089 218203871 775115669 722089911 756428747 959014957 603428071 968069193 416218905 99503525 992977787 591947831 889340433 18755993 593485407 314760919 220032611 985322155 615581225 722158155 8498123 292302521 519149051 433467517 888727819 200604661 328812663 825387547 824632043 627278799 374223053 588673435 208344895 863235075 41565617 640250435 159840227 527078809 569252967 303971607 105590197 706453979 851421615 113444839 31762339 395650909 258503899 806705229 446476701 182974717 692629695 741533355 824772511 123603165 993946811 487354661 24058027 740330857 221935027 377589933 498878409 167341145 415364377 441863677 603447053 819038629 746615775 178483859 165715091 881310867 151919495 308652473 121454457 584849071 133230867 867942781 458663661 260733133 24587799 729370553 656866591 676962827 982918563 82431757 756235851 888927947 421947739 988388321 962835891 791913403 476928097 497058661 870410911 348507343 20069989 320636051 670047077 170745921 826636445 77479209 774036059 641912729 82101447 111051439 309208807 513610911 826010665 774371191 89205361 590477419 743269011 242386329 568469355 974547543 969562969 105867253 305730641 158167303 196323931 752792881 223330467 201654633 549405951 347132097 796645359 461310385 461549873 810244061 753279683 119725659 732824683 45382785 1419197 73943339 258340519 10327675 965223547 62582315 522717039 370430037 613091499 420748467 331970257 430133869 753659135 651809375 57573471 93817825 121574959 838671887 810690621 9185175 663228925 719714037 154234893 960585539 90183223 279602049 746705919 12478043 476987307 139279473 927913929 419686687 642388791 456708553 963031465 841960857 535538361 819771861 581975911 830801561 352632351 347104809 339937613 231153333 517729371 393358499 288092471 169930065 3477605 959226469 596004223 6653841 808937535 119518429 380044299 823057769 504123383 943189693 325163341 968871565 753818779 198740227 835125559 399201667 775467849 285331955 602951755 856696973 216029727 593610779 34992269 735852225 339940683 466181451 730193547 647723251 190670335 616841635 346091613 820434117 978981235 381721223 506900129 817420191 409940971 474715039 728422267 130765235 892992431 681692133 524154779 192361717 237294101 478976147 227311927 339294761 913430131 549766187 306073357 707597271 299168559 292510077 715743077 958177101 508607153 757614747 388229899 83207589 384920683 971806689 962184277 101396671 107532761 223261939 486801955 205239875 157080445 138763713 686693595 187146913 383950817 329638267 407294827 8267793 96568981 124046237 720653383 700326293 839002935 524173039 51956849 229567987 494902373 97878651 930777709 954959037 801022671 115803285 233573193 75292491 436888097 34737627 752504221 950527933 527687705 119499311 685412999 747750905 35955577 502483389 189231275 206211251 78568713 49084923 461635897 406526049 36458655 540613797 927579879 672499781 895824403 569592001 997428469 166087013 76455493 41181591 237472293 574059923 98844195 849324477 416941001 220255333 906947487 659063313 379158711 286868031 111437489 717267125 572541003 325823301 836094557 723247127 58567021 773333099 527418285 463888873 904784777 53943399 632010929 547616811 270155161 297255609 152871303 722362909 227922201 817066155 633252175 709653327 382302991 532274253 522236723 705782929 871998729 576589173 999873381 239038723 419345951 70422213 1932321 327776009 185715695 454127783 474229929 341823309 667660189 265999431 847052871 334122949 710608601 124456609 429870411 414471851 2218203 951415667 717391891 443454855 164497245 417889861 254993407 732977699 261982121 385339243 409428089 419428755 12959627 260546809 182329845 789506355 238372441 210814929 684786411 818153897 76194803 912077979 164818655 851902431 221340095 184713415 626640217 850016267 619877803 991698831 800483567 152337065 342454573 705685745 288310841 951704445 472186435 66562741 485537497 376296595 730063987 266510701 575012473 406393663 477373899 289069425 126960075 180538655 137168355 450068449 450485645 155298581 612933849 583880613 381454205 347951693 817477201 465286253 937375077 95487807 872511101 823037361 42475547 291993763 466411791 341495219 327569527 500701823 968344647 71734905 306019419 29902625 868730349 804120789 302442929 471977497 102126669 675774301 248535915 666428743 964982591 908505973 992362631 517338573 881277727 869557315 587195139 423466777 339448277 737438645 585025769 801241055 401100239 995867527 582543183 186272537 661546241 909569593 737047885 460744463 782281709 901825041 528922885 420533833 195185817 221130273 147967649 46729887 277249935 441702207 396762965 961551915 297024233 588478221 668934233 217424979 676281157 324924661 336682481 139400897 555584199 239964963 260939367 690805867 251618337 344849811 390481163 435109005 416880005 846186243 206761275 528558507 772204981 630687229 272605527 372201103 423074547 692877777 455892425 352003923 380187665 354579349 764218885 208660557 828124517 751560491 634571651 425327909 932320715 351901243 847687367 242991045 254769067 356845367 346246235 281834853 575987187 319571 449322449 610085757 839257369 41228435 792366275 738724563 5426715 388064959 43834323 747235443 570346879 246561893 243857323 588723377 72368213 338467039 378201087 753134123 889028401 700677197 979208327 1737411 963449139 370295447 492205575 294080679 393202433 913236589 980637513 723551049 604443591 752128583 780499999 599034985 122940989 563689319 856304739 790003463 624535971 115907285 882698487 6157937 957784765 79826527 595469509 952305981 182698713 370917277 268987329 285118021 681275599 906901747 110294499 508182957 905057787 855800455 946776623 786304483 379741509 423261001 887657903 926769307 248242203 89012209 243599477 880463825 525676915 853242881 310559387 511129287 878376651 227930815 4953411 470188813 899890473 38127163 105388439 427315573 1124893 374990417 581744075 260060443 823618235 152557471 341734423 794300517 366421667 404215435 805320641 413229053 765283579 162713673 381992973 200386523 410671983 463014863 951385427 838918197 57323833 51632861 140819947 295589013 377196563 594894077 327760183 338497221 102314311 64983679 223756963 837649369 986156193 667181433 944857247 771491119 95496057 628778701 835649445 604599145 298377643 877007139 948490553 767421813 395553441 308397549 307466469 523882885 550595141 137824865 79829819 967992855 808743951 186443903 969813205 477037295 486376445 486808081 201520469 174881307 570889109 409986469 321347173 440232683 676711655 505649557 91322041 24897791 423645575 955982081 92786443 15984953 487088533 477581521 407793435 687932103 181826231 971666613 373052597 732808221 314038041 695446567 144207531 906409973 757036661 182803301 998447063 453426775 108248839 95692919 25106971 272705931 302518931 896167471 252137313 742884649 88995693 1549605 556685981 115876107 767167847 154898105 393837257 37615191 253015263 346074643 312826853 791541367 403457981 718587683 29383165 1278497 975100527 282550177 146887715 200837711 466218219 45026831 91910513 663520585 806466993 788437683 478141961 738429849 242415299 720953503 329853975 279120147 659357363 586808491 602050249 386514387 422937493 844786295 329011039 406035263 54022153 434666857 717123607 766017283 88743989 479966645 286240573 956934161 812362437 926111569 693761059 483561383 213029875 160894207 759981603 510952521 300387963 691934533 866867615 402526915 64476835 942570355 380180227 466066729 771059001 212892325 421494207 873931225 779890325 63836343 979031375 914785397 923139477 533527381 804823091 973666539 6800029 803037419 969004279 113460333 874267293 423036341 395090221 761971835 785259019 111506097 283178607 250361301 526176741 501496489 975597919 20504969 98399411 711262509 447937705 400354797 446738305 862884755 454053885 784151963 47435493 350778877 815610133 769346167 834559999 416375891 806894263 825042095 248490869 224893255 856718249 376296887 758681717 353300813 798167999 999389515 201381811 126189995 601802451 402856557 203491953 159733091 212518855 541440109 71779187 454085705 137617799 214703581 905303049 646587381 621272579 404051353 636179719 340167 382888245 509692359 918117835 715796711 956522531 122173649 889586493 598603591 387766739 445032557 579236557 470019739 459442777 513894039 344078189 622997095 813876687 998878867 235240093 13543409 431014231 882092525 836265317 997672779 981913629 204310905 684659537 443378253 360781393 632469589 337343351 478715799 107531311 192281825 596326775 928095121 826561271 890542031 900415607 830283625 776853493 48867599 802125861 493554205 418909563 956275937 433727927 111950183 274185187 46118085 884396777 822603987 387002513 525053065 789088519 963021489 563218155 333182273 118154201 599297305 142247783 203691595 125600441 838693609 318820479 691661385 590638469 430204109 606380467 194752553 958764961 464646195 442279569 38358559 103994109 549781075 80315815 643476133 821593873 816880941 130488721 932928899 194849239 277338251 478922225 880668353 399143641 627938045 349461107 389759415 547680291 917592793 470830023 718119423 965818699 302946113 960219305 116551807 925926001 574031647 564960473 310046817 30807867 990917663 682731043 872165403 368403415 386316733 24202587 3842663 49352699 138486327 803389271 95432013 737063909 167072663 124615675 767695639 229615963 992212651 417592115 95234393 820320427 145811469 944858607 195363823 826782127 621026591 510048555 878244863 649306303 612101893 320828135 575365363 623307719 449478065 894561583 687708035 623286577 199763675 61954327 990135975 567850229 775722245 474344885 879196837 579699603 47749239 591692589 44588041 263993613 618974783 148712363 68145831 369785847 739161399 838062175 955173533 320112225 881619711 750292613 716823885 481797869 593606911 856808543 158693987 344345537 17062247 357921333 518553303 118754699 771481135 677051227 325602785 323302017 749555737 202783019 809214983 784877921 148872107 906221577 608668695 668371569 550125623 331497053 722697761 546127489 754654933 297066905 721297541 9576933 940952933 451052857 731284199 18623869 729352077 35220413 377431345 526425005 145207745 293483953 275580567 194022247 435536951 136358569 758200473 35857181 913335793 684362811 369355255 578979281 574802357 920202507 29541313 856254469 408902933 758798277 741950025 384751307 224607079 962786331 430999083 62949561 973837517 716350915 504282445 282341099 307121457 906088837 225739225 5345801 253022529 191195687 302131525 143444801 423586163 805736829 104826189 37970761 278157069 371101027 823995125 458936159 328309011 761990839 306904969 221621835 45066069 319017063 48439709 736059223 372240237 580998755 829436429 812602205 951168957 229277863 23803135 570317243 218066025 363045941 822327007 115097431 35226211 804624917 768253791 805933469 24742501 179990621 725461629 591244167 521105389 696052003 967349629 804107919 541989957 404213645 754361835 266108351 206307195 382710977 17049245 696701603 365121897 971425015 590713517 292885587 73476271 259147365 695203455 19022955 130616757 817307213 529861825 206410261 778341803 320043005 523211621 120343291 627958155 16484291 458948267 275568213 741775123 795418619 642604051 190794721 264714187 811695113 437544813 578215653 863749125 35558741 834605001 726280497 200269785 907666001 319313543 795584537 47464999 14211449 684995659 2279805 627895701 307939407 492243967 141205697 316798359 271208027 910958041 803491287 843618661 247599155 426744403 594286643 682191611 62844525 24825141 933584337 160347687 792908463 336323209 852038715 553744243 784655009 691657123 381100925 456351549 268274933 734414367 634481455 996796579 421630055 183289059 804893551 541297291 103534265 24264473 431207905 37586089 129674163 823602999 236044469 275675251 103185961 247098361 5726113 89213481 431333623 717090659 701477603 974508501 35196925 955887041 998145089 603956295 240704291 25473705 719197195 360784405 504504161 608057331 380237333 414156963 938453933 856026311 330664127 338296597 502714379 178119313 411819503 9315679 746245251 274638851 253242387 32216885 232130089 20800029 987514143 868177693 196902425 745964831 849239957 774138201 806482547 137014167 40558969 993678591 273545057 289704795 754798937 810407651 964334101 321251461 458023757 737285799 471412171 377672825 216210419 675063731 847997637 522931429 742596975 464103481 783390539 693767869 387510897 220091949 67050675 824639291 217852207 363961427 22101587 945950951 23251047 394055987 582547089 575889033 897140833 951704603 406907861 65709113 704576489 760044069 528038803 923884625 540297557 741236529 218908483 834364023 749862789 44594407 912337767 483194005 810084575 748886967 459197069 309982689 49049167 991187929 353805891 155424727 189717071 494426191 918449191 274654011 281086427 936852447 395914969 467438361 366949753 204736027 371954435 526706629 978701879 392915547 501061207 587161051 773531309 859221183 799916689 807365441 603773945 419702573 935851635 225859107 846575807 325829209 394988743 227360755 940512815 491420345 817803613 296912495 842250495 521998223 210788371 738966171 779594863 728037857 295315401 782903235 42290497 776210817 771395945 204429949 369854663 547481093 432460517 144993185 12207061 249158097 406626361 852422489 14021069 31931145 972308583 20756491 695698319 753760417 201385081 154945393 287577231 835597135 502474367 862353795 785096129 705631891 379015319 228748681 44223139 196762551 323663841 924337931 454856763 786369227 756548999 995897057 774922775 259641253 157530557 207789093 767148879 117529319 213510843 276821819 22198145 832550139 784265157 465445073 39629265 100773133 167139363 426187995 982485999 763833881 585325099 399419797 439270673 475543005 771152435 403853441 216014583 902380515 656949665 221215087 547586787 546668153 867423197 600450417 910678183 689132473 373113179 872550371 325924761 354774659 968389779 58932587 606429077 472424831 460689161 847757045 935721987 531548701 353791559 228385459 443712721 531177879 437126877 874622243 332916083 801636331 738537321 806202887 61498859 472409313 414398859 794919791 919335357 344784139 80678637 154740911 209321721 110960833 42967619 206673759 934388019 759733027 773285957 203151975 851544715 824504089 102099127 770438899 101848229 722965075 503539555 98465141 721232817 40366153 408729881 299326637 990886247 440541501 46397111 869441179 410722817 571854133 384283677 117732237 180125001 656519427 252585781 119883545 932173707 42753853 113789171 527782679 785411741 55863111 5987407 578993329 760408801 210722375 988071757 482682191 814888505 821437483 76652535 26780069 137152275 481052335 758583645 750767795 150046057 323354195 269359773 660112569 334959031 239182685 555687383 753804871 414851075 610230495 753017653 218052911 943476445 906581935 507500523 728747917 940107865 513699695 667975985 338409157 606089495 806996361 131601227 543928455 525686587 907615273 788440707 530778051 977901431 446614347 888781355 42364853 770600445 151247277 462350747 285327589 955638157 605252057 95598393 479728157 184819823 30028063 91291503 349764977 678592367 725156501 369965483 476178749 208995045 757966365 378292077 75453735 440686509 328394079 348077875 518150939 376713263 43213517 984431497 129698379 796213593 570368667 376246783 271406645 830164897 486738381 544941107 876188061 883267077 222371115 818297541 737184655 616652043 189416003 119007327 416880737 293495235 454039151 161809077 846980267 949700801 991129551 351448959 309883479 828329253 385929803 488185729 16711563 957726099 867377299 139062661 987087297 295238461 100645151 865877853 529417905 185351381 995587889 264817891 924037985 825403805 10410961 294119673 510380831 581565017 386299085 44866697 464059005 294318167 777255869 758275463 225232983 610366573 369357573 590480363 879141073 903887357 31027915 178156219 49741913 683615209 511845887 901246203 825686179 577181089 1293657 2317507 32866729 915722267 430499931 510716971 395556019 516094165 266180171 467696725 399649099 523066581 923805497 700776045 310727749 569353131 510921473 278838433 78568125 847924331 615939137 835616049 641876249 436468405 819744095 501895003 933432835 989367213 867704719 263449195 822118769 969288453 404129223 933232819 240583583 114848239 261997511 374422155 347404305 621207597 930109721 327415131 381387923 418091267 767522317 152625287 320748089 324997695 138531513 687502981 977676897 109778233 477695487 556371917 189617069 268067789 271988873 121175011 809234185 447588707 282403779 245394001 517879469 243249641 840218857 751454633 5557009 6191317 881156601 595365509 232353275 721213479 556464317 373915783 459548023 874054497 144604099 848899419 755987675 599235221 253750629 112934321 259981247 842459479 488142019 340417091 861827341 406305223 772717253 347627733 373741 855903627 652665627 23975217 887864531 840084687 561546559 147112489 312413311 832691533 173241711 602425495 83664113 296970047 208238515 687566429 183325817 349423727 52152543 851517799 465531559 698025259 124943237 368306341 889474909 153761093 864091915 146873617 745013689 724284193 750979735 94230191 372276011 941398689 995861529 937534345 368852071 818410037 332108617 110096561 758824553 831944659 597810345 80269633 99611509 249095673 448456319 801001819 583072791 992224943 877413341 212516651 909643299 677770369 150012315 2070497 961613237 351005061 759336281 894366391 178301491 552884827 202059901 936133105 667992903 869249321 479654715 876099035 998561255 631872667 982787465 944943553 552423249 207129323 603567657 446206213 231019013 24463061 865053089 533387267 376452305 829600415 602769729 677331239 588653513 172458263 751429669 35950053 902691659 264526997 560150057 883028919 64965881 498115061 306716921 271255837 761055937 858561441 775230721 213355171 936425429 166019203 747192445 739202523 834316723 482124051 268279405 691024991 123394849 659227727 261357973 961487569 892298535 644591807 208680843 810193885 686094365 545629039 408071587 387497779 934684317 184845557 169098239 984538255 664556171 717966961 32888967 393164977 688408085 918181001 946235373 799758437 368555183 795015273 460695205 49595773 134268947 861411531 214070261 835647955 425182025 30964459 22194911 308157513 219533723 110232975 719007031 385879499 519563675 729567749 331216021 628291145 14300203 634489125 951966553 904452543 146673513 267325005 634080683 631468333 933382087 354081889 11113085 522717599 860692725 789416145 695313027 792500519 944612081 376087701 875547969 999153631 59506429 273484583 233837053 892322537 770050729 252367761 242084553 749199729 332715209 93735773 748550013 104878503 397237877 128308647 370142905 199289287 773847061 3920905 653332197 522334993 365141 646768043 374665009 439524049 874197799 804039739 67198101 267872601 625544905 204602093 427152081 577029893 143449791 920518531 19094385 893952307 525271765 844065089 636111551 202848593 204389921 355378679 858564825 948258767 109049341 593365753 307487387 960978727 262504717 815750181 779219633 81444063 95792191 895396581 327122569 710211197 277782981 273686819 792749403 259723413 727759903 225819735 261273383 339324353 408653581 87324289 139636151 428445605 883454111 51318563 791582107 157788647 194319397 569699919 803026729 104449341 148418369 798746011 414390659 905357409 267460817 113948963 921239443 174574867 894730245 527361167 648662277 556640033 952990545 870887949 846358869 20879705 10446193 822129491 313617601 740564631 861156969 635458207 498897235 49507005 374441091 423421367 97489369 473782199 889506135 508660969 734963949 623251061 286749377 248777229 972126193 63534067 322545635 722447745 625617417 976450099 500269609 182606633 526344487 256848701 216436809 34178423 796695811 164352549 872370495 393342045 484085279 724447749 812136271 66947677 64087747 632499457 783591173 652257657 300756477 725494591 759922229 271215683 28246183 751193591 34337021 788811985 597885025 992125533 276891327 870404543 599922323 787542713 231196457 941731637 528642413 596431185 446377261 464121825 633066215 636046713 238212619 276402681 438478275 634858125 986972227 386563131 262420103 291286251 691446947 20944621 763331717 606290177 527145793 83338975 426024661 37418559 207633527 60029029 61813591 904814113 93081577 821536351 679645617 319075111 790492037 308017 884244567 510061023 593554559 630496715 392589183 557040599 402724433 613002405 322840619 582140075 457460675 624201913 309284129 436665599 396706783 363194001 84510707 823434107 228373239 656976697 321726967 277769169 805040045 765678409 177942865 231158717 392778719 417322973 562810341 249503743 382617535 788529565 796121191 662762851 857739965 989922231 736159051 766916541 126173333 777884897 714908119 963364067 379091023 162339929 95879951 895057339 802694453 311884005 124822723 600417067 33397723 328724437 785754765 820743467 46616863 215373821 752006351 638811057 369352483 394801853 35985837 461316543 654829651 215265019 708276249 823850595 199819367 583423011 47177421 114382763 586955095 73500975 754539847 748146099 594531945 733871001 8798929 790080927 293016361 408163947 957965177 404338327 292671083 403714353 677772569 592037069 768394061 331902723 595886161 964115581 498663985 601046909 338882441 526102247 571331525 126356935 681304049 836288857 417236989 643031951 595324547 293177377 847938835 714224139 720366333 328526237 460400783 811935993 975550183 256314667 108549689 412403617 828412563 897459769 301829929 359684047 542625305 909977911 561497785 114178265 481456217 872461985 953912717 220585119 932099067 183594489 145480339 200099461 280089197 430822599 925441535 398463101 536762605 550555553 10037325 596320249 457581941 945493277 360371009 596599035 75033555 923746017 91432165 839313671 460076689 874584213 977968785 42007595 213145613 720064235 596727265 296361471 55612261 408058527 806939063 840132255 659873151 934307699 684839743 565205427 817695759 345968943 135828719 285699433 747407499 422890153 597211523 12802937 343570227 499699383 733786367 964485149 203126801 370321215 272045487 611795741 264312821 893147689 138785575 477899977 316206965 669834343 305413957 637856501 217118197 205942517 720581931 185490945 37234841 848193493 571589191 983719891 263268181 931264271 584875339 724426967 161782237 286265273 560297781 426415879 478587575 786065129 165765193 167133407 182714917 157166277 44158741 525534821 620228413 403404661 835066729 92536359 703461587 895062571 492321637 644810301 378436745 181571619 624198765 566225731 894237639 40672159 749823019 333419875 337064639 998783209 493189011 741825863 29291877 660923217 513156581 10644263 879459453 215890485 17799585 829723585 910758031 132280819 362047383 872723291 360199913 366469881 734169 271972037 480163493 193157817 516061891 599785557 923028899 772960427 881478651 863845607 213883275 777762643 245637483 779564769 558175949 54596921 773787209 385128245 881288097 961928179 885355537 964429911 768792841 430511895 888761221 747958085 586699723 632690507 553772981 166088325 762745721 574648631 216484083 549135653 405780331 779233423 362830301 630948285 737432001 909557003 157881941 494998377 423526497 262763373 831286407 382938323 457050623 351249539 602310121 573480229 876835089 492963869 598509625 23943959 232964825 155080723 773057655 598465511 169296989 390125899 350483441 102153309 77206895 130547885 58222395 418033605 330756517 891546669 437844787 435342069 320871267 993169859 890064891 419854157 635952845 95095409 478990849 657563571 736805591 490117957 634407671 180000149 740535351 336815183 437997277 216606183 98257005 989964199 533688563 996892203 866238147 412600435 508660425 228025701 914635081 976514523 332259119 38262565 28278741 244182547 37096773 586071679 784642825 399539539 331063151 76060945 588844879 850887903 474324055 346563589 584280019 60810239 384920051 324719365 68244369 481720585 791678077 891376969 797952071 865621589 38426493 274583185 510519679 441747269 107892413 721776671 955355015 504526659 882898257 120629189 831109241 925954241 989933717 574377177 520646453 79326267 510234927 886684471 34715747 406253875 918222857 916611655 990126963 486659379 499491673 324973045 65713567 179158733 420511131 604444091 901667557 324523673 433690259 939826581 411040525 872673853 296639053 29102857 728829609 673441121 866796061 790443559 433225233 901288633 620441505 10138243 145303653 416407293 248318395 874476603 444153997 387095537 731918745 558850297 21590585 624070495 378123693 639765735 611171041 841242647 55680181 220929981 90019015 725631735 333178037 733819835 565947377 540023775 577953787 476774565 950320945 92214969 801910295 264030921 156637981 718094457 540657385 10748925 703798041 71111191 908266899 548867233 922426955 290535319 129710467 551674011 692481185 255188739 630557037 91296857 678527959 558174573 651579979 747238865 464920685 136452589 628335717 890956673 446064297 190376617 764356163 717377903 201339293 464990667 471844285 210694187 943177247 531417729 590864109 132261833 504652241 619482121 250638137 790480105 343879197 256182949 620882507 369214895 874088751 828839071 618484505 685809355 177562883 795569993 731656927 393600117 863786073 345597949 417554977 45050215 999130037 408127773 464511915 500656619 176813165 484172563 824165777 101387981 421240213 919763795 893125167 291845221 687606543 264846677 131977003 810427279 649362563 258981789 475565167 166754995 237460579 886029493 991386931 418137279 414517475 333141039 611269359 109941801 420225799 468290979 227945065 971987951 679374231 707061687 178810541 601509527 45851169 407179541 494811663 498378545 57244159 247402859 94077741 2664017 13893969 636746361 362330089 261121303 839042047 407145725 955611249 739468839 903105209 466140611 678861879 492343987 207666169 650483867 824868603 663497069 207860475 296688483 924329917 851793301 204720845 555647739 235274699 90888691 317198139 977872975 206850491 175846867 462847453 883844941 82830439 711189517 444394775 633284597 484081653 97928189 839559439 977111877 569573583 705336973 883713717 664096329 284867241 523397413 235207361 725944081 736949123 477176513 421079221 575775163 739987615 74545375 815322583 789187943 555525511 882970241 710365753 634182465 923098387 448712505 126060977 153954681 519066717 651253787 413166819 531595849 226315211 890049735 669795891 423154421 855239689 776312417 703737557 228473031 553380105 521586843 119819711 23501841 110822151 557431463 500333233 743550253 196810635 121613895 701152053 665238909 740435039 584823999 963849115 808585835 68024985 102204381 508473849 946403435 929994641 818608377 443876657 417114615 917885935 370639855 65788909 266494095 323072671 20800039 770694553 465470911 178730963 142399887 747314545 579960343 988925961 370902941 729872243 647113269 244499205 540285007 100867945 816605115 524554965 114999597 932553697 87533135 259140809 13258305 497079605 896992935 775045249 828878631 1214085 716160379 399162079 538578937 104762041 951269007 89002769 482510941 577768833 900287917 53116811 340439685 901962839 463386535 941025031 255540259 484780409 943313239 952650637 117569913 548298991 354962591 694837605 34676811 607781773 570053483 986283047 556430567 960656357 455374507 597049261 349502245 300130141 655332697 484186397 759360867 754726683 851135865 659087329 805692805 483056911 279619861 848864431 10053627 314900211 10929983 325346947 883284667 150174531 154371857 619826591 971435075 512155723 214603951 993406611 933930139 404804379 217324095 157108529 519643725 221793931 936705271 654894487 688323445 176565307 491597329 456326949 605657773 684406161 95114701 421597069 574699035 582555329 211946103 262930879 429255281 638991297 413793121 77627129 973686755 415554387 107696613 772041151 147613997 732005373 487496293 186021085 82566297 862273295 823187277 893871207 606854389 242372517 591379981 165080763 127002773 516748187 495338527 226165115 698772055 894177949 253615623 479877781 365234851 399028503 611108431 399096635 560815721 278201669 818595465 619419885 735501851 375995431 172611151 127222891 440590009 719052929 645283909 345672899 989345481 440161769 342631185 758340683 44036955 688537011 225533545 93158301 626215685 467461121 7488519 559560861 629654243 656777915 374278827 548476793 666948509 795047571 826228001 955226533 614564447 999711231 81049915 250015453 11461091 594177599 731181779 890176547 637582181 760729179 793893069 779458247 709918123 999256101 720714255 191853915 503967235 223742261 249684623 637529275 461561157 244390891 544322119 504900877 788304591 367275631 200696375 141843131 794859397 972507571 697194347 713029499 769709271 596354667 136687093 313298761 879535035 144338459 643018735 798385513 462157745 461522953 666576509 334150503 246377915 108577863 302386373 686894103 759520619 201938605 610774781 359536279 410240983 944379355 133871455 110795081 287803547 394287673 25370411 432177369 559777503 116306167 962092975 396594493 707898447 698805005 886199097 689969843 415990821 993989179 275023909 335633083 368988701 178722829 619970517 523141923 346604413 324805325 683388853 68361471 491851285 725282969 520237621 397016493 283301689 982872653 570463697 534524879 721410759 959191701 827981833 979864659 182744105 501427423 882428009 781323629 433182025 725449827 33468803 164472727 488575391 704079649 190363121 89341593 963807019 694029539 374080343 289396347 233428335 151120441 166502749 45091477 479398013 675087225 544818869 735982721 123476971 396690373 181402137 618147109 117608917 778231815 951491919 297863595 261924835 208923115 122992669 873042569 707432515 356812013 254449495 297155193 978727081 625707339 835313111 694833539 141949271 195817743 559995265 514104817 193091601 665205511 923985467 640868695 538618151 107292109 817013501 421164945 99293293 450180803 651237563 8992709 897272899 681410317 707715965 114834271 639735949 32039069 715742025 517377297 378900413 823188781 102358835 761958873 756753349 637671737 377089621 498182139 445934373 823331599 240840915 901380611 285098981 977646523 894897877 818247621 954352785 936614935 924928397 291096415 162066753 8518083 440761399 382944819 567504017 44597799 723812627 208887277 389938345 171995507 679341165 86571397 427770423 501702047 187721625 795575859 900142449 673682797 33968621 236250237 874395925 509128547 807182285 364285233 241327465 230831315 276265893 974956639 17407803 71701205 110669029 646922343 978285285 745842505 916788489 746931949 230457151 668747221 260421779 839417819 801368245 795538157 413304331 751987301 856300081 773671111 762989317 318475 571099693 370424421 680792859 467219341 910934947 391607437 698933489 349714939 403061533 249272529 509898543 561693607 816782759 386708103 744111495 377350445 78011353 184694739 944994229 162649715 606787279 200840857 633469049 301569443 438221105 87444365 58108065 679517747 822092333 908211493 463278587 618544607 366526585 922600609 780190819 109035947 293001043 600212747 362250941 134935779 743619457 14848561 325207537 677945883 986359891 499730349 108211185 647660591 978296477 247056865 578618553 147582789 762622399 434332913 286157129 10380233 714954909 761647055 38186159 861008237 149182121 383899957 91060985 236998703 431778517 103675041 427387461 821738835 568302243 24688477 389308337 104268391 544178967 918224247 405450859 446651963 938211775 682006217 902900899 464846831 208954291 545071091 709429909 599684069 485835919 829512541 369551235 702420683 972524411 233708599 453056181 110485651 431182885 230640507 45364863 133539709 343338947 150156007 681212733 236143369 244512787 641127939 725587021 263768839 815305821 605880609 759277341 364762247 749108331 647506521 272646175 577509609 457950617 786237579 570534859 706990801 472174015 954651743 734117283 918842153 714634313 987876165 751094581 897706023 862947619 39792757 169729807 397572679 432572353 231565295 919561679 115361099 859415077 944352127 821701395 216301891 343680979 279737263 758759049 384439681 502278361 211743453 178675937 239293345 778283727 740546087 913124567 474288777 149870033 215476339 121330221 71447395 866855303 792970101 57398445 871052967 604037663 369302691 666789159 749219597 485516623 65363005 951369847 701863065 565661013 270059597 958180993 89299869 313699321 495093155 79782189 934008231 416163207 520663765 516028781 148829845 868941781 283810119 660802109 971378573 946224963 506309149 833750431 452408827 428967863 680462155 690554269 722098835 939108765 31341703 169508167 980325455 240479983 836145745 669434299 462908789 913478185 77461745 528076055 658691729 94761807 500300155 650588553 12091257 994258677 72208579 746993219 594889799 45561645 181029483 857370749 280968287 194449557 370694619 358673017 501296495 496969557 696958789 851476101 189983851 920665115 537488541 396331503 70989965 956165919 762369703 874065941 175512669 764156187 275332587 521407831 546909347 790571607 552335799 142049823 734342519 354826147 361297189 747906527 705200947 352680277 764848149 10511891 735776637 959166025 571201583 735705405 333315647 503228133 824152547 675881957 554188463 242009627 807596905 509857185 272960585 118378079 704012227 597185545 970121169 154093229 629398967 929516477 385980499 208420751 840386263 485942635 439634979 991757331 74343547 661628101 631650781 259895501 896660675 308933507 16168807 460882139 630874519 132214889 248581357 549138149 951225765 825490495 789542881 789619739 4841835 963016411 735645697 89485615 948327971 682842131 528283729 468604769 962748121 337965261 975483933 439499641 429630301 505928177 148188155 160637635 492880709 116127091 479417539 905784853 485401845 105866059 697908895 435075279 971882641 651097725 571005429 418090455 515516685 123519505 369648767 393468059 993302815 759218717 637709365 794039823 940140103 133284537 635811423 302957493 620457423 79603973 66590341 165946513 703341511 944421425 364370815 684800051 417829893 925438057 871224935 386126255 427564843 697794027 620043169 724485283 699217827 244876793 343465435 42808889 52807321 870497245 871118089 981383195 174248201 655257575 746807143 29589377 525863601 119746165 658845817 339704361 101155611 451784423 10535945 91413851 138853525 225238183 648420143 167544547 175109945 648673321 957813573 516336151 667723751 477452261 513105649 957885657 846910279 484306783 350460703 742490761 329395401 491811359 166859265 769561883 344395175 704991419 907906581 841647619 694959583 478259659 808694559 548368703 261330233 84206319 760809259 568692309 669209159 870328791 356866957 947935061 417276769 131310383 131938785 149816275 897192359 221151671 465530125 624744429 353646081 262476587 602398781 208662861 853218335 36402011 640451555 156607517 168555897 980768535 102579391 102980629 821833297 59091767 718203601 41690997 266576045 489995681 782834279 820281855 317533023 120832575 944894743 247628805 80931069 383891455 796595387 748472157 985448171 42592737 522616951 101683299 938081359 851737569 397415353 122261247 284323095 889700879 810584883 643794847 142451457 635627387 931296741 721643065 59600519 883907903 394168847 466345291 98401269 352210301 615965761 237290715 819890267 25086559 316900429 30269815 227521679 113035033 832868943 704072505 638740019 631102179 712753581 157404857 932867249 951593985 835786769 861089315 386181685 335589051 704215153 118972961 293428923 967622247 918867975 97636587 150831875 355389021 96207195 590713153 530464145 963100927 932028215 417124711 211457467 389292215 998073263 82928171 321327765 670663417 296745249 169090019 939965953 424479549 16395565 231323505 753798567 853197831 312903621 532988215 157763065 547733985 930233369 687339045 362308395 69832797 478216615 752174255 851445313 502999829 978518835 862531545 319942659 664610475 520314313 414184483 266499583 705855945 187594687 195180701 689435535 264439843 3565997 743824353 610153171 107556209 483552637 234966279 200256435 655058039 322006357 438035643 362732767 121421311 184288431 744458791 745459409 915778011 296272195 4259333 62024901 264908261 237231129 427820431 761655241 344874751 403363449 798643087 534657449 194434067 226690811 537023825 291126271 588196117 389644409 651030957 175659817 943822845 780653847 303046655 286220627 242528207 998723907 508769071 442491755 957325205 652068529 488240299 305746473 628599137 56386907 209197929 289989903 901572429 234528905 760833255 370836323 858520699 21142981 673934381 423311671 368409621 443611619 201592517 456250977 111935567 255501823 43104715 250743173 106169697 198692479 975691991 170697991 508653711 793916429 562389269 196006427 20523811 944390303 721707055 46132663 66917231 425325169 876256607 493477787 427403213 754452231 398561377 185972561 773564319 641175085 738543225 702062377 377548881 341510903 602386811 565127481 819827281 674797763 173696183 205205091 107930143 881291315 66121745 556693841 97438009 75453491 463472875 251768687 24199467 908420347 873566005 308715001 174469255 335488771 527235685 831836397 557046247 967358481 204920953 780303381 43880685 608995377 742798071 254593535 374408003 644382905 824958447 327760645 923212189 579672899 647655671 896189511 992028341 332403891 486149161 854849197 82956875 254536759 491893041 128452585 131414571 45132353 343600699 358837103 724746535 232228753 972020475 829194115 484732441 767060519 743393715 37987371 522893027 188546131 129432615 605128251 887115631 252620711 644198053 102763079 329237169 381356031 282000133 75505583 483624867 33356927 812247971 50604447 392050245 975287445 90328681 805403141 626761379 280477429 930292161 425343643 632354255 165038235 879718819 436488669 321078499 441827787 160387213 504252953 877402113 543274769 861279877 948691033 555793747 230826049 477119515 667093883 760026637 332223351 855413605 653232925 347970409 339528729 311124223 957327525 324655527 791839697 390078735 265660999 657301779 970650519 307879495 393146873 666636543 594672803 153628377 874462845 722694341 14537083 528636807 780738137 661971143 128185067 741259413 98791647 42822513 793493767 269366995 794414373 874516019 207895597 878835859 623564045 955242119 391739903 945974457 624323137 195532531 498633323 545493415 584083245 616781309 445189795 13789261 674775053 572003641 486468645 490323745 273577441 779100225 464444343 161719587 444487533 50760631 828829281 321411797 506524231 532152391 631471739 587817289 425503683 777487777 529479327 786041621 377498627 96664447 659218609 423145813 159694577 635563685 445643487 835547311 413128505 865480669 42369181 706662997 121972055 683028217 166551973 628094203 289823369 131965397 834126591 277143517 447192023 775458639 281944053 422955975 777097491 121049683 38350617 887913473 956516823 17887959 395407181 194747749 561521277 998574799 691323055 296922959 109114163 793287489 520098225 395398313 557245673 102379321 811078659 41082077 107241043 825739461 633302947 383260899 705470709 21693441 223182803 847456313 491565589 933318159 49706531 991984103 503039429 164527643 616863079 704796025 629320669 253630549 364141751 753404423 437610237 860146423 632155259 645286701 597484941 145680199 792207711 956097041 391494333 567374987 396473685 987972709 105831813 109575959 14662811 559077213 940326821 478076229 224788149 418215607 529113769 356241015 264844655 373372345 367649499 80170009 196165599 642238513 748336729 375556251 464647007 847631735 423115265 717710969 249794195 878227305 858341497 498731827 545083497 698775403 825797941 194414165 112757011 729531759 797485419 600608883 422218001 243255527 5311259 654315043 129390115 726776275 190737423 70240009 986887769 684995003 777245911 712763089 696131333 414035627 413777865 32418859 490395587 144512057 531219463 260879315 633791351 820555911 286020731 750913417 700547407 314930487 112541393 460885785 38823359 756348023 978921093 135470421 4467075 935900673 25764309 491004697 372425887 779695633 760843979 893481027 849402205 591191661 797686325 828469953 886738261 120374629 326300335 388193155 459956835 956125901 949093781 538083205 493764009 199643397 533021713 221590727 861988499 737983473 251015699 792036181 78990807 387526657 183212885 470032451 642123889 746733357 371878485 968814247 85706405 672478191 919487835 275684517 202883327 288004177 124377977 748822633 812170581 541395167 550366599 953460003 249654207 509696943 199960869 802822159 674008997 381431139 634479035 976074605 147224755 394595869 184879993 970171275 600378331 693966477 474784855 326543799 584406621 134933735 502581527 369318221 617436345 287041517 496561215 625920177 693939133 376059877 39886625 515284041 887969663 133388185 509929685 773867917 406091865 617526627 701048635 207154673 165547503 785867297 545714169 611414525 311813167 837699641 567582595 389328439 404146253 407461527 938007567 632687155 109076931 753538995 185458847 852502413 301743961 960830605 861996025 422255843 687467545 565636009 123624367 775411939 106989653 902014485 550838551 101849917 247004335 105920103 715658837 240892333 778632453 422847425 263696205 114143989 22990217 696201925 68276915 785053149 742813099 18709667 791880445 685320761 282245927 190524945 933583723 886301157 588836613 805231693 503098119 329556927 55835279 539267101 188370335 2885813 387832921 598573777 147405007 625136311 53722433 469170493 590546163 643236801 397039977 789131457 717419061 975686357 481651005 207711809 979348869 237786363 288483445 203158831 379071901 272930887 509072137 194917501 333006331 959701 827468351 412963245 623857129 390475715 372984227 18673091 292457333 328205887 718428169 622462029 314178681 689242235 704717967 425014369 747150741 42931373 127806871 691720097 459095857 38049821 957499343 190220591 431067261 503738897 614457131 78683835 319765619 39443679 471311333 705310075 48430289 903134941 401120645 427774253 369454879 600630641 119700947 794298135 424120751 345641987 704536039 68584713 782387865 333173509 165430555 470087255 690906301 88931059 796881427 97457377 644027075 271470415 630059967 152712717 808078875 827246497 860958285 112913351 861677053 484047997 288150079 326372233 983770217 937684095 462268247 803493197 188466475 761832773 240474015 985045661 553736399 945170557 554546287 829884295 681961901 704721113 611443555 395327901 332972265 460568337 950005085 455963395 990267751 109738215 365187977 646785371 344885467 172228137 665973853 889500885 663885499 356020645 535095957 489921831 675918151 70097977 798312501 250209423 618064521 335663043 309599625 856934613 799650129 980492849 837978661 282889795 328107575 835844725 999651303 190009013 166473369 558919047 925360113 528148613 140209569 636667753 434338737 781299609 613754177 775106089 64191449 798193251 485500719 245721813 964619623 518355671 905417707 973488267 596860577 813896561 693534655 667600235 315222543 71671355 869392825 148286367 919509383 333004739 232943795 155608665 153158439 721060379 950095437 256645845 678482003 38758887 691663343 642138965 551399605 418231625 29816267 115054625 585656641 147014897 551629781 378322575 914022199 866174741 990814417 555766261 760888087 86372469 694315847 571238073 897744305 116328787 615374469 188918083 88373527 558323841 622717861 158886149 328547237 771779667 265151623 951227771 980549377 756174249 726372563 119216935 824281365 409813225 755955449 68017811 903426327 385918721 599656753 55944527 466268803 24633957 959138429 538923257 352556571 491461655 575491491 900101169 292645103 92763803 487262261 113383841 680854865 823767297 59575691 957571835 552948703 664803291 477576133 910763515 296636027 534818381 102305483 429534051 108073809 916125433 330536267 756103165 464921049 267172111 257259971 360121753 109140427 323963207 230119277 637634069 340417069 823680219 820509013 775136337 718635083 786320019 606193995 56333623 760458937 837975487 127484135 988449977 742080597 210438965 906013319 39765203 33089857 235289169 3256917 539200135 188958699 989926907 574417731 62575839 469190663 98246559 818444295 762646507 55735695 755789367 225972769 914366409 13101513 289139007 5225691 153515929 672414787 433269693 597095493 141147269 741733837 516158783 544519733 585495231 554950535 147642077 223115597 656115333 624005589 285287477 89547767 716879635 688136033 34952811 483791199 929594297 255132705 375533873 739050113 162781383 650563663 405343161 787142939 532855957 816017267 120431043 30567607 727404169 265261399 544257175 145261987 113926667 979177743 635521025 749374969 648576911 344075255 504538967 833627801 963399565 611672245 330387577 608322603 108351881 252649523 61130957 608749599 24722189 512854183 283382337 986769839 513168041 335094413 977407563 631458521 990586107 864454569 148455145 24338277 273727395 836589063 926925217 475849701 657800779 840289019 809132161 993446065 203709351 289468963 208109345 587221737 420810863 131060833 995036063 864823669 472864871 161951971 541782943 9390085 939247959 121119259 560134483 423952401 818762773 580521671 873924205 809038811 560726393 920099051 388064557 996880745 361020773 53426389 202959707 150929293 698192835 735552533 692122435 948427487 83806599 438353547 516124861 794716861 295935401 200267097 384466469 531871315 950502445 609108973 440769379 231230351 12590363 115577083 686513893 67241513 183973769 813262205 862421665 71959201 928652431 516049339 948540691 260518209 310221391 352794685 468852295 931578649 345336563 142400731 634980549 444686591 477769647 269413295 725360295 371181207 690868667 695517727 874936971 940030789 827776859 654164949 997388439 510821179 31061721 188446663 380761463 832243827 440695173 900263729 404019043 990506925 230731453 192764567 340843803 696238957 471248609 59611845 681277665 741867785 151341661 812943823 579098505 482898325 340106399 943387665 523079011 283305715 807565607 312000817 603594577 739918539 984421491 407705369 784534457 893642639 714510605 488925953 199212937 63414643 824542859 840408161 890700599 80599931 221762693 560704511 956933057 82758767 894586781 141494503 354007471 661731805 202453117 399028589 250915339 490939167 13208793 725733423 527425391 681342037 856465001 998026511 612425977 221607783 117250545 865843771 565011791 187544837 872464955 769163557 319758237 95844265 332641049 224831373 243566749 701009551 773804645 428710515 807283593 974228677 717206785 605059877 335277355 92800535 143795159 501187641 917643983 774826015 813829339 848240265 387625805 546547003 577024005 756189243 404399105 44099479 241178713 220313529 217138643 442507809 801283809 155429047 932423729 736941969 993692591 594463541 580375057 741475177 464843997 776267381 330706161 667433711 804022669 810536449 539964887 37819957 494914281 411189937 560326739 917202705 647558437 312519583 123423609 844208679 987561595 697589041 310697705 778011611 730199083 254150675 263223241 662722913 562930049 655948343 582640069 840272815 410772685 510484443 203655703 78848133 894741101 861683329 751037561 851429741 683696577 410685945 767007797 509615799 72538165 753049943 530146071 806163065 64380473 669392371 527778935 380198805 728936519 873119861 445765171 33952437 27510755 404751817 183257519 545787717 807250583 620537377 343678683 443453569 803328245 34493435 587939629 816864359 295874455 564366107 36703395 724485313 579959839 592224143 967289539 190454301 636618297 555190439 401792925 155479765 731558547 323708931 264057029 343863305 581181933 417181829 781965403 454439073 759686661 286086491 365509125 326454863 224593063 338815737 428392431 934049415 922647717 727549465 338635219 499154317 860249305 832540355 859393517 444263 428758309 395569471 916452355 436965609 862972275 930615589 530361443 333357223 192716983 394189903 939115749 904252417 7253483 469347811 728937957 742854691 484190479 362777931 478341963 196139771 328922159 460676413 881058693 987399747 38746205 270159029 149130377 182084215 356167347 414500853 62218967 950352357 938812243 747155853 318863985 744572311 550022249 229526863 82461161 101693547 397965605 637419353 221582163 464688127 741966529 748342027 555946831 27155897 705015681 543730711 610953219 194871245 105368495 171496301 490731549 531557425 29679261 929508427 148646353 677004711 140786085 940566325 726841313 268114613 477094187 979251447 381901969 210679981 629713813 219939751 654601903 234838181 953500761 638185373 193338003 478027391 204076785 154019457 960072475 526078949 549674461 24030271 307431083 419916611 137132969 856627211 692192819 757417173 57778663 403622751 709596713 790910875 801776689 20096257 515100043 948203097 12784425 610987007 931083489 346793637 386304891 449407657 275067191 929241555 143135447 813039007 710042915 219748869 404904695 99097797 490685893 302711589 472412833 420303429 465245123 451314655 804693659 724948371 168654923 200259247 107308217 635398767 807491601 93235411 761943253 933580249 83829847 374597971 290184657 889262881 341075425 705627137 96383129 455764697 360949247 683422327 875401501 400564701 861073797 476686607 91943255 334420563 917570513 283525111 966463565 241716389 48729549 959403039 237978885 281437833 174827747 222320699 262684563 567272955 245274635 152608719 521978385 622975551 346034883 939060257 991706529 299529953 354350611 810711363 337145711 251479221 731185543 976089869 827709355 435700441 958259253 736207391 524927633 228236719 984121277 709447393 43977569 285657571 580520773 6834307 408894823 714503533 427057275 65100285 294334709 266791045 65679509 172871951 613657701 251241649 7448401 177387333 834582811 266364861 350847989 292097769 536925821 490094781 261982287 305779737 621521153 708994831 519476151 246733235 392259361 321216343 566358539 116618333 756357215 488674941 492289711 60143499 62410307 665028283 437555603 808272499 229490529 28963977 183506991 734531349 102917715 401785775 167244413 169539899 911599803 445217845 265157639 749689205 953860165 252195187 680817881 350456857 457029025 941884675 126603913 808903753 326753675 369508811 474328887 55935727 128554947 592406261 706557577 441507255 298715671 515172087 836580525 415079965 595145557 443710603 879321945 387356767 392419929 720225209 713004747 816602759 126458629 590806731 328623817 527967075 495775557 694213461 653020067 285548943 359743497 964985139 746883885 602002535 578929741 375213963 894654917 814375701 447085073 963503049 229674837 937158537 946273635 459028639 721728583 901242749 930722641 487050507 32828051 121588591 925586167 954164561 223929529 218936231 766829175 151363581 454722237 676963639 139047933 421318883 444101933 24890103 702467257 485427233 371840543 807300743 66340327 480584473 309427763 735636303 273888201 221284217 841203599 762877823 891806375 627508787 134995681 658748687 250063829 259821701 852786271 31951553 729727661 591945459 3940551 242347291 629062035 166267467 701877855 978273647 428801775 797575837 635437559 558955221 43943475 621873737 779719651 506786093 145390811 830678259 498565379 528379933 815683431 695796357 127975355 229647385 883612771 203298867 169823485 125206359 404354915 697159549 233906491 358595289 328301053 564661029 945727863 700421477 750023383 439062581 449734195 817422989 747138711 828312325 839937667 364509607 450759413 683907119 673965815 201952471 801374117 556164505 419541171 931552257 516604271 886761325 852011609 89969113 781989657 372787489 17893655 179050709 684820601 518097009 636509095 420468277 724228965 255807073 722634053 798064387 953922753 916571709 430817465 768801549 73659257 550731929 115226445 932988399 664719743 787498577 535151581 655289349 169005257 293962635 479102401 668911481 138340447 21052595 697145829 435840315 23898951 811925371 727599027 907424773 934364567 416524257 191244837 727673685 855663461 20414761 125143733 711848565 613386711 11657441 825465453 576485747 764060181 646922201 958602459 990001193 155390033 742849841 669964049 498562359 102395591 973341515 305432243 443959557 872180407 951834325 105136355 130311875 211151727 948801473 658777937 100801387 221679933 657075791 890293043 132989115 293108861 746359807 720960071 567137339 493647507 602396321 246177235 331231293 971118823 522929989 543358887 786602713 608931819 791604555 102297879 224045807 117703195 25909079 86145539 118642471 499606265 266808403 691788753 800092913 305715213 798078069 363815021 682214789 462370797 90120761 962328913 164142819 150439727 675106657 40863863 57595607 917656953 342789629 212481385 891487213 10212467 712661855 520937523 785215101 547717839 612181795 2181229 233882027 891691849 339530287 52127797 424745563 105434019 55686061 506071855 384600641 479106469 175365141 850455947 222970579 122301475 915468831 442773759 758355539 540664313 439360465 430709705 459702981 169196295 314249591 832786863 809991423 313884983 157029541 578710785 170818967 841142651 120252215 400012181 49459691 994386127 70301781 606422983 632225061 715638581 919018853 203106173 278308151 825331381 689549089 262838057 479443927 707937893 496403073 229075133 10707333 354387803 186310091 575935163 25968267 425668541 767463819 471170855 963005431 817567155 117331863 350589583 930990755 235746927 161647625 220482315 712711727 307177261 506091589 146722617 52382723 722170927 766683641 273153853 291984977 383235005 319918105 44889031 648467213 103933229 577753055 151400717 731822843 529681365 354957779 245103053 876812963 933137435 780794045 878458959 37605715 160289895 474601141 676557151 972091429 194753069 932897813 650012499 3293433 75165413 327743107 94837515 717360503 192058131 916204521 416451821 152657935 727698239 465730429 592118757 497075449 948990207 544019131 397932653 14243639 247523305 819563111 290753409 413986703 789376675 953051533 879213991 804192659 123744213 23811713 792562157 792251035 577932593 516246495 891391211 201744071 568399477 434338189 809565119 589854207 569731165 270289847 833691917 356397809 901609913 603792847 624125957 716422683 483815511 290644883 224585053 640370359 153466389 65874951 737621077 275715537 88782803 152274039 174091183 670059321 171644539 701811065 749720765 397487239 331398655 757567975 887936085 856548377 430692957 472873957 935848403 273621531 607072913 566671841 975655453 458284921 848282539 50593165 105750181 99729135 381349307 474341607 220630111 240894971 10458841 245084469 181502665 414479847 343560747 400420863 784580329 151970499 909876953 3270685 435503693 653228133 9579799 462732969 90182669 186321775 531896093 62428167 6993863 86741067 846712879 533668069 477854879 333135909 391626133 907314487 230601285 129406457 669147557 649470265 390204401 308627845 223897783 701995631 625302365 756576339 991387691 208184483 986141139 912099505 305288049 966370541 630187295 871705785 562653941 135707305 961012887 277138251 227220789 557044855 583835163 967939855 820548019 382267721 160565521 477519733 381128185 741514575 482916711 142954423 282100887 400874247 405884563 571175891 413109803 584536117 471733393 599583121 135398485 822436581 194024173 928995715 543848127 140407915 40978351 262895105 188134429 384025699 560349297 625420843 838611239 138232243 398683985 879464681 573975969 711295879 569352179 871582187 941387605 295031379 378844297 908923049 406045459 150649041 79170757 62896485 804736953 295725319 697126631 208656933 459789607 471548737 806027959 773993403 603153223 830916885 508208257 712052415 910083341 437857373 711633437 264741519 805614961 497395261 602947559 227141719 874691703 986562083 789206471 457918469 503502889 752584385 9780265 186924369 447459735 211409175 557710087 407197371 987099103 723245925 113492189 807832717 213825825 788807739 546587057 71389655 38285703 337524587 616454675 680770927 389759045 775400209 155366423 148156153 915468947 948534419 640832093 371701721 895701685 910316955 253546249 614420547 859673845 881721119 624871117 130637867 310797989 211343963 133542875 558878295 470511391 878193617 674882805 223635273 44329157 393373777 740682845 735689303 54759937 390103021 323738853 904066197 655459911 960746243 736675555 655831013 544348943 910608181 48618291 157293551 224937693 187836527 368207933 474368805 712221755 611180519 890815727 826734011 775239865 246900505 599107007 356678325 334967285 988193993 366779307 409073883 531343503 191066115 490112825 332366779 563743027 563481885 772717433 652407983 602522511 240037039 58411263 778194903 736825187 41320099 845996779 664168731 89116525 516939551 110450657 429405483 657663095 758648733 237258515 820509313 272467543 720917461 657469235 986332249 187583717 714923727 714298755 623848897 820553475 182504915 833809607 773378181 745519003 136603513 797250125 307063359 622861985 170221211 297812205 420833613 118386703 748719965 927403523 647704027 692078821 896304685 612897399 368285911 387154479 613022399 86465463 403525369 864513021 304275727 889352377 770226627 951876717 415046239 461584635 610658427 386132639 587927615 756291459 459777331 836236735 945652609 916473313 44244417 135983611 765093185 282605353 490000585 133677971 604276197 263210235 519156911 377158597 141657623 853804669 509464231 898637277 468470221 647946587 929248679 240568365 171159875 39849679 154113391 734828303 120624125 717264019 916110217 247071717 675531719 276566001 15504453 789015577 564672949 50475701 140203961 197434911 310832421 413463095 518085831 440503919 755060921 269084243 446038041 249057933 68446045 228953201 250867483 700295171 998475593 477744257 301647113 255528803 793777397 767306229 775163873 5139271 489405479 117093069 713315181 119003985 533465323 647613071 810828859 31454509 497347223 631863627 191978149 391680907 316222661 173031573 335161291 495754533 537779801 429294733 404282005 255763391 245135489 833090265 253765813 79051043 640155055 12733349 859676063 227527203 678063779 481691307 496884119 353616793 335119709 48980005 887465125 969183591 397726253 576955869 426777495 566929273 787880101 485355553 656578311 317926591 307990177 368074947 919508051 371525683 579420485 64974887 695597735 226511321 615188479 602441263 990047729 137093051 877922691 242614091 485935595 303520491 914380493 130869105 61078289 967013507 857049121 983449375 435423153 437671077 768827915 91393629 857115861 402489213 123287135 217745335 261878619 974398011 505637689 737032515 647045857 670656025 842436095 438908833 370540749 477361501 613111387 703718647 847178579 39283277 846841669 11890673 861170793 8995901 968334325 779536073 690723025 750278791 610516209 11088955 451885329 326034317 105462021 341482125 285200507 99383737 414151749 847099533 791954469 205000831 403774735 453372563 369043953 791189849 704305413 581033339 508754825 59157703 364317717 379272623 235284313 87960405 756993905 260710425 954642845 95038101 108845719 347289905 518647125 941990433 47104589 501738997 99592005 145063581 11692443 306598125 872881923 981926063 586264793 682351909 690777059 951933965 623808161 693098291 715777543 495113329 314253015 455602231 547415385 880733339 992207273 546095319 952432261 512968535 858695307 190387777 915878407 144387703 587057975 645834025 626697501 104938453 114244789 371691729 315316943 384439379 252079695 426463229 848006385 266791133 71003289 693065725 917192471 704473443 65118831 648470435 853664163 649160161 20497397 526365779 264110269 918595415 88276891 758463215 732793685 286137553 163339025 171267817 456586787 961128545 239136853 575313715 591023273 120608801 876775595 414155597 649298477 550966069 88617885 387548735 356583617 172463299 949795845 870508949 948405821 7657729 948671737 953920613 965776705 676056105 319031009 142768207 536436789 590527355 237345385 168804985 469444681 709467203 131100035 269226641 893039733 206872277 610952813 726467019 49686137 82125703 436217003 615543785 531037153 667197885 965359627 756724783 855800055 128987363 41348509 884852333 775665625 185569641 706983105 540993015 712506213 275123657 781312025 775514797 741860417 133979017 918817939 450292723 563345889 901769775 770830435 114371001 446648187 418656847 803127299 113555829 161816847 267647107 770477369 906279719 401300583 952059503 723610643 773690451 19526163 116374457 827077091 356753671 775193193 358615833 519136325 145598169 810603659 621354819 50358813 782708713 989754723 589805055 573643929 567564765 867745437 844234003 238273069 596244707 487299509 265191763 105196437 815680689 12194025 62545817 214709461 336380293 925468739 385749449 50333239 167504677 539269777 986170313 139430739 576933343 467645551 713328783 899137541 288596875 422427449 448766741 560221039 247403143 799658009 201743197 33138429 558611641 425248511 519379823 445438309 872346253 761631653 737713247 579447715 712724475 150853769 364845895 191676411 756620675 85487603 282794059 380916985 39394599 990519541 447922579 265068147 374605689 856349799 406405201 702487169 707738767 207428073 749030847 602602123 810015493 653887715 738802723 666393149 376026883 853299077 807766467 379532425 255254839 330858951 293524979 827638447 224308695 838887531 383886863 560940335 464785825 533919735 227852405 848025815 436152539 824730557 600744339 755810749 718675541 507340501 229159641 421961787 847727715 871063839 262768579 555811829 97939429 337146945 146027217 889551065 699906367 871254191 811954321 401685019 799032163 635127455 606661777 83426615 556105923 28243219 339221101 670690031 396316767 306845905 286906569 813467219 525518015 891879787 501916237 99777973 797052143 308822583 591128747 847385009 897158023 664627545 779278239 119207467 468468131 956443829 836756969 523212627 536852459 494833407 397374551 416134297 907950477 921859245 72406711 487683515 510211391 5538047 709394661 975402427 990482495 86650111 622492101 888454633 339168085 648472187 166642239 503101655 135477707 558121231 408695877 620844387 834488443 14615319 169563603 706065327 118719171 12225213 211724265 511705639 675260297 804552433 887192469 378062467 192254521 313120365 598005989 912451771 60180429 692434095 276758005 279589909 981236671 313823489 246621161 786051101 899010329 394785649 466264041 291701161 748256615 355381209 146822183 253188049 43749825 924911833 264832223 326083327 225685443 350244057 562338643 181075417 572645013 428495625 138884811 244635225 535156709 599728739 948405147 837355703 30619881 540735653 970081311 523280507 182936417 42696535 256073653 748484461 477805199 674796747 429628363 782488741 637910597 457307929 36396243 263150973 67058135 653473569 346903877 186473113 828976421 608381835 841066659 937266409 81175443 203183047 72171643 102010523 112517907 480691469 423372123 101256753 563771671 632694623 519500767 498208109 542408609 681454211 273783723 702089819 765510197 944579339 761362023 843925583 463539937 451833677 777315013 771735781 674689341 204004973 200552833 407531267 770798949 830753103 493301853 743145427 755342595 284554151 125532961 814766539 655662145 398251243 495807139 210704807 61655 614384477 475990457 930653547 672496899 528180995 995667529 534881635 823503499 439535277 610544187 18511651 822332863 992685303 34231425 72492681 325018739 886037309 873276439 72960695 446143751 206214313 597758719 229761307 847740769 907363629 2286401 976053863 644014063 396497023 680785395 259412377 461287589 107542303 938611243 269050103 916178437 429535575 550669327 239445769 197588499 546319413 450845127 934485925 219538269 372065427 922376839 24942825 374413819 334161937 305521543 213914681 276348553 40081431 89094409 571383103 947235633 840840407 28575067 493758703 837273757 634948677 318472139 67999881 33666821 972555045 884631991 948819085 329340199 619294719 718864253 502048203 662222155 606805537 211949453 945060949 434328123 347280037 941725523 645946503 969214547 986768747 982886477 660135431 695506029 863540251 526513917 216820415 652396273 103781669 280271851 612957669 626835147 329395393 427215021 834109685 21411957 699213297 124849369 504449713 304704235 355939707 621116693 105849385 986718899 11613425 943674377 312939439 415342299 642891691 751140201 791449569 234537979 329450441 853783277 154778273 147684145 854593331 899413849 725297691 282853153 260543639 439636341 821768135 649301243 533953139 926650647 800595805 776952693 501878785 304096789 860560867 285243853 570167885 735338325 687831717 924738251 983873831 821750719 180048439 735154619 336268327 386959687 638510455 24665971 910335915 573699557 594527367 421909331 967671263 992834717 305854933 549717569 190362543 860728951 452574485 586244523 52664279 428419465 667641921 717402759 279084501 697783273 740454559 187151441 684473587 299598013 154064317 213697557 282891073 722450221 798483051 543944539 860180117 692469101 619218377 604142909 23686033 582528949 945237051 626523993 547386527 615220553 85262955 688168147 287829227 889472883 78397007 960603995 772325745 521649795 548386849 65290791 637286895 841500887 56593769 374464247 437516271 205750223 46766065 424441613 367847359 293756629 162477773 505443899 450725753 318341723 319698265 948046807 436903933 138837727 791809595 698900925 933600243 274520541 77690461 89593685 174970571 327083237 365402613 883105933 621403071 620912263 633214335 230790873 793226445 887372123 422822591 890112571 287610813 72932615 837828033 639193655 270171425 575182133 71531481 10930909 216206673 924038291 74491557 581867969 353416045 905789407 943187207 787740931 137553501 591843035 919924269 191932999 931850193 960124241 987793033 961365437 556057921 673819667 833841881 955606301 696208623 895007225 500542241 133184673 225045217 973375721 67805615 391603219 399629801 536243403 247759379 214592959 495562399 894712979 827284525 562092923 819107937 7386937 131972895 81587113 597564507 31784129 733469783 491757097 197627003 874195253 150703241 95396207 276815481 89434535 288829617 477054319 739432149 535539503 233420561 738036391 915248601 511925747 968165945 84374813 705018517 426030621 222161401 506955617 381611999 254289627 994649201 115125639 945527643 173318509 511855877 742780463 303501933 294993425 299962719 805510525 772944713 953861905 414711413 544605729 995558883 964388291 267991427 807517267 834068225 633867135 733526285 41560781 1627429 615119015 349882847 351431641 800828837 743724453 72034829 281772611 983973269 394418157 485552627 611846243 816765143 474625271 694995255 5334293 514205459 198245703 321284549 183064769 468818619 157178215 779433167 717279829 2453507 801293545 555274195 540914247 270331887 184225125 445510549 443778453 348149575 409747329 177482529 232410309 148139929 216376295 755584715 217535207 784485439 943248967 235485489 681987727 41380697 730644059 638422581 728950493 989525711 156497639 196071941 825171573 320047953 175285941 119054355 765134985 591722329 345886103 946116127 923044299 60921379 939741541 71905065 163430269 584427197 641030917 76811905 206099553 519934707 329233761 169910967 355898827 41720927 137663593 878283435 219708043 781913951 982578199 455129217 347150853 180187679 512188783 499752611 289590043 123453325 205605755 962539205 282424637 649658465 574797389 429368551 194653025 251318813 638892029 978662987 609730821 115091975 553309107 957286011 86537007 604108337 803964563 816118351 993327983 773731953 251857619 56972003 30661849 194107755 391846059 347783319 860597517 439629699 900693855 71704093 130141999 183096813 61553209 222624101 101448945 89882015 682439563 664453293 936273797 676307545 895780271 861022071 767059629 487134117 896022535 652211091 164014509 456733651 551097853 457514005 397659219 885051641 26810885 577068629 543224311 776104441 52301977 969700603 46433909 902330237 765518137 994845939 478527797 187169521 649256305 144731759 371600421 682711953 439679443 312140269 348916923 165718875 347026681 726042419 767672053 637273625 235557509 620597833 523290715 75830873 605627937 183619717 191151865 26810997 383293569 787955589 220228709 441906061 88654941 979509291 380189887 836352137 597220219 441439141 495712683 291861787 722671009 184820839 85513563 137597111 160522657 523755307 57177987 824606625 829484633 981472761 416208479 22190561 450859435 507031321 992676793 676889157 8040317 260289059 78214109 845482343 27305669 804233969 146673315 715689637 431300219 961929385 675389033 781991723 976164517 64869045 205914387 120880359 682647881 380415947 206312209 175622035 679960955 661822183 623135833 388736939 289133141 327909963 460793705 253986173 633973753 541872775 202814025 922848277 144842897 241034093 115749253 943299659 834358097 400828699 531837235 176168899 951240051 601610993 547186675 874196961 781317943 884608673 562912235 178930905 762313961 397163291 684277703 659252385 880464859 246650269 968634305 82647035 990693735 305932459 420044949 169810285 569709039 213834001 486670473 691025993 736271327 898482917 161596523 44774309 586579623 350946943 760392339 115201891 846825409 736468359 819655645 610315053 406846385 187483113 198794419 419194225 214229249 799557337 305698303 326190693 41619779 270811089 947307065 295709455 601605139 149095831 532709471 49457201 872399375 69081401 447800057 314262881 215984099 116673287 797189393 310828531 405199683 240730017 969834307 535936009 169428457 928645867 530269865 64944013 164956309 782647055 418851819 37635371 228183059 169799041 988822581 531031903 695343669 183115265 948853825 571858279 594447061 121958289 214658379 152298059 154918103 592918395 480399897 566882783 671453473 280777303 244188665 341392311 516894121 690607359 814158787 975334453 366303337 497651097 238661333 884863873 907418721 3152527 307051027 592137867 566692509 864790423 11760877 334070283 365387567 72308909 501191259 195275139 922974771 163080981 798528983 716730937 910255815 500295259 256228969 226412095 552385561 241697619 496248737 782110573 99346009 47318811 601100949 12690019 861372865 684268053 678277857 54658953 826425751 442407149 456705965 115612687 383382817 896996763 527471783 767499501 682875571 13801559 323071235 477476325 541147303 501451431 472199299 278080125 705522271 177300055 316968043 277686021 650275143 282788989 85907595 305851801 405204431 146114161 444788791 849017623 765908083 721966813 366751565 83568677 934522035 3056295 142228279 694286903 367967259 113557001 915180511 92925571 666650941 213311357 256731325 36600073 229792437 869217477 16305105 375472531 475715105 770711023 889863325 896683697 767661871 755729489 329944883 199214265 696248975 932247429 765733673 817693391 677460731 330429041 458514075 408358871 100444729 304716351 678897457 11966339 706220047 42769253 623203097 317076813 786363729 9804959 811031559 22116211 955966681 161525231 523681341 300003327 97661067 19351973 570464641 454564287 189090895 349740883 701269533 295832911 762350871 234339541 389256683 244019723 813545949 296439121 993301321 12213533 363361447 583113779 177633307 538459765 262345595 116615725 449836755 309498829 365446509 902538301 455968611 364874659 951792025 416931495 577070667 804624959 263443485 226152951 117180819 710610099 707094823 612980737 205945287 200134615 60494823 425036515 458557183 26392395 18795417 259983359 820184023 386527351 570695293 657626883 414247543 942174091 611253983 676029153 987281805 7615103 903637011 694701783 831062351 81380885 300999535 575770475 357542011 679356115 585263959 335652197 565171543 786136587 375802935 174448347 57577139 703013077 645930879 233536043 623517411 792339217 698569899 532249849 944601285 129596517 755627581 509850415 871652035 1027909 90150077 353085955 761826759 946612711 588407743 765720303 264041035 195119437 347378399 822429883 484436297 361754685 167258299 839779439 391804235 927169097 936712705 705568355 461389661 703972551 332284513 707857201 830254103 774035419 267191191 13395135 533731477 689378153 139799141 862160183 911609215 933706277 209861011 386921999 67634691 402125445 809408245 10928387 78643927 780507081 514528357 254226711 231351609 722121979 971567815 203045783 397337071 70412777 910949123 641653015 489570889 107396143 209630475 196073075 744019227 642880553 451568859 501062609 242437573 342120449 453573493 606534557 436113709 99691687 258083297 565734281 519119039 470890197 708171315 10203539 219985779 111399945 531426951 672912639 257635017 44877197 879786491 608658779 514537413 593878895 915695037 182649719 304654837 125516169 158316029 370957939 355869809 502505595 668016887 315575473 530174677 394276525 859172333 850424031 269137993 542288719 500715047 872308975 11259515 703948635 764857851 697393953 36576929 408573071 873129919 753106165 993073785 493187187 209662681 774464059 505595723 272719193 26697905 164346371 586523361 453967705 414349241 267572141 7553687 417838419 466585709 901028829 486491719 711017967 778645581 108463997 617943895 666679453 482604263 686345411 694093753 56523413 165081289 541002283 824347359 668540377 716091025 984428407 449840331 830905903 884112861 967533239 973588737 92229673 364947547 292327741 624121231 962848797 463161533 629371045 387156493 344846127 458649531 619188693 734860951 999489091 709440279 797573625 714263253 365970189 600669855 930427779 363299573 302186755 808768289 372394289 817774765 766872679 270408571 158735111 969047101 455163199 651449739 62352209 600238951 670989915 589075775 968879011 744583293 746631767 678185865 938877403 473534291 869595791 220392801 121625883 73172553 726297645 622104265 519046863 638360389 245766947 946382799 481457071 432561331 781779239 66847617 236870323 773959821 520226489 143085309 684928545 970314063 779654179 593046113 484881029 975383295 854833779 780282331 170216373 891217451 822135939 569570461 728526283 252675307 670691827 50804191 312321067 535457755 20829739 583048165 251152515 736041763 572478301 525174007 97589703 968313715 198404989 178200683 30841649 34282237 700171087 650074007 303373129 668197505 639904091 390877409 828776153 385503301 520815343 697625777 441209331 976429337 36846373 357366905 194359545 812762963 204997085 334317493 159990153 799174607 83259071 156148967 804181907 205609715 647633979 871731865 169206859 136676273 45776009 429353563 5213997 148527229 613736619 171737547 1805053 64004179 151125865 709543303 370071239 304543677 859642959 640973887 32933599 149055945 161888955 858380191 358014945 749000971 172195531 560015205 902048691 582568609 477726311 252695635 43175041 194297653 684772413 9087793 384643517 661200369 501736139 838863317 510130469 187826061 196806987 103918103 170826685 660094791 937515721 871750359 616234705 770251751 491181845 106084099 10985207 93950649 696682439 507698829 386959625 458746515 931153213 293517677 736082219 338506965 459007907 604407975 349880779 24247397 725492197 692124997 202759835 641592497 90701503 117976919 998798745 475461805 35746735 662626555 857579019 762347483 29274623 269572433 947380089 655075647 75613119 170323843 76358843 573814889 691666117 718875075 689314539 789469293 151262643 936751693 453189741 392404201 987297523 362985059 958187505 820752135 974606769 337425231 839244645 528205937 624498921 265526625 784284427 401140831 371303001 94546679 712128101 265876625 130180491 881152369 416608061 166020681 39959245 684345913 179343531 16218969 684619321 133525955 293102091 579143959 751573679 908947591 929383933 426061151 555318487 302876681 805947763 546314137 179600929 748258257 367398045 800946097 802428871 917566069 620335097 965904161 448070087 785110669 952814411 434726373 757743593 311060923 61604511 891376515 288659135 918131113 678163785 325681163 373645985 181583625 370449637 67100433 402394799 616403097 250340443 935277747 531830225 91219479 498620113 839770267 101352887 604237133 605906113 365878003 666723289 143223057 590728419 159220083 301132921 525355579 891410749 980163163 258607005 447703725 624529435 251484525 130163735 866255441 992926483 841590013 542331007 10321945 398691327 174981339 171850291 695857923 181709827 616050537 88156767 769893645 182182029 300746893 375071473 414378561 747180625 33174197 70941089 593378229 438811721 888972759 383929583 880321153 416103613 888570993 347604261 644385479 644581941 567440521 657898835 130154161 955294345 889073839 462477391 6330227 682446291 264392951 799410621 511814725 955216761 878537727 433239297 327070571 938812709 948846065 454348367 677145903 597959629 3213175 884141467 27157729 896154285 237699787 983105963 279936991 330756679 410252967 356368641 603900553 175763819 670643029 485828339 263440201 680578603 477488033 780098709 753778579 944986853 821902819 183668681 848255711 787173691 304671991 839580727 767078833 415784729 966367557 606775377 965176979 707203509 384578491 539732555 781186327 24137355 840922831 540866857 351269079 775514719 538751359 640723379 32927349 710738495 769651281 90253175 937704091 469070459 982952021 667759055 254780157 972946355 393547295 602530523 810891091 523874761 594166477 78368387 734404193 243122411 169545481 210822519 363725041 125214859 751572477 201368113 694095061 830929511 555575907 486808557 164287975 236454789 528093557 337885113 45138185 569869613 603240957 985566049 344184613 587755511 842936647 431280255 240482351 684030141 521113643 793051505 275741727 803383715 599124485 945862243 950206457 503712535 960378301 252786243 866923207 722566861 169922241 760138185 997890203 453408449 606014471 469891703 322755983 226512437 581220109 726539667 664963269 412001977 285286619 266120495 220638055 381640479 481935099 111311137 489957801 23895171 57474185 82136077 130037699 698802507 351385887 276401751 470555899 369108513 827991523 370608435 564940949 288760571 136007303 449695127 802269417 855476757 264494141 962202947 667375183 624745203 549225159 681546689 952302633 86905185 436729193 590953313 844181475 333865587 326624753 179525689 659814893 284258183 269799863 284379435 364962497 250073407 818738839 821619937 110012387 240916103 989818361 132678855 69487325 92512663 342243275 685550617 214061633 707484903 136997763 549054677 591732905 908029501 360349471 96392901 623781815 493742501 633330727 286349431 405849877 59539573 377824933 871719493 246362999 57014855 909635125 364575055 542847895 737233407 698170097 422231165 229193525 655070411 664004223 351901569 243587613 447717661 64651537 700402639 123154721 216214453 191402073 894610347 220905243 658142867 125386393 556929821 300093421 523892743 626245525 690653427 246573441 525520291 878858139 503181255 3032267 906061123 502005891 255103223 91762885 173052427 705659049 926409135 131591023 924552555 151666167 693222365 315549909 756103697 562479319 910102331 531930633 324875519 705541953 10008645 149518373 625642103 501284787 222094153 566557003 400899845 787649587 596371795 99179943 852330109 437391185 420962619 322880103 78278395 376330531 788685989 92395723 946301925 458918981 553494263 98172689 294063845 355443933 667120735 637980549 282302707 371140509 852367065 970291577 470787399 135708857 250002213 70468679 197781607 443729133 499770825 909811281 850478367 265034371 925484055 184553987 24455043 682633289 341225253 465865933 727012849 377643667 484762327 791675945 851875339 925972031 850648273 745922205 220878783 554473397 590850439 132250287 47650367 243568611 171920685 536772083 148126985 173168961 602170057 901073923 400014051 480364233 197760799 338182529 692634837 534402819 181820863 575381785 414749495 187107071 519656451 911231611 224158371 885456723 401789963 290240353 77844733 338016539 616370113 491820177 960672883 834333949 878405073 118925009 523028601 873423915 837604535 311439861 243493577 393628505 251515313 355441111 923717227 516714949 777528263 459082073 92126377 55006773 515352269 520381287 891863063 203412471 939073111 66256881 509278097 315873763 995923143 658040049 343147837 649165143 109322309 250921325 279529349 108168503 501315009 270826091 323482655 106693875 849119731 938740735 199755015 362840961 840438877 486708291 480520577 296192609 567545925 659183193 428979993 544145045 215504317 419069805 605854883 239197103 722083997 256776111 276932411 238980805 703067013 158401371 34387783 728597363 70375645 861171633 626688883 60362977 751943125 712821245 792609713 745353403 304395109 779189905 741476927 296348219 584107855 280500679 357589153 175888669 355692313 91440387 348881061 38953639 384695573 645550507 544849755 270262953 265354073 687218229 312862755 353404535 334150345 964730651 56084383 149909999 440029705 751359453 79765181 634971259 982679693 517505033 795704753 226270213 25876363 472015917 197549813 597128709 39023363 250512101 91637327 818902649 102153407 586793427 585490893 123002089 631723855 424751267 151946433 866307425 613102857 231053317 711445703 481959289 411033361 498166965 375413955 514049869 923077707 815161971 795892707 470800517 537056873 502490891 454779547 26850125 426936549 859668305 699061159 282129759 243197 996697115 147729675 968897783 382964155 158818637 519429395 248405979 486755053 763777747 401280339 355828315 713998383 787960221 122385831 746275915 960682717 237677735 71643445 687893515 136293409 219801585 56358247 419962239 321124843 225648007 440377587 115871511 808552949 776757885 20441813 650695883 728216765 803865065 949133137 221994773 722083467 277296623 330204915 421577727 602416753 939175099 93470097 479421973 962474311 539452797 108875075 463919983 359673517 512966001 612397425 388389545 189046283 900153047 959995335 841364971 976812945 785405949 498372409 245538787 76861751 235774001 875866881 894870215 336526271 630138575 217467813 121901907 405837231 711513659 285836785 246053843 530650713 918799581 584879611 376944399 24470229 952334375 133075997 370335073 439900931 993104277 523152891 639284135 994907273 97152423 335261059 251820103 409003995 163679465 300703721 603274285 949456687 587813615 883031721 721746387 868978567 993870671 853703301 22187059 384726953 4786861 197283981 347923415 83474727 119327669 190631187 469767627 31060823 414263319 954332339 468646567 542190173 828017039 853651283 486930823 822137885 541254879 934961437 556269843 629283147 876430031 362040199 815448697 882051677 976771379 69548109 267156079 777724563 794284519 187931249 800581171 6532343 277714377 142233923 46866571 217401687 336721863 363096917 477179591 273416015 189893073 515236229 520965051 2834747 729174499 256220661 316310727 151816005 942641919 78080785 282802383 455968861 798071341 542827665 648261957 314830653 138205059 953324653 609567003 970224995 126087959 719656427 521180115 49787417 922620941 844215959 555286641 327924077 165089681 277793607 138972291 826696505 394200533 60553491 697232673 467528733 679921425 242192485 536716263 22580353 752563335 575146979 579671037 987847573 758691205 612238727 930133265 20338771 437434969 273133961 459599449 744749689 190491487 936415601 569976723 846747535 615916027 246647047 807242245 53479911 146182549 570795363 144125311 933477273 679265951 971725791 165942613 656302981 986932117 792031521 458467175 596182611 435398649 528841747 470510363 369594739 542301011 653579497 614445661 568865309 946807351 6615587 257833639 131691603 172200257 527398787 195320309 525086171 143319569 317960981 285790669 105644871 559156305 991793197 890783293 949104877 136186035 895184487 104849117 946817521 139395059 379431081 537515465 362413879 788920273 810136605 274358441 600259699 932399643 767057209 621482923 56274203 771229599 250586297 22219909 107464049 908185403 309634721 304798581 503538043 913551053 89059133 35689027 237904393 899682371 895361057 454103355 736284087 514548879 51070251 252523059 243851745 770976937 832727421 162670475 535950769 495640213 179477637 437869865 697589017 228742235 514350837 179572089 479896015 520435983 301420491 785423477 803259987 393774541 471738189 565505687 131610863 420804277 838379011 828500457 354243761 717910001 393571781 119048953 256722035 693193395 96086699 395404763 878033365 540095543 20344863 391609645 411024961 804936895 861450185 405454615 24143331 295916691 582214813 550415943 145783989 299772681 532347867 273528563 962083193 154062199 170483203 51181019 255756471 480038467 717154277 735103809 857859517 962010069 964754835 728176631 969614757 809306017 825447785 692175953 955921999 259702559 949318925 15614255 105957219 243182801 405641321 453616375 574250321 417875269 616914099 196391575 65694289 304205833 615426407 314144387 297250661 319733947 34872649 150557629 839768917 189009403 655198051 311888073 39034799 412097139 438293519 391286455 300661707 828596181 785334243 549789723 981227469 139420125 871969991 626079763 920839579 616445773 444186341 848527175 279920613 898169071 96935861 927998695 172422435 411978899 119554799 442806693 56990357 626688023 913341849 356093633 979297605 654966363 459493119 152173827 383799555 883955273 591332277 476482997 572360039 755733459 534649497 857464243 82263759 995776757 884870093 741629015 590663527 289462961 973247 992789641 147170331 551728657 709157411 732508085 19282343 553562405 481160947 152302805 685442443 1340939 185021301 183483749 354426635 834053603 444589879 683430507 855126589 896168919 956717321 18214263 692052213 53892635 817284619 635529117 455423447 271060199 605250209 332002427 382679879 780402045 537512309 791232313 610138743 197531947 150142589 117229447 933065313 547557953 751957493 940151959 357130947 982364951 869691231 828723241 292389671 270057747 944274571 697609605 96150491 980528029 108167307 97309815 541374713 414999337 863038139 395948629 659796321 117023791 951074241 275670785 721315771 618606643 204900999 888050139 730675575 590576319 71156035 751378135 665317327 841436771 171615345 894805865 805783745 846839229 98712533 67418511 421106709 543944813 672607099 100160207 55151709 80686109 654995639 643134775 426309617 210288513 212193063 161182305 123021297 742464337 234424237 484823141 682662213 98138449 407325559 413426415 171632029 72440139 923761399 650562089 173509233 745458703 852254443 226384331 580406275 389600379 773977433 521986581 171203161 180426351 753221257 848302281 289078853 773074389 202806801 18485305 805283423 349153697 713937871 657776699 345526789 7297227 13876965 992078123 931815011 786947415 835880129 249912049 624519015 225744207 270599191 834598907 763719881 913088451 524961251 591666239 895189769 438370769 189470823 51484219 270765681 179724185 742599731 839860213 105277457 62687557 746233623 594558971 9466047 700466697 952928565 852857957 386181663 218476317 19183083 745859537 845573525 311427269 121559273 569052261 34082645 803111243 11811619 693997261 133015891 885563905 511715285 834820417 403216981 96514111 849889155 49820801 476319453 703328875 57389305 265501393 407632449 78215407 456676939 166256895 170939797 281039161 586359765 468298081 925830331 376381129 659855677 957429977 982476635 24366621 79072367 27237833 106415591 171632063 757310621 899058465 328365715 953139013 801518917 581756757 178037859 947514439 581833003 814499175 446636063 235750247 889221979 571997661 798245717 325208399 658952233 235467713 843582303 337404851 30849075 837781933 192247901 189769803 722665819 654019775 272666167 298098651 108551631 594905501 333462429 981502765 212870915 874811763 91518217 218171411 665598129 761823995 706408377 934980711 253897183 122339183 476723381 70205707 372595163 47672729 62602191 382697 487361845 558037189 809493151 53687797 879961293 578867147 318023555 831647783 199918279 568480775 848011943 734185093 680725901 398676065 959398137 442672147 420730581 491082823 669060913 578107625 739557529 661315247 540253905 279690015 747158049 823276823 249003807 840384983 726876405 636807815 531569709 378227771 941907437 815142025 532058065 755126911 810125861 172540471 40457391 495066333 906493949 173008687 955351851 358037141 119455271 802726551 408286329 981428467 147809427 115313179 854799759 836772425 719921535 986011381 139664941 168559855 313399919 833065695 477813213 976899661 16243503 701058339 816962287 701420999 165310163 891786639 991614329 673183699 889707191 245413237 200149085 248407273 757354881 395840185 142455365 355269261 674714141 751371965 317622429 787294281 705081021 904613745 870345377 307414703 678610911 64429643 375117391 401443929 198801737 926259017 981153649 927511273 331740419 7703537 402498197 760242187 418770019 158312531 836903445 930921071 354141959 796451843 684028689 920793807 45936593 155418913 422548081 117464303 956550639 648592723 396258279 660645529 544899029 819420359 908823783 166243487 895938621 540352817 299052981 212659163 970262831 571017427 584627289 524089903 640708339 658881905 210657185 881516935 839579425 566900569 402731047 857994451 414565779 951616099 12548937 378603789 101592431 830946027 582904883 570587193 346719775 63367385 170509523 307434593 382868057 792917661 755140323 342909591 767146265 946092073 659262687 794264565 128813729 240610301 163950357 794902173 689556353 630611487 232802449 57914555 765457803 756223775 191031851 554802047 652123869 700071185 460459911 561510947 745729753 691992213 645848075 567550699 316038443 385916369 968609765 969550881 73567945 346679667 127845649 784550679 885797103 382965679 940714575 548741927 157543969 420292935 579013157 338482357 201767723 432665215 186416101 198988327 793776675 195264037 388973221 449722611 839535457 807606929 886248009 995219603 223752333 620332705 558167157 118987655 72240019 704216761 429709213 347755099 753512871 259649993 440992245 818715809 888822339 388910151 677979779 352839667 43747373 866355507 54156811 27466483 91319923 455671567 935225885 657601101 734992741 848660717 388296723 270318513 263101859 25292641 633877517 351163099 786838801 91217291 953728501 575821451 327445977 372529681 296409207 243202957 4311407 112367137 987219471 364070835 459461011 666273393 928214011 470716119 555808071 522622013 364405059 232720347 501909973 762657359 56062395 972371371 591419861 811045877 213930743 423716919 104079393 701284867 488759129 349102971 544319199 693360599 651862793 677156471 288921209 644781147 834269943 8823863 477106341 608256761 516728283 844093645 865020255 698141353 341336887 507134035 417657835 483025641 116324945 396393451 68576213 886265025 119167803 654421185 341956081 592453565 174999501 675239173 781775709 428786419 641868967 4403443 498933371 431673861 739661873 26309579 765195767 434121747 295619995 612073177 658607049 636376273 271510493 570736239 188773417 718377843 216035513 538749673 256049821 665861047 922208181 856257445 576984305 289795811 344544035 489630737 900654651 902398149 921646873 950010525 595245011 329129141 897001595 142540739 816185443 465400977 870296045 297481481 205909203 497965501 317088483 56184821 611246423 83225643 35879059 393547035 44576879 948011853 738649853 61282069 481554907 464823075 651693035 219577223 697491881 742311221 4891117 834867735 830035759 973560207 417507161 41715579 695482887 960055239 581549395 445420141 299793687 482265599 255819967 50438317 887498121 724219351 63727439 841825801 940170707 685496707 168572029 535925583 313462449 594516151 658349703 357910875 598586405 366019505 976847223 276940303 341935743 843828279 738167323 419798359 651596113 50278553 854936335 283427875 825650295 287263403 525684655 566983023 322394903 886723787 285177125 819691323 255539357 28886243 578342241 570343317 495119803 70842205 923530269 455127435 335484271 556386867 966211543 56581177 56270333 707463647 722318551 354152387 147299313 257941099 491373103 765746255 967060767 187691619 8309431 667668757 397822373 913264605 243386383 929126729 229578981 32518523 178355615 37632307 509339789 423261535 733694359 513873177 306403727 962563639 234967535 966841935 17212713 65696317 301035369 759610929 67064289 26726957 791244427 769574173 585465983 286105167 546562727 283977089 30102299 351252333 939256533 525036749 18079245 300212705 51440373 156998781 351046399 312403593 72584877 33335057 683069913 688252363 723424369 238787863 86712785 29347987 703398007 244127773 993455201 892228953 469640641 569982399 538968145 480894237 236117269 164041377 334182057 283140707 470653445 365832553 228569025 279134265 20347879 706643919 156202035 747475765 999181535 853828489 664965093 591655545 885599441 746582873 90535681 512102055 352017521 257145355 436454141 649764079 453008949 655442291 363848597 462376967 730053469 572093799 393699277 901642541 703213299 988327629 416936177 379485479 742534853 73074827 584788885 877332805 739745903 112114841 400516245 524088411 68834381 408009965 609057815 985373641 745623689 765833865 228568199 698291827 477525013 647124603 426902423 740911051 359934885 631909585 865743173 467316419 563087037 926897063 478702295 458330333 3901605 273255969 96692181 66291483 263573867 395839335 217596693 744308497 113867497 930149803 936555445 176822735 5839295 28256041 586178071 502874361 981165141 984121633 269997289 829935025 391907803 827103969 595541023 885665703 206103883 612916407 770463219 961701905 395720291 971822849 25142251 442828973 980301483 497101085 732232661 698644673 74215029 332843641 272904385 535962141 264852441 468135301 592796689 374317589 226619319 658247869 831749731 315509897 152096951 994633635 545812647 687674079 551193673 607250367 687106321 490055939 628226469 976645031 487344669 258391151 882159821 678669297 161899405 159795485 124793223 925434435 402531697 851703447 355004005 280120389 936498971 349572843 290605501 875075241 988824615 322716075 171676339 424866859 862990715 720749819 120791595 467326605 150841923 156321405 479478233 208856983 850773745 69289057 892589875 424973343 267188803 850283101 48447099 502242555 500091965 673227439 356184503 908792849 226503467 311073567 952155575 731286857 754477217 690758135 563866903 105881493 81510525 469976851 612260147 490466801 624750561 450050765 379676981 796676703 944431161 869939979 606648591 669645543 752103485 16148031 275200631 4385951 247378661 54645339 92039661 346839709 358747767 298720737 369861051 653677319 943073153 361781973 280048367 585824773 924441555 854399429 471474275 937766089 2527117 752805577 632563127 590596751 548869649 63204479 576737365 4964761 466772237 840973579 681865833 3809329 348110709 797528861 763388909 608365991 518083715 144060139 565582243 716500825 660863679 816442163 245246995 338227109 883237619 227881021 295134859 579989753 678312241 783148245 862288933 904405703 86008283 460634449 528449217 889285767 201347727 885306001 550495751 760927933 99251517 774827771 862573159 834499057 789216025 272720253 38823449 170375609 513289631 10952843 49958431 970702251 797213587 855820583 581709633 783802477 760131585 8596437 709972749 564077735 912173373 9047459 19666651 462076941 163443683 161979177 667018959 795163735 738830809 12124549 124874959 474964551 968726859 586295643 678749067 754823339 445600171 878777819 47448443 726943571 320136887 629037499 344974303 305902615 893309299 327552571 278976449 71102429 98468141 563260957 485654257 844730765 538958965 661780659 586614023 373050139 493697067 998684883 457641057 95144063 208091761 866245081 137267499 596183739 202505141 57926829 939920977 921170653 20037033 89509051 71989391 77950709 358273613 447597821 333442405 170017051 131475681 127980783 915286551 591686773 249663219 172964247 6673595 371825195 618742617 858635395 268011813 311916145 847905581 53361867 771325945 543360895 812372181 403396621 710626715 618119321 139017979 745430381 530712381 273504519 971376019 800917659 825547225 963309343 478311645 182545103 22122285 153584953 559544411 942888387 971899075 104285365 666395095 436649665 54836969 77764867 390849129 503644565 279428537 90199183 666681709 931067285 429389331 563698135 179849603 707757729 310775455 405018205 912411549 693283359 588103885 859325355 169107947 641332733 308970967 600619091 294378731 351404465 444968379 144809197 963699809 109771065 886770241 875811103 730059865 5066779 50407419 519623825 115821095 569983077 594976577 890894839 88660329 649510831 916286771 996620297 950553857 338102807 901892793 467801739 836178971 924043073 515126147 102167367 877543215 44429151 197912841 591598861 869496565 403022883 835737997 591625403 264981875 862710221 986488085 777720369 364868341 482893349 269148787 146136921 824881937 725265271 827279423 114030887 325846433 938087835 164750807 625732243 415735753 834503917 112276583 71320993 266148087 321774421 170171357 588965467 218458079 460827969 379626481 421466067 470248827 664746149 708095779 985466145 872725523 464005123 159122877 557806187 315418159 805962081 872587983 426110425 214354855 206001481 357836079 152050847 321260693 240789461 161058945 691401205 162910303 213332899 828247081 369612831 784043695 141563095 869523035 635025767 226688123 770654243 609382155 575363871 530557183 530253753 551878911 633698977 632721597 579826267 268529851 384900687 591197317 952350283 464596367 422162067 33262185 372367453 504424085 753894113 246916807 514792161 981455277 428479665 495305025 333257913 331558017 893094535 398238147 983321163 347709309 282275053 292573571 676244613 257260251 845820789 846540797 7833565 191599519 674311095 48988661 981581137 575915147 742503513 152096377 238266215 312684339 165278213 879215577 483244847 571898095 590384233 679099061 539766589 532098527 190950213 669850351 831324337 863174123 843488087 602558645 271174193 449383363 496693099 237753721 34252009 464122849 579958097 902156025 407773073 461621635 676277991 681163323 190927721 883891121 582732557 467391111 451254581 994073661 217390767 205188725 331443779 99158719 519780283 297297119 350703467 750289813 46887985 93344233 71086089 71331563 182112527 213399553 326682885 718775215 482885985 575617755 775910349 661223577 308411191 10716275 889396055 226900779 785915567 248780299 202228513 698607275 669181673 215430451 895685681 605828907 868190481 385654973 965403671 802384513 192329047 499675077 757217767 194677585 25735157 41035953 463413057 743134207 553019439 938011179 969972555 512800703 815241039 349990441 112609713 782531463 261897127 634506471 190981037 636045079 347449745 247695849 677447417 813109753 402146415 246659323 554312415 12027517 78530475 213878577 908325163 879240377 934989753 80917993 472988469 962062223 392688915 395410885 57896665 693692841 214278969 113970609 940642689 630564467 98413495 905064421 794811159 746064169 278533917 933355737 405756179 632573385 507635721 991990355 17178995 900625949 250972699 792788063 215099837 494970035 604936959 895749715 310137345 912945637 506616677 688920009 956524499 271575763 345205255 840229797 815455571 329015397 767421097 835504405 760106023 156221517 711278869 11521677 297420923 226020351 220992029 993873607 750981641 450223039 88499355 214441417 336512269 257592213 249670257 178530785 672833355 920122447 272625035 739882657 592645399 497056903 864304857 472504805 303495747 540267421 966812501 363979473 906280237 214571703 170949379 714934997 393857469 67391945 188134381 48656543 687953505 273930891 956116261 672370993 253566223 890999161 50363845 746562765 386316871 605159137 767911409 631872511 165710347 58601423 462760399 881203355 613548269 109410075 875158165 227464381 982945025 347222633 995917693 560591307 713965799 986758943 200422087 706504561 240342725 159362923 420031167 991566497 884208457 472505161 119765175 488458905 761396391 261561209 984651785 646634461 19625377 194970241 147349783 154588473 736616571 432429491 243882573 369062593 604160003 706777125 376096025 55442643 442183313 309078459 878148859 153980177 332639491 61284377 379738225 589423465 436501437 674591667 416802311 750281485 530233263 193143997 416120143 50991485 847985999 832379453 248186851 983408505 281625499 898990327 903772775 174617615 810423067 256193659 659096449 861584789 759443163 937458211 512945383 37531301 153651057 363829775 804521555 970038051 122751485 838091817 412867205 932399421 775220517 463128861 359539273 528743527 844285463 172789095 873930609 522285661 982586247 463472197 835047895 63555105 255981751 394849983 862976607 583513347 224762987 252174505 357051887 125971861 956697075 38437271 2092157 425848499 167361059 27171307 545635331 328618115 427235417 526348749 324242817 905410927 219985277 485592109 262316547 724631853 226322687 40796099 876463003 371901881 215802321 872529937 960987235 33373783 216317811 507845725 651241855 792857235 976921837 552840889 550410261 329699137 177772491 795802365 849512539 636821885 689567523 526560713 647733899 447569325 925454485 209554821 431338469 293325437 595149127 672865121 13504951 685470175 334035687 625536597 174612047 92148241 559698603 561376803 434841097 397926039 711421519 854551633 432306247 17856319 495973663 376161073 206632565 801141529 336213731 763363033 429542659 279735685 195017461 685771821 998428781 154407717 524093235 553037265 884850739 19349735 208151297 526712633 938967521 482809599 991949903 521322395 570049033 572809191 523672213 175360247 443905349 82788199 26489293 563871511 358676281 585041287 957630337 676812939 754274187 714884511 199029693 952823209 958650611 893942089 54708759 320167317 522315813 859197289 366428335 206822195 371027177 709418799 279464235 263902773 931976453 624034057 136678329 313667093 737300813 223702457 694628367 998658833 664136347 870956353 879353963 54092595 997950675 688306669 768147603 532284747 807355355 356693841 114419925 671571951 280745131 606506825 419183371 132415105 186002999 647047931 564439437 433564201 570509447 623586257 157758535 252903127 526777761 658724481 805588899 499036229 525184153 821850631 381307801 932845297 536932489 647480999 40510121 160103203 942912917 191914733 359767765 433108973 98839525 161652399 572569265 13673511 80625323 876333061 406981197 943842161 545758499 262159447 929681995 130591027 933851021 480735569 745950417 869680029 399409717 81496551 762370189 878814887 611953263 415005011 326129589 132899603 68685713 585974811 221261575 972823913 880241663 720398605 261547721 621648629 525578277 50545209 175620555 26383061 22115187 135856639 975882849 95732455 969796965 907745793 983796075 580462803 417870973 811199021 388528973 33810695 641337667 4642231 567039225 457082303 795571019 245019675 139523297 306346491 477577263 721084955 501827079 255635585 609430675 749889223 77683437 710168803 273709343 714142833 697138343 152935031 239911301 403502517 901368261 686706017 727660417 591942777 120532841 751414661 820980179 950174951 829411385 914539415 718539593 995577461 188569443 77713421 917329329 294649567 640870301 909077031 502610663 626406695 198399525 294086383 679458255 309041309 537249731 298908211 150149969 703439829 220787649 19119503 517768543 853964711 19648251 123759967 722873333 247419451 724717257 616762317 411968531 411435005 695229975 247856587 56677575 616928927 198415439 780420621 2377247 299528223 902971499 884677655 440271927 957716929 815796197 342445873 631878195 149926161 511688647 495621993 250615099 540981477 41904029 283123353 859913601 783488597 885548671 243043169 380478785 776561611 156530697 186871849 843215293 840690157 935555429 561074211 219216445 312183477 541034557 628000323 836540693 925838939 513422793 968705613 635557025 630444135 791001031 351669703 594074687 806570657 887692669 853340419 961498461 643283489 525999803 6016025 759608941 998156353 275864277 267950057 400781799 343152551 337778603 138327323 109088589 96724285 566506147 570358047 153057837 119618873 416762281 812864813 163202837 630774805 49349175 489508167 257422497 650337689 664847943 349676339 694422645 400086479 590718307 740168579 685130297 341780491 768974743 199091853 39926431 569173993 595958395 309834613 198543459 834534479 287831085 5568799 710440263 18865767 560200785 85615935 158438165 946930343 764898071 813013835 701202589 801933259 667505205 762876293 327295163 335239639 349220329 874963443 943865683 685158679 299088377 317096293 673839693 272550687 135047861 703837303 244940955 292572109 352990705 398406789 353338169 224704579 610474509 130634425 103523881 146257391 797475567 607212805 720597365 923297667 792867589 311784735 173008941 827771391 260209219 120934791 239338351 793815459 535843115 70336135 851146585 834086653 479556033 286849837 5609497 741939683 269793939 912229971 127678177 852433005 284118969 970396057 190340329 647499269 727353297 524298857 263391859 823090771 628611839 612572911 242568141 795754059 863348723 259195173 71334981 523548973 705906403 968145869 845313849 415798651 43935373 45108079 957584649 274164735 440057145 431510361 605807647 2693329 216846771 224589989 771060717 693669451 920105041 40653107 882993647 987761171 538665459 454838955 42435239 382168595 897468671 661489021 447465629 638866305 311756897 384640481 86214503 367477209 663239315 591166169 125478557 3033567 701445265 417171757 398079199 543138461 164316897 272761963 464201435 930230893 519539345 749678059 678728259 241604069 700578873 890883537 509253327 707489517 842498807 781615107 824159043 657191855 568487791 532094257 747638375 705470883 311395537 568885715 274768913 512696449 142185427 913238825 566020119 907781455 708652981 318473789 157488991 575814489 744541497 279010527 248748753 259614003 9769393 201851047 293111393 847050683 319498737 810483187 817379847 872947987 7576923 702617839 133006535 666765737 693586639 588268167 521315753 543406897 53692353 824067959 785644739 763102629 890187557 863859007 76100141 575953995 351586937 396239651 841630983 736373425 878261955 726589241 69132415 891805609 947028881 65452373 158554311 335505999 442400251 685855771 181877783 273388807 44020127 776512495 686149555 797074559 419102625 833380867 538998501 783874731 823345073 968187217 109233661 178272199 380269317 84076951 907022681 323555669 556659037 36594783 354888281 499982117 169358331 853537783 700686951 749812297 59441329 866769017 906693623 331282973 237750997 489963717 528957825 947716935 232676931 682236291 375101577 96023217 540495459 820319267 500428439 164778129 276199203 703637471 693656129 807041891 619281399 806532277 649730591 181528811 233179361 515532397 830877137 2738485 235039079 234539929 982169351 105144215 653552531 50098833 71893101 769313193 506390271 363051637 381966529 623788627 728580041 390786093 935794117 966280897 272182677 752545641 182581059 292856677 425790099 972010401 552594445 73400573 45638779 69351191 825249019 260005263 166641543 626574801 656855539 951354723 207822721 812960417 234618079 345353743 521925813 732075551 516813997 95763313 593710329 652080553 106535515 994678445 339133615 553913963 270614507 557063979 610322361 655333459 854005607 669153189 702187653 403527961 473336289 608597781 676217101 257530685 708337779 24305085 552269773 478028041 227533631 817263661 780139723 314946445 662136431 928706613 555150999 823882655 895023925 671383543 558260037 971250403 218108111 656646865 397816693 576498877 521635195 520444531 542840139 327082849 545447299 403831761 627001721 530253507 252819005 248945703 135757361 6186409 689863937 900547577 208878643 451142807 230691889 553495059 417991111 504748253 280233015 241211529 470808505 69114261 959075463 473455031 62837857 118804639 134795417 996430147 622823579 735882149 526444273 151848729 972907727 129729811 152650777 256708203 542614507 335827749 218097059 717297335 372608613 821502681 762691369 609776833 741518651 418597623 687540045 708328853 477852915 434901777 55395513 33659271 773166237 513676927 343689505 597667125 913997005 882368353 736187453 980352129 209800355 781796255 665965777 295221145 829553859 80766953 557239207 175211505 617685599 351188153 279504529 180656963 880052265 835124557 761423719 674156693 347395939 331758253 269348625 94857013 135911633 843141803 154005619 428395443 471867841 983842015 811456387 39630575 384292105 543562151 455746617 950348557 701648395 48787759 851210649 164723319 508774825 913900133 238999213 124919011 66015571 670722561 633117063 210943563 819097599 635103109 228233281 490774007 515112747 109548599 869615613 541885809 226570717 694271017 803514853 533216139 853960613 397366577 706406957 407637351 630042007 251299315 688988429 402803043 70097747 745496787 276468169 29977649 475551229 371139333 938492843 146037185 721784647 130216319 913330437 644212817 421800547 768115713 23505457 568473445 441610003 555322389 549796497 814782153 893288091 874434059 819757457 501480337 250785481 920971257 82221983 554430745 314300661 529412289 598439227 555613191 555384571 474132749 519648739 606612295 196364355 900704329 478450467 785921803 279504571 881927089 745579405 700201425 84820441 172396355 581532091 211796319 894439325 506056393 49093455 927071677 465359241 643495633 97224691 304786497 140504495 320625077 153677915 310166153 774222755 708076693 648346433 55611257 40398213 752962649 144844901 473032249 489041147 603202227 64519059 903386947 257347121 713237271 398472605 761096017 249081569 350343625 661861213 97352805 295729989 608516817 963394229 219178701 549833511 741505277 309334415 3080223 525126357 380232935 643889375 641738293 964609057 252806639 240930207 797802037 547457903 565912891 510987727 481165193 886424225 727688383 109667707 302182631 849006119 302041651 845992885 143389515 186931191 430549523 643266967 807130359 894222991 950820525 344552259 92140155 297274359 258053389 815683299 68101545 472338107 561682443 398786475 918437023 645473009 895154507 93200085 730425023 42726201 232745523 537439393 529958325 274539961 596755697 112820059 376522871 976516893 103358851 371430485 814272577 852562335 80085155 356439785 75253655 989943291 655719645 807910265 75182405 214390391 280468865 544310897 171124577 403927009 702816677 31718209 691335235 954684561 170814253 690324835 644953493 893821795 679374781 100458845 200295229 189103809 4954057 144609717 211868277 591347605 617656711 677785087 773625525 94300247 185702903 408082389 523137731 427695621 122298339 391902681 280149933 478884647 493815001 177349813 459090371 206458569 648242227 628307997 997221285 966438273 851932691 742902219 993207095 525377135 560215133 888285311 806890659 511815225 900745667 346073349 62635357 46905867 435357375 862600495 602591013 319130783 590152847 641811161 303375613 790723377 751812155 96732897 269012015 173314183 585953175 884433971 892229971 9329647 445970999 564013763 347982147 552220225 295067773 781921419 503506981 504862427 815933585 629785227 380895331 726811809 419160931 231524305 303236019 532184835 936316331 268044395 383048209 264795385 548326635 235068533 855979713 482013693 417455721 603270417 615857999 160635161 602279481 929577323 407492751 377674201 880586797 864308147 756137887 821784403 782234347 935719971 410866401 168017191 585802457 997737473 715765505 997790843 809900327 241472659 123932663 551836413 383416525 656700461 947937275 191876577 286717325 558039337 804441235 850791657 790412525 260957417 477930379 374414681 596934975 880924889 968733689 497469185 408677529 744727913 53837109 492713781 839623647 512895765 923402729 375949267 67950517 917933405 157948157 634458693 491078543 452551629 692760229 39242869 751940259 39672569 80018785 17756635 738848497 249474935 708071665 714904183 969290819 288186603 127493989 337650123 247864617 690961665 39903757 259986409 380465145 752021097 247116425 970420327 378578903 971183583 527843261 588908385 198506919 922578723 922110675 617994367 749255451 381722113 921909313 540116463 734559661 293455691 331044547 118838631 313842075 789061085 500682331 322508069 827261679 688792469 759977817 73928943 381497977 234988641 464055119 767472915 697727183 231893809 326301721 240476009 324076883 240044801 182677213 46388303 634481965 460631505 262652679 968970153 380102221 845942189 309073737 511465449 319424109 299576743 462763681 684425473 943384075 80948955 751520083 167914867 21434223 303573351 747446251 921834305 73188779 260551545 347834941 456766717 774217111 602712129 119823975 125469373 907221203 889614075 639611851 298280221 231953607 669069287 49258007 114034245 280865699 95983955 53296189 568458467 225417057 958593165 75061115 206517037 118765245 116501233 235614295 384432609 327943237 685844195 56876441 30014277 543684421 688808137 48944473 54206505 113132757 640367131 623139825 489760481 571234521 852191309 665963269 723625037 658046711 2914279 857066115 371323089 959367069 697191279 357946271 881032029 800817929 180877945 306398675 597467753 619046965 947687585 704194023 256824559 773954029 124607109 763951843 920302969 732008385 919795411 491786527 890279699 859596551 703775035 146008373 45333589 335367139 602351481 69638923 526059099 410852409 170419279 853760715 788699597 377750717 420162693 535402987 691002329 617339877 732799471 553219111 18433845 277854449 728882793 733432963 115481887 191783147 918119121 460176459 961701469 958720929 906613269 944929299 406190143 684522671 160447525 697764025 965379481 621323377 669328637 347544159 940142539 69543697 548847007 689671025 567675323 251487617 47081235 879766437 891554517 740580469 344110957 139373815 454410771 510585201 412751561 616608941 690101487 210197949 7198277 607887439 466194035 349058407 21387535 786870451 934923819 390436937 139549017 326512887 513291567 885643011 874365273 814231421 45697819 205840893 191071319 492426995 452419351 532147817 327787417 12899661 490127569 422588219 874704757 424504005 486328191 591570999 591089217 372517089 853228255 598542051 39683427 967570287 160603705 858057617 646198339 183197569 339483993 355152473 19844435 764727923 993123733 638047259 374904079 658246889 685814989 33029503 441426681 930017233 856319589 666352629 236225689 634510687 130664015 802579637 65276035 195957775 324354557 813748161 289235283 967241635 82386801 209833183 734380199 660297771 361974319 502662817 581663277 970731257 645101125 84249949 281285271 936264105 129076555 52731959 412306077 989439265 951577949 798906387 143266817 475691661 206689827 449448613 689408657 761515103 766490061 869753187 420541211 276727637 600193037 82143375 487227005 582004083 625739555 493594671 445077141 247357189 300570325 246144787 497160529 447390111 655492467 348354519 373783971 955666719 598977233 735429079 795346563 539467943 88906575 422747197 883912691 177558435 83381459 213931771 842140161 456142539 640832457 784067015 99719611 965569303 191278123 324828449 87169599 796658381 763261045 887295315 872179627 454039163 316347053 720726379 179743789 235245553 17112929 784705091 428094711 750903631 110379689 457329531 737424193 5585399 482839329 730358909 821384527 165733271 773485811 473126261 495330153 265369379 441179337 39123039 913343717 545523159 241142491 866485753 390087961 426385461 772325863 733221067 39804011 666242829 109647925 653734439 974089539 340634223 53560463 883800869 905554707 314845373 863516497 371373989 371070295 241663893 405594453 548427087 360503441 152576233 259315459 650454163 472058187 220159977 498830151 642239403 280905493 326018065 934524571 631142291 595991949 85127721 158756859 685865241 576257875 973951803 787931629 357903817 829567249 756003227 29897087 390900475 877811321 109851623 100729161 263807699 724975943 93383679 740530279 122450231 659936317 909714965 665539971 481754839 225071141 672027033 314158023 828105259 606718671 687987785 778945003 503684723 480798233 232278825 522997037 861121721 490176737 841683335 248136789 237095117 434675223 850522099 999991983 622280775 57389991 135482189 597771537 124184453 577151375 217470903 280977115 890512563 637022417 816483231 322482419 765642941 142318711 216957623 966154951 509100639 190250641 529127679 838081357 561832217 594784061 876823479 950825985 343091249 293110683 799138413 263460333 819218871 459930325 314828791 546298015 509122949 277491485 944993647 492525355 324618813 623872687 878609211 682268463 377561155 795392717 887714821 727874517 734814409 216828609 428306881 317119687 317676233 871344861 588296367 84759869 679898113 181755769 63331409 549919479 133204475 694320635 191216753 22728503 420734213 643214795 456125479 929693647 561832761 151658333 314148047 447578645 998757751 993303849 217906953 600904677 244564071 951398579 273980359 367906471 76651899 510135685 340532537 982011465 128088551 379856943 878722013 912728127 579655599 203658575 616148343 579356299 317490841 222921349 959932435 640178353 797859127 814520187 27207429 21179073 422520801 104342757 434566123 517217871 625073079 260449659 489112999 548942715 170737057 947251969 586742117 67959273 256329039 341563711 114923933 323142601 788130361 209835275 134146311 160921811 394048161 74737981 825460137 418218817 243772557 543625655 714116047 614375645 193670351 149112931 891573007 107042803 472596991 120064053 696127811 671870041 811998587 415144997 698872719 840352879 420333679 193334327 220846945 807629339 295169225 352752243 291015021 450545611 99132993 31534575 42847917 825307509 277863767 673211843 972450665 32862615 692833365 47874065 762614825 786338359 898048075 973245187 278468293 224597989 853443087 974933965 398844759 465024693 391591237 615798183 249996613 877449543 857426769 607633109 146986041 77486015 63623783 828605857 883467049 425773773 181933181 654200155 321997649 181678249 163364947 414081889 884585779 266091533 931208307 651947027 600972703 990374211 255611947 587054045 602878119 485868311 273190037 554660397 573537449 905363937 446914961 35637891 465111879 666094205 113796297 197214557 67256429 904091475 490784425 689518405 192402769 683496785 94124397 898123217 971882863 630051053 667436563 794388121 978403211 196860709 75159395 274502719 766886579 60405887 693858031 781949293 667231031 622432267 390141455 397609431 766010295 596127325 434940643 568254773 618908181 661047445 609736019 171504203 467055743 670163287 578963471 151859683 50919527 763745749 74281361 688205263 372238219 394459329 859266327 794745321 38967537 546056029 703273897 466870547 716750817 953251435 972454169 720752183 853179123 510066495 36528895 940506441 118051073 346919593 271169465 763339329 638645807 755389453 144944499 640364067 897173227 786768461 319745307 431876601 296773353 1981657 682868585 844672981 943522853 389325989 59038687 882864593 361188833 107612469 677819843 321742607 720277421 393085833 182138151 305340089 222999643 794043187 843294689 202203395 608985863 291987271 506759829 913050151 830890007 131009893 109476775 628844389 310107701 645153457 849271883 265474569 16879447 76333277 794293111 147403875 835311033 349522203 373293803 495542993 997469919 184419629 581375025 271285939 937110677 734399063 161831833 129087861 589632495 33834087 494860601 452383111 698261579 712021685 820203509 325514595 150865483 689107229 662444657 274817165 910117595 626701063 187437599 693459087 150663731 513896545 68312633 677411835 148265163 504820897 273701053 884291435 21654633 170070469 346262901 495390337 332535577 617620821 619281647 984330471 280319025 196740445 340972933 891426641 338042699 514299251 95036503 833312889 986430283 303831479 715784783 994358303 59272543 666670541 229255961 568379407 336548347 928210407 782420015 39953691 38617049 100707255 292086227 216497693 805026559 953753471 670093325 91569399 793256379 51998979 588223915 761464723 286205343 874012305 534866759 869888229 184640135 452499457 463173185 226647015 300900759 839705521 689955775 288629401 448077887 403972485 666048949 721484039 51010863 946784749 42929115 795505731 514125155 125284575 422348463 220096871 689084707 660782297 26025081 554623637 713492729 159827939 647554123 848845305 945527993 283959943 933434107 709955267 189879423 347410145 80118317 431325229 824965553 846346635 800205127 658862715 132306427 604203691 57266807 1372151 628913743 657684211 597158331 455686643 869055467 887324311 272867277 923758025 75647827 411201107 688442169 21856733 440370515 151760497 279076175 684198549 312250367 679105471 195336997 784217959 284972469 437525649 649781919 972057037 459832855 24229829 441364833 24265799 692459795 280183235 339486687 147488097 980447707 448452475 603437647 662062253 845015023 491887455 927573937 943941573 386178575 586984047 354239183 985947467 898294601 59873073 158974263 289198571 901625843 466785973 780591683 236825941 651311271 407832465 999621141 438760771 660176713 332487393 752516241 587917435 299838983 443712333 840992873 260813763 700952149 29692929 677388311 940709103 810748399 182153143 989904601 905398745 131686871 210701227 207661495 210553699 918622557 930236067 291391109 474080377 167288083 439448557 479835351 761533707 521831381 523148897 45646607 933908243 996952521 682743133 234994517 612285335 308046681 468357061 829052057 107629469 551637051 756360969 197637523 703275321 492704875 963895839 534249925 15664773 234805037 556506247 690446455 731507363 911351821 611093315 182408119 383379135 695156191 223978469 374746461 394272521 214696895 515318147 705327117 826268093 578619923 776664505 835572781 835005467 938231175 958699951 94227181 347959663 524214285 542890769 22485829 82884619 91570147 875898649 699791607 676590665 197332623 484500355 307228553 894160781 813966809 1784725 174581069 818035005 375013591 440578847 765326425 311396815 614089447 45272949 806243729 486573501 45111979 830810229 192677785 888561287 789248273 954341769 39385573 252411835 855201869 380307099 108045739 531156967 675070681 533977379 468995307 29597607 862503037 21593889 117282671 882138781 384074049 912341015 968608199 631389301 380167293 233439255 630763593 380896735 64075211 962904759 576878617 205184407 411173903 152972819 141689883 850743133 715712121 469540819 191710211 218945277 709728631 843412005 903447365 716490059 715733963 993453757 606122533 246634269 83859319 150237661 209429675 185838679 458898631 942392137 789159847 762966245 40778575 920133969 185813423 159827383 67539691 687787977 404638757 514677193 126609601 408759057 521854513 137657627 496050747 86191885 73562051 979341243 413984271 149629487 409168533 322037431 241446201 263940713 372458789 925688107 46441981 576066107 370636219 894073657 98176231 668599725 476280169 633231117 214273997 252043083 145842951 578963415 362049223 498287917 818937909 538660563 161867071 195807215 369158235 673360451 40169179 874292153 803982249 616415343 322793109 423945529 141974041 821360299 472628645 928681637 536240743 171747409 126697105 665484475 394876193 298140101 772234279 347596225 800959891 417844079 496438903 592195205 418778325 337355969 727239649 344325985 886469323 54042935 918541831 13006637 223683867 52225873 189172439 655307861 8718387 331183515 218995589 967748035 623512145 458400169 616069517 630096881 707945071 681663249 271791025 447408089 771044185 194624121 594374913 520395269 346542751 901572743 645168079 546590081 690723735 547823347 72728247 294381285 786347621 570488177 892846495 601506125 95302893 90293449 21557425 140786017 83963875 420023233 31278947 5247567 974352317 2929711 720246129 571631309 877772731 794985449 580233183 86557209 339504871 861257683 221520375 384831225 75582735 252989657 807509587 83914429 530099663 581624557 933965769 609465401 544918915 482173957 947977857 46488269 417317461 964774697 844855527 397565789 742745911 629648735 314899117 640780635 705080541 709437117 457993681 470605753 34473675 350753625 163558807 947573753 992056905 698375257 954928523 983878943 200087397 179996387 125409923 224991417 31388665 682936623 829508503 989166559 939627685 587438963 778403633 17874477 143820241 607506161 430409209 886086859 992116399 546462967 888170979 105674087 827969075 673674707 652215087 850956599 811285025 666917857 673612125 808881145 588804607 275297925 970450491 644370677 487165471 581891367 564742879 30829045 340502169 646596665 699630755 477805653 766521933 99835959 749301293 869973997 715386851 405151907 93618279 444120105 718703819 41911045 214661511 437150453 687235645 181407731 120927239 597184965 424442939 735779843 455915439 323928731 245931147 320365275 371044489 315058939 431769023 845599267 988359657 575605491 47241773 968286861 390126443 357654555 571163385 889381077 912502773 244939919 941302537 911456445 831074993 696864759 242901003 410547725 539236373 303076481 945070971 514192281 832069341 295298019 589368217 85921853 66676493 478185565 23612011 710079961 344730865 658532785 551177921 800237655 5318687 223040561 621175095 944392361 333168239 836059057 337361193 21163979 987525897 141404817 410584001 425704895 481263449 650814647 480175857 494816397 498323985 820686479 297418863 968511819 404761137 116370451 668286139 426877199 105583097 508651967 396669983 866192383 248119287 366417815 936794025 549941315 904117761 448750639 174998579 133722893 991945265 720511385 949609311 638984089 654142443 626390643 90670225 818567721 88878301 631412453 159621627 535680773 447881723 984203165 80951703 451559811 299375231 390694611 418593315 209447673 564104433 970988865 327215143 56381901 655909913 112361775 740545269 559209063 692956175 258212717 948615077 265451067 957612845 973218385 109003799 303890625 325188889 616508599 330504179 158762619 488527293 58910469 748158889 464335351 84823119 600165421 461293427 522351813 947006539 188843171 179641421 383078525 937570933 449921379 538593029 752177605 81669593 178771191 595899687 437526341 353541323 107648109 844425739 970194095 337577959 477439577 216908757 244469695 570801939 499490777 138649195 987241271 886308475 927757717 459977853 835064801 251326865 496016061 488337027 513290637 947344403 934983171 378857405 184246809 603601669 134962343 918524213 516561509 528663987 866289521 192873147 202455899 938590385 111991213 420889063 248647917 52519133 90724401 262522135 79574297 758674521 272115805 604235895 536798427 944843667 427579671 136438515 265810243 969342015 347862989 522463559 104860767 370211415 401016691 832119027 813383245 852843809 372922251 140740413 655350317 631862315 202761497 70832181 596955433 656930887 217945005 415762357 854980981 701014673 414262875 283538527 766999881 458090349 985771201 559268503 456375273 145822601 117053961 161234831 930837149 275023065 706185181 112115777 315526075 684075417 206303093 826871915 396217241 809132875 50825871 129614231 913766301 846018495 773939827 813562387 100296495 882398727 49198829 152738809 162596035 431434111 973539669 385382441 356340433 912361165 972982663 826615115 846899421 203761371 882652907 596366545 953987185 430091743 384289645 902385135 576867869 157004373 45008519 513770665 948134527 140545025 879949365 192164037 506871095 960351983 259492861 400992471 344798191 106383989 519675375 522956081 767444315 743301675 647260063 812893945 925613619 131324665 451757355 972692245 348339259 878663179 23028285 818018101 786867005 579415507 384601343 297452241 204076041 773127951 114412841 701472811 443976061 197703109 730535163 931025737 445235065 854587965 165182519 153865469 967965159 129610765 501891887 882151903 955772347 979248403 160427961 897259341 516998637 324617843 64537137 935394419 426828417 709463959 237879935 143049023 135682433 51860275 795714321 601495401 399671805 756222023 380535773 314557297 6566675 736879379 741985121 98059681 458691811 85053479 839465379 147840265 690571159 583529301 336540467 661271167 36301411 327333049 321352229 568775591 573017727 273460151 349987095 677362661 408380463 838743551 511383091 975241581 967638461 476136063 261301795 362331189 875516539 165595769 360156961 190443773 895173571 875419759 840457191 196673103 530228213 210451245 135142591 975281017 806933377 469783751 82984053 874644373 207763925 803512729 15168351 434561155 970802795 374062409 3550815 194740717 358073287 222514115 804583383 511356991 698095731 462476345 745499831 71244213 525147647 868905513 853747061 448707405 991395849 348428887 118418703 705441231 457875249 356867535 285255691 121082061 232869921 154047207 787477367 101496223 561470605 43968567 701167085 569718373 480252463 670759847 149168773 988449031 844403655 98205539 723690987 585771573 808880671 130674399 740607817 365922409 57837837 177205717 628071769 96078561 850000489 981826379 220575573 70294181 451862805 265148047 515647495 445172103 256296443 217026097 164816571 290597663 379113231 764806417 606386249 796889035 375295563 735502163 868306445 493282231 516860079 883804513 514974447 720320977 851672901 499188977 104774749 521178833 267778083 281167869 718856525 364744249 846161761 268719053 186830653 728067919 734787105 243995627 260395317 274803237 495692687 334703401 587274943 735749265 414617049 547469993 22869239 976085815 74929983 95988937 194162037 401214587 189964543 94181947 924087141 744765329 309449317 632354031 308863603 791704943 730514371 63875363 764815315 579444693 592060787 735777883 85246791 699788877 7985367 359826019 965404177 922319143 491918169 449917519 132016133 39214201 742714221 508436859 369589363 212832551 203715467 923240077 628644159 18194901 842961207 72413297 879424459 849646069 338661883 392235353 474207751 583992513 982639721 694936005 769469801 685919799 377585947 405131125 515467759 892622881 574473139 658338423 701855009 792507149 492834781 116010527 786050313 784702805 900090953 192198155 372216643 902736409 432882609 917998367 967873511 418745923 572190681 83849859 792529057 825924479 900929163 965779633 787294109 546027847 966059161 86551139 132679311 577160157 257320157 233043867 73862585 654883145 751979321 383610025 770615007 562603609 228004249 435198237 849485903 674649511 463713517 372622039 575158753 5018259 709531695 190219515 928501745 621652035 971605347 349050611 279724649 816226989 475088019 143340917 472129459 221581699 638835409 587931517 747210183 711344457 206818103 481432911 803606819 945424453 257093095 710922613 948147661 701836681 764726029 902662087 921452629 490633195 684268505 266507873 38959825 348294415 938073477 294330533 532134365 345656411 814896215 278558783 594188703 206795773 978889877 149215781 851210441 170916851 579122067 368176531 506608525 818029815 484978859 938400525 31615661 670505365 371265087 966207839 876677229 856289053 418302137 664606367 744432029 302069413 821354893 383151397 282607759 145466385 153075765 430181531 563830823 975153413 714406193 673652455 27899079 767711221 751299853 299221827 517960031 330729751 487555419 593058087 593689189 7495019 847562677 876671321 880115417 224971195 939877053 357635815 852718909 292238229 481545503 443690529 527943331 55729235 737760395 329958823 883291553 58143255 865066685 396963677 526261075 595171013 516708469 212405613 911665759 344772367 742665855 529621325 180439031 460570479 599268013 248091319 548217039 275973411 289502937 764644531 990872101 175029555 70938085 985065097 637584575 440687475 104918717 697670353 906465771 353277815 246703953 129316965 627816577 672367521 356010909 805324139 605912541 567198745 418899617 40303183 38165737 789724111 910983017 997460163 230910223 758856059 515892743 363520195 542458183 824991391 578997397 467964823 887019793 61530243 565307959 864205001 903012207 968917301 84169235 72387373 919336435 214637197 515079775 156762081 989732275 301827887 166705493 850176839 709474379 184230785 394304053 875475467 513118945 862132915 477452875 367244837 200572711 568725437 399430633 618355149 102947921 937502817 789824875 136543881 220059165 923072549 953156143 131885093 85973457 337066843 461182883 291049911 399826235 792260121 47948855 528378009 914983859 134860099 199449189 782252399 749731607 96850813 329855411 841559847 626665163 940580923 814153639 953014259 700914881 988027571 13362901 766316115 295663723 755494629 45431767 128620551 558588873 778710683 14563409 12977951 11159651 619288165 502651369 19413227 666714693 403852953 435571029 464980747 416531719 76823643 646517071 573342307 891057349 528083599 70974361 980875293 144731431 92360425 232294395 522648751 395193433 291640541 57224009 99164885 85042197 177209521 200991837 986386065 766084247 882588263 906359067 696056371 955784613 968174805 460594025 932804429 791623567 370166415 156789309 152846781 868597289 207751927 864758929 906368163 985937363 250250549 119645799 356644209 962263153 497232185 986489799 162431191 740603507 962688189 546363845 731055571 789399505 125270079 497114491 731833001 450978565 673061383 34661133 518461925 914457625 578395943 478722721 790410587 371044761 924201591 653899631 887977257 185191837 5555607 10612907 339294897 430597825 848023023 478339229 38609825 151457581 326087599 734289291 811108587 22135183 845499089 517422281 964225485 903353371 252869137 203627955 900507341 213661587 550990333 718308519 352330931 961347133 70671841 997125139 795764631 643930851 650985685 70645095 875336147 811863519 920277181 705595935 86979339 811525135 596749119 18473659 424291117 567680473 151769289 860138953 941571437 833533993 934576537 447255255 842705733 900931447 882281641 380854145 787381117 775099075 236802757 962872427 970770205 947094673 893824893 415495741 248917629 533083119 836969511 641634985 453567543 583651699 650633959 494460779 136881713 269687871 685455777 286061379 613577365 226424565 564398345 366064383 278684377 989415109 590822293 99114605 76933305 986578021 851760261 945507689 793028409 655872275 449369315 555242199 764382629 8947093 602075775 527945119 406481041 553634107 248453359 723799987 974686939 448361177 348258453 156973327 745603749 449555407 144264601 336590515 930940507 589539073 915707117 594534829 458990003 197256161 488400197 73241611 978288299 360780129 852062245 231013353 956933763 155054339 233828053 884951147 684439753 639459275 553568099 668598969 984943185 234374983 381568425 155685125 547317817 874399885 410986055 247410059 319266019 501456191 967977893 543681421 389520637 501996671 687332597 738319443 958534779 161431037 399806251 999847473 345429399 969836271 645133835 452307331 264504279 306760467 379250459 41775015 612606729 116173231 498313901 792694283 49950271 64514707 40632537 567302945 789853397 963030291 101060735 547040607 648836463 350283535 364068935 123319885 533912827 198837741 385779617 865850227 303343533 132573081 36052933 300589409 814034433 962514829 771538613 29045939 279794105 470934469 707301943 916343053 881999077 839680965 888628445 505573911 148721367 107814305 189229309 50963075 999708973 366575849 856054715 231836429 248774855 60604865 744600573 280276343 275154135 341353419 838411633 529607049 156026317 962519863 510277523 913358873 728072807 298230203 705877155 407132669 684838057 199520661 428417703 54602523 658070751 83878029 846127727 823208283 902855837 706212079 355607191 569654191 977898945 61134993 807658107 876611347 595373933 922485715 36592965 127341449 979656973 243062937 810015975 489869081 837789529 224297301 55296791 922090201 948700489 824649211 56508501 384939487 868961571 497638151 252719339 872021585 559974261 63778947 580617191 498550871 376969743 917101309 127920163 290110755 800274193 235548807 602967361 412734963 351812061 616528837 192461477 326163715 519329313 87891161 799238273 966374051 563898577 5854835 901180623 551796257 431184169 855741129 911114829 802279131 999922091 208272027 254784899 298945839 429538599 776149035 479718851 295792011 522647471 145540171 237277733 448574817 878320543 222008655 72130697 291054121 420599963 592271895 69230743 308983911 826925715 434543881 44124863 810411683 476057783 741726483 551727931 929157235 369433731 679650473 955969799 8218989 864503487 755815629 904999665 650125879 904427637 696418307 797120133 194084729 497989113 569479003 591355163 474754791 904240105 65336679 710986455 220573241 925499431 281428299 771153823 691401779 627367647 516025769 117599779 275889565 718204807 654827441 120307419 176972365 760875995 406994459 571106055 639544345 177653471 328917025 254013363 632824807 927683041 40541835 628609193 291784351 510464369 586075817 520475015 169123893 728867951 166157649 798825129 320212641 134077181 985766367 148099643 970453223 533940105 302936891 714861353 31758351 328185285 69595857 97739311 392894511 538936753 116872091 849280205 8119133 972961421 423951125 344030281 697826495 138000871 151264325 986288307 362112893 328379541 404742329 30250469 394837963 268476849 607045513 978669185 629417953 902141345 862279251 468671723 129296643 776599311 322397243 619760725 134035067 104439281 704046323 787552185 448295577 851366017 467165613 952349909 660316091 282697287 648814121 774093107 35492673 201530637 139919791 550438177 386497173 419317733 472371211 77792953 576495657 951540273 877922963 917655259 418699387 183217297 568817447 837255215 535360263 642844657 244113197 148410407 897523037 416335495 569833619 365551095 483745805 930623183 217807 459851171 563420079 909116045 216419295 30032625 86439401 362707405 422439241 533736053 919200867 567047139 156760347 222370433 601164241 405616749 161269485 97309243 329339627 365417549 620160221 878298761 584192373 32182447 756541583 938706203 597587769 332067339 898542645 432566121 696716041 241422105 852549505 874231221 216716221 853212127 558346419 951222789 958822715 984271529 861594003 487346987 751442795 827079437 934731373 323730879 816696129 216536805 996030745 101252383 976506805 589885269 806464499 792385143 729276107 517058507 243334371 594005941 962824845 149701883 39626839 284903057 891283981 312839647 720999493 631662987 834880611 295131839 387183915 219311341 908889013 358423075 843848975 838542279 307042349 823003619 183120511 803783407 193964281 32265241 966866835 68600841 616519513 296772139 393567977 521993849 54464395 360726979 131058343 9246323 565299161 701932503 476189049 587946989 602711961 366454179 611605911 655479719 991763491 445043627 551537601 675231787 447611353 277854905 299863611 152045255 694627621 73833189 765799379 751974549 995566459 111205515 194217695 319434613 360982611 16124749 235926593 897062673 862715953 815291671 693056603 999558613 33927583 130261791 913952283 96729597 747456559 146328803 177534971 166032007 654036857 853162787 27844855 469283899 842328099 277173485 41667479 236496043 424742615 568737941 776464101 378001711 635561797 120550585 53677435 888650215 454187815 690578747 545763959 208690363 261467969 998869577 151021695 742989915 526058589 799889749 456708799 727547713 708582475 397406751 686108145 287462059 61199081 718888871 205649743 135899041 791338263 740526907 854576547 213877749 790780353 626198897 146744377 789351743 770290903 981948195 419913193 104115167 996730963 288501365 814976527 57337339 679069497 307224021 295975315 199123591 689570451 489987319 535622627 410198073 535655539 408058839 746595317 265500819 804411633 972759479 798964039 995005147 707394357 67710503 292635871 878152995 67570787 587119097 555924045 840254785 658556081 648763465 632186021 75331545 722468951 917577597 286922119 16906575 410990233 287915583 928491545 163710679 53110465 833129093 953898503 70104935 498348833 305597067 509563531 822957759 833033235 624751573 152630623 727235689 482675961 999940655 312268749 273284277 231851325 984627885 950446497 461768121 290718035 552841901 358330419 436396633 503991221 15836881 174798689 429604665 176305123 30846983 533016207 946725323 650430313 723712641 426219949 228383049 749740761 859144381 682993201 670091697 613022411 995978367 781895705 224523981 279989479 373769685 56556267 943416619 780028113 847327247 284929207 172079909 249319743 882215629 83045137 412550619 398936809 25047793 215660569 592792631 383730581 27350953 287823733 594814949 610695431 26751337 174188881 945688671 928122903 916740843 590921575 318367719 367567773 207695927 170178035 834812549 440221565 200713109 578377403 988128007 769221021 918185117 80833037 462057991 98505459 48954665 29999553 481796837 373611639 303346783 78942259 234159817 138225711 696302505 667033931 402424227 711405089 657568701 736011127 212287275 278565215 57582997 260974255 612803555 430422791 33060729 167935853 764305425 11441979 957759475 276113337 836269255 894459937 738748631 926117411 28930267 85863663 732777025 559746239 675545585 490898143 588637591 678228013 584982895 16510001 733725317 120956563 222848901 348641073 858550269 719829663 401386027 17615153 538611517 282938501 472536609 189175179 534992073 521075975 730117617 737697441 79188333 845745769 569687275 91312863 238938941 684447097 541772837 289599413 113565847 872794255 545745795 64138909 618646301 523423369 300629161 913996315 221926077 450924491 908831755 290945209 231523497 95778117 568823263 503064585 506559073 344636781 315603749 939912615 598242469 179442499 304400551 567913521 166626947 917518665 293912051 172003411 579017809 547392657 373859427 461082561 251855017 327955887 48550937 704341045 348174191 199456195 250279673 80630895 704602833 85598067 754396597 259703611 344121923 527198189 637040839 799606379 195822465 223054821 130007917 227619801 468731277 744772765 896603825 715216489 819518391 916771033 806555233 457277697 880087697 180372457 749863447 132856215 693135095 653126817 218876979 924176421 86784783 749461599 826409693 358578091 59757891 919203341 384673541 542318901 749227337 605453589 434451299 638606037 828973853 657977967 5177209 611353255 844536323 980143513 325671567 813896649 87424903 81425307 577245363 564039527 967529597 555820033 405904829 140610487 127624193 925870049 697342545 325004013 756107897 403880155 78299861 135832657 543792785 696290325 330287737 562318633 613309499 768956733 789919285 262156233 375328693 714908041 427202507 606623371 284447365 577614007 334999233 989893329 758763123 532815373 192742761 766082567 319648917 540204889 637336025 1438365 903308361 514835955 273159413 51127055 457793073 122423737 258625377 125637341 72361275 238948367 553546385 433513363 618376603 437679333 481750459 104450499 941975499 987424691 347778785 258649609 190503827 587219059 733476295 849939459 184008955 673114287 390214403 932355935 242266971 986634867 971726569 225814221 288584781 706633045 168826013 938538759 470491317 225532277 618317059 848539603 797159363 834577017 53840847 150165751 776209383 253640847 781402229 836795207 322348509 528948589 849456955 875634589 435581357 744420689 119551011 157044189 373400481 995840001 840998915 157056495 617296717 421293005 683066735 315023045 83830925 471278729 336871369 965279577 248962183 153598099 282762809 874326961 356652197 340471765 345631919 199275475 821717407 365162169 824588517 156549843 615328365 349451063 465869657 741837261 845485907 449871823 804127315 524051167 241371363 683353221 324586727 298992183 645293291 405400039 674747367 933320965 392641929 836898315 152488697 122672261 41116197 880276883 735132035 993434359 570355813 1861279 213595061 932742823 927757123 627302883 32360841 32209129 85351415 762420627 965362107 780318995 138076935 417442413 113401049 818873737 273987393 908768951 960727087 181407927 777798837 463897921 38065365 37031949 24291779 685301855 81180847 527028999 814819343 129979121 806168931 644773927 340988803 246731099 127340895 609919989 68362067 303980175 264067297 95215621 143374079 543809791 852325091 447123955 914842951 411736493 971332145 444087901 871908667 790180123 585252955 648980977 557534509 256379997 199425719 605629535 558431673 318602755 179474281 466855779 306089157 33427761 223794261 822920127 730467963 326117001 580469807 836939323 73098321 192203579 258634605 982683307 853268995 179585531 761848655 733562601 228235925 137477643 473615583 686702553 140455763 865525809 11426797 761621603 419965137 945078711 113083407 59156601 941596139 610633081 424801703 698328599 488519367 744051919 264248541 263692863 840084433 345150117 554381475 132921849 531140283 782461029 434701229 598430041 114634115 662812425 137911679 449369211 516007277 588936205 730475873 686215805 870708229 897071733 315387233 668586637 715485729 935529429 916939609 352058075 615166171 508172093 305706985 812184995 216548503 53493329 894641017 989478951 745794051 215774259 14335803 117133743 114986257 611024531 85752867 278844561 189389825 403440295 520468981 125569315 756351571 116171309 718148663 471961291 759837141 882873451 829022011 183106799 669767069 845655857 833597209 8886791 612318981 690955731 490377905 415608457 679821491 107416113 747679915 788276215 400369041 998440369 197293175 354480095 763819477 363096639 468578637 750532815 564013561 533094229 244729135 669426021 413405637 255051501 544678371 105895743 372002627 324661905 63550971 617336331 966638023 438353485 919898573 9028219 65043181 360340921 188780157 202646343 403184027 341587699 700513009 275759665 58319611 160335263 976307927 364917511 907807619 153700845 157187499 848730263 677094383 845875603 724341677 554743229 912966723 184248527 399928547 305979997 89326283 629171049 532805661 874612319 27231005 785507243 504575991 751878327 341139729 82196849 99588045 216547421 850787279 868076309 975987403 166104915 876434115 133096573 768429277 697906087 552935071 941477403 782689215 734383207 470030947 294184417 454061039 617517233 115548751 677000273 561057207 149662371 913120497 13272431 297760293 167799915 393681439 193662409 959765011 661395771 640728051 24798583 393266467 636643915 949739473 381205783 401802937 184311261 760816487 848552141 988585735 381126207 423962025 540213577 367009799 130193087 836188113 567656641 621658743 727720635 904804967 333933555 893297887 169702547 643819059 857101095 248965777 758725809 600333133 509634857 457454757 301910151 794596879 821919311 439081211 393514897 760487967 172851577 443719995 545245777 946338151 3861261 157556181 955766609 747645213 39551991 272767747 730504737 681076413 950850225 80461249 873277023 589168907 888540215 944925917 464707753 822024467 759820559 301618147 577107373 153397545 752720967 891631659 781716765 899874281 90009207 237410265 566003889 892016953 59483837 891615955 648707885 353156933 300780477 916550089 485936985 449036671 100056743 626480435 577168651 759598501 471028785 462593105 561597467 290206907 298407323 639959087 466231657 270302221 212435879 897912983 331774947 782985777 311853991 374407463 291000699 447990783 81292401 306422331 353995305 801328031 237795169 596219391 965526257 646762365 150109021 165304671 281532123 402009421 532702679 400107799 799041533 39614729 215002051 898455719 45147759 125225977 150109343 448439125 539829073 801906597 282657137 181025585 817177043 987714277 368705991 288943125 742540321 91129555 51202745 116513443 588136569 700043731 979422181 912032575 684421661 275694739 79660655 746165531 639171671 167289095 153750023 701703985 865218935 236690795 68082149 193235263 102036955 214799681 283133379 123434191 680739555 183803481 316951275 568880687 115868153 140006341 433494313 304983417 381046673 280558305 693334995 914608013 50302499 583640659 548950729 745602323 738809139 929605381 219676017 382113661 926927945 692208943 574228921 427581951 368837627 17995079 1685271 406563485 412215009 965679383 500282759 431128861 186357405 336801961 988156565 847679507 695018713 223504723 189312073 861159889 965599815 251225261 554195005 169758589 884788645 836441503 587100815 729082365 99947695 126859093 450472163 110448897 31804725 788419137 273847147 375221249 568631303 679526179 911704025 554808127 616459263 397119995 595642477 936028353 510696189 894536983 465726703 125608793 799047921 940498443 316257707 100959647 385013447 251263669 867053177 838525681 459621247 922198073 801548213 616192123 798604567 685532161 387411271 821027371 166067097 552356545 442927005 113578425 100430363 516054393 644899499 134381477 694697397 846794345 104146675 351109177 257433225 97202209 113882747 196615301 674437825 386070643 416218573 666564959 83405201 927264635 232154883 337247339 24784433 180115613 116013243 568483597 796089061 477946249 831048985 942116729 395173367 542229807 284383951 725980581 161991863 579689675 858361871 435053649 553438339 473975525 787811227 863868935 576106939 570453063 231590837 283232277 484248777 416734981 139499311 843042709 815379233 513730427 415309919 160244839 566617659 402731343 732871201 249688629 163810459 162876013 887670493 865041771 493193931 208764935 724883329 529805381 683653725 882891675 675000963 538716609 594240235 386679789 216595169 996845735 861700375 146837001 99289377 670601353 24339339 584905797 226209875 51459775 249340411 675727161 469181707 232918889 753478687 703354061 294291561 732046447 957324475 799377709 113040145 111520385 532233369 563596237 520999477 421359641 482151307 203464807 245645959 986410613 382481771 286441473 934946121 82523805 941730587 135215081 1515327 341732451 953318277 947725999 174626743 575207263 766091421 352424755 745235337 65662961 272509019 284975001 411266065 371617855 384728003 820356171 432867383 121060157 256368607 967624959 405426025 634723233 521649857 687357871 710934685 926831341 324284035 361359779 621433169 794240615 239237191 205456997 364009611 676915745 792300343 920196809 381997019 162457073 18732423 886298091 920397909 801448059 403508079 596030513 67881881 522693155 752120883 285417029 813226189 732843549 9721117 510199837 794232733 295735647 807238783 536167413 664884547 411567531 346444979 395166033 616268665 62171269 256345371 193570301 552172425 553273923 834283811 575411469 483287359 371659513 323318073 528016861 911365107 528517003 506329053 580793619 667981697 365791901 158670477 353990043 55378771 427491745 334566101 358171559 936088403 271218129 947575623 348727735 468720377 804817707 851759229 777762187 811580995 762129273 537184281 948118833 121760439 442189129 773004741 707680255 871927397 784135413 889144885 647874445 851285217 25470367 435084835 182824645 170076747 20085803 104310607 960297167 643051593 617917515 76261253 455647775 326944007 393347959 917600151 318983029 421871679 697801201 651124319 495909073 407007275 413405121 983631295 736449667 656506005 257570741 984103329 290657819 368170955 20848743 686638329 604666745 864247713 317094711 945090753 538123201 325926517 460889421 666286841 403080285 198608943 468973209 890977709 800744963 289521981 150099667 839324143 196750767 515991957 100329085 846557913 492340133 51250613 127889373 856507021 968481903 868183973 627126277 30461237 133415397 470479345 413265867 960288773 993272355 680103599 388435155 17579575 47425163 272831615 695347843 283712011 843712713 480072071 352222475 654014925 687076307 537742451 86475875 97371343 395215589 276343677 43678539 5550699 156006019 627798881 654711885 532398339 76263803 515571301 736729273 757473539 258115037 284204887 32178597 667159515 322499081 180883087 549591285 775238405 908004769 862591721 156270157 15451911 64632977 286522063 681538593 493314151 20554769 427487531 147260583 237258937 203864473 827354229 981271775 32920471 274135535 896038315 513133971 704923555 54879777 562640725 504048721 146961289 262620799 461437567 336587891 96502009 267802025 566386623 821064731 929553325 838283651 975400501 68849453 754947177 996695095 826907783 310636635 100131833 529867579 849752547 818815007 913118763 473864777 302847229 293908919 964338395 519467625 316136215 785015853 129505003 183226595 499785973 332538703 689954119 401699407 40197607 772260535 901211103 924888969 847262911 369083077 582754477 298983601 228742881 616425377 689056439 249531449 534183215 978807355 663137027 924498385 981853979 509220171 755852709 902414709 300575639 69498963 499532983 252569197 292139555 208544923 546236251 765877827 29572551 102186033 644643005 320532939 755183631 13560045 526407949 981098019 13612561 478756723 738425477 76143021 108408173 554237993 160052331 927226135 654035785 715361855 226399237 923207251 671099219 113075885 617327527 757285279 382831297 66559797 66063787 311565951 856152399 471146845 26639733 321164991 649172551 618875767 466402411 22327669 386446711 498738585 459041027 315803643 206604339 360304295 312556471 523357941 399876699 847633221 997935111 829065553 839990611 527612135 756927873 115579201 575858955 448882883 653663411 720979269 132075769 216438491 220857913 271840029 249197341 111294195 492493749 255877337 757343995 831435169 676765907 863036361 441040033 93883705 231340611 355563405 388409765 134259935 802934465 226138889 740561447 374420343 739154445 935599463 550219213 56600245 770245619 816660253 467896517 14874125 576341317 55464679 262572741 205984709 964380895 626512583 189302283 593271775 544070815 692366605 534226525 791367985 682425459 50774859 609259529 487504975 436323659 12286815 842544359 925134491 251994659 342680681 237089109 663380797 680525051 118873051 374170937 253028389 668175327 60173413 214659327 959091981 115430883 467421957 922165407 709523571 675755549 936800255 929591961 118607007 751781041 11579359 870576879 180547749 706584523 868615289 177820723 893644631 361234075 699731947 703096955 406431323 33702493 537579415 362217059 917200151 939167569 639651115 20554259 832917947 515043781 3925401 531724857 680338497 452692231 362468385 506547979 11580261 101220467 411400003 16005959 210316725 490435693 313510861 766083891 429732989 495252827 904642517 777785759 287683285 304659125 481669557 937438943 257058465 998399473 933625105 218401235 889907591 913477009 256552407 480936671 435020279 915426849 552121147 94984949 741013033 861660469 878224055 42383495 627830045 991887971 77933843 998589589 784659869 772623439 147019095 348982183 359852345 789445029 535069659 574456521 378810695 69264405 776843067 853478035 103472107 870708059 715906391 935156769 710625033 226459193 532241503 900234267 944808277 300722039 500448199 172236719 129412421 444133609 911352651 426703763 170069529 703225451 742273007 195237125 815837403 2520795 171236095 96623309 785900379 993198887 893972239 857408053 456854319 512319 237772541 883184663 937812153 152130847 942897899 626227153 261450273 602789833 344828741 248905801 32713817 145543749 469040577 156595435 418715157 858860713 999997021 606057137 6330585 572491019 908698201 816060693 926264301 110879887 408151875 220853025 580338527 343275105 146408431 889956961 992961289 57281203 296933755 751195629 929265547 539156413 360560201 102381409 969305421 985994945 123534087 53624293 9927041 615272205 317810601 167959335 722882843 986614511 40170601 642951773 454576607 566416579 990508237 475849031 182936915 597161965 509023395 960885031 997705675 238525397 267120893 949311439 277319001 889747693 264595255 484636819 82673891 686040497 703945717 831595859 855982351 813524899 49437733 900765043 332257101 812574795 408137723 113979621 24350421 260864573 668636659 412635419 593446825 969292821 909605841 117478935 187261327 873633139 80148383 389906781 36267289 808494591 855389877 164876539 630859933 262831729 125394607 774533769 269817151 514457983 670079597 280062499 249538021 932977387 190840609 225204083 499345981 414679171 739802427 754930339 408325571 832406293 358351737 893709675 527367863 222571903 577353695 6742025 201032991 660323743 660063929 885697091 635209163 535362403 514832795 910342761 491324247 583308221 214946915 716274255 406540575 715961765 411485235 63403093 931981391 300174621 503944825 534520929 349421267 878956083 611577319 864094433 263949415 589384693 942937467 613625289 885761417 831985537 874099577 533126555 446260355 157054711 52232815 238843483 742825571 179271297 393759277 31855767 116370435 832733521 627443923 508781671 57135365 127912099 317145541 687467111 844643533 233149113 629564075 559660737 684011917 442943451 248679551 699686431 815069503 812441951 921231995 338198713 417768097 954975899 560298785 907283277 670448699 439634933 75058497 922402339 356706655 592187861 858431725 836064775 537970469 312702895 962790529 335682895 318891885 861134075 407499681 668532443 422646239 140346939 224303677 375470353 887526123 106645501 262404485 509026525 933310667 394811343 610860277 366476985 152804987 89667919 715193685 319420321 399109321 159444765 573109679 839139867 210212673 663431651 403434583 584639797 876543291 221051219 373227499 965952903 167045339 433600297 614960717 576602159 81239047 983721511 104071593 323289553 148814191 633794839 658404725 518982557 919245195 76236233 695032173 923780681 795219355 793967643 498193047 237866771 78927531 293346541 317765691 284793539 773497477 472186665 263444719 948737701 605999303 676395713 271304081 503415183 349604813 766420913 457310275 323423969 82075587 540519163 636748659 963668353 861713301 265678761 128505043 317514461 893347839 785693643 714762851 523733483 683888769 840952191 299228515 519265831 488165473 190068709 107932003 761590429 630220719 314370599 694502195 381777109 377355333 102417015 714263539 666811881 592480965 370865939 91919879 475147127 985173907 162846519 557861913 4983459 448595425 710350899 714306079 469314845 290617513 392945239 824778835 560487963 557776297 130775035 917111869 252771165 45523563 401456773 119914919 722475557 916988221 483357533 845215653 88523845 442560057 323817207 576308115 952382227 344571967 351267787 745124375 193541227 910195191 280815453 710942747 977757621 356871891 697676599 761236437 83247839 777314823 21134825 887723457 853636957 213919127 645098513 712904099 813000497 465802571 740020559 241345927 876036063 542170545 299859789 479999169 924535671 19841825 930399935 999261935 971172237 201036991 834290269 428680435 655332417 615727985 331703787 933728249 244616503 124787943 177652529 123889273 269208735 587690137 280707333 928451371 238314033 515230409 208368703 826549269 126347815 499031421 817611457 17016197 859314251 742835079 69507189 16321803 985308393 396959615 163033167 64392327 291038679 951768259 940817735 928948507 314883959 750291071 803058529 427617845 703846825 509594785 915503271 518089353 316585697 342192353 810077225 828444433 1650963 667661247 11981573 839725077 489840829 69384581 944188763 55103517 963960293 876661571 594209621 482040577 858546459 925649359 648630823 997813467 896588403 940512461 615013641 972580625 104499341 122650017 3962943 126242637 787302797 439752319 120267283 456869509 729003557 702996829 939813847 691502581 400575623 216839419 788635875 423630369 108587891 70662115 737024925 283656147 96481073 447066467 160749679 960590115 579072653 846476949 394569415 267436141 360794591 476093787 316924453 297042771 685052419 982058841 534155527 343320001 416136033 616431361 811822583 581449455 174714599 80396941 622286987 927136853 590562571 986581243 923421275 372737209 496770251 738415891 129700361 884376871 877068973 233768551 39207487 157563891 884111297 22074961 613160625 159272891 592371867 632614123 60646167 734074977 487509595 900486691 997170229 659742227 779668901 503993001 585927381 798169667 731337643 299495153 279621321 295685809 522482975 754955839 657410027 660518493 252197699 972986777 649921821 440652949 679416537 601449169 953921353 38710767 898837813 92495231 488884323 827073349 659704615 536271875 907745379 892123835 542331411 809725571 652337229 315359423 638812379 389757939 572418347 750175493 704581359 419299081 379628815 841965449 320584517 163558215 92065811 843214221 529603419 330804211 629474649 560690849 229101623 987043615 22104075 103055255 88275817 348263587 280371805 505878411 987451397 459910429 665888393 850825443 564409259 835415289 903752143 812532297 484878719 78899555 213188987 513272243 133305651 186053975 133132765 731277661 491765241 182690965 251242835 838048459 74634643 111201953 650747197 857727433 692491077 699807185 323332359 74233707 845205213 266559033 58400033 821977871 741169075 858552509 20398597 950117207 918034339 5426177 802533687 748993841 614928405 351340919 756095553 748809423 329847031 101848665 484752821 152934063 991129535 360174757 235337773 204365973 755274347 165723173 869387595 330030735 346541187 479134567 218989755 691246573 633091603 251713735 69084459 618374735 342717105 202739041 373590875 685678231 954006141 551189023 879580937 782378483 869354267 396325553 325509121 87111895 713804989 1464975 575245589 895054845 871453463 537814523 391742751 993264493 478340197 603222269 808516097 602320751 177182833 293387875 352022439 500097947 460402567 303946951 619841791 182515147 365250431 754628489 218575625 211492645 745643191 566988753 663781315 621864723 437868307 830010255 944665913 822096971 443632899 648540795 214657661 279105991 900398717 599766295 752533161 7643087 699817983 441276329 941704159 86737133 448818577 438561603 725022795 295972597 377250239 310635709 602251037 153093123 239656095 762312117 686019471 470624125 723252433 752373143 926958565 382568719 266586235 970367633 138027113 215139755 348065865 452237467 34016877 464450703 888516213 698484853 202795339 553305663 21673403 51851945 98209639 443293063 633207393 606470791 171540775 373142651 448376629 292045605 740767233 667327353 418906255 454946407 6552943 830333987 182069067 340806641 941758449 169246823 733234131 645670967 163624467 209003895 689379089 785004911 158555495 63199443 876193661 894636697 417870727 618556219 141489685 310498431 144484629 231361469 78377825 253663407 183770301 168102063 778240619 553670789 554886703 656743083 533724111 97250333 932776229 182729621 946852007 332597601 424985189 838629275 895452059 646253313 792276661 472271921 245446103 157516151 20751337 534252307 174223381 611118593 163351003 13392195 539657617 202570153 470751085 717816849 999002897 680771645 12959115 889412623 665997795 104034135 194782757 227657753 176997599 995800919 737374517 318672981 749043555 11361381 617743297 972099885 656519251 766201201 823470799 691160151 350507807 207707443 500855923 707770831 127746751 422713645 519758023 861523673 569718445 624731815 172065005 162757889 202552817 740074415 558585361 190964507 720078363 923631647 466735715 82605123 182074945 661097109 364876319 529759967 559977983 528886141 687928453 161686939 2494589 943577093 803088609 667288681 40495465 84820773 231341445 910747529 897386999 222674079 766448331 119506043 183830505 208439289 804252183 155206413 732869251 843433349 637473487 780734035 103545237 404708185 758259563 153879979 693726835 245008985 973276255 831598519 801997051 452609321 540121907 159599461 427376791 512108349 379619693 76801257 552066865 988327371 988713377 520716477 824291393 820457685 902766697 236577961 215919047 982514209 286574439 997358773 293819205 534287935 73040967 516160057 636621517 812121483 922826681 684537551 956810741 254499617 353378937 296427869 97749209 347470827 658272839 295885581 611323681 2759579 111378673 888709717 686075131 224132517 797000005 429972975 241390109 958567503 152011295 445723107 564522691 815798171 484708705 153876603 443639993 861355103 336202999 770655051 574743623 197686063 304410577 80971311 850638151 96640877 699379947 444215373 22150679 726542401 715522629 786749711 516200091 563240347 743152621 785363757 369869637 30934837 77318385 381138335 177088519 230862733 535926893 334017195 205695841 201469675 807014533 463181533 799560027 681264227 212503391 79752201 980448897 736282313 692738611 974598733 323925739 393433021 390073397 278802187 454556981 110110891 736574381 882850799 383484295 250983361 964329185 440090097 589611151 715996921 524180261 220496969 357558403 27983119 495274453 310546301 978727457 809039505 425649487 67339355 280345519 675530955 223098881 288583411 849116669 798981333 430062427 204331941 489858399 847394963 130334425 736239637 387076275 757274539 148595963 838969389 708073571 882918541 392970319 456181537 502456153 605021553 164679779 384191601 240042511 457785175 426047699 290345693 6983551 127075081 562187331 184937845 213279795 18955799 742893913 76284043 893933879 985767897 422762957 387744955 303287075 554258541 858856277 621518827 477698323 667786685 382006451 768844869 699595695 837932667 695804083 245633855 248016933 995040541 264925481 780658837 934692651 809285859 99085291 260846923 433649663 547890903 889840607 138612397 24164711 48910025 842753515 925727055 650547891 733134927 900432903 694436365 694068407 41515467 813430313 787546893 630536915 158771045 252766035 328294075 612940269 535741967 123069073 270633673 831587697 75052157 487756791 997539125 719354967 742458933 286665627 304466755 522886175 17185401 628933795 200226431 365388237 254308701 173541943 346316223 770626287 555027131 946001033 27332125 532585629 508809007 566099925 581358077 786067571 749073699 523111259 128969741 170406297 780197319 787287145 937358399 675282365 677952531 479488845 984042195 239805973 994425289 312899173 287683913 385294943 411305071 678878479 486729585 947518435 351949401 282553017 232697435 208737387 630234521 326229971 434184551 996297043 717625109 748903129 864309049 572785269 936935795 621607757 289811643 783779639 440001571 356888759 850401827 411769739 622401629 569361837 766451179 815429859 378216995 309421765 512726491 720574273 106428219 794099621 595342845 74423849 458367031 535825397 440377765 244775337 432313199 411704935 890860143 104103257 850857473 580432311 95539009 519557973 182874329 517196711 42724677 385307973 728749987 107802111 707812081 704771415 85702619 804627861 484201217 379132225 937309633 394885439 864028537 540860227 454357851 825351907 461140133 316086559 375280505 473736809 22694427 470770471 379356343 446635715 332011955 181424431 262680689 639778541 774280853 833813911 298377683 927991529 604604461 310240837 606362313 655355071 682046765 81960869 873365263 800630661 470259861 452517809 906109731 873412177 283948197 713311461 603877199 914959689 320958443 345334087 552339617 34930837 946251837 682534245 513004021 978326887 865521077 466870103 160371431 874572027 374465463 753713081 887053537 953964947 300647409 345950387 952443923 455093625 148079447 628931829 112559735 985000445 931367203 287648945 586089163 52221053 137370077 796155047 664118679 100884311 319694925 719106333 70072877 550934777 118782603 799304931 186490789 848581845 801043697 556228175 479823839 713576547 253450533 619795517 685122691 666572327 978109201 987147539 742659585 597948585 152958443 847085507 3160723 750232447 246562095 179986113 892307253 658227775 256269729 980173577 197194421 39521167 67164237 823641381 563470495 580221975 203113351 812632099 36229197 302598539 704784363 918756503 820429789 95818147 939450719 335606687 981478715 572732705 219993103 343410149 515555605 76957907 722684781 930621075 29720547 755121289 677548343 570982497 891782373 530029595 667066993 691542157 753354023 100285551 822279783 998643167 678262387 632582253 767655343 386335139 488750183 438640649 560597793 680709295 391122271 792287547 440056039 657491555 389335431 662719237 515674471 936132005 998162891 654735989 855428187 825380323 152704743 37288347 217991611 571907089 781167707 962202255 383018703 226916785 769780589 238152823 139402015 932583879 940274221 855215739 397731203 586354659 770563191 669759183 982655765 553819417 642756839 935512491 558013497 777849607 665188839 784649299 828302237 372842199 252244647 860835855 645523253 83722291 31628321 917488437 582283581 25500755 601979411 275542557 410857271 446649591 887602695 749594151 935915251 433158497 113176651 393465027 87424899 971229539 399146233 811599965 355460675 597736531 355747569 892030835 281085913 782747661 739899611 943659399 325231921 396325881 731053097 206019107 255597181 243055107 804100623 349245913 777328187 959271333 741929617 514191169 775504941 766602971 973320055 82739201 964732003 526113579 867771215 79921601 500651569 319823013 209643635 155148085 479440687 26767069 882584065 890491669 837511237 657290737 260144357 544727845 352479903 620433803 183330509 943396655 164082863 652359125 961273649 345043971 538760501 368751751 577851987 814917759 737594929 544966113 92027449 776193667 23462385 214538663 81612725 673415673 412096523 32449063 404777311 943512533 499193431 794568503 864565909 445786383 217528831 372333367 67840131 440565163 476693099 355032077 422630167 552058803 945427023 40863783 45546505 34274361 933746347 999520123 786002393 433856085 3192767 491047047 438462161 947740205 866222619 828092241 634824705 969351145 910158225 921863273 856042561 525123773 648497213 200819171 144707375 264660449 824798595 637678685 960628789 218738585 890756883 295384577 560042373 564493359 546842077 733547897 386195733 861355765 527841053 750518527 577931685 256494405 165488475 73177421 903175103 282244993 65116513 641587885 140875441 68821523 646854979 698742251 700139413 630448239 790464861 943217503 35242573 972343309 821070677 43016677 602455165 16353649 144228119 297126373 753314455 324713765 500555221 799475277 287598293 152277689 17027853 186712979 929445941 752995275 594830723 339695285 324152703 181708539 219404867 144654393 966564423 845670645 780445603 447237935 610042337 306152807 960710203 538257451 338984045 357697553 927347701 167849037 184635351 77426097 500741367 192175673 391375055 394448659 898061499 577057055 563904457 771873287 185468665 202734519 625446921 729545323 287471799 872482619 109340309 892990239 307505475 509691509 355675455 651900175 775219501 978789553 443883935 410852393 398907733 710990535 798822421 308069485 37914591 553721363 95075527 509436633 675354421 277158781 669610153 889154169 715077389 304755315 758274161 803067741 585744225 924516331 850756001 84492195 887269241 901409123 749473663 587331179 797633759 762114019 193778717 228821729 965065319 476383991 693768531 827672373 361319213 223741365 876838335 946871713 752140695 444133821 111147981 26597225 74462799 98308659 598418089 296394199 494107467 104612553 637498703 892614461 627385031 771837105 153614207 956822005 24949319 937295277 682848957 278083425 628013975 749638401 760982367 483879659 212555723 491641979 524520313 603270407 311134273 320096627 45021167 206570029 976459163 495563717 407560037 820884963 793467589 799184601 367603021 672034735 458515445 643081373 519690977 859815459 979600809 593166983 786108959 845047261 319607713 455202453 975085777 321461373 288281067 60355151 295777157 164694447 132978653 465561535 454818455 559301155 213365007 531645057 935282467 337167507 289237611 870202031 677814803 334547139 564116249 576845807 12029207 266704509 677458829 273334899 11153831 652393107 195519111 766487533 140116997 803886047 526053383 258035871 795807289 392397891 999762013 22141517 419063057 113115563 23669529 448093509 964791591 810490119 754425373 50551135 987787739 219756369 750978183 962926329 84840533 478823053 454809543 718034423 239419525 743077573 108544657 988670153 612468259 367401227 407488481 203357541 144970673 514060921 958425083 10091593 349687669 236580147 946620779 512279933 676905601 480110431 615599621 648123787 345858989 596018739 916311013 68990095 63487639 433036007 69118065 727246115 172456107 67798977 806779219 946895213 955304471 44580615 893544321 484365343 365870803 94392333 342068791 230699885 304498591 459664429 778240505 151430163 468849413 376058313 537480085 65324635 385791061 88271179 516440347 671568147 618974373 168499751 345034475 269213327 960782297 888326615 448280743 432401837 703295893 256163035 134465083 638902485 249601613 37803967 270269151 537098997 242308663 975492629 232592907 855189637 295649363 915730295 415000199 677570175 736717675 550632073 204525403 243415915 943061261 589464049 660540127 254236249 216648341 64666469 688583595 934912479 598673439 276913823 936183721 156241689 982465941 26399839 561249025 742564013 702531495 624342897 667327785 32781261 615860431 613515687 196907995 813746989 652706379 258153691 336604703 849004555 32215845 485836785 594598717 855963949 24994603 755920847 859555277 597567969 437787127 255557739 142213291 591027967 253256169 503217599 13567479 425716197 554763561 692822731 290453027 879756151 240416935 574240923 448183007 112764197 524261659 797287233 497625129 659294181 529830407 58829015 379580227 439086391 9458355 700093569 402679229 354951197 585704237 487257957 707681385 362706985 602157903 566950329 346212453 522165873 360931767 932066743 707781651 477433489 867870929 239025311 632245793 186974641 522052043 335332287 506352769 60967805 892041117 349950309 631537521 100458799 802252297 757433837 439042677 141046403 295145621 165128889 417133913 980188351 384831379 423029557 497160499 105653171 23746841 236596689 3498333 47530163 75473931 654049033 295418491 788812701 731578637 465187933 582207355 58943963 686047635 367128921 775370895 761626967 890462419 599105679 39986743 467270025 429913295 146431129 68283443 808966255 246654797 815763739 287808147 611996561 758372573 868406203 605880487 530771195 885939163 148762929 625865745 676588613 819957091 131687985 155576751 70166411 619115615 871161987 658090673 618966645 974308993 671764973 638093707 146225969 710543677 959656771 466753785 591707507 699363033 431830367 309438719 974137213 639953239 105779237 659879911 315365651 853799309 597760379 143522121 937993349 356469775 960312921 261809921 252337575 164397119 93004211 331789873 253233881 644891973 267181457 642305093 99781631 500469521 986291193 546001907 911567753 774143325 825178623 229121079 612935023 234573991 158381245 886022485 515412523 518067511 138653783 349890521 895275463 882365985 659490037 967369623 645034191 288759353 42672585 31893165 68691291 738656031 650135055 484705917 735435271 970382911 286045703 654899381 386216187 124652999 54184445 346279495 314396389 716087729 522551621 656216691 546312699 642879673 461367093 177313721 44785915 747329389 506077233 662480615 788541995 905000217 889506469 350433299 223710809 39504085 601001473 918945175 785675743 449620101 472181185 875244311 766419861 137710031 862163559 815592065 946814951 551519523 958347387 613679881 62422975 625383097 233456529 740015657 791269783 522776465 561532227 565770409 249018985 448866933 357197877 724314515 161758911 312681717 397257999 444714809 962208677 920501865 765900163 831874109 184066995 262437103 233438541 646888061 284380165 266417265 755786541 421308459 475020611 662407585 900324849 95096503 917915803 228300533 526005095 323287005 569536707 831463853 654124395 759991973 516579065 262276819 574899425 573632601 679626755 983234103 648951473 91809677 504554801 565238127 530587341 894535967 949804887 18792157 96894257 198704945 232072149 730840233 881422557 623274031 911181199 856513989 486876383 513871825 867124215 577929957 699238213 710543887 531546623 811305871 568628267 231624239 165674793 737951493 958639797 440836029 315458681 722539867 212123659 964710797 669609341 189679723 512994911 61203645 533185357 529681617 560473581 368223663 661602181 339693815 171606519 266788625 301876557 532779021 975610309 814297815 136946771 87522059 293668267 176565051 155503565 447749555 64860677 839933381 553561977 570625419 329312817 439136829 739570333 239337703 100072349 169302971 70337801 270397401 245770939 587430809 647963665 962535239 593735171 382339195 951918485 399406039 575701751 708137807 106348795 59277561 812840741 193108553 471921711 532466149 54950683 736125925 315507371 878154397 361036661 915885031 805022827 911249127 220681175 686361689 827286773 119132501 606805993 245461139 165124183 425420351 696128093 490639921 613802025 632378563 352450543 683463187 542696583 333009869 464516193 504623979 822619929 45996297 241972603 346993321 471469581 720881139 106663443 434374283 847553305 375493323 585633023 249469205 190144635 372464535 526858277 684952723 511624699 136755497 689751405 617914521 805627877 301466647 263272905 74325765 884611599 391080387 243884085 247080185 564021465 119165783 337417395 571015139 913095721 754416319 206234957 962356341 777392747 635411383 500900627 795986861 489445785 240437437 269303073 502504399 943177261 618876955 410999707 473010025 647137841 790970079 347323561 850403915 899119667 475886053 203976063 639927957 729650247 268772041 984273237 811050923 47503115 706196213 186897517 539076407 973303463 570360473 781096725 453348397 730805193 476493743 444391579 872411085 637830311 404230389 578594397 97433751 960886273 421619443 735526587 324866907 293752857 996971259 808826399 912776747 243774401 921774629 457044987 565705059 285521741 450016849 482113995 411314343 456542621 789758247 747421201 986321383 157052183 923057431 866117461 892705363 889244329 372112475 25951021 907042153 54898375 538918895 570754863 926602731 342125171 199535777 718645249 522193129 722207281 881313789 523932747 336615605 543832849 972295005 306002881 463936493 482532775 329194719 645243931 950728307 378928401 463986799 600555549 331251315 222540791 718825147 564910735 207159651 303661449 100491835 224452423 107966721 98749561 254061617 74624539 713498189 212718087 315991459 394696689 24444053 376423675 734733921 322459057 982776941 164441249 715262983 648890703 658698931 990012879 524948209 726645443 36383113 825668069 121796939 120431889 526398813 780661705 239046659 750465345 161618401 807462633 292144079 126796649 562649877 298428985 194021941 95184801 145029177 839903547 216903801 573175049 200799965 609587443 325596843 82383567 807155153 954893553 285305511 238830373 570251829 992041033 153712905 539468867 997671533 744066201 347386427 770795373 812861731 269693705 364745581 843123693 92057165 120542537 232127897 454404627 955213861 134172811 513962109 364837949 546427955 513569423 397940643 936326091 78499393 575992989 514068313 451204135 188029795 725960321 672412601 591963077 75322101 51425169 677232035 892326685 992962461 707307951 183188929 431293363 940016709 643797051 854501247 107430159 739067683 448974633 658056215 441648583 86122675 532879853 440541067 870585971 906851513 152102533 604927907 388030131 856632641 97014391 305239789 72877623 279638943 981865427 130699715 290389931 521475441 566628909 94746435 466553805 228628377 596242851 683726425 953960031 983317829 307655135 958001331 347881771 324539623 771926795 428561865 291816707 351464765 258492639 334830557 710821567 25838155 434908059 337643253 513264197 124349023 3068161 834201571 859948415 913510665 86965603 717599551 938312027 356761129 476082839 180373609 179199191 745144545 768674553 903277191 588920821 234397855 264124017 484849037 416659135 511737879 507628909 547601713 777146439 225248323 607539171 223774195 976220071 485569387 713770577 633245725 477755647 164655127 721185981 715641535 831510655 939985951 318301621 953908913 537273683 993452957 694022995 105564049 602019003 596952567 122858543 379200201 580040949 425919703 411625077 378951819 800923211 392493363 691834575 402655949 13589011 624204871 438537589 505490511 815638437 690647191 720245031 558906267 913460067 110244589 314478633 433845759 562193335 767686499 163945289 402144405 1223701 339165263 725311197 365830975 543501301 857592665 826600391 79551905 754548699 873849451 857838697 775278125 938626641 799218877 673914803 391017245 41529065 231303623 698831897 676551535 784312125 886783055 156443293 323962347 751050223 540757345 910927813 269294117 151789993 408564049 602734235 586911601 358801951 649430717 831913403 73594351 497985289 889058183 829095485 165695883 83419947 961742813 220996813 595334389 67020111 760292145 565567125 366210721 629787975 43436867 963478095 569980883 433411307 383457043 939020085 844851089 246986529 958296559 933882385 547955629 266303699 74607725 714155567 842620863 884561393 189596519 275931239 426643495 178596981 649426689 100396053 121914123 393631075 433648555 770619937 35075423 47057861 441170195 196344313 466127833 535769005 281856315 51570835 992154107 517532469 672022885 612215661 135661835 1900415 630834459 427183503 801980187 294358453 635084085 159038083 853917187 35794443 707462861 148317541 238089825 734046905 249650249 905254861 386349217 580855555 686475347 679720679 328200175 2796083 942673123 712106589 547395911 570670235 200180783 356021609 580857449 582129301 37344193 622855111 64101595 339603331 421442403 500794043 554701549 49594063 842342955 956367385 583849145 594918125 802605425 950558001 765805857 985092183 692340189 971176935 870480073 807097485 415721051 776563613 425094435 977092379 650038557 852012099 384413545 50662035 237079201 668993359 942631833 531980687 406539435 472181439 850501501 887053233 702224713 2724377 390950819 357343907 847184331 907625837 605190759 129957657 262559185 383335503 803961061 448527309 287852093 571230943 11292679 315373183 196162621 486219459 376187261 398047483 351779909 764227625 534873791 439984147 181004047 472514757 87828495 171307167 280305315 550663385 254935925 871135879 249826121 773629481 326856127 387015599 707312793 780660483 606494599 521658125 762640493 728141631 559775277 563370395 174037483 473067833 579078873 809339225 105609853 491946713 801785723 507521107 28932313 106949775 526749131 951866267 325886969 103452237 161787467 138002507 432805925 629365907 327513409 669392517 412424679 603157863 226956735 207755379 891541267 815363417 554707613 637326665 277446085 947477629 857759097 537110081 601548643 452885875 612115391 735279003 61223321 415536225 562867101 976429475 413215065 169627125 454454539 203675563 973635041 234269283 139328201 745361677 651076533 285930605 753389409 17310251 664814497 439359575 272531491 971972977 809333689 448385263 351854629 36575311 303445083 405116045 65556299 670420543 354174249 223361039 862598969 521912775 577060881 902583257 283365987 441715053 456590405 27321051 537621247 446935749 671166789 317283723 203102221 808745833 497290193 435997417 122463831 638615547 883852535 467664759 912295275 30814501 823602957 107138631 815659685 716578459 162911405 995540461 295171617 114804759 414083515 806906761 599657929 504771161 274239589 828614593 240886861 534722093 799935007 590512579 584705063 952227173 452586149 847281221 561600661 83270109 525391609 378358403 866453665 981009011 745647723 102145863 617275929 77636115 589221261 134581727 977729175 316484785 661569339 765678367 834394747 294950983 251381659 434365541 210168301 932796373 267580695 216541851 946230749 336825959 903061349 729337131 982913795 338621969 985840257 843161869 95092449 102519017 275685295 236888511 268268223 429480979 158901371 890652233 254513835 73331899 229736889 775141431 354270847 681567505 436827783 903635615 584249561 927585615 329685831 648021283 488033317 444373691 364234917 242718435 667456913 566589595 700170903 634928019 21997589 799803203 255084891 73164391 523094387 47387917 701464689 266021661 78507313 431023451 674146727 407543547 590654369 18018713 442675729 677381071 263590617 181228087 72805645 381517553 999899581 814731185 776507197 221379135 84369139 785609607 683536271 603622173 878629353 775957829 244494903 641152381 434059739 343121789 977589679 984854737 904816841 623075019 229877695 170051865 195224185 175250637 366318703 870501341 984447355 690469681 185739543 430694185 177264683 260208807 369000273 923075219 411492773 551022571 498962435 10893373 39918291 523472061 793249879 183262153 882407271 889352425 180865731 717622117 406697685 55766849 126435329 960476363 840659811 617273505 694137369 693032503 868232979 193328359 702260565 211006319 272053435 416786433 535960905 618742979 736912111 846974687 526728145 745055239 962054417 287726205 31899667 366265753 863446601 733942491 128468345 577754979 698983047 337488901 719969979 441172943 493715333 312809229 515237585 797709527 385736641 489727759 391374849 755195637 423173507 596628521 485671127 771602995 719865823 549510281 501543719 344101661 56277929 346004831 276200719 58428361 649046657 861284839 254707697 22224601 803834323 427720289 20292985 504183919 230405581 267746587 934063263 219515193 188072553 944843107 324744347 184054641 852467811 558636693 822930419 12725203 522170953 903729429 524541301 857857703 367196519 778914633 252806961 405211831 67618005 185105065 573333895 446988381 53153399 854697641 592267803 306978423 249047539 447482833 554921687 224871787 778616761 57037479 387435247 951176229 281826817 835893951 84687331 539455261 242623947 219308469 217386099 486469459 389231585 471877159 965078447 903815499 931783635 829374659 185309673 116612115 784618233 138198841 917856189 329416769 368676721 27676485 807965457 858025719 198299429 472361385 769261583 507010775 889200327 553189677 143801389 389856529 280301773 188701605 829477671 957099099 208700535 22997229 566443009 467627507 431878863 34775523 57671687 85448351 241968549 621803893 548809677 668775343 706018959 13345171 669291567 778960375 263101935 117703737 804852563 357278423 701072877 286102633 412375461 275893555 949871483 326606635 487146199 304815741 91641165 306397331 262939367 990576039 327180009 224282813 338986265 541464115 413209489 210249927 614333177 834687267 899956571 930859999 301280605 28791307 371995163 133423157 653390687 562492923 818003059 480183813 21531491 567446167 298268363 391680145 861809175 654108929 603959379 693504801 139110253 925681897 899244547 785484299 3495845 471162245 951452573 950285733 317779519 809320083 8139433 399901013 992809227 353454425 178286453 415713923 937940761 777434023 165795865 866256289 531453385 492887761 136436089 21168427 921780671 198827191 592894011 909441699 933239781 455991999 69611471 835905425 709586033 910917845 844408685 96557193 986012125 255814259 953270551 256641063 162899441 33182099 492204691 838501385 292811959 378979775 89256563 7895517 974368643 122548997 130446607 75170901 754447857 388513527 895754629 423542825 899032807 292493241 90115777 810006811 66163087 266871021 62757487 545586937 72885857 583522499 836385803 729968273 810648083 715728113 895356373 378053825 389135535 229481909 218241491 182112615 652554367 644493527 842090199 543160433 257012505 825611425 90963319 526490833 413813845 343379183 805260053 203267967 257406299 570335771 28269787 705734781 136554391 676307979 436888245 743866329 420322749 740716337 624889439 695206561 142575303 813058433 623113815 565239795 609737467 110139767 316350183 76001261 432931557 578265373 694215965 558163133 315525723 752595713 330349525 974332309 774353271 546811701 948134571 564665261 77019549 377172061 308403465 951954761 990243963 27733147 904174879 544351409 744832261 48423583 184136935 705727803 561273973 499986591 449286431 443047485 321007955 850207579 320318543 754806301 516181095 393395477 685943753 881385283 582898121 724331167 271618725 744955169 504085459 205913165 808825027 425645363 653289515 419768575 765479371 946140667 865713339 203343643 937344557 6818307 24333497 230897039 519007779 870253275 560460193 235631311 572712107 168860705 928791607 516861917 745843341 741235317 138125703 714551101 794243931 442746497 357926885 825124861 174879853 971300855 330654701 353188021 714392033 644781715 203465093 269642883 179256739 592779543 948559065 130604043 520038497 984830541 547570011 76223101 103313043 625427973 87620809 4290193 204854651 681379357 493903911 106407297 589536799 982826867 86530241 859677205 656260175 691576055 236230445 582729629 498785191 830542997 157593667 679509231 504280707 975124043 994389037 763436903 583771919 871906587 432425297 570157549 368374841 462638607 514448745 613896173 826658999 98394423 872665709 232139873 908105231 516121265 694468005 814488261 665788805 604873629 665899161 197372959 871944489 467713829 101958177 699082749 636779735 945556859 22342487 602067831 840889643 841155291 531399327 203220011 709373583 410652807 196097191 841359677 302254645 981570505 723744611 422822495 968424209 590221555 628812559 728387779 660823783 397991005 105813293 923349545 153975103 513602413 354100621 637710297 39106663 160046987 998995777 98606495 930861177 62661419 953077157 666185425 457225813 213039301 674040671 307632975 409694885 756193757 783093083 897625215 86098133 287580669 134275531 607937103 548663327 976755125 231495981 858043957 408999045 95058339 500575045 171464239 379761615 760120167 275758111 328260547 335334539 624925355 802100495 568568575 884172051 705260579 425397681 265575803 118898309 214871687 85288171 304624469 677672909 405564315 777146345 907356721 359959193 778728743 370612509 156409409 931182689 52228609 908089159 734357303 788389223 880346881 808018535 370546515 669598641 155644425 622653131 926767197 443702289 928607491 938363401 598274721 348603679 120058081 959721465 742545911 433356347 986877089 879953861 119703739 710657163 715856449 134623445 874924245 510387715 149715915 65221597 387590323 743290457 301015125 976621533 213843529 526438925 585682679 606058261 104792089 289918825 102754259 413665301 727438889 875255677 682653971 780833967 630451971 665085729 910497771 317649151 907300033 269262835 624159635 338132585 548242945 444948317 269671503 368086173 850692329 262893969 902628457 854692491 586728485 329129093 82457393 396476783 806072813 46928121 845337093 649428433 249362177 465550199 451980101 596375163 161693091 832342861 686070107 494737281 708521639 61185429 362917819 631165761 799490653 756764721 870194141 178807131 986349991 92462277 30577221 439405505 407394539 900498883 979423613 241287075 555220759 630261605 929289495 538123903 919094945 938166441 128787117 262286105 349049479 248386135 442395873 697663101 346564943 482010627 154019933 604942593 227538953 682943233 691013845 315470653 998414665 447431539 103778305 63298843 813166127 775572287 430162085 843907777 326503265 167735067 891846539 249630633 15370251 788747129 44890757 680475531 319997669 330458525 133214061 334573935 406122287 182085261 458792741 683952797 273914285 951002651 117722263 153717165 644730797 861691871 622315447 901705081 893158407 573960761 53612157 244561445 527904279 83973967 733487597 191951903 302675141 979715605 597050129 456079131 190762879 887021891 861142523 943650579 120009531 163340885 137725637 896617807 109247351 924594839 172341393 323487065 679408953 597917721 861385353 693323269 527796241 474617011 809580769 568955503 732471571 779849987 865703379 703980797 25467359 287411573 137305759 734154329 973908891 784402229 665788561 409188985 918451699 282501951 694462969 835421593 325436449 652538195 75280181 606008125 540880863 832397559 516798885 274642225 782502519 428549243 796320437 635691657 694823349 642729977 960780501 283379875 275738865 339938387 336466047 420729377 334584329 973883437 773647671 82784239 185799265 112893179 437322375 826903109 812355561 495432689 546797825 743785883 322320919 518923539 958324031 619558327 938886377 101554217 140707555 930571941 32787941 236376001 724032407 357723067 685592859 992899639 919992847 886119569 392737311 799700647 949999877 966833169 830163729 573017595 796877881 877693795 788486039 271303651 148448119 226128635 834597853 394635737 398904209 572903833 816355741 802275353 597889889 142563645 820016403 252534449 841869001 724780087 903314949 340250733 952580019 88443929 147641537 412177383 494888723 179086015 915565343 774559871 284145635 88062797 191350139 503758685 353256995 726746417 912958397 160413809 818155999 661655839 187770451 65157491 161084457 256758291 979780403 33885413 870453275 459540561 873197789 360750349 790584791 597599845 395584339 614662397 819988873 213490723 940914983 433345933 80246881 521466791 705705069 881755227 225508249 448743511 888375749 368131283 940368757 30527965 839419221 270048035 826776127 884180273 437930443 474609475 858903369 65480587 10468187 199171571 29090797 333742449 984484551 272914365 714620559 892051887 331534419 225299441 876888981 184241241 153816781 788286885 883454069 798907853 628581005 67211965 773527209 550409133 206006897 737063133 781610161 275600871 261539037 845523577 180575513 592066477 54925505 611064263 631236467 236501629 506893459 498095047 157118297 768538909 7713617 747194691 911564141 298440853 820258691 501418441 335499867 911789885 383830581 421740725 20463059 418921903 659786237 669076515 769231759 240390607 531212795 936208381 275109461 547678667 613974741 202604275 991488235 656534807 647207865 436831615 228411173 283003245 140810587 489767647 11944157 616039381 261900541 777139741 173467381 231694233 50435939 221290759 888629849 705317707 226899421 776201527 149232889 377712077 68749119 602993933 398587087 88737085 599895783 102018225 484820705 505192973 559907261 787269907 311446069 813616621 721192753 98657005 458597087 715447515 379021877 403639739 516984057 138402329 50610761 315742923 359900069 616290615 624493173 422193705 318329359 406632713 989201477 706260911 595812967 908779687 656626895 337039355 489208553 175202425 569426867 955513721 404434645 562855723 785865239 6527319 129740663 310569647 706964393 71642765 475951905 457594691 486556063 42748125 45705773 517930091 447678389 546027469 983054335 82491379 722824503 808486831 207323645 289375985 223843821 562545305 339721885 708528831 937847089 157448559 264992345 828029953 909537505 49388759 795273905 92409765 529313889 149249087 611394355 467053021 585967009 8470243 838921837 750914345 361140761 114217667 773725947 346075465 970571203 326713253 598804095 711217741 389752361 992756761 415111333 121259399 3333975 325980283 446430237 453206675 80640227 190863847 263777699 91251797 812617965 392039751 940722423 130735611 15865627 398979149 962854885 991930361 937799067 24026223 435636545 959580427 12723747 384680941 273504225 495400245 604105457 353460431 574691241 901557441 532940235 29535721 32531077 784873799 656343809 61742031 876770149 138099875 17165927 793581539 539432261 792198647 36407387 315616589 763405861 868037807 983856327 382982653 838184979 95215489 338946069 103546285 314138653 282962793 811023421 8654555 836313951 228642475 871825855 321887695 519261691 34301395 33384607 967983005 794595357 601136309 430045547 484675353 247255797 1527663 662443577 100467683 191424447 619821923 192549801 197693799 882119869 735003711 323400673 934654419 908283447 723535093 348084623 418254625 416746369 402728645 672476393 925318159 645707765 478615087 502107309 732090149 329336823 420790785 244384033 379578293 236014575 407478353 998804757 341829845 439422799 184612729 737042653 366003817 818193299 940919069 498905945 640858135 287931707 673731371 860403437 354245711 775668947 430715095 943979147 753708361 21305839 685852571 968250533 336633861 571043877 839781439 70155837 799485773 331026457 945365453 909611477 745996977 936212087 611932823 464279169 777807753 519816945 206044991 845308113 884991475 573390653 548843427 241065959 994309593 527638051 622903285 726254699 160109549 951641193 777162149 862724485 53508261 744026597 110115951 184522737 973345089 459330669 836103515 531555563 239132363 255584997 522805171 863040827 307377939 911069753 274334731 733331499 479304111 111337563 131333953 558373015 698474241 691553601 302872951 780732887 143584561 416017907 288270617 360874199 309376305 533955959 8530399 546011393 670786487 933419491 197756865 206180687 874707523 110747469 215116293 696450875 238951453 572344027 94491191 258555855 162763097 681973683 355340587 820627095 697553867 712128525 948156415 720454827 379762197 52940831 961273109 231481257 550676127 634493739 110194971 82476725 919960217 94495359 452977669 285562239 950193915 320306281 500777997 857834301 932885895 608765765 512249531 331939757 882181573 622462071 364245463 676929557 216893955 723912039 620772473 75916357 865314905 824674951 543689211 243544977 797593515 311190099 114126593 643997145 405620895 934790221 22082169 291573891 9754277 302715901 22975639 124082043 247066357 492210681 44078039 620445755 763063185 266431191 7139325 26120381 629196351 341721661 893020947 187614347 849497489 366702035 662566513 595086257 828423135 908930635 802446259 94017991 221846087 856169569 327045563 781252843 466549173 699318743 908442549 319137473 741406677 106779765 761421847 509175673 853199909 844979471 283202461 169328329 328290527 277059201 520271435 652348143 213287951 397291691 565380717 6492081 704189061 393718135 776890775 459493215 691733719 508402135 263036839 955653583 219253863 82340551 532268479 237469531 189296223 901702217 513955149 753230831 578493611 147894885 23762691 52706295 96470279 405748785 74144735 811491175 18704369 178149059 813384231 990148289 511462323 248287297 954435683 923427849 437324123 169415379 21245033 586318797 51914181 703719851 963830871 278623269 635601549 22883845 212423569 919830959 179362589 670172195 709608385 984673423 311262629 288246861 952690139 915352437 51474975 676111321 832941855 395426967 588800329 675036189 380086797 143045811 967779755 920668543 20645237 294770193 864514201 642985063 370089321 265263485 934651173 79941193 513682501 290200397 563743541 784993949 862153647 418730593 411016303 245081061 804917137 444181279 294145859 166044335 81493281 108586611 563837419 751556233 465424347 95257303 823572325 743829777 677555841 906419015 986920057 541130471 363163171 989424201 813145273 772351669 161808147 993839339 194375037 398267437 703499247 585479621 936821475 187017995 842267289 980891125 109519575 605563921 941480253 518933023 560994311 385688073 899133265 336612211 830068971 739507907 86620307 572692135 596641477 903407133 873739267 746025211 526229147 611558135 359717103 360263473 35684925 958982203 634278379 591060635 583134023 165331931 178950613 715971085 602962453 182586835 301405391 245375209 968992979 944682789 125912391 718295055 170157679 281924315 22441199 756609267 169701281 405435653 580491207 901880457 97978345 201746881 500281615 357773903 510372497 51510831 548734551 800338763 374624679 483046265 701445743 841704203 60827911 823436243 73125495 672753319 410789709 577319797 468609235 11847613 736393955 676027811 113920045 242699633 981955835 208542629 722029179 874898291 487656585 861139921 689350135 188749563 649785169 613565565 639919145 914725315 92882139 623307535 98834651 745303315 634848629 535072495 312036129 443068603 732414777 40553105 565648983 974623761 664060169 663838317 476458275 213694705 127769481 451481607 611939439 317188803 75173931 222076137 534679665 345462645 574824487 453108643 493144485 448541309 277118847 730177235 310045135 906148823 368171003 953422873 691397883 429691663 337272361 474252063 61325949 276558381 280774243 169922713 850089971 208491211 646479303 967709503 384278079 785702663 793061185 284424917 43720847 730166405 351577215 904081701 537972053 384631669 761464571 147417343 58682703 152848783 231199473 256546113 860100225 45871373 608979053 70277067 728848185 457303993 883785279 239147143 263304967 246876639 131097855 401124969 279999947 812014933 936520717 253361257 768069287 810133629 833455759 629878411 399140617 469440825 543578745 22864601 624021925 401784311 366638977 670257251 171088757 778427569 308748841 388722247 102965953 970630627 412553911 783244965 418180113 280861587 939100731 374560167 941498685 390577745 494775185 818998913 25671263 329573937 902114901 729180267 318587101 501008339 583308273 136806825 191817825 668917083 688861335 172876933 513785313 282364795 562497597 923848785 550987929 725133925 9535395 204214885 844022541 289128665 410539859 830581543 9367049 759453471 995487899 195208449 239781281 707460099 25190039 783673185 922815025 258170845 386370339 612348359 607239519 712933257 80178153 288069297 508883733 674018671 218498393 371939499 369448075 99039357 134359981 344228165 555835193 972302633 424559075 778218525 624452581 499418225 266302659 980032979 968379291 59420379 645280737 219646225 255304367 589693303 379238545 582432651 528221631 562836185 421295349 798232827 64993453 212818977 5533429 592914977 426865575 259514355 340310337 226422727 871107615 595669377 922884689 688062403 497404373 949370749 869939047 561935853 767043529 587839785 602964361 975804711 536166729 552226121 107333257 954887259 409258731 250058027 4792831 506362749 357415817 939510181 233206347 329706631 409622857 901271577 875501459 77190265 13254293 176420713 577989323 789678173 808074017 48211205 366005419 702859849 404606701 769252323 948942511 451489365 449103675 198579585 850984995 918457763 889626517 982927077 496515863 811807583 568126163 15505823 851962211 704060855 910191119 204804803 687976869 779102955 134096303 532653041 560344649 386343481 661935199 297526351 174656635 328317165 844902417 317535625 500021559 739941209 508798723 342096087 206073405 136118231 281846967 580294649 796258067 62133705 814177533 371943475 430623753 227530905 503932137 351358803 429916987 98612411 321342931 247348913 325684613 840165031 552998499 976523817 965729681 433525729 722966917 144093475 260198609 818778611 612250475 90267021 832033913 436700527 87941267 656861917 554864781 565104879 421585601 6067987 909172949 546389525 32546819 360385457 681587167 311471245 888968105 876471497 838724103 990017799 393115475 115051503 203875433 664811581 500913123 889501507 273805295 865346547 80258695 93759595 788406345 725658099 595540403 243139475 711936753 340739343 41398305 43934325 866577443 957321761 828540377 760084811 821295085 551035659 626059555 763249119 262085915 579628473 473395607 698967167 685465671 993256731 385752847 19786493 55727313 748547627 800960177 83382717 382224865 758176493 420372967 904226465 530467687 605842283 573504359 823513625 952681755 829236407 644604973 810412059 366978943 658022379 247253115 568750885 984040665 168676137 776503521 434149183 195138619 348459165 680178993 487751925 137162877 859748215 582641033 3427421 291207997 666132209 249727305 560640023 45808103 283972945 650534435 223660617 853325993 959140573 937112839 982579103 753928059 685767401 33488179 380091987 342533917 588579535 767008555 105888033 575623193 879233777 585434043 488902735 441936319 438158777 582619385 222216363 447030055 136129691 549051197 912406157 545103407 977190161 919762991 990110417 175745665 598502299 436792763 623863777 555278479 100892357 629451029 326772903 292180111 527381537 887719351 907670427 429616513 123477321 942952039 675136955 711386159 614409951 366809139 10593679 392146471 170292111 709282667 191447075 235469509 605777673 546651311 623556109 100291109 692519689 550673377 122431597 462741553 743387215 592792881 960042985 810379161 453677479 332092429 881107887 323863255 523013859 88978999 610646643 699752745 349017053 584582319 43877751 458316185 630224759 804944581 31797119 909238261 407951005 134237963 533933017 157030871 576685375 932954717 338358109 132382623 578606425 503927521 627594089 13980533 657845739 57241857 503397089 248058441 398835201 698436211 249558837 575391445 670818733 929991987 214818141 740612245 209669385 256808581 935487699 296660183 380444473 678302709 140227745 413733799 454856035 358188119 677855827 13587167 804464061 16910537 60955391 625290013 164776577 74388397 609793605 76573901 49725167 253440431 962236747 645354269 58693203 127002821 880002495 767471365 725690111 915271981 892069077 558368839 990951247 499596903 325779535 805713513 613292705 388348993 592631665 437127613 314547299 649105359 619586571 179047515 528936197 427338863 249125233 696321313 865716481 371928261 313315715 155120315 96591837 746175417 713986981 566340245 229426975 835990405 392422343 293493227 755880283 49722529 409391967 909089469 670635307 400442581 232620141 642181841 190650931 201860137 627861107 853993655 550322201 286112757 846344067 203051723 837328275 708198867 404998451 969126953 572535131 517242537 298738079 586295739 978114867 391255969 316825711 725631795 390472419 367210289 676029905 614736391 431496511 507714067 865718651 214032503 923509537 949583951 392308139 718262411 966623853 159719983 932704807 647674647 984617737 76976455 740333885 155229871 962073579 657785203 415381701 91602101 122084365 390910425 589006621 694690897 343947121 73746405 770925097 896287091 538856479 340068937 906820187 88503253 82450731 635136515 41012133 948276213 734683567 717028695 881373833 149879837 756483023 920325329 584948489 853178715 716841905 65392197 144680887 369602185 381908109 723038673 830940329 658716487 158268823 338690263 935128699 227583227 660214551 564041475 319300437 714392025 749380435 824723277 623604709 324160985 624205215 135220973 362055777 447563193 221466455 845016681 601924487 694202369 65489113 597853839 985622941 610304515 725114515 465455471 789543795 40123095 560752117 829261161 167356765 677077083 322080891 522565153 412365883 821423675 955795109 770718593 462017649 77479653 978824449 986721469 687440111 349925521 507268381 392054101 501942317 224626239 257836181 865751563 761851685 318825657 257905677 54011881 487515233 446075279 144420909 859466567 872223469 731872281 830660263 265832127 76946785 781218933 14381879 5090359 706128089 936165007 687327389 432694233 703702525 407382291 734584743 491171611 14760443 989991549 973440035 856469945 827343753 387942923 806686189 425390775 612348389 566986439 864592873 29763425 444908501 712941185 436311807 674133579 657121449 48014031 356999457 573163089 245777717 128434195 233111115 859966873 27853529 191855733 897680253 903883919 289350267 829617895 189527493 545397477 171042183 360041503 393397041 58027673 126304503 29476765 623860701 978260207 727158853 949889705 934015725 185793397 880369787 835949399 56921481 136130811 487001893 102711675 103626723 319960225 397465947 220947895 236651063 377243849 911271609 543440499 299994567 516633633 912670823 167769311 691845083 135288475 520027155 616164339 544914119 464233591 277020403 109849457 749182183 145080629 360156357 69675745 438366617 290588837 906278609 592165521 339231819 710025175 209106147 747008155 818268015 21192235 671775825 85170141 153852795 692411461 627839227 306704643 655185911 723105551 500100165 639615355 578298473 645839551 428410401 719724669 440968039 199057873 333244929 457992203 932976007 423132679 455232999 742387179 374176367 776408945 163543895 359968943 909806023 133400417 839614047 39615151 967569985 63321459 414171287 892027145 63491737 953326733 12242459 312873641 987653777 111021529 879981717 292588861 944395761 828141007 887505967 584296509 553731471 693048615 215043745 496649705 865888321 68140517 33116201 791323723 470048237 214802011 249157773 346021939 370095227 364264983 617969693 65740855 531446493 243219703 358595245 475750841 427436559 149376545 300835997 355786211 213181459 335053569 477086675 112985761 49694449 551585867 24333501 23414191 757156287 753787129 744224591 152540555 764191635 202451793 240422411 29303935 196890771 261552607 526701301 726111129 503176935 66292857 471272603 786931125 27621313 83263801 174774549 495942767 47475293 77446019 483814655 205788465 361557757 991862021 430137475 457523243 145219563 408108723 425923147 876417879 340972151 693232071 555012239 399866739 662867455 855702217 288131597 492211463 234292449 844762753 215248141 200841575 267485579 267021063 532008537 438668711 419566447 961424053 331312205 294126503 690403845 159918385 394937283 985491731 267741649 420705893 607789859 484010585 559078747 837069191 698603865 516012979 78912057 180028947 767614687 10805791 116628993 776521933 691673265 151896677 22487385 577104065 127567701 577557015 460930793 892179523 977242073 572134029 506808421 433272303 3968725 317021157 424791429 62955435 674721125 785651723 353405197 820727715 147384883 372912045 705874885 757842249 583200361 13279555 177320835 206298715 301163711 491535 865679901 179739101 35556979 419083031 557454969 895697179 310686797 705973291 564884863 163566251 668977049 711239399 365561635 655531365 167712557 394322343 54149469 304502131 787863145 881258135 476879153 379401531 297974323 838470821 510084007 213220983 405867513 126712457 971591893 220119839 135977649 877949891 957965521 450519675 806405591 176843165 383077057 513527827 763004533 449075749 480603597 374736575 774316057 92778295 238591017 276929433 705071575 168888175 705868813 289544965 598344525 755353911 736671421 660952497 89852837 629557185 87630209 227065233 259564681 507281921 803360431 292387041 587338033 908197819 130508447 169968933 786684253 202164855 587195059 639779367 855820879 229775491 361163349 328929535 694143961 36023803 392823287 600539913 509346641 616766907 524710935 962418405 765904019 986399853 179820081 764930949 88979719 770545025 557353429 923159833 577519771 186142767 69766035 818139679 937766595 425556601 336587267 259462747 87803777 280767527 952548043 282393049 380063833 672194503 377120659 222323693 293422939 311089075 694660367 505649203 360641563 147770633 18611191 18919825 51782329 701472949 676827151 443497267 676646617 373696613 982906657 942671755 284577451 980652435 738782207 234191193 349825511 785101435 413620609 188243613 855386311 299055913 803086733 344883621 237178133 196523629 390555659 844854791 961543453 838138079 993373167 289522077 501519541 703387103 713893425 708359051 275891261 845344915 269035221 641709887 842175899 808623855 976003045 36338539 220920125 202000553 838670451 82321167 809043737 834755651 811303319 124664427 138449837 167016963 157036919 341977615 396361471 381909753 990091837 101607885 480755615 529076225 257998103 821590977 261748641 869403831 914151237 578368337 79937957 151312517 482865413 362638375 871415759 903650205 385254049 299930937 351542991 20288501 283959151 623238081 546198749 440724557 271540935 505648199 108405939 821569839 759995147 706424213 845775515 950290921 673533605 534209471 655366497 882207127 750735625 632255267 484215133 663170581 891170223 615602017 375999851 781177613 979692827 219701867 574842867 48994543 142550487 136455537 310830051 23303157 644182901 662662641 521975729 564587293 263124877 977936559 428687963 519477039 617931461 783031479 220169831 449857983 365254087 323700319 805370085 115609633 72581185 447009855 349739113 135854711 913169395 559392833 471512595 497034921 387716507 811263627 180914823 164924263 709654021 821229719 35032311 201657129 750828289 955295261 247264277 520257841 374231149 836769317 28419363 580372101 903755561 45986295 800294627 310305015 167679009 827877931 300128425 434844191 69138243 567818139 492338501 259119709 131099279 413353067 976112155 519397847 222082307 250993929 284887565 613906817 995993515 315228457 280617611 776922643 804723353 88138951 528139915 753715977 25493477 388361509 327436683 709796783 18763957 104053715 801874577 703147541 207399475 498929059 13724973 931346451 923563663 396077489 246160499 668973127 432152067 70567523 864245251 241606429 378102739 435785315 685815553 724671425 323775817 739781031 862984479 37028655 952857271 666321003 376539023 87917863 183076471 556401715 680345619 952224047 827043819 495781067 875465199 968761751 887986813 119160647 450705649 853146235 55468193 202969349 397994609 161693367 886755537 882434215 647471691 955398389 970039437 503812889 290180071 806789287 417197409 578894995 541462835 74016513 628978655 87961997 895945637 730597895 23547039 257466829 225504571 873389953 88708937 597055839 554207613 27473407 567399297 545675673 728102007 953377751 819746813 732877845 635161535 597345835 15161205 654758839 752511349 126012899 25280429 473351085 532798781 129102511 37942895 755937897 227901769 419366921 496178829 717947051 511753547 402574895 763551969 224778867 474923909 173779241 66092365 394334225 174913467 604752329 448046013 989518615 833727035 498901671 818557217 115332449 558348509 245966627 410407539 159355923 114775039 608280165 422538681 620380827 328655749 665831517 912019193 773583789 693926367 973675203 619671365 301818437 674958595 895437337 807057339 54894759 612478831 602484389 132951677 353035103 623180587 323501433 405711281 680785473 997175489 572388205 791182477 216254825 970717261 771531807 496313931 445579837 928200297 412243707 426361131 686252647 633628989 149431855 86856057 382554847 666820981 988778931 960146055 593026781 564963659 35930695 383993775 172168423 909964665 208827509 863029587 631847369 948966473 419769741 710025183 125793687 328059017 265946279 111903939 100672175 938941069 87622561 1588089 354051251 296021811 677890597 954939525 949782417 418296035 621769381 118462577 461245563 668453517 120062807 903274191 362783471 243387555 7421243 528789817 34221491 849340453 704561435 180992083 588372943 808317851 53187205 141711043 171094427 97515535 977181397 42614847 935622065 831028253 310381095 857638017 779986421 332545759 341357669 384866889 48949909 626676477 304982591 398401635 92404485 200649635 918067759 506916001 690436351 523801483 813839731 587349725 766793099 47378417 281325333 927331835 526129139 188285339 214597347 375293153 33458891 765421527 222885495 250894213 628835055 361408893 166721073 420507617 254088323 513196011 139787833 599027957 995754999 649593861 702541183 790175693 675079931 15270715 218558653 779341435 523205517 289456771 990122351 46731033 228505329 389070685 586881251 200338635 948907185
RLRRLRRLRRRLRRRLLLLRRRLLRLRRLLRLLLRLRLLLLLLRRLRLLRRRRLLRRLLRRLRLLRRLLRRRRLRRRLLLRLLRLRRRRLLRLLRLRLRLLLLRLRRRRRRRRLRRLLRLLLRRLLRRLLRRLLLLLRRLRRLLLRRLRLLRRRLLRRRLLLLRLRLRLLRLLLLRLRLRRLRLLLRRRLLLRLRLLRLRLRRRRRRLRRLRLLLLRRRLRRRRRLLRRLLLLLLLLLRLLRRRLLLRLLRRRRLRRLRLLLRLRLRLRLLLRLRLLRRRLLRRLLRRRRRLRRLLLRLRRLLLLRLLLLRLLLRLRLRRLLRLLLRRRRLRRLRRLLRLRRLLLLLLLLRLRRRLLRLRLLRRRLLRLRLLRLLRRLLRRRRRLLRLLRLLLLRLLRRLLRLLLLRLLRRRRRRLRLLRLLLRLRRLLRLRRRRRLLLRRLRLRLRRRLRLLLLRLLLRRLLRLRRLRLRLLRLRRLLRRLLRRLLLRRLRLLLRRRLRRLRLLLLLRRRLRRRLLRRLRRRLLRLLLLLRRRRLRLLLRRRRRRRLRLLLLRLLLRRRRLRRRLRLRLLLLRLRLLLRLRRRRRLRLRRRRRLRLRRRLLRLRRLRRLRLLLLRRRLLLRLLRRRRLLRLLRLLRRLLLRRLLRLLLRRLLLLRRLLRRLLRRRRLLLRRRRLRLRLRLLLRRRRLLLLLRLRLLLLRLRRRRRLRLRLRLRLLLLRRLLLRLLLRRRLLLLLLRRLLRRLLRLRRRRRRRRLLLLLRRRRRLRRLRRRLLLRLLLLLLRRRRRRLLRLRRLRRRRLLRLLRRRLLLLRLLLRRLLLRLRLRRLLRLRLLLRLRLRRRLLLLLLLLLRRRRRLLRLLRRRLRLLLRLRLRRLLLLRRLLLLRRLRRLRRRLRLLLLRLLLLLRLLLRRLRLLRLLLRLLRLLLLLRRRRLLLLRRRLRRLLLLLRRLRLRRLRLLRRLLRLRLLLRRLLLLRRLRLRLRRLLRRRRLLLLLRRLRLRLRRRRLLRRLLRRRLRLLRRRLLRRLLRRLRRLLRLLRLLRRRLLRLRLLLRLRRLRRRLRRRLLRRRLRLLLRLRLRRRLLLRLRRLLRLLRLLRRLRRLRLRLLRRLLLRRLLLLLRRLLRLRLLRRRRLLRLLRLLRLLLLLRRRLLLRRRLRRLRLLRRLLRRRLRRLRRRLRLRLRRLLLRLRLLRLRRLLRLRLRRRLRRRRLRLRRRRLRLLLRLRLRRRRLRLLLLRLLLRRRLRLRRLRRLLRLRRRLRLLRLLLLRLLRLLLRRRLLRLLRLLRRLRRLLLLRRRLLLLRRLLLRRLLRLLLRLRLRRLLLRLLLRRRLLRRRLRLRRLRRRRRRRLLRLRRRLLRLRRRLRLLRRLLLLLRRLLRLLRLRLLRRRLRLRRLRRRLRRLRRLRLRRLRRRRRRLLLLRRRRLLLLRRRRLRLLRRRLRRRLLLRLLLLRRRRRLRRRLRRLLRRRLLLRRLLRLLLLLLLLRLRLRLRRRRRRRRLLRRLLRRRLLRRLRLRLLLLRRRRLLRRLRRRLRRLRRLLLLRRRLLRLLRRRLRRLRLLLRLRLLLLRLLRLLLLLRRLLRRLLLLRLLRLRRRRLLLLLLLRRRRLLLLRLLRRLLLLRLLRRLLRRRLLLRLRRLLLLLRRRLRRLLRRLLRLRLRLRRRRRRLRLRRLRLRRLRLRRLRLLLRLLRRRLLRLRLRRRLRRRLLLRRLRRRLLLRLLRRRLLRLLLLLLLLRLLLLRLRRLLLRRRRRLLLRRRLRRRLRLLLRRRRRRLLRLLRLRRLRLRLRLRLRRLLRLLLLLRLRLLRLRRLLRRLRLLLLLRLLRLRLRLLLLLRLLLRLLRLLLRRLRLLRLRLLRRLLLLRRLLLRLLRLLLLLRRRRLLRLRLLLLLRLLRRLLLLLRRLLRRLLLLRRRLRRRLRRRLLRLRRLLLLRRLLRRRRRRRRLRRLRLRRRLLLRRLLLRRLRRRLRLLRRLLRLRRLRRRLLRRLLRLRLLLLRRLLLLRLLLLLLRLRRLLLLRLLRLRRLRRRRRLLLRLLLLRRLRLRRLLRRLRLRRRRLLLLLLLRRLRRRLRLRRRRLRLRRLRRRRRLRLLRRRLLRRRRRRRLLLRRRRLRLRRRLLRLLLLLLLLRRLRRRRLLRRRLLLRRRRRLRLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRLRLRLLLLLLRLLLLRRLRRLLLRRRRLRLRLRLLLLLRRLLRRLLLLLRRRLLRLRLLLLLLLRRRRRLLLLLRLLRLRRLRLRLRRLRRRRLLRRLLRRLRRRLRLLRRLLRRLLLLLLRRRLRLRRRRRRRLLLRLLRLLRRLRLRRLLLLLRLRLLLRLRLRLLRRRLLLRRRLRLRRRRLLRRLLLLRRLRLLLRLLLLRLRRRLLLLLLRRRRLRRRLLRLRRLLRLLRRRLLRRRRRLLRLRRRLRRRLRRLLLRLLLRRLLRLRLRLLLRRLLLLRLLLRRLLRRRRLLRRRLLLLLLRRRRLRLLRRRRLRRRRRRRLRLRRLLRRRRRRLLRLLRLLLLLRRRLRLRRRLRRRLRLRLRLRLRLRRRRLLLRRLRLLLRRLLLLLLRRLLLLRLLLRLRRLLRRRRLRLLRLLRRLRLLRLRLLLLRRLLRLLLLRRRLRRLLRLRLRLLRRRRLLRRRLRLLRLRLRLRRRRRRLLRLLRRRRRRLLRRRRLLLRLRLRRRRLRLLLLRLLRLLLRLLLRLRRLRRLRLRLLLLLLRRRRLLLRRLRRLRRLRLRRRRLLRLRRRLRLLRRRRLLRLRLRRLLLRLRRLLLRRRLRLLLRLRRRLRLRLRRLLRLLRRRRLLRRRRRRRLLLRRLLRLLLLLLRLRRLLRLLRLRRRRRRLRRRLRRLRRRRLLLLRLRLRLRRRLLRRRRRLLRRLLLRRLLLLLLRRLRRRLLLRRRRRRRRLRLRLLRLRLRLRRLRRLRLLLRRRRLLLLRLRLLRRLLLRLRRLRRRLRLRRLLLRLLLRLLRRLRRLRLLLLLRRRLRLRRRLLLLLLLRLRRRLLLLLRLRRLLRLRRLRLLLRRLLRRLRLRLLRLRRRLLLLRRLLRLLLLRLRLRLLRLLLLRLLLLLRLLLRLRLLLRRLRLRRRRRLRRLLLRLLRLRRRRRRRLRLRRLLRLRRRLLRRLLLLRLRRLRRRLRLLRLLLRLRRLLLRRRRLRLLLRRRLLLLLRRRLLLRRRRLRRRLRLLLLLRRRRLLLLRRRRLRLLRLRLRLRRLRRLRLRLRLLLRLRRRLRLLRLRRRRRRRLLRLRLRRRLLRRRLRRLRRLLRLLRRLRLLLRRRLLLRLLLLRLLRLRRLRLRLRRLLLRRRRLLRRRLRRLLRRRRRRLLRLLRLRLLLLLRLLLLRRLRLLLRRRRRRRLLRLRLRLRRRLRLRLRLLLLLLLLLRRRRLRRLLRRRRLLLLLLLLLRLLLRRRLRRRRLRLRLLLRLLRLLRLRLRLLRLRRRLRLRLLLLRRRRRLLRRLRLLRLRRLLLLRLRLLRLLRRRLLRRRRRLRLRLLRRRLLRLRLRLRLLLLLLLRRLRLRLLRRLLLRLRRLLRLLLRLLRRLRLRLRRRRLLLRLRRLLLLLRRRLLLLLLLRLLLRRRRRRRLLLLLLRLLLLLLLRLLRLRRRRLLRRRLLLLLLLRLRLRLRRRLLRLLLRRRRRLLRRRLLLLLRRRLLRRLLRLLLRRLLLLRLRLLRRLLRRLRLLRLLLLRLLLLLRLRLLLRLLRRRRLLRRLLRLLLLRLLRLLLLLRLLRRLRLLLLLRRLLLRLLLRLRRRRRLRRRRRRRRLRRRRRRRRLRRLLLRLLRLLLLRLLLLRRRRRLLLRLLLLLLLRLLLRRRLLLRRRRRLLLRRLLLLRLRLLRRRRLLRLLLRRRRLLRLRLLLRLLLRRLRLRRRLRLRRLRLLLLLRLLLRLRRLLLRRRLRLRLRLLRLRLLRRLRLRLLLLRRLRLRLLRLRRRRRRLLRRLLRLRLRRLLRRLRRLLRLLLRRLRLRRRRLRLLLLRLRLRRRLLRRLLLRRRRLRLLLLLLLLRLLLRLLRRRLRLRRLRLRLLLRLRLRLRLLRRLLLLLRRLLRRRLRLLRRRLLLLLLLRRRLLLRLLLLLLRLLRRRRLRRLRRRRRRLRLRRRRLLLRRRLRRRLRRLLLRRLLRRRRLRRLRLRRRRRLLLLLLRLLRLLRLRRLLRRLLRRRRLLRRLLRLRLRLRLLRLRLLLLRLRRLLLRRLRLRRLRLRLLRLRLRLLRRLRLRRLRRRLLRLLRRLLRLRLLRRRLLRLLRRLRLLRLLRRLRRLRLLLRLRLRRRLRLLLLRLRRRRLRRLRRLRRRRRLRLLLLRLRLLLRLRRLRLRRLRRRLRLRRLLRRLLLRLRLLLRLRRLLLLLRLRLLLLLRRRLLRRRRRRRLRLRRRRRLLLLLRRLLRRLLLRRRLLRLRLRRRLRRLLRLRLRLRRRRRRLLRRRLRRLRRLLRRRLLRRRRLLRRRLRLRRRRLRRLLLLRRRRRRLLLLLRLRLLRLLLRLRLLLRRLLLRLRRRLLRRRLLLRRRRLLLLRRRRRRLLLRLLLLRLLRRRRLRLLRLLRRRRRRLLRRRRLRLLLRLRRLLLLLRRRRRLLLLLRRLLRRLLRLLRRLLLRRLLRLLLRRRRLLLRRLLLRLRRLLRRRLRRLLLLLRLLRLRRLRLRLLRLRRRRRRLRLLRRLLRLRLRLRRRLLRRRLLLLLLRRLLRLRLLRLLLLRRLLLLRLLRRRRLLLRRRRLRLLRLLRLLRRRLRLRRRRLLLRRLLRLLRRLRLRRLLRLRLLRRRLLRLLRLRRLRRLRLLLLLLLLRLLRLRRLRLRRRRRLRLLLLRLRLRLLLLLRLLRLRRLLRLLLRRRRLLRLRLRRLLLRLRRRRRLRLRLRLRRLRLLRLLRRLRRRLRRLRRRLRLRRLRLRLRRLLLLRRLLRLLRRRRLRLLRRRRRLRLLLRLLLRLRRRLLLLLRLLLLLRRLLRLRLLLRLLRLRLLRRRLLRLLLRRRLLLRLRRLRLLRRLRLRLRRLLLRLLRLRLRRRLRLRRRLRRLLLLRRRRRRRLLLRLRLLRLLRLRLLRLLLLRLRLRRLLRLLRRLRLLRRRLLLLRLLRRRRLLLRRRRRRRLRRLRLLRLRLRLRRRRRRRRLLRRRLRRLRRRRLLRLLRRLRRRRLLRRLLLRRRLLRLLRRLRRLRRRRLLRRLLLRLLRRLRRRRLRRRRRRLRRLRRRRLLRRRLLLRRLLLRRRRRRRLLRLLRLLRLRRLLRLLLLLRRLRLLRRRLLRRRRRRLRRLRRLRLLRRRLLLLRRRLLRLRRRRLLLLRLLLLLRLLRRRRRLLLLRRRLLLLLRLLLRLLRRRRRRLRRLRLLLLLLRLRRRLLRLLLRLLRLLLRLRLRLLRRRRLRRRLLLLRLRRRLRLRLLLLLRLRLLLLRLLRRRLRRLLLLRLRRLLRLLRRLLLRLLRLLLRRLRRRLRRLRRLLLLLLLLRRRLRRRLRRLLLLRLLRRRRLRLRRLLRRLRLRRLLRRRLLLLLRRLLRRRRLLLRRLLLRRLLLLRRRRLRLRLLRLRRLRLLRLRLLRLRLLRRLRRRLLRLLRRLRLLRLRLRLRLLLRRLLRLLRLLRRLLLLLLLRRLRRRRRRRLRLRLRLLRRLLRRLRLLLRRRRRRLRLLRLRRLLRRRRRRRLLLRRLRLLRLLRLRLLRLLLRRRRLRRRRRRLLLLRRRLRLLRLLRRLLRLRRLLLLLRLRRRRLRLRRLRLLRLRLLLLLRLRLLLRRLLRLLRLRRLRRLLRLRLLRLLLRLLLRRLLRRRRLRRLRLRLRRRLRLLLRRLRRLLLLLLLLRLLRLLRLLLLRLLLRLLLRLRRRRRRLRRLLLRLLRRRLRLRLRLLLRLRRLLLLRLLRLRLLRLLRLRRRLLLRRLLRLRLRRLLLRRRRLLLLLLLRLLLRRRLLRLRRLLLLRRRRLRRLLLRRRLRLLLLRRRRRRLRLRRRRRLRRLLRLLRRRRLLLLLRRRLRRRRLLRLLLLRRLLLRRLRLLRRRRRLLLRRRLLLLLRLRRLLRLLLRLRRLRRLLRLRLRRLLRRRRLLLRRRLLLLRLRLRRRLRLLRRRLRLRRLLRRLLLRLLRLRLLLRLRRLLLRLLLRLLRRRLRLRLLRLLLLLLRLRLRRRRLLRLRRRLRLLRRRLRRRRLRRRLRLLRLRRRLLRRLLRLLRLLRLRLRLRRLLLRLLLLLRLRRRRRLRLRLRLLLLRRLRRLLRLRLRLLRLLRLLRRLRLRLLRLRLRLRLRRLLLRLRRLLRLLRLLRLRLRLLRRLLRLLRLLLLLRLLLLRLLRLLLLLLLLLLLLLLRLRRRLRLLRRLLLRLLLLRRRRRRRRLRLRRLLRRLLLLRLLRLLRLRRLLRLLRRRLRLRRLRLRRRLRRLRRRRRRLLLLRLRRLLRRLLRRRLRRRRRLRRLLRRLRLRLLRLRLLLLLRLRLLRLLLRRRLLLLRRRLLRLRRLLLLRLLLLLRLRRRRRLRRLRRRRRLRRLLRLLLLRRLLLLRLLLLLRRRRLRRLRLLLLRRRRRLRRLLLRRRLRLRRLRRLLRLRLLRRRLLRRRLLRRLLRLLLRLLRRLLLRLLLRRLRRRLLLLRRLRRLLLLRRLLRLLRLRRRLLRLLLLRRLRLLRRLRLRLLLLLRRLLRLRLRLLLLRRLLRLRRLRRLRRLRRRLRRRRLRRRRRRRRLRLLRLLRRRRRRRLLRLRLRRLLRLRRRLRRLRLLRLLRLLLLRRRLLRRRRLLLLLRLRRLLRRRLRLLLLLLLLLLLLLLLRLLRLLRRLRRRRLLLLLLLLLLRLRRLLLLLLRLRLLRLLRLLRRLRLLLRLRRRRLRLRLRRRRRRRLLRRRLLLLRRRRRLRLRLLRLRRLRRLLLRRRLLRLLRRRRLRLLRLLLLRRLLLLRRRRRRLLRLLRLRLLRLLLRRRLLRRRRRRRRLRRLLRRRLLRLLRLLRLRLRLRRLRRRLLLRLRLLRRRLLLRRLLLLRLRLRLRRLRRLLLRLRRRRLLLLRLLLRLLRRLRLRRLRRRLRLLLRLRLRRLLLRLLRLLRLRRRLLRRRRLRLLLLLLLRLRRLLLRLLRLLLLRLLLLLRRLLRLLLLRRRLRRRRRLLLRRRRLLLRRLLLRRRRRRLLRLRRRLLLRRRRLRLRRLLLRRLRLRRRRLLLRRRLLLRRRLRRLLRRRRRRLLLLRLLRRRRLLRRRLLLLRLLLLRRLLRLLLRLRLLRLLLLLLRLRRRRLRLRLRRRLLRLLLRRRRLRLLLRRRRRLLRRRRLRRLRRRLRLLLRLRRLLRRLLLLRLLLRRRLRRLRRLLLLLLRRRRRRLLLLLRLLRRLRRLRRRLLRRRRLRLLRLRRLRLLLLRRRRRRRRLLLRRRRLRLRLRRRRLRRRLLRLLRLRLLLLRLRRRRLRRRRRLLLRRLLLRRRLLRRRRLRRLRRLRRRLRLLLRLRRLLLLLLRRRLRLLRLLRRRRRRLLRRLLLRLLLRRLLLLLRLRLLLRLRRLLLLLLLRLRLRLLRRLRRRRRLRRRRRRRRLRLRRRLRRLRLLLRRLLRLRRLRRRLRLRRRRRRLLRRLRLLLLLLRLLLRRRLLLLLLLRRRRLRRRRLRLRLLRLRLLRRLLLLLLRRLLRLLRRLRLLRRRLRRLRRLRLRLLLLRRLRRLLRLLLLRLRLRLRLLRRRRRLLLRRLRLRRLLRLRLRRRLLRRRRRRRLRRLRLLLLRRLRLRRLRRLRLRLRRRRRRLRLRLRRLRLLLLRRLRLRLLLRRLRLRLLRRLRRLLLRLRRRRRLRRLRRLLLRLLRLRRLRRLRRRRLRRLRRLLRRRLRRLLRLLRLLLLRRRLLRLLLLLLRRLRLLLRLRLLLLLRLLRRRLRLLRRLLRRRLRLLLRLRLLLRRRLLRRLRLRLRLLLRLLLRLLLLLLLLLLRLRLRLRRRRRLRLRRLLRRLRRRLLLRLRRRLRLLLLRLLRLLRRLLLRLRLRLLRLLRLLRLRLLRRRRLLRLLLRLRRLRLLRLRLRRRRLLLRLRRLRLRLLRLLLLLRLLLLLRRRRLRLLLRLRRLRLLRLLRLLLRLLLLRRRRRLLRRRLRRLRLLRRRRRLLLLLRLRLRRLLRRLLLLLLRRLLRRRLRRLRLRRRLLLLLLRLLRLRLRLLRLRLLLRLLRRLRLLRRRLRLRLRLLLRLLLRRLLRRRLLLLLLLRRLLLLLLLLRRRLRLRLLRRRLRLLLLRRLRRLRLRLRRLLRLLRRLRLRLLLRRLRLLLRRRRRRLLLRLLLLRRLLRRRRRLRRRLRRLLRRRRRLLLRLLLLRRRRLLRLRLRRRLLLRRRRLRRRLLRLLRLRRRLLRRRRRRRRRLLLRLRLRRRRLLRRLRRRRRLLRLLLRRLRRRRLLRLRRRLLRRLLRRLLLRRLLLRLRRLRLRLLRRLLLLRRRLLRRLRLLLRLLLLLLRRLLLRLRRRRLRLLLLRRLLLRLRLLLLRLRLRRRLRRRRLLLLLRRRLRRRRRLLRRLLRRLLRLRLLLLRRLRLLRRRRLRLRRLRRLLRLRLRLLLLLRLRLLRLLLLRRLRRRLRRLRRLRLLLLRLLLRRLLLLLLLLRRRLRLLLRLLLRRRLLLRLRRLLRLRRLLRLLRLRRLRRRLLRLLRLRLRLLLLRLLLRLRRRRRRRRRLRRLLRLLLLRLLRRLRRLRRLRLLRLRRLRLLLLRLRLLLRLRRLRLRRLRLLLRRLRLRRLRRLRLLRLRLLLLLRLRLRLLRLLRLRRRRLRRRRLRRRRRRLRRRLLRRRLLRLRLLRLLRRLRRRRLLRRLLRLLLLRRLLLRRRRLLLLLLRRRRLRLRLLRLRRLLRRRRRRRRLRRLLRLRRRRLRRLLRRRLRLLLRLRRLLRLRRRLLRLLRLLRLRLLLRLRRLLLLRLRRRRRLLLRRLLRRLLLRRLLLLLRLLLLLLRRRRRLLLRRRRRLLRRRRLRLRLLRLLRRRRLLLLLRLRLLLLRLRRRRRRLLRLRRRLLLLRLRLLRLLRLLRLLLLLLRRLRRLRRRRRRRRRRLRRLLLLRRRLLRLRLRLRLLLRLLLLLRRRRRRRLLRLRRLLRRRRLRLRLRRLRRLRLLRLRLLLRLLLLRLLRLRLRLRRRLLRRLLRLLRLLLRRRRRLLRLRRRRLRRLRLLRRRRLLLRRRLLRLLLLRRLRRRLLLLLLRLLLLLRRLLRRLRLLLLRLLLRRLLLLLRRLLLLLLRRRLRLLLRRLRRLLRRLLLRLRRLRRRRLLLRRLRLRRLLRLRLRLLRRRRLLLLLRLLLRLRLRLRRLRLLLLLRRLRLLRRRLLRLRLRLLRRLLRLRRLLLLRLLRRRLLRRLRLLLRRRRRLLLRRRLRLLLRLRLRLRRLLRLLRLLLLLRLRRRLRRLRLRLRRLLLRRRRRLLRLLRLRRRLLRRRRRLRLLRRLRLRLLLRRRLLLLRLLRLLRLLRLRRRRRLRLLRLLRRLLLRLRLLRLLLLRLRRLRRLLRRRLLLRRLLRLRLRLRLLLLRLRRRRRRLRRLLLLLLLLRLLLRRRRRRLLLLRRRLLRLRLLLLRLLLLLLRLRLLLLRRLRRRLLLLLLRRLRLLLRRRLRLRRRRLLLLRRRLRRLLLRLLLRRRLLRLRLRLLRLRRRLRRRLLRLRLRLLRLRRLRRLRRRLLLLRRRLLRLLLLRLRRRLLRLLLRRRLLRLLRRLRLLRLRRRRRRLLRLRRRRLLLLLRRLRRLLRLRLRRLLRRRLLLRRRLRLRRRRLRRLLRRRLLLRRLLRLRLRLLRRRRRLLLRRRRRRRRLRRLLLRRRRLRRLRLRLLLLLRRRRLLRLRLLLRRLRRLLLLRRRLLLLRRRRLRRLRLLLRLRLRRLRLLLRRLLRRRRLRRLRLRLRRRRLRRRLRRLRRLRRRRLRLLLRRRLRLRLRLLLLLLLRRRRRLLRRLLLRLRRRLRRRLRRLLRRLRLLLLRLRRRRLRLRRLRRLLLRRLRLRLRLLLRRRLLRRRRRRLRRLLRRRLRRLRLLLRRLRRRLLRRLLLLLRLRLLLRRRLLLRLRLRLRLLLRRRRLRRLRRLLRRRRRRLLRRLRRRRRRLRLLRRLRRLRRLLLLRRLRLLRLRRRLLRLLRRLLLRLRRLRLRLLRLLRLRLLLRRLLLRRLRLLRLRLRLLLLRLRRLLLRLRRLLRLLRLRLLLRLRLLRLLRRRRLRLLLLRRLLLRRLLLRRLLLRRRRRRLLRRLRLRRLLRLLRLRRRRRRLRRRRLLLLLRLLRRLLRRLRRRLLLLLLLLLLRLLRRRRRRRLRLLLLLLLRRRLRLRRRLLLLRRRRLLLLRLLLLLLLRRRLRLLLRLLLLRRRRLRRLLRRRLLRRRLLRLLLLLRRLRRRLRRRLRRLLLRRRRRRRRLRLLRRRLLRRRRRRLLLLRRRLLRRRRLRLLRLLLLLLRRRLRRRRLLRRRLLLRLRRRRRLLRRLLLRRRRRLRRLLRLLRRRRLLLRLRLRLRRRLLLRRLLLLRRLLLLLLLLRRRRLRLLLRLLLRRLLRRLRLLLRRRLLLLRRLLLRRRRRRRRLLLLLRRLLRRRLRLRLLRLRRRRLLLRLLRRRRRRLRLRRRLLRRLLLLLLRRRRRLRLRRRRRLLLRLLRRLLLRRLRRLLLLRRLRLLLRLRLLLLRLRLLLRRRRRLRLRLLRRRRRLLRRLRLRLLLRLRRLRRRRLLRRLLRLRLRRRLLRLLRLLLLLLRRRLRLRRRLLRLLRLRRRLLRLLRLRLLLRRLLRLLLRLLRLRLRRLLLLRRRLLLLRRRLRRRLLRLRLLRRRRRLRRRRRLLRRRRRRLRLRRRRRRRLRRRLRRLRRRLLLLRRLLLRRRRRRLLRLLLRRRLRLRRRRLLLRRLRLRLRLLLLLLLLLRLLLLLLLRRRLLLLRRLLRLLLLLRRRRLLRLRLLLLLRLLRLLLLRLRRRLRLRLRLRLLLRRRLLRRRLRLLLLRLRLRLLRRRLLRLRLRRLRRLLLLRLLRRRRLRRRLRLLLLLLLLLRLRLRLLRRLRRLRLRRRRLLLRRLRRLRLLLRRRRRRRLLLLRRLRLLLLRRRLLLLRRLRLLRLRLRRLRLRRRRRLLLRLLRLLRRLRLRLRLLLRRLRRLLRLRLLLRRRRRRRRLLLRLLLLRLLLRRLRRLRRLLRLRRRRRRRRLLLRRLRRRRLRLLLLRRRLRRRLLRRRRRRLLRLLLLRLLLLLLLLLRRRLLLRRRRLRRLRRLRRRRLRLLLRRRRLRLLLLRRRLRLLLRLRRLRRLLLRLRRLRRRLRLLRLRRLRLRRRLRRLRRLRLRLLRRRRLRRLRRLRRLLLLLRLRRLLLLLRLLRLRRLRRLLRLRLRRLRRLRLRLLRLRRRRLRLRRLLRLLRLRRRLRRRRRLLLRLLLLLRRRLRLRLLLLRLRRRRLLRLRRLLLRLLRLRRRRLRRLRLRRRLRLRRRLLLRLLLLRLLLLRLLLLRLRRLLRLLRRLLRRRLLRLRRRRLRLRLLLLRLLLRLLLLRRRLRRLLRRRRRRLLLRRRLRLRLLLLRLLLLRLRRLLLLLLLLLRRLRRLRRRLLLRRRRLRLLLRRLRRRLRLRRLRRLLRRRRRLLLLRLLLRRRLLLRLLLLRLLLLRRRRLRRLRLLLLRRRLLRLRRRRLLLRLLLLLRLRLRLRLLRLLRLLLLLLLRLRLRRRLRLRLLRRRLLRRRLLRRRLRLLLLLRLLLRRLRLRRLRRRRRLLLRLLRLLRLRLLRLLRRLLLRLRLLLLLLLLLRLRLRLLLLLRLLRRLLLLLLRRLRLLRLLRLRLLRRLLLRRLLLLRRLRRRLLLRLRRRRLRLLLRRLLRRRLRLLLLLLLRLRLRRLRRLRRLLLLLLRRLLRLLRLLRRLRLRLRLRLLLLRLRRRLLLLRRRLLLLLLLRLRLRLRRRRRLLLLRLRRLRLLRLRLLRRRRRRLLRRRLLRRLRRRLRLLLLLRLLRRLRRLRRLLLRRRLRRLLRRRLLRRLRLRLLRRRLRRRLRRRRRLLLRLRLRRLLLLRLLLLLRLRLLLRRLRRLLRLRRLLRLLRLRLLLLLRRLRLLRRLLLLLLLLRRLLRLLLRLRLRLRRRRRRRRRRLRLRLRRRLLRRLLLRLLRLLLLRLLLRRLRRRLLLRRLLRLLLLLLLRRRLLLRLRRRRRRLRRLLLRLLLLRRRRLLLLLLRLRRRRRRRLLLLLLRLRLRLLRRLLLRRLRRLLLRLLLLRRRRLLLLLRLRRRLRLLRLRLLLRLRRRLLLLRRLRLRRLRLRRRRRLLLRRLLRLRLRRLRRRLRRRLLLLLRLLLRLLRRRLLLLLLLRRRRRLRRRLLRLRRLLRLLLLLLLLRLLLRLLRRLLLLLRLRLRLLRRLRLRRLLLRLLLLLLRRLRRRRLRLLRLRLLLLLLLRRLRLRRLLLLLLLLLRRRRLRRLRLLLLRLLRRLRLLLRRLRLRRRLRRRLRRRRRLRRLRRRLRLLRLRRLLLLLRRLLRLRRRLRRLRRLLLRRRRRRRLLRLRLLLRLRLLLLLLLRLLRRRRRRLLLRLLLLRRLRRRLLLLRLRRLRRLLRRLLRRRRLLLRLLLRRRLRRRLRRRLRLLRLLRLRLLLRLLLRLRLRRLLRLLLLRLRRRRLRLLRRLRLRRRLRLLLLLRRLLLRLRRRRRRRLRRRRRRRRLLRRRLRLLLLLLRLRRLLLLRRLRLLLLLRLRLLLRLRRRRLRLRRRRLLLLRRRRLLLRLLLRRRLLLLRLRRRLLRLLRRRLRRRRLRLRRLRRRLRRLRRLRRRRLRRRRRLLRRRLLLLRRRLRRLLRRRRLRLRLRRRLRLLRLRLRLLLRLLLRLLLLLLLRRLLRLRLLLRRRRLLLRRRRRLLLLLLLRLLLLRRRRRLLRLRLLRRRRRLLLRRRRLLLLRRLRLLRLLLLLLRLLLLRLRRRLRLLLRLRLRRRLRRLLRLLRRLRLLLLLRLLLRLRRLLRLLLLRLRRLLRLLRLRLLRLRLLRLLRRRRRLLRLRRLLRLLLRLLRRLLRRRRLRLLLRRLLRLLLLRLLLLRRLLLLRLLLRRLLRRRRRRLRRRRLLRLRRRRLRLRRLRRLLRRLRLLLRRLRLLRRLRRRLLLLRRLRRLRRRLRRRRRLLLLLLRRRLLRLRRLLRRRRLRLRLLLLLLRLRRLLLLRLLRLRRRRLRLRRRRLRLLLRLRRLLLRRRLRLRLRLRLLLRRLRLRRLLRRRRRRRRRLRRLLRLLRLRLRLRRLLLRRLLLRLRRRRRRRLLLRRRRRLLLLRLRRRLRRRLLLLLLLLRRLRRLLRRRLLLRLLRRRLLRRLRLRLLLRLRRLLRRRRLRRLRLLLLRLRRLLLLLRRLRLRRRLLLRRLLLRRRLLRLRRRLRRRRRLRRLRRLLLRLRRRLLLRLLRRRLLRRLLRLLLLRRRRRLLRRLRLRRRLLRRRRRLRLLRRRRLLLRRRLRRLRLRRLLLLLRLRLLRRRRRLRLLRRRRRRRLLLRLLLLRRLRLLLLRLRRLLRLRRLRRLRLRRLLRLLRRRLRRRRRLRRLLLLRLRLRLRRLRLLLLLRRRRRRRLLRLLRLRLLRRRLLRLRLLRRRLLRRRRLLRRRRRRLRRLRLLRLLLLRRLLRRRRRLLLRRRRRLLRRLLRLLLLLRRRLRLLRRRLRLLRRLLRLRRRLRRLRRRRRRRRRLRLRLRRRRRLLLLRLLRRRRLRRLLLLLLRLRRLRLLLLRLRLRRRRRLRRLLLRRLRRLRLRRLRLRLRRLLRRRLLRLLLLLLLRRLRLLRRRLRLRLRRLLLLRRLLLLRLLRLLRLRRLRRRLLRRLLLRRRRLLLLLRLRLRRLLRLLRRRLRRLLLRRLRRLLRRLLRLLLRRLLLLRLRRLRLRLLRRRLLRLLRLRLLRRRRLRRRRRRLLRRLLRLRRLRRRRRLRRLLRRLLRLLLRLRRLLLLLLRRRLLLLLLRRLRLRLLRLLLRLRRLRLLLLRRRRRLRLRRLRLLRRLRRLRRLLLRLLLLLRLLLLRRLRLLLRLRRLRRRRRRLLLLRLLRRLLRLRRLLLLLLLLRLRRLLRLRLLLRRRLRLLLRRLLRLLLLLLLLRLRLRLLRLRLLRRRLRLLLRRLLLRLLLRRLLRRRRLRLLLLRLRRRRRLLLRRLRRLRRRLRLLRLLRLLRRLRLRLRLRRLLRLLLLRRRLRRLLLRLLRRLLRLRLLLLLRRLRLLRLLLLLLLLLRRLRRRRLLRRRRLRRRRLRRLLRRRLLLRLLLLRRLLLRLRLLRLRRLLLLRRRLLRRLLLRRLLRRLLLRRRLRRLLLLRRRRLRRLRRLLRLLRRLRRLLLRLLRRRRLRRLLLRRLLLRRRRRRRRRRRLLLRRLRLLLLRLRRLLLLLRRLRRLLLLRRLRLRRRLRRRRRLLRRRLLLLRLRLRLRLRLLRLRLLLRRLLRRLLRRLLRLRLRRRLRRRLLRLRLRLLLLRLRLRRRRLLLLLRLLRRRRLLLLLLRRRLRLRLRRLRRRRRRRRLRLRRLRRRLLRLLRRLLLLLLRLLRLRRRLLRRLLRLLLRRLRRLRLRLRRLLLRRLRRLLRLRLRRLRLLLLLLRLRLLLLRRRLRRRLLRLRLRLLRLLRLLRLLLLLLRLLRLLLRLLRLRRLLRRRLLLRLRLRRLLLLLLLLRLRRLLRRLRLRLRLRLRLRLLRLRRRRLRRRLLRLLRRLLLLRLLRLRRLRRLLRLLRLRLRRLRLRRRRLLRRLRRRRRRLLRLLLRRLRLRLLRLRLRLLRRLRRLLRRLRLLLLRLRLLLLRRLLLRRLLLRRLLRLLRRRLRRLRRLRLLRLLRLLRLRRRRRLRLLLLLRRRRRRLRLRLLRRLLLLLLRRLLLRRRLRLLLRLLRRRRRRLRRLLLRRRLRLRLLRLRLLLRLRRLRLLLLRLLLLRLLLLLRLLRRRLRRLRLRRRRRRLLRLRRLRRLRLLRLLLRLLRRRRRLLRRRLLLRLRLLRRLRLRLLRRLRLRLRLLLLLLRRRLLRRRRLLRRLLRLRLRLLRRRLRRLLRRRRLRLLRLLRRRRRRRRLRLRLRLRRRLRLRLRRLRRLRLLLRLRLRLRLRRLRRRLLRLRLLLLLRLLLRLLLLRLLLLLLLRRLLLLRLLRRLRRRRLRLLLLLLLRLLRLLRLLLLRRRRLRLRRRLLRLRRRLRRRRLRLRLRLRRRRRRRRLRLLLLLLLLLRRLRRLLLLRRRLRRLRLRLRRLRLLLRRRRRRLLLLRRRRRLLRRRLRRLRLLLLRLLLRLLLLRRRRLRRRRRRRRLRRLLLRRLLLLLRLLRLRLRLRRLRRRLRLLLRLLRRRRLLRRLLLRRLRLRLRRLRRLLLRLRRRLLRRLRLLLRLRRRLRLRLLRRRLRLLRRRLLLLRRLLLLRLLRRRRRLLLRRRLRLLLLRLLRLRRRRLRLLRLLLLLLRRLRRRRLLLRLLLRRLRRRRLLLLRRRRRRRRLLLLLLRRRRLLRLRRRLLLRRRLRLLRLLLLRRLRLRRRLLRLLLRLLRRRRRLLLLLRRRRRLLLLRLRRRRRLLRLRRLLLRLRLRLRLRRRRLLLLLLRLLLLRRRLRLRRLRLLRRRRLLRLLLRRRRLRRLLRRRRRRRRRLRLRRLRLRLRLLRRLRRRLRLLRLRLLRLRRLLRRRRRLLRLRLRRRRRRRRLLLRLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRRRLRLLLLRRLLLRLLLRRLLLRRRLRRLRLLRLLLLRLLLRRLRRRRRLLLLRLLRLLLRRLRRRLRRLRRLRRRRRLLLRLRLLRLLLRRRRLRLLRLLLRRRLLLLLLLLRLRLLLLRLLLLRRRLLLRLRLRLLLLLLRLLLLLLLRLRRLLRLLRRLRRLRLRLRRLRRRLLLLLRRRLLLLLRRRRRLLRLRRRLLLLRLLRLLRLLLLRLRLLLLLLLLLRLRLLLRRLLLLRLRRLLLRRRRLLLLLRLLLLLLRRLRRLRRRLRRLRRRRRRLRRLLLLRRLLRRLLLRLRLRLLLLLLRLRLLLRRRRLRLLRRLLLLRRLLLRRRLRRRRRLRLRRLRLLRLRRLRRLRLRLRRRRRRRRLRLRRLRLLLLRRRRLLLLLRRLRRRLRRRLRRLLRRRLLRRRLRLRRRLLRRRRLLLRRRRLRRRLLLRRRRRLRRRRRRLLRLLLRLLLRLRLLRLLLLLLLRLRLLLRRRLRLLLRLLRRRLLRRLRLLRRRLLLRLRLLLLRRLRRRRRLRLRRRLLRRRLRRRLLLLLLLRLRLRRRLRLRRRRLLRRRLRRLRRRRLLRLRRRLRRLLLRRRRLLRRRLRRLRLRLLRRLRLRLLRLRLRRRLLRLLLRLRRLRRLLLRLRRRRLRLRLRLLRLRLLLLLLLRRLLRLLRRRLLRLLLLRLRLRLRRRRLLLLRLLLLRRRRRRRRRRLRRRLLLRRLRRLLRLLRLRLLLLLRRLLLLLLRLRLRRRRRRLRLRRRLRRRLLRLLRLRLRLRRLRLLLRLLLRRRLLRRRLRLRLLLLLRLLLRRRLRLRLLLLLRLLRLLLLLRRLRRRRRLRLLRLRLRLRLLRLRLRLRLRLRLLLLLLRRLRRLLRLLRLLLLLRRRRLRLLLRRLLLLRLLRRRRRLRRLLRRRLRLRRRLLLRLLLLRRRRRLRLRLLRRLLLLRLLRRRRLLLLLLLRLRRRLRRRRLLRRRRLRLLLLRLLLRLRRRRLRRRLRRLRRRLRRLRLLLLRRLLLRRLLRRLRLLRLLLRLLRLLLRLLLRLLRLRRLRLLLLRLLLLLLLLLLRRLRLRRLRRRLRRLLLRLRLLLLRLRLLRLRLLRLLRRLRLRRRLRLRLLLRLLLLLRLRRRRLRLRLRLLRRLRLLRRRLLRLLLRLRLRRRRLRLLLLRLLLRLRLLRRRRLRLLLRRLRRLRLLRLLLRRRRLLRLLLRLLRRRRLRLRLRLRRLLLLLLRRRLRLRRLRRRLRLRRLRLRLLLRLRLLLLRLLRLRRLRRRLRRRLRRRLRLRLRLRRRLLLRRRRRLRRLLLLLLLRLRLLRLRLRLLRRLRRLRLRRLLLLRRRLRLRRLLRRRLRRLRRLLLLRRRLRLRLLLRRLRRRLRRRRLRRRRRRLRRRLRRRRLLRRRRLRRRRRLRRRRRLRRRLRLLLLRRLLRRRRRRLRRLLRRRLLRLRLLRRRRLLLRRLRRRLLRRLLRLRRRRLRRLRRRRLRLLLLLLRLLRLRRRLRRLLRRLRLRLLLRLRRLLLLRLRRRRRRLLRRLLRLRRLLRLLLLRRLLRRLLRLRRLLLRRLLRRRLRLLRLRLLLLRRLRRRLLLRRLRLLLRRRLRRLRRRRLRLRRRLRLLLRLRRRRRLRLLLLRRLLRRRLRRLRRRRRRRLRRLRRRLRLLRRLLRLLLRLRLLLLRLLLRRRRRRLRLLRLLRRLRLRRLRRRLRRLRRLRLRRLLLLLLRLLLRRLRLRLRLRRLRLLRLLRLRRRLLLRLRRLLRRRRRLLRRRRLLRRLRLLLRRLRLRLLLLRRLRLLRLLLLLRLLRRRRRLRRLRLLLLLRLLLRLRLLRRRRLLRLLLLRLRRLRLRRLLRLLRRLRLRLLRLRLRLRLRRRRRLRLLLLLLLLLLRRLLLLRLLRLLRRRRRLLLRLRLLRRLRRLLRRRRRLLRLRLRLLRLRLRRRRLLLLRLRRRRRLRRRRLRLRRRLRLRRRRLLRLRLRLRLLLRRLRLLLLLLLLRRRRLRLRRLRLRLRRLLLRLRRRLLRLLRRRRRLLRLLRRRRRLRRLRRRLLLRRRRLLLLLRRLLLRRRLRRLRRLRLRRLLRRLLLRLRLRRLLLLRRLRRRLLLRRLLLLRLLLRRRLLLRLRLRRRRRRRLRLRRRRLLLRRLRLLLRRLRLRRRLLRRRRLRLLRLLLRLRLLLRLLRRLLLRRRRRLLLLRRLRRLLRLRRRRLRLLLRRLRLLRRLRRRRRRRLLRLLRLLLLRRLLLLRRLRLLLLRRRRLLRRLLRLLLRLRRRRRRLLRLLLLLLLLRRLRRLLRRRLLRLLLLRLLRRRRLLLRLRLRRLLLRRLRRRLLLRLLLLRLLLRLRLRRLLRRLLLLRLLLRLRRRLLRRLLLRRLRRRRLRRLRRRRLRRLRLRLLRRRRRRLLLRLLLLRRRRLRLLRLRRLLLLRRRRLLLRRLLRRRLRRRLRLLRRLRLLRLRRLRRRRLLLRRLRRRLRLLLRRLRRRRRRLRRRLRLRRRRLLRLRRRLRRLRRRRLRRLLRRRLRLRLRLLLLLRLRRRRRLLRLLLRRLLRLLLLRLRRLLLRLRLLLLRLRRRRLRLRRLRRLLLLRRLRRRRLLLRRRRLRLRLLLRLLLLRRLLRLLRLLLRRLRRRLLLRLLRLLRLRLRRRRRLLLRLLLLLRLLRRRLRLLRRLRLLLLLRRRRLRRLLRLRRRLRLLRRLRRRRRLLLLRRLLLLRRLRRLLRLLRRLLRRLRLLLRRLRRRRRLRRLLRRRLLRLRLRRRRLLRLLLRRRRLLLRRLRRLLRRLRLRLRLRLRLRRLLRRRRLRLRLRRLRRLRRLLLRRLRLLLRRRRLRRRLRLRRLLRLLRLLRRRRRRRRRRLLLLLRLLRRLLRRLLRLLLLLLLRRLRRLLRRRRRLLLRLLLLLLRLRRLRLRRRLLRRRRLRRRLLRRLLRLLLRRRLLLRLRLLLLLLRRLRLLLLRRLLRLLLRRRLLLLRLLLRLRLRRLLRLLLRRRRRRRLLRLLRRRLLRRRRRRLLLRRLRLRLRRRLRRLRLLLRLLRRRRRRLLLLRLRLLLRLRLRRRLRLRLLLRLRRLLRRLRRLRRRRLRLLRRRLLRRRRRRLRRLLLLLLLLLLLLLLRRRRLLLLLRLLRRRLRRRLRLLLRRRRLLRRRLLLRRRLRRLLRLLRRRRLLRRRLRLRLLLRRLLRLLLLLLRLRRRRRLLRRLLRRRLLLLRLRRRRRLRLLRRLRRLLRLLLRLLLRRLLRRLLLRRRRLRRRRRLLLLRLRLLRLRLRLLRLRLRRRLRRRLRRLRRRLLRRLRLRRRLRLRRRLLRLRLRRRLLRLLRLLLLLLRRRRLLRRRRLLLLRLRLLLRLLLRRLRLLLRLRRRLLLRLRLRRRRRLLLRRRRLLLRRRLRRRRLRRRLLRRLRRLRLRRRLLRRRRRRLLRRRRRRRRLRLRLLRLLRRRRLLRRRLRRRRRRLLLRLLRRRLRRLRRRRLLLLLLRLRRRLRLLLLLLLRLLLLRLRLRRLLLLRLLLLLRLLLLRRRLRLLLLLLRLRLRLRLRLRLLRLLRLRLLRLLRLLRLLLRRLRRRLLLRLRRLLLLRRRLLLRLRRLRLLLLLRLRRRRRLRLRLRLLLLLLLLLLLRLRLRRRRLRLRLRLRLLLLRRLRLLRRLLRRRRRRRLRLLRLLRRRLRRLRRLRRRLLRRLLRRLLLLRLRRRLRRRLRLLRLRRLLRLRLRLLLRRLRLLLRLLLLLRRRRLRRRLRLRLLLLRRLLRRLRLLRRLLLLLRRRRRRLLLLLRLRRLRLRRLLRRRRRRRRRRRRRRRRLLLLLLLRRRRRLRLLRRLLLLLRRLLLLRLRRLRRRRLRLLLRLRLLRLRLLRRRLRLRLLRRRLRLLRLLLRLLRRRLRLLRLRRLRRRLRLLLLRLRRLRLLRLRRLLRLRRLRRRRLLLRLRRLLLLLRLLRRRLRRRLLRLRLLRRLLRRLRLRRLRRLRLRLRRLLLLRRLRRRRRRRRRRLRLLRRRLRRRLLLLRLLLLLLRRRLLRLRLLLRRLLRLLRRLLRRLLLRLRLRRLLRRLLLLLLRRRLLLRLLRLRRRRRLLLLRRLLRLRLLRRRRRRLRLRLRLLRLRLRLLLLRRRRRRLLRRRLRLLLLRRRLRLRLLLLRRLLLLLLRRLRLLLRLLRRLRRLRRRLLLLRRRLRLLLRLLLRRLRLRRLLLLLRRRLRRLLRLLLLRRLLLLRLRLLRLLLRLLRRRRRLRLLLLLRRRRLLRRLLLRLRLLLLLRLRRLLRLLRLRRLRLLLLRRLRLRLRLRLRRRRRRLLRRRLLRRRLLLLLLLRRRLLRLRLRRRRRLRLRRLRRRRRLLLRLLRLRRRLLLRRRLRRLLLLRLRLRLRLLLLLRLRRRLRLRRLRRLRRRLLLRLRLLLLLRLRRLLLRRRLRLRLRLRLRLRRRLLRLRLLLRRLRRLLLLLLLRLRLRRRLRRRLLRRLRLRRLLRLRRLLRLLRLLLRLRLLLLLRLRRLLLRRRRLLLLLRLRRRLRLRRLRLLLLLRLRRLRLLRRLLLRRRLRRRLRRRRLRRLRRLRRLLLLLLLLRRLRLLRLLRLRRRLRRLRRLLLRRRRRLRLLRLRRRRRLRRRRRLLLRLRLRLLLLLRLLRLLLLLRLLLRLRLLLRRRRLLRLLRLLLLLRRRRLLRRLLLLLLRRLLRRLRRRLRRLRLRLRRLRRRLRLRRRLRLLRRLRRRLLLRLRRLLLLRLLLRRLLRLRLRRRRRRRLLLLLRRRLLLLLLLLRRRRLRRLLLRLLRLRLRLLRLRLLRLRRRRRRRRLLLLLRLRLLRLLRLLRRLLRRLLLRLRRRRRLRRLRLLRLRRLLRLLRLRLRLRLRRRRRRLRRLLLRRLLRLRLRRLRLRLLLRRRRRRRRRRLRLRLLLRLRLLLRLLRRRLLLRLLLLRRRLLRRRLRRLRRLRRLLLLRLRRRLLLRLLRLLLLLLRLRLLLRRRRRLRRLLRRLRLLLLRLRRRRLRRLLLLLLLRLLLRLRLRLRRLRLRRLLLRRRLRLLRLRLLLLRRLRRLRLLLRRLRLRRLLLRRLRRLRRLLLLRRLLRLLRLRLLLLLLRRLLRLRLRLLRLLRLRLLLLRRRLRRRLRLLRRLRLLLRRLRRRLLRRRLLLLLRLLLRRRLRRRLLLLRLRRLLRLLLRLLLRRLLLLRLLLRRRLRRRLRRRLLLLRRRLLRLLLRLRLRLRLLLLLLLRRRRLRLLLLLLLLLLRLRRLRRLLRRLRRRLLRRRRRLRRRRRRLRRRLRLRRRRLRLRLRLLLLRRLRLLRRLRRLLLRLLLLLLRLLRLRLLLLLLLLRRLRRLRLRLLRLLRLRLLLRRRRLRRLRLLRRRLRRLLLRLRRRRRRRRRLLRLRLRRLRLRRRRLLRLLLLLRLLRRLLRRRRRLRLLLRRRRLLLRLLLRLLLRLRLLLLLLLRLLRLLLLRLLLRLLRLRLRRRLRLLLLLLLRRRLLRRRRRLLRLRRRRLRLRLLRLLRRRLLLRLLRLLRLLLLLLRLLRRRRRRRLRLLLRLRLRRRLRRRLRRLRLLRLLLRLLRLLLLLLLRLLLLLLRRRLLRRLLLRLLLRRLLRLLRRRRRLLRLRRLRRLLLRLLRRLLLRRRLRLLLRRRLLLLLRRLRLRLRLLLLRRLLLRLLRRRRRRLLRRRLLRLRRRLLLLRLLRRLLRRRRLLRLLLRRLRRLLRLLLLLRRLRRLLRRLRRRRLLLLLRLRRLLLRLLRLLRLRRLLRLRRRLLLRLRRRRRLRRRRLRRRRLRLRRRRLRLLRRRLRLLLRRRLRLRLLRRRLLRLRLRRLLLRRRLLRRRRLRLLLRLLRLLRRRLRRLLRRLLRLRRLLLRRRLRLRRRRRLLRRLLRRRLRRLLLLLRLLRRRRRLLLRRRRLRRLRRRRLRLLLRLLRLLRLRRLLRRLRRRRLLLLLLRLLRLLLLRRRLRLRRRLLRLRLLLRRRRRLLLRRLRRRRRLLRLRRLLLLRRRRRRLLLLRRLLLRRRLLLLLRRLRRRRRLRLRLRRRRLRLRLRLRLLRRLRLLLRRRLLRLRLLRLRLLLRRLLLLRLLRLRLRRRRRLRRLLLLLRRLLLLRLLLLLLRLRLRLRRRRRLRRRRRLRLLLRRRRRRRLLRRLRLLLLRLRLRRRRLLLLLRLRRRLRLLLLLLLRLLLRRLLRLRRLRRRLRRLRLLLRLRLRRLRRLRLLRLRLLRRLRRLLRRLLLRRRRRLLRRLLRLLLLLLRRLLLLRRRLRRRRRLLRRRRRLRRLRRLRRRRRRLRLRLLRRLRLRLLRRLRRRRRRRLLLLRRLLRRRRLLLLRRRRRRRRRRRRRLLRRLLRLRLRRLRLLRLRLLRRRRLRRRLRRLLRRRRLLRRRLRLRLLRLLLRRLLRLLRRRRLLRRRRLRLLRLRRLLRRLLLRLLLLRLRLRRLLLRRRLRRRRLLLRRLLRLLRRRLRLLLRRLRLRRLLLLLLRRLRRLLLRLLRLLLRLRRRLRRRLLRLLRRLLRLRRRLRRRRLLRRLRLLRRLLLRLRRRLRLRLRRRLLLLLLRRLRRRRLRLLLRLRRLRLLLLRRRRLLRRRRRRLLRLLLRLLRLLRLLRLRRRLLLLLRRRLRLRLRRLRLLLLRLLLLLLLRRRLRRRLLLRLLLLLRLRRLRLLRLRLRRRLRLRLRLLLRLLLLLRLRRLRLLLLRLRLLLRRLRRLLRRRLRLLLLLRRRRRRRRRLLLLRLRLRRRLLLRLLRLLRRRLRLRLLRRLRRRRRRLRRRLRLLRRLLLRLLLRRLLLRLLRLLLLRLLLLRRLRLRLLRLLLRLRLLLRRRLRRRLRRRRRLRLRRLLLRLRRLLLLRLRLRRRRRLLLRLLRLRRLLRLLRLLRRRLLLRRLRLRRLLLRLLLRRLRLRRRLLRRLRRRLLLLLRLRRLLLRLLRLRRLLRLLLRLLLRRRRRRRLRRRRRLLRLLRLLLRLLLLRRLLLRLLLRLLLLRLLRLRRRLRRRRRLLRRLLLLRRLRRLLRLRLLRLRLLLRRLRRLRLRRRLRLRLRRLLLRRLLRLRLLRLLLRLRLRRRRLLLRLRLRRRLRLLLRLLRRLLRRRLRLRRRLLRRRRLRRRLLRRLRLLLRRRRLLRLLRLLLLRRRLRLRRRRRLRLRLLLLRRRLRRLLRRRLRLLRRLRRRRLRRLLLLLLLRLLLRRRRLRRRLLRRRLRRLRLLLLLRLLLLLLRLRLLRLRLLLRRRLLRRRLLLRRRRRRLRRRLRRLRLRLLLRRRRLRLRLRLRLRLLLLRRLRLRRLLLRLLLRRLLRRRLRLRRLLRLRRLLRLLLLRLLLRRLRLRRRLRRRLLRLRRLLRLRRRLRLLLLRLRLLLRLLLRRRRLLLLRRRLRRLLLRRLLLRLLLLRLLRRLLRRLLRRRRRLRLLLRLRLLRLRRRRLRLLRLLLRRRLRRLRRRLRLRLLRRLLRRLLLLLRLLLRLRLRRRRRRRLRLRRLRLRLRLRLRRLRRLLRLRRLRLLLLLRLLLRLLRRRRLRLRRLRRLRRRRRRLRLRRLRRLRLRRLLRLLLRRRRRLRLLRLRRLLLLLLLLRRRRLLLLRRLLLRLRRLRLLLRRRLLRLRRLLRLLLRLRLRRLLRRLLRLLLRRRRLLLRLRLRLRRLLRRRLRRRLRRRRRLLLLLLLRLRLLLRLRLLLLLRRLRRRRLRLRLLLRLLLLLLLLLRRRLLRRLRRRRLLRLRLRRLLLRLLRRLLLRRLRLRRLLRLLLLRRRRLLLRLRRLRLRRRRRRRRLRLRRRLLLRRRRRRLRLLRLLLLLLLRLLRLLLLRRLLRLLRLRLLRRRLLLRRLRRRLLLRRRLRRLRRRLLRRLRLLLLRLLLRLLRLRRRRLLRRRRLRRLRLRLLLRLLLRLRRLLLLRRRRRRRRRRRLLRRLLRRRRRLRRRRRRRLRLRLLRLRLLLRRRLRRLRRRRRLRLRLRLRRRLRLRRLRLRLLRLRLLLLRRRLRLRLLRRLRLLLLLRRLRLLLLRLLLLLRRRRRLRLRLLLLLRRLRLLRLLLRLLLRRRLRRRLLRLRRRLRRRRLRLLLLLRRRLLLLRRLLLLRRRLRLLLLLLLRRLRLRRRLLRLLLRLLRRRRRLLRRLLRLRRRRLLRRRLRRRLLRLLRLLRRRRLRLLLRRRRRLRLLRRLLRLRRRLRLLLLRRLRRRLRRRRLRRRRLRRRLLRLLRRRRRRLLRRLLRLRRLRLRRLRRRLLLLRRRLRRLRRLLRRRRRLRRLRLRRRLRRRRLLLLLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRLLLLLRRRRLLLLLLLLRRLLRLRRLRRLRLLRLLLRLLLLRLLRRRRRLRRLLLRRLLLRRLLLRRRLRLRRLLRRRLRRRLLLRRLRLRRRRLRLRRLRLLRLLLRRLLLLRLRLLLLRRLLLLRRRLLLLRLRRLLLRLLLLRLRRLRLRRLLRLLRLLRRLRLRLRRLRRLLLLLLLLRLLLLLRRRLRLRRLRRLLLLLRLLRLRRLRLRRRRLLLRLLLLLRLLLLLLRLLLLLRRLRLLRLLRLLLLLRLRLLLLRRLRRLRRRRLLRRRRRRRRRRLLLLLRLLRRRLRRRRLRLLRLLLRLLLRRLLRLLLLLRRLLLLRRRLLRLRLLRRRRRLRRRRRLLRLLLRRRLRLRRRLLRRRRRLLLLRRRLLLLRRRRRLRRRRRLRRLLRRRRRLLLRRRLLLRRLRLRLLLRRLRRLRLRRRRLLRRLRLLRLRRLRLRRRRLRLLRLRLLLRLRRLLLLLLLLLLLRRLLRRLLRRRRRLRRLLRLRRLRRLRRRLLLRLRLLRLRRLLRRLRLRLLRLLLRRRLRRRLLRLLLRRRLLRRRRRLRRRRLLRRRLRLLRLRRRLLLLRLRRRLLRRRRRRLRLRLRRLRLRRLRRRRRRLRLLRLRRLLRRLLRRRRRRRRLLLLLRRRRLRLRLRLLLLRRLLLLRRRLLRRRLLRRLLRLLLLRLLLLLRRRRLLLRRRRLLRRRLRRRRLRLRLRLLLRRLRRLLRRRLRLLLLLRLRLLRLRLRLRLRRRRRRLRRLRRLRRRLRRLLLLLLRLRRLRRLLLLRLRRRRLLRRLLLLRLRLLRLLLLRRLRLRLLLRLRRLRRRLLLRRLLRRRRLLLRLLRRLRRLLLLRLRLLLRLLLRLLRLRLRRRLLRLLLLLRRRLRRRLRLRRRRLLLLRLLRRRRRLLRLLRRRLLLRRLRLLRRLLLRLRRRLRLRLLRRLLLLLLLRRRLRLLLRLRRLRRRLRLLRLLRRRRLRRLLLRLLRRLRRLRLRLRLRRLRRLLRRLLLLLLRRLRRRLLLRLLRRLRLLLRRLRLLLRRLLRRLRRLRLRRLLLRLLRLLLLLRRLRRRRLRLRRRRLRLRLRLRRLLLRRRLLLRLLLLLLRLLRLRRRLLLLLLLRLLLLLRLRRRRRRRRLRRLRRRRLLRRRLLRRLLRLRLRLRLLLLLRLRLRLRRLLLRRRRRRLLLLRRRLLRRLRLLLRRRLRRRRLLRRLRLRRLRRRRRRLRLLLLLRLRRRLRRLLRRRLRRRRRLLRRLLRLRLLLLRRLRLRRLRRLLRRRLLRRRRLRLRRRRRLRLRLRRLLRRRLLRLLLRLLRLRLLLRLLRLLRRLRLLRLLLLRLLRRRRRLLLRRLRRRRRRLLLRRLLRLRLRLRRLRLRLRRLRLRRRRRRLRRRLRRRLLLLRLRLRRRLLLRLRLRLLLRLLLRRLRRRLRLLLRRLRRLLRRRLLRLRLRRRRRLLLRRLRRRLLRRLRRLRRRLRRRLRRLRLRRLLLLLLLLRLLLLLRLLLRRLRLRLLRRLRLLLLLRLLLLRRRLLRRLRRLRRRLLRLLRRRLLRRRLRLRRLLLRRLLLRRRRLLRLRLLRLRRLRLRLRLRRRRLLRRRRLRRLRRRRLRLRRRLRLRLLLRRRLRLRLLLLRRRRRRLLRRLRRLRLRLLRLLRRRRRRLLRLLRLLRRLLRLRLRLRLRRRLLRLLLRRLLRRLLLLRRLRRLRRRRRLLRRRLLRRLLRLLLRRRRRLRRLLRLRLLRLLRLRRRLLLRLRRRRLRRRLLRLRRRLLRRLLRRRRRLRLRRLLRRRLRLLRLRLLLLLLRRRRRRRRLRLRRLRRLLLRLRLRRRRLLLRLRRLRLRLLRLRRLLRLLRLLRLRLLLRRLRLRRRRRRRRRLLLLRLLLLLRRLLLLRLLRLLRRRRRLLLLLRLLRRLLLRLRRRLRRLRLRRRLLRLRRLRRLRLLLRRRLRLRRRLRRLRLRRRLLLRRRRLRRLRLLLRRLLLRRRLRLLLLLLRLRRLRRRRRRLRRRRLRLRLLRRLRRLLRRRRLRLRLLLRRLRLRRRRRRLLLLRRRLLLLLRRLLLRRLLRRLRLLRLRRLLRRLLLRLRRRRRLRRRRLLRRLRLRRLLRLRLLRRRLLLLRLRRRRRRRRLLLRLRRRRLRRRLRLRLRRLRLLRRLRLLRRLRLLRLRRLLRLRLRLLRRRLRRLRRRLLLLRRRRRLLRRRRRLRRRLLRRLRLLLRLRRLRRRLLLRLLRRLLLRRLRLLRRLLLLLLRRRRLLRRLLRLLLRLRRRRRRRLRLLRLLLRLRRRRRLLRRRLLRLLLLLLLLRRRRLLRLRLRRLLRRRLRRRLRLRLLLLRLLLLLLRLRLLRRLLRLRLLLLLRRLLRLLRLLRLRRRRRLRLRRRRRLRRLRLRLLRRRLLLLLRRLLRLRLLRRRLLLRLRLLRLRLRRLLLRLLLRRLLLLRRRRLRLLRLRRLLRRRLRLRLLLRLRRRLRLRLRRLRRLLRRLLRRLRLRRRRLLLLRRRRRRRLRLRRRRRLRRLLRLRRLRLLLLRLRLRRRLRRLLRRRRLLLRLLRRRLLRLRLRLRLLLLRRRLRLLRRLRRRLLLLRLRRRRRRLLRRRLRLRLLLRLLLRRRLLRLLLRLLRRLRRLLLLRLRRRLRLLRRRRRRLLLRRLLLLRLLRLLLRLLLRLRRLLLLLRLRRRRLLRLRRLRLRLRLRLLRRRLLLLRRLLLRRRLLRRLRLLRRRRRLLRLLLRLLRRRRLRRRLRRRRLRLLRLRRLRLLRLLRRRRRLRRRLLRRRRRRLRLRLRRRRRLRRRLLRRRLRRRRRLLRRLRRRLRRRLRLLLRRLRRRRRLRRRRLLRRLRLLRRLLLRLRRLRLLLLRRLRRRLLLRLRLLLLLLLRRLRRLLRLRRRLLLRLRLLRRRLRRLRRRRRRLRRRRLLRRLLRRLLRLLLLLLLLRRLRLLLRLLRLLLLLRLLRLRLLLLRRRLRLRLLLLLLRLRLLLLLLRLRRLRRRLRLRRLRRRLLLLRLRLRRRRLRLRLRRRLRRLRRLLRLLRLLRRRLLLLLLRLLLRLRLRRRRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLLLRLRRRRLRLRRLRLLRLLLRLLLRLRRLLLLLRRLRLRRRRLRRRRRRLRRLLRRRRLLRRRLRLLLRLLRRLRRLRLLLRRLLLLRRLLLLRLLRRLLRLRLRLRRRLRRLRLRRLRRLRLRLLRLLLRLRRRLRRRLRRLLRRLLRRLRLRLRRRRRLRRLLRLLLRRRRLLLRLLRLLLRRRLRRRRLLLLRRLLRRRRLRRLLRRRRRRLRLLLRRRRRLLLLLLLRLLLRRRLLRLLRRLLLLLRLLLRLLLRRLRRLLLRRLRLLLRRRLRRRRRLRLRRLRRLLRRRRLLLRLRRRRLLLLRLLRLRLRRLRLRRLRLLRLLRRRLLLLLRLLRLLRRRRLLRRRLRLLRRLLLRRRLRRRLRRLRLLLRRLLLRLLRRLLRLLLRRLLRLRRLRRRLRLLLRLRLLLLRRLRLLLRLRRLLLLLRRLLRRLRLRLRLLRLLRRLLLRLRRLLLLLLRRLRLRLLRRRRRLLLLLRRLLRRLLLLRLRRLLLLRRRRRLRLLLRLLLRLRLLRLLRRRLRRRRLLLRLRLRLLRRRRLLLLRRRLLLRRRRLLRLLRLLRRRLRRLRRLRRLLLLRLLRRLLLRRRLRLLRRRLLLLRLRRLLRLRRLRLRLLRRLLRRLLLLRRLRLLRLRRRLRRRLLRRLLRRLRLRRRLRLRLLRRRRRLLLLLRLLLLLRRRRLRLRRRRRLRRLLLRLRRLLRLLLLRRRRLRLLRLLLRLLLRLLLLLLRLLLRRRLLRLLLLRLLRLRLLLLLLRLRLLRRRRLLLRRLLLLLRLLRLRLRRRRLRRRLRRLLRRLRLRRRRRLLRLLRLRLRRRRRLRLRLRRRLLRLRRLRRRLRLRLLRLRLLRRLLRRRRRRLLRRLRRRLLRLRLRRRLLRLRRRRLRRLRLRRRRLLRRRLLLRLRLLRLRRLLLLRLLRLRLRLRRLLLLLRLRLRRLRLRRLLLRLLLRRRRRRLLLRLLRLRRLRRRLLLRRRLRLRLLLRRRLLLRRRRRLLRRRLLLLLLLRRRRRRLRRRLLLLRRRRRLRRLLLLLLRLRLLRLRRLRLRLRLRRRLLLLRRRLRLLRLLLRRRLRLRLLRRRLRRRLLRLLRRLRRLLRLRRLLLLLRRLRRRLLRRLRLLRRRRRLLLLLLLRRRRLLLRLLRRLRLLLLLRLRRLLRLRRLRRLRLRLLRLLRRLLRLLLLRRRRRLLRLRLLLRRLLLLLLLRRRLLLLLLRLRRRLRLRRLRRRRRLLLRRLRLRRLLLLLRRRRRLRRLRRLRRLRRRLRLRLRRRLRRRRLLLLRRRLLLRLRLLLLLRRRRLLLRLRLRLLRRLLLRLRLRLRRLRLRRLRLRLRLRLLLLRRLLRRRLRRLLRRRLRLLRLLRLRRLRRLLLRLRLLRLRRRLRLLRRLLRLLRLLRLRRLLRRLRLRRLLLRRLLRLLRLRLRRRLRRLRRLLRRLRLRRLRRRRRLRLLLLLLLRLLRRRLLLLLRRRLLRRRRRLLLRRRRRRLRRLLLRRRRLLRRRLLLRLRLRRRLRRLRRRLRRRLRLRLLLRRLLLLRRLLRLLRLRLLLLLRRRRRLRRLLLLLLRRRLRRLRRRLRLRLLRLLRLLRRLRLLRRLRLLLRLRRRRRLLLRLLRLRRRRLRRLLLLRLRLRRRRRLLLLLRLLLRLRLLLLLRRRLLRRRLRRLRRRLRLLRLRLLRLRRRRRRRRLRLRRRLRRLRLLLRLRLLLLRLLLRLRRRLRLLRLRLLLRLRLRRLLRRLLRLRRRRLRRRLLLRLLRRLLRLLLLLLRLLLLRRRRRRRRRRRLLLRRLRRRRLLLRLLLRRLRLRLLLLRRLLRRLLRRRLLLLRLRRRRRRRRRRRLRLRRLLRLLLRLLLLRRRLRRLLRLLRLLRLLRRLLRRLLLRRLRLLLLLRLLLRLLLRRRLRRLRRLLLRLLLLRLLLRLLLLLRLRRLRLRLRLLLLRRLLLRRLRRLRRLLLLRRLLRRLLLLLLLRLRRRLLLRRLRLLRLLLRRLLLLRRLLRRLRLLLRRLRLLLRRRRRRLLRRRLLLLLLLRLRRRRLRLRLRLLLRRLLLRLLRRLLRRLLLLLRLRRLLLRRLRRLLLLRRRRRLLRLLLRRRRRLRRLLLRLRRRRRLLLLLLLLRLLRLLRLLRRRRRRLRLRLLLRRRRLRRLRLLLRLRLLRRLLRLRLRLRLLLRRLRRLRRRLLRLRRRLLLLLLLLLLLLLLRLLLLLRRLRRLLLRLLRLRLLLRRLRRRRLLRLRRRLRLLRRLLLLLLRRLRLRLLRLRLRLLLLRLLLLRRLRLLLRLRLLRLLRRRRRLLRLLRRRRRLLLRRLLRLLRRRRLLLLLRLRLLLRLLLRRLLRLLLRRLRLRLLLLRRRLRRRRLLRRRRLLLRRLRRLLLLRLLRLLRLRLRRRLRRLLRRLRLLLLLLRRRRRRRRLLLRLLRLRRRLRLRLRRLRLLLLRLRLLRLLLRLLLRLLLRLLRRRLRRRRLRRLLLRLLLLLLRRLLLRLRLRRLRLRLLLLLLRLLLRRRLRRRLRRRRLRLLRRLRLRLRRLRRLRRLLRLRRRLRRRRLRRLRLLRRRLLRLRRLLLRLRLLRRLRRLLLRRLRRLLRLLRLLRRLLRRLRLLRLRRLRLLRRRRRLRRLRLLLLRLLRLLRLRRRRLLLRRRRRRRRRRRRLLRRLRRRLRRLRRLRLRLRRLLLRRLLLLRLRLRLLRLRLRRLLLRRRLLLRLLLLLLLLRLRLLRRRLRRLRRLLLRLRRLLLRRLLRLRRLLRLLRRLLRRRRRLLRRRRRLLRRRRRLLLRRLRLRRRRRRLLRLLLRRLRRRRLRRRRRRLLRLRRLLRLRRLLRRLLLRRRRRLRLRLLRLLLRLLRRRRLLLRRLLRRRRRLRRLRLLRLRRRRRRLLRLRLLLRRRRLLLLLRLLRRRRRLRLLLRLRRLLLLLRLRLLLRLRRLLRRRLLLLRLLRLRLLLRRLLRLLLLRLLLRRLRRLLRRLLLRRRLLLLRLRRLLLLLRLLLRRRRLLRRLRRLLRLLLLRRLRRLLRLLRLLLLRLLLRRRRLLLRRLLRLLLRLLLRLLRRLRLRRLLRRRRRRRRLRRLLLRRRLLLRLRRLRRLRLLRLLLRRRRLLRRLLLLRLRRLLRRLLRLRLLRLRLLLRRRRLLRRRRRRLRRRLRLLRLLRLRRRRLRRRRRLLRLLLLRLRRRLRRLRRRRLLLLRRLLLLRLLLLLRRLRLLLRRRLRRLRRLLLRRRLLRRRLLRLRLLRRLRLLRRLRRLLRRRRRRRRRRLLRLLLLLLRLLLRLRRRRRLLRRLRLRLLRLRRLLRLLLLRLLLLRLLLRLLLLRRLLLRRRRRLLRLLLLLRRRLRLRLRLLRRRRLLLLLRRRRLRLLLLRRLLLLRLRRRLRLRLLLRLRRLLRRRRRLRLRRRLRRRLLRRRRRLRRRLRRRLRLRRRLLLLLLLLLRRLRLRRLLRRLLRLLRLLRLLLLRRRRRRRLLRLLLRLLLRLRLLRLRRRRRLLLRRLRRLLLLLLRLLLLRLRLLLLLRLRLLRRLLRRLRLLLRRRRLRLLRLRLRLLLLRRLRLLLRRLLLLRRRLLRRLLRLLRLLLLRRLRLRRLRRRLLRRLRRRRRRRRRLRLLLLLLLRRRRRRLLRLRRRRLRLRLLRLLRRRRRRLRRRLRRLRRLLLRLLLLLLRRLRRLLLLLRLRLRRRLRLRLLRLLRRLRLLRLRRLRRRLRRRRLLRLRLLLLRLRRLLLRRRRRRRRRRRLLRLLLRRRLRRLLRLLRRLLRLRRLRLRRRLLLLLLLRLRLLLRLLLRLRLRRLLLLRRRRRLLRRLRLRRRLRRLLRLRLRLRRLRRLLLRLRLRRLLRLLLRLRLLRRLLLRLLLLLLLLRLLRRLLRRRRRLRLRRLLRRLRLLLRLLLRRRRRLRRLRRLLRRLRRRRRLRLLLRRLLLRRRRLRRLLRLLLLLRRLRRLLRLRLRLRRRLRLLRRLRRRLRRRRLLLRLRLLRLLLLLRRLLLRLRLLLRRRRRLRLLRLRLRLLRLRLRRRRRLRLLLLLLRRRLRRRRRLLLRLRRLRLRRRRLRRLLLLLLLRLLRRRLRLRRRLLRRRRRLLLRLRRLRRLLLRRLRLLRRLRRLRRRRRLRRLLLRRRRRRRRRRRRRRRLRLRLLLRLRRLLLRRLRRLRLLRRLRLLRLRLLRRLLRRLRLRLLLRRLLLLRRRLRLLLLRLLRRRLLLRRRRLLRLLLLRRLLRLRRRLLRRLLLLLLLLRRLLRRRLRLRLRRLRRRRLLRLLLRRLRRRLLLRRLLLRLLRLRRRRRLRLRRRRLRRRLRLLRLLRLLLLRRLRRLRRRLRLLRRRRLRRRLRLLLRRLLRLRLRRLRLRRLLLRRLRLRRRRLLRRLRRLLLRRLLRLRLLLRLLLRRLRRRLRRLLRRRRRRRLRRLLRLRRRLRRLLRRLRLLRRLRRRRLRLLRLRRRRLLLLLRRRRRRLRLRRRLLRLLRLRLLRRRLLLRLRLLLLLLLLRLLLRLLLLLLRLLLRRRRLRRLRRLLLRRLLRRLRRRLLRRRRLLLRLLLLRRLLRLRLRRLLLRRLLLLRRLRRRRLLRRLLLRLLLLRRRLLRRLRRRRLLRLRLLRLLLLLRRRLRRRRLRLRLLLRRLLRLRLRRLLRLRRLRRRRRRLRLLLLRRRRRLLLRLRRRLLLLRLRLLLLLLRLRLLRLRRLRLLRRLLLLRRRRRLRLLRRRLLRRRRLLRLRRLLLRLLRRLRRRRLLRLLRLLLLRLLLRRRLLLLLLRRLLRRLLRLLRLLRLRRRRLRRLLRRRLRLLLLLRRRLRLRRRRLRLRRLLRLRLLLRLRLLRLRRRRRRRLLRRLLRLRLLRRLLRRLRRLRLRLLRRRLRRRRRLRLRLRLLLRLLRRLRRRLRLLLRRRRLRRLRLLLLLRRLRLLRLLRRRRLLLRLLLLLRRLRRRLRRRLLRRRLLLLRLRLLRRLLLLLLLRLRLRLLLLRRLRRRRRLLLRLLLLRLRRRRRLLRRLLRLLLRRRRLRRLRLLRLLLLRLLRRRRRRLLLRLRRRLRLRRRLRRRRRLRRLLLLRRLRLLLRRLRRRLRLLRLRLLLLLLLRRRLLLRLLLRLLRLRRRRLLLRLLLLRRRLRRRRLLRRRRRRRRRLRRLRRLRLRRLLRLRRLRLRLLLLRLRLRLLRLRLLRLRRLRRRRRLRLLLLLRRRLLLLLLLLRLRLLRLLLLRRRRLRLRLRRLLLLLLRLLRRLRRRLLLRRLLLRRLLLLRRLRLLRLLLRLRRRLLLLRRLRLRRLRRLLRRRRLLRLLLRRLLRLRLRLLLLRRRRRLRRRLLLLLLRRRRLRRLLLRLRRLLLRLLLLRLLLLLLLRRRLLRLRLLRLRLRLLRRLRLLRLRLRLRLLRRLLRLLLRLRLRRRRLRRRLLLRRRRLLRLLLLRLLLLLLRLRRLRLRRLLRRLRLLRLRRLRLRRLRRRRLRRLLRRLRRRRRRRRLLRLLRRRRRRRRRRRRLLRRLLLLLLRRLLRLLLLRRLLLRLLRRLLLLLLLLRLRRLRRRRLLRLRLLRRRRLRLRLLLRRLRLLLRLLRRLLRRRRRRRLRRRLLLRRLRRRRRLLLLRLRLLLLRLLLRLLRRRLRRLRLRRLRRLLRLRLLRLLRLRLRRRLRRLLRLRRRLRLLRLLLLRRRLLLRLRRRLRLRRRRRRLRRLLRLRRLLRRRLLLLRRLRLLRLRLLLRRLRLRRLRLLRRRRLRRRRRRLRLRRRLLLRLRLLLRLRLRLRRLLLRRLLRRLLLLLLRRRRLRLRRRRRRLRLRLLRRLRRLRRRRRLRLRRLRRLLRLLLRRRLRRLRRLLLRLLRRRRLRLRLLLLLRLLLRRRRLRRRRRLLLLLRLLLLRLLLLRRRRRLRRRRRRRLRLLLRRRLLLLLLRLRRLLLRLLLRRRLRLRLLLRLRRLRLRRRLRLLRLRRLLLRLRRRRRRLRRLLLRLRRRRRLLRRLLRRLRRLRLLLLRLRLRLRLRLLLRLLRLLLLLLRRRRRLRRRRRRRRLLLRRLRLRRLLRRLRRRRLLRLLRLLLRLLRLLRLLLRRRLRRLLLRLRRRLLLRLRLRRRRRLRLLRLLRLLLRLLLRRRRLLLRRLRLLRRLRRRLRLRRRRRRLLRLRRLLLLRRLLRRLLRLRRLLRRLLLLRLLLRRRLRRLRLLLLRRLRRLRLRLRRRRLRLLLLLLLLRLLRRLRRRLLRRLLRRLLRRRRRLLRLLRRRLLRLRRLLLRRLLLRRRRLRLRLRRLRRRRLRLRLLRLRRRLLLRRRLRLRRLRLRLLLLLLRLLRLRRRRLLLRLLLLLRRLLRRRRRRRRRLRRLLLRRRLRRLLLLRLLRLRRRLRLRLRLRRRLRLRRLLLRRLLRRLLLLLRLLRRRLRLLRRRRLRRRRLRRRLRLRLLRRLRRRLLLLRLLRLLRRLRLLRRRRRRRRLRLLLRRLRLRRLLLRRLRLRRLRRLLRRLLLLLRRLRRLRRRRLRRLLRRLRRRRLRRLLLLLLRLRRLRRRLRLLRRLRLLLLLRRRLLRLRLRLLLRLRRRRLRRRLLRRLRLLRLRLRRLRLLRRLLRRLLRRRLLRLRRRLLLRLLRLRRRRRLLLRLLLRRLLRLLLRRLRRRRRLLLLRLRRRLLLLLLLRLRRRRLRRRLLLLRLLLRLRLRRRRLRLRRRLRLLLLLRLRLLLLLRLRLLLRRLRLLRLLRLRRRRLLLRRRLRRLLLLRRLRRLRRLLRRRLLRRLRRRLLRRRRLLRRLLRRLLLLRRRLLLLRLRLRLRRRLLLLRRRRRLRLRRRRLRLLLLLRLRLRLRLRRRRLLRRRLRRRLLLRRRRRRLLRRLLRRLRLLLLLLLLRRRRRLLLLLRLLRLLLRRRLRRRRRRLLLLLLRRLRLLRLLLLRRLRRLLLRRRRLRRRLLRRRLRLRLLRRLRLRRRLRLRLLLRRRRRRRRRLLLLLRRLRRLLLRLRRRLRLRLLRRRRLLRRRRLLRLLRLLLRLRRRRLRRRRRLRRRLLRLRRLRRRLRRLRRRRRLLLLRRRRLLLRLLRRRRRLLRLRLLRLRRLLRRLRLRRRLLRRRRLLRLRLRLLRRLLLLRRRRRLLRLRLRLLLLRRLLRRLLLRLRRLLLRRLLRRLLRLLRRLRRLRRLLLRRLRLRRRLRLLRLLLRLLLRRLLLRLRRRLRLRLLLRRRLRLLRRLRRLRRLLRLLRLRLRRLLRRRLLRRRRRLLRRLRLRRLLLLRRLRRLRRLRRRRRLLLRRRLLLRLLRLRRLLRRLLLRLLRLLLRLRLRLLRRRLRLRRLRLLRRLRLRLLLRLLLLRLRLLLLRLRRRLRLRLLLLRLRRRRLRRRLLLRLRLLRLLRRLRLLLRLRRLRRRRLRRLRRRLLLRRLRRLRRLLRLLRRRRLLLRRRRLLRRRLLRRLRRRLRLRLLRRRLRRRLLLRRLLLRLRLLRLLLLLLLRRLRLLLRRLRLLLRLRRLLRRRRRLLRRLRRLRLRRLLLRLRLLRLLLRLLRLLRLRLLRLLLLLLRRRRLLLLRRRRLLLLRLRRLLLRLLLRRRLRRRRLLLLLRLLLRLLRRLLLRRRLLRRLRRRRRRRRLRLRLRLLLLLLLLRRLLRRLLLRRLLRLRLRRRRLLLLRRLLRLLLRLLRLLRRRRLLLRRLRRLLLRLLRLRRRLRLRRRRLRRLRRRRRLLRRLLRRRRLRRLRLLLLRRRRRRRLLLLRRRRLRRLLRRRRLRRLLRRLLLRRRLRLLRRRRRLLLRLLRRLLRRLRLRLRLLLLLLRLRLLRLRLLRLRLLRLRRRLRRLLLRRLRLRLLLRLLLRRRLLRLLLRRRLRRLLLRRLRRRRRRRRLRRRRLRLLRRRLLLLLRRRLLLRLLLRLRRRLLLLLLRRLRRLRLLRLRLRLRLRLLRRLRRRRRLRLRRLRLLRRLLRLRRRRRLRRLRLRLRRRRRLRRRLRRLRRRLLRLRRLRLRRLLRRRRLLRRRLRRLRRRRRLLLLRRLRLRRRRRLRRLLRRRRRLLRRLLRRRRLLLRLLLRLLLRRLRLLRRRRLLRRLLLLLLLLRLLRLRLLLRRRLLRRRLLRLLLRLRRLLRRLRLLRLLLRRLLRRLRLRRRRLLRRRRLRRRRRRLRLLRRRRLRRLRLLRLLLLLRRRLRRRRLLRLRLLRRLLRLRLLLLRRRRRRRLLRLLLRLRLLLLRLRLLRLLLLLRLRRLLLRRLLLLLLLRRRLLLLRLRLLLRRLRRRRRRRRLLRLLLLRRLLLRRRLLLLLRLRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLRLRLRRRRRRLRRRRLLRLLRRRLLLLRLRLRLRRRRRLLRRLLRRRRRLLLRRLRLRRRRRRRLLLLLRRRRRLRRLRLLRLRLRLLRLLLLRRLLRRLLRLLLRLRRLLRRLLRRRRRRLLLRLRLLLLLLLRRRLRRLRRLLRLRLLRRRRRLRLRRRLRLRLRRLLLRRRLLLRLRLLLLRRLLRRRRLLRLRRRLRRRRLRLLLRRRRRRLLLLRLLLRRLRLLRRLRRLLLRRLLLLLRRLRLLLRLLLRLLRRRLRRRLLRRLRLRLRRRLLRRRRLRRRLLRRLLLLRRLLLRRRRRRLLLLRLRRLLLLRLLLLLLLRLRLLRRLLLLLLRRLRRLRRRRRLLLRLRLLLRLLLRLRLRLRLRLRLLLLRRRLLRLRRRLLRRRRRRLLRRRRLRRRLRLLRRLLLLRLRRLRRLLRLRRLRLRRRRLLRRLRRRRLLLRLLRRLRLRLRRLLLLRRLLLRLRRLRLRLRLLLLLLRRLRRLLLLLLRRLLLLRRRLRLRLLLLRLRRRRLRRLRRRLRRRLRLLRLLRLRLRRRRRRLLLLRRRLLRLLRLLRLRLLLLRRLRLLLRLRRLLLLRRLRLRLLRRRLRLLRRRLLLRLRRRLRLLLRLRLRLLRRLRRLLLLRRLLLLLLLRRRLLRRLRRRRRRLRLLRRLRRLRLLLLLLRLLLRLLRLLLLRRRRLRLRLRLLLRRLLLLLRRLLRRRLLRRRRRRLLRLLLRRRLLLLLLLLRLRLRRLRLRLRLLRLLRLRRRLLLLRRRRLRLRRLLRRRLRLLRLLLRLRLLRRRLRRRLRRLLRLLRLRRRRRLLLRLRLLLRRRRRRRLRLLLRRRRRLRLLRRLRLLRLRRRLLRRLLRLRLRRLRLLLRRRRLLRRLRRRRLRLRLRRLRRRRLRRRRRLRRRLRLRRRLLRLRLLLLLRLLRRRLRRLRLLLLLLLRLRLLRRLRLLLRRLLRRRRLRLLRLLLRLRRLRRRLRLLRRRLLLLRLRRRLLLRRRRRLLLRRRLLLLRLLLRLRRRRRLLLLRRRRLLLLRLRRLRLRLRLLRLLRLRLRLRRRLRLLLRLRRLRLLLLLLLRRLRLRLLLRRLLLRLLRLLRRLRRLLRLRRRLLLRRRLRRRRLRRLRLLRLRLRLLRRRLLLLRRLLLRLLRRLLLLLLRRLRRLRLRRRRRLRRRRLLRLRRRLLLLLLLRRLRLRLRLLLRLRLRLRRRRRRRRRLLLLRLLRRLLLLRRRRRRRRRLRRRLLLRLLLLRLRLRRRLRRLRRLRLRLRRLRLLLRLRLRRRRLLLLLRRLLRLRRLRLLRRRRLRLRRLRRLLLRRLLLLLRLRLRRLLLRRLRLRLRLRRRRRRRLLRLRLRRLLRRRLRLLRRLRRRLRRLLRLRLRLLLLRRRLRLLRRRRRLLLRRRRRRRLRRRLLLLLLLRRRRRRLRRRRRRRLRRLRLLLLRRLLLRRRRRRRLRLRLRLLLRRLRRRLLLLLRRLLLRRRRRLLLRRLLRRLRRRLLRRRRLRLRRLLRRLLRLRRLRRRRLRRRRRLRLRRRLRRLLLLRRLLRRLRRRRLRRLRRRRRLRRLLRLRRRRRLLRRRLRRRLRLLLLLRLLLLLLLLRLLLLLLLLRLLRRRLRRLRRRRLRRRRLLLLLRRRLRRRRRRRLRRRLLLRRRLLLLLRRRLLRRRRLRLRRLLLLRRLRRRLLLLRRLRLRRRLRRRLLRLRLLLRLRLLRLRRRRRLRRRLRLLRRRLLLRLRLRLRRLRLRRLLRLRLRRRRLLRLRLRRLRLLLLLLRRLLRRLRLRLLRRLLRLLRRLRRRLLRLRLLLLRLRRRRLRLRLLLRRLLRRRLLLLRLRRRRRRRRLRRRLRRLLLRLRLLRLRLRRRLRLRLRLRRLLRRRRRLLRRLLLRLRRLLLRRRRRRRLLLRRRLRRRRRRLRRLLLLRLLRLLLLLLRLRLLLLRRRLLLRLLLRLLRRRLLRRLLLLRLLRLRLLLLLRRRRRRLRRLRRLRLLRRLLRRLLLLRRLLRRLRLRLRLRRLRLRRRRLRLLRRRLLRLRLLRLRLRRLRLRLRRLLRLRLLRLLLRRLRRLLRRLRLRRLLLRRLRRLLRLRRLRRLLRLLRLRRRLRLRLLLRLRRRRLRLLLLRLLRLLRLLLLLRLRRRRLRLRRRLRLLRLRLLRLLLRLRLLRRLLRRRLRLRRRLRLLRRRRRLRLRRRRRLLLRRLLLLLLLRLRLLLLLRRRRRLLRRLLRRRLLLRRLRLRLLLRLLRRLRLRLRLLLLLLRRLLLRLLRLLRRLLLRRLLLLRRLLLRLRLLLLRLLRRRRLLLLLLRRRRRLRLRRLRRRLRLRRRLLRRRLRLLLRRLLLRRRLLLLRRRRLLLLLLRRRLRRRRLRRLLLLRLRRLRRLLLLLLRRLLLLRLRRRLRLLRRRRRLLLLLRRRRRLLRRLLRRLRRLLRRRLLRRLRRRLLLLRRRLLRRRLRLLRRLLLRLLRRRRRLRRLRLLRLRLRRLRLLLLLLRLRRLLRRLRLRLRLLLRRLLLRRRRRRLLRRLRLRRLRRRRLLRRRRLRRLLLLRRRLLLLRLRRLRRLRRLLLRLRLLLLRRRLLRRLRRLLRLRLLRRLRLRRLLLRRLRRLRLLRLLRLRRRRRRRRLRRLRLLRLRLLLLLRLRRRRLRLRLRRRRRLRRLRLLRRLRRRLLLLRRLRLRLLRRRLRLLLLLRLRLRLRLLRLRRLRRLLRLLLRLLRLLLRLRLLRLRLRLLRRRRLLRRLRRLLLLRLRRLLLLLRLRRRLRRRLRLLLRRRRRLRRRRRLLRRLRLRRRLRRLRLRRLLLRRLRRRLLLRRRLRLLRLRRLLRLRLRLLRRRLRRLRLRLLLRLRLLLRLLRRRRLLLLLLLRRRLRLRRLRRLRLRRLRRRRLRLRLLRRLRRLLRLRRLLLRRRRLRRLLLLRRRLLLLLLLRLLRLRRLRLRLRLLLLLLLLRRLLLRLLRLLLLRRLRRLLRLLLLRRLLRRRLLLRRLRRLLRLLRLLLLRRLLRRRLRRLLRLLLLRLLLLLLRLLRLLLLRRLLLRRRLLRRRLLLLLLLRRLRRLRRLRLLRRLRRRRRLLRLRRLLLRRLLLLLLRLLRLLRLRRLLLRRRRLLLRRLRLLLLRRRRLRRRRRLRRLLLLLRRRRLLLRRRRRLRRRLRRLLLLLLRLLRLRRRRRRLRLLLRRLRRRLRRLRRRLRLRLRRLLLLRLLLRRRRLRLLLRLRLRRRRRLRLRRRRLRRLLLRLLRRRRLRLLRRLRRLLRRRLRRLRRRLLRLLLRLLRLLRRRRRRRRLLLRLLLRLLRRRRLRRLLLLRLRLLRRLLRLRLLRRLLLRRRRRLLRRLLLLRRRLLRRRLLRRRRLLLLRLRLRRLRLLRLRRLRLRRLRLRRLLRLLLRRLRRLLRLRRLRLRLRLRRRLLRRLRRLRRLLRRRRRRRLLRLLLLLLLRLRLRLRRLLRRLLRLRRRLLLLLLRLRRLRLLRRLLLLLLLRRRLLRLRRLRRLRLRRLRRRLLLLRLLLLLLRRRRLLLRLRRLRRLLRRLRLLRRRRRLRLLLLRLRLLRLRRLRLRRRRRLRLRRRLLRRLRRLRLLRLLRRLRLRRLRRRLRRRLLRRLLLLRLLRLRLRLLLRLRRRLLRLLRRRRRRRRLRRLRRLRRRRLRRRLRRRLRLLLLLLRLLRRRLRRLLLRLRLRLRRRLRLLRRRRLRRLRLRRLRRLRLLLRRRLLRRLRLRLLRRRLLLLRRRRRRRLRRRLLLRRLRLLRRRRLLLLRLLRRRLLLRLRRRRLLLLLLRLRLLLLLRLLRRLRRLLLLRRRRRLLLRLLLLRRLRRRRLLRRRLLRLRRLLLLLRRRLLLRRRRRLRLLRRLRRRLRLLRLLRRLRLRLLRRLLLLRRRLLLRRRRLRLRLLLRLRRLLLRLRLLRRLLRRRLRRLRLRRRLRLLRRRLRRRLRRLLLRLRLRRLRRRRRRLRLRLLLLRRLRLLLRLRRLLLRLLLLRLLLRLRRLRLLLRRLLRRLRRLRRLRLRLRLLRRRLRRRRRLRLLLLLRLRLRLRRRRLLRLLRRLRLRLRRLRRLRRLLRLRLRRLRLRLRLRLLRRRLRLLRRLRRLRRLRLRLRRLLRRLRRLRRRRRLRRRRLRRLRRRRRRRRRRRRRRLRLLLRLRRLLRRRLRRRRLLLLLLLLRLRLLRRLLRRRRLRRLRRLRLLRRLRRLLLRLRLLRLRLLLRLLRLLLLLLRRRRLRLLRRLLRRLLLRLLLLLRLLRRLLRLRLRRLRLRRRRRLRLRRLRRRLLLRRRRLLLRRLRLLRRRRLRRRRRLRLLLLLRLLRLLLLLRLLRRLRRRRLLRRRRLRRRRRLLLLRLLRLRRRRLLLLLRLLRRRLLLRLRLLRLLRRLRLRRLLLRRLLLRRLLRRLRRRLRRLLRRRLRRRLLRLLLRRRRLLRLLRRRRLLRRLRRLRLLLRRLRRRRLLRLRRLLRLRLRRRRRLLRRLRLRLRRRRLLRRLRLLRLLRLLRLLLRLLLLRLLLLLLLLRLRRLRRLLLLLLLRRLRLRLLRRLRLLLRLLRLRRLRRLRRRRLLLRRLLLLRRRRRLRLLRRLLLRLRRRRRRRRRRRRRRRLRRLRRLLRLLLLRRRRRRRRRRLRLLRRRRRRLRLRRLRRLRRLLRLRRRLRLLLLRLRLRLLLLLLLRRLLLRRRRLLLLLRLRLRRLRLLRLLRRRLLLRRLRRLLLLRLRRLRRRRLLRRRRLLLLLLRRLRRLRLRRLRRRLLLRRLLLLLLLLRLLRRLLLRRLRRLRRLRLRLRLLRLLLRRRLRLRRLLLRRRLLRRRRLRLRLRLLRLLRRRLRLLLLRRRRLRRRLRRLLRLRLLRLLLRLRRRLRLRLLRRRLRRLRRLRLLLRRLLLLRLRRRRRRRLRLLRRRLRRLRRRRLRRRRRLLRRLRRRRLLLRLLLLLRRRLLLLRRRLLRRRLLLLLLRRLRLLLRRRLLLLRLRLLRRRLLRLRLLLLRRRLLLRRRLLLRLLRRLLLLLLRRRRLRRLLLLRRLLLRRRRLRRRRLLRRLRRRLRLRRLRRRRRRLRLLLLRLRLRLLLRRLRRRLLLLRLRRRLLLLLRRLLLLRLLRLLLRLRRRLRLLRRLLRRRRLRRRLLLRLLRLLRRRRRRLLLLLLRRRRRLRRLLRLLRLLLRRLLLLRLRRLRLLRLRRRRLLLLLLLLRRRLLLLRLRLRLLLLRLLLRRLRRLRLRRRRLRLLLLRLLLLLRRRLLRRRLLLRRLLLLRLLRLLRLLLRLRRRLRLLRRRRRRLLLRLRRLRRLLLLLLRRLLRRRLRRRLLRRRRRLRLRRRLRLLRRRRRRRLRLRLRRLLRLLLLLRLLLLLLLLRLRLLLRLLRLRRRLLRRLRLLRLLLRLRLLLLLLRRLLRLRRRRRRLRRRLLLRRRRRRRLLLLRLLLLRLRLRRLRLRRLLRRRRRRLLRRLRRLLRLRRLLLRLLRLLRLRLRRRRLLRLLRRLRRRRLRLRLRLRRLLLLLRRRLLRLRLLRRLRLRLLLRRLLLLLLLRLLRLRRRRLLRLRLLRLLRLRLRLLLLLLRLRLRLLRLRRRRLLRLRLRRRLLRLRLRRLLRLLRRRLRLLLLLRLLRLLRRRLRRLRLLRLLRLLLLRLLRLLRRLLLRLLRRLRRLRRRRLLLRRLRRRRRRLLRLRRRLRLRRRRRLRRLLLRLRRLLRRLLLRLRRRLRLRRRLLLRRLLRLRLRLRRRLRRRLRRRRRRRRRRLRLRLRLLLLLRLRLLRRLLRLLLRRRLRLLLRLRRRRLRRLRRLLRRRLRLRLRRLRRLRRLRLRRLLLLRRLRRRLRLLRLRRLRLRLLLLRRRLRLLRLRLRRLRRRRRLRRRRRLLLLRLRRRLRLLRLRRLRRLRRRLRRRRLLLLLRRLLLRLLRLRRLLLLLRRRRRLRLRLLRRLLRRRRRRLLRRLLLRLLRLRLLLRRRRRRLRRLRLRLRRLRLRRRLRRLLRLRRLLLRLRLRLRRRLRRRLLRRLLLRRRRRRRLLRRRRRRRRLLLRLRLRRLLLRLRRRRLLRLLRLRLRLLRRLRRLLRLRLRRRLLRLRRRLLLLLLRRRLRRRRLLRRLLLLLRLLLRLLRRLLLLLRRRLRRRRLLLLRRLRLRLLLRRRLLLLRLLLRRLRRLRLLLRRLLLLLLLLLRRRLRLRLLLLRRLLRLLLLLRRLRRRLLRLLLLRRLRLLLRRLLRRLLRRRLLRRRLRLLRLRLRRLLRRRRLLLRRLLRLRRRLRRRRRRLLRRRLRLLLLRLRRRRLLRRRLRLRRRRLRLRLLLRLLLLRRRRRLLLRLLLLLRRLLRRLLRRLRLRRRRLLRLRRLLLLRLRLLRLLRRLRLRLRRRRRLRLRRLRRRRLLRLLLRLLRLLRLRRRRLRRRLLRRRRRRRRLLLRLRRRLRRRLLLRRRLRLLRRLRLLRRLRRLRLLRLLLRRLRRLRLRLRRRRLRRRLRLLLLLLLLLRLLRRLRRRRLRRLLRLLRLLRLRRLRLLRLRRRRLRLRRRLRLLRLRLLRLRRRLLRLRLLRLLRLRRLRLRRRRRLRLRLRRLRRLRLLLLRLLLLRLLLLLLRLLLRRLLLRRLRLRRLRRLLRLLLLRRLLRRLRRRRLLRRRLLLLRRRRRRLLLLRLRLRRLRLLRRLLLLLLLLRLLRRLRLLLLRLLRRLLLRLRRRLRLLRRLRLLLRRLRRLRRLRLRRRLRLLRRRRLRLLLLLRRRLLRRLLRRRLLRRRRRLRRRRRRLLLLLRRRLLLLLRRLLLLRLRLRRLRRLLLLRRRRRLRLRRRRLRLLLLLLRRLRLLLRRRRLRLRRLRRLRRLRRRRRRLLRLLRLLLLLLLLLLRLLRRRRLLLRRLRLRLRLRRRLRRRRRLLLLLLLRRLRLLRRLLLLRLRLRLLRLLRLRRLRLRRRLRRRRLRRLRLRLRLLLRRLLRRLRRLRRRLLLLLRRLRLLLLRLLRLRRLLLLRRRLLLRRLRRRRLLRLLLRRRRRRLRRRRRLLRRLLRLRRRRLRRRLLRRRRRLLRRRRRRLLLRLRRRLLRLLRRLLRRRLRLLRLLLLRRRLLRLRLLRRLRLRLRRLLLLRRRRRLRRRLRLRLRLLRLRRRRRLLRLRRLLLRRLRLRLRRLLRRLRLLRRRRLRRLLLRRLLRLRRRLLLLLRRRLLLRLRRRLRLRLRLLRRLRRLRRRRRLRLLLRLLRLRLRLLRRRLLLLLRRLRRLRLLLRRLLLLLRLRRLLRLRLRRRLLLRRRRLRRLRRLRRLRLLLLLRLRRLRRLLRRRLRLRRLRRRRLRLLRLLRRLLLRRRLLRRLRLRLRLRRRRLRLLLLLLRLLRRRRRRRRLRRRLLLLLLRRRRLLLRRLRLRRRRLRRRRRRLRLRRRRLLRLLLRRRRRRLLRLRRRLLLRLRLLLLRRRRLLLRLLRRRLRRRLLLRRLRLRLRRLRLLLRLLLRRLRLRLRRLRLLRLLRLLLRRRRLLLRRLRRRRLRLLLRRLRRRLLLRRLRRLLRLRRLRLLLLLLRRLRLLLLRRRRRLLRLLRRLRLRLLRRLLLRRRLLLRLRLLLLRLLRRLLLRRRLLRRLRLRLRRLLLLLRRRLLLLLLLLRLLRRRLLLLRLLRLRLRRRRRLLLLRRLRLRRRLLRLLRRRRLLLRRRRLLLLRLLRLRRRLRLRLLRLRRRLLRRLLLLRLLRLRLRLLLLRLLLRLLRLLRLLLLRLRRRLLLRLRLRLRRRRRRRLLLLLRRLLRRRLRLLLRLLLRLLRRLLRLRRRRLRLLLLRLRLLRLLRRRLLRLRLRLRRRLLLRRLLLLLLRLLRRLLLRLLRLRRRLLRLLLRRLLRRRRRLRLRRRLLLRRRLRLRLRLRRRLLLLRLLRLLRRLLLLLLRRLLRLLLLLLRLRRLLRLLRLLRRRRLLRLRRLRLLLRRLRRLLRRRLRLLRLRLRRLRRLRLRRRLLRRRLLRLRRLRLRLRRRRLRLLRRRLRLLRRLRRLRLRRRLRLRRLRRLLLLRLRRRRLLRRRLLRRRLLRRRLLLLLLRRLLRLRLLRRLRRLRLLLLLLRLLLLRRRRRLRRLLRRLLRLLLRRRRRRRRRRLRRLLLLLLLRLRRRRRRRLLLRLRLLLRRRRLLLLRRRRLRRRRRRRLLLRLRRRLRRRRLLLLRLLRRLLLRRLLLRRLRRRRRLLRLLLRLLLRLLRRRLLLLLLLLRLRRLLLRRLLLLLLRRRRLLLRRLLLLRLRRLRRRRRRLLLRLLLLRRLLLRRRLRLLLLLRRLLRRRLLLLLRLLRRLRRLLLLRRRLRLRLRLLLRRRLLRRRRLLRRRRRRRRLLLLRLRRRLRRRLLRRLLRLRRRLLLRRRRLLRRRLLLLLLLLRRRRRLLRRLLLRLRLRRLRLLLLRRRLRRLLLLLLRLRLLLRRLLRRRRRRLLLLLRLRLLLLLRRRLRRLLRRRLLRLLRRRRLLRLRRRLRLRRRRLRLRRRLLLLLRLRLRRLLLLLRRLLRLRLRRRLRLLRLLLLRRLLRRLRLRLLLRRLRRLRRRRRRLLLRLRLLLRRLRRLRLLLRRLRRLRLRRRLLRRLRRRLRRLRLRLLRRRRLLLRRRRLLLRLLLRRLRLRRLLLLLRLLLLLRRLLLLLLRLRLLLLLLLRLLLRLLRLLLRRRRLLRRRLLLLLLRRLRRRLLLRLRLLLLRRRLLRLRLRLRRRRRRRRRLRRRRRRRLLLRRRRLLRRLRRRRRLLLLRRLRLRRRRRLRRLRRRRLRLLLRLRLRLRLRRRLLLRRLLLRLRRRRLRLRLRRLLLRRLRLRLLRLLRRRRLRRLLLLRLLLRLRRRRRRRRRLRLRLRRLLRLLRLRLLLLRRRLLRLLRLRRRLLLLLLLRRRRLLRLRRRRLLLRRRRLLRLRRLRLRLLRLRLLLLLRRRLRRLRRLLRLRLRLRRRLLRLLRRLRLRRRLLLLLLLLRRRLRRRRLRRRLLRLLRLLRRLRLLLLLLLLRRRLLRLLLLRLRRRRLLLRLLLRRLLLLLLRRLRRRRLRRRRRRRRRLLLRRRLLLLRLLRLLRLLLLRLRRRLLLLRLRRRRLLLRLRRRLRLLRLLRRRLRLLRLLLRLRRLRLLRLRLLLRLLRLLRLRLRRLLLLRLLRLLRLLRRRRRLRLLRRRRRLRRLRLLRLLRRLRLRLLRLLRLRLRRLRLLLLRLRLLRRLRRLRLLLRLLLLLRRRLRRRRRLLLRLRLRRRRLRLLLLRRLRLLRRRLRRLRLLLLRLLRLRLLLRLRLLLRRRLRRRRLRRRRLRRRRLRLLRRLRRLLRRLLLRRLRLLLLRLRLRRRRLRRRLRRRRLLLRLLRRLLLLLLRRRLLLRLRLRRRRLRRRRLRLLRRRRRRRRRLLRLLRLLLRRRLLLLRLRRRLLRLLLRLRLLRLLRRLLLLLRRRRLRRRLLLRRRLRRRRLRRRRLLLLRLLRLRRRRLLLRRLRLLLLRRRLRRRRRLRLRLRLRRLRRLRRRRRRRLRLRLLLRLRLRRLLLRRLLLRRLLLRLRRRRRLRRRLLRLRLLRLLLLLRRRLRRLRRLRLRRLRRLLRRRLRLRRRRRRRRRLRLRLRRRRRLRRLLRRRRRRLLRLRRLRRLRLRRLLRRRLLRRRRLLRLLLRRRLRLLLLRLRRRLLRRLLLRLRRRRRRRLRLRLLRLLRLLRRRRRRLLRRLRRLRRLLRLRLRLRLRRRRLRLLLRRRRLLLRRRRRRRLRLRLRLLLLLRRRRLRLLRLRRLRLRRLLLLLLRRLLLRRLLRLLLRLRRRRRLRRLLRLLRLLRRRLLLRLLRRLLLRRLLRLRLRRLLLRLLLRLLLLLRRRLRLRLLRRRRLRRRRRLRLRRRLLRLLRRLRLLRRLRRLRLRRRRRLLRLRRLLRRRRRRRRLLRRLRRRLRLRLRLLLLLLLLLLRLRLRLLLRRLLRRRLRRLRRRRLRRRLLRLLLRRRLLRRLRRRRRRRLLLRRRLRLLLLLLRLLRRRLRRRRLLLLRRRRRRLRLLLLLLLRRRRRRLRLRLRRLLRRRLLRLLRRRLRRRRLLLLRRRRRLRLLLRLRRLRLRRRLRLLLRRRRLLRLRLLRLRLLLLLRRRLLRRLRLRLLRLLLRLLLRRRRRLRRRLRRLLLRRRRRRRLLLLLRLLLRRLRLLRRLRRRRRRRRLRRRLRRLLRRRRRLRLRLRRLLRLRLLRRRLRRRRRRLLRLLLLRLRRLRLRRRRRRRLLRLRLLRRRRRRRRRLLLLRLLRLRRRRLRRLLRLRRRLLRLRLLLRLLLRLLLLLRLLRLLLRLRRLRLLRRRRRLLRRLRLLLRLLRLLRRRLLLLLLLRRLRLRRRLRLRRRRRRRLRRLLLLLLRRRLRRRRLLRLLLRRRRLRLLRLLRRLLRRLLLLRRRLRRRLLLRLLLRLLLRLRRLRRLRLRRRLRRRLRLRLLRRLRRRRLRLLLLRLRRLLRLRLLLRLRRRRRLLRRRLRLLLLLLLRLLLLLLLLRRLLLRLRRRRRRLRLLRRRRLLRLRRRRRLRLRRRLRLLLLRLRLLLLRRRRLLLLRRRLRRRLLLRRRRLRLLLRRLRRLLLRLLLLRLRLLRLLLRLLRLLRLLLLRLLLLLRRLLLRRRRLLLRLLRRLLLLRLRLRLLLRLRRLRLRLRRRLRRRLRRRRRRRLLRRLRLRRRLLLLRRRLLLLLRRRRRRRLRRRRLLLLLRRLRLRRLLLLLRRRLLLLRRRRLLRLRRLRRRRRRLRRRRLRLLLRLRRRLRLRLLLRLLRRLRRLLRLRRRRRLRRRLRLLRRLRRRRLRLLRRLRRLRLRRLRLRRLRRLLLLLRRLRLLRRLRRRLRRLLRRLLLLRLRRRLLRRLRRRRLRRRRLLRRRRLRRRLLRRLLLLLLRLLLLRRLRLLLLRLRLLRLLRRLLRLRRRLLRLRRLLRLLLRRRRLLRLLRLLLRLLLLLRRRRRRLLLRRLRLLRRLLLLRLRLRRRRRRLRLLRRRRLRRLRLLLLRLRLLLLRLRRRLRLLRRRLLLRLRLRLRLRRRLLRLRLLRRLLLLLLLLLRLLRRLRRLRLRLRLLRRRLLRRRLRLLLLLLLRRRLLLLLRRRRLRLLLRLLLRRRRRRRRLLRLLRRLLLRRRLRRLLLRRLLRLRLRRRLRLLRRLLLLRLLRLRRRRLRLLRRRRRLLRLRLLLRRRLLRRRLLLRRLRLLLRLLLLLRLLRLLRRRLRLLLRRRLRRLLLRRLLRRLRRRRLLLLLRRLLRLRLLLRRLLLLLRLRRLLLLRRRLLLRLLRLRLLRRRRRLRLRRLLLLLRLRRLLLLLLLRRRLRRRRLLRLRRRRLRLLRRLRLLRLLRLRLLRRLRRLLLRLLLLLRLLRRRRLRLRLRLLRLRRRRRLLLLLLLRRLRRLRLRRLLLRRLRLRRLLLRRLLLLRRLLLLLLRLLRLRRLRRRRLLRRLLLLLRRRLLLLLRRLLRRLRRRRRLLLRLRRLLLRLRRLLRRLRLLLRLLRLLLLLLLLLRLRLRLLLLLRRRRLRRLLLLRLLRRRRRRLRLLRLRRRRLRLRLLLLLRLLRRRLLRLLRLRLLRLRLRLLRRLLLRRLRRRRRRRLLRLRRLLLRLRLRLLRRRRLLRRRRLRRLRRLRLLRLLLRRLLRRRLLLLRRRRRLRLRLLRRLRRLLLRLLRRRLLRLLRRLLRRLRRRLLRRRRLRLLRLRLRRLLLRRLRRLRLRRLLLLRLLLLLLRRLLRRLRLLRLLLLLRLLRRLLRRLRRRLRLLRRRRRRLLLRRRRRRLLRLRLRRLRRRLRLLRLRRRRLLLLLRLRLLRLRRLLRLLRLLRRRLRRRRRLRRRRLLRLRRRLRLLRLLLLLLRRRRLRRLLRRLRLLRRRRRRRRLRLLRRLRLRRRLLLRLRRRLLRRLRRRRRRRRLRLRLRRLRLRRLLLRLRRRLLRRRLRRRLLRRLLLLRLRRRRLRLLLLLRRRLLRLLRLLLRLRRLRRLRRLLRLRLRLRLLRRLRRRRLLLRLLRRRLRRLLRRLRLRRRRRLLRLRRLRRRRRRRRRLLRLLLLRRLLLLRLLLLRLLRRLLLRRRLRRRRLLRRRLRLRRLRLLRRRRLLLRRLLRRRLLRRLLRRRLLLRLLRRRRLLLLRLLRLLRRLRRLLRLLRRRLRRLLLLRLLRRRLLRRRLLLLLLLLLLLRRRLLRLRRRRLRLLRRRRRLLRLLRRRRLLRLRLLLRLLLLLRRLLLRRRRLRLRLRLRLRRLRLRRRLLRRLLRRLLRRLRLRLLLRLLLRRLRLRLRRRRLRLRLLLLRRRRRLRRLLLLRRRRRRLLLRLRLRLLRLLLLLLLLRLRLLRLLLRRLRRLLRRRRRRLRRLRLLLRRLLRRLRRRLLRLLRLRLRLLRRRLLRLLRRLRLRLLRLRRRRRRLRLRRRRLLLRLLLRRLRLRLRRLRRLRRLRRRRRRLRRLRRRLRRLRLLRRLLLRRRLRLRLLRRRRRRRRLRLLRRLLRLRLRLRLRLRLRRLRLLLLRLLLRRLRRLLRRRRLRRLRLLRLLRRLRRLRLRLLRLRLLLLRRLLRLLLLLLRRLRRRLLRLRLRRLRLRLRRLLRLLRRLLRLRRRRLRLRRRRLLRRRLLRRRLLRRLRRLLLRLLRLLRLRRLRRLRRLRLLLLLRLRRRRRLLLLLLRLRLRRLLRRRRRRLLRRRLLLRLRRRLRRLLLLLLRLLRRRLLLRLRLRRLRLRRRLRLLRLRRRRLRRRRLRRRRRLRRLLLRLLRLRLLLLLLRRLRLLRLLRLRRLRRRLRRLLLLLRRLLLRRRLRLRRLLRLRLRRLLRLRLRLRRRRRRLLLRRLLLLRRLLRRLRLRLRRLLLRLLRRLLLLRLRRLRRLLLLLLLLRLRLRLRLLLRLRLRLLRLLRLRRRLRLRLRLRLLRLLLRRLRLRRRRRLRRRLRRRRLRRRRRRRLLRRRRLRRLLRLLLLRLRRRRRRRLRRLRRLRRRRLLLLRLRLLLRRLRLLLRLLLLRLRLRLRLLLLLLLLRLRRRRRRRRRLLRLLRRRRLLLRLLRLRLRLLRLRRRLLLLLLRRRRLLLLLRRLLLRLLRLRRRRLRRRLRRRRLLLLRLLLLLLLLRLLRRRLLRRRRRLRRLRLRLRLLRLLLRLRRRLRRLLLLRRLLRRRLLRLRLRLLRLLRRRLRLLLRRLLRLRRRLRLLLRLRLRRLLLRLRRLLLRRRRLLRRRRLRRLLLLLRRRLLLRLRRRRLRRLRLLLLRLRRLRRRRRRLLRLLLLRRRLRRRLLRLLLLRRRRLLLLLLLLRRRRRRLLLLRRLRLLLRRRLLLRLRRLRRRRLLRLRLLLRRLRRRLRRLLLLLRRRRRLLLLLRRRRLRLLLLLRRLRLLRRRLRLRLRLRLLLLRRRRRRLRRRRLLLRLRLLRLRRLLLLRRLRRRLLLLRLLRRLLLLLLLLLRLRLLRLRLRLRRLLRLLLRLRRLRLRRLRLLRRLLLLLRRLRLRLLLLLLLLRRRLRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLLLRLRRRRLLRRRLRRRLLRRRLLLRLLRLRRLRRRRLRRRLLRLLLLLRRRRLRRLRRRLLRLLLRLLRLLRLLLLLRRRLRLRRLRRRLLLLRLRRLRRRLLLRRRRRRRRLRLRRRRLRRRRLLLRRRLRLRLRRRRRRLRRRRRRRLRLLRRLRRLLRLLRLRLRLLRLLLRRRRRLLLRRRRRLLLLLRRLRLLLRRRRLRRLRRLRRRRLRLRRRRRRRRRLRLRRRLLRRRRLRLLRRRLLLLRRRRRLRRRRRRLLRLLRLLLRLLRLLLLLLRLLRRRRLLRRLLRRRLRLRLRRRRRRLRLRRRLLLLRLRRLLRRRRLLRRRLLLRLLLLLRLRLLRLRRLRLLRLLRLRLRLLLLLLLLRLRLLRLRRRRLLLLRRRRRLLRLLLRLLLRLLRRLLLRRLLLRLRLLLRRLLLLRRRLLLLRLLLRRRLLLLLRLLLLLLRRLRRRLRRRLRLRRLRRRRRRRLRLRRRLLLRLRRRLRRLLLRRLLRLRRLLLRRRLRLRRRRLLRLLLLLRLRLLLRRLLLRLLLRRRRRRRLRLRLLLRLRLLLLRRLLLRLLRLLLLRRLRLLLRLLRRRLLLLRRLLLRLLRLRLRRLLRLRLRRLRLRLLLRRLRRRLRLLRLLRRRLRLLLLRLRLRLRRLRLRRRRRRRLLRRLRRLLLRRLRRRRLRLRLRLLLLRRRRLRRRRLLLLLLLLLLRLLLRRRLLRLLRRLRRLRLRRRRRLLRRRRRRLRLRLLLLLLRLRLLLRLLLRRLRRLRLRLRLLRLRRRLRRRLLLRRLLLRLRLRRRRRLRRRLLLRLRLRRRRRLRRLRRRRRLLRLLLLLRLRRLRLRLRLRRLRLRLRLRLRLRRRRRRLLRLLRRLRRLRRRRRLLLLRLRRRLLRRRRLRRLLLLLRLLRRLLLRLRLLLRRRLRRRRLLLLLRLRLRRLLRRRRLRRLLLLRRRRRRRLRLLLRLLLLRRLLLLRLRRRRLRRRLRLLLLRLLLRLLRLLLRLLRLRRRRLLRRRLLRRLLRLRRLRRRLRRLRRRLRRRLRRLRLLRLRRRRLRRRRRRRRRRLLRLRLLRLLLRLLRRRLRLRRRRLRLRRLRLRRLRRLLRLRLLLRLRLRRRLRRRRRLRLLLLRLRLRLRRLLRLRRLLLRRLRRRLRLRLLLLRLRRRRLRRRLRLRRLLLLRLRRRLLRLLRLRRLRRRLLLLRRLRRRLRRLLLLRLRLRLRLLRRRRRRLLLRLRLLRLLLRLRLLRLRLRRRLRLRRRRLRRLRLLRLLLRLLLRLLLRLRLRLRLLLRRRLLLLLRLLRRRRRRRLRLRRLRLRLRRLLRLLRLRLLRRRRLLLRLRLLRRLLLRLLRLLRRRRLLLRLRLRRRLLRLLLRLLLLRLLLLLLRLLLRLLLLRRLLLLRLLLLLRLLLLLRLLLRLRRRRLLRRLLLLLLRLLRRLLLRRLRLRRLLLLRRRLLRLLLRRLLRRLRLLLLRLLRLLLLRLRRRRRRLRRLRLLLRLLRRLLRLRLRRRLRLLRRRRLRLLLLLLRRLLRRLRLLRRLRRRRLLRRLLRRLRLLRRRLLRRLLLRLRRLRLRRRRLLRLLLRRRLLRLRRRLLLRLLRLLLLRLRLLLRLRRRLRLLLLLRLRRRRLLRRLLLRLLRLLLLLLLRLLRLLLRLRRLLRRLRRRLRLRRRRLRRRLLLLLLRLRRLRRLLRLRLLRLLLRLLRLLRLRLLRRRRRRLRRRLLRLRLRLRLLRLRRLRRLRLLLRRRLRLLRRLLLLLRRLLLLRRLLRLRRRLLRLRLRRRRLLRLRRLRRRRRLRRLLLLLRLLRLRRRRRLRRRLRLRRLLLLRRLRRRRLRLLRLRLLRRLRRLLRLRLRRLRLRLRLRLLLLLRLRRRRRRRRRRLLRRRRLRRLRRLLLLLRRRLRLRRLLRLLRRLLLLLRRLRLRLRRLRLRLLLLRRRRLRLLLLLRLLLLRLRLLLRLRLLLLRRLRLRLRLRRRLLRLRRRRRRRRLLLLRLRLLRLRLRLLRRRLRLLLRRLRRLLLLLRRLRRLLLLLRLLRLLLRRRLLLLRRRRRLLRRRLLLRLLRLLRLRLLRRLLRRRLRLRLLRRRRLLRLLLRRRLLRRRRLRRRLLLRRRLRLRLLLLLLLRLRLLLLRRRLLRLRRRLLRLRLLLRRLLLLRLRRLRRRLRLRRRLRRLLRRRLLLLLRRRRLLRLLRRLRLLLLRLRRRLLRLRRLLRLLLLLLLRRLRRLRRRRLLRRRRLLRLRRRRLLLLRRLLRRLRRRLRLLLLLLRRLRRRRRRRRLLRLLRRLLLRRLRRRRLRRLLLLRRRLRLRLLRRRLLRLLLRRRLRRRRLRRRLRLRLLRRLLRRRRLRRRLRLLLRRLLRRRLLRLLLLRLLRLLLLRLLRLRLRRLLLLLLRRRLRRRRLLLLRLRRLRLLRRRRLLLLRRRLLRRLLLRLLLRLRRLLRLRRLRLLRLLLLRRRLLRLLLRLRRRLLRLLLLLLRLLLRLRLLLLRRLRLLLRLLRLLLLRLLRRLLLRLRLRLRRRRRLRLLLLLRRLRRRLLRRLRRRRLRLLRRRLRLRRRRLRLLLLRLRLLRLLRRRRLLRLLLLRRRLLLLRLRLRRRLRRRRLLRRLRRLRRRLLRLLLRRRLRRLRRLRLRLLLLLRRRLRRRRRLRRLLLRLRRLLRLRRRRRLLLLRLLRRLRLLLRLRRLLRLLLLLRRRRLLRRRRLLRLLRRLRRLLRRLLRLRRRLLRLLLLLRLLRRLLLRRLRLRLLLLRRLRRRLLLLRRRLLRLLRRLLRLRLRLRLRLRLLRRLLLLRLRLRLLRLLRLLRRRLLRLRRRLLLLRLLLRLRLLRRLRRLRRLLLLLLLLLLRRRRRLRRLLRRLLRRLRRRRRRRLLRLLRRLLLLLRRRLRRRRRRLRLLRLRLLLRRLLLLRLLLRRLLRRLRRRLLLRRRLRLRRRRRRLLRLRRRRLLRRLRRRLLLRRRRLRRRLRLRLLRRLRRRLLLLLLLRRLRRLLLRRLLLLLLRRRLLRLRLRLLLRLLRLRRRLRRLLLLLLRRRRLRLRRRLRLRLLLRLRLRRRLRLLRRLLRLLRLLLLRLRRLLLRRLLLLLLRLLRRRRRRRRRRRRRRLLLLRRRRRLRRLLLRLLLRLRRRLLLLRRLLLRRRLLLRLLRRLRRLLLLRRLLLRLRLRRRLLRRLRRRRRRLRLLLLLRRLLRRLLLRRRRLRLLLLLRLRRLLRLLRRLRRRLRRRLLRRLLRRRLLLLRLLLLLRRRRLRLRRLRLRLRRLRLRLLLRLLLRLLRLLLRRLLRLRLLLRLRLLLRRLRLRLLLRRLRRLRRRRRRLLLLRRLLLLRRRRLRLRRRLRRRLLRLRRRLRLLLRRRLRLRLLLLLRRRLLLLRRRLLLRLLLLRLLLRRLLRLLRLRLLLRRLLLLLLRRLLLLLLLLRLRLRRLRRLLLLRRLLLRLLLLLLRRRLRRLLLRLLRLLLLRRRRRRLRLLLRLRRRRRRRLRRRRLRLRLLRRRRLRRRRRLRRRRLLLRLRRRRRRLRLRLRLRLRLRRLRRLRLRRLRRLRRLRRRLLRLLLRRRLRLLRRRRLLLRRRLRLLRLRRRRRLRLLLLLRLRLRLRRRRRRRRRRRLRLRLLLLRLRLRLRLRRRRLLRLRRLLRRLLLLLLLRLRRLRRLLLRLLRLLRLLLRRLLRRLLRRRRLRLLLRLLLRLRRLRLLRRLRLRLRRRLLRLRRRLRRRRRLLLLRLLLRLRLRRRRLLRRLLRLRRLLRRRRRLLLLLLRRRRRLRLLRLRLLRRLLLLLLLLLLLLLLLLRRRRRRRLLLLLRLRRLLRRRRRLLRRRRLRLLRLLLLRLRRRLRLRRLRLRRLLLRLRLRRLLLRLRRLRRRLRRLLLRLRRLRLLRLLLRLRRRRLRLLRLRRLRLLRRLRLLRLLLLRRRLRLLRRRRRLRRLLLRLLLRRLRLRRLLRRLLRLRLLRLLRLRLRLLRRRRLLRLLLLLLLLLLRLRRLLLRLLLRRRRLRRRRRRLLLRRLRLRRRLLRRLRRLLRRLLRRRLRLRLLRRLLRRRRRRLLLRRRLRRLRLLLLLRRRRLLRRLRLRRLLLLLLRLRLRLRRLRLRLRRRRLLLLLLRRLLLRLRRRRLLLRLRLRRRRLLRRRRRRLLRLRRRLRRLLRLLRLLLRRRRLLLRLRRRLRRRLLRLRLLRRRRRLLLRLLRRLRRRRLLRRRRLRLRRLRRRLRRLLLLLRLRRRRRLLLLRRLLRRRLRLRRRRRLRLLRRLRRLRLLRLRRRRLLRLRLRLRLRLLLLLLRRLLLRRLLLRRRRRRRLLLRRLRLRLLLLLRLRLLRLLLLLRRRLRRLRLLLRRRLLLRLLRRRRLRLRLRLRRRRRLRLLLRLRLLRLLRLLLRRRLRLRRRRRLRLLRRRLLLRLRLRLRLRLRLLLRRLRLRRRLLRLLRRRRRRRLRLRLLLRLLLRRLLRLRLLRRLRLLRRLRRLRRRLRLRRRRRLRLLRRRLLLLRRRRRLRLLLRLRLLRLRRRRRLRLLRLRRLLRRRLLLRLLLRLLLLRLLRLLRLLRRRRRRRRLLRLRRLRRLRLLLRLLRLLRRRLLLLLRLRRLRLLLLLRLLLLLRRRLRLRLRRRRRLRRLRRRRRLRRRLRLRRRLLLLRRLRRLRRRRRLLLLRRLLRRRRRRLLRRLLRLLLRLLRLRLRLLRLLLRLRLLLRLRRLLRLLLRRRLRLLRRRRLRRRLLRRLRLRLLLLLLLRRRRRLLLRRRRRRRRLLLLRLLRRRLRRLRLRLRRLRLRRLRLLLLLLLLRRRRRLRLRRLRRLRRLLRRLLRRRLRLLLLLRLLRLRRLRLLRRLRRLRLRLRLRLLLLLLRLLRRRLLRRLRLRLLRLRLRRRLLLLLLLLLLRLRLRRRLRLRRRLRRLLLRRRLRRRRLLLRRLLLRLLRLLRLLRRRRLRLLLRRRLRRLRRRRRRLRLRRRLLLLLRLLRRLLRLRRRRLRLLLLRLLRRRRRRRLRRRLRLRLRLLRLRLLRRRLLLRLRRLRLRRRRLLRLLRLRRRLLRLRLLRRRLLRLLRLLRRRRLLRRLRRLRLRRRRRRLLRRLRLRLRRLRRLRLRRRRLLLRLLLRLRRLLRLRRRLLRLLLRRLLLRRRRRLRRRLLLRLLLRRRRLRLLRRLRRRLRRRLLRRRRLRRRLLLRLLLRLLLRRRRLLLRRLRRRLRLRLRLRRRRRRRLLLLRLRRRRRRRRRRLRLLRLLRRLLRLLLRRLLLLLRLLLLLLRLLLRLRLLLLRLRLRLRRRRLLRLRRLLRLLRRRLRRRRRRLRRLRLRRRRRRRRLLRLLRLRLRRLRRLRLRRRLLLLRLLRLRRLLLRLLRRRLRLLLLLLLLLRRLRLRLLRLRLLLLRRLRRRRRLRRLLRRLLLLLRLRRRLLLLRRRLRRRLRRRLRLRRRRRRRLRRLRRRRLRRRLRRLRLRLLLRLRRRRRRRLLLRRLLLLLRRLRLLLLRLRLRRLRRLLLRRRLRRLRRLRRRRRRLRRLLLLLLLRLRRRLRLRLLLRLLLRLLRLRRLRRRLRRLRRRRRRRLRRRRRRLLLRRLLRRRLRRRLLRRLRRLLLLLRRLRLLRLLRRRLRRLLRRRLLLRLRRRLLLRRRRRLLRLRLRLRRRRLLRRRLRRLLLLLLRRLLLRRLRLLLRRRRLRRLLRRLLLLRRLRRRLLRLLRRLRRRRRLLRLLRRLLRLLLLRRRRRLRLLRRRLRRLRRLRLLRRLRLLLRRRLRLLLLLRLLLLRLLLLRLRLLLLRLRRLLLRLRRRLLLRLRLRRLLLRRLRLRLLRRRLLLRRLLLLRLRRRLRRLRRLLLRLLRRLLRRLRLLRRRLLLRLRLLLLLRRLLRRLLLRLLRRRRRLRRLLLLLRRRLLLLRLLRLLLLRLRRRLRRLRRLRLLRRLLRLLLLRRRRRRLRRLRRRRLLLRLRLLLRRLRLRRRLLLLLRRRLLRLLLLLRRLRLLRRRRLLLLLLRRRRLLRRRLLLRRRRRLLRLLLLLRLRLRLLLLRLRLRLRLRRLLRLRRRLLLRRLRLRRLRLRRRLLRRRRLRRLRLRLLLLLRLLRRRRRLLRRRRLRRRRRRLRLRLRLLLLLRLLLLLRLRRRLLLLLLLRRLLRLRRRRLRLRLLLLRRRRRLRLLLRLRRRRRRRLRRRLLRRLRLLRLLLRLLRLRRRLRLRLLRLLRLRRLRLRRLLRLLRRLLRRRLLLLLRRLLRRLRRRRRRLLRRRRLLLRLLLLLRRLLLLLRLLRLLRLLLLLLRLRLRRLLRLRLRRLLRLLLLLLLRRRRLLRRLLLLRRRRLLLLLLLLLLLLLRRLLRRLRLRLLRLRRLRLRRLLLLRLLLRLLRRLLLLRRLLLRLRLRRLRRRLLRRLRRLLLLRRLLLLRLRRLRLLRRLLRRRLRRRRLRLRLLRRRLLLRLLLLRRRLLRRLRRLLLRLRRRLLRLRLLRRRRRRLLRLLRRRLRRLRRRLRLLLRLLLRRLRRLLRRLRLLLRLLLLRRLLRLRRLLRRRLRLLLRLRLRLLLRRRRRRLLRLLLLRLRRRLRLLRLRRRRLLLLRRLLLLLLRRLRRRLRRLRRLRRLRLLLRRRRRLLLRLRLRLLRLRRRRLRRRRRRRLLLRLLLRRRLRRRRRLRLLRLRRLRLRLLLRLRLRLRRRLRRRRRLRLLRLRRRRLRLRRRLLRLLRRLLLRLRRRRRLLLLLLLLLRRRRLRLRLLLRRRLRRLRRLLLRLRLRRLLRLLLLLLRLLLRLRRLLRRRLRRRLLRRRLRRLRRRRLRRRRLLRLRLRRLRRRLRLRRRLLLRLLLRLLLLLRLRLLRRRLRLLRRRRLRLRLLLLLRRRLRRLRLLRRLRRLRRLLLRRRLLRLRLLRRRLRRRLLRLRLLLRRLLRLLLRRRRRLRLLRRRLRRLRLLRRLRRRLRRRLLLLLLLRLLLLLRRLRRLRRRLRRRRLLRRRLRRRLRRRRLRRLRLLLRLLLLLRRLLRRRRLLRLLRRLRLRRLRLRRRLLRLLRLRLLLRLRLRLLRRRLLRRLRLRRLRRRLRLRLLLLRRRLRLRLLLRLRRRLRRLLRRLLLRLRLLLRRLLLLRLLLRRLLRLRRRLLLLRRLRRLRRRRLLLRLRLLLLLRLRLRRRRLLLRLLRRLLLRLRRLLRLLLLRLLRRRRRRRLRRRLLLLRLLLRRLLLRLLRLRRRRRLRRRRRRLRLRRLRLRRRLLLRRLLLRRRLLLLLLRLLLRLLRLRLRRRLLLLRLRLRLRLRLRRRRLLRLRLLRRRLRRRLLRRLLLRLRLLRRLRLLRRLRRRRLRRRLLRLRLLLRLLLRRLRLLRRLRLLLRLRRRRLRLRRRLRRRLLLLRRRRLLLRLLRRRLLRRRLRRRRLRRLLRRLLRRLLLLLRLRRRLRLRRLRLLLLRLRRLRRRLLLRLLRLLLRLRLRRLLRRLLRRRRRLRRRLRLRLLLLLLLRLRLLRLRLRLRLRLLRLLRRLRLLRLRRRRRLRRRLRRLLLLRLRLLRLLRLLLLLLRLRLLRLLRLRLLRRLRRRLLLLLRLRRLRLLRRRRRRRRLLLLRRRRLLRRRLRLLRLRRRLLLRRLRLLRRLRRRLRLRLLRRLLRRLRRRLLLLRRRLRLRLRLLRRLLLRLLLRLLLLLRRRRRRRLRLRRRLRLRRRRRLLRLLLLRLRLRRRLRRRRRRRRRLLLRRLLRLLLLRRLRLRLLRRRLRRLLRRRLLRLRLLRRLRRRRLLLLRRRLRLLRLRLLLLLLLLRLRLLLRRRLLLLLLRLRRLRRRRRRRLRRLRRRRLLRRLRRLRLRRLLLRRRLLRLLLRRRLLLRLLRLLLRRLLRLRRRRLRRRLRRLRLLLLRRLLLLRLLRLRLRRRLRRRLRLLRRRRLLLLLLLLLLLRRLLRRLLLLLRLLLLLLLRLRLRRLRLRRRLLLRLLRLLLLLRLRLRLRLLLRLRLLRLRLRRLRLRRRRLLLRLRLRRLLRLRRRRRLLRLRRRRLRRRRRLLLLLRLRLRRRRRLLRLRRLRRRLRRRLLLRLLLRRLRLLLRLLLLRLRRRRRLLLRRRRLLRRRRLLLRLRRRRRRRLLRLRLLLRRLRRRLRRLLLLLRRLLRRLRLLLLRRLLLRLLLRRLRRLRRLLLLRLRRRLLLLLRLRRLLRRLRLLLRLRRRRLLRLLLRLLLLRLLLLRLLLRRLRRLLLLLLRRLLRRLRLLRLRLLRLLLRRRRLLLRLLRLLRRLLLLLRLLRLRLLLRLLLLRRRRRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLRRRRRLLLLRRRRRRRRLLRRLRLLRLLRLRRLRRRLRRRRLRRLLLLLRLLRRRLLRRRLLRRRLLLRLRLLRRLLLRLLLRRRLLRLRLLLLRLRLLRLRRLRRRLLRRRRLRLRRRRLLRRRRLLLRRRRLRLLRRRLRRRRLRLLRLRLLRRLRRLRRLLRLRLRLLRLLRRRRRRRRLRRRRRLLLRLRLLRLLRRRRRLRRLRLLRLRLLLLRRRLRRRRRLRRRRRRLRRRRRLLRLRRLRRLRRRRRLRLRRRRLLRLLRLLLLRRLLLLLLLLLLRRRRRLRRLLLRLLLLRLRRLRRRLRRRLLRRLRRRRRLLRRRRLLLRRLRLRRLLLLLRLLLLLRRLRRRLLLRLRLLLRRLLLLLRRRRLLLRRRRLLLLLRLLLLLRLLRRLLLLLRRRLLLRRRLLRLRLRRRLLRLLRLRLLLLRRLLRLRRLRLLRLRLLLLRLRRLRLRRRLRLLRRRRRRRRRRRLLRRLLRRLLLLLRLLRRLRLLRLLRLLLRRRLRLRRLRLLRRLLRLRLRRLRRRLLLRLLLRRLRRRLLLRRLLLLLRLLLLRRLLLRLRRLRLLLRRRRLRLLLRRLLLLLLRLRLRLLRLRLLRLLLLLLRLRRLRLLRRLLRRLLLLLLLLRRRRRLLLLRLRLRLRRRRLLRRRRLLLRRLLLRRLLRRLRRRRLRRRRRLLLLRRRLLLLRRLLLRLLLLRLRLRLRRRLLRLLRRLLLRLRRRRRLRLRRLRLRLRLRLLLLLLRLLRLLRLLLRLLRRRRRRLRLLRLLRRRRLRLLLLRRLLRRRRLRLRRLRRRRLLRLRLRRRLRLLRLLLRRRLLRRLLLLRRRLRRLLRLLRRRRLRLRRRLRRRLRRLRLRLLLRRLRRRRRLLLRLLLRLRLLLLRRRRLRRLLLLLRRLRRLLLRRRLLRLRRLLRRRLRLLLRLRLRRLLRRRRRRRLLLRLRRRLRLLRLLLRLRRLRRLLLLRLLRRRLRRLLRLLRLRLRLRLLRLLRRLLRRRRRRLLRLLLRRRLRRLLRLRRRLLRLRRRLLRRLLRLLRLRLLRRRLRRLRRRRRLLRLLLLRLRLLLLRLRLRLRLLRRRLLLRRRLRRRRRRLRRLRLLLRRRRRRRLRRRRRLRLLLLLLLLRLLRLLLLRRLLLRRLLRRLRLRLRLRRRRRLRLRLRLLRRRLLLLLLRRRRLLLRRLLRLRRRLLLRLLLLRRLLRLRLLRLLLLLLRLRRRRRLRLLLRLLRRLLLRLLLLLRRLLRRLRLRRRRLLRLRLLRLLRRLLLRRLLLLRLRLLLLLRLRLRLLRRLLLRRLRRRLRRLRLRRRLRRLRRLLRLRRLRRRRLRRLLLLLRRRLLRLLLLLLRRRLLRRLRLRLRLLRLRLRLLRLRLLLLLLRLLLRLLLRRRRLRLRLLLRRRLRLRLRRRLRRRLLRLLLRLRRRLLRLLRRLLLRRLRLRLLLLLRRRLLRLLLRRLLRLLRLLLRLLLRLLRLRLLRRRRRRRRLRRRRRLRRRLLRLRLRRLLRLRRRRRLRRRRLLLRRLLRLLRLLLRRLRRLLLRRLLLRLRLLRRRLLRRRLLLLRRLRLRRLRLLRLRLRLRLLLLRRLLLLRLLRLLLLRLRLLLRLRLRRRLLLRLRLRRRRLLLLLLRRLLRLLRLRLRRLRRLLLLLLRRLRRLRRLLRRLRLRLRLRLLLRRLRRRLLRRLLRRRRLLRLLRLLLLLRRLLLRRLLRRLRRRLLLLLRLLRRLRLRRLRRLRLLLRRRLRLLLLRLLLRRLRLLLRRLLRRLLLLLRLRLLRRLLLRLRRLRLRRRRRRLLLLLLLLRLRLLRLLRRRLRLRLLLLRRRLRLLRLRLRRLRLLRRLRRLRRLRLRRRLLRLRLLLLLLLLLRRRRLRRRRRLLRRRRLRRLRRLLLLLRRRRRLRRLLRRRLRLLLRLLRLRLLLRRLRLLRLLRLRRRLLLRLRLLLRLLRLRLLLRRRLLLLRLLRLRRRLLRRRLLLRLRRRRRRLRLLRLLLLLLRLLLLRLRLRRLLRLLRRLLLLRLRLRRRLLRLRLLLLLLRRRRLLLRRRRRLLRRRLLRRLLRLRRLRLLRRLLRRRLRLLLLLRLLLLRRLLRLRLLRRLRLRRLLLRRRRLRLLLLLLLLRRRLRLLLLRLLLRLRLRLLRLRRLLRLRRLLRLRRLRLLRRLRLRLRRLLLRLLRLLLRRRRLLLLLRRLLLLLRLLLRRLLRLRRRLRLLRLLLRRRLRRLLRRRLLRLRRLLRRRRRRLLLLRRLLRRLRRRLRLLLLLLLRLRRLRRRLRLLLLLRRLLLRRLRRRRRRRRLLLLRRLRLRLLRRLLLRLLLRLRLRRRRLRRRRRRLRLRRLLRRLRLRRRRRLLRRLRRLRRLRLLLLLRLRLLLLLRLLRLRLRRLLLRRRRRLLRRLRLRRLLLRRRLRLRRLRLRLLRRRLRRRLLRRRRLLLLRLRRLRLLRRLLLRLRLRRRLRLLLRLRLRLLRLLRRLLRRLLRLRLLLLRRRRLLLLLLLRLRLLLLLRLLRRLRLLRLRRRRLRLRLLLRLLRRLLLLRRRLRRLLLRRLRLRLRLRRRRLLLRLRRLLRLLLRRRRLRLLLLLLRRLLLRLRLRRRLRRRLLLRRLRRRLRRLLRLLRRRRLRLLLRLRRLLLLLLRRRLLRRRRLRRLRRRLRRRLRLLRRRRRLRLLLLRRLRLLRLRLRLRLRRLLLRRRRLLRRRLLLRRLLRLRRLLLLLRRLRRRLRRLLLLRLLLRLLLLRLRRLRLLRLRRLRRLLLLLRLLLRRLLLLLLRLRLRLLLLLRLLLRRLLLRLLLLLRRLLRLLLRLLLRLRRRLLRLLLLLRLLLLRRLLRLRRLLRRRLRLLRLRRRRLLRLLLRRRLRLRRRRRRRLLRLLRRLRLLLRRRLRLRRLLLRLLRLLLLLLRLLLLRRLLRRLLRRLRRRRRRRRLLRLRRRLRRLRRRRRLRRLRLRRRRLLLRLRLRRRRRRLRLRRRRRRLRLLRLLLRLRLLRLLLRRRRLRLRLLLLRLRLRLLLRLLRLLRRLRRLRRLLLRRRRRRLRRRLRLRLLLLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRRRLRLLLLRLRLLRLRRLRRRLRRRLRLLRRRRRLLRLRLLLLRLLLLLLRLLRRLLLLRRLLLRLRRRLRRLLRLLRLRRRLLRRRRLLRRRRLRRLLRRLRLRLRLLLRLLRLRLLRLLRLRLRRLRRRLRLLLRLLLRLLRRLLRRLLRLRLRLLLLLRLLRRLRRRLLLLRRRLRRLRRRLLLRLLLLRRRRLLRRLLLLRLLRRLLLLLLRLRRRLLLLLRRRRRRRLRRRLLLRRLRRLLRRRRRLRRRLRRRLLRLLRRRLLRLRRRLLLRLLLLLRLRLLRLLRRLLLLRRRLRLLLLRRRRLRRLRLRLLRLRLLRLRRLRRLLLRRRRRLRRLRRLLLLRRLLLRLRRLLRRRLLLRLLLRLLRLRRRLLRRRLRRLLRRLRRRLLRRLRLLRLLLRLRRRLRLRRRRLLRLRRRLRLLRRRRRLLRRLLRLRLRLRRLRRLLRRRLRLLRRRRRRLLRLRLRRLLLLLRRRRRLLRRLLRRRRLRLLRRRRLLLLLRLRRRLRRRLRLRRLRRLLLRLLLLRRRLRLRLRRLLLLRRRRLLLRRRLLLLRRLRRLRRLLLRLLRLLRLLRRRRLRRLLRRRLLLRLRRLLLRRRRLRLLRRLRLLRLRLRRLLRRLLRRRRLLRLRRLRLLLRLLLRRLLRRLLRLRLLLRLRLRRLLLLLRRRRRLRRRRRLLLLRLRLLLLLRLLRRRLRLLRRLRRRRLLLLRLRRLRRRLRRRLRRRRRRLRRRLLLRRLRRRRLRRLRLRRRRRRLRLRRLLLLRRRLLRRRRRLRRLRLRLLLLRLLLRLLRRLLRLRLLLLLRRLRRLRLRLLLLLRLRLRLLLRRLRLLRLLLRLRLRRLRLRRLLRRLLLLLLRRLLRLLLRRLRLRLLLRRLRLLLLRLLRLRLLLLRRLLLRRRLRLRRLRLLRRRRLRRLRLRLRLLRRRRRLRLRLLRLRLLRRRLRRRLLLLLLRRRLRRLRLLRLLLRRRLLLRLRLRRRLLLRRRLLLLLRRLLLRRRRRRRLLLLLLRLLLRRRRLLLLLRLLRRRRRRLRLRRLRLLRLRLRLRLLLRRRRLLLRLRRLRRRLLLRLRLRRLLLRLLLRRLRRLLRLLRRLRLLRRRRRLLRLLLRRLLRLRRLLLLLRRRRRRRLLLLRRRLRRLLRLRRRRRLRLLRRLRLLRLLRLRLRRLRRLLRRLRRRRLLLLLRRLRLRRRLLRRRRRRRLLLRRRRRRLRLLLRLRLLRLLLLLRRRLLRLRLLRRRRRLLLLLRLLRLLRLLRLLLRLRLRLLLRLLLLRRRRLLLRRRLRLRRRRRLLLLRRRLRLRLRRLLRRRLRLRLRLLRLRLLRLRLRLRLRRRRLLRRLLLRLLRRLLLRLRRLRRLRLLRLLRRRLRLRRLRLLLRLRRLLRRLRRLRRLRLLRRLLRLRLLRRRLLRRLRRLRLRLLLRLLRLLRRLLRLRLLRLLLLLRLRRRRRRRLRRLLLRRRRRLLLRRLLLLLRRRLLLLLLRLLRRRLLLLRRLLLRRRLRLRLLLRLLRLLLRLLLRLRLRRRLLRRRRLLRRLRRLRLRRRRRLLLLLRLLRRRRRRLLLRLLRLLLRLRLRRLRRLRRLLRLRRLLRLRRRLRLLLLLRRRLRRLRLLLLRLLRRRRLRLRLLLLLRRRRRLRRRLRLRRRRRLLLRRLLLRLLRLLLRLRRLRLRRLRLLLLLLLLRLRLLLRLLRLRRRLRLRRRRLRRRLRLLLRLRRLRLRRRLRLRLLRRLLRRLRLLLLRLLLRRRLRRLLRRLRRRRRRLRRRRLLLLLLLLLLLRRRLLRLLLLRRRLRRRLLRLRLRRRRLLRRLLRRLLLRRRRLRLLLLLLLLLLLRLRLLRRLRRRLRRRRLLLRLLRRLRRLRRLRRLLRRLLRRRLLRLRRRRRLRRRLRRRLLLRLLRLLRRRLRRRRLRRRLRRRRRLRLLRLRLRLRRRRLLRRRLLRLLRLLRRRRLLRRLLRRRRRRRLRLLLRRRLLRLRRLRRRLLRRRRLLRRLLRLRRRLLRLRRRLLLLLLRRLLLRRRRRRRLRLLLLRLRLRLRRRLLRRRLRRLLRRLLRRRRRLRLLRRRLLRLLRRRRLLLLLRRLRRRLLLLLRLLRRRLRLLLLLRRRRRRRRLRRLRRLRRLLLLLLRLRLRRRLLLLRLLRLRRRLRLRRLLRRLRLRLRLRRRLLRLLRLLLRRLRLLLRRRRRRRRRRRRRRLRRRRRLLRLLRRRLRRLRLRRRLLRLLLLRRLRLLLRLRRLLRRRRRRLLRLRLRRLRLRLRRRRLRRRRLLRLRRRLRLRRLRRLLLLLRRLRRLLLLLRRRLLRRLRRLLLLRRRRRLRLRRRLRRRLLRRLRRRLLRLRLRRRRLLLRLLLLRRLLLLRRRLLRLLRRRRLRRLRRLRLRLLLRLLRRLLRLRRRRRRLLLLLLLLRRRLRRLRLLLRLRLRLLRLRRRRLRLRRLRRRLRRRLRRRLRRLLLRLLLLRLLRRRLRRRRRRLLRRRLRLRLLRLRLRRRRRRLRRRLLLRLLLRLLLLRLRRLLRLRLRLLRLLRLLRRLRLLLRLLLLRLLRLRRLLLRRLRLLRRRLRLRRLLRLLRRRLLRLLRRLRRLRRLLRRLLRLRRLRLLRLRRLLLLLRLLRLRRRRLRRLRRLRLLLLRRRLLLLLLLLLLLLRRLLRLLLRLLRLLRLRLRLLRRRLLRRRRLRLRLRRLRLRLLRRRLLLRRRLRRRRRRRRLRLRRLLLRLLRLLRRRLRLLRRRLLRRLRLLRRLRRLLRRLLLLLRRLLLLLRRLLLLLRRRLLRLRLLLLLLRRLRRRLLRLLLLRLLLLLLRRLRLLRRLRLLRRLLRRRLLLLLRLRLRRLRRRLRRLLLLRRRLLRRLLLLLRLLRLRRLRLLLLLLRRLRLRRRLLLLRRRRRLRRLLLLLRLRRRLRLLRRRRRLRLRRRLRLLRRLLLRRRRLRRLRLRRRLLRRLRRRRLRRRLLRLLRRLLRRRLLLRRRRLRLLRRRRRLRRRLLLLRRLLRLLRRLRRRRLLRLLRRLRRLRRRRLRRRLLLLRRRLLRRLRRRLRRRLRRLLRLRLLRRLLLLLLLLRLLRRRLLLRRRLRLLRLLRLRRLRRRLLLLRRLLRRRRLRLLRRLLRRLRLRRLRLRRRLLLLRRLLLLLLRLLLRLRRLRRLRLLLLRLLLLLRRLRRRRLRLLLRLLRLLLLRRRRLLRRRRLRRRRRLLRLRRRLLLRLLRLLRRRLLLRRLLLRRLRLRRLLRLRRLLRLLRRLLLLLLLLLLRRLRRRRRRLRRRLRLLLLLRRLLRLRLRRLRLLRRLRRRRLRRRRLRRRLRRRRLLRRRLLLLLRRLRRRRRLLLRLRLRLRRLLLLRRRRRLLLLRLRRRRLLRRRRLRLLLRLRLRRRLRLLRRLLLLLRLRLLLRLLLRRLLLLLRLLLRLLLRLRLLLRRRRRRRRRLLRLRLLRRLLRRLRRLRRLRRRRLLLLLLLRRLRRRLRRRLRLRRLRLLLLLRRRLLRLLRRRRRRLRRRRLRLRRRRRLRLRRLLRRLLRLRRRLLLLRLRRLRLRLRRRRLLRLRRRLLRRRRLLLRRLLRRLRRLRRRRLLRLRLLRLLLRRLLRLLLLLLLLLRLRRRRRRRLLLLLLRRLRLLLLRLRLRRLRRLLLLLLRLLLRLLRLLRRRLRRRRRRLLRLLRRRRRLRLRLLLRLRLRRLRRLLRLRRLRLLRLLLRLLLLRRLRLRRRRLRLLRRRLLLLLLLLLLLRRLRRRLLLRLLRRLRRLLRRLRLLRLRLLLRRRRRRRLRLRRRLRRRLRLRLLRRRRLLLLLRRLLRLRLLLRLLRRLRLRLRLLRLLRRRLRLRLLRRLRRRLRLRRLLRRRLRRRRRRRRLRRLLRRLLLLLRLRLLRRLLRLRRRLRRRLLLLLRLLRLLRRLLRLLLLLRLRRRLLRRRLLLLRLLRRLRRRRRLLRLLRRLRLRLRLLLRLRRLLRLLLRLLLLRRRLRLRRLRRRRRLLRRRLRLRRRLLLLLRLRRLRLRLRRLRLRLLLLLRLRRRRRRLLLRLLLLLRRRLRLLRLRLLLLRLLRRRRRRRLRRLLLRLRLLLRRLLLLLRRRLRLLRLLRRRLLRLRRLLRLLRLLLLLRLLRRRLLLLLLLLLLLLLLLRLRLRRRLRLLRRRLLRLLRLRRLLRLRRLRLRRLLRRLLRLRLRRRLLRRRRLLLRLRRRRLRRLLLRRRLLLLRRLRRRRLLRRLRLLLRRLLRRRRRRRRLLRRLLLRLRLRLLRLLLLRRLRRRLLRLLLRRRLLRRRLRRLRLLLLLRLRLLLLRLLLRLRRLRRLRRRRLLRLLRLLLRLRRLLLLRLLLRLRRRLLRRLRLRLLRLRLLRRRLLRLRLLLLRRLLRLLRRRLLRRLRLRRRLRRRLLRLLLRLLRRLLLLLLLRLLRRLRLLLRLLRRLLRLRRLLRLLLLRLRRLRLLLLRRRRRLLLLLLRLRLLLRRLRRLRLRRLLLRRRLRLRRRRRRRRLRRRLRRRRRRLRRRLLLLRLLRLLRRRLLRRLLRLLLRRLLLLRRRLRRRRLLRRLRLRLLRRRLLRRRRLLRLLLLRRLLRRRLRRRRLLLRRLLRLLLLRRLRLRRLRRRRRLLLRLLLLRLRLRRRLLRRLRLRLLRRLRLLRLLLLLLRLRRRRLLLLLRRRLRLLLRRRRLRLRRRRRRLRLRRLRLLRLRRLLRRRRLLLLLRLRRLLLRRLLLLRRLRLLRRRLRRLLRLLLLRRLRRLRRRRLRRRLLLRRRRRRLLRRLLRRLRRLRRLRLLLLRLLRRLLLRLRRRRRLLLRLRLLLLRLRLLRRLRLRRRLRLRRLRLLLLLLLRRLLRRLRLRRLLRRLLRLLRLRLRRLLLRLLLLLRLRLRLRRRLRRLLRLLLRLRRRLLLLRLLRLRRRRRLLRLRRLRRLLLLRRRLRRRRRLLRLLLRLLLRRLLLRRRRLRLRRLLRRRRRRRLRLRLRRRRLLRLLLLLRRRLRRRRLRLLLLLRRLLRRLRRRLLLLRLLRLRRLRRRRLRRLLLLLLRRRLRLLLRLRLLLRLLLLLRLLRRRRLLRLRRRLLRLLLRLRRLRLRRRRRRRLLLRRRLRRRLRRLRLLLLRRRLRRRRLLLRLLLLRRLLLLLLLLLRLLRLLRLRLLRRLRLLRLRLRRRRLRLRLRRLRLRRLRLLRLLLLLRLRRRRRLLLRRRRRRRRLRLRRLRRRRLLLLRLRLRLLRRRRRRLRRLLRLLLRRRLLRRRLLRRRRLLRLRRLRRRLRLLLRRRRLLRLRLLRLLRRLLLLRRLRRRLLRRLRLRLRRRRLLLLLRLLLRRRRRRLLLLRLLRRRLRLLRRRLRRRRLRRRRRRRLLLRRLRLRRLRLRLRRLLRLRRLRLRLRLRRLLRRLRRRLRLRLLLLRLLLRRRLLLLRRLRRRRLRRRRRRLRLLRLRLLRRLLRLRRLRLLRLRLLRLLLLRLLRRLLRLLLLLLLLRRLRRLLLLLLLLLLLLRRLLRRRRRRLLRRLRRRRLLRRRLRRLLRRRRRRRRLRLLRLLLLRRLRLRRLLLLRLRLRRRLLRLRRRLRRLLRRLLLLLLLRLLLRRRLLRLLLLLRRRRLRLRRRRLRRRLRRLLLRLLRLRLLRLLRRLRLRRLRRLRLRLLLRLLRRLRLLLRLRRLRRRRLLLRRRLRLLLRLRLLLLLLRLLRRLRLLRRLLLRRRRLLRLRRLRLRRRLLRLRLLRLRRLLLLRLLLLLLRLRLLLRRRLRLRRRLRLRLRLLRRRLLRRLLRRRRRRLLLLRLRLLLLLLRLRLRRLLRLLRLLLLLRLRLLRLLRRLRRRLLLRLLRLLRRRLRRLLLLRLRLRRRRRLRRRLLLLRLLLLLRRRRRLRRRRLRRRRLLLLLRLLLLLLLRLRRRLLLRRRRRRLRLLRRRLRRRLLLRLRLRRRLRLLRLRLLLRLRRLRLLRRRLRLLLLLLRLLRRRLRLLLLLRRLLRRLLRLLRLRRRRLRLRLRLRLRRRLRRLRRRRRRLLLLLRLLLLLLLLRRRLLRLRLLRRLLRLLLLRRLRRLRRRLRRLRRLRRRLLLRLLRRRLRLLLRRRLRLRLLLLLRLRRLRRLRRRLRRRLLLLRRRLLRLRRLLRLLLRLRLLLLLLRRLRLLRRRRLLRRLLRRLRLLRRLLRRRRLRRRLLLRLLRLRRRRLLRLLRLRLRLLLLRLRRRRRRRRLRRLLRLLLRRLLRRLLRRLLLLLRRLRRLLLRRLRLLRRRLLRRRLLLLRLRLRLLRLLLLRLRLRRLRLLLRRRLLLRLRLLRLRLRRRRRRLRRLRLLLLRRRLRRRRRLLRRLLLLLLLLLRLLRRRLLLRLLRRRRLRRLRLLLRLRLRLRLLLRLRLLRRRLLRRLLRRRRRLRRLLLRLRRLLLLRLLLLRLLLRLRLRRLLRLLLRRRRLRRLRRLLRLRRLLLLLLLLRLRRRLLRLRLLRRRLLRLRLLRLLRRLLRRRRRLLRLLRLLLLRLLRRLLRLLLLRLLRRRRRRLRLLRLLLRLRRLLRLRRRRRLLLRRLRLRLRRRLRLLLLRLLLRRLLRLRRLRLRLLRLRRLLRRLLRRLLLRRLRLLLRRRLRRLRLLLLLRRRLRRRLLRRLRRRLLRLLLLLRRRRLRLLLRRRRRRRLRLLLLRLLLRRRRLRRRLRLRLLLLRLRLLLRLRRRRRLRLRRRRRLRLRRRLLRLRRLRRLRLLLLRRRLLLRLLRRRRLLRLLRLLRRLLLRRLLRLLLRRLLLLRRLLRRLLRRRRLLLRRRRLRLRLRLLLRRRRLLLLLRLRLLLLRLRRRRRLRLRLRLRLLLLRRLLLRLLLRRRLLLLLLRRLLRRLLRLRRRRRRRRLLLLLRRRRRLRRLRRRLLLRLLLLLLRRRRRRLLRLRRLRRRRLLRLLRRRLLLLRLLLRRLLLRLRLRRLLRLRLLLRLRLRRRLLLLLLLLLRRRRRLLRLLRRRLRLLLRLRLRRLLLLRRLLLLRRLRRLRRRLRLLLLRLLLLLRLLLRRLRLLRLLLRLLRLLLLLRRRRLLLLRRRLRRLLLLLRRLRLRRLRLLRRLLRLRLLLRRLLLLRRLRLRLRRLLRRRRLLLLLRRLRLRLRRRRLLRRLLRRRLRLLRRRLLRRLLRRLRRLLRLLRLLRRRLLRLRLLLRLRRLRRRLRRRLLRRRLRLLLRLRLRRRLLLRLRRLLRLLRLLRRLRRLRLRLLRRLLLRRLLLLLRRLLRLRLLRRRRLLRLLRLLRLLLLLRRRLLLRRRLRRLRLLRRLLRRRLRRLRRRLRLRLRRLLLRLRLLRLRRLLRLRLRRRLRRRRLRLRRRRLRLLLRLRLRRRRLRLLLLRLLLRRRLRLRRLRRLLRLRRRLRLLRLLLLRLLRLLLRRRLLRLLRLLRRLRRLLLLRRRLLLLRRLLLRRLLRLLLRLRLRRLLLRLLLRRRLLRRRLRLRRLRRRRRRRLLRLRRRLLRLRRRLRLLRRLLLLLRRLLRLLRLRLLRRRLRLRRLRRRLRRLRRLRLRRLRRRRRRLLLLRRRRLLLLRRRRLRLLRRRLRRRLLLRLLLLRRRRRLRRRLRRLLRRRLLLRRLLRLLLLLLLLRLRLRLRRRRRRRRLLRRLLRRRLLRRLRLRLLLLRRRRLLRRLRRRLRRLRRLLLLRRRLLRLLRRRLRRLRLLLRLRLLLLRLLRLLLLLRRLLRRLLLLRLLRLRRRRLLLLLLLRRRRLLLLRLLRRLLLLRLLRRLLRRRLLLRLRRLLLLLRRRLRRLLRRLLRLRLRLRRRRRRLRLRRLRLRRLRLRRLRLLLRLLRRRLLRLRLRRRLRRRLLLRRLRRRLLLRLLRRRLLRLLLLLLLLRLLLLRLRRLLLRRRRRLLLRRRLRRRLRLLLRRRRRRLLRLLRLRRLRLRLRLRLRRLLRLLLLLRLRLLRLRRLLRRLRLLLLLRLLRLRLRLLLLLRLLLRLLRLLLRRLRLLRLRLLRRLLLLRRLLLRLLRLLLLLRRRRLLRLRLLLLLRLLRRLLLLLRRLLRRLLLLRRRLRRRLRRRLLRLRRLLLLRRLLRRRRRRRRLRRLRLRRRLLLRRLLLRRLRRRLRLLRRLLRLRRLRRRLLRRLLRLRLLLLRRLLLLRLLLLLLRLRRLLLLRLLRLRRLRRRRRLLLRLLLLRRLRLRRLLRRLRLRRRRLLLLLLLRRLRRRLRLRRRRLRLRRLRRRRRLRLLRRRLLRRRRRRRLLLRRRRLRLRRRLLRLLLLLLLLRRLRRRRLLRRRLLLRRRRRLRLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRLRLRLLLLLLRLLLLRRLRRLLLRRRRLRLRLRLLLLLRRLLRRLLLLLRRRLLRLRLLLLLLLRRRRRLLLLLRLLRLRRLRLRLRRLRRRRLLRRLLRRLRRRLRLLRRLLRRLLLLLLRRRLRLRRRRRRRLLLRLLRLLRRLRLRRLLLLLRLRLLLRLRLRLLRRRLLLRRRLRLRRRRLLRRLLLLRRLRLLLRLLLLRLRRRLLLLLLRRRRLRRRLLRLRRLLRLLRRRLLRRRRRLLRLRRRLRRRLRRLLLRLLLRRLLRLRLRLLLRRLLLLRLLLRRLLRRRRLLRRRLLLLLLRRRRLRLLRRRRLRRRRRRRLRLRRLLRRRRRRLLRLLRLLLLLRRRLRLRRRLRRRLRLRLRLRLRLRRRRLLLRRLRLLLRRLLLLLLRRLLLLRLLLRLRRLLRRRRLRLLRLLRRLRLLRLRLLLLRRLLRLLLLRRRLRRLLRLRLRLLRRRRLLRRRLRLLRLRLRLRRRRRRLLRLLRRRRRRLLRRRRLLLRLRLRRRRLRLLLLRLLRLLLRLLLRLRRLRRLRLRLLLLLLRRRRLLLRRLRRLRRLRLRRRRLLRLRRRLRLLRRRRLLRLRLRRLLLRLRRLLLRRRLRLLLRLRRRLRLRLRRLLRLLRRRRLLRRRRRRRLLLRRLLRLLLLLLRLRRLLRLLRLRRRRRRLRRRLRRLRRRRLLLLRLRLRLRRRLLRRRRRLLRRLLLRRLLLLLLRRLRRRLLLRRRRRRRRLRLRLLRLRLRLRRLRRLRLLLRRRRLLLLRLRLLRRLLLRLRRLRRRLRLRRLLLRLLLRLLRRLRRLRLLLLLRRRLRLRRRLLLLLLLRLRRRLLLLLRLRRLLRLRRLRLLLRRLLRRLRLRLLRLRRRLLLLRRLLRLLLLRLRLRLLRLLLLRLLLLLRLLLRLRLLLRRLRLRRRRRLRRLLLRLLRLRRRRRRRLRLRRLLRLRRRLLRRLLLLRLRRLRRRLRLLRLLLRLRRLLLRRRRLRLLLRRRLLLLLRRRLLLRRRRLRRRLRLLLLLRRRRLLLLRRRRLRLLRLRLRLRRLRRLRLRLRLLLRLRRRLRLLRLRRRRRRRLLRLRLRRRLLRRRLRRLRRLLRLLRRLRLLLRRRLLLRLLLLRLLRLRRLRLRLRRLLLRRRRLLRRRLRRLLRRRRRRLLRLLRLRLLLLLRLLLLRRLRLLLRRRRRRRLLRLRLRLRRRLRLRLRLLLLLLLLLRRRRLRRLLRRRRLLLLLLLLLRLLLRRRLRRRRLRLRLLLRLLRLLRLRLRLLRLRRRLRLRLLLLRRRRRLLRRLRLLRLRRLLLLRLRLLRLLRRRLLRRRRRLRLRLLRRRLLRLRLRLRLLLLLLLRRLRLRLLRRLLLRLRRLLRLLLRLLRRLRLRLRRRRLLLRLRRLLLLLRRRLLLLLLLRLLLRRRRRRRLLLLLLRLLLLLLLRLLRLRRRRLLRRRLLLLLLLRLRLRLRRRLLRLLLRRRRRLLRRRLLLLLRRRLLRRLLRLLLRRLLLLRLRLLRRLLRRLRLLRLLLLRLLLLLRLRLLLRLLRRRRLLRRLLRLLLLRLLRLLLLLRLLRRLRLLLLLRRLLLRLLLRLRRRRRLRRRRRRRRLRRRRRRRRLRRLLLRLLRLLLLRLLLLRRRRRLLLRLLLLLLLRLLLRRRLLLRRRRRLLLRRLLLLRLRLLRRRRLLRLLLRRRRLLRLRLLLRLLLRRLRLRRRLRLRRLRLLLLLRLLLRLRRLLLRRRLRLRLRLLRLRLLRRLRLRLLLLRRLRLRLLRLRRRRRRLLRRLLRLRLRRLLRRLRRLLRLLLRRLRLRRRRLRLLLLRLRLRRRLLRRLLLRRRRLRLLLLLLLLRLLLRLLRRRLRLRRLRLRLLLRLRLRLRLLRRLLLLLRRLLRRRLRLLRRRLLLLLLLRRRLLLRLLLLLLRLLRRRRLRRLRRRRRRLRLRRRRLLLRRRLRRRLRRLLLRRLLRRRRLRRLRLRRRRRLLLLLLRLLRLLRLRRLLRRLLRRRRLLRRLLRLRLRLRLLRLRLLLLRLRRLLLRRLRLRRLRLRLLRLRLRLLRRLRLRRLRRRLLRLLRRLLRLRLLRRRLLRLLRRLRLLRLLRRLRRLRLLLRLRLRRRLRLLLLRLRRRRLRRLRRLRRRRRLRLLLLRLRLLLRLRRLRLRRLRRRLRLRRLLRRLLLRLRLLLRLRRLLLLLRLRLLLLLRRRLLRRRRRRRLRLRRRRRLLLLLRRLLRRLLLRRRLLRLRLRRRLRRLLRLRLRLRRRRRRLLRRRLRRLRRLLRRRLLRRRRLLRRRLRLRRRRLRRLLLLRRRRRRLLLLLRLRLLRLLLRLRLLLRRLLLRLRRRLLRRRLLLRRRRLLLLRRRRRRLLLRLLLLRLLRRRRLRLLRLLRRRRRRLLRRRRLRLLLRLRRLLLLLRRRRRLLLLLRRLLRRLLRLLRRLLLRRLLRLLLRRRRLLLRRLLLRLRRLLRRRLRRLLLLLRLLRLRRLRLRLLRLRRRRRRLRLLRRLLRLRLRLRRRLLRRRLLLLLLRRLLRLRLLRLLLLRRLLLLRLLRRRRLLLRRRRLRLLRLLRLLRRRLRLRRRRLLLRRLLRLLRRLRLRRLLRLRLLRRRLLRLLRLRRLRRLRLLLLLLLLRLLRLRRLRLRRRRRLRLLLLRLRLRLLLLLRLLRLRRLLRLLLRRRRLLRLRLRRLLLRLRRRRRLRLRLRLRRLRLLRLLRRLRRRLRRLRRRLRLRRLRLRLRRLLLLRRLLRLLRRRRLRLLRRRRRLRLLLRLLLRLRRRLLLLLRLLLLLRRLLRLRLLLRLLRLRLLRRRLLRLLLRRRLLLRLRRLRLLRRLRLRLRRLLLRLLRLRLRRRLRLRRRLRRLLLLRRRRRRRLLLRLRLLRLLRLRLLRLLLLRLRLRRLLRLLRRLRLLRRRLLLLRLLRRRRLLLRRRRRRRLRRLRLLRLRLRLRRRRRRRRLLRRRLRRLRRRRLLRLLRRLRRRRLLRRLLLRRRLLRLLRRLRRLRRRRLLRRLLLRLLRRLRRRRLRRRRRRLRRLRRRRLLRRRLLLRRLLLRRRRRRRLLRLLRLLRLRRLLRLLLLLRRLRLLRRRLLRRRRRRLRRLRRLRLLRRRLLLLRRRLLRLRRRRLLLLRLLLLLRLLRRRRRLLLLRRRLLLLLRLLLRLLRRRRRRLRRLRLLLLLLRLRRRLLRLLLRLLRLLLRLRLRLLRRRRLRRRLLLLRLRRRLRLRLLLLLRLRLLLLRLLRRRLRRLLLLRLRRLLRLLRRLLLRLLRLLLRRLRRRLRRLRRLLLLLLLLRRRLRRRLRRLLLLRLLRRRRLRLRRLLRRLRLRRLLRRRLLLLLRRLLRRRRLLLRRLLLRRLLLLRRRRLRLRLLRLRRLRLLRLRLLRLRLLRRLRRRLLRLLRRLRLLRLRLRLRLLLRRLLRLLRLLRRLLLLLLLRRLRRRRRRRLRLRLRLLRRLLRRLRLLLRRRRRRLRLLRLRRLLRRRRRRRLLLRRLRLLRLLRLRLLRLLLRRRRLRRRRRRLLLLRRRLRLLRLLRRLLRLRRLLLLLRLRRRRLRLRRLRLLRLRLLLLLRLRLLLRRLLRLLRLRRLRRLLRLRLLRLLLRLLLRRLLRRRRLRRLRLRLRRRLRLLLRRLRRLLLLLLLLRLLRLLRLLLLRLLLRLLLRLRRRRRRLRRLLLRLLRRRLRLRLRLLLRLRRLLLLRLLRLRLLRLLRLRRRLLLRRLLRLRLRRLLLRRRRLLLLLLLRLLLRRRLLRLRRLLLLRRRRLRRLLLRRRLRLLLLRRRRRRLRLRRRRRLRRLLRLLRRRRLLLLLRRRLRRRRLLRLLLLRRLLLRRLRLLRRRRRLLLRRRLLLLLRLRRLLRLLLRLRRLRRLLRLRLRRLLRRRRLLLRRRLLLLRLRLRRRLRLLRRRLRLRRLLRRLLLRLLRLRLLLRLRRLLLRLLLRLLRRRLRLRLLRLLLLLLRLRLRRRRLLRLRRRLRLLRRRLRRRRLRRRLRLLRLRRRLLRRLLRLLRLLRLRLRLRRLLLRLLLLLRLRRRRRLRLRLRLLLLRRLRRLLRLRLRLLRLLRLLRRLRLRLLRLRLRLRLRRLLLRLRRLLRLLRLLRLRLRLLRRLLRLLRLLLLLRLLLLRLLRLLLLLLLLLLLLLLRLRRRLRLLRRLLLRLLLLRRRRRRRRLRLRRLLRRLLLLRLLRLLRLRRLLRLLRRRLRLRRLRLRRRLRRLRRRRRRLLLLRLRRLLRRLLRRRLRRRRRLRRLLRRLRLRLLRLRLLLLLRLRLLRLLLRRRLLLLRRRLLRLRRLLLLRLLLLLRLRRRRRLRRLRRRRRLRRLLRLLLLRRLLLLRLLLLLRRRRLRRLRLLLLRRRRRLRRLLLRRRLRLRRLRRLLRLRLLRRRLLRRRLLRRLLRLLLRLLRRLLLRLLLRRLRRRLLLLRRLRRLLLLRRLLRLLRLRRRLLRLLLLRRLRLLRRLRLRLLLLLRRLLRLRLRLLLLRRLLRLRRLRRLRRLRRRLRRRRLRRRRRRRRLRLLRLLRRRRRRRLLRLRLRRLLRLRRRLRRLRLLRLLRLLLLRRRLLRRRRLLLLLRLRRLLRRRLRLLLLLLLLLLLLLLLRLLRLLRRLRRRRLLLLLLLLLLRLRRLLLLLLRLRLLRLLRLLRRLRLLLRLRRRRLRLRLRRRRRRRLLRRRLLLLRRRRRLRLRLLRLRRLRRLLLRRRLLRLLRRRRLRLLRLLLLRRLLLLRRRRRRLLRLLRLRLLRLLLRRRLLRRRRRRRRLRRLLRRRLLRLLRLLRLRLRLRRLRRRLLLRLRLLRRRLLLRRLLLLRLRLRLRRLRRLLLRLRRRRLLLLRLLLRLLRRLRLRRLRRRLRLLLRLRLRRLLLRLLRLLRLRRRLLRRRRLRLLLLLLLRLRRLLLRLLRLLLLRLLLLLRRLLRLLLLRRRLRRRRRLLLRRRRLLLRRLLLRRRRRRLLRLRRRLLLRRRRLRLRRLLLRRLRLRRRRLLLRRRLLLRRRLRRLLRRRRRRLLLLRLLRRRRLLRRRLLLLRLLLLRRLLRLLLRLRLLRLLLLLLRLRRRRLRLRLRRRLLRLLLRRRRLRLLLRRRRRLLRRRRLRRLRRRLRLLLRLRRLLRRLLLLRLLLRRRLRRLRRLLLLLLRRRRRRLLLLLRLLRRLRRLRRRLLRRRRLRLLRLRRLRLLLLRRRRRRRRLLLRRRRLRLRLRRRRLRRRLLRLLRLRLLLLRLRRRRLRRRRRLLLRRLLLRRRLLRRRRLRRLRRLRRRLRLLLRLRRLLLLLLRRRLRLLRLLRRRRRRLLRRLLLRLLLRRLLLLLRLRLLLRLRRLLLLLLLRLRLRLLRRLRRRRRLRRRRRRRRLRLRRRLRRLRLLLRRLLRLRRLRRRLRLRRRRRRLLRRLRLLLLLLRLLLRRRLLLLLLLRRRRLRRRRLRLRLLRLRLLRRLLLLLLRRLLRLLRRLRLLRRRLRRLRRLRLRLLLLRRLRRLLRLLLLRLRLRLRLLRRRRRLLLRRLRLRRLLRLRLRRRLLRRRRRRRLRRLRLLLLRRLRLRRLRRLRLRLRRRRRRLRLRLRRLRLLLLRRLRLRLLLRRLRLRLLRRLRRLLLRLRRRRRLRRLRRLLLRLLRLRRLRRLRRRRLRRLRRLLRRRLRRLLRLLRLLLLRRRLLRLLLLLLRRLRLLLRLRLLLLLRLLRRRLRLLRRLLRRRLRLLLRLRLLLRRRLLRRLRLRLRLLLRLLLRLLLLLLLLLLRLRLRLRRRRRLRLRRLLRRLRRRLLLRLRRRLRLLLLRLLRLLRRLLLRLRLRLLRLLRLLRLRLLRRRRLLRLLLRLRRLRLLRLRLRRRRLLLRLRRLRLRLLRLLLLLRLLLLLRRRRLRLLLRLRRLRLLRLLRLLLRLLLLRRRRRLLRRRLRRLRLLRRRRRLLLLLRLRLRRLLRRLLLLLLRRLLRRRLRRLRLRRRLLLLLLRLLRLRLRLLRLRLLLRLLRRLRLLRRRLRLRLRLLLRLLLRRLLRRRLLLLLLLRRLLLLLLLLRRRLRLRLLRRRLRLLLLRRLRRLRLRLRRLLRLLRRLRLRLLLRRLRLLLRRRRRRLLLRLLLLRRLLRRRRRLRRRLRRLLRRRRRLLLRLLLLRRRRLLRLRLRRRLLLRRRRLRRRLLRLLRLRRRLLRRRRRRRRRLLLRLRLRRRRLLRRLRRRRRLLRLLLRRLRRRRLLRLRRRLLRRLLRRLLLRRLLLRLRRLRLRLLRRLLLLRRRLLRRLRLLLRLLLLLLRRLLLRLRRRRLRLLLLRRLLLRLRLLLLRLRLRRRLRRRRLLLLLRRRLRRRRRLLRRLLRRLLRLRLLLLRRLRLLRRRRLRLRRLRRLLRLRLRLLLLLRLRLLRLLLLRRLRRRLRRLRRLRLLLLRLLLRRLLLLLLLLRRRLRLLLRLLLRRRLLLRLRRLLRLRRLLRLLRLRRLRRRLLRLLRLRLRLLLLRLLLRLRRRRRRRRRLRRLLRLLLLRLLRRLRRLRRLRLLRLRRLRLLLLRLRLLLRLRRLRLRRLRLLLRRLRLRRLRRLRLLRLRLLLLLRLRLRLLRLLRLRRRRLRRRRLRRRRRRLRRRLLRRRLLRLRLLRLLRRLRRRRLLRRLLRLLLLRRLLLRRRRLLLLLLRRRRLRLRLLRLRRLLRRRRRRRRLRRLLRLRRRRLRRLLRRRLRLLLRLRRLLRLRRRLLRLLRLLRLRLLLRLRRLLLLRLRRRRRLLLRRLLRRLLLRRLLLLLRLLLLLLRRRRRLLLRRRRRLLRRRRLRLRLLRLLRRRRLLLLLRLRLLLLRLRRRRRRLLRLRRRLLLLRLRLLRLLRLLRLLLLLLRRLRRLRRRRRRRRRRLRRLLLLRRRLLRLRLRLRLLLRLLLLLRRRRRRRLLRLRRLLRRRRLRLRLRRLRRLRLLRLRLLLRLLLLRLLRLRLRLRRRLLRRLLRLLRLLLRRRRRLLRLRRRRLRRLRLLRRRRLLLRRRLLRLLLLRRLRRRLLLLLLRLLLLLRRLLRRLRLLLLRLLLRRLLLLLRRLLLLLLRRRLRLLLRRLRRLLRRLLLRLRRLRRRRLLLRRLRLRRLLRLRLRLLRRRRLLLLLRLLLRLRLRLRRLRLLLLLRRLRLLRRRLLRLRLRLLRRLLRLRRLLLLRLLRRRLLRRLRLLLRRRRRLLLRRRLRLLLRLRLRLRRLLRLLRLLLLLRLRRRLRRLRLRLRRLLLRRRRRLLRLLRLRRRLLRRRRRLRLLRRLRLRLLLRRRLLLLRLLRLLRLLRLRRRRRLRLLRLLRRLLLRLRLLRLLLLRLRRLRRLLRRRLLLRRLLRLRLRLRLLLLRLRRRRRRLRRLLLLLLLLRLLLRRRRRRLLLLRRRLLRLRLLLLRLLLLLLRLRLLLLRRLRRRLLLLLLRRLRLLLRRRLRLRRRRLLLLRRRLRRLLLRLLLRRRLLRLRLRLLRLRRRLRRRLLRLRLRLLRLRRLRRLRRRLLLLRRRLLRLLLLRLRRRLLRLLLRRRLLRLLRRLRLLRLRRRRRRLLRLRRRRLLLLLRRLRRLLRLRLRRLLRRRLLLRRRLRLRRRRLRRLLRRRLLLRRLLRLRLRLLRRRRRLLLRRRRRRRRLRRLLLRRRRLRRLRLRLLLLLRRRRLLRLRLLLRRLRRLLLLRRRLLLLRRRRLRRLRLLLRLRLRRLRLLLRRLLRRRRLRRLRLRLRRRRLRRRLRRLRRLRRRRLRLLLRRRLRLRLRLLLLLLLRRRRRLLRRLLLRLRRRLRRRLRRLLRRLRLLLLRLRRRRLRLRRLRRLLLRRLRLRLRLLLRRRLLRRRRRRLRRLLRRRLRRLRLLLRRLRRRLLRRLLLLLRLRLLLRRRLLLRLRLRLRLLLRRRRLRRLRRLLRRRRRRLLRRLRRRRRRLRLLRRLRRLRRLLLLRRLRLLRLRRRLLRLLRRLLLRLRRLRLRLLRLLRLRLLLRRLLLRRLRLLRLRLRLLLLRLRRLLLRLRRLLRLLRLRLLLRLRLLRLLRRRRLRLLLLRRLLLRRLLLRRLLLRRRRRRLLRRLRLRRLLRLLRLRRRRRRLRRRRLLLLLRLLRRLLRRLRRRLLLLLLLLLLRLLRRRRRRRLRLLLLLLLRRRLRLRRRLLLLRRRRLLLLRLLLLLLLRRRLRLLLRLLLLRRRRLRRLLRRRLLRRRLLRLLLLLRRLRRRLRRRLRRLLLRRRRRRRRLRLLRRRLLRRRRRRLLLLRRRLLRRRRLRLLRLLLLLLRRRLRRRRLLRRRLLLRLRRRRRLLRRLLLRRRRRLRRLLRLLRRRRLLLRLRLRLRRRLLLRRLLLLRRLLLLLLLLRRRRLRLLLRLLLRRLLRRLRLLLRRRLLLLRRLLLRRRRRRRRLLLLLRRLLRRRLRLRLLRLRRRRLLLRLLRRRRRRLRLRRRLLRRLLLLLLRRRRRLRLRRRRRLLLRLLRRLLLRRLRRLLLLRRLRLLLRLRLLLLRLRLLLRRRRRLRLRLLRRRRRLLRRLRLRLLLRLRRLRRRRLLRRLLRLRLRRRLLRLLRLLLLLLRRRLRLRRRLLRLLRLRRRLLRLLRLRLLLRRLLRLLLRLLRLRLRRLLLLRRRLLLLRRRLRRRLLRLRLLRRRRRLRRRRRLLRRRRRRLRLRRRRRRRLRRRLRRLRRRLLLLRRLLLRRRRRRLLRLLLRRRLRLRRRRLLLRRLRLRLRLLLLLLLLLRLLLLLLLRRRLLLLRRLLRLLLLLRRRRLLRLRLLLLLRLLRLLLLRLRRRLRLRLRLRLLLRRRLLRRRLRLLLLRLRLRLLRRRLLRLRLRRLRRLLLLRLLRRRRLRRRLRLLLLLLLLLRLRLRLLRRLRRLRLRRRRLLLRRLRRLRLLLRRRRRRRLLLLRRLRLLLLRRRLLLLRRLRLLRLRLRRLRLRRRRRLLLRLLRLLRRLRLRLRLLLRRLRRLLRLRLLLRRRRRRRRLLLRLLLLRLLLRRLRRLRRLLRLRRRRRRRRLLLRRLRRRRLRLLLLRRRLRRRLLRRRRRRLLRLLLLRLLLLLLLLLRRRLLLRRRRLRRLRRLRRRRLRLLLRRRRLRLLLLRRRLRLLLRLRRLRRLLLRLRRLRRRLRLLRLRRLRLRRRLRRLRRLRLRLLRRRRLRRLRRLRRLLLLLRLRRLLLLLRLLRLRRLRRLLRLRLRRLRRLRLRLLRLRRRRLRLRRLLRLLRLRRRLRRRRRLLLRLLLLLRRRLRLRLLLLRLRRRRLLRLRRLLLRLLRLRRRRLRRLRLRRRLRLRRRLLLRLLLLRLLLLRLLLLRLRRLLRLLRRLLRRRLLRLRRRRLRLRLLLLRLLLRLLLLRRRLRRLLRRRRRRLLLRRRLRLRLLLLRLLLLRLRRLLLLLLLLLRRLRRLRRRLLLRRRRLRLLLRRLRRRLRLRRLRRLLRRRRRLLLLRLLLRRRLLLRLLLLRLLLLRRRRLRRLRLLLLRRRLLRLRRRRLLLRLLLLLRLRLRLRLLRLLRLLLLLLLRLRLRRRLRLRLLRRRLLRRRLLRRRLRLLLLLRLLLRRLRLRRLRRRRRLLLRLLRLLRLRLLRLLRRLLLRLRLLLLLLLLLRLRLRLLLLLRLLRRLLLLLLRRLRLLRLLRLRLLRRLLLRRLLLLRRLRRRLLLRLRRRRLRLLLRRLLRRRLRLLLLLLLRLRLRRLRRLRRLLLLLLRRLLRLLRLLRRLRLRLRLRLLLLRLRRRLLLLRRRLLLLLLLRLRLRLRRRRRLLLLRLRRLRLLRLRLLRRRRRRLLRRRLLRRLRRRLRLLLLLRLLRRLRRLRRLLLRRRLRRLLRRRLLRRLRLRLLRRRLRRRLRRRRRLLLRLRLRRLLLLRLLLLLRLRLLLRRLRRLLRLRRLLRLLRLRLLLLLRRLRLLRRLLLLLLLLRRLLRLLLRLRLRLRRRRRRRRRRLRLRLRRRLLRRLLLRLLRLLLLRLLLRRLRRRLLLRRLLRLLLLLLLRRRLLLRLRRRRRRLRRLLLRLLLLRRRRLLLLLLRLRRRRRRRLLLLLLRLRLRLLRRLLLRRLRRLLLRLLLLRRRRLLLLLRLRRRLRLLRLRLLLRLRRRLLLLRRLRLRRLRLRRRRRLLLRRLLRLRLRRLRRRLRRRLLLLLRLLLRLLRRRLLLLLLLRRRRRLRRRLLRLRRLLRLLLLLLLLRLLLRLLRRLLLLLRLRLRLLRRLRLRRLLLRLLLLLLRRLRRRRLRLLRLRLLLLLLLRRLRLRRLLLLLLLLLRRRRLRRLRLLLLRLLRRLRLLLRRLRLRRRLRRRLRRRRRLRRLRRRLRLLRLRRLLLLLRRLLRLRRRLRRLRRLLLRRRRRRRLLRLRLLLRLRLLLLLLLRLLRRRRRRLLLRLLLLRRLRRRLLLLRLRRLRRLLRRLLRRRRLLLRLLLRRRLRRRLRRRLRLLRLLRLRLLLRLLLRLRLRRLLRLLLLRLRRRRLRLLRRLRLRRRLRLLLLLRRLLLRLRRRRRRRLRRRRRRRRLLRRRLRLLLLLLRLRRLLLLRRLRLLLLLRLRLLLRLRRRRLRLRRRRLLLLRRRRLLLRLLLRRRLLLLRLRRRLLRLLRRRLRRRRLRLRRLRRRLRRLRRLRRRRLRRRRRLLRRRLLLLRRRLRRLLRRRRLRLRLRRRLRLLRLRLRLLLRLLLRLLLLLLLRRLLRLRLLLRRRRLLLRRRRRLLLLLLLRLLLLRRRRRLLRLRLLRRRRRLLLRRRRLLLLRRLRLLRLLLLLLRLLLLRLRRRLRLLLRLRLRRRLRRLLRLLRRLRLLLLLRLLLRLRRLLRLLLLRLRRLLRLLRLRLLRLRLLRLLRRRRRLLRLRRLLRLLLRLLRRLLRRRRLRLLLRRLLRLLLLRLLLLRRLLLLRLLLRRLLRRRRRRLRRRRLLRLRRRRLRLRRLRRLLRRLRLLLRRLRLLRRLRRRLLLLRRLRRLRRRLRRRRRLLLLLLRRRLLRLRRLLRRRRLRLRLLLLLLRLRRLLLLRLLRLRRRRLRLRRRRLRLLLRLRRLLLRRRLRLRLRLRLLLRRLRLRRLLRRRRRRRRRLRRLLRLLRLRLRLRRLLLRRLLLRLRRRRRRRLLLRRRRRLLLLRLRRRLRRRLLLLLLLLRRLRRLLRRRLLLRLLRRRLLRRLRLRLLLRLRRLLRRRRLRRLRLLLLRLRRLLLLLRRLRLRRRLLLRRLLLRRRLLRLRRRLRRRRRLRRLRRLLLRLRRRLLLRLLRRRLLRRLLRLLLLRRRRRLLRRLRLRRRLLRRRRRLRLLRRRRLLLRRRLRRLRLRRLLLLLRLRLLRRRRRLRLLRRRRRRRLLLRLLLLRRLRLLLLRLRRLLRLRRLRRLRLRRLLRLLRRRLRRRRRLRRLLLLRLRLRLRRLRLLLLLRRRRRRRLLRLLRLRLLRRRLLRLRLLRRRLLRRRRLLRRRRRRLRRLRLLRLLLLRRLLRRRRRLLLRRRRRLLRRLLRLLLLLRRRLRLLRRRLRLLRRLLRLRRRLRRLRRRRRRRRRLRLRLRRRRRLLLLRLLRRRRLRRLLLLLLRLRRLRLLLLRLRLRRRRRLRRLLLRRLRRLRLRRLRLRLRRLLRRRLLRLLLLLLLRRLRLLRRRLRLRLRRLLLLRRLLLLRLLRLLRLRRLRRRLLRRLLLRRRRLLLLLRLRLRRLLRLLRRRLRRLLLRRLRRLLRRLLRLLLRRLLLLRLRRLRLRLLRRRLLRLLRLRLLRRRRLRRRRRRLLRRLLRLRRLRRRRRLRRLLRRLLRLLLRLRRLLLLLLRRRLLLLLLRRLRLRLLRLLLRLRRLRLLLLRRRRRLRLRRLRLLRRLRRLRRLLLRLLLLLRLLLLRRLRLLLRLRRLRRRRRRLLLLRLLRRLLRLRRLLLLLLLLRLRRLLRLRLLLRRRLRLLLRRLLRLLLLLLLLRLRLRLLRLRLLRRRLRLLLRRLLLRLLLRRLLRRRRLRLLLLRLRRRRRLLLRRLRRLRRRLRLLRLLRLLRRLRLRLRLRRLLRLLLLRRRLRRLLLRLLRRLLRLRLLLLLRRLRLLRLLLLLLLLLRRLRRRRLLRRRRLRRRRLRRLLRRRLLLRLLLLRRLLLRLRLLRLRRLLLLRRRLLRRLLLRRLLRRLLLRRRLRRLLLLRRRRLRRLRRLLRLLRRLRRLLLRLLRRRRLRRLLLRRLLLRRRRRRRRRRRLLLRRLRLLLLRLRRLLLLLRRLRRLLLLRRLRLRRRLRRRRRLLRRRLLLLRLRLRLRLRLLRLRLLLRRLLRRLLRRLLRLRLRRRLRRRLLRLRLRLLLLRLRLRRRRLLLLLRLLRRRRLLLLLLRRRLRLRLRRLRRRRRRRRLRLRRLRRRLLRLLRRLLLLLLRLLRLRRRLLRRLLRLLLRRLRRLRLRLRRLLLRRLRRLLRLRLRRLRLLLLLLRLRLLLLRRRLRRRLLRLRLRLLRLLRLLRLLLLLLRLLRLLLRLLRLRRLLRRRLLLRLRLRRLLLLLLLLRLRRLLRRLRLRLRLRLRLRLLRLRRRRLRRRLLRLLRRLLLLRLLRLRRLRRLLRLLRLRLRRLRLRRRRLLRRLRRRRRRLLRLLLRRLRLRLLRLRLRLLRRLRRLLRRLRLLLLRLRLLLLRRLLLRRLLLRRLLRLLRRRLRRLRRLRLLRLLRLLRLRRRRRLRLLLLLRRRRRRLRLRLLRRLLLLLLRRLLLRRRLRLLLRLLRRRRRRLRRLLLRRRLRLRLLRLRLLLRLRRLRLLLLRLLLLRLLLLLRLLRRRLRRLRLRRRRRRLLRLRRLRRLRLLRLLLRLLRRRRRLLRRRLLLRLRLLRRLRLRLLRRLRLRLRLLLLLLRRRLLRRRRLLRRLLRLRLRLLRRRLRRLLRRRRLRLLRLLRRRRRRRRLRLRLRLRRRLRLRLRRLRRLRLLLRLRLRLRLRRLRRRLLRLRLLLLLRLLLRLLLLRLLLLLLLRRLLLLRLLRRLRRRRLRLLLLLLLRLLRLLRLLLLRRRRLRLRRRLLRLRRRLRRRRLRLRLRLRRRRRRRRLRLLLLLLLLLRRLRRLLLLRRRLRRLRLRLRRLRLLLRRRRRRLLLLRRRRRLLRRRLRRLRLLLLRLLLRLLLLRRRRLRRRRRRRRLRRLLLRRLLLLLRLLRLRLRLRRLRRRLRLLLRLLRRRRLLRRLLLRRLRLRLRRLRRLLLRLRRRLLRRLRLLLRLRRRLRLRLLRRRLRLLRRRLLLLRRLLLLRLLRRRRRLLLRRRLRLLLLRLLRLRRRRLRLLRLLLLLLRRLRRRRLLLRLLLRRLRRRRLLLLRRRRRRRRLLLLLLRRRRLLRLRRRLLLRRRLRLLRLLLLRRLRLRRRLLRLLLRLLRRRRRLLLLLRRRRRLLLLRLRRRRRLLRLRRLLLRLRLRLRLRRRRLLLLLLRLLLLRRRLRLRRLRLLRRRRLLRLLLRRRRLRRLLRRRRRRRRRLRLRRLRLRLRLLRRLRRRLRLLRLRLLRLRRLLRRRRRLLRLRLRRRRRRRRLLLRLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRRRLRLLLLRRLLLRLLLRRLLLRRRLRRLRLLRLLLLRLLLRRLRRRRRLLLLRLLRLLLRRLRRRLRRLRRLRRRRRLLLRLRLLRLLLRRRRLRLLRLLLRRRLLLLLLLLRLRLLLLRLLLLRRRLLLRLRLRLLLLLLRLLLLLLLRLRRLLRLLRRLRRLRLRLRRLRRRLLLLLRRRLLLLLRRRRRLLRLRRRLLLLRLLRLLRLLLLRLRLLLLLLLLLRLRLLLRRLLLLRLRRLLLRRRRLLLLLRLLLLLLRRLRRLRRRLRRLRRRRRRLRRLLLLRRLLRRLLLRLRLRLLLLLLRLRLLLRRRRLRLLRRLLLLRRLLLRRRLRRRRRLRLRRLRLLRLRRLRRLRLRLRRRRRRRRLRLRRLRLLLLRRRRLLLLLRRLRRRLRRRLRRLLRRRLLRRRLRLRRRLLRRRRLLLRRRRLRRRLLLRRRRRLRRRRRRLLRLLLRLLLRLRLLRLLLLLLLRLRLLLRRRLRLLLRLLRRRLLRRLRLLRRRLLLRLRLLLLRRLRRRRRLRLRRRLLRRRLRRRLLLLLLLRLRLRRRLRLRRRRLLRRRLRRLRRRRLLRLRRRLRRLLLRRRRLLRRRLRRLRLRLLRRLRLRLLRLRLRRRLLRLLLRLRRLRRLLLRLRRRRLRLRLRLLRLRLLLLLLLRRLLRLLRRRLLRLLLLRLRLRLRRRRLLLLRLLLLRRRRRRRRRRLRRRLLLRRLRRLLRLLRLRLLLLLRRLLLLLLRLRLRRRRRRLRLRRRLRRRLLRLLRLRLRLRRLRLLLRLLLRRRLLRRRLRLRLLLLLRLLLRRRLRLRLLLLLRLLRLLLLLRRLRRRRRLRLLRLRLRLRLLRLRLRLRLRLRLLLLLLRRLRRLLRLLRLLLLLRRRRLRLLLRRLLLLRLLRRRRRLRRLLRRRLRLRRRLLLRLLLLRRRRRLRLRLLRRLLLLRLLRRRRLLLLLLLRLRRRLRRRRLLRRRRLRLLLLRLLLRLRRRRLRRRLRRLRRRLRRLRLLLLRRLLLRRLLRRLRLLRLLLRLLRLLLRLLLRLLRLRRLRLLLLRLLLLLLLLLLRRLRLRRLRRRLRRLLLRLRLLLLRLRLLRLRLLRLLRRLRLRRRLRLRLLLRLLLLLRLRRRRLRLRLRLLRRLRLLRRRLLRLLLRLRLRRRRLRLLLLRLLLRLRLLRRRRLRLLLRRLRRLRLLRLLLRRRRLLRLLLRLLRRRRLRLRLRLRRLLLLLLRRRLRLRRLRRRLRLRRLRLRLLLRLRLLLLRLLRLRRLRRRLRRRLRRRLRLRLRLRRRLLLRRRRRLRRLLLLLLLRLRLLRLRLRLLRRLRRLRLRRLLLLRRRLRLRRLLRRRLRRLRRLLLLRRRLRLRLLLRRLRRRLRRRRLRRRRRRLRRRLRRRRLLRRRRLRRRRRLRRRRRLRRRLRLLLLRRLLRRRRRRLRRLLRRRLLRLRLLRRRRLLLRRLRRRLLRRLLRLRRRRLRRLRRRRLRLLLLLLRLLRLRRRLRRLLRRLRLRLLLRLRRLLLLRLRRRRRRLLRRLLRLRRLLRLLLLRRLLRRLLRLRRLLLRRLLRRRLRLLRLRLLLLRRLRRRLLLRRLRLLLRRRLRRLRRRRLRLRRRLRLLLRLRRRRRLRLLLLRRLLRRRLRRLRRRRRRRLRRLRRRLRLLRRLLRLLLRLRLLLLRLLLRRRRRRLRLLRLLRRLRLRRLRRRLRRLRRLRLRRLLLLLLRLLLRRLRLRLRLRRLRLLRLLRLRRRLLLRLRRLLRRRRRLLRRRRLLRRLRLLLRRLRLRLLLLRRLRLLRLLLLLRLLRRRRRLRRLRLLLLLRLLLRLRLLRRRRLLRLLLLRLRRLRLRRLLRLLRRLRLRLLRLRLRLRLRRRRRLRLLLLLLLLLLRRLLLLRLLRLLRRRRRLLLRLRLLRRLRRLLRRRRRLLRLRLRLLRLRLRRRRLLLLRLRRRRRLRRRRLRLRRRLRLRRRRLLRLRLRLRLLLRRLRLLLLLLLLRRRRLRLRRLRLRLRRLLLRLRRRLLRLLRRRRRLLRLLRRRRRLRRLRRRLLLRRRRLLLLLRRLLLRRRLRRLRRLRLRRLLRRLLLRLRLRRLLLLRRLRRRLLLRRLLLLRLLLRRRLLLRLRLRRRRRRRLRLRRRRLLLRRLRLLLRRLRLRRRLLRRRRLRLLRLLLRLRLLLRLLRRLLLRRRRRLLLLRRLRRLLRLRRRRLRLLLRRLRLLRRLRRRRRRRLLRLLRLLLLRRLLLLRRLRLLLLRRRRLLRRLLRLLLRLRRRRRRLLRLLLLLLLLRRLRRLLRRRLLRLLLLRLLRRRRLLLRLRLRRLLLRRLRRRLLLRLLLLRLLLRLRLRRLLRRLLLLRLLLRLRRRLLRRLLLRRLRRRRLRRLRRRRLRRLRLRLLRRRRRRLLLRLLLLRRRRLRLLRLRRLLLLRRRRLLLRRLLRRRLRRRLRLLRRLRLLRLRRLRRRRLLLRRLRRRLRLLLRRLRRRRRRLRRRLRLRRRRLLRLRRRLRRLRRRRLRRLLRRRLRLRLRLLLLLRLRRRRRLLRLLLRRLLRLLLLRLRRLLLRLRLLLLRLRRRRLRLRRLRRLLLLRRLRRRRLLLRRRRLRLRLLLRLLLLRRLLRLLRLLLRRLRRRLLLRLLRLLRLRLRRRRRLLLRLLLLLRLLRRRLRLLRRLRLLLLLRRRRLRRLLRLRRRLRLLRRLRRRRRLLLLRRLLLLRRLRRLLRLLRRLLRRLRLLLRRLRRRRRLRRLLRRRLLRLRLRRRRLLRLLLRRRRLLLRRLRRLLRRLRLRLRLRLRLRRLLRRRRLRLRLRRLRRLRRLLLRRLRLLLRRRRLRRRLRLRRLLRLLRLLRRRRRRRRRRLLLLLRLLRRLLRRLLRLLLLLLLRRLRRLLRRRRRLLLRLLLLLLRLRRLRLRRRLLRRRRLRRRLLRRLLRLLLRRRLLLRLRLLLLLLRRLRLLLLRRLLRLLLRRRLLLLRLLLRLRLRRLLRLLLRRRRRRRLLRLLRRRLLRRRRRRLLLRRLRLRLRRRLRRLRLLLRLLRRRRRRLLLLRLRLLLRLRLRRRLRLRLLLRLRRLLRRLRRLRRRRLRLLRRRLLRRRRRRLRRLLLLLLLLLLLLLLRRRRLLLLLRLLRRRLRRRLRLLLRRRRLLRRRLLLRRRLRRLLRLLRRRRLLRRRLRLRLLLRRLLRLLLLLLRLRRRRRLLRRLLRRRLLLLRLRRRRRLRLLRRLRRLLRLLLRLLLRRLLRRLLLRRRRLRRRRRLLLLRLRLLRLRLRLLRLRLRRRLRRRLRRLRRRLLRRLRLRRRLRLRRRLLRLRLRRRLLRLLRLLLLLLRRRRLLRRRRLLLLRLRLLLRLLLRRLRLLLRLRRRLLLRLRLRRRRRLLLRRRRLLLRRRLRRRRLRRRLLRRLRRLRLRRRLLRRRRRRLLRRRRRRRRLRLRLLRLLRRRRLLRRRLRRRRRRLLLRLLRRRLRRLRRRRLLLLLLRLRRRLRLLLLLLLRLLLLRLRLRRLLLLRLLLLLRLLLLRRRLRLLLLLLRLRLRLRLRLRLLRLLRLRLLRLLRLLRLLLRRLRRRLLLRLRRLLLLRRRLLLRLRRLRLLLLLRLRRRRRLRLRLRLLLLLLLLLLLRLRLRRRRLRLRLRLRLLLLRRLRLLRRLLRRRRRRRLRLLRLLRRRLRRLRRLRRRLLRRLLRRLLLLRLRRRLRRRLRLLRLRRLLRLRLRLLLRRLRLLLRLLLLLRRRRLRRRLRLRLLLLRRLLRRLRLLRRLLLLLRRRRRRLLLLLRLRRLRLRRLLRRRRRRRRRRRRRRRRLLLLLLLRRRRRLRLLRRLLLLLRRLLLLRLRRLRRRRLRLLLRLRLLRLRLLRRRLRLRLLRRRLRLLRLLLRLLRRRLRLLRLRRLRRRLRLLLLRLRRLRLLRLRRLLRLRRLRRRRLLLRLRRLLLLLRLLRRRLRRRLLRLRLLRRLLRRLRLRRLRRLRLRLRRLLLLRRLRRRRRRRRRRLRLLRRRLRRRLLLLRLLLLLLRRRLLRLRLLLRRLLRLLRRLLRRLLLRLRLRRLLRRLLLLLLRRRLLLRLLRLRRRRRLLLLRRLLRLRLLRRRRRRLRLRLRLLRLRLRLLLLRRRRRRLLRRRLRLLLLRRRLRLRLLLLRRLLLLLLRRLRLLLRLLRRLRRLRRRLLLLRRRLRLLLRLLLRRLRLRRLLLLLRRRLRRLLRLLLLRRLLLLRLRLLRLLLRLLRRRRRLRLLLLLRRRRLLRRLLLRLRLLLLLRLRRLLRLLRLRRLRLLLLRRLRLRLRLRLRRRRRRLLRRRLLRRRLLLLLLLRRRLLRLRLRRRRRLRLRRLRRRRRLLLRLLRLRRRLLLRRRLRRLLLLRLRLRLRLLLLLRLRRRLRLRRLRRLRRRLLLRLRLLLLLRLRRLLLRRRLRLRLRLRLRLRRRLLRLRLLLRRLRRLLLLLLLRLRLRRRLRRRLLRRLRLRRLLRLRRLLRLLRLLLRLRLLLLLRLRRLLLRRRRLLLLLRLRRRLRLRRLRLLLLLRLRRLRLLRRLLLRRRLRRRLRRRRLRRLRRLRRLLLLLLLLRRLRLLRLLRLRRRLRRLRRLLLRRRRRLRLLRLRRRRRLRRRRRLLLRLRLRLLLLLRLLRLLLLLRLLLRLRLLLRRRRLLRLLRLLLLLRRRRLLRRLLLLLLRRLLRRLRRRLRRLRLRLRRLRRRLRLRRRLRLLRRLRRRLLLRLRRLLLLRLLLRRLLRLRLRRRRRRRLLLLLRRRLLLLLLLLRRRRLRRLLLRLLRLRLRLLRLRLLRLRRRRRRRRLLLLLRLRLLRLLRLLRRLLRRLLLRLRRRRRLRRLRLLRLRRLLRLLRLRLRLRLRRRRRRLRRLLLRRLLRLRLRRLRLRLLLRRRRRRRRRRLRLRLLLRLRLLLRLLRRRLLLRLLLLRRRLLRRRLRRLRRLRRLLLLRLRRRLLLRLLRLLLLLLRLRLLLRRRRRLRRLLRRLRLLLLRLRRRRLRRLLLLLLLRLLLRLRLRLRRLRLRRLLLRRRLRLLRLRLLLLRRLRRLRLLLRRLRLRRLLLRRLRRLRRLLLLRRLLRLLRLRLLLLLLRRLLRLRLRLLRLLRLRLLLLRRRLRRRLRLLRRLRLLLRRLRRRLLRRRLLLLLRLLLRRRLRRRLLLLRLRRLLRLLLRLLLRRLLLLRLLLRRRLRRRLRRRLLLLRRRLLRLLLRLRLRLRLLLLLLLRRRRLRLLLLLLLLLLRLRRLRRLLRRLRRRLLRRRRRLRRRRRRLRRRLRLRRRRLRLRLRLLLLRRLRLLRRLRRLLLRLLLLLLRLLRLRLLLLLLLLRRLRRLRLRLLRLLRLRLLLRRRRLRRLRLLRRRLRRLLLRLRRRRRRRRRLLRLRLRRLRLRRRRLLRLLLLLRLLRRLLRRRRRLRLLLRRRRLLLRLLLRLLLRLRLLLLLLLRLLRLLLLRLLLRLLRLRLRRRLRLLLLLLLRRRLLRRRRRLLRLRRRRLRLRLLRLLRRRLLLRLLRLLRLLLLLLRLLRRRRRRRLRLLLRLRLRRRLRRRLRRLRLLRLLLRLLRLLLLLLLRLLLLLLRRRLLRRLLLRLLLRRLLRLLRRRRRLLRLRRLRRLLLRLLRRLLLRRRLRLLLRRRLLLLLRRLRLRLRLLLLRRLLLRLLRRRRRRLLRRRLLRLRRRLLLLRLLRRLLRRRRLLRLLLRRLRRLLRLLLLLRRLRRLLRRLRRRRLLLLLRLRRLLLRLLRLLRLRRLLRLRRRLLLRLRRRRRLRRRRLRRRRLRLRRRRLRLLRRRLRLLLRRRLRLRLLRRRLLRLRLRRLLLRRRLLRRRRLRLLLRLLRLLRRRLRRLLRRLLRLRRLLLRRRLRLRRRRRLLRRLLRRRLRRLLLLLRLLRRRRRLLLRRRRLRRLRRRRLRLLLRLLRLLRLRRLLRRLRRRRLLLLLLRLLRLLLLRRRLRLRRRLLRLRLLLRRRRRLLLRRLRRRRRLLRLRRLLLLRRRRRRLLLLRRLLLRRRLLLLLRRLRRRRRLRLRLRRRRLRLRLRLRLLRRLRLLLRRRLLRLRLLRLRLLLRRLLLLRLLRLRLRRRRRLRRLLLLLRRLLLLRLLLLLLRLRLRLRRRRRLRRRRRLRLLLRRRRRRRLLRRLRLLLLRLRLRRRRLLLLLRLRRRLRLLLLLLLRLLLRRLLRLRRLRRRLRRLRLLLRLRLRRLRRLRLLRLRLLRRLRRLLRRLLLRRRRRLLRRLLRLLLLLLRRLLLLRRRLRRRRRLLRRRRRLRRLRRLRRRRRRLRLRLLRRLRLRLLRRLRRRRRRRLLLLRRLLRRRRLLLLRRRRRRRRRRRRRLLRRLLRLRLRRLRLLRLRLLRRRRLRRRLRRLLRRRRLLRRRLRLRLLRLLLRRLLRLLRRRRLLRRRRLRLLRLRRLLRRLLLRLLLLRLRLRRLLLRRRLRRRRLLLRRLLRLLRRRLRLLLRRLRLRRLLLLLLRRLRRLLLRLLRLLLRLRRRLRRRLLRLLRRLLRLRRRLRRRRLLRRLRLLRRLLLRLRRRLRLRLRRRLLLLLLRRLRRRRLRLLLRLRRLRLLLLRRRRLLRRRRRRLLRLLLRLLRLLRLLRLRRRLLLLLRRRLRLRLRRLRLLLLRLLLLLLLRRRLRRRLLLRLLLLLRLRRLRLLRLRLRRRLRLRLRLLLRLLLLLRLRRLRLLLLRLRLLLRRLRRLLRRRLRLLLLLRRRRRRRRRLLLLRLRLRRRLLLRLLRLLRRRLRLRLLRRLRRRRRRLRRRLRLLRRLLLRLLLRRLLLRLLRLLLLRLLLLRRLRLRLLRLLLRLRLLLRRRLRRRLRRRRRLRLRRLLLRLRRLLLLRLRLRRRRRLLLRLLRLRRLLRLLRLLRRRLLLRRLRLRRLLLRLLLRRLRLRRRLLRRLRRRLLLLLRLRRLLLRLLRLRRLLRLLLRLLLRRRRRRRLRRRRRLLRLLRLLLRLLLLRRLLLRLLLRLLLLRLLRLRRRLRRRRRLLRRLLLLRRLRRLLRLRLLRLRLLLRRLRRLRLRRRLRLRLRRLLLRRLLRLRLLRLLLRLRLRRRRLLLRLRLRRRLRLLLRLLRRLLRRRLRLRRRLLRRRRLRRRLLRRLRLLLRRRRLLRLLRLLLLRRRLRLRRRRRLRLRLLLLRRRLRRLLRRRLRLLRRLRRRRLRRLLLLLLLRLLLRRRRLRRRLLRRRLRRLRLLLLLRLLLLLLRLRLLRLRLLLRRRLLRRRLLLRRRRRRLRRRLRRLRLRLLLRRRRLRLRLRLRLRLLLLRRLRLRRLLLRLLLRRLLRRRLRLRRLLRLRRLLRLLLLRLLLRRLRLRRRLRRRLLRLRRLLRLRRRLRLLLLRLRLLLRLLLRRRRLLLLRRRLRRLLLRRLLLRLLLLRLLRRLLRRLLRRRRRLRLLLRLRLLRLRRRRLRLLRLLLRRRLRRLRRRLRLRLLRRLLRRLLLLLRLLLRLRLRRRRRRRLRLRRLRLRLRLRLRRLRRLLRLRRLRLLLLLRLLLRLLRRRRLRLRRLRRLRRRRRRLRLRRLRRLRLRRLLRLLLRRRRRLRLLRLRRLLLLLLLLRRRRLLLLRRLLLRLRRLRLLLRRRLLRLRRLLRLLLRLRLRRLLRRLLRLLLRRRRLLLRLRLRLRRLLRRRLRRRLRRRRRLLLLLLLRLRLLLRLRLLLLLRRLRRRRLRLRLLLRLLLLLLLLLRRRLLRRLRRRRLLRLRLRRLLLRLLRRLLLRRLRLRRLLRLLLLRRRRLLLRLRRLRLRRRRRRRRLRLRRRLLLRRRRRRLRLLRLLLLLLLRLLRLLLLRRLLRLLRLRLLRRRLLLRRLRRRLLLRRRLRRLRRRLLRRLRLLLLRLLLRLLRLRRRRLLRRRRLRRLRLRLLLRLLLRLRRLLLLRRRRRRRRRRRLLRRLLRRRRRLRRRRRRRLRLRLLRLRLLLRRRLRRLRRRRRLRLRLRLRRRLRLRRLRLRLLRLRLLLLRRRLRLRLLRRLRLLLLLRRLRLLLLRLLLLLRRRRRLRLRLLLLLRRLRLLRLLLRLLLRRRLRRRLLRLRRRLRRRRLRLLLLLRRRLLLLRRLLLLRRRLRLLLLLLLRRLRLRRRLLRLLLRLLRRRRRLLRRLLRLRRRRLLRRRLRRRLLRLLRLLRRRRLRLLLRRRRRLRLLRRLLRLRRRLRLLLLRRLRRRLRRRRLRRRRLRRRLLRLLRRRRRRLLRRLLRLRRLRLRRLRRRLLLLRRRLRRLRRLLRRRRRLRRLRLRRRLRRRRLLLLLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRLLLLLRRRRLLLLLLLLRRLLRLRRLRRLRLLRLLLRLLLLRLLRRRRRLRRLLLRRLLLRRLLLRRRLRLRRLLRRRLRRRLLLRRLRLRRRRLRLRRLRLLRLLLRRLLLLRLRLLLLRRLLLLRRRLLLLRLRRLLLRLLLLRLRRLRLRRLLRLLRLLRRLRLRLRRLRRLLLLLLLLRLLLLLRRRLRLRRLRRLLLLLRLLRLRRLRLRRRRLLLRLLLLLRLLLLLLRLLLLLRRLRLLRLLRLLLLLRLRLLLLRRLRRLRRRRLLRRRRRRRRRRLLLLLRLLRRRLRRRRLRLLRLLLRLLLRRLLRLLLLLRRLLLLRRRLLRLRLLRRRRRLRRRRRLLRLLLRRRLRLRRRLLRRRRRLLLLRRRLLLLRRRRRLRRRRRLRRLLRRRRRLLLRRRLLLRRLRLRLLLRRLRRLRLRRRRLLRRLRLLRLRRLRLRRRRLRLLRLRLLLRLRRLLLLLLLLLLLRRLLRRLLRRRRRLRRLLRLRRLRRLRRRLLLRLRLLRLRRLLRRLRLRLLRLLLRRRLRRRLLRLLLRRRLLRRRRRLRRRRLLRRRLRLLRLRRRLLLLRLRRRLLRRRRRRLRLRLRRLRLRRLRRRRRRLRLLRLRRLLRRLLRRRRRRRRLLLLLRRRRLRLRLRLLLLRRLLLLRRRLLRRRLLRRLLRLLLLRLLLLLRRRRLLLRRRRLLRRRLRRRRLRLRLRLLLRRLRRLLRRRLRLLLLLRLRLLRLRLRLRLRRRRRRLRRLRRLRRRLRRLLLLLLRLRRLRRLLLLRLRRRRLLRRLLLLRLRLLRLLLLRRLRLRLLLRLRRLRRRLLLRRLLRRRRLLLRLLRRLRRLLLLRLRLLLRLLLRLLRLRLRRRLLRLLLLLRRRLRRRLRLRRRRLLLLRLLRRRRRLLRLLRRRLLLRRLRLLRRLLLRLRRRLRLRLLRRLLLLLLLRRRLRLLLRLRRLRRRLRLLRLLRRRRLRRLLLRLLRRLRRLRLRLRLRRLRRLLRRLLLLLLRRLRRRLLLRLLRRLRLLLRRLRLLLRRLLRRLRRLRLRRLLLRLLRLLLLLRRLRRRRLRLRRRRLRLRLRLRRLLLRRRLLLRLLLLLLRLLRLRRRLLLLLLLRLLLLLRLRRRRRRRRLRRLRRRRLLRRRLLRRLLRLRLRLRLLLLLRLRLRLRRLLLRRRRRRLLLLRRRLLRRLRLLLRRRLRRRRLLRRLRLRRLRRRRRRLRLLLLLRLRRRLRRLLRRRLRRRRRLLRRLLRLRLLLLRRLRLRRLRRLLRRRLLRRRRLRLRRRRRLRLRLRRLLRRRLLRLLLRLLRLRLLLRLLRLLRRLRLLRLLLLRLLRRRRRLLLRRLRRRRRRLLLRRLLRLRLRLRRLRLRLRRLRLRRRRRRLRRRLRRRLLLLRLRLRRRLLLRLRLRLLLRLLLRRLRRRLRLLLRRLRRLLRRRLLRLRLRRRRRLLLRRLRRRLLRRLRRLRRRLRRRLRRLRLRRLLLLLLLLRLLLLLRLLLRRLRLRLLRRLRLLLLLRLLLLRRRLLRRLRRLRRRLLRLLRRRLLRRRLRLRRLLLRRLLLRRRRLLRLRLLRLRRLRLRLRLRRRRLLRRRRLRRLRRRRLRLRRRLRLRLLLRRRLRLRLLLLRRRRRRLLRRLRRLRLRLLRLLRRRRRRLLRLLRLLRRLLRLRLRLRLRRRLLRLLLRRLLRRLLLLRRLRRLRRRRRLLRRRLLRRLLRLLLRRRRRLRRLLRLRLLRLLRLRRRLLLRLRRRRLRRRLLRLRRRLLRRLLRRRRRLRLRRLLRRRLRLLRLRLLLLLLRRRRRRRRLRLRRLRRLLLRLRLRRRRLLLRLRRLRLRLLRLRRLLRLLRLLRLRLLLRRLRLRRRRRRRRRLLLLRLLLLLRRLLLLRLLRLLRRRRRLLLLLRLLRRLLLRLRRRLRRLRLRRRLLRLRRLRRLRLLLRRRLRLRRRLRRLRLRRRLLLRRRRLRRLRLLLRRLLLRRRLRLLLLLLRLRRLRRRRRRLRRRRLRLRLLRRLRRLLRRRRLRLRLLLRRLRLRRRRRRLLLLRRRLLLLLRRLLLRRLLRRLRLLRLRRLLRRLLLRLRRRRRLRRRRLLRRLRLRRLLRLRLLRRRLLLLRLRRRRRRRRLLLRLRRRRLRRRLRLRLRRLRLLRRLRLLRRLRLLRLRRLLRLRLRLLRRRLRRLRRRLLLLRRRRRLLRRRRRLRRRLLRRLRLLLRLRRLRRRLLLRLLRRLLLRRLRLLRRLLLLLLRRRRLLRRLLRLLLRLRRRRRRRLRLLRLLLRLRRRRRLLRRRLLRLLLLLLLLRRRRLLRLRLRRLLRRRLRRRLRLRLLLLRLLLLLLRLRLLRRLLRLRLLLLLRRLLRLLRLLRLRRRRRLRLRRRRRLRRLRLRLLRRRLLLLLRRLLRLRLLRRRLLLRLRLLRLRLRRLLLRLLLRRLLLLRRRRLRLLRLRRLLRRRLRLRLLLRLRRRLRLRLRRLRRLLRRLLRRLRLRRRRLLLLRRRRRRRLRLRRRRRLRRLLRLRRLRLLLLRLRLRRRLRRLLRRRRLLLRLLRRRLLRLRLRLRLLLLRRRLRLLRRLRRRLLLLRLRRRRRRLLRRRLRLRLLLRLLLRRRLLRLLLRLLRRLRRLLLLRLRRRLRLLRRRRRRLLLRRLLLLRLLRLLLRLLLRLRRLLLLLRLRRRRLLRLRRLRLRLRLRLLRRRLLLLRRLLLRRRLLRRLRLLRRRRRLLRLLLRLLRRRRLRRRLRRRRLRLLRLRRLRLLRLLRRRRRLRRRLLRRRRRRLRLRLRRRRRLRRRLLRRRLRRRRRLLRRLRRRLRRRLRLLLRRLRRRRRLRRRRLLRRLRLLRRLLLRLRRLRLLLLRRLRRRLLLRLRLLLLLLLRRLRRLLRLRRRLLLRLRLLRRRLRRLRRRRRRLRRRRLLRRLLRRLLRLLLLLLLLRRLRLLLRLLRLLLLLRLLRLRLLLLRRRLRLRLLLLLLRLRLLLLLLRLRRLRRRLRLRRLRRRLLLLRLRLRRRRLRLRLRRRLRRLRRLLRLLRLLRRRLLLLLLRLLLRLRLRRRRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLLLRLRRRRLRLRRLRLLRLLLRLLLRLRRLLLLLRRLRLRRRRLRRRRRRLRRLLRRRRLLRRRLRLLLRLLRRLRRLRLLLRRLLLLRRLLLLRLLRRLLRLRLRLRRRLRRLRLRRLRRLRLRLLRLLLRLRRRLRRRLRRLLRRLLRRLRLRLRRRRRLRRLLRLLLRRRRLLLRLLRLLLRRRLRRRRLLLLRRLLRRRRLRRLLRRRRRRLRLLLRRRRRLLLLLLLRLLLRRRLLRLLRRLLLLLRLLLRLLLRRLRRLLLRRLRLLLRRRLRRRRRLRLRRLRRLLRRRRLLLRLRRRRLLLLRLLRLRLRRLRLRRLRLLRLLRRRLLLLLRLLRLLRRRRLLRRRLRLLRRLLLRRRLRRRLRRLRLLLRRLLLRLLRRLLRLLLRRLLRLRRLRRRLRLLLRLRLLLLRRLRLLLRLRRLLLLLRRLLRRLRLRLRLLRLLRRLLLRLRRLLLLLLRRLRLRLLRRRRRLLLLLRRLLRRLLLLRLRRLLLLRRRRRLRLLLRLLLRLRLLRLLRRRLRRRRLLLRLRLRLLRRRRLLLLRRRLLLRRRRLLRLLRLLRRRLRRLRRLRRLLLLRLLRRLLLRRRLRLLRRRLLLLRLRRLLRLRRLRLRLLRRLLRRLLLLRRLRLLRLRRRLRRRLLRRLLRRLRLRRRLRLRLLRRRRRLLLLLRLLLLLRRRRLRLRRRRRLRRLLLRLRRLLRLLLLRRRRLRLLRLLLRLLLRLLLLLLRLLLRRRLLRLLLLRLLRLRLLLLLLRLRLLRRRRLLLRRLLLLLRLLRLRLRRRRLRRRLRRLLRRLRLRRRRRLLRLLRLRLRRRRRLRLRLRRRLLRLRRLRRRLRLRLLRLRLLRRLLRRRRRRLLRRLRRRLLRLRLRRRLLRLRRRRLRRLRLRRRRLLRRRLLLRLRLLRLRRLLLLRLLRLRLRLRRLLLLLRLRLRRLRLRRLLLRLLLRRRRRRLLLRLLRLRRLRRRLLLRRRLRLRLLLRRRLLLRRRRRLLRRRLLLLLLLRRRRRRLRRRLLLLRRRRRLRRLLLLLLRLRLLRLRRLRLRLRLRRRLLLLRRRLRLLRLLLRRRLRLRLLRRRLRRRLLRLLRRLRRLLRLRRLLLLLRRLRRRLLRRLRLLRRRRRLLLLLLLRRRRLLLRLLRRLRLLLLLRLRRLLRLRRLRRLRLRLLRLLRRLLRLLLLRRRRRLLRLRLLLRRLLLLLLLRRRLLLLLLRLRRRLRLRRLRRRRRLLLRRLRLRRLLLLLRRRRRLRRLRRLRRLRRRLRLRLRRRLRRRRLLLLRRRLLLRLRLLLLLRRRRLLLRLRLRLLRRLLLRLRLRLRRLRLRRLRLRLRLRLLLLRRLLRRRLRRLLRRRLRLLRLLRLRRLRRLLLRLRLLRLRRRLRLLRRLLRLLRLLRLRRLLRRLRLRRLLLRRLLRLLRLRLRRRLRRLRRLLRRLRLRRLRRRRRLRLLLLLLLRLLRRRLLLLLRRRLLRRRRRLLLRRRRRRLRRLLLRRRRLLRRRLLLRLRLRRRLRRLRRRLRRRLRLRLLLRRLLLLRRLLRLLRLRLLLLLRRRRRLRRLLLLLLRRRLRRLRRRLRLRLLRLLRLLRRLRLLRRLRLLLRLRRRRRLLLRLLRLRRRRLRRLLLLRLRLRRRRRLLLLLRLLLRLRLLLLLRRRLLRRRLRRLRRRLRLLRLRLLRLRRRRRRRRLRLRRRLRRLRLLLRLRLLLLRLLLRLRRRLRLLRLRLLLRLRLRRLLRRLLRLRRRRLRRRLLLRLLRRLLRLLLLLLRLLLLRRRRRRRRRRRLLLRRLRRRRLLLRLLLRRLRLRLLLLRRLLRRLLRRRLLLLRLRRRRRRRRRRRLRLRRLLRLLLRLLLLRRRLRRLLRLLRLLRLLRRLLRRLLLRRLRLLLLLRLLLRLLLRRRLRRLRRLLLRLLLLRLLLRLLLLLRLRRLRLRLRLLLLRRLLLRRLRRLRRLLLLRRLLRRLLLLLLLRLRRRLLLRRLRLLRLLLRRLLLLRRLLRRLRLLLRRLRLLLRRRRRRLLRRRLLLLLLLRLRRRRLRLRLRLLLRRLLLRLLRRLLRRLLLLLRLRRLLLRRLRRLLLLRRRRRLLRLLLRRRRRLRRLLLRLRRRRRLLLLLLLLRLLRLLRLLRRRRRRLRLRLLLRRRRLRRLRLLLRLRLLRRLLRLRLRLRLLLRRLRRLRRRLLRLRRRLLLLLLLLLLLLLLRLLLLLRRLRRLLLRLLRLRLLLRRLRRRRLLRLRRRLRLLRRLLLLLLRRLRLRLLRLRLRLLLLRLLLLRRLRLLLRLRLLRLLRRRRRLLRLLRRRRRLLLRRLLRLLRRRRLLLLLRLRLLLRLLLRRLLRLLLRRLRLRLLLLRRRLRRRRLLRRRRLLLRRLRRLLLLRLLRLLRLRLRRRLRRLLRRLRLLLLLLRRRRRRRRLLLRLLRLRRRLRLRLRRLRLLLLRLRLLRLLLRLLLRLLLRLLRRRLRRRRLRRLLLRLLLLLLRRLLLRLRLRRLRLRLLLLLLRLLLRRRLRRRLRRRRLRLLRRLRLRLRRLRRLRRLLRLRRRLRRRRLRRLRLLRRRLLRLRRLLLRLRLLRRLRRLLLRRLRRLLRLLRLLRRLLRRLRLLRLRRLRLLRRRRRLRRLRLLLLRLLRLLRLRRRRLLLRRRRRRRRRRRRLLRRLRRRLRRLRRLRLRLRRLLLRRLLLLRLRLRLLRLRLRRLLLRRRLLLRLLLLLLLLRLRLLRRRLRRLRRLLLRLRRLLLRRLLRLRRLLRLLRRLLRRRRRLLRRRRRLLRRRRRLLLRRLRLRRRRRRLLRLLLRRLRRRRLRRRRRRLLRLRRLLRLRRLLRRLLLRRRRRLRLRLLRLLLRLLRRRRLLLRRLLRRRRRLRRLRLLRLRRRRRRLLRLRLLLRRRRLLLLLRLLRRRRRLRLLLRLRRLLLLLRLRLLLRLRRLLRRRLLLLRLLRLRLLLRRLLRLLLLRLLLRRLRRLLRRLLLRRRLLLLRLRRLLLLLRLLLRRRRLLRRLRRLLRLLLLRRLRRLLRLLRLLLLRLLLRRRRLLLRRLLRLLLRLLLRLLRRLRLRRLLRRRRRRRRLRRLLLRRRLLLRLRRLRRLRLLRLLLRRRRLLRRLLLLRLRRLLRRLLRLRLLRLRLLLRRRRLLRRRRRRLRRRLRLLRLLRLRRRRLRRRRRLLRLLLLRLRRRLRRLRRRRLLLLRRLLLLRLLLLLRRLRLLLRRRLRRLRRLLLRRRLLRRRLLRLRLLRRLRLLRRLRRLLRRRRRRRRRRLLRLLLLLLRLLLRLRRRRRLLRRLRLRLLRLRRLLRLLLLRLLLLRLLLRLLLLRRLLLRRRRRLLRLLLLLRRRLRLRLRLLRRRRLLLLLRRRRLRLLLLRRLLLLRLRRRLRLRLLLRLRRLLRRRRRLRLRRRLRRRLLRRRRRLRRRLRRRLRLRRRLLLLLLLLLRRLRLRRLLRRLLRLLRLLRLLLLRRRRRRRLLRLLLRLLLRLRLLRLRRRRRLLLRRLRRLLLLLLRLLLLRLRLLLLLRLRLLRRLLRRLRLLLRRRRLRLLRLRLRLLLLRRLRLLLRRLLLLRRRLLRRLLRLLRLLLLRRLRLRRLRRRLLRRLRRRRRRRRRLRLLLLLLLRRRRRRLLRLRRRRLRLRLLRLLRRRRRRLRRRLRRLRRLLLRLLLLLLRRLRRLLLLLRLRLRRRLRLRLLRLLRRLRLLRLRRLRRRLRRRRLLRLRLLLLRLRRLLLRRRRRRRRRRRLLRLLLRRRLRRLLRLLRRLLRLRRLRLRRRLLLLLLLRLRLLLRLLLRLRLRRLLLLRRRRRLLRRLRLRRRLRRLLRLRLRLRRLRRLLLRLRLRRLLRLLLRLRLLRRLLLRLLLLLLLLRLLRRLLRRRRRLRLRRLLRRLRLLLRLLLRRRRRLRRLRRLLRRLRRRRRLRLLLRRLLLRRRRLRRLLRLLLLLRRLRRLLRLRLRLRRRLRLLRRLRRRLRRRRLLLRLRLLRLLLLLRRLLLRLRLLLRRRRRLRLLRLRLRLLRLRLRRRRRLRLLLLLLRRRLRRRRRLLLRLRRLRLRRRRLRRLLLLLLLRLLRRRLRLRRRLLRRRRRLLLRLRRLRRLLLRRLRLLRRLRRLRRRRRLRRLLLRRRRRRRRRRRRRRRLRLRLLLRLRRLLLRRLRRLRLLRRLRLLRLRLLRRLLRRLRLRLLLRRLLLLRRRLRLLLLRLLRRRLLLRRRRLLRLLLLRRLLRLRRRLLRRLLLLLLLLRRLLRRRLRLRLRRLRRRRLLRLLLRRLRRRLLLRRLLLRLLRLRRRRRLRLRRRRLRRRLRLLRLLRLLLLRRLRRLRRRLRLLRRRRLRRRLRLLLRRLLRLRLRRLRLRRLLLRRLRLRRRRLLRRLRRLLLRRLLRLRLLLRLLLRRLRRRLRRLLRRRRRRRLRRLLRLRRRLRRLLRRLRLLRRLRRRRLRLLRLRRRRLLLLLRRRRRRLRLRRRLLRLLRLRLLRRRLLLRLRLLLLLLLLRLLLRLLLLLLRLLLRRRRLRRLRRLLLRRLLRRLRRRLLRRRRLLLRLLLLRRLLRLRLRRLLLRRLLLLRRLRRRRLLRRLLLRLLLLRRRLLRRLRRRRLLRLRLLRLLLLLRRRLRRRRLRLRLLLRRLLRLRLRRLLRLRRLRRRRRRLRLLLLRRRRRLLLRLRRRLLLLRLRLLLLLLRLRLLRLRRLRLLRRLLLLRRRRRLRLLRRRLLRRRRLLRLRRLLLRLLRRLRRRRLLRLLRLLLLRLLLRRRLLLLLLRRLLRRLLRLLRLLRLRRRRLRRLLRRRLRLLLLLRRRLRLRRRRLRLRRLLRLRLLLRLRLLRLRRRRRRRLLRRLLRLRLLRRLLRRLRRLRLRLLRRRLRRRRRLRLRLRLLLRLLRRLRRRLRLLLRRRRLRRLRLLLLLRRLRLLRLLRRRRLLLRLLLLLRRLRRRLRRRLLRRRLLLLRLRLLRRLLLLLLLRLRLRLLLLRRLRRRRRLLLRLLLLRLRRRRRLLRRLLRLLLRRRRLRRLRLLRLLLLRLLRRRRRRLLLRLRRRLRLRRRLRRRRRLRRLLLLRRLRLLLRRLRRRLRLLRLRLLLLLLLRRRLLLRLLLRLLRLRRRRLLLRLLLLRRRLRRRRLLRRRRRRRRRLRRLRRLRLRRLLRLRRLRLRLLLLRLRLRLLRLRLLRLRRLRRRRRLRLLLLLRRRLLLLLLLLRLRLLRLLLLRRRRLRLRLRRLLLLLLRLLRRLRRRLLLRRLLLRRLLLLRRLRLLRLLLRLRRRLLLLRRLRLRRLRRLLRRRRLLRLLLRRLLRLRLRLLLLRRRRRLRRRLLLLLLRRRRLRRLLLRLRRLLLRLLLLRLLLLLLLRRRLLRLRLLRLRLRLLRRLRLLRLRLRLRLLRRLLRLLLRLRLRRRRLRRRLLLRRRRLLRLLLLRLLLLLLRLRRLRLRRLLRRLRLLRLRRLRLRRLRRRRLRRLLRRLRRRRRRRRLLRLLRRRRRRRRRRRRLLRRLLLLLLRRLLRLLLLRRLLLRLLRRLLLLLLLLRLRRLRRRRLLRLRLLRRRRLRLRLLLRRLRLLLRLLRRLLRRRRRRRLRRRLLLRRLRRRRRLLLLRLRLLLLRLLLRLLRRRLRRLRLRRLRRLLRLRLLRLLRLRLRRRLRRLLRLRRRLRLLRLLLLRRRLLLRLRRRLRLRRRRRRLRRLLRLRRLLRRRLLLLRRLRLLRLRLLLRRLRLRRLRLLRRRRLRRRRRRLRLRRRLLLRLRLLLRLRLRLRRLLLRRLLRRLLLLLLRRRRLRLRRRRRRLRLRLLRRLRRLRRRRRLRLRRLRRLLRLLLRRRLRRLRRLLLRLLRRRRLRLRLLLLLRLLLRRRRLRRRRRLLLLLRLLLLRLLLLRRRRRLRRRRRRRLRLLLRRRLLLLLLRLRRLLLRLLLRRRLRLRLLLRLRRLRLRRRLRLLRLRRLLLRLRRRRRRLRRLLLRLRRRRRLLRRLLRRLRRLRLLLLRLRLRLRLRLLLRLLRLLLLLLRRRRRLRRRRRRRRLLLRRLRLRRLLRRLRRRRLLRLLRLLLRLLRLLRLLLRRRLRRLLLRLRRRLLLRLRLRRRRRLRLLRLLRLLLRLLLRRRRLLLRRLRLLRRLRRRLRLRRRRRRLLRLRRLLLLRRLLRRLLRLRRLLRRLLLLRLLLRRRLRRLRLLLLRRLRRLRLRLRRRRLRLLLLLLLLRLLRRLRRRLLRRLLRRLLRRRRRLLRLLRRRLLRLRRLLLRRLLLRRRRLRLRLRRLRRRRLRLRLLRLRRRLLLRRRLRLRRLRLRLLLLLLRLLRLRRRRLLLRLLLLLRRLLRRRRRRRRRLRRLLLRRRLRRLLLLRLLRLRRRLRLRLRLRRRLRLRRLLLRRLLRRLLLLLRLLRRRLRLLRRRRLRRRRLRRRLRLRLLRRLRRRLLLLRLLRLLRRLRLLRRRRRRRRLRLLLRRLRLRRLLLRRLRLRRLRRLLRRLLLLLRRLRRLRRRRLRRLLRRLRRRRLRRLLLLLLRLRRLRRRLRLLRRLRLLLLLRRRLLRLRLRLLLRLRRRRLRRRLLRRLRLLRLRLRRLRLLRRLLRRLLRRRLLRLRRRLLLRLLRLRRRRRLLLRLLLRRLLRLLLRRLRRRRRLLLLRLRRRLLLLLLLRLRRRRLRRRLLLLRLLLRLRLRRRRLRLRRRLRLLLLLRLRLLLLLRLRLLLRRLRLLRLLRLRRRRLLLRRRLRRLLLLRRLRRLRRLLRRRLLRRLRRRLLRRRRLLRRLLRRLLLLRRRLLLLRLRLRLRRRLLLLRRRRRLRLRRRRLRLLLLLRLRLRLRLRRRRLLRRRLRRRLLLRRRRRRLLRRLLRRLRLLLLLLLLRRRRRLLLLLRLLRLLLRRRLRRRRRRLLLLLLRRLRLLRLLLLRRLRRLLLRRRRLRRRLLRRRLRLRLLRRLRLRRRLRLRLLLRRRRRRRRRLLLLLRRLRRLLLRLRRRLRLRLLRRRRLLRRRRLLRLLRLLLRLRRRRLRRRRRLRRRLLRLRRLRRRLRRLRRRRRLLLLRRRRLLLRLLRRRRRLLRLRLLRLRRLLRRLRLRRRLLRRRRLLRLRLRLLRRLLLLRRRRRLLRLRLRLLLLRRLLRRLLLRLRRLLLRRLLRRLLRLLRRLRRLRRLLLRRLRLRRRLRLLRLLLRLLLRRLLLRLRRRLRLRLLLRRRLRLLRRLRRLRRLLRLLRLRLRRLLRRRLLRRRRRLLRRLRLRRLLLLRRLRRLRRLRRRRRLLLRRRLLLRLLRLRRLLRRLLLRLLRLLLRLRLRLLRRRLRLRRLRLLRRLRLRLLLRLLLLRLRLLLLRLRRRLRLRLLLLRLRRRRLRRRLLLRLRLLRLLRRLRLLLRLRRLRRRRLRRLRRRLLLRRLRRLRRLLRLLRRRRLLLRRRRLLRRRLLRRLRRRLRLRLLRRRLRRRLLLRRLLLRLRLLRLLLLLLLRRLRLLLRRLRLLLRLRRLLRRRRRLLRRLRRLRLRRLLLRLRLLRLLLRLLRLLRLRLLRLLLLLLRRRRLLLLRRRRLLLLRLRRLLLRLLLRRRLRRRRLLLLLRLLLRLLRRLLLRRRLLRRLRRRRRRRRLRLRLRLLLLLLLLRRLLRRLLLRRLLRLRLRRRRLLLLRRLLRLLLRLLRLLRRRRLLLRRLRRLLLRLLRLRRRLRLRRRRLRRLRRRRRLLRRLLRRRRLRRLRLLLLRRRRRRRLLLLRRRRLRRLLRRRRLRRLLRRLLLRRRLRLLRRRRRLLLRLLRRLLRRLRLRLRLLLLLLRLRLLRLRLLRLRLLRLRRRLRRLLLRRLRLRLLLRLLLRRRLLRLLLRRRLRRLLLRRLRRRRRRRRLRRRRLRLLRRRLLLLLRRRLLLRLLLRLRRRLLLLLLRRLRRLRLLRLRLRLRLRLLRRLRRRRRLRLRRLRLLRRLLRLRRRRRLRRLRLRLRRRRRLRRRLRRLRRRLLRLRRLRLRRLLRRRRLLRRRLRRLRRRRRLLLLRRLRLRRRRRLRRLLRRRRRLLRRLLRRRRLLLRLLLRLLLRRLRLLRRRRLLRRLLLLLLLLRLLRLRLLLRRRLLRRRLLRLLLRLRRLLRRLRLLRLLLRRLLRRLRLRRRRLLRRRRLRRRRRRLRLLRRRRLRRLRLLRLLLLLRRRLRRRRLLRLRLLRRLLRLRLLLLRRRRRRRLLRLLLRLRLLLLRLRLLRLLLLLRLRRLLLRRLLLLLLLRRRLLLLRLRLLLRRLRRRRRRRRLLRLLLLRRLLLRRRLLLLLRLRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLRLRLRRRRRRLRRRRLLRLLRRRLLLLRLRLRLRRRRRLLRRLLRRRRRLLLRRLRLRRRRRRRLLLLLRRRRRLRRLRLLRLRLRLLRLLLLRRLLRRLLRLLLRLRRLLRRLLRRRRRRLLLRLRLLLLLLLRRRLRRLRRLLRLRLLRRRRRLRLRRRLRLRLRRLLLRRRLLLRLRLLLLRRLLRRRRLLRLRRRLRRRRLRLLLRRRRRRLLLLRLLLRRLRLLRRLRRLLLRRLLLLLRRLRLLLRLLLRLLRRRLRRRLLRRLRLRLRRRLLRRRRLRRRLLRRLLLLRRLLLRRRRRRLLLLRLRRLLLLRLLLLLLLRLRLLRRLLLLLLRRLRRLRRRRRLLLRLRLLLRLLLRLRLRLRLRLRLLLLRRRLLRLRRRLLRRRRRRLLRRRRLRRRLRLLRRLLLLRLRRLRRLLRLRRLRLRRRRLLRRLRRRRLLLRLLRRLRLRLRRLLLLRRLLLRLRRLRLRLRLLLLLLRRLRRLLLLLLRRLLLLRRRLRLRLLLLRLRRRRLRRLRRRLRRRLRLLRLLRLRLRRRRRRLLLLRRRLLRLLRLLRLRLLLLRRLRLLLRLRRLLLLRRLRLRLLRRRLRLLRRRLLLRLRRRLRLLLRLRLRLLRRLRRLLLLRRLLLLLLLRRRLLRRLRRRRRRLRLLRRLRRLRLLLLLLRLLLRLLRLLLLRRRRLRLRLRLLLRRLLLLLRRLLRRRLLRRRRRRLLRLLLRRRLLLLLLLLRLRLRRLRLRLRLLRLLRLRRRLLLLRRRRLRLRRLLRRRLRLLRLLLRLRLLRRRLRRRLRRLLRLLRLRRRRRLLLRLRLLLRRRRRRRLRLLLRRRRRLRLLRRLRLLRLRRRLLRRLLRLRLRRLRLLLRRRRLLRRLRRRRLRLRLRRLRRRRLRRRRRLRRRLRLRRRLLRLRLLLLLRLLRRRLRRLRLLLLLLLRLRLLRRLRLLLRRLLRRRRLRLLRLLLRLRRLRRRLRLLRRRLLLLRLRRRLLLRRRRRLLLRRRLLLLRLLLRLRRRRRLLLLRRRRLLLLRLRRLRLRLRLLRLLRLRLRLRRRLRLLLRLRRLRLLLLLLLRRLRLRLLLRRLLLRLLRLLRRLRRLLRLRRRLLLRRRLRRRRLRRLRLLRLRLRLLRRRLLLLRRLLLRLLRRLLLLLLRRLRRLRLRRRRRLRRRRLLRLRRRLLLLLLLRRLRLRLRLLLRLRLRLRRRRRRRRRLLLLRLLRRLLLLRRRRRRRRRLRRRLLLRLLLLRLRLRRRLRRLRRLRLRLRRLRLLLRLRLRRRRLLLLLRRLLRLRRLRLLRRRRLRLRRLRRLLLRRLLLLLRLRLRRLLLRRLRLRLRLRRRRRRRLLRLRLRRLLRRRLRLLRRLRRRLRRLLRLRLRLLLLRRRLRLLRRRRRLLLRRRRRRRLRRRLLLLLLLRRRRRRLRRRRRRRLRRLRLLLLRRLLLRRRRRRRLRLRLRLLLRRLRRRLLLLLRRLLLRRRRRLLLRRLLRRLRRRLLRRRRLRLRRLLRRLLRLRRLRRRRLRRRRRLRLRRRLRRLLLLRRLLRRLRRRRLRRLRRRRRLRRLLRLRRRRRLLRRRLRRRLRLLLLLRLLLLLLLLRLLLLLLLLRLLRRRLRRLRRRRLRRRRLLLLLRRRLRRRRRRRLRRRLLLRRRLLLLLRRRLLRRRRLRLRRLLLLRRLRRRLLLLRRLRLRRRLRRRLLRLRLLLRLRLLRLRRRRRLRRRLRLLRRRLLLRLRLRLRRLRLRRLLRLRLRRRRLLRLRLRRLRLLLLLLRRLLRRLRLRLLRRLLRLLRRLRRRLLRLRLLLLRLRRRRLRLRLLLRRLLRRRLLLLRLRRRRRRRRLRRRLRRLLLRLRLLRLRLRRRLRLRLRLRRLLRRRRRLLRRLLLRLRRLLLRRRRRRRLLLRRRLRRRRRRLRRLLLLRLLRLLLLLLRLRLLLLRRRLLLRLLLRLLRRRLLRRLLLLRLLRLRLLLLLRRRRRRLRRLRRLRLLRRLLRRLLLLRRLLRRLRLRLRLRRLRLRRRRLRLLRRRLLRLRLLRLRLRRLRLRLRRLLRLRLLRLLLRRLRRLLRRLRLRRLLLRRLRRLLRLRRLRRLLRLLRLRRRLRLRLLLRLRRRRLRLLLLRLLRLLRLLLLLRLRRRRLRLRRRLRLLRLRLLRLLLRLRLLRRLLRRRLRLRRRLRLLRRRRRLRLRRRRRLLLRRLLLLLLLRLRLLLLLRRRRRLLRRLLRRRLLLRRLRLRLLLRLLRRLRLRLRLLLLLLRRLLLRLLRLLRRLLLRRLLLLRRLLLRLRLLLLRLLRRRRLLLLLLRRRRRLRLRRLRRRLRLRRRLLRRRLRLLLRRLLLRRRLLLLRRRRLLLLLLRRRLRRRRLRRLLLLRLRRLRRLLLLLLRRLLLLRLRRRLRLLRRRRRLLLLLRRRRRLLRRLLRRLRRLLRRRLLRRLRRRLLLLRRRLLRRRLRLLRRLLLRLLRRRRRLRRLRLLRLRLRRLRLLLLLLRLRRLLRRLRLRLRLLLRRLLLRRRRRRLLRRLRLRRLRRRRLLRRRRLRRLLLLRRRLLLLRLRRLRRLRRLLLRLRLLLLRRRLLRRLRRLLRLRLLRRLRLRRLLLRRLRRLRLLRLLRLRRRRRRRRLRRLRLLRLRLLLLLRLRRRRLRLRLRRRRRLRRLRLLRRLRRRLLLLRRLRLRLLRRRLRLLLLLRLRLRLRLLRLRRLRRLLRLLLRLLRLLLRLRLLRLRLRLLRRRRLLRRLRRLLLLRLRRLLLLLRLRRRLRRRLRLLLRRRRRLRRRRRLLRRLRLRRRLRRLRLRRLLLRRLRRRLLLRRRLRLLRLRRLLRLRLRLLRRRLRRLRLRLLLRLRLLLRLLRRRRLLLLLLLRRRLRLRRLRRLRLRRLRRRRLRLRLLRRLRRLLRLRRLLLRRRRLRRLLLLRRRLLLLLLLRLLRLRRLRLRLRLLLLLLLLRRLLLRLLRLLLLRRLRRLLRLLLLRRLLRRRLLLRRLRRLLRLLRLLLLRRLLRRRLRRLLRLLLLRLLLLLLRLLRLLLLRRLLLRRRLLRRRLLLLLLLRRLRRLRRLRLLRRLRRRRRLLRLRRLLLRRLLLLLLRLLRLLRLRRLLLRRRRLLLRRLRLLLLRRRRLRRRRRLRRLLLLLRRRRLLLRRRRRLRRRLRRLLLLLLRLLRLRRRRRRLRLLLRRLRRRLRRLRRRLRLRLRRLLLLRLLLRRRRLRLLLRLRLRRRRRLRLRRRRLRRLLLRLLRRRRLRLLRRLRRLLRRRLRRLRRRLLRLLLRLLRLLRRRRRRRRLLLRLLLRLLRRRRLRRLLLLRLRLLRRLLRLRLLRRLLLRRRRRLLRRLLLLRRRLLRRRLLRRRRLLLLRLRLRRLRLLRLRRLRLRRLRLRRLLRLLLRRLRRLLRLRRLRLRLRLRRRLLRRLRRLRRLLRRRRRRRLLRLLLLLLLRLRLRLRRLLRRLLRLRRRLLLLLLRLRRLRLLRRLLLLLLLRRRLLRLRRLRRLRLRRLRRRLLLLRLLLLLLRRRRLLLRLRRLRRLLRRLRLLRRRRRLRLLLLRLRLLRLRRLRLRRRRRLRLRRRLLRRLRRLRLLRLLRRLRLRRLRRRLRRRLLRRLLLLRLLRLRLRLLLRLRRRLLRLLRRRRRRRRLRRLRRLRRRRLRRRLRRRLRLLLLLLRLLRRRLRRLLLRLRLRLRRRLRLLRRRRLRRLRLRRLRRLRLLLRRRLLRRLRLRLLRRRLLLLRRRRRRRLRRRLLLRRLRLLRRRRLLLLRLLRRRLLLRLRRRRLLLLLLRLRLLLLLRLLRRLRRLLLLRRRRRLLLRLLLLRRLRRRRLLRRRLLRLRRLLLLLRRRLLLRRRRRLRLLRRLRRRLRLLRLLRRLRLRLLRRLLLLRRRLLLRRRRLRLRLLLRLRRLLLRLRLLRRLLRRRLRRLRLRRRLRLLRRRLRRRLRRLLLRLRLRRLRRRRRRLRLRLLLLRRLRLLLRLRRLLLRLLLLRLLLRLRRLRLLLRRLLRRLRRLRRLRLRLRLLRRRLRRRRRLRLLLLLRLRLRLRRRRLLRLLRRLRLRLRRLRRLRRLLRLRLRRLRLRLRLRLLRRRLRLLRRLRRLRRLRLRLRRLLRRLRRLRRRRRLRRRRLRRLRRRRRRRRRRRRRRLRLLLRLRRLLRRRLRRRRLLLLLLLLRLRLLRRLLRRRRLRRLRRLRLLRRLRRLLLRLRLLRLRLLLRLLRLLLLLLRRRRLRLLRRLLRRLLLRLLLLLRLLRRLLRLRLRRLRLRRRRRLRLRRLRRRLLLRRRRLLLRRLRLLRRRRLRRRRRLRLLLLLRLLRLLLLLRLLRRLRRRRLLRRRRLRRRRRLLLLRLLRLRRRRLLLLLRLLRRRLLLRLRLLRLLRRLRLRRLLLRRLLLRRLLRRLRRRLRRLLRRRLRRRLLRLLLRRRRLLRLLRRRRLLRRLRRLRLLLRRLRRRRLLRLRRLLRLRLRRRRRLLRRLRLRLRRRRLLRRLRLLRLLRLLRLLLRLLLLRLLLLLLLLRLRRLRRLLLLLLLRRLRLRLLRRLRLLLRLLRLRRLRRLRRRRLLLRRLLLLRRRRRLRLLRRLLLRLRRRRRRRRRRRRRRRLRRLRRLLRLLLLRRRRRRRRRRLRLLRRRRRRLRLRRLRRLRRLLRLRRRLRLLLLRLRLRLLLLLLLRRLLLRRRRLLLLLRLRLRRLRLLRLLRRRLLLRRLRRLLLLRLRRLRRRRLLRRRRLLLLLLRRLRRLRLRRLRRRLLLRRLLLLLLLLRLLRRLLLRRLRRLRRLRLRLRLLRLLLRRRLRLRRLLLRRRLLRRRRLRLRLRLLRLLRRRLRLLLLRRRRLRRRLRRLLRLRLLRLLLRLRRRLRLRLLRRRLRRLRRLRLLLRRLLLLRLRRRRRRRLRLLRRRLRRLRRRRLRRRRRLLRRLRRRRLLLRLLLLLRRRLLLLRRRLLRRRLLLLLLRRLRLLLRRRLLLLRLRLLRRRLLRLRLLLLRRRLLLRRRLLLRLLRRLLLLLLRRRRLRRLLLLRRLLLRRRRLRRRRLLRRLRRRLRLRRLRRRRRRLRLLLLRLRLRLLLRRLRRRLLLLRLRRRLLLLLRRLLLLRLLRLLLRLRRRLRLLRRLLRRRRLRRRLLLRLLRLLRRRRRRLLLLLLRRRRRLRRLLRLLRLLLRRLLLLRLRRLRLLRLRRRRLLLLLLLLRRRLLLLRLRLRLLLLRLLLRRLRRLRLRRRRLRLLLLRLLLLLRRRLLRRRLLLRRLLLLRLLRLLRLLLRLRRRLRLLRRRRRRLLLRLRRLRRLLLLLLRRLLRRRLRRRLLRRRRRLRLRRRLRLLRRRRRRRLRLRLRRLLRLLLLLRLLLLLLLLRLRLLLRLLRLRRRLLRRLRLLRLLLRLRLLLLLLRRLLRLRRRRRRLRRRLLLRRRRRRRLLLLRLLLLRLRLRRLRLRRLLRRRRRRLLRRLRRLLRLRRLLLRLLRLLRLRLRRRRLLRLLRRLRRRRLRLRLRLRRLLLLLRRRLLRLRLLRRLRLRLLLRRLLLLLLLRLLRLRRRRLLRLRLLRLLRLRLRLLLLLLRLRLRLLRLRRRRLLRLRLRRRLLRLRLRRLLRLLRRRLRLLLLLRLLRLLRRRLRRLRLLRLLRLLLLRLLRLLRRLLLRLLRRLRRLRRRRLLLRRLRRRRRRLLRLRRRLRLRRRRRLRRLLLRLRRLLRRLLLRLRRRLRLRRRLLLRRLLRLRLRLRRRLRRRLRRRRRRRRRRLRLRLRLLLLLRLRLLRRLLRLLLRRRLRLLLRLRRRRLRRLRRLLRRRLRLRLRRLRRLRRLRLRRLLLLRRLRRRLRLLRLRRLRLRLLLLRRRLRLLRLRLRRLRRRRRLRRRRRLLLLRLRRRLRLLRLRRLRRLRRRLRRRRLLLLLRRLLLRLLRLRRLLLLLRRRRRLRLRLLRRLLRRRRRRLLRRLLLRLLRLRLLLRRRRRRLRRLRLRLRRLRLRRRLRRLLRLRRLLLRLRLRLRRRLRRRLLRRLLLRRRRRRRLLRRRRRRRRLLLRLRLRRLLLRLRRRRLLRLLRLRLRLLRRLRRLLRLRLRRRLLRLRRRLLLLLLRRRLRRRRLLRRLLLLLRLLLRLLRRLLLLLRRRLRRRRLLLLRRLRLRLLLRRRLLLLRLLLRRLRRLRLLLRRLLLLLLLLLRRRLRLRLLLLRRLLRLLLLLRRLRRRLLRLLLLRRLRLLLRRLLRRLLRRRLLRRRLRLLRLRLRRLLRRRRLLLRRLLRLRRRLRRRRRRLLRRRLRLLLLRLRRRRLLRRRLRLRRRRLRLRLLLRLLLLRRRRRLLLRLLLLLRRLLRRLLRRLRLRRRRLLRLRRLLLLRLRLLRLLRRLRLRLRRRRRLRLRRLRRRRLLRLLLRLLRLLRLRRRRLRRRLLRRRRRRRRLLLRLRRRLRRRLLLRRRLRLLRRLRLLRRLRRLRLLRLLLRRLRRLRLRLRRRRLRRRLRLLLLLLLLLRLLRRLRRRRLRRLLRLLRLLRLRRLRLLRLRRRRLRLRRRLRLLRLRLLRLRRRLLRLRLLRLLRLRRLRLRRRRRLRLRLRRLRRLRLLLLRLLLLRLLLLLLRLLLRRLLLRRLRLRRLRRLLRLLLLRRLLRRLRRRRLLRRRLLLLRRRRRRLLLLRLRLRRLRLLRRLLLLLLLLRLLRRLRLLLLRLLRRLLLRLRRRLRLLRRLRLLLRRLRRLRRLRLRRRLRLLRRRRLRLLLLLRRRLLRRLLRRRLLRRRRRLRRRRRRLLLLLRRRLLLLLRRLLLLRLRLRRLRRLLLLRRRRRLRLRRRRLRLLLLLLRRLRLLLRRRRLRLRRLRRLRRLRRRRRRLLRLLRLLLLLLLLLLRLLRRRRLLLRRLRLRLRLRRRLRRRRRLLLLLLLRRLRLLRRLLLLRLRLRLLRLLRLRRLRLRRRLRRRRLRRLRLRLRLLLRRLLRRLRRLRRRLLLLLRRLRLLLLRLLRLRRLLLLRRRLLLRRLRRRRLLRLLLRRRRRRLRRRRRLLRRLLRLRRRRLRRRLLRRRRRLLRRRRRRLLLRLRRRLLRLLRRLLRRRLRLLRLLLLRRRLLRLRLLRRLRLRLRRLLLLRRRRRLRRRLRLRLRLLRLRRRRRLLRLRRLLLRRLRLRLRRLLRRLRLLRRRRLRRLLLRRLLRLRRRLLLLLRRRLLLRLRRRLRLRLRLLRRLRRLRRRRRLRLLLRLLRLRLRLLRRRLLLLLRRLRRLRLLLRRLLLLLRLRRLLRLRLRRRLLLRRRRLRRLRRLRRLRLLLLLRLRRLRRLLRRRLRLRRLRRRRLRLLRLLRRLLLRRRLLRRLRLRLRLRRRRLRLLLLLLRLLRRRRRRRRLRRRLLLLLLRRRRLLLRRLRLRRRRLRRRRRRLRLRRRRLLRLLLRRRRRRLLRLRRRLLLRLRLLLLRRRRLLLRLLRRRLRRRLLLRRLRLRLRRLRLLLRLLLRRLRLRLRRLRLLRLLRLLLRRRRLLLRRLRRRRLRLLLRRLRRRLLLRRLRRLLRLRRLRLLLLLLRRLRLLLLRRRRRLLRLLRRLRLRLLRRLLLRRRLLLRLRLLLLRLLRRLLLRRRLLRRLRLRLRRLLLLLRRRLLLLLLLLRLLRRRLLLLRLLRLRLRRRRRLLLLRRLRLRRRLLRLLRRRRLLLRRRRLLLLRLLRLRRRLRLRLLRLRRRLLRRLLLLRLLRLRLRLLLLRLLLRLLRLLRLLLLRLRRRLLLRLRLRLRRRRRRRLLLLLRRLLRRRLRLLLRLLLRLLRRLLRLRRRRLRLLLLRLRLLRLLRRRLLRLRLRLRRRLLLRRLLLLLLRLLRRLLLRLLRLRRRLLRLLLRRLLRRRRRLRLRRRLLLRRRLRLRLRLRRRLLLLRLLRLLRRLLLLLLRRLLRLLLLLLRLRRLLRLLRLLRRRRLLRLRRLRLLLRRLRRLLRRRLRLLRLRLRRLRRLRLRRRLLRRRLLRLRRLRLRLRRRRLRLLRRRLRLLRRLRRLRLRRRLRLRRLRRLLLLRLRRRRLLRRRLLRRRLLRRRLLLLLLRRLLRLRLLRRLRRLRLLLLLLRLLLLRRRRRLRRLLRRLLRLLLRRRRRRRRRRLRRLLLLLLLRLRRRRRRRLLLRLRLLLRRRRLLLLRRRRLRRRRRRRLLLRLRRRLRRRRLLLLRLLRRLLLRRLLLRRLRRRRRLLRLLLRLLLRLLRRRLLLLLLLLRLRRLLLRRLLLLLLRRRRLLLRRLLLLRLRRLRRRRRRLLLRLLLLRRLLLRRRLRLLLLLRRLLRRRLLLLLRLLRRLRRLLLLRRRLRLRLRLLLRRRLLRRRRLLRRRRRRRRLLLLRLRRRLRRRLLRRLLRLRRRLLLRRRRLLRRRLLLLLLLLRRRRRLLRRLLLRLRLRRLRLLLLRRRLRRLLLLLLRLRLLLRRLLRRRRRRLLLLLRLRLLLLLRRRLRRLLRRRLLRLLRRRRLLRLRRRLRLRRRRLRLRRRLLLLLRLRLRRLLLLLRRLLRLRLRRRLRLLRLLLLRRLLRRLRLRLLLRRLRRLRRRRRRLLLRLRLLLRRLRRLRLLLRRLRRLRLRRRLLRRLRRRLRRLRLRLLRRRRLLLRRRRLLLRLLLRRLRLRRLLLLLRLLLLLRRLLLLLLRLRLLLLLLLRLLLRLLRLLLRRRRLLRRRLLLLLLRRLRRRLLLRLRLLLLRRRLLRLRLRLRRRRRRRRRLRRRRRRRLLLRRRRLLRRLRRRRRLLLLRRLRLRRRRRLRRLRRRRLRLLLRLRLRLRLRRRLLLRRLLLRLRRRRLRLRLRRLLLRRLRLRLLRLLRRRRLRRLLLLRLLLRLRRRRRRRRRLRLRLRRLLRLLRLRLLLLRRRLLRLLRLRRRLLLLLLLRRRRLLRLRRRRLLLRRRRLLRLRRLRLRLLRLRLLLLLRRRLRRLRRLLRLRLRLRRRLLRLLRRLRLRRRLLLLLLLLRRRLRRRRLRRRLLRLLRLLRRLRLLLLLLLLRRRLLRLLLLRLRRRRLLLRLLLRRLLLLLLRRLRRRRLRRRRRRRRRLLLRRRLLLLRLLRLLRLLLLRLRRRLLLLRLRRRRLLLRLRRRLRLLRLLRRRLRLLRLLLRLRRLRLLRLRLLLRLLRLLRLRLRRLLLLRLLRLLRLLRRRRRLRLLRRRRRLRRLRLLRLLRRLRLRLLRLLRLRLRRLRLLLLRLRLLRRLRRLRLLLRLLLLLRRRLRRRRRLLLRLRLRRRRLRLLLLRRLRLLRRRLRRLRLLLLRLLRLRLLLRLRLLLRRRLRRRRLRRRRLRRRRLRLLRRLRRLLRRLLLRRLRLLLLRLRLRRRRLRRRLRRRRLLLRLLRRLLLLLLRRRLLLRLRLRRRRLRRRRLRLLRRRRRRRRRLLRLLRLLLRRRLLLLRLRRRLLRLLLRLRLLRLLRRLLLLLRRRRLRRRLLLRRRLRRRRLRRRRLLLLRLLRLRRRRLLLRRLRLLLLRRRLRRRRRLRLRLRLRRLRRLRRRRRRRLRLRLLLRLRLRRLLLRRLLLRRLLLRLRRRRRLRRRLLRLRLLRLLLLLRRRLRRLRRLRLRRLRRLLRRRLRLRRRRRRRRRLRLRLRRRRRLRRLLRRRRRRLLRLRRLRRLRLRRLLRRRLLRRRRLLRLLLRRRLRLLLLRLRRRLLRRLLLRLRRRRRRRLRLRLLRLLRLLRRRRRRLLRRLRRLRRLLRLRLRLRLRRRRLRLLLRRRRLLLRRRRRRRLRLRLRLLLLLRRRRLRLLRLRRLRLRRLLLLLLRRLLLRRLLRLLLRLRRRRRLRRLLRLLRLLRRRLLLRLLRRLLLRRLLRLRLRRLLLRLLLRLLLLLRRRLRLRLLRRRRLRRRRRLRLRRRLLRLLRRLRLLRRLRRLRLRRRRRLLRLRRLLRRRRRRRRLLRRLRRRLRLRLRLLLLLLLLLLRLRLRLLLRRLLRRRLRRLRRRRLRRRLLRLLLRRRLLRRLRRRRRRRLLLRRRLRLLLLLLRLLRRRLRRRRLLLLRRRRRRLRLLLLLLLRRRRRRLRLRLRRLLRRRLLRLLRRRLRRRRLLLLRRRRRLRLLLRLRRLRLRRRLRLLLRRRRLLRLRLLRLRLLLLLRRRLLRRLRLRLLRLLLRLLLRRRRRLRRRLRRLLLRRRRRRRLLLLLRLLLRRLRLLRRLRRRRRRRRLRRRLRRLLRRRRRLRLRLRRLLRLRLLRRRLRRRRRRLLRLLLLRLRRLRLRRRRRRRLLRLRLLRRRRRRRRRLLLLRLLRLRRRRLRRLLRLRRRLLRLRLLLRLLLRLLLLLRLLRLLLRLRRLRLLRRRRRLLRRLRLLLRLLRLLRRRLLLLLLLRRLRLRRRLRLRRRRRRRLRRLLLLLLRRRLRRRRLLRLLLRRRRLRLLRLLRRLLRRLLLLRRRLRRRLLLRLLLRLLLRLRRLRRLRLRRRLRRRLRLRLLRRLRRRRLRLLLLRLRRLLRLRLLLRLRRRRRLLRRRLRLLLLLLLRLLLLLLLLRRLLLRLRRRRRRLRLLRRRRLLRLRRRRRLRLRRRLRLLLLRLRLLLLRRRRLLLLRRRLRRRLLLRRRRLRLLLRRLRRLLLRLLLLRLRLLRLLLRLLRLLRLLLLRLLLLLRRLLLRRRRLLLRLLRRLLLLRLRLRLLLRLRRLRLRLRRRLRRRLRRRRRRRLLRRLRLRRRLLLLRRRLLLLLRRRRRRRLRRRRLLLLLRRLRLRRLLLLLRRRLLLLRRRRLLRLRRLRRRRRRLRRRRLRLLLRLRRRLRLRLLLRLLRRLRRLLRLRRRRRLRRRLRLLRRLRRRRLRLLRRLRRLRLRRLRLRRLRRLLLLLRRLRLLRRLRRRLRRLLRRLLLLRLRRRLLRRLRRRRLRRRRLLRRRRLRRRLLRRLLLLLLRLLLLRRLRLLLLRLRLLRLLRRLLRLRRRLLRLRRLLRLLLRRRRLLRLLRLLLRLLLLLRRRRRRLLLRRLRLLRRLLLLRLRLRRRRRRLRLLRRRRLRRLRLLLLRLRLLLLRLRRRLRLLRRRLLLRLRLRLRLRRRLLRLRLLRRLLLLLLLLLRLLRRLRRLRLRLRLLRRRLLRRRLRLLLLLLLRRRLLLLLRRRRLRLLLRLLLRRRRRRRRLLRLLRRLLLRRRLRRLLLRRLLRLRLRRRLRLLRRLLLLRLLRLRRRRLRLLRRRRRLLRLRLLLRRRLLRRRLLLRRLRLLLRLLLLLRLLRLLRRRLRLLLRRRLRRLLLRRLLRRLRRRRLLLLLRRLLRLRLLLRRLLLLLRLRRLLLLRRRLLLRLLRLRLLRRRRRLRLRRLLLLLRLRRLLLLLLLRRRLRRRRLLRLRRRRLRLLRRLRLLRLLRLRLLRRLRRLLLRLLLLLRLLRRRRLRLRLRLLRLRRRRRLLLLLLLRRLRRLRLRRLLLRRLRLRRLLLRRLLLLRRLLLLLLRLLRLRRLRRRRLLRRLLLLLRRRLLLLLRRLLRRLRRRRRLLLRLRRLLLRLRRLLRRLRLLLRLLRLLLLLLLLLRLRLRLLLLLRRRRLRRLLLLRLLRRRRRRLRLLRLRRRRLRLRLLLLLRLLRRRLLRLLRLRLLRLRLRLLRRLLLRRLRRRRRRRLLRLRRLLLRLRLRLLRRRRLLRRRRLRRLRRLRLLRLLLRRLLRRRLLLLRRRRRLRLRLLRRLRRLLLRLLRRRLLRLLRRLLRRLRRRLLRRRRLRLLRLRLRRLLLRRLRRLRLRRLLLLRLLLLLLRRLLRRLRLLRLLLLLRLLRRLLRRLRRRLRLLRRRRRRLLLRRRRRRLLRLRLRRLRRRLRLLRLRRRRLLLLLRLRLLRLRRLLRLLRLLRRRLRRRRRLRRRRLLRLRRRLRLLRLLLLLLRRRRLRRLLRRLRLLRRRRRRRRLRLLRRLRLRRRLLLRLRRRLLRRLRRRRRRRRLRLRLRRLRLRRLLLRLRRRLLRRRLRRRLLRRLLLLRLRRRRLRLLLLLRRRLLRLLRLLLRLRRLRRLRRLLRLRLRLRLLRRLRRRRLLLRLLRRRLRRLLRRLRLRRRRRLLRLRRLRRRRRRRRRLLRLLLLRRLLLLRLLLLRLLRRLLLRRRLRRRRLLRRRLRLRRLRLLRRRRLLLRRLLRRRLLRRLLRRRLLLRLLRRRRLLLLRLLRLLRRLRRLLRLLRRRLRRLLLLRLLRRRLLRRRLLLLLLLLLLLRRRLLRLRRRRLRLLRRRRRLLRLLRRRRLLRLRLLLRLLLLLRRLLLRRRRLRLRLRLRLRRLRLRRRLLRRLLRRLLRRLRLRLLLRLLLRRLRLRLRRRRLRLRLLLLRRRRRLRRLLLLRRRRRRLLLRLRLRLLRLLLLLLLLRLRLLRLLLRRLRRLLRRRRRRLRRLRLLLRRLLRRLRRRLLRLLRLRLRLLRRRLLRLLRRLRLRLLRLRRRRRRLRLRRRRLLLRLLLRRLRLRLRRLRRLRRLRRRRRRLRRLRRRLRRLRLLRRLLLRRRLRLRLLRRRRRRRRLRLLRRLLRLRLRLRLRLRLRRLRLLLLRLLLRRLRRLLRRRRLRRLRLLRLLRRLRRLRLRLLRLRLLLLRRLLRLLLLLLRRLRRRLLRLRLRRLRLRLRRLLRLLRRLLRLRRRRLRLRRRRLLRRRLLRRRLLRRLRRLLLRLLRLLRLRRLRRLRRLRLLLLLRLRRRRRLLLLLLRLRLRRLLRRRRRRLLRRRLLLRLRRRLRRLLLLLLRLLRRRLLLRLRLRRLRLRRRLRLLRLRRRRLRRRRLRRRRRLRRLLLRLLRLRLLLLLLRRLRLLRLLRLRRLRRRLRRLLLLLRRLLLRRRLRLRRLLRLRLRRLLRLRLRLRRRRRRLLLRRLLLLRRLLRRLRLRLRRLLLRLLRRLLLLRLRRLRRLLLLLLLLRLRLRLRLLLRLRLRLLRLLRLRRRLRLRLRLRLLRLLLRRLRLRRRRRLRRRLRRRRLRRRRRRRLLRRRRLRRLLRLLLLRLRRRRRRRLRRLRRLRRRRLLLLRLRLLLRRLRLLLRLLLLRLRLRLRLLLLLLLLRLRRRRRRRRRLLRLLRRRRLLLRLLRLRLRLLRLRRRLLLLLLRRRRLLLLLRRLLLRLLRLRRRRLRRRLRRRRLLLLRLLLLLLLLRLLRRRLLRRRRRLRRLRLRLRLLRLLLRLRRRLRRLLLLRRLLRRRLLRLRLRLLRLLRRRLRLLLRRLLRLRRRLRLLLRLRLRRLLLRLRRLLLRRRRLLRRRRLRRLLLLLRRRLLLRLRRRRLRRLRLLLLRLRRLRRRRRRLLRLLLLRRRLRRRLLRLLLLRRRRLLLLLLLLRRRRRRLLLLRRLRLLLRRRLLLRLRRLRRRRLLRLRLLLRRLRRRLRRLLLLLRRRRRLLLLLRRRRLRLLLLLRRLRLLRRRLRLRLRLRLLLLRRRRRRLRRRRLLLRLRLLRLRRLLLLRRLRRRLLLLRLLRRLLLLLLLLLRLRLLRLRLRLRRLLRLLLRLRRLRLRRLRLLRRLLLLLRRLRLRLLLLLLLLRRRLRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLLLRLRRRRLLRRRLRRRLLRRRLLLRLLRLRRLRRRRLRRRLLRLLLLLRRRRLRRLRRRLLRLLLRLLRLLRLLLLLRRRLRLRRLRRRLLLLRLRRLRRRLLLRRRRRRRRLRLRRRRLRRRRLLLRRRLRLRLRRRRRRLRRRRRRRLRLLRRLRRLLRLLRLRLRLLRLLLRRRRRLLLRRRRRLLLLLRRLRLLLRRRRLRRLRRLRRRRLRLRRRRRRRRRLRLRRRLLRRRRLRLLRRRLLLLRRRRRLRRRRRRLLRLLRLLLRLLRLLLLLLRLLRRRRLLRRLLRRRLRLRLRRRRRRLRLRRRLLLLRLRRLLRRRRLLRRRLLLRLLLLLRLRLLRLRRLRLLRLLRLRLRLLLLLLLLRLRLLRLRRRRLLLLRRRRRLLRLLLRLLLRLLRRLLLRRLLLRLRLLLRRLLLLRRRLLLLRLLLRRRLLLLLRLLLLLLRRLRRRLRRRLRLRRLRRRRRRRLRLRRRLLLRLRRRLRRLLLRRLLRLRRLLLRRRLRLRRRRLLRLLLLLRLRLLLRRLLLRLLLRRRRRRRLRLRLLLRLRLLLLRRLLLRLLRLLLLRRLRLLLRLLRRRLLLLRRLLLRLLRLRLRRLLRLRLRRLRLRLLLRRLRRRLRLLRLLRRRLRLLLLRLRLRLRRLRLRRRRRRRLLRRLRRLLLRRLRRRRLRLRLRLLLLRRRRLRRRRLLLLLLLLLLRLLLRRRLLRLLRRLRRLRLRRRRRLLRRRRRRLRLRLLLLLLRLRLLLRLLLRRLRRLRLRLRLLRLRRRLRRRLLLRRLLLRLRLRRRRRLRRRLLLRLRLRRRRRLRRLRRRRRLLRLLLLLRLRRLRLRLRLRRLRLRLRLRLRLRRRRRRLLRLLRRLRRLRRRRRLLLLRLRRRLLRRRRLRRLLLLLRLLRRLLLRLRLLLRRRLRRRRLLLLLRLRLRRLLRRRRLRRLLLLRRRRRRRLRLLLRLLLLRRLLLLRLRRRRLRRRLRLLLLRLLLRLLRLLLRLLRLRRRRLLRRRLLRRLLRLRRLRRRLRRLRRRLRRRLRRLRLLRLRRRRLRRRRRRRRRRLLRLRLLRLLLRLLRRRLRLRRRRLRLRRLRLRRLRRLLRLRLLLRLRLRRRLRRRRRLRLLLLRLRLRLRRLLRLRRLLLRRLRRRLRLRLLLLRLRRRRLRRRLRLRRLLLLRLRRRLLRLLRLRRLRRRLLLLRRLRRRLRRLLLLRLRLRLRLLRRRRRRLLLRLRLLRLLLRLRLLRLRLRRRLRLRRRRLRRLRLLRLLLRLLLRLLLRLRLRLRLLLRRRLLLLLRLLRRRRRRRLRLRRLRLRLRRLLRLLRLRLLRRRRLLLRLRLLRRLLLRLLRLLRRRRLLLRLRLRRRLLRLLLRLLLLRLLLLLLRLLLRLLLLRRLLLLRLLLLLRLLLLLRLLLRLRRRRLLRRLLLLLLRLLRRLLLRRLRLRRLLLLRRRLLRLLLRRLLRRLRLLLLRLLRLLLLRLRRRRRRLRRLRLLLRLLRRLLRLRLRRRLRLLRRRRLRLLLLLLRRLLRRLRLLRRLRRRRLLRRLLRRLRLLRRRLLRRLLLRLRRLRLRRRRLLRLLLRRRLLRLRRRLLLRLLRLLLLRLRLLLRLRRRLRLLLLLRLRRRRLLRRLLLRLLRLLLLLLLRLLRLLLRLRRLLRRLRRRLRLRRRRLRRRLLLLLLRLRRLRRLLRLRLLRLLLRLLRLLRLRLLRRRRRRLRRRLLRLRLRLRLLRLRRLRRLRLLLRRRLRLLRRLLLLLRRLLLLRRLLRLRRRLLRLRLRRRRLLRLRRLRRRRRLRRLLLLLRLLRLRRRRRLRRRLRLRRLLLLRRLRRRRLRLLRLRLLRRLRRLLRLRLRRLRLRLRLRLLLLLRLRRRRRRRRRRLLRRRRLRRLRRLLLLLRRRLRLRRLLRLLRRLLLLLRRLRLRLRRLRLRLLLLRRRRLRLLLLLRLLLLRLRLLLRLRLLLLRRLRLRLRLRRRLLRLRRRRRRRRLLLLRLRLLRLRLRLLRRRLRLLLRRLRRLLLLLRRLRRLLLLLRLLRLLLRRRLLLLRRRRRLLRRRLLLRLLRLLRLRLLRRLLRRRLRLRLLRRRRLLRLLLRRRLLRRRRLRRRLLLRRRLRLRLLLLLLLRLRLLLLRRRLLRLRRRLLRLRLLLRRLLLLRLRRLRRRLRLRRRLRRLLRRRLLLLLRRRRLLRLLRRLRLLLLRLRRRLLRLRRLLRLLLLLLLRRLRRLRRRRLLRRRRLLRLRRRRLLLLRRLLRRLRRRLRLLLLLLRRLRRRRRRRRLLRLLRRLLLRRLRRRRLRRLLLLRRRLRLRLLRRRLLRLLLRRRLRRRRLRRRLRLRLLRRLLRRRRLRRRLRLLLRRLLRRRLLRLLLLRLLRLLLLRLLRLRLRRLLLLLLRRRLRRRRLLLLRLRRLRLLRRRRLLLLRRRLLRRLLLRLLLRLRRLLRLRRLRLLRLLLLRRRLLRLLLRLRRRLLRLLLLLLRLLLRLRLLLLRRLRLLLRLLRLLLLRLLRRLLLRLRLRLRRRRRLRLLLLLRRLRRRLLRRLRRRRLRLLRRRLRLRRRRLRLLLLRLRLLRLLRRRRLLRLLLLRRRLLLLRLRLRRRLRRRRLLRRLRRLRRRLLRLLLRRRLRRLRRLRLRLLLLLRRRLRRRRRLRRLLLRLRRLLRLRRRRRLLLLRLLRRLRLLLRLRRLLRLLLLLRRRRLLRRRRLLRLLRRLRRLLRRLLRLRRRLLRLLLLLRLLRRLLLRRLRLRLLLLRRLRRRLLLLRRRLLRLLRRLLRLRLRLRLRLRLLRRLLLLRLRLRLLRLLRLLRRRLLRLRRRLLLLRLLLRLRLLRRLRRLRRLLLLLLLLLLRRRRRLRRLLRRLLRRLRRRRRRRLLRLLRRLLLLLRRRLRRRRRRLRLLRLRLLLRRLLLLRLLLRRLLRRLRRRLLLRRRLRLRRRRRRLLRLRRRRLLRRLRRRLLLRRRRLRRRLRLRLLRRLRRRLLLLLLLRRLRRLLLRRLLLLLLRRRLLRLRLRLLLRLLRLRRRLRRLLLLLLRRRRLRLRRRLRLRLLLRLRLRRRLRLLRRLLRLLRLLLLRLRRLLLRRLLLLLLRLLRRRRRRRRRRRRRRLLLLRRRRRLRRLLLRLLLRLRRRLLLLRRLLLRRRLLLRLLRRLRRLLLLRRLLLRLRLRRRLLRRLRRRRRRLRLLLLLRRLLRRLLLRRRRLRLLLLLRLRRLLRLLRRLRRRLRRRLLRRLLRRRLLLLRLLLLLRRRRLRLRRLRLRLRRLRLRLLLRLLLRLLRLLLRRLLRLRLLLRLRLLLRRLRLRLLLRRLRRLRRRRRRLLLLRRLLLLRRRRLRLRRRLRRRLLRLRRRLRLLLRRRLRLRLLLLLRRRLLLLRRRLLLRLLLLRLLLRRLLRLLRLRLLLRRLLLLLLRRLLLLLLLLRLRLRRLRRLLLLRRLLLRLLLLLLRRRLRRLLLRLLRLLLLRRRRRRLRLLLRLRRRRRRRLRRRRLRLRLLRRRRLRRRRRLRRRRLLLRLRRRRRRLRLRLRLRLRLRRLRRLRLRRLRRLRRLRRRLLRLLLRRRLRLLRRRRLLLRRRLRLLRLRRRRRLRLLLLLRLRLRLRRRRRRRRRRRLRLRLLLLRLRLRLRLRRRRLLRLRRLLRRLLLLLLLRLRRLRRLLLRLLRLLRLLLRRLLRRLLRRRRLRLLLRLLLRLRRLRLLRRLRLRLRRRLLRLRRRLRRRRRLLLLRLLLRLRLRRRRLLRRLLRLRRLLRRRRRLLLLLLRRRRRLRLLRLRLLRRLLLLLLLLLLLLLLLLRRRRRRRLLLLLRLRRLLRRRRRLLRRRRLRLLRLLLLRLRRRLRLRRLRLRRLLLRLRLRRLLLRLRRLRRRLRRLLLRLRRLRLLRLLLRLRRRRLRLLRLRRLRLLRRLRLLRLLLLRRRLRLLRRRRRLRRLLLRLLLRRLRLRRLLRRLLRLRLLRLLRLRLRLLRRRRLLRLLLLLLLLLLRLRRLLLRLLLRRRRLRRRRRRLLLRRLRLRRRLLRRLRRLLRRLLRRRLRLRLLRRLLRRRRRRLLLRRRLRRLRLLLLLRRRRLLRRLRLRRLLLLLLRLRLRLRRLRLRLRRRRLLLLLLRRLLLRLRRRRLLLRLRLRRRRLLRRRRRRLLRLRRRLRRLLRLLRLLLRRRRLLLRLRRRLRRRLLRLRLLRRRRRLLLRLLRRLRRRRLLRRRRLRLRRLRRRLRRLLLLLRLRRRRRLLLLRRLLRRRLRLRRRRRLRLLRRLRRLRLLRLRRRRLLRLRLRLRLRLLLLLLRRLLLRRLLLRRRRRRRLLLRRLRLRLLLLLRLRLLRLLLLLRRRLRRLRLLLRRRLLLRLLRRRRLRLRLRLRRRRRLRLLLRLRLLRLLRLLLRRRLRLRRRRRLRLLRRRLLLRLRLRLRLRLRLLLRRLRLRRRLLRLLRRRRRRRLRLRLLLRLLLRRLLRLRLLRRLRLLRRLRRLRRRLRLRRRRRLRLLRRRLLLLRRRRRLRLLLRLRLLRLRRRRRLRLLRLRRLLRRRLLLRLLLRLLLLRLLRLLRLLRRRRRRRRLLRLRRLRRLRLLLRLLRLLRRRLLLLLRLRRLRLLLLLRLLLLLRRRLRLRLRRRRRLRRLRRRRRLRRRLRLRRRLLLLRRLRRLRRRRRLLLLRRLLRRRRRRLLRRLLRLLLRLLRLRLRLLRLLLRLRLLLRLRRLLRLLLRRRLRLLRRRRLRRRLLRRLRLRLLLLLLLRRRRRLLLRRRRRRRRLLLLRLLRRRLRRLRLRLRRLRLRRLRLLLLLLLLRRRRRLRLRRLRRLRRLLRRLLRRRLRLLLLLRLLRLRRLRLLRRLRRLRLRLRLRLLLLLLRLLRRRLLRRLRLRLLRLRLRRRLLLLLLLLLLRLRLRRRLRLRRRLRRLLLRRRLRRRRLLLRRLLLRLLRLLRLLRRRRLRLLLRRRLRRLRRRRRRLRLRRRLLLLLRLLRRLLRLRRRRLRLLLLRLLRRRRRRRLRRRLRLRLRLLRLRLLRRRLLLRLRRLRLRRRRLLRLLRLRRRLLRLRLLRRRLLRLLRLLRRRRLLRRLRRLRLRRRRRRLLRRLRLRLRRLRRLRLRRRRLLLRLLLRLRRLLRLRRRLLRLLLRRLLLRRRRRLRRRLLLRLLLRRRRLRLLRRLRRRLRRRLLRRRRLRRRLLLRLLLRLLLRRRRLLLRRLRRRLRLRLRLRRRRRRRLLLLRLRRRRRRRRRRLRLLRLLRRLLRLLLRRLLLLLRLLLLLLRLLLRLRLLLLRLRLRLRRRRLLRLRRLLRLLRRRLRRRRRRLRRLRLRRRRRRRRLLRLLRLRLRRLRRLRLRRRLLLLRLLRLRRLLLRLLRRRLRLLLLLLLLLRRLRLRLLRLRLLLLRRLRRRRRLRRLLRRLLLLLRLRRRLLLLRRRLRRRLRRRLRLRRRRRRRLRRLRRRRLRRRLRRLRLRLLLRLRRRRRRRLLLRRLLLLLRRLRLLLLRLRLRRLRRLLLRRRLRRLRRLRRRRRRLRRLLLLLLLRLRRRLRLRLLLRLLLRLLRLRRLRRRLRRLRRRRRRRLRRRRRRLLLRRLLRRRLRRRLLRRLRRLLLLLRRLRLLRLLRRRLRRLLRRRLLLRLRRRLLLRRRRRLLRLRLRLRRRRLLRRRLRRLLLLLLRRLLLRRLRLLLRRRRLRRLLRRLLLLRRLRRRLLRLLRRLRRRRRLLRLLRRLLRLLLLRRRRRLRLLRRRLRRLRRLRLLRRLRLLLRRRLRLLLLLRLLLLRLLLLRLRLLLLRLRRLLLRLRRRLLLRLRLRRLLLRRLRLRLLRRRLLLRRLLLLRLRRRLRRLRRLLLRLLRRLLRRLRLLRRRLLLRLRLLLLLRRLLRRLLLRLLRRRRRLRRLLLLLRRRLLLLRLLRLLLLRLRRRLRRLRRLRLLRRLLRLLLLRRRRRRLRRLRRRRLLLRLRLLLRRLRLRRRLLLLLRRRLLRLLLLLRRLRLLRRRRLLLLLLRRRRLLRRRLLLRRRRRLLRLLLLLRLRLRLLLLRLRLRLRLRRLLRLRRRLLLRRLRLRRLRLRRRLLRRRRLRRLRLRLLLLLRLLRRRRRLLRRRRLRRRRRRLRLRLRLLLLLRLLLLLRLRRRLLLLLLLRRLLRLRRRRLRLRLLLLRRRRRLRLLLRLRRRRRRRLRRRLLRRLRLLRLLLRLLRLRRRLRLRLLRLLRLRRLRLRRLLRLLRRLLRRRLLLLLRRLLRRLRRRRRRLLRRRRLLLRLLLLLRRLLLLLRLLRLLRLLLLLLRLRLRRLLRLRLRRLLRLLLLLLLRRRRLLRRLLLLRRRRLLLLLLLLLLLLLRRLLRRLRLRLLRLRRLRLRRLLLLRLLLRLLRRLLLLRRLLLRLRLRRLRRRLLRRLRRLLLLRRLLLLRLRRLRLLRRLLRRRLRRRRLRLRLLRRRLLLRLLLLRRRLLRRLRRLLLRLRRRLLRLRLLRRRRRRLLRLLRRRLRRLRRRLRLLLRLLLRRLRRLLRRLRLLLRLLLLRRLLRLRRLLRRRLRLLLRLRLRLLLRRRRRRLLRLLLLRLRRRLRLLRLRRRRLLLLRRLLLLLLRRLRRRLRRLRRLRRLRLLLRRRRRLLLRLRLRLLRLRRRRLRRRRRRRLLLRLLLRRRLRRRRRLRLLRLRRLRLRLLLRLRLRLRRRLRRRRRLRLLRLRRRRLRLRRRLLRLLRRLLLRLRRRRRLLLLLLLLLRRRRLRLRLLLRRRLRRLRRLLLRLRLRRLLRLLLLLLRLLLRLRRLLRRRLRRRLLRRRLRRLRRRRLRRRRLLRLRLRRLRRRLRLRRRLLLRLLLRLLLLLRLRLLRRRLRLLRRRRLRLRLLLLLRRRLRRLRLLRRLRRLRRLLLRRRLLRLRLLRRRLRRRLLRLRLLLRRLLRLLLRRRRRLRLLRRRLRRLRLLRRLRRRLRRRLLLLLLLRLLLLLRRLRRLRRRLRRRRLLRRRLRRRLRRRRLRRLRLLLRLLLLLRRLLRRRRLLRLLRRLRLRRLRLRRRLLRLLRLRLLLRLRLRLLRRRLLRRLRLRRLRRRLRLRLLLLRRRLRLRLLLRLRRRLRRLLRRLLLRLRLLLRRLLLLRLLLRRLLRLRRRLLLLRRLRRLRRRRLLLRLRLLLLLRLRLRRRRLLLRLLRRLLLRLRRLLRLLLLRLLRRRRRRRLRRRLLLLRLLLRRLLLRLLRLRRRRRLRRRRRRLRLRRLRLRRRLLLRRLLLRRRLLLLLLRLLLRLLRLRLRRRLLLLRLRLRLRLRLRRRRLLRLRLLRRRLRRRLLRRLLLRLRLLRRLRLLRRLRRRRLRRRLLRLRLLLRLLLRRLRLLRRLRLLLRLRRRRLRLRRRLRRRLLLLRRRRLLLRLLRRRLLRRRLRRRRLRRLLRRLLRRLLLLLRLRRRLRLRRLRLLLLRLRRLRRRLLLRLLRLLLRLRLRRLLRRLLRRRRRLRRRLRLRLLLLLLLRLRLLRLRLRLRLRLLRLLRRLRLLRLRRRRRLRRRLRRLLLLRLRLLRLLRLLLLLLRLRLLRLLRLRLLRRLRRRLLLLLRLRRLRLLRRRRRRRRLLLLRRRRLLRRRLRLLRLRRRLLLRRLRLLRRLRRRLRLRLLRRLLRRLRRRLLLLRRRLRLRLRLLRRLLLRLLLRLLLLLRRRRRRRLRLRRRLRLRRRRRLLRLLLLRLRLRRRLRRRRRRRRRLLLRRLLRLLLLRRLRLRLLRRRLRRLLRRRLLRLRLLRRLRRRRLLLLRRRLRLLRLRLLLLLLLLRLRLLLRRRLLLLLLRLRRLRRRRRRRLRRLRRRRLLRRLRRLRLRRLLLRRRLLRLLLRRRLLLRLLRLLLRRLLRLRRRRLRRRLRRLRLLLLRRLLLLRLLRLRLRRRLRRRLRLLRRRRLLLLLLLLLLLRRLLRRLLLLLRLLLLLLLRLRLRRLRLRRRLLLRLLRLLLLLRLRLRLRLLLRLRLLRLRLRRLRLRRRRLLLRLRLRRLLRLRRRRRLLRLRRRRLRRRRRLLLLLRLRLRRRRRLLRLRRLRRRLRRRLLLRLLLRRLRLLLRLLLLRLRRRRRLLLRRRRLLRRRRLLLRLRRRRRRRLLRLRLLLRRLRRRLRRLLLLLRRLLRRLRLLLLRRLLLRLLLRRLRRLRRLLLLRLRRRLLLLLRLRRLLRRLRLLLRLRRRRLLRLLLRLLLLRLLLLRLLLRRLRRLLLLLLRRLLRRLRLLRLRLLRLLLRRRRLLLRLLRLLRRLLLLLRLLRLRLLLRLLLLRRRRRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLRRRRRLLLLRRRRRRRRLLRRLRLLRLLRLRRLRRRLRRRRLRRLLLLLRLLRRRLLRRRLLRRRLLLRLRLLRRLLLRLLLRRRLLRLRLLLLRLRLLRLRRLRRRLLRRRRLRLRRRRLLRRRRLLLRRRRLRLLRRRLRRRRLRLLRLRLLRRLRRLRRLLRLRLRLLRLLRRRRRRRRLRRRRRLLLRLRLLRLLRRRRRLRRLRLLRLRLLLLRRRLRRRRRLRRRRRRLRRRRRLLRLRRLRRLRRRRRLRLRRRRLLRLLRLLLLRRLLLLLLLLLLRRRRRLRRLLLRLLLLRLRRLRRRLRRRLLRRLRRRRRLLRRRRLLLRRLRLRRLLLLLRLLLLLRRLRRRLLLRLRLLLRRLLLLLRRRRLLLRRRRLLLLLRLLLLLRLLRRLLLLLRRRLLLRRRLLRLRLRRRLLRLLRLRLLLLRRLLRLRRLRLLRLRLLLLRLRRLRLRRRLRLLRRRRRRRRRRRLLRRLLRRLLLLLRLLRRLRLLRLLRLLLRRRLRLRRLRLLRRLLRLRLRRLRRRLLLRLLLRRLRRRLLLRRLLLLLRLLLLRRLLLRLRRLRLLLRRRRLRLLLRRLLLLLLRLRLRLLRLRLLRLLLLLLRLRRLRLLRRLLRRLLLLLLLLRRRRRLLLLRLRLRLRRRRLLRRRRLLLRRLLLRRLLRRLRRRRLRRRRRLLLLRRRLLLLRRLLLRLLLLRLRLRLRRRLLRLLRRLLLRLRRRRRLRLRRLRLRLRLRLLLLLLRLLRLLRLLLRLLRRRRRRLRLLRLLRRRRLRLLLLRRLLRRRRLRLRRLRRRRLLRLRLRRRLRLLRLLLRRRLLRRLLLLRRRLRRLLRLLRRRRLRLRRRLRRRLRRLRLRLLLRRLRRRRRLLLRLLLRLRLLLLRRRRLRRLLLLLRRLRRLLLRRRLLRLRRLLRRRLRLLLRLRLRRLLRRRRRRRLLLRLRRRLRLLRLLLRLRRLRRLLLLRLLRRRLRRLLRLLRLRLRLRLLRLLRRLLRRRRRRLLRLLLRRRLRRLLRLRRRLLRLRRRLLRRLLRLLRLRLLRRRLRRLRRRRRLLRLLLLRLRLLLLRLRLRLRLLRRRLLLRRRLRRRRRRLRRLRLLLRRRRRRRLRRRRRLRLLLLLLLLRLLRLLLLRRLLLRRLLRRLRLRLRLRRRRRLRLRLRLLRRRLLLLLLRRRRLLLRRLLRLRRRLLLRLLLLRRLLRLRLLRLLLLLLRLRRRRRLRLLLRLLRRLLLRLLLLLRRLLRRLRLRRRRLLRLRLLRLLRRLLLRRLLLLRLRLLLLLRLRLRLLRRLLLRRLRRRLRRLRLRRRLRRLRRLLRLRRLRRRRLRRLLLLLRRRLLRLLLLLLRRRLLRRLRLRLRLLRLRLRLLRLRLLLLLLRLLLRLLLRRRRLRLRLLLRRRLRLRLRRRLRRRLLRLLLRLRRRLLRLLRRLLLRRLRLRLLLLLRRRLLRLLLRRLLRLLRLLLRLLLRLLRLRLLRRRRRRRRLRRRRRLRRRLLRLRLRRLLRLRRRRRLRRRRLLLRRLLRLLRLLLRRLRRLLLRRLLLRLRLLRRRLLRRRLLLLRRLRLRRLRLLRLRLRLRLLLLRRLLLLRLLRLLLLRLRLLLRLRLRRRLLLRLRLRRRRLLLLLLRRLLRLLRLRLRRLRRLLLLLLRRLRRLRRLLRRLRLRLRLRLLLRRLRRRLLRRLLRRRRLLRLLRLLLLLRRLLLRRLLRRLRRRLLLLLRLLRRLRLRRLRRLRLLLRRRLRLLLLRLLLRRLRLLLRRLLRRLLLLLRLRLLRRLLLRLRRLRLRRRRRRLLLLLLLLRLRLLRLLRRRLRLRLLLLRRRLRLLRLRLRRLRLLRRLRRLRRLRLRRRLLRLRLLLLLLLLLRRRRLRRRRRLLRRRRLRRLRRLLLLLRRRRRLRRLLRRRLRLLLRLLRLRLLLRRLRLLRLLRLRRRLLLRLRLLLRLLRLRLLLRRRLLLLRLLRLRRRLLRRRLLLRLRRRRRRLRLLRLLLLLLRLLLLRLRLRRLLRLLRRLLLLRLRLRRRLLRLRLLLLLLRRRRLLLRRRRRLLRRRLLRRLLRLRRLRLLRRLLRRRLRLLLLLRLLLLRRLLRLRLLRRLRLRRLLLRRRRLRLLLLLLLLRRRLRLLLLRLLLRLRLRLLRLRRLLRLRRLLRLRRLRLLRRLRLRLRRLLLRLLRLLLRRRRLLLLLRRLLLLLRLLLRRLLRLRRRLRLLRLLLRRRLRRLLRRRLLRLRRLLRRRRRRLLLLRRLLRRLRRRLRLLLLLLLRLRRLRRRLRLLLLLRRLLLRRLRRRRRRRRLLLLRRLRLRLLRRLLLRLLLRLRLRRRRLRRRRRRLRLRRLLRRLRLRRRRRLLRRLRRLRRLRLLLLLRLRLLLLLRLLRLRLRRLLLRRRRRLLRRLRLRRLLLRRRLRLRRLRLRLLRRRLRRRLLRRRRLLLLRLRRLRLLRRLLLRLRLRRRLRLLLRLRLRLLRLLRRLLRRLLRLRLLLLRRRRLLLLLLLRLRLLLLLRLLRRLRLLRLRRRRLRLRLLLRLLRRLLLLRRRLRRLLLRRLRLRLRLRRRRLLLRLRRLLRLLLRRRRLRLLLLLLRRLLLRLRLRRRLRRRLLLRRLRRRLRRLLRLLRRRRLRLLLRLRRLLLLLLRRRLLRRRRLRRLRRRLRRRLRLLRRRRRLRLLLLRRLRLLRLRLRLRLRRLLLRRRRLLRRRLLLRRLLRLRRLLLLLRRLRRRLRRLLLLRLLLRLLLLRLRRLRLLRLRRLRRLLLLLRLLLRRLLLLLLRLRLRLLLLLRLLLRRLLLRLLLLLRRLLRLLLRLLLRLRRRLLRLLLLLRLLLLRRLLRLRRLLRRRLRLLRLRRRRLLRLLLRRRLRLRRRRRRRLLRLLRRLRLLLRRRLRLRRLLLRLLRLLLLLLRLLLLRRLLRRLLRRLRRRRRRRRLLRLRRRLRRLRRRRRLRRLRLRRRRLLLRLRLRRRRRRLRLRRRRRRLRLLRLLLRLRLLRLLLRRRRLRLRLLLLRLRLRLLLRLLRLLRRLRRLRRLLLRRRRRRLRRRLRLRLLLLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRRRLRLLLLRLRLLRLRRLRRRLRRRLRLLRRRRRLLRLRLLLLRLLLLLLRLLRRLLLLRRLLLRLRRRLRRLLRLLRLRRRLLRRRRLLRRRRLRRLLRRLRLRLRLLLRLLRLRLLRLLRLRLRRLRRRLRLLLRLLLRLLRRLLRRLLRLRLRLLLLLRLLRRLRRRLLLLRRRLRRLRRRLLLRLLLLRRRRLLRRLLLLRLLRRLLLLLLRLRRRLLLLLRRRRRRRLRRRLLLRRLRRLLRRRRRLRRRLRRRLLRLLRRRLLRLRRRLLLRLLLLLRLRLLRLLRRLLLLRRRLRLLLLRRRRLRRLRLRLLRLRLLRLRRLRRLLLRRRRRLRRLRRLLLLRRLLLRLRRLLRRRLLLRLLLRLLRLRRRLLRRRLRRLLRRLRRRLLRRLRLLRLLLRLRRRLRLRRRRLLRLRRRLRLLRRRRRLLRRLLRLRLRLRRLRRLLRRRLRLLRRRRRRLLRLRLRRLLLLLRRRRRLLRRLLRRRRLRLLRRRRLLLLLRLRRRLRRRLRLRRLRRLLLRLLLLRRRLRLRLRRLLLLRRRRLLLRRRLLLLRRLRRLRRLLLRLLRLLRLLRRRRLRRLLRRRLLLRLRRLLLRRRRLRLLRRLRLLRLRLRRLLRRLLRRRRLLRLRRLRLLLRLLLRRLLRRLLRLRLLLRLRLRRLLLLLRRRRRLRRRRRLLLLRLRLLLLLRLLRRRLRLLRRLRRRRLLLLRLRRLRRRLRRRLRRRRRRLRRRLLLRRLRRRRLRRLRLRRRRRRLRLRRLLLLRRRLLRRRRRLRRLRLRLLLLRLLLRLLRRLLRLRLLLLLRRLRRLRLRLLLLLRLRLRLLLRRLRLLRLLLRLRLRRLRLRRLLRRLLLLLLRRLLRLLLRRLRLRLLLRRLRLLLLRLLRLRLLLLRRLLLRRRLRLRRLRLLRRRRLRRLRLRLRLLRRRRRLRLRLLRLRLLRRRLRRRLLLLLLRRRLRRLRLLRLLLRRRLLLRLRLRRRLLLRRRLLLLLRRLLLRRRRRRRLLLLLLRLLLRRRRLLLLLRLLRRRRRRLRLRRLRLLRLRLRLRLLLRRRRLLLRLRRLRRRLLLRLRLRRLLLRLLLRRLRRLLRLLRRLRLLRRRRRLLRLLLRRLLRLRRLLLLLRRRRRRRLLLLRRRLRRLLRLRRRRRLRLLRRLRLLRLLRLRLRRLRRLLRRLRRRRLLLLLRRLRLRRRLLRRRRRRRLLLRRRRRRLRLLLRLRLLRLLLLLRRRLLRLRLLRRRRRLLLLLRLLRLLRLLRLLLRLRLRLLLRLLLLRRRRLLLRRRLRLRRRRRLLLLRRRLRLRLRRLLRRRLRLRLRLLRLRLLRLRLRLRLRRRRLLRRLLLRLLRRLLLRLRRLRRLRLLRLLRRRLRLRRLRLLLRLRRLLRRLRRLRRLRLLRRLLRLRLLRRRLLRRLRRLRLRLLLRLLRLLRRLLRLRLLRLLLLLRLRRRRRRRLRRLLLRRRRRLLLRRLLLLLRRRLLLLLLRLLRRRLLLLRRLLLRRRLRLRLLLRLLRLLLRLLLRLRLRRRLLRRRRLLRRLRRLRLRRRRRLLLLLRLLRRRRRRLLLRLLRLLLRLRLRRLRRLRRLLRLRRLLRLRRRLRLLLLLRRRLRRLRLLLLRLLRRRRLRLRLLLLLRRRRRLRRRLRLRRRRRLLLRRLLLRLLRLLLRLRRLRLRRLRLLLLLLLLRLRLLLRLLRLRRRLRLRRRRLRRRLRLLLRLRRLRLRRRLRLRLLRRLLRRLRLLLLRLLLRRRLRRLLRRLRRRRRRLRRRRLLLLLLLLLLLRRRLLRLLLLRRRLRRRLLRLRLRRRRLLRRLLRRLLLRRRRLRLLLLLLLLLLLRLRLLRRLRRRLRRRRLLLRLLRRLRRLRRLRRLLRRLLRRRLLRLRRRRRLRRRLRRRLLLRLLRLLRRRLRRRRLRRRLRRRRRLRLLRLRLRLRRRRLLRRRLLRLLRLLRRRRLLRRLLRRRRRRRLRLLLRRRLLRLRRLRRRLLRRRRLLRRLLRLRRRLLRLRRRLLLLLLRRLLLRRRRRRRLRLLLLRLRLRLRRRLLRRRLRRLLRRLLRRRRRLRLLRRRLLRLLRRRRLLLLLRRLRRRLLLLLRLLRRRLRLLLLLRRRRRRRRLRRLRRLRRLLLLLLRLRLRRRLLLLRLLRLRRRLRLRRLLRRLRLRLRLRRRLLRLLRLLLRRLRLLLRRRRRRRRRRRRRRLRRRRRLLRLLRRRLRRLRLRRRLLRLLLLRRLRLLLRLRRLLRRRRRRLLRLRLRRLRLRLRRRRLRRRRLLRLRRRLRLRRLRRLLLLLRRLRRLLLLLRRRLLRRLRRLLLLRRRRRLRLRRRLRRRLLRRLRRRLLRLRLRRRRLLLRLLLLRRLLLLRRRLLRLLRRRRLRRLRRLRLRLLLRLLRRLLRLRRRRRRLLLLLLLLRRRLRRLRLLLRLRLRLLRLRRRRLRLRRLRRRLRRRLRRRLRRLLLRLLLLRLLRRRLRRRRRRLLRRRLRLRLLRLRLRRRRRRLRRRLLLRLLLRLLLLRLRRLLRLRLRLLRLLRLLRRLRLLLRLLLLRLLRLRRLLLRRLRLLRRRLRLRRLLRLLRRRLLRLLRRLRRLRRLLRRLLRLRRLRLLRLRRLLLLLRLLRLRRRRLRRLRRLRLLLLRRRLLLLLLLLLLLLRRLLRLLLRLLRLLRLRLRLLRRRLLRRRRLRLRLRRLRLRLLRRRLLLRRRLRRRRRRRRLRLRRLLLRLLRLLRRRLRLLRRRLLRRLRLLRRLRRLLRRLLLLLRRLLLLLRRLLLLLRRRLLRLRLLLLLLRRLRRRLLRLLLLRLLLLLLRRLRLLRRLRLLRRLLRRRLLLLLRLRLRRLRRRLRRLLLLRRRLLRRLLLLLRLLRLRRLRLLLLLLRRLRLRRRLLLLRRRRRLRRLLLLLRLRRRLRLLRRRRRLRLRRRLRLLRRLLLRRRRLRRLRLRRRLLRRLRRRRLRRRLLRLLRRLLRRRLLLRRRRLRLLRRRRRLRRRLLLLRRLLRLLRRLRRRRLLRLLRRLRRLRRRRLRRRLLLLRRRLLRRLRRRLRRRLRRLLRLRLLRRLLLLLLLLRLLRRRLLLRRRLRLLRLLRLRRLRRRLLLLRRLLRRRRLRLLRRLLRRLRLRRLRLRRRLLLLRRLLLLLLRLLLRLRRLRRLRLLLLRLLLLLRRLRRRRLRLLLRLLRLLLLRRRRLLRRRRLRRRRRLLRLRRRLLLRLLRLLRRRLLLRRLLLRRLRLRRLLRLRRLLRLLRRLLLLLLLLLLRRLRRRRRRLRRRLRLLLLLRRLLRLRLRRLRLLRRLRRRRLRRRRLRRRLRRRRLLRRRLLLLLRRLRRRRRLLLRLRLRLRRLLLLRRRRRLLLLRLRRRRLLRRRRLRLLLRLRLRRRLRLLRRLLLLLRLRLLLRLLLRRLLLLLRLLLRLLLRLRLLLRRRRRRRRRLLRLRLLRRLLRRLRRLRRLRRRRLLLLLLLRRLRRRLRRRLRLRRLRLLLLLRRRLLRLLRRRRRRLRRRRLRLRRRRRLRLRRLLRRLLRLRRRLLLLRLRRLRLRLRRRRLLRLRRRLLRRRRLLLRRLLRRLRRLRRRRLLRLRLLRLLLRRLLRLLLLLLLLLRLRRRRRRRLLLLLLRRLRLLLLRLRLRRLRRLLLLLLRLLLRLLRLLRRRLRRRRRRLLRLLRRRRRLRLRLLLRLRLRRLRRLLRLRRLRLLRLLLRLLLLRRLRLRRRRLRLLRRRLLLLLLLLLLLRRLRRRLLLRLLRRLRRLLRRLRLLRLRLLLRRRRRRRLRLRRRLRRRLRLRLLRRRRLLLLLRRLLRLRLLLRLLRRLRLRLRLLRLLRRRLRLRLLRRLRRRLRLRRLLRRRLRRRRRRRRLRRLLRRLLLLLRLRLLRRLLRLRRRLRRRLLLLLRLLRLLRRLLRLLLLLRLRRRLLRRRLLLLRLLRRLRRRRRLLRLLRRLRLRLRLLLRLRRLLRLLLRLLLLRRRLRLRRLRRRRRLLRRRLRLRRRLLLLLRLRRLRLRLRRLRLRLLLLLRLRRRRRRLLLRLLLLLRRRLRLLRLRLLLLRLLRRRRRRRLRRLLLRLRLLLRRLLLLLRRRLRLLRLLRRRLLRLRRLLRLLRLLLLLRLLRRRLLLLLLLLLLLLLLLRLRLRRRLRLLRRRLLRLLRLRRLLRLRRLRLRRLLRRLLRLRLRRRLLRRRRLLLRLRRRRLRRLLLRRRLLLLRRLRRRRLLRRLRLLLRRLLRRRRRRRRLLRRLLLRLRLRLLRLLLLRRLRRRLLRLLLRRRLLRRRLRRLRLLLLLRLRLLLLRLLLRLRRLRRLRRRRLLRLLRLLLRLRRLLLLRLLLRLRRRLLRRLRLRLLRLRLLRRRLLRLRLLLLRRLLRLLRRRLLRRLRLRRRLRRRLLRLLLRLLRRLLLLLLLRLLRRLRLLLRLLRRLLRLRRLLRLLLLRLRRLRLLLLRRRRRLLLLLLRLRLLLRRLRRLRLRRLLLRRRLRLRRRRRRRRLRRRLRRRRRRLRRRLLLLRLLRLLRRRLLRRLLRLLLRRLLLLRRRLRRRRLLRRLRLRLLRRRLLRRRRLLRLLLLRRLLRRRLRRRRLLLRRLLRLLLLRRLRLRRLRRRRRLLLRLLLLRLRLRRRLLRRLRLRLLRRLRLLRLLLLLLRLRRRRLLLLLRRRLRLLLRRRRLRLRRRRRRLRLRRLRLLRLRRLLRRRRLLLLLRLRRLLLRRLLLLRRLRLLRRRLRRLLRLLLLRRLRRLRRRRLRRRLLLRRRRRRLLRRLLRRLRRLRRLRLLLLRLLRRLLLRLRRRRRLLLRLRLLLLRLRLLRRLRLRRRLRLRRLRLLLLLLLRRLLRRLRLRRLLRRLLRLLRLRLRRLLLRLLLLLRLRLRLRRRLRRLLRLLLRLRRRLLLLRLLRLRRRRRLLRLRRLRRLLLLRRRLRRRRRLLRLLLRLLLRRLLLRRRRLRLRRLLRRRRRRRLRLRLRRRRLLRLLLLLRRRLRRRRLRLLLLLRRLLRRLRRRLLLLRLLRLRRLRRRRLRRLLLLLLRRRLRLLLRLRLLLRLLLLLRLLRRRRLLRLRRRLLRLLLRLRRLRLRRRRRRRLLLRRRLRRRLRRLRLLLLRRRLRRRRLLLRLLLLRRLLLLLLLLLRLLRLLRLRLLRRLRLLRLRLRRRRLRLRLRRLRLRRLRLLRLLLLLRLRRRRRLLLRRRRRRRRLRLRRLRRRRLLLLRLRLRLLRRRRRRLRRLLRLLLRRRLLRRRLLRRRRLLRLRRLRRRLRLLLRRRRLLRLRLLRLLRRLLLLRRLRRRLLRRLRLRLRRRRLLLLLRLLLRRRRRRLLLLRLLRRRLRLLRRRLRRRRLRRRRRRRLLLRRLRLRRLRLRLRRLLRLRRLRLRLRLRRLLRRLRRRLRLRLLLLRLLLRRRLLLLRRLRRRRLRRRRRRLRLLRLRLLRRLLRLRRLRLLRLRLLRLLLLRLLRRLLRLLLLLLLLRRLRRLLLLLLLLLLLLRRLLRRRRRRLLRRLRRRRLLRRRLRRLLRRRRRRRRLRLLRLLLLRRLRLRRLLLLRLRLRRRLLRLRRRLRRLLRRLLLLLLLRLLLRRRLLRLLLLLRRRRLRLRRRRLRRRLRRLLLRLLRLRLLRLLRRLRLRRLRRLRLRLLLRLLRRLRLLLRLRRLRRRRLLLRRRLRLLLRLRLLLLLLRLLRRLRLLRRLLLRRRRLLRLRRLRLRRRLLRLRLLRLRRLLLLRLLLLLLRLRLLLRRRLRLRRRLRLRLRLLRRRLLRRLLRRRRRRLLLLRLRLLLLLLRLRLRRLLRLLRLLLLLRLRLLRLLRRLRRRLLLRLLRLLRRRLRRLLLLRLRLRRRRRLRRRLLLLRLLLLLRRRRRLRRRRLRRRRLLLLLRLLLLLLLRLRRRLLLRRRRRRLRLLRRRLRRRLLLRLRLRRRLRLLRLRLLLRLRRLRLLRRRLRLLLLLLRLLRRRLRLLLLLRRLLRRLLRLLRLRRRRLRLRLRLRLRRRLRRLRRRRRRLLLLLRLLLLLLLLRRRLLRLRLLRRLLRLLLLRRLRRLRRRLRRLRRLRRRLLLRLLRRRLRLLLRRRLRLRLLLLLRLRRLRRLRRRLRRRLLLLRRRLLRLRRLLRLLLRLRLLLLLLRRLRLLRRRRLLRRLLRRLRLLRRLLRRRRLRRRLLLRLLRLRRRRLLRLLRLRLRLLLLRLRRRRRRRRLRRLLRLLLRRLLRRLLRRLLLLLRRLRRLLLRRLRLLRRRLLRRRLLLLRLRLRLLRLLLLRLRLRRLRLLLRRRLLLRLRLLRLRLRRRRRRLRRLRLLLLRRRLRRRRRLLRRLLLLLLLLLRLLRRRLLLRLLRRRRLRRLRLLLRLRLRLRLLLRLRLLRRRLLRRLLRRRRRLRRLLLRLRRLLLLRLLLLRLLLRLRLRRLLRLLLRRRRLRRLRRLLRLRRLLLLLLLLRLRRRLLRLRLLRRRLLRLRLLRLLRRLLRRRRRLLRLLRLLLLRLLRRLLRLLLLRLLRRRRRRLRLLRLLLRLRRLLRLRRRRRLLLRRLRLRLRRRLRLLLLRLLLRRLLRLRRLRLRLLRLRRLLRRLLRRLLLRRLRLLLRRRLRRLRLLLLLRRRLRRRLLRRLRRRLLRLLLLLRRRRLRLLLRRRRRRRLRLLLLRLLLRRRRLRRRLRLRLLLLRLRLLLRLRRRRRLRLRRRRRLRLRRRLLRLRRLRRLRLLLLRRRLLLRLLRRRRLLRLLRLLRRLLLRRLLRLLLRRLLLLRRLLRRLLRRRRLLLRRRRLRLRLRLLLRRRRLLLLLRLRLLLLRLRRRRRLRLRLRLRLLLLRRLLLRLLLRRRLLLLLLRRLLRRLLRLRRRRRRRRLLLLLRRRRRLRRLRRRLLLRLLLLLLRRRRRRLLRLRRLRRRRLLRLLRRRLLLLRLLLRRLLLRLRLRRLLRLRLLLRLRLRRRLLLLLLLLLRRRRRLLRLLRRRLRLLLRLRLRRLLLLRRLLLLRRLRRLRRRLRLLLLRLLLLLRLLLRRLRLLRLLLRLLRLLLLLRRRRLLLLRRRLRRLLLLLRRLRLRRLRLLRRLLRLRLLLRRLLLLRRLRLRLRRLLRRRRLLLLLRRLRLRLRRRRLLRRLLRRRLRLLRRRLLRRLLRRLRRLLRLLRLLRRRLLRLRLLLRLRRLRRRLRRRLLRRRLRLLLRLRLRRRLLLRLRRLLRLLRLLRRLRRLRLRLLRRLLLRRLLLLLRRLLRLRLLRRRRLLRLLRLLRLLLLLRRRLLLRRRLRRLRLLRRLLRRRLRRLRRRLRLRLRRLLLRLRLLRLRRLLRLRLRRRLRRRRLRLRRRRLRLLLRLRLRRRRLRLLLLRLLLRRRLRLRRLRRLLRLRRRLRLLRLLLLRLLRLLLRRRLLRLLRLLRRLRRLLLLRRRLLLLRRLLLRRLLRLLLRLRLRRLLLRLLLRRRLLRRRLRLRRLRRRRRRRLLRLRRRLLRLRRRLRLLRRLLLLLRRLLRLLRLRLLRRRLRLRRLRRRLRRLRRLRLRRLRRRRRRLLLLRRRRLLLLRRRRLRLLRRRLRRRLLLRLLLLRRRRRLRRRLRRLLRRRLLLRRLLRLLLLLLLLRLRLRLRRRRRRRRLLRRLLRRRLLRRLRLRLLLLRRRRLLRRLRRRLRRLRRLLLLRRRLLRLLRRRLRRLRLLLRLRLLLLRLLRLLLLLRRLLRRLLLLRLLRLRRRRLLLLLLLRRRRLLLLRLLRRLLLLRLLRRLLRRRLLLRLRRLLLLLRRRLRRLLRRLLRLRLRLRRRRRRLRLRRLRLRRLRLRRLRLLLRLLRRRLLRLRLRRRLRRRLLLRRLRRRLLLRLLRRRLLRLLLLLLLLRLLLLRLRRLLLRRRRRLLLRRRLRRRLRLLLRRRRRRLLRLLRLRRLRLRLRLRLRRLLRLLLLLRLRLLRLRRLLRRLRLLLLLRLLRLRLRLLLLLRLLLRLLRLLLRRLRLLRLRLLRRLLLLRRLLLRLLRLLLLLRRRRLLRLRLLLLLRLLRRLLLLLRRLLRRLLLLRRRLRRRLRRRLLRLRRLLLLRRLLRRRRRRRRLRRLRLRRRLLLRRLLLRRLRRRLRLLRRLLRLRRLRRRLLRRLLRLRLLLLRRLLLLRLLLLLLRLRRLLLLRLLRLRRLRRRRRLLLRLLLLRRLRLRRLLRRLRLRRRRLLLLLLLRRLRRRLRLRRRRLRLRRLRRRRRLRLLRRRLLRRRRRRRLLLRRRRLRLRRRLLRLLLLLLLLRRLRRRRLLRRRLLLRRRRRLRLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRLRLRLLLLLLRLLLLRRLRRLLLRRRRLRLRLRLLLLLRRLLRRLLLLLRRRLLRLRLLLLLLLRRRRRLLLLLRLLRLRRLRLRLRRLRRRRLLRRLLRRLRRRLRLLRRLLRRLLLLLLRRRLRLRRRRRRRLLLRLLRLLRRLRLRRLLLLLRLRLLLRLRLRLLRRRLLLRRRLRLRRRRLLRRLLLLRRLRLLLRLLLLRLRRRLLLLLLRRRRLRRRLLRLRRLLRLLRRRLLRRRRRLLRLRRRLRRRLRRLLLRLLLRRLLRLRLRLLLRRLLLLRLLLRRLLRRRRLLRRRLLLLLLRRRRLRLLRRRRLRRRRRRRLRLRRLLRRRRRRLLRLLRLLLLLRRRLRLRRRLRRRLRLRLRLRLRLRRRRLLLRRLRLLLRRLLLLLLRRLLLLRLLLRLRRLLRRRRLRLLRLLRRLRLLRLRLLLLRRLLRLLLLRRRLRRLLRLRLRLLRRRRLLRRRLRLLRLRLRLRRRRRRLLRLLRRRRRRLLRRRRLLLRLRLRRRRLRLLLLRLLRLLLRLLLRLRRLRRLRLRLLLLLLRRRRLLLRRLRRLRRLRLRRRRLLRLRRRLRLLRRRRLLRLRLRRLLLRLRRLLLRRRLRLLLRLRRRLRLRLRRLLRLLRRRRLLRRRRRRRLLLRRLLRLLLLLLRLRRLLRLLRLRRRRRRLRRRLRRLRRRRLLLLRLRLRLRRRLLRRRRRLLRRLLLRRLLLLLLRRLRRRLLLRRRRRRRRLRLRLLRLRLRLRRLRRLRLLLRRRRLLLLRLRLLRRLLLRLRRLRRRLRLRRLLLRLLLRLLRRLRRLRLLLLLRRRLRLRRRLLLLLLLRLRRRLLLLLRLRRLLRLRRLRLLLRRLLRRLRLRLLRLRRRLLLLRRLLRLLLLRLRLRLLRLLLLRLLLLLRLLLRLRLLLRRLRLRRRRRLRRLLLRLLRLRRRRRRRLRLRRLLRLRRRLLRRLLLLRLRRLRRRLRLLRLLLRLRRLLLRRRRLRLLLRRRLLLLLRRRLLLRRRRLRRRLRLLLLLRRRRLLLLRRRRLRLLRLRLRLRRLRRLRLRLRLLLRLRRRLRLLRLRRRRRRRLLRLRLRRRLLRRRLRRLRRLLRLLRRLRLLLRRRLLLRLLLLRLLRLRRLRLRLRRLLLRRRRLLRRRLRRLLRRRRRRLLRLLRLRLLLLLRLLLLRRLRLLLRRRRRRRLLRLRLRLRRRLRLRLRLLLLLLLLLRRRRLRRLLRRRRLLLLLLLLLRLLLRRRLRRRRLRLRLLLRLLRLLRLRLRLLRLRRRLRLRLLLLRRRRRLLRRLRLLRLRRLLLLRLRLLRLLRRRLLRRRRRLRLRLLRRRLLRLRLRLRLLLLLLLRRLRLRLLRRLLLRLRRLLRLLLRLLRRLRLRLRRRRLLLRLRRLLLLLRRRLLLLLLLRLLLRRRRRRRLLLLLLRLLLLLLLRLLRLRRRRLLRRRLLLLLLLRLRLRLRRRLLRLLLRRRRRLLRRRLLLLLRRRLLRRLLRLLLRRLLLLRLRLLRRLLRRLRLLRLLLLRLLLLLRLRLLLRLLRRRRLLRRLLRLLLLRLLRLLLLLRLLRRLRLLLLLRRLLLRLLLRLRRRRRLRRRRRRRRLRRRRRRRRLRRLLLRLLRLLLLRLLLLRRRRRLLLRLLLLLLLRLLLRRRLLLRRRRRLLLRRLLLLRLRLLRRRRLLRLLLRRRRLLRLRLLLRLLLRRLRLRRRLRLRRLRLLLLLRLLLRLRRLLLRRRLRLRLRLLRLRLLRRLRLRLLLLRRLRLRLLRLRRRRRRLLRRLLRLRLRRLLRRLRRLLRLLLRRLRLRRRRLRLLLLRLRLRRRLLRRLLLRRRRLRLLLLLLLLRLLLRLLRRRLRLRRLRLRLLLRLRLRLRLLRRLLLLLRRLLRRRLRLLRRRLLLLLLLRRRLLLRLLLLLLRLLRRRRLRRLRRRRRRLRLRRRRLLLRRRLRRRLRRLLLRRLLRRRRLRRLRLRRRRRLLLLLLRLLRLLRLRRLLRRLLRRRRLLRRLLRLRLRLRLLRLRLLLLRLRRLLLRRLRLRRLRLRLLRLRLRLLRRLRLRRLRRRLLRLLRRLLRLRLLRRRLLRLLRRLRLLRLLRRLRRLRLLLRLRLRRRLRLLLLRLRRRRLRRLRRLRRRRRLRLLLLRLRLLLRLRRLRLRRLRRRLRLRRLLRRLLLRLRLLLRLRRLLLLLRLRLLLLLRRRLLRRRRRRRLRLRRRRRLLLLLRRLLRRLLLRRRLLRLRLRRRLRRLLRLRLRLRRRRRRLLRRRLRRLRRLLRRRLLRRRRLLRRRLRLRRRRLRRLLLLRRRRRRLLLLLRLRLLRLLLRLRLLLRRLLLRLRRRLLRRRLLLRRRRLLLLRRRRRRLLLRLLLLRLLRRRRLRLLRLLRRRRRRLLRRRRLRLLLRLRRLLLLLRRRRRLLLLLRRLLRRLLRLLRRLLLRRLLRLLLRRRRLLLRRLLLRLRRLLRRRLRRLLLLLRLLRLRRLRLRLLRLRRRRRRLRLLRRLLRLRLRLRRRLLRRRLLLLLLRRLLRLRLLRLLLLRRLLLLRLLRRRRLLLRRRRLRLLRLLRLLRRRLRLRRRRLLLRRLLRLLRRLRLRRLLRLRLLRRRLLRLLRLRRLRRLRLLLLLLLLRLLRLRRLRLRRRRRLRLLLLRLRLRLLLLLRLLRLRRLLRLLLRRRRLLRLRLRRLLLRLRRRRRLRLRLRLRRLRLLRLLRRLRRRLRRLRRRLRLRRLRLRLRRLLLLRRLLRLLRRRRLRLLRRRRRLRLLLRLLLRLRRRLLLLLRLLLLLRRLLRLRLLLRLLRLRLLRRRLLRLLLRRRLLLRLRRLRLLRRLRLRLRRLLLRLLRLRLRRRLRLRRRLRRLLLLRRRRRRRLLLRLRLLRLLRLRLLRLLLLRLRLRRLLRLLRRLRLLRRRLLLLRLLRRRRLLLRRRRRRRLRRLRLLRLRLRLRRRRRRRRLLRRRLRRLRRRRLLRLLRRLRRRRLLRRLLLRRRLLRLLRRLRRLRRRRLLRRLLLRLLRRLRRRRLRRRRRRLRRLRRRRLLRRRLLLRRLLLRRRRRRRLLRLLRLLRLRRLLRLLLLLRRLRLLRRRLLRRRRRRLRRLRRLRLLRRRLLLLRRRLLRLRRRRLLLLRLLLLLRLLRRRRRLLLLRRRLLLLLRLLLRLLRRRRRRLRRLRLLLLLLRLRRRLLRLLLRLLRLLLRLRLRLLRRRRLRRRLLLLRLRRRLRLRLLLLLRLRLLLLRLLRRRLRRLLLLRLRRLLRLLRRLLLRLLRLLLRRLRRRLRRLRRLLLLLLLLRRRLRRRLRRLLLLRLLRRRRLRLRRLLRRLRLRRLLRRRLLLLLRRLLRRRRLLLRRLLLRRLLLLRRRRLRLRLLRLRRLRLLRLRLLRLRLLRRLRRRLLRLLRRLRLLRLRLRLRLLLRRLLRLLRLLRRLLLLLLLRRLRRRRRRRLRLRLRLLRRLLRRLRLLLRRRRRRLRLLRLRRLLRRRRRRRLLLRRLRLLRLLRLRLLRLLLRRRRLRRRRRRLLLLRRRLRLLRLLRRLLRLRRLLLLLRLRRRRLRLRRLRLLRLRLLLLLRLRLLLRRLLRLLRLRRLRRLLRLRLLRLLLRLLLRRLLRRRRLRRLRLRLRRRLRLLLRRLRRLLLLLLLLRLLRLLRLLLLRLLLRLLLRLRRRRRRLRRLLLRLLRRRLRLRLRLLLRLRRLLLLRLLRLRLLRLLRLRRRLLLRRLLRLRLRRLLLRRRRLLLLLLLRLLLRRRLLRLRRLLLLRRRRLRRLLLRRRLRLLLLRRRRRRLRLRRRRRLRRLLRLLRRRRLLLLLRRRLRRRRLLRLLLLRRLLLRRLRLLRRRRRLLLRRRLLLLLRLRRLLRLLLRLRRLRRLLRLRLRRLLRRRRLLLRRRLLLLRLRLRRRLRLLRRRLRLRRLLRRLLLRLLRLRLLLRLRRLLLRLLLRLLRRRLRLRLLRLLLLLLRLRLRRRRLLRLRRRLRLLRRRLRRRRLRRRLRLLRLRRRLLRRLLRLLRLLRLRLRLRRLLLRLLLLLRLRRRRRLRLRLRLLLLRRLRRLLRLRLRLLRLLRLLRRLRLRLLRLRLRLRLRRLLLRLRRLLRLLRLLRLRLRLLRRLLRLLRLLLLLRLLLLRLLRLLLLLLLLLLLLLLRLRRRLRLLRRLLLRLLLLRRRRRRRRLRLRRLLRRLLLLRLLRLLRLRRLLRLLRRRLRLRRLRLRRRLRRLRRRRRRLLLLRLRRLLRRLLRRRLRRRRRLRRLLRRLRLRLLRLRLLLLLRLRLLRLLLRRRLLLLRRRLLRLRRLLLLRLLLLLRLRRRRRLRRLRRRRRLRRLLRLLLLRRLLLLRLLLLLRRRRLRRLRLLLLRRRRRLRRLLLRRRLRLRRLRRLLRLRLLRRRLLRRRLLRRLLRLLLRLLRRLLLRLLLRRLRRRLLLLRRLRRLLLLRRLLRLLRLRRRLLRLLLLRRLRLLRRLRLRLLLLLRRLLRLRLRLLLLRRLLRLRRLRRLRRLRRRLRRRRLRRRRRRRRLRLLRLLRRRRRRRLLRLRLRRLLRLRRRLRRLRLLRLLRLLLLRRRLLRRRRLLLLLRLRRLLRRRLRLLLLLLLLLLLLLLLRLLRLLRRLRRRRLLLLLLLLLLRLRRLLLLLLRLRLLRLLRLLRRLRLLLRLRRRRLRLRLRRRRRRRLLRRRLLLLRRRRRLRLRLLRLRRLRRLLLRRRLLRLLRRRRLRLLRLLLLRRLLLLRRRRRRLLRLLRLRLLRLLLRRRLLRRRRRRRRLRRLLRRRLLRLLRLLRLRLRLRRLRRRLLLRLRLLRRRLLLRRLLLLRLRLRLRRLRRLLLRLRRRRLLLLRLLLRLLRRLRLRRLRRRLRLLLRLRLRRLLLRLLRLLRLRRRLLRRRRLRLLLLLLLRLRRLLLRLLRLLLLRLLLLLRRLLRLLLLRRRLRRRRRLLLRRRRLLLRRLLLRRRRRRLLRLRRRLLLRRRRLRLRRLLLRRLRLRRRRLLLRRRLLLRRRLRRLLRRRRRRLLLLRLLRRRRLLRRRLLLLRLLLLRRLLRLLLRLRLLRLLLLLLRLRRRRLRLRLRRRLLRLLLRRRRLRLLLRRRRRLLRRRRLRRLRRRLRLLLRLRRLLRRLLLLRLLLRRRLRRLRRLLLLLLRRRRRRLLLLLRLLRRLRRLRRRLLRRRRLRLLRLRRLRLLLLRRRRRRRRLLLRRRRLRLRLRRRRLRRRLLRLLRLRLLLLRLRRRRLRRRRRLLLRRLLLRRRLLRRRRLRRLRRLRRRLRLLLRLRRLLLLLLRRRLRLLRLLRRRRRRLLRRLLLRLLLRRLLLLLRLRLLLRLRRLLLLLLLRLRLRLLRRLRRRRRLRRRRRRRRLRLRRRLRRLRLLLRRLLRLRRLRRRLRLRRRRRRLLRRLRLLLLLLRLLLRRRLLLLLLLRRRRLRRRRLRLRLLRLRLLRRLLLLLLRRLLRLLRRLRLLRRRLRRLRRLRLRLLLLRRLRRLLRLLLLRLRLRLRLLRRRRRLLLRRLRLRRLLRLRLRRRLLRRRRRRRLRRLRLLLLRRLRLRRLRRLRLRLRRRRRRLRLRLRRLRLLLLRRLRLRLLLRRLRLRLLRRLRRLLLRLRRRRRLRRLRRLLLRLLRLRRLRRLRRRRLRRLRRLLRRRLRRLLRLLRLLLLRRRLLRLLLLLLRRLRLLLRLRLLLLLRLLRRRLRLLRRLLRRRLRLLLRLRLLLRRRLLRRLRLRLRLLLRLLLRLLLLLLLLLLRLRLRLRRRRRLRLRRLLRRLRRRLLLRLRRRLRLLLLRLLRLLRRLLLRLRLRLLRLLRLLRLRLLRRRRLLRLLLRLRRLRLLRLRLRRRRLLLRLRRLRLRLLRLLLLLRLLLLLRRRRLRLLLRLRRLRLLRLLRLLLRLLLLRRRRRLLRRRLRRLRLLRRRRRLLLLLRLRLRRLLRRLLLLLLRRLLRRRLRRLRLRRRLLLLLLRLLRLRLRLLRLRLLLRLLRRLRLLRRRLRLRLRLLLRLLLRRLLRRRLLLLLLLRRLLLLLLLLRRRLRLRLLRRRLRLLLLRRLRRLRLRLRRLLRLLRRLRLRLLLRRLRLLLRRRRRRLLLRLLLLRRLLRRRRRLRRRLRRLLRRRRRLLLRLLLLRRRRLLRLRLRRRLLLRRRRLRRRLLRLLRLRRRLLRRRRRRRRRLLLRLRLRRRRLLRRLRRRRRLLRLLLRRLRRRRLLRLRRRLLRRLLRRLLLRRLLLRLRRLRLRLLRRLLLLRRRLLRRLRLLLRLLLLLLRRLLLRLRRRRLRLLLLRRLLLRLRLLLLRLRLRRRLRRRRLLLLLRRRLRRRRRLLRRLLRRLLRLRLLLLRRLRLLRRRRLRLRRLRRLLRLRLRLLLLLRLRLLRLLLLRRLRRRLRRLRRLRLLLLRLLLRRLLLLLLLLRRRLRLLLRLLLRRRLLLRLRRLLRLRRLLRLLRLRRLRRRLLRLLRLRLRLLLLRLLLRLRRRRRRRRRLRRLLRLLLLRLLRRLRRLRRLRLLRLRRLRLLLLRLRLLLRLRRLRLRRLRLLLRRLRLRRLRRLRLLRLRLLLLLRLRLRLLRLLRLRRRRLRRRRLRRRRRRLRRRLLRRRLLRLRLLRLLRRLRRRRLLRRLLRLLLLRRLLLRRRRLLLLLLRRRRLRLRLLRLRRLLRRRRRRRRLRRLLRLRRRRLRRLLRRRLRLLLRLRRLLRLRRRLLRLLRLLRLRLLLRLRRLLLLRLRRRRRLLLRRLLRRLLLRRLLLLLRLLLLLLRRRRRLLLRRRRRLLRRRRLRLRLLRLLRRRRLLLLLRLRLLLLRLRRRRRRLLRLRRRLLLLRLRLLRLLRLLRLLLLLLRRLRRLRRRRRRRRRRLRRLLLLRRRLLRLRLRLRLLLRLLLLLRRRRRRRLLRLRRLLRRRRLRLRLRRLRRLRLLRLRLLLRLLLLRLLRLRLRLRRRLLRRLLRLLRLLLRRRRRLLRLRRRRLRRLRLLRRRRLLLRRRLLRLLLLRRLRRRLLLLLLRLLLLLRRLLRRLRLLLLRLLLRRLLLLLRRLLLLLLRRRLRLLLRRLRRLLRRLLLRLRRLRRRRLLLRRLRLRRLLRLRLRLLRRRRLLLLLRLLLRLRLRLRRLRLLLLLRRLRLLRRRLLRLRLRLLRRLLRLRRLLLLRLLRRRLLRRLRLLLRRRRRLLLRRRLRLLLRLRLRLRRLLRLLRLLLLLRLRRRLRRLRLRLRRLLLRRRRRLLRLLRLRRRLLRRRRRLRLLRRLRLRLLLRRRLLLLRLLRLLRLLRLRRRRRLRLLRLLRRLLLRLRLLRLLLLRLRRLRRLLRRRLLLRRLLRLRLRLRLLLLRLRRRRRRLRRLLLLLLLLRLLLRRRRRRLLLLRRRLLRLRLLLLRLLLLLLRLRLLLLRRLRRRLLLLLLRRLRLLLRRRLRLRRRRLLLLRRRLRRLLLRLLLRRRLLRLRLRLLRLRRRLRRRLLRLRLRLLRLRRLRRLRRRLLLLRRRLLRLLLLRLRRRLLRLLLRRRLLRLLRRLRLLRLRRRRRRLLRLRRRRLLLLLRRLRRLLRLRLRRLLRRRLLLRRRLRLRRRRLRRLLRRRLLLRRLLRLRLRLLRRRRRLLLRRRRRRRRLRRLLLRRRRLRRLRLRLLLLLRRRRLLRLRLLLRRLRRLLLLRRRLLLLRRRRLRRLRLLLRLRLRRLRLLLRRLLRRRRLRRLRLRLRRRRLRRRLRRLRRLRRRRLRLLLRRRLRLRLRLLLLLLLRRRRRLLRRLLLRLRRRLRRRLRRLLRRLRLLLLRLRRRRLRLRRLRRLLLRRLRLRLRLLLRRRLLRRRRRRLRRLLRRRLRRLRLLLRRLRRRLLRRLLLLLRLRLLLRRRLLLRLRLRLRLLLRRRRLRRLRRLLRRRRRRLLRRLRRRRRRLRLLRRLRRLRRLLLLRRLRLLRLRRRLLRLLRRLLLRLRRLRLRLLRLLRLRLLLRRLLLRRLRLLRLRLRLLLLRLRRLLLRLRRLLRLLRLRLLLRLRLLRLLRRRRLRLLLLRRLLLRRLLLRRLLLRRRRRRLLRRLRLRRLLRLLRLRRRRRRLRRRRLLLLLRLLRRLLRRLRRRLLLLLLLLLLRLLRRRRRRRLRLLLLLLLRRRLRLRRRLLLLRRRRLLLLRLLLLLLLRRRLRLLLRLLLLRRRRLRRLLRRRLLRRRLLRLLLLLRRLRRRLRRRLRRLLLRRRRRRRRLRLLRRRLLRRRRRRLLLLRRRLLRRRRLRLLRLLLLLLRRRLRRRRLLRRRLLLRLRRRRRLLRRLLLRRRRRLRRLLRLLRRRRLLLRLRLRLRRRLLLRRLLLLRRLLLLLLLLRRRRLRLLLRLLLRRLLRRLRLLLRRRLLLLRRLLLRRRRRRRRLLLLLRRLLRRRLRLRLLRLRRRRLLLRLLRRRRRRLRLRRRLLRRLLLLLLRRRRRLRLRRRRRLLLRLLRRLLLRRLRRLLLLRRLRLLLRLRLLLLRLRLLLRRRRRLRLRLLRRRRRLLRRLRLRLLLRLRRLRRRRLLRRLLRLRLRRRLLRLLRLLLLLLRRRLRLRRRLLRLLRLRRRLLRLLRLRLLLRRLLRLLLRLLRLRLRRLLLLRRRLLLLRRRLRRRLLRLRLLRRRRRLRRRRRLLRRRRRRLRLRRRRRRRLRRRLRRLRRRLLLLRRLLLRRRRRRLLRLLLRRRLRLRRRRLLLRRLRLRLRLLLLLLLLLRLLLLLLLRRRLLLLRRLLRLLLLLRRRRLLRLRLLLLLRLLRLLLLRLRRRLRLRLRLRLLLRRRLLRRRLRLLLLRLRLRLLRRRLLRLRLRRLRRLLLLRLLRRRRLRRRLRLLLLLLLLLRLRLRLLRRLRRLRLRRRRLLLRRLRRLRLLLRRRRRRRLLLLRRLRLLLLRRRLLLLRRLRLLRLRLRRLRLRRRRRLLLRLLRLLRRLRLRLRLLLRRLRRLLRLRLLLRRRRRRRRLLLRLLLLRLLLRRLRRLRRLLRLRRRRRRRRLLLRRLRRRRLRLLLLRRRLRRRLLRRRRRRLLRLLLLRLLLLLLLLLRRRLLLRRRRLRRLRRLRRRRLRLLLRRRRLRLLLLRRRLRLLLRLRRLRRLLLRLRRLRRRLRLLRLRRLRLRRRLRRLRRLRLRLLRRRRLRRLRRLRRLLLLLRLRRLLLLLRLLRLRRLRRLLRLRLRRLRRLRLRLLRLRRRRLRLRRLLRLLRLRRRLRRRRRLLLRLLLLLRRRLRLRLLLLRLRRRRLLRLRRLLLRLLRLRRRRLRRLRLRRRLRLRRRLLLRLLLLRLLLLRLLLLRLRRLLRLLRRLLRRRLLRLRRRRLRLRLLLLRLLLRLLLLRRRLRRLLRRRRRRLLLRRRLRLRLLLLRLLLLRLRRLLLLLLLLLRRLRRLRRRLLLRRRRLRLLLRRLRRRLRLRRLRRLLRRRRRLLLLRLLLRRRLLLRLLLLRLLLLRRRRLRRLRLLLLRRRLLRLRRRRLLLRLLLLLRLRLRLRLLRLLRLLLLLLLRLRLRRRLRLRLLRRRLLRRRLLRRRLRLLLLLRLLLRRLRLRRLRRRRRLLLRLLRLLRLRLLRLLRRLLLRLRLLLLLLLLLRLRLRLLLLLRLLRRLLLLLLRRLRLLRLLRLRLLRRLLLRRLLLLRRLRRRLLLRLRRRRLRLLLRRLLRRRLRLLLLLLLRLRLRRLRRLRRLLLLLLRRLLRLLRLLRRLRLRLRLRLLLLRLRRRLLLLRRRLLLLLLLRLRLRLRRRRRLLLLRLRRLRLLRLRLLRRRRRRLLRRRLLRRLRRRLRLLLLLRLLRRLRRLRRLLLRRRLRRLLRRRLLRRLRLRLLRRRLRRRLRRRRRLLLRLRLRRLLLLRLLLLLRLRLLLRRLRRLLRLRRLLRLLRLRLLLLLRRLRLLRRLLLLLLLLRRLLRLLLRLRLRLRRRRRRRRRRLRLRLRRRLLRRLLLRLLRLLLLRLLLRRLRRRLLLRRLLRLLLLLLLRRRLLLRLRRRRRRLRRLLLRLLLLRRRRLLLLLLRLRRRRRRRLLLLLLRLRLRLLRRLLLRRLRRLLLRLLLLRRRRLLLLLRLRRRLRLLRLRLLLRLRRRLLLLRRLRLRRLRLRRRRRLLLRRLLRLRLRRLRRRLRRRLLLLLRLLLRLLRRRLLLLLLLRRRRRLRRRLLRLRRLLRLLLLLLLLRLLLRLLRRLLLLLRLRLRLLRRLRLRRLLLRLLLLLLRRLRRRRLRLLRLRLLLLLLLRRLRLRRLLLLLLLLLRRRRLRRLRLLLLRLLRRLRLLLRRLRLRRRLRRRLRRRRRLRRLRRRLRLLRLRRLLLLLRRLLRLRRRLRRLRRLLLRRRRRRRLLRLRLLLRLRLLLLLLLRLLRRRRRRLLLRLLLLRRLRRRLLLLRLRRLRRLLRRLLRRRRLLLRLLLRRRLRRRLRRRLRLLRLLRLRLLLRLLLRLRLRRLLRLLLLRLRRRRLRLLRRLRLRRRLRLLLLLRRLLLRLRRRRRRRLRRRRRRRRLLRRRLRLLLLLLRLRRLLLLRRLRLLLLLRLRLLLRLRRRRLRLRRRRLLLLRRRRLLLRLLLRRRLLLLRLRRRLLRLLRRRLRRRRLRLRRLRRRLRRLRRLRRRRLRRRRRLLRRRLLLLRRRLRRLLRRRRLRLRLRRRLRLLRLRLRLLLRLLLRLLLLLLLRRLLRLRLLLRRRRLLLRRRRRLLLLLLLRLLLLRRRRRLLRLRLLRRRRRLLLRRRRLLLLRRLRLLRLLLLLLRLLLLRLRRRLRLLLRLRLRRRLRRLLRLLRRLRLLLLLRLLLRLRRLLRLLLLRLRRLLRLLRLRLLRLRLLRLLRRRRRLLRLRRLLRLLLRLLRRLLRRRRLRLLLRRLLRLLLLRLLLLRRLLLLRLLLRRLLRRRRRRLRRRRLLRLRRRRLRLRRLRRLLRRLRLLLRRLRLLRRLRRRLLLLRRLRRLRRRLRRRRRLLLLLLRRRLLRLRRLLRRRRLRLRLLLLLLRLRRLLLLRLLRLRRRRLRLRRRRLRLLLRLRRLLLRRRLRLRLRLRLLLRRLRLRRLLRRRRRRRRRLRRLLRLLRLRLRLRRLLLRRLLLRLRRRRRRRLLLRRRRRLLLLRLRRRLRRRLLLLLLLLRRLRRLLRRRLLLRLLRRRLLRRLRLRLLLRLRRLLRRRRLRRLRLLLLRLRRLLLLLRRLRLRRRLLLRRLLLRRRLLRLRRRLRRRRRLRRLRRLLLRLRRRLLLRLLRRRLLRRLLRLLLLRRRRRLLRRLRLRRRLLRRRRRLRLLRRRRLLLRRRLRRLRLRRLLLLLRLRLLRRRRRLRLLRRRRRRRLLLRLLLLRRLRLLLLRLRRLLRLRRLRRLRLRRLLRLLRRRLRRRRRLRRLLLLRLRLRLRRLRLLLLLRRRRRRRLLRLLRLRLLRRRLLRLRLLRRRLLRRRRLLRRRRRRLRRLRLLRLLLLRRLLRRRRRLLLRRRRRLLRRLLRLLLLLRRRLRLLRRRLRLLRRLLRLRRRLRRLRRRRRRRRRLRLRLRRRRRLLLLRLLRRRRLRRLLLLLLRLRRLRLLLLRLRLRRRRRLRRLLLRRLRRLRLRRLRLRLRRLLRRRLLRLLLLLLLRRLRLLRRRLRLRLRRLLLLRRLLLLRLLRLLRLRRLRRRLLRRLLLRRRRLLLLLRLRLRRLLRLLRRRLRRLLLRRLRRLLRRLLRLLLRRLLLLRLRRLRLRLLRRRLLRLLRLRLLRRRRLRRRRRRLLRRLLRLRRLRRRRRLRRLLRRLLRLLLRLRRLLLLLLRRRLLLLLLRRLRLRLLRLLLRLRRLRLLLLRRRRRLRLRRLRLLRRLRRLRRLLLRLLLLLRLLLLRRLRLLLRLRRLRRRRRRLLLLRLLRRLLRLRRLLLLLLLLRLRRLLRLRLLLRRRLRLLLRRLLRLLLLLLLLRLRLRLLRLRLLRRRLRLLLRRLLLRLLLRRLLRRRRLRLLLLRLRRRRRLLLRRLRRLRRRLRLLRLLRLLRRLRLRLRLRRLLRLLLLRRRLRRLLLRLLRRLLRLRLLLLLRRLRLLRLLLLLLLLLRRLRRRRLLRRRRLRRRRLRRLLRRRLLLRLLLLRRLLLRLRLLRLRRLLLLRRRLLRRLLLRRLLRRLLLRRRLRRLLLLRRRRLRRLRRLLRLLRRLRRLLLRLLRRRRLRRLLLRRLLLRRRRRRRRRRRLLLRRLRLLLLRLRRLLLLLRRLRRLLLLRRLRLRRRLRRRRRLLRRRLLLLRLRLRLRLRLLRLRLLLRRLLRRLLRRLLRLRLRRRLRRRLLRLRLRLLLLRLRLRRRRLLLLLRLLRRRRLLLLLLRRRLRLRLRRLRRRRRRRRLRLRRLRRRLLRLLRRLLLLLLRLLRLRRRLLRRLLRLLLRRLRRLRLRLRRLLLRRLRRLLRLRLRRLRLLLLLLRLRLLLLRRRLRRRLLRLRLRLLRLLRLLRLLLLLLRLLRLLLRLLRLRRLLRRRLLLRLRLRRLLLLLLLLRLRRLLRRLRLRLRLRLRLRLLRLRRRRLRRRLLRLLRRLLLLRLLRLRRLRRLLRLLRLRLRRLRLRRRRLLRRLRRRRRRLLRLLLRRLRLRLLRLRLRLLRRLRRLLRRLRLLLLRLRLLLLRRLLLRRLLLRRLLRLLRRRLRRLRRLRLLRLLRLLRLRRRRRLRLLLLLRRRRRRLRLRLLRRLLLLLLRRLLLRRRLRLLLRLLRRRRRRLRRLLLRRRLRLRLLRLRLLLRLRRLRLLLLRLLLLRLLLLLRLLRRRLRRLRLRRRRRRLLRLRRLRRLRLLRLLLRLLRRRRRLLRRRLLLRLRLLRRLRLRLLRRLRLRLRLLLLLLRRRLLRRRRLLRRLLRLRLRLLRRRLRRLLRRRRLRLLRLLRRRRRRRRLRLRLRLRRRLRLRLRRLRRLRLLLRLRLRLRLRRLRRRLLRLRLLLLLRLLLRLLLLRLLLLLLLRRLLLLRLLRRLRRRRLRLLLLLLLRLLRLLRLLLLRRRRLRLRRRLLRLRRRLRRRRLRLRLRLRRRRRRRRLRLLLLLLLLLRRLRRLLLLRRRLRRLRLRLRRLRLLLRRRRRRLLLLRRRRRLLRRRLRRLRLLLLRLLLRLLLLRRRRLRRRRRRRRLRRLLLRRLLLLLRLLRLRLRLRRLRRRLRLLLRLLRRRRLLRRLLLRRLRLRLRRLRRLLLRLRRRLLRRLRLLLRLRRRLRLRLLRRRLRLLRRRLLLLRRLLLLRLLRRRRRLLLRRRLRLLLLRLLRLRRRRLRLLRLLLLLLRRLRRRRLLLRLLLRRLRRRRLLLLRRRRRRRRLLLLLLRRRRLLRLRRRLLLRRRLRLLRLLLLRRLRLRRRLLRLLLRLLRRRRRLLLLLRRRRRLLLLRLRRRRRLLRLRRLLLRLRLRLRLRRRRLLLLLLRLLLLRRRLRLRRLRLLRRRRLLRLLLRRRRLRRLLRRRRRRRRRLRLRRLRLRLRLLRRLRRRLRLLRLRLLRLRRLLRRRRRLLRLRLRRRRRRRRLLLRLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRRRLRLLLLRRLLLRLLLRRLLLRRRLRRLRLLRLLLLRLLLRRLRRRRRLLLLRLLRLLLRRLRRRLRRLRRLRRRRRLLLRLRLLRLLLRRRRLRLLRLLLRRRLLLLLLLLRLRLLLLRLLLLRRRLLLRLRLRLLLLLLRLLLLLLLRLRRLLRLLRRLRRLRLRLRRLRRRLLLLLRRRLLLLLRRRRRLLRLRRRLLLLRLLRLLRLLLLRLRLLLLLLLLLRLRLLLRRLLLLRLRRLLLRRRRLLLLLRLLLLLLRRLRRLRRRLRRLRRRRRRLRRLLLLRRLLRRLLLRLRLRLLLLLLRLRLLLRRRRLRLLRRLLLLRRLLLRRRLRRRRRLRLRRLRLLRLRRLRRLRLRLRRRRRRRRLRLRRLRLLLLRRRRLLLLLRRLRRRLRRRLRRLLRRRLLRRRLRLRRRLLRRRRLLLRRRRLRRRLLLRRRRRLRRRRRRLLRLLLRLLLRLRLLRLLLLLLLRLRLLLRRRLRLLLRLLRRRLLRRLRLLRRRLLLRLRLLLLRRLRRRRRLRLRRRLLRRRLRRRLLLLLLLRLRLRRRLRLRRRRLLRRRLRRLRRRRLLRLRRRLRRLLLRRRRLLRRRLRRLRLRLLRRLRLRLLRLRLRRRLLRLLLRLRRLRRLLLRLRRRRLRLRLRLLRLRLLLLLLLRRLLRLLRRRLLRLLLLRLRLRLRRRRLLLLRLLLLRRRRRRRRRRLRRRLLLRRLRRLLRLLRLRLLLLLRRLLLLLLRLRLRRRRRRLRLRRRLRRRLLRLLRLRLRLRRLRLLLRLLLRRRLLRRRLRLRLLLLLRLLLRRRLRLRLLLLLRLLRLLLLLRRLRRRRRLRLLRLRLRLRLLRLRLRLRLRLRLLLLLLRRLRRLLRLLRLLLLLRRRRLRLLLRRLLLLRLLRRRRRLRRLLRRRLRLRRRLLLRLLLLRRRRRLRLRLLRRLLLLRLLRRRRLLLLLLLRLRRRLRRRRLLRRRRLRLLLLRLLLRLRRRRLRRRLRRLRRRLRRLRLLLLRRLLLRRLLRRLRLLRLLLRLLRLLLRLLLRLLRLRRLRLLLLRLLLLLLLLLLRRLRLRRLRRRLRRLLLRLRLLLLRLRLLRLRLLRLLRRLRLRRRLRLRLLLRLLLLLRLRRRRLRLRLRLLRRLRLLRRRLLRLLLRLRLRRRRLRLLLLRLLLRLRLLRRRRLRLLLRRLRRLRLLRLLLRRRRLLRLLLRLLRRRRLRLRLRLRRLLLLLLRRRLRLRRLRRRLRLRRLRLRLLLRLRLLLLRLLRLRRLRRRLRRRLRRRLRLRLRLRRRLLLRRRRRLRRLLLLLLLRLRLLRLRLRLLRRLRRLRLRRLLLLRRRLRLRRLLRRRLRRLRRLLLLRRRLRLRLLLRRLRRRLRRRRLRRRRRRLRRRLRRRRLLRRRRLRRRRRLRRRRRLRRRLRLLLLRRLLRRRRRRLRRLLRRRLLRLRLLRRRRLLLRRLRRRLLRRLLRLRRRRLRRLRRRRLRLLLLLLRLLRLRRRLRRLLRRLRLRLLLRLRRLLLLRLRRRRRRLLRRLLRLRRLLRLLLLRRLLRRLLRLRRLLLRRLLRRRLRLLRLRLLLLRRLRRRLLLRRLRLLLRRRLRRLRRRRLRLRRRLRLLLRLRRRRRLRLLLLRRLLRRRLRRLRRRRRRRLRRLRRRLRLLRRLLRLLLRLRLLLLRLLLRRRRRRLRLLRLLRRLRLRRLRRRLRRLRRLRLRRLLLLLLRLLLRRLRLRLRLRRLRLLRLLRLRRRLLLRLRRLLRRRRRLLRRRRLLRRLRLLLRRLRLRLLLLRRLRLLRLLLLLRLLRRRRRLRRLRLLLLLRLLLRLRLLRRRRLLRLLLLRLRRLRLRRLLRLLRRLRLRLLRLRLRLRLRRRRRLRLLLLLLLLLLRRLLLLRLLRLLRRRRRLLLRLRLLRRLRRLLRRRRRLLRLRLRLLRLRLRRRRLLLLRLRRRRRLRRRRLRLRRRLRLRRRRLLRLRLRLRLLLRRLRLLLLLLLLRRRRLRLRRLRLRLRRLLLRLRRRLLRLLRRRRRLLRLLRRRRRLRRLRRRLLLRRRRLLLLLRRLLLRRRLRRLRRLRLRRLLRRLLLRLRLRRLLLLRRLRRRLLLRRLLLLRLLLRRRLLLRLRLRRRRRRRLRLRRRRLLLRRLRLLLRRLRLRRRLLRRRRLRLLRLLLRLRLLLRLLRRLLLRRRRRLLLLRRLRRLLRLRRRRLRLLLRRLRLLRRLRRRRRRRLLRLLRLLLLRRLLLLRRLRLLLLRRRRLLRRLLRLLLRLRRRRRRLLRLLLLLLLLRRLRRLLRRRLLRLLLLRLLRRRRLLLRLRLRRLLLRRLRRRLLLRLLLLRLLLRLRLRRLLRRLLLLRLLLRLRRRLLRRLLLRRLRRRRLRRLRRRRLRRLRLRLLRRRRRRLLLRLLLLRRRRLRLLRLRRLLLLRRRRLLLRRLLRRRLRRRLRLLRRLRLLRLRRLRRRRLLLRRLRRRLRLLLRRLRRRRRRLRRRLRLRRRRLLRLRRRLRRLRRRRLRRLLRRRLRLRLRLLLLLRLRRRRRLLRLLLRRLLRLLLLRLRRLLLRLRLLLLRLRRRRLRLRRLRRLLLLRRLRRRRLLLRRRRLRLRLLLRLLLLRRLLRLLRLLLRRLRRRLLLRLLRLLRLRLRRRRRLLLRLLLLLRLLRRRLRLLRRLRLLLLLRRRRLRRLLRLRRRLRLLRRLRRRRRLLLLRRLLLLRRLRRLLRLLRRLLRRLRLLLRRLRRRRRLRRLLRRRLLRLRLRRRRLLRLLLRRRRLLLRRLRRLLRRLRLRLRLRLRLRRLLRRRRLRLRLRRLRRLRRLLLRRLRLLLRRRRLRRRLRLRRLLRLLRLLRRRRRRRRRRLLLLLRLLRRLLRRLLRLLLLLLLRRLRRLLRRRRRLLLRLLLLLLRLRRLRLRRRLLRRRRLRRRLLRRLLRLLLRRRLLLRLRLLLLLLRRLRLLLLRRLLRLLLRRRLLLLRLLLRLRLRRLLRLLLRRRRRRRLLRLLRRRLLRRRRRRLLLRRLRLRLRRRLRRLRLLLRLLRRRRRRLLLLRLRLLLRLRLRRRLRLRLLLRLRRLLRRLRRLRRRRLRLLRRRLLRRRRRRLRRLLLLLLLLLLLLLLRRRRLLLLLRLLRRRLRRRLRLLLRRRRLLRRRLLLRRRLRRLLRLLRRRRLLRRRLRLRLLLRRLLRLLLLLLRLRRRRRLLRRLLRRRLLLLRLRRRRRLRLLRRLRRLLRLLLRLLLRRLLRRLLLRRRRLRRRRRLLLLRLRLLRLRLRLLRLRLRRRLRRRLRRLRRRLLRRLRLRRRLRLRRRLLRLRLRRRLLRLLRLLLLLLRRRRLLRRRRLLLLRLRLLLRLLLRRLRLLLRLRRRLLLRLRLRRRRRLLLRRRRLLLRRRLRRRRLRRRLLRRLRRLRLRRRLLRRRRRRLLRRRRRRRRLRLRLLRLLRRRRLLRRRLRRRRRRLLLRLLRRRLRRLRRRRLLLLLLRLRRRLRLLLLLLLRLLLLRLRLRRLLLLRLLLLLRLLLLRRRLRLLLLLLRLRLRLRLRLRLLRLLRLRLLRLLRLLRLLLRRLRRRLLLRLRRLLLLRRRLLLRLRRLRLLLLLRLRRRRRLRLRLRLLLLLLLLLLLRLRLRRRRLRLRLRLRLLLLRRLRLLRRLLRRRRRRRLRLLRLLRRRLRRLRRLRRRLLRRLLRRLLLLRLRRRLRRRLRLLRLRRLLRLRLRLLLRRLRLLLRLLLLLRRRRLRRRLRLRLLLLRRLLRRLRLLRRLLLLLRRRRRRLLLLLRLRRLRLRRLLRRRRRRRRRRRRRRRRLLLLLLLRRRRRLRLLRRLLLLLRRLLLLRLRRLRRRRLRLLLRLRLLRLRLLRRRLRLRLLRRRLRLLRLLLRLLRRRLRLLRLRRLRRRLRLLLLRLRRLRLLRLRRLLRLRRLRRRRLLLRLRRLLLLLRLLRRRLRRRLLRLRLLRRLLRRLRLRRLRRLRLRLRRLLLLRRLRRRRRRRRRRLRLLRRRLRRRLLLLRLLLLLLRRRLLRLRLLLRRLLRLLRRLLRRLLLRLRLRRLLRRLLLLLLRRRLLLRLLRLRRRRRLLLLRRLLRLRLLRRRRRRLRLRLRLLRLRLRLLLLRRRRRRLLRRRLRLLLLRRRLRLRLLLLRRLLLLLLRRLRLLLRLLRRLRRLRRRLLLLRRRLRLLLRLLLRRLRLRRLLLLLRRRLRRLLRLLLLRRLLLLRLRLLRLLLRLLRRRRRLRLLLLLRRRRLLRRLLLRLRLLLLLRLRRLLRLLRLRRLRLLLLRRLRLRLRLRLRRRRRRLLRRRLLRRRLLLLLLLRRRLLRLRLRRRRRLRLRRLRRRRRLLLRLLRLRRRLLLRRRLRRLLLLRLRLRLRLLLLLRLRRRLRLRRLRRLRRRLLLRLRLLLLLRLRRLLLRRRLRLRLRLRLRLRRRLLRLRLLLRRLRRLLLLLLLRLRLRRRLRRRLLRRLRLRRLLRLRRLLRLLRLLLRLRLLLLLRLRRLLLRRRRLLLLLRLRRRLRLRRLRLLLLLRLRRLRLLRRLLLRRRLRRRLRRRRLRRLRRLRRLLLLLLLLRRLRLLRLLRLRRRLRRLRRLLLRRRRRLRLLRLRRRRRLRRRRRLLLRLRLRLLLLLRLLRLLLLLRLLLRLRLLLRRRRLLRLLRLLLLLRRRRLLRRLLLLLLRRLLRRLRRRLRRLRLRLRRLRRRLRLRRRLRLLRRLRRRLLLRLRRLLLLRLLLRRLLRLRLRRRRRRRLLLLLRRRLLLLLLLLRRRRLRRLLLRLLRLRLRLLRLRLLRLRRRRRRRRLLLLLRLRLLRLLRLLRRLLRRLLLRLRRRRRLRRLRLLRLRRLLRLLRLRLRLRLRRRRRRLRRLLLRRLLRLRLRRLRLRLLLRRRRRRRRRRLRLRLLLRLRLLLRLLRRRLLLRLLLLRRRLLRRRLRRLRRLRRLLLLRLRRRLLLRLLRLLLLLLRLRLLLRRRRRLRRLLRRLRLLLLRLRRRRLRRLLLLLLLRLLLRLRLRLRRLRLRRLLLRRRLRLLRLRLLLLRRLRRLRLLLRRLRLRRLLLRRLRRLRRLLLLRRLLRLLRLRLLLLLLRRLLRLRLRLLRLLRLRLLLLRRRLRRRLRLLRRLRLLLRRLRRRLLRRRLLLLLRLLLRRRLRRRLLLLRLRRLLRLLLRLLLRRLLLLRLLLRRRLRRRLRRRLLLLRRRLLRLLLRLRLRLRLLLLLLLRRRRLRLLLLLLLLLLRLRRLRRLLRRLRRRLLRRRRRLRRRRRRLRRRLRLRRRRLRLRLRLLLLRRLRLLRRLRRLLLRLLLLLLRLLRLRLLLLLLLLRRLRRLRLRLLRLLRLRLLLRRRRLRRLRLLRRRLRRLLLRLRRRRRRRRRLLRLRLRRLRLRRRRLLRLLLLLRLLRRLLRRRRRLRLLLRRRRLLLRLLLRLLLRLRLLLLLLLRLLRLLLLRLLLRLLRLRLRRRLRLLLLLLLRRRLLRRRRRLLRLRRRRLRLRLLRLLRRRLLLRLLRLLRLLLLLLRLLRRRRRRRLRLLLRLRLRRRLRRRLRRLRLLRLLLRLLRLLLLLLLRLLLLLLRRRLLRRLLLRLLLRRLLRLLRRRRRLLRLRRLRRLLLRLLRRLLLRRRLRLLLRRRLLLLLRRLRLRLRLLLLRRLLLRLLRRRRRRLLRRRLLRLRRRLLLLRLLRRLLRRRRLLRLLLRRLRRLLRLLLLLRRLRRLLRRLRRRRLLLLLRLRRLLLRLLRLLRLRRLLRLRRRLLLRLRRRRRLRRRRLRRRRLRLRRRRLRLLRRRLRLLLRRRLRLRLLRRRLLRLRLRRLLLRRRLLRRRRLRLLLRLLRLLRRRLRRLLRRLLRLRRLLLRRRLRLRRRRRLLRRLLRRRLRRLLLLLRLLRRRRRLLLRRRRLRRLRRRRLRLLLRLLRLLRLRRLLRRLRRRRLLLLLLRLLRLLLLRRRLRLRRRLLRLRLLLRRRRRLLLRRLRRRRRLLRLRRLLLLRRRRRRLLLLRRLLLRRRLLLLLRRLRRRRRLRLRLRRRRLRLRLRLRLLRRLRLLLRRRLLRLRLLRLRLLLRRLLLLRLLRLRLRRRRRLRRLLLLLRRLLLLRLLLLLLRLRLRLRRRRRLRRRRRLRLLLRRRRRRRLLRRLRLLLLRLRLRRRRLLLLLRLRRRLRLLLLLLLRLLLRRLLRLRRLRRRLRRLRLLLRLRLRRLRRLRLLRLRLLRRLRRLLRRLLLRRRRRLLRRLLRLLLLLLRRLLLLRRRLRRRRRLLRRRRRLRRLRRLRRRRRRLRLRLLRRLRLRLLRRLRRRRRRRLLLLRRLLRRRRLLLLRRRRRRRRRRRRRLLRRLLRLRLRRLRLLRLRLLRRRRLRRRLRRLLRRRRLLRRRLRLRLLRLLLRRLLRLLRRRRLLRRRRLRLLRLRRLLRRLLLRLLLLRLRLRRLLLRRRLRRRRLLLRRLLRLLRRRLRLLLRRLRLRRLLLLLLRRLRRLLLRLLRLLLRLRRRLRRRLLRLLRRLLRLRRRLRRRRLLRRLRLLRRLLLRLRRRLRLRLRRRLLLLLLRRLRRRRLRLLLRLRRLRLLLLRRRRLLRRRRRRLLRLLLRLLRLLRLLRLRRRLLLLLRRRLRLRLRRLRLLLLRLLLLLLLRRRLRRRLLLRLLLLLRLRRLRLLRLRLRRRLRLRLRLLLRLLLLLRLRRLRLLLLRLRLLLRRLRRLLRRRLRLLLLLRRRRRRRRRLLLLRLRLRRRLLLRLLRLLRRRLRLRLLRRLRRRRRRLRRRLRLLRRLLLRLLLRRLLLRLLRLLLLRLLLLRRLRLRLLRLLLRLRLLLRRRLRRRLRRRRRLRLRRLLLRLRRLLLLRLRLRRRRRLLLRLLRLRRLLRLLRLLRRRLLLRRLRLRRLLLRLLLRRLRLRRRLLRRLRRRLLLLLRLRRLLLRLLRLRRLLRLLLRLLLRRRRRRRLRRRRRLLRLLRLLLRLLLLRRLLLRLLLRLLLLRLLRLRRRLRRRRRLLRRLLLLRRLRRLLRLRLLRLRLLLRRLRRLRLRRRLRLRLRRLLLRRLLRLRLLRLLLRLRLRRRRLLLRLRLRRRLRLLLRLLRRLLRRRLRLRRRLLRRRRLRRRLLRRLRLLLRRRRLLRLLRLLLLRRRLRLRRRRRLRLRLLLLRRRLRRLLRRRLRLLRRLRRRRLRRLLLLLLLRLLLRRRRLRRRLLRRRLRRLRLLLLLRLLLLLLRLRLLRLRLLLRRRLLRRRLLLRRRRRRLRRRLRRLRLRLLLRRRRLRLRLRLRLRLLLLRRLRLRRLLLRLLLRRLLRRRLRLRRLLRLRRLLRLLLLRLLLRRLRLRRRLRRRLLRLRRLLRLRRRLRLLLLRLRLLLRLLLRRRRLLLLRRRLRRLLLRRLLLRLLLLRLLRRLLRRLLRRRRRLRLLLRLRLLRLRRRRLRLLRLLLRRRLRRLRRRLRLRLLRRLLRRLLLLLRLLLRLRLRRRRRRRLRLRRLRLRLRLRLRRLRRLLRLRRLRLLLLLRLLLRLLRRRRLRLRRLRRLRRRRRRLRLRRLRRLRLRRLLRLLLRRRRRLRLLRLRRLLLLLLLLRRRRLLLLRRLLLRLRRLRLLLRRRLLRLRRLLRLLLRLRLRRLLRRLLRLLLRRRRLLLRLRLRLRRLLRRRLRRRLRRRRRLLLLLLLRLRLLLRLRLLLLLRRLRRRRLRLRLLLRLLLLLLLLLRRRLLRRLRRRRLLRLRLRRLLLRLLRRLLLRRLRLRRLLRLLLLRRRRLLLRLRRLRLRRRRRRRRLRLRRRLLLRRRRRRLRLLRLLLLLLLRLLRLLLLRRLLRLLRLRLLRRRLLLRRLRRRLLLRRRLRRLRRRLLRRLRLLLLRLLLRLLRLRRRRLLRRRRLRRLRLRLLLRLLLRLRRLLLLRRRRRRRRRRRLLRRLLRRRRRLRRRRRRRLRLRLLRLRLLLRRRLRRLRRRRRLRLRLRLRRRLRLRRLRLRLLRLRLLLLRRRLRLRLLRRLRLLLLLRRLRLLLLRLLLLLRRRRRLRLRLLLLLRRLRLLRLLLRLLLRRRLRRRLLRLRRRLRRRRLRLLLLLRRRLLLLRRLLLLRRRLRLLLLLLLRRLRLRRRLLRLLLRLLRRRRRLLRRLLRLRRRRLLRRRLRRRLLRLLRLLRRRRLRLLLRRRRRLRLLRRLLRLRRRLRLLLLRRLRRRLRRRRLRRRRLRRRLLRLLRRRRRRLLRRLLRLRRLRLRRLRRRLLLLRRRLRRLRRLLRRRRRLRRLRLRRRLRRRRLLLLLLLRLRRLRLRLLRRLRRRRLRLLRLLLLLLRLRLLLLLRRRRLLLLLLLLRRLLRLRRLRRLRLLRLLLRLLLLRLLRRRRRLRRLLLRRLLLRRLLLRRRLRLRRLLRRRLRRRLLLRRLRLRRRRLRLRRLRLLRLLLRRLLLLRLRLLLLRRLLLLRRRLLLLRLRRLLLRLLLLRLRRLRLRRLLRLLRLLRRLRLRLRRLRRLLLLLLLLRLLLLLRRRLRLRRLRRLLLLLRLLRLRRLRLRRRRLLLRLLLLLRLLLLLLRLLLLLRRLRLLRLLRLLLLLRLRLLLLRRLRRLRRRRLLRRRRRRRRRRLLLLLRLLRRRLRRRRLRLLRLLLRLLLRRLLRLLLLLRRLLLLRRRLLRLRLLRRRRRLRRRRRLLRLLLRRRLRLRRRLLRRRRRLLLLRRRLLLLRRRRRLRRRRRLRRLLRRRRRLLLRRRLLLRRLRLRLLLRRLRRLRLRRRRLLRRLRLLRLRRLRLRRRRLRLLRLRLLLRLRRLLLLLLLLLLLRRLLRRLLRRRRRLRRLLRLRRLRRLRRRLLLRLRLLRLRRLLRRLRLRLLRLLLRRRLRRRLLRLLLRRRLLRRRRRLRRRRLLRRRLRLLRLRRRLLLLRLRRRLLRRRRRRLRLRLRRLRLRRLRRRRRRLRLLRLRRLLRRLLRRRRRRRRLLLLLRRRRLRLRLRLLLLRRLLLLRRRLLRRRLLRRLLRLLLLRLLLLLRRRRLLLRRRRLLRRRLRRRRLRLRLRLLLRRLRRLLRRRLRLLLLLRLRLLRLRLRLRLRRRRRRLRRLRRLRRRLRRLLLLLLRLRRLRRLLLLRLRRRRLLRRLLLLRLRLLRLLLLRRLRLRLLLRLRRLRRRLLLRRLLRRRRLLLRLLRRLRRLLLLRLRLLLRLLLRLLRLRLRRRLLRLLLLLRRRLRRRLRLRRRRLLLLRLLRRRRRLLRLLRRRLLLRRLRLLRRLLLRLRRRLRLRLLRRLLLLLLLRRRLRLLLRLRRLRRRLRLLRLLRRRRLRRLLLRLLRRLRRLRLRLRLRRLRRLLRRLLLLLLRRLRRRLLLRLLRRLRLLLRRLRLLLRRLLRRLRRLRLRRLLLRLLRLLLLLRRLRRRRLRLRRRRLRLRLRLRRLLLRRRLLLRLLLLLLRLLRLRRRLLLLLLLRLLLLLRLRRRRRRRRLRRLRRRRLLRRRLLRRLLRLRLRLRLLLLLRLRLRLRRLLLRRRRRRLLLLRRRLLRRLRLLLRRRLRRRRLLRRLRLRRLRRRRRRLRLLLLLRLRRRLRRLLRRRLRRRRRLLRRLLRLRLLLLRRLRLRRLRRLLRRRLLRRRRLRLRRRRRLRLRLRRLLRRRLLRLLLRLLRLRLLLRLLRLLRRLRLLRLLLLRLLRRRRRLLLRRLRRRRRRLLLRRLLRLRLRLRRLRLRLRRLRLRRRRRRLRRRLRRRLLLLRLRLRRRLLLRLRLRLLLRLLLRRLRRRLRLLLRRLRRLLRRRLLRLRLRRRRRLLLRRLRRRLLRRLRRLRRRLRRRLRRLRLRRLLLLLLLLRLLLLLRLLLRRLRLRLLRRLRLLLLLRLLLLRRRLLRRLRRLRRRLLRLLRRRLLRRRLRLRRLLLRRLLLRRRRLLRLRLLRLRRLRLRLRLRRRRLLRRRRLRRLRRRRLRLRRRLRLRLLLRRRLRLRLLLLRRRRRRLLRRLRRLRLRLLRLLRRRRRRLLRLLRLLRRLLRLRLRLRLRRRLLRLLLRRLLRRLLLLRRLRRLRRRRRLLRRRLLRRLLRLLLRRRRRLRRLLRLRLLRLLRLRRRLLLRLRRRRLRRRLLRLRRRLLRRLLRRRRRLRLRRLLRRRLRLLRLRLLLLLLRRRRRRRRLRLRRLRRLLLRLRLRRRRLLLRLRRLRLRLLRLRRLLRLLRLLRLRLLLRRLRLRRRRRRRRRLLLLRLLLLLRRLLLLRLLRLLRRRRRLLLLLRLLRRLLLRLRRRLRRLRLRRRLLRLRRLRRLRLLLRRRLRLRRRLRRLRLRRRLLLRRRRLRRLRLLLRRLLLRRRLRLLLLLLRLRRLRRRRRRLRRRRLRLRLLRRLRRLLRRRRLRLRLLLRRLRLRRRRRRLLLLRRRLLLLLRRLLLRRLLRRLRLLRLRRLLRRLLLRLRRRRRLRRRRLLRRLRLRRLLRLRLLRRRLLLLRLRRRRRRRRLLLRLRRRRLRRRLRLRLRRLRLLRRLRLLRRLRLLRLRRLLRLRLRLLRRRLRRLRRRLLLLRRRRRLLRRRRRLRRRLLRRLRLLLRLRRLRRRLLLRLLRRLLLRRLRLLRRLLLLLLRRRRLLRRLLRLLLRLRRRRRRRLRLLRLLLRLRRRRRLLRRRLLRLLLLLLLLRRRRLLRLRLRRLLRRRLRRRLRLRLLLLRLLLLLLRLRLLRRLLRLRLLLLLRRLLRLLRLLRLRRRRRLRLRRRRRLRRLRLRLLRRRLLLLLRRLLRLRLLRRRLLLRLRLLRLRLRRLLLRLLLRRLLLLRRRRLRLLRLRRLLRRRLRLRLLLRLRRRLRLRLRRLRRLLRRLLRRLRLRRRRLLLLRRRRRRRLRLRRRRRLRRLLRLRRLRLLLLRLRLRRRLRRLLRRRRLLLRLLRRRLLRLRLRLRLLLLRRRLRLLRRLRRRLLLLRLRRRRRRLLRRRLRLRLLLRLLLRRRLLRLLLRLLRRLRRLLLLRLRRRLRLLRRRRRRLLLRRLLLLRLLRLLLRLLLRLRRLLLLLRLRRRRLLRLRRLRLRLRLRLLRRRLLLLRRLLLRRRLLRRLRLLRRRRRLLRLLLRLLRRRRLRRRLRRRRLRLLRLRRLRLLRLLRRRRRLRRRLLRRRRRRLRLRLRRRRRLRRRLLRRRLRRRRRLLRRLRRRLRRRLRLLLRRLRRRRRLRRRRLLRRLRLLRRLLLRLRRLRLLLLRRLRRRLLLRLRLLLLLLLRRLRRLLRLRRRLLLRLRLLRRRLRRLRRRRRRLRRRRLLRRLLRRLLRLLLLLLLLRRLRLLLRLLRLLLLLRLLRLRLLLLRRRLRLRLLLLLLRLRLLLLLLRLRRLRRRLRLRRLRRRLLLLRLRLRRRRLRLRLRRRLRRLRRLLRLLRLLRRRLLLLLLRLLLRLRLRRRRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLLLRLRRRRLRLRRLRLLRLLLRLLLRLRRLLLLLRRLRLRRRRLRRRRRRLRRLLRRRRLLRRRLRLLLRLLRRLRRLRLLLRRLLLLRRLLLLRLLRRLLRLRLRLRRRLRRLRLRRLRRLRLRLLRLLLRLRRRLRRRLRRLLRRLLRRLRLRLRRRRRLRRLLRLLLRRRRLLLRLLRLLLRRRLRRRRLLLLRRLLRRRRLRRLLRRRRRRLRLLLRRRRRLLLLLLLRLLLRRRLLRLLRRLLLLLRLLLRLLLRRLRRLLLRRLRLLLRRRLRRRRRLRLRRLRRLLRRRRLLLRLRRRRLLLLRLLRLRLRRLRLRRLRLLRLLRRRLLLLLRLLRLLRRRRLLRRRLRLLRRLLLRRRLRRRLRRLRLLLRRLLLRLLRRLLRLLLRRLLRLRRLRRRLRLLLRLRLLLLRRLRLLLRLRRLLLLLRRLLRRLRLRLRLLRLLRRLLLRLRRLLLLLLRRLRLRLLRRRRRLLLLLRRLLRRLLLLRLRRLLLLRRRRRLRLLLRLLLRLRLLRLLRRRLRRRRLLLRLRLRLLRRRRLLLLRRRLLLRRRRLLRLLRLLRRRLRRLRRLRRLLLLRLLRRLLLRRRLRLLRRRLLLLRLRRLLRLRRLRLRLLRRLLRRLLLLRRLRLLRLRRRLRRRLLRRLLRRLRLRRRLRLRLLRRRRRLLLLLRLLLLLRRRRLRLRRRRRLRRLLLRLRRLLRLLLLRRRRLRLLRLLLRLLLRLLLLLLRLLLRRRLLRLLLLRLLRLRLLLLLLRLRLLRRRRLLLRRLLLLLRLLRLRLRRRRLRRRLRRLLRRLRLRRRRRLLRLLRLRLRRRRRLRLRLRRRLLRLRRLRRRLRLRLLRLRLLRRLLRRRRRRLLRRLRRRLLRLRLRRRLLRLRRRRLRRLRLRRRRLLRRRLLLRLRLLRLRRLLLLRLLRLRLRLRRLLLLLRLRLRRLRLRRLLLRLLLRRRRRRLLLRLLRLRRLRRRLLLRRRLRLRLLLRRRLLLRRRRRLLRRRLLLLLLLRRRRRRLRRRLLLLRRRRRLRRLLLLLLRLRLLRLRRLRLRLRLRRRLLLLRRRLRLLRLLLRRRLRLRLLRRRLRRRLLRLLRRLRRLLRLRRLLLLLRRLRRRLLRRLRLLRRRRRLLLLLLLRRRRLLLRLLRRLRLLLLLRLRRLLRLRRLRRLRLRLLRLLRRLLRLLLLRRRRRLLRLRLLLRRLLLLLLLRRRLLLLLLRLRRRLRLRRLRRRRRLLLRRLRLRRLLLLLRRRRRLRRLRRLRRLRRRLRLRLRRRLRRRRLLLLRRRLLLRLRLLLLLRRRRLLLRLRLRLLRRLLLRLRLRLRRLRLRRLRLRLRLRLLLLRRLLRRRLRRLLRRRLRLLRLLRLRRLRRLLLRLRLLRLRRRLRLLRRLLRLLRLLRLRRLLRRLRLRRLLLRRLLRLLRLRLRRRLRRLRRLLRRLRLRRLRRRRRLRLLLLLLLRLLRRRLLLLLRRRLLRRRRRLLLRRRRRRLRRLLLRRRRLLRRRLLLRLRLRRRLRRLRRRLRRRLRLRLLLRRLLLLRRLLRLLRLRLLLLLRRRRRLRRLLLLLLRRRLRRLRRRLRLRLLRLLRLLRRLRLLRRLRLLLRLRRRRRLLLRLLRLRRRRLRRLLLLRLRLRRRRRLLLLLRLLLRLRLLLLLRRRLLRRRLRRLRRRLRLLRLRLLRLRRRRRRRRLRLRRRLRRLRLLLRLRLLLLRLLLRLRRRLRLLRLRLLLRLRLRRLLRRLLRLRRRRLRRRLLLRLLRRLLRLLLLLLRLLLLRRRRRRRRRRRLLLRRLRRRRLLLRLLLRRLRLRLLLLRRLLRRLLRRRLLLLRLRRRRRRRRRRRLRLRRLLRLLLRLLLLRRRLRRLLRLLRLLRLLRRLLRRLLLRRLRLLLLLRLLLRLLLRRRLRRLRRLLLRLLLLRLLLRLLLLLRLRRLRLRLRLLLLRRLLLRRLRRLRRLLLLRRLLRRLLLLLLLRLRRRLLLRRLRLLRLLLRRLLLLRRLLRRLRLLLRRLRLLLRRRRRRLLRRRLLLLLLLRLRRRRLRLRLRLLLRRLLLRLLRRLLRRLLLLLRLRRLLLRRLRRLLLLRRRRRLLRLLLRRRRRLRRLLLRLRRRRRLLLLLLLLRLLRLLRLLRRRRRRLRLRLLLRRRRLRRLRLLLRLRLLRRLLRLRLRLRLLLRRLRRLRRRLLRLRRRLLLLLLLLLLLLLLRLLLLLRRLRRLLLRLLRLRLLLRRLRRRRLLRLRRRLRLLRRLLLLLLRRLRLRLLRLRLRLLLLRLLLLRRLRLLLRLRLLRLLRRRRRLLRLLRRRRRLLLRRLLRLLRRRRLLLLLRLRLLLRLLLRRLLRLLLRRLRLRLLLLRRRLRRRRLLRRRRLLLRRLRRLLLLRLLRLLRLRLRRRLRRLLRRLRLLLLLLRRRRRRRRLLLRLLRLRRRLRLRLRRLRLLLLRLRLLRLLLRLLLRLLLRLLRRRLRRRRLRRLLLRLLLLLLRRLLLRLRLRRLRLRLLLLLLRLLLRRRLRRRLRRRRLRLLRRLRLRLRRLRRLRRLLRLRRRLRRRRLRRLRLLRRRLLRLRRLLLRLRLLRRLRRLLLRRLRRLLRLLRLLRRLLRRLRLLRLRRLRLLRRRRRLRRLRLLLLRLLRLLRLRRRRLLLRRRRRRRRRRRRLLRRLRRRLRRLRRLRLRLRRLLLRRLLLLRLRLRLLRLRLRRLLLRRRLLLRLLLLLLLLRLRLLRRRLRRLRRLLLRLRRLLLRRLLRLRRLLRLLRRLLRRRRRLLRRRRRLLRRRRRLLLRRLRLRRRRRRLLRLLLRRLRRRRLRRRRRRLLRLRRLLRLRRLLRRLLLRRRRRLRLRLLRLLLRLLRRRRLLLRRLLRRRRRLRRLRLLRLRRRRRRLLRLRLLLRRRRLLLLLRLLRRRRRLRLLLRLRRLLLLLRLRLLLRLRRLLRRRLLLLRLLRLRLLLRRLLRLLLLRLLLRRLRRLLRRLLLRRRLLLLRLRRLLLLLRLLLRRRRLLRRLRRLLRLLLLRRLRRLLRLLRLLLLRLLLRRRRLLLRRLLRLLLRLLLRLLRRLRLRRLLRRRRRRRRLRRLLLRRRLLLRLRRLRRLRLLRLLLRRRRLLRRLLLLRLRRLLRRLLRLRLLRLRLLLRRRRLLRRRRRRLRRRLRLLRLLRLRRRRLRRRRRLLRLLLLRLRRRLRRLRRRRLLLLRRLLLLRLLLLLRRLRLLLRRRLRRLRRLLLRRRLLRRRLLRLRLLRRLRLLRRLRRLLRRRRRRRRRRLLRLLLLLLRLLLRLRRRRRLLRRLRLRLLRLRRLLRLLLLRLLLLRLLLRLLLLRRLLLRRRRRLLRLLLLLRRRLRLRLRLLRRRRLLLLLRRRRLRLLLLRRLLLLRLRRRLRLRLLLRLRRLLRRRRRLRLRRRLRRRLLRRRRRLRRRLRRRLRLRRRLLLLLLLLLRRLRLRRLLRRLLRLLRLLRLLLLRRRRRRRLLRLLLRLLLRLRLLRLRRRRRLLLRRLRRLLLLLLRLLLLRLRLLLLLRLRLLRRLLRRLRLLLRRRRLRLLRLRLRLLLLRRLRLLLRRLLLLRRRLLRRLLRLLRLLLLRRLRLRRLRRRLLRRLRRRRRRRRRLRLLLLLLLRRRRRRLLRLRRRRLRLRLLRLLRRRRRRLRRRLRRLRRLLLRLLLLLLRRLRRLLLLLRLRLRRRLRLRLLRLLRRLRLLRLRRLRRRLRRRRLLRLRLLLLRLRRLLLRRRRRRRRRRRLLRLLLRRRLRRLLRLLRRLLRLRRLRLRRRLLLLLLLRLRLLLRLLLRLRLRRLLLLRRRRRLLRRLRLRRRLRRLLRLRLRLRRLRRLLLRLRLRRLLRLLLRLRLLRRLLLRLLLLLLLLRLLRRLLRRRRRLRLRRLLRRLRLLLRLLLRRRRRLRRLRRLLRRLRRRRRLRLLLRRLLLRRRRLRRLLRLLLLLRRLRRLLRLRLRLRRRLRLLRRLRRRLRRRRLLLRLRLLRLLLLLRRLLLRLRLLLRRRRRLRLLRLRLRLLRLRLRRRRRLRLLLLLLRRRLRRRRRLLLRLRRLRLRRRRLRRLLLLLLLRLLRRRLRLRRRLLRRRRRLLLRLRRLRRLLLRRLRLLRRLRRLRRRRRLRRLLLRRRRRRRRRRRRRRRLRLRLLLRLRRLLLRRLRRLRLLRRLRLLRLRLLRRLLRRLRLRLLLRRLLLLRRRLRLLLLRLLRRRLLLRRRRLLRLLLLRRLLRLRRRLLRRLLLLLLLLRRLLRRRLRLRLRRLRRRRLLRLLLRRLRRRLLLRRLLLRLLRLRRRRRLRLRRRRLRRRLRLLRLLRLLLLRRLRRLRRRLRLLRRRRLRRRLRLLLRRLLRLRLRRLRLRRLLLRRLRLRRRRLLRRLRRLLLRRLLRLRLLLRLLLRRLRRRLRRLLRRRRRRRLRRLLRLRRRLRRLLRRLRLLRRLRRRRLRLLRLRRRRLLLLLRRRRRRLRLRRRLLRLLRLRLLRRRLLLRLRLLLLLLLLRLLLRLLLLLLRLLLRRRRLRRLRRLLLRRLLRRLRRRLLRRRRLLLRLLLLRRLLRLRLRRLLLRRLLLLRRLRRRRLLRRLLLRLLLLRRRLLRRLRRRRLLRLRLLRLLLLLRRRLRRRRLRLRLLLRRLLRLRLRRLLRLRRLRRRRRRLRLLLLRRRRRLLLRLRRRLLLLRLRLLLLLLRLRLLRLRRLRLLRRLLLLRRRRRLRLLRRRLLRRRRLLRLRRLLLRLLRRLRRRRLLRLLRLLLLRLLLRRRLLLLLLRRLLRRLLRLLRLLRLRRRRLRRLLRRRLRLLLLLRRRLRLRRRRLRLRRLLRLRLLLRLRLLRLRRRRRRRLLRRLLRLRLLRRLLRRLRRLRLRLLRRRLRRRRRLRLRLRLLLRLLRRLRRRLRLLLRRRRLRRLRLLLLLRRLRLLRLLRRRRLLLRLLLLLRRLRRRLRRRLLRRRLLLLRLRLLRRLLLLLLLRLRLRLLLLRRLRRRRRLLLRLLLLRLRRRRRLLRRLLRLLLRRRRLRRLRLLRLLLLRLLRRRRRRLLLRLRRRLRLRRRLRRRRRLRRLLLLRRLRLLLRRLRRRLRLLRLRLLLLLLLRRRLLLRLLLRLLRLRRRRLLLRLLLLRRRLRRRRLLRRRRRRRRRLRRLRRLRLRRLLRLRRLRLRLLLLRLRLRLLRLRLLRLRRLRRRRRLRLLLLLRRRLLLLLLLLRLRLLRLLLLRRRRLRLRLRRLLLLLLRLLRRLRRRLLLRRLLLRRLLLLRRLRLLRLLLRLRRRLLLLRRLRLRRLRRLLRRRRLLRLLLRRLLRLRLRLLLLRRRRRLRRRLLLLLLRRRRLRRLLLRLRRLLLRLLLLRLLLLLLLRRRLLRLRLLRLRLRLLRRLRLLRLRLRLRLLRRLLRLLLRLRLRRRRLRRRLLLRRRRLLRLLLLRLLLLLLRLRRLRLRRLLRRLRLLRLRRLRLRRLRRRRLRRLLRRLRRRRRRRRLLRLLRRRRRRRRRRRRLLRRLLLLLLRRLLRLLLLRRLLLRLLRRLLLLLLLLRLRRLRRRRLLRLRLLRRRRLRLRLLLRRLRLLLRLLRRLLRRRRRRRLRRRLLLRRLRRRRRLLLLRLRLLLLRLLLRLLRRRLRRLRLRRLRRLLRLRLLRLLRLRLRRRLRRLLRLRRRLRLLRLLLLRRRLLLRLRRRLRLRRRRRRLRRLLRLRRLLRRRLLLLRRLRLLRLRLLLRRLRLRRLRLLRRRRLRRRRRRLRLRRRLLLRLRLLLRLRLRLRRLLLRRLLRRLLLLLLRRRRLRLRRRRRRLRLRLLRRLRRLRRRRRLRLRRLRRLLRLLLRRRLRRLRRLLLRLLRRRRLRLRLLLLLRLLLRRRRLRRRRRLLLLLRLLLLRLLLLRRRRRLRRRRRRRLRLLLRRRLLLLLLRLRRLLLRLLLRRRLRLRLLLRLRRLRLRRRLRLLRLRRLLLRLRRRRRRLRRLLLRLRRRRRLLRRLLRRLRRLRLLLLRLRLRLRLRLLLRLLRLLLLLLRRRRRLRRRRRRRRLLLRRLRLRRLLRRLRRRRLLRLLRLLLRLLRLLRLLLRRRLRRLLLRLRRRLLLRLRLRRRRRLRLLRLLRLLLRLLLRRRRLLLRRLRLLRRLRRRLRLRRRRRRLLRLRRLLLLRRLLRRLLRLRRLLRRLLLLRLLLRRRLRRLRLLLLRRLRRLRLRLRRRRLRLLLLLLLLRLLRRLRRRLLRRLLRRLLRRRRRLLRLLRRRLLRLRRLLLRRLLLRRRRLRLRLRRLRRRRLRLRLLRLRRRLLLRRRLRLRRLRLRLLLLLLRLLRLRRRRLLLRLLLLLRRLLRRRRRRRRRLRRLLLRRRLRRLLLLRLLRLRRRLRLRLRLRRRLRLRRLLLRRLLRRLLLLLRLLRRRLRLLRRRRLRRRRLRRRLRLRLLRRLRRRLLLLRLLRLLRRLRLLRRRRRRRRLRLLLRRLRLRRLLLRRLRLRRLRRLLRRLLLLLRRLRRLRRRRLRRLLRRLRRRRLRRLLLLLLRLRRLRRRLRLLRRLRLLLLLRRRLLRLRLRLLLRLRRRRLRRRLLRRLRLLRLRLRRLRLLRRLLRRLLRRRLLRLRRRLLLRLLRLRRRRRLLLRLLLRRLLRLLLRRLRRRRRLLLLRLRRRLLLLLLLRLRRRRLRRRLLLLRLLLRLRLRRRRLRLRRRLRLLLLLRLRLLLLLRLRLLLRRLRLLRLLRLRRRRLLLRRRLRRLLLLRRLRRLRRLLRRRLLRRLRRRLLRRRRLLRRLLRRLLLLRRRLLLLRLRLRLRRRLLLLRRRRRLRLRRRRLRLLLLLRLRLRLRLRRRRLLRRRLRRRLLLRRRRRRLLRRLLRRLRLLLLLLLLRRRRRLLLLLRLLRLLLRRRLRRRRRRLLLLLLRRLRLLRLLLLRRLRRLLLRRRRLRRRLLRRRLRLRLLRRLRLRRRLRLRLLLRRRRRRRRRLLLLLRRLRRLLLRLRRRLRLRLLRRRRLLRRRRLLRLLRLLLRLRRRRLRRRRRLRRRLLRLRRLRRRLRRLRRRRRLLLLRRRRLLLRLLRRRRRLLRLRLLRLRRLLRRLRLRRRLLRRRRLLRLRLRLLRRLLLLRRRRRLLRLRLRLLLLRRLLRRLLLRLRRLLLRRLLRRLLRLLRRLRRLRRLLLRRLRLRRRLRLLRLLLRLLLRRLLLRLRRRLRLRLLLRRRLRLLRRLRRLRRLLRLLRLRLRRLLRRRLLRRRRRLLRRLRLRRLLLLRRLRRLRRLRRRRRLLLRRRLLLRLLRLRRLLRRLLLRLLRLLLRLRLRLLRRRLRLRRLRLLRRLRLRLLLRLLLLRLRLLLLRLRRRLRLRLLLLRLRRRRLRRRLLLRLRLLRLLRRLRLLLRLRRLRRRRLRRLRRRLLLRRLRRLRRLLRLLRRRRLLLRRRRLLRRRLLRRLRRRLRLRLLRRRLRRRLLLRRLLLRLRLLRLLLLLLLRRLRLLLRRLRLLLRLRRLLRRRRRLLRRLRRLRLRRLLLRLRLLRLLLRLLRLLRLRLLRLLLLLLRRRRLLLLRRRRLLLLRLRRLLLRLLLRRRLRRRRLLLLLRLLLRLLRRLLLRRRLLRRLRRRRRRRRLRLRLRLLLLLLLLRRLLRRLLLRRLLRLRLRRRRLLLLRRLLRLLLRLLRLLRRRRLLLRRLRRLLLRLLRLRRRLRLRRRRLRRLRRRRRLLRRLLRRRRLRRLRLLLLRRRRRRRLLLLRRRRLRRLLRRRRLRRLLRRLLLRRRLRLLRRRRRLLLRLLRRLLRRLRLRLRLLLLLLRLRLLRLRLLRLRLLRLRRRLRRLLLRRLRLRLLLRLLLRRRLLRLLLRRRLRRLLLRRLRRRRRRRRLRRRRLRLLRRRLLLLLRRRLLLRLLLRLRRRLLLLLLRRLRRLRLLRLRLRLRLRLLRRLRRRRRLRLRRLRLLRRLLRLRRRRRLRRLRLRLRRRRRLRRRLRRLRRRLLRLRRLRLRRLLRRRRLLRRRLRRLRRRRRLLLLRRLRLRRRRRLRRLLRRRRRLLRRLLRRRRLLLRLLLRLLLRRLRLLRRRRLLRRLLLLLLLLRLLRLRLLLRRRLLRRRLLRLLLRLRRLLRRLRLLRLLLRRLLRRLRLRRRRLLRRRRLRRRRRRLRLLRRRRLRRLRLLRLLLLLRRRLRRRRLLRLRLLRRLLRLRLLLLRRRRRRRLLRLLLRLRLLLLRLRLLRLLLLLRLRRLLLRRLLLLLLLRRRLLLLRLRLLLRRLRRRRRRRRLLRLLLLRRLLLRRRLLLLLRLRRLLRRRLLLRLRLLLRRLRRLRLRLRLRLRLRLRRRRRRLRRRRLLRLLRRRLLLLRLRLRLRRRRRLLRRLLRRRRRLLLRRLRLRRRRRRRLLLLLRRRRRLRRLRLLRLRLRLLRLLLLRRLLRRLLRLLLRLRRLLRRLLRRRRRRLLLRLRLLLLLLLRRRLRRLRRLLRLRLLRRRRRLRLRRRLRLRLRRLLLRRRLLLRLRLLLLRRLLRRRRLLRLRRRLRRRRLRLLLRRRRRRLLLLRLLLRRLRLLRRLRRLLLRRLLLLLRRLRLLLRLLLRLLRRRLRRRLLRRLRLRLRRRLLRRRRLRRRLLRRLLLLRRLLLRRRRRRLLLLRLRRLLLLRLLLLLLLRLRLLRRLLLLLLRRLRRLRRRRRLLLRLRLLLRLLLRLRLRLRLRLRLLLLRRRLLRLRRRLLRRRRRRLLRRRRLRRRLRLLRRLLLLRLRRLRRLLRLRRLRLRRRRLLRRLRRRRLLLRLLRRLRLRLRRLLLLRRLLLRLRRLRLRLRLLLLLLRRLRRLLLLLLRRLLLLRRRLRLRLLLLRLRRRRLRRLRRRLRRRLRLLRLLRLRLRRRRRRLLLLRRRLLRLLRLLRLRLLLLRRLRLLLRLRRLLLLRRLRLRLLRRRLRLLRRRLLLRLRRRLRLLLRLRLRLLRRLRRLLLLRRLLLLLLLRRRLLRRLRRRRRRLRLLRRLRRLRLLLLLLRLLLRLLRLLLLRRRRLRLRLRLLLRRLLLLLRRLLRRRLLRRRRRRLLRLLLRRRLLLLLLLLRLRLRRLRLRLRLLRLLRLRRRLLLLRRRRLRLRRLLRRRLRLLRLLLRLRLLRRRLRRRLRRLLRLLRLRRRRRLLLRLRLLLRRRRRRRLRLLLRRRRRLRLLRRLRLLRLRRRLLRRLLRLRLRRLRLLLRRRRLLRRLRRRRLRLRLRRLRRRRLRRRRRLRRRLRLRRRLLRLRLLLLLRLLRRRLRRLRLLLLLLLRLRLLRRLRLLLRRLLRRRRLRLLRLLLRLRRLRRRLRLLRRRLLLLRLRRRLLLRRRRRLLLRRRLLLLRLLLRLRRRRRLLLLRRRRLLLLRLRRLRLRLRLLRLLRLRLRLRRRLRLLLRLRRLRLLLLLLLRRLRLRLLLRRLLLRLLRLLRRLRRLLRLRRRLLLRRRLRRRRLRRLRLLRLRLRLLRRRLLLLRRLLLRLLRRLLLLLLRRLRRLRLRRRRRLRRRRLLRLRRRLLLLLLLRRLRLRLRLLLRLRLRLRRRRRRRRRLLLLRLLRRLLLLRRRRRRRRRLRRRLLLRLLLLRLRLRRRLRRLRRLRLRLRRLRLLLRLRLRRRRLLLLLRRLLRLRRLRLLRRRRLRLRRLRRLLLRRLLLLLRLRLRRLLLRRLRLRLRLRRRRRRRLLRLRLRRLLRRRLRLLRRLRRRLRRLLRLRLRLLLLRRRLRLLRRRRRLLLRRRRRRRLRRRLLLLLLLRRRRRRLRRRRRRRLRRLRLLLLRRLLLRRRRRRRLRLRLRLLLRRLRRRLLLLLRRLLLRRRRRLLLRRLLRRLRRRLLRRRRLRLRRLLRRLLRLRRLRRRRLRRRRRLRLRRRLRRLLLLRRLLRRLRRRRLRRLRRRRRLRRLLRLRRRRRLLRRRLRRRLRLLLLLRLLLLLLLLRLLLLLLLLRLLRRRLRRLRRRRLRRRRLLLLLRRRLRRRRRRRLRRRLLLRRRLLLLLRRRLLRRRRLRLRRLLLLRRLRRRLLLLRRLRLRRRLRRRLLRLRLLLRLRLLRLRRRRRLRRRLRLLRRRLLLRLRLRLRRLRLRRLLRLRLRRRRLLRLRLRRLRLLLLLLRRLLRRLRLRLLRRLLRLLRRLRRRLLRLRLLLLRLRRRRLRLRLLLRRLLRRRLLLLRLRRRRRRRRLRRRLRRLLLRLRLLRLRLRRRLRLRLRLRRLLRRRRRLLRRLLLRLRRLLLRRRRRRRLLLRRRLRRRRRRLRRLLLLRLLRLLLLLLRLRLLLLRRRLLLRLLLRLLRRRLLRRLLLLRLLRLRLLLLLRRRRRRLRRLRRLRLLRRLLRRLLLLRRLLRRLRLRLRLRRLRLRRRRLRLLRRRLLRLRLLRLRLRRLRLRLRRLLRLRLLRLLLRRLRRLLRRLRLRRLLLRRLRRLLRLRRLRRLLRLLRLRRRLRLRLLLRLRRRRLRLLLLRLLRLLRLLLLLRLRRRRLRLRRRLRLLRLRLLRLLLRLRLLRRLLRRRLRLRRRLRLLRRRRRLRLRRRRRLLLRRLLLLLLLRLRLLLLLRRRRRLLRRLLRRRLLLRRLRLRLLLRLLRRLRLRLRLLLLLLRRLLLRLLRLLRRLLLRRLLLLRRLLLRLRLLLLRLLRRRRLLLLLLRRRRRLRLRRLRRRLRLRRRLLRRRLRLLLRRLLLRRRLLLLRRRRLLLLLLRRRLRRRRLRRLLLLRLRRLRRLLLLLLRRLLLLRLRRRLRLLRRRRRLLLLLRRRRRLLRRLLRRLRRLLRRRLLRRLRRRLLLLRRRLLRRRLRLLRRLLLRLLRRRRRLRRLRLLRLRLRRLRLLLLLLRLRRLLRRLRLRLRLLLRRLLLRRRRRRLLRRLRLRRLRRRRLLRRRRLRRLLLLRRRLLLLRLRRLRRLRRLLLRLRLLLLRRRLLRRLRRLLRLRLLRRLRLRRLLLRRLRRLRLLRLLRLRRRRRRRRLRRLRLLRLRLLLLLRLRRRRLRLRLRRRRRLRRLRLLRRLRRRLLLLRRLRLRLLRRRLRLLLLLRLRLRLRLLRLRRLRRLLRLLLRLLRLLLRLRLLRLRLRLLRRRRLLRRLRRLLLLRLRRLLLLLRLRRRLRRRLRLLLRRRRRLRRRRRLLRRLRLRRRLRRLRLRRLLLRRLRRRLLLRRRLRLLRLRRLLRLRLRLLRRRLRRLRLRLLLRLRLLLRLLRRRRLLLLLLLRRRLRLRRLRRLRLRRLRRRRLRLRLLRRLRRLLRLRRLLLRRRRLRRLLLLRRRLLLLLLLRLLRLRRLRLRLRLLLLLLLLRRLLLRLLRLLLLRRLRRLLRLLLLRRLLRRRLLLRRLRRLLRLLRLLLLRRLLRRRLRRLLRLLLLRLLLLLLRLLRLLLLRRLLLRRRLLRRRLLLLLLLRRLRRLRRLRLLRRLRRRRRLLRLRRLLLRRLLLLLLRLLRLLRLRRLLLRRRRLLLRRLRLLLLRRRRLRRRRRLRRLLLLLRRRRLLLRRRRRLRRRLRRLLLLLLRLLRLRRRRRRLRLLLRRLRRRLRRLRRRLRLRLRRLLLLRLLLRRRRLRLLLRLRLRRRRRLRLRRRRLRRLLLRLLRRRRLRLLRRLRRLLRRRLRRLRRRLLRLLLRLLRLLRRRRRRRRLLLRLLLRLLRRRRLRRLLLLRLRLLRRLLRLRLLRRLLLRRRRRLLRRLLLLRRRLLRRRLLRRRRLLLLRLRLRRLRLLRLRRLRLRRLRLRRLLRLLLRRLRRLLRLRRLRLRLRLRRRLLRRLRRLRRLLRRRRRRRLLRLLLLLLLRLRLRLRRLLRRLLRLRRRLLLLLLRLRRLRLLRRLLLLLLLRRRLLRLRRLRRLRLRRLRRRLLLLRLLLLLLRRRRLLLRLRRLRRLLRRLRLLRRRRRLRLLLLRLRLLRLRRLRLRRRRRLRLRRRLLRRLRRLRLLRLLRRLRLRRLRRRLRRRLLRRLLLLRLLRLRLRLLLRLRRRLLRLLRRRRRRRRLRRLRRLRRRRLRRRLRRRLRLLLLLLRLLRRRLRRLLLRLRLRLRRRLRLLRRRRLRRLRLRRLRRLRLLLRRRLLRRLRLRLLRRRLLLLRRRRRRRLRRRLLLRRLRLLRRRRLLLLRLLRRRLLLRLRRRRLLLLLLRLRLLLLLRLLRRLRRLLLLRRRRRLLLRLLLLRRLRRRRLLRRRLLRLRRLLLLLRRRLLLRRRRRLRLLRRLRRRLRLLRLLRRLRLRLLRRLLLLRRRLLLRRRRLRLRLLLRLRRLLLRLRLLRRLLRRRLRRLRLRRRLRLLRRRLRRRLRRLLLRLRLRRLRRRRRRLRLRLLLLRRLRLLLRLRRLLLRLLLLRLLLRLRRLRLLLRRLLRRLRRLRRLRLRLRLLRRRLRRRRRLRLLLLLRLRLRLRRRRLLRLLRRLRLRLRRLRRLRRLLRLRLRRLRLRLRLRLLRRRLRLLRRLRRLRRLRLRLRRLLRRLRRLRRRRRLRRRRLRRLRRRRRRRRRRRRRRLRLLLRLRRLLRRRLRRRRLLLLLLLLRLRLLRRLLRRRRLRRLRRLRLLRRLRRLLLRLRLLRLRLLLRLLRLLLLLLRRRRLRLLRRLLRRLLLRLLLLLRLLRRLLRLRLRRLRLRRRRRLRLRRLRRRLLLRRRRLLLRRLRLLRRRRLRRRRRLRLLLLLRLLRLLLLLRLLRRLRRRRLLRRRRLRRRRRLLLLRLLRLRRRRLLLLLRLLRRRLLLRLRLLRLLRRLRLRRLLLRRLLLRRLLRRLRRRLRRLLRRRLRRRLLRLLLRRRRLLRLLRRRRLLRRLRRLRLLLRRLRRRRLLRLRRLLRLRLRRRRRLLRRLRLRLRRRRLLRRLRLLRLLRLLRLLLRLLLLRLLLLLLLLRLRRLRRLLLLLLLRRLRLRLLRRLRLLLRLLRLRRLRRLRRRRLLLRRLLLLRRRRRLRLLRRLLLRLRRRRRRRRRRRRRRRLRRLRRLLRLLLLRRRRRRRRRRLRLLRRRRRRLRLRRLRRLRRLLRLRRRLRLLLLRLRLRLLLLLLLRRLLLRRRRLLLLLRLRLRRLRLLRLLRRRLLLRRLRRLLLLRLRRLRRRRLLRRRRLLLLLLRRLRRLRLRRLRRRLLLRRLLLLLLLLRLLRRLLLRRLRRLRRLRLRLRLLRLLLRRRLRLRRLLLRRRLLRRRRLRLRLRLLRLLRRRLRLLLLRRRRLRRRLRRLLRLRLLRLLLRLRRRLRLRLLRRRLRRLRRLRLLLRRLLLLRLRRRRRRRLRLLRRRLRRLRRRRLRRRRRLLRRLRRRRLLLRLLLLLRRRLLLLRRRLLRRRLLLLLLRRLRLLLRRRLLLLRLRLLRRRLLRLRLLLLRRRLLLRRRLLLRLLRRLLLLLLRRRRLRRLLLLRRLLLRRRRLRRRRLLRRLRRRLRLRRLRRRRRRLRLLLLRLRLRLLLRRLRRRLLLLRLRRRLLLLLRRLLLLRLLRLLLRLRRRLRLLRRLLRRRRLRRRLLLRLLRLLRRRRRRLLLLLLRRRRRLRRLLRLLRLLLRRLLLLRLRRLRLLRLRRRRLLLLLLLLRRRLLLLRLRLRLLLLRLLLRRLRRLRLRRRRLRLLLLRLLLLLRRRLLRRRLLLRRLLLLRLLRLLRLLLRLRRRLRLLRRRRRRLLLRLRRLRRLLLLLLRRLLRRRLRRRLLRRRRRLRLRRRLRLLRRRRRRRLRLRLRRLLRLLLLLRLLLLLLLLRLRLLLRLLRLRRRLLRRLRLLRLLLRLRLLLLLLRRLLRLRRRRRRLRRRLLLRRRRRRRLLLLRLLLLRLRLRRLRLRRLLRRRRRRLLRRLRRLLRLRRLLLRLLRLLRLRLRRRRLLRLLRRLRRRRLRLRLRLRRLLLLLRRRLLRLRLLRRLRLRLLLRRLLLLLLLRLLRLRRRRLLRLRLLRLLRLRLRLLLLLLRLRLRLLRLRRRRLLRLRLRRRLLRLRLRRLLRLLRRRLRLLLLLRLLRLLRRRLRRLRLLRLLRLLLLRLLRLLRRLLLRLLRRLRRLRRRRLLLRRLRRRRRRLLRLRRRLRLRRRRRLRRLLLRLRRLLRRLLLRLRRRLRLRRRLLLRRLLRLRLRLRRRLRRRLRRRRRRRRRRLRLRLRLLLLLRLRLLRRLLRLLLRRRLRLLLRLRRRRLRRLRRLLRRRLRLRLRRLRRLRRLRLRRLLLLRRLRRRLRLLRLRRLRLRLLLLRRRLRLLRLRLRRLRRRRRLRRRRRLLLLRLRRRLRLLRLRRLRRLRRRLRRRRLLLLLRRLLLRLLRLRRLLLLLRRRRRLRLRLLRRLLRRRRRRLLRRLLLRLLRLRLLLRRRRRRLRRLRLRLRRLRLRRRLRRLLRLRRLLLRLRLRLRRRLRRRLLRRLLLRRRRRRRLLRRRRRRRRLLLRLRLRRLLLRLRRRRLLRLLRLRLRLLRRLRRLLRLRLRRRLLRLRRRLLLLLLRRRLRRRRLLRRLLLLLRLLLRLLRRLLLLLRRRLRRRRLLLLRRLRLRLLLRRRLLLLRLLLRRLRRLRLLLRRLLLLLLLLLRRRLRLRLLLLRRLLRLLLLLRRLRRRLLRLLLLRRLRLLLRRLLRRLLRRRLLRRRLRLLRLRLRRLLRRRRLLLRRLLRLRRRLRRRRRRLLRRRLRLLLLRLRRRRLLRRRLRLRRRRLRLRLLLRLLLLRRRRRLLLRLLLLLRRLLRRLLRRLRLRRRRLLRLRRLLLLRLRLLRLLRRLRLRLRRRRRLRLRRLRRRRLLRLLLRLLRLLRLRRRRLRRRLLRRRRRRRRLLLRLRRRLRRRLLLRRRLRLLRRLRLLRRLRRLRLLRLLLRRLRRLRLRLRRRRLRRRLRLLLLLLLLLRLLRRLRRRRLRRLLRLLRLLRLRRLRLLRLRRRRLRLRRRLRLLRLRLLRLRRRLLRLRLLRLLRLRRLRLRRRRRLRLRLRRLRRLRLLLLRLLLLRLLLLLLRLLLRRLLLRRLRLRRLRRLLRLLLLRRLLRRLRRRRLLRRRLLLLRRRRRRLLLLRLRLRRLRLLRRLLLLLLLLRLLRRLRLLLLRLLRRLLLRLRRRLRLLRRLRLLLRRLRRLRRLRLRRRLRLLRRRRLRLLLLLRRRLLRRLLRRRLLRRRRRLRRRRRRLLLLLRRRLLLLLRRLLLLRLRLRRLRRLLLLRRRRRLRLRRRRLRLLLLLLRRLRLLLRRRRLRLRRLRRLRRLRRRRRRLLRLLRLLLLLLLLLLRLLRRRRLLLRRLRLRLRLRRRLRRRRRLLLLLLLRRLRLLRRLLLLRLRLRLLRLLRLRRLRLRRRLRRRRLRRLRLRLRLLLRRLLRRLRRLRRRLLLLLRRLRLLLLRLLRLRRLLLLRRRLLLRRLRRRRLLRLLLRRRRRRLRRRRRLLRRLLRLRRRRLRRRLLRRRRRLLRRRRRRLLLRLRRRLLRLLRRLLRRRLRLLRLLLLRRRLLRLRLLRRLRLRLRRLLLLRRRRRLRRRLRLRLRLLRLRRRRRLLRLRRLLLRRLRLRLRRLLRRLRLLRRRRLRRLLLRRLLRLRRRLLLLLRRRLLLRLRRRLRLRLRLLRRLRRLRRRRRLRLLLRLLRLRLRLLRRRLLLLLRRLRRLRLLLRRLLLLLRLRRLLRLRLRRRLLLRRRRLRRLRRLRRLRLLLLLRLRRLRRLLRRRLRLRRLRRRRLRLLRLLRRLLLRRRLLRRLRLRLRLRRRRLRLLLLLLRLLRRRRRRRRLRRRLLLLLLRRRRLLLRRLRLRRRRLRRRRRRLRLRRRRLLRLLLRRRRRRLLRLRRRLLLRLRLLLLRRRRLLLRLLRRRLRRRLLLRRLRLRLRRLRLLLRLLLRRLRLRLRRLRLLRLLRLLLRRRRLLLRRLRRRRLRLLLRRLRRRLLLRRLRRLLRLRRLRLLLLLLRRLRLLLLRRRRRLLRLLRRLRLRLLRRLLLRRRLLLRLRLLLLRLLRRLLLRRRLLRRLRLRLRRLLLLLRRRLLLLLLLLRLLRRRLLLLRLLRLRLRRRRRLLLLRRLRLRRRLLRLLRRRRLLLRRRRLLLLRLLRLRRRLRLRLLRLRRRLLRRLLLLRLLRLRLRLLLLRLLLRLLRLLRLLLLRLRRRLLLRLRLRLRRRRRRRLLLLLRRLLRRRLRLLLRLLLRLLRRLLRLRRRRLRLLLLRLRLLRLLRRRLLRLRLRLRRRLLLRRLLLLLLRLLRRLLLRLLRLRRRLLRLLLRRLLRRRRRLRLRRRLLLRRRLRLRLRLRRRLLLLRLLRLLRRLLLLLLRRLLRLLLLLLRLRRLLRLLRLLRRRRLLRLRRLRLLLRRLRRLLRRRLRLLRLRLRRLRRLRLRRRLLRRRLLRLRRLRLRLRRRRLRLLRRRLRLLRRLRRLRLRRRLRLRRLRRLLLLRLRRRRLLRRRLLRRRLLRRRLLLLLLRRLLRLRLLRRLRRLRLLLLLLRLLLLRRRRRLRRLLRRLLRLLLRRRRRRRRRRLRRLLLLLLLRLRRRRRRRLLLRLRLLLRRRRLLLLRRRRLRRRRRRRLLLRLRRRLRRRRLLLLRLLRRLLLRRLLLRRLRRRRRLLRLLLRLLLRLLRRRLLLLLLLLRLRRLLLRRLLLLLLRRRRLLLRRLLLLRLRRLRRRRRRLLLRLLLLRRLLLRRRLRLLLLLRRLLRRRLLLLLRLLRRLRRLLLLRRRLRLRLRLLLRRRLLRRRRLLRRRRRRRRLLLLRLRRRLRRRLLRRLLRLRRRLLLRRRRLLRRRLLLLLLLLRRRRRLLRRLLLRLRLRRLRLLLLRRRLRRLLLLLLRLRLLLRRLLRRRRRRLLLLLRLRLLLLLRRRLRRLLRRRLLRLLRRRRLLRLRRRLRLRRRRLRLRRRLLLLLRLRLRRLLLLLRRLLRLRLRRRLRLLRLLLLRRLLRRLRLRLLLRRLRRLRRRRRRLLLRLRLLLRRLRRLRLLLRRLRRLRLRRRLLRRLRRRLRRLRLRLLRRRRLLLRRRRLLLRLLLRRLRLRRLLLLLRLLLLLRRLLLLLLRLRLLLLLLLRLLLRLLRLLLRRRRLLRRRLLLLLLRRLRRRLLLRLRLLLLRRRLLRLRLRLRRRRRRRRRLRRRRRRRLLLRRRRLLRRLRRRRRLLLLRRLRLRRRRRLRRLRRRRLRLLLRLRLRLRLRRRLLLRRLLLRLRRRRLRLRLRRLLLRRLRLRLLRLLRRRRLRRLLLLRLLLRLRRRRRRRRRLRLRLRRLLRLLRLRLLLLRRRLLRLLRLRRRLLLLLLLRRRRLLRLRRRRLLLRRRRLLRLRRLRLRLLRLRLLLLLRRRLRRLRRLLRLRLRLRRRLLRLLRRLRLRRRLLLLLLLLRRRLRRRRLRRRLLRLLRLLRRLRLLLLLLLLRRRLLRLLLLRLRRRRLLLRLLLRRLLLLLLRRLRRRRLRRRRRRRRRLLLRRRLLLLRLLRLLRLLLLRLRRRLLLLRLRRRRLLLRLRRRLRLLRLLRRRLRLLRLLLRLRRLRLLRLRLLLRLLRLLRLRLRRLLLLRLLRLLRLLRRRRRLRLLRRRRRLRRLRLLRLLRRLRLRLLRLLRLRLRRLRLLLLRLRLLRRLRRLRLLLRLLLLLRRRLRRRRRLLLRLRLRRRRLRLLLLRRLRLLRRRLRRLRLLLLRLLRLRLLLRLRLLLRRRLRRRRLRRRRLRRRRLRLLRRLRRLLRRLLLRRLRLLLLRLRLRRRRLRRRLRRRRLLLRLLRRLLLLLLRRRLLLRLRLRRRRLRRRRLRLLRRRRRRRRRLLRLLRLLLRRRLLLLRLRRRLLRLLLRLRLLRLLRRLLLLLRRRRLRRRLLLRRRLRRRRLRRRRLLLLRLLRLRRRRLLLRRLRLLLLRRRLRRRRRLRLRLRLRRLRRLRRRRRRRLRLRLLLRLRLRRLLLRRLLLRRLLLRLRRRRRLRRRLLRLRLLRLLLLLRRRLRRLRRLRLRRLRRLLRRRLRLRRRRRRRRRLRLRLRRRRRLRRLLRRRRRRLLRLRRLRRLRLRRLLRRRLLRRRRLLRLLLRRRLRLLLLRLRRRLLRRLLLRLRRRRRRRLRLRLLRLLRLLRRRRRRLLRRLRRLRRLLRLRLRLRLRRRRLRLLLRRRRLLLRRRRRRRLRLRLRLLLLLRRRRLRLLRLRRLRLRRLLLLLLRRLLLRRLLRLLLRLRRRRRLRRLLRLLRLLRRRLLLRLLRRLLLRRLLRLRLRRLLLRLLLRLLLLLRRRLRLRLLRRRRLRRRRRLRLRRRLLRLLRRLRLLRRLRRLRLRRRRRLLRLRRLLRRRRRRRRLLRRLRRRLRLRLRLLLLLLLLLLRLRLRLLLRRLLRRRLRRLRRRRLRRRLLRLLLRRRLLRRLRRRRRRRLLLRRRLRLLLLLLRLLRRRLRRRRLLLLRRRRRRLRLLLLLLLRRRRRRLRLRLRRLLRRRLLRLLRRRLRRRRLLLLRRRRRLRLLLRLRRLRLRRRLRLLLRRRRLLRLRLLRLRLLLLLRRRLLRRLRLRLLRLLLRLLLRRRRRLRRRLRRLLLRRRRRRRLLLLLRLLLRRLRLLRRLRRRRRRRRLRRRLRRLLRRRRRLRLRLRRLLRLRLLRRRLRRRRRRLLRLLLLRLRRLRLRRRRRRRLLRLRLLRRRRRRRRRLLLLRLLRLRRRRLRRLLRLRRRLLRLRLLLRLLLRLLLLLRLLRLLLRLRRLRLLRRRRRLLRRLRLLLRLLRLLRRRLLLLLLLRRLRLRRRLRLRRRRRRRLRRLLLLLLRRRLRRRRLLRLLLRRRRLRLLRLLRRLLRRLLLLRRRLRRRLLLRLLLRLLLRLRRLRRLRLRRRLRRRLRLRLLRRLRRRRLRLLLLRLRRLLRLRLLLRLRRRRRLLRRRLRLLLLLLLRLLLLLLLLRRLLLRLRRRRRRLRLLRRRRLLRLRRRRRLRLRRRLRLLLLRLRLLLLRRRRLLLLRRRLRRRLLLRRRRLRLLLRRLRRLLLRLLLLRLRLLRLLLRLLRLLRLLLLRLLLLLRRLLLRRRRLLLRLLRRLLLLRLRLRLLLRLRRLRLRLRRRLRRRLRRRRRRRLLRRLRLRRRLLLLRRRLLLLLRRRRRRRLRRRRLLLLLRRLRLRRLLLLLRRRLLLLRRRRLLRLRRLRRRRRRLRRRRLRLLLRLRRRLRLRLLLRLLRRLRRLLRLRRRRRLRRRLRLLRRLRRRRLRLLRRLRRLRLRRLRLRRLRRLLLLLRRLRLLRRLRRRLRRLLRRLLLLRLRRRLLRRLRRRRLRRRRLLRRRRLRRRLLRRLLLLLLRLLLLRRLRLLLLRLRLLRLLRRLLRLRRRLLRLRRLLRLLLRRRRLLRLLRLLLRLLLLLRRRRRRLLLRRLRLLRRLLLLRLRLRRRRRRLRLLRRRRLRRLRLLLLRLRLLLLRLRRRLRLLRRRLLLRLRLRLRLRRRLLRLRLLRRLLLLLLLLLRLLRRLRRLRLRLRLLRRRLLRRRLRLLLLLLLRRRLLLLLRRRRLRLLLRLLLRRRRRRRRLLRLLRRLLLRRRLRRLLLRRLLRLRLRRRLRLLRRLLLLRLLRLRRRRLRLLRRRRRLLRLRLLLRRRLLRRRLLLRRLRLLLRLLLLLRLLRLLRRRLRLLLRRRLRRLLLRRLLRRLRRRRLLLLLRRLLRLRLLLRRLLLLLRLRRLLLLRRRLLLRLLRLRLLRRRRRLRLRRLLLLLRLRRLLLLLLLRRRLRRRRLLRLRRRRLRLLRRLRLLRLLRLRLLRRLRRLLLRLLLLLRLLRRRRLRLRLRLLRLRRRRRLLLLLLLRRLRRLRLRRLLLRRLRLRRLLLRRLLLLRRLLLLLLRLLRLRRLRRRRLLRRLLLLLRRRLLLLLRRLLRRLRRRRRLLLRLRRLLLRLRRLLRRLRLLLRLLRLLLLLLLLLRLRLRLLLLLRRRRLRRLLLLRLLRRRRRRLRLLRLRRRRLRLRLLLLLRLLRRRLLRLLRLRLLRLRLRLLRRLLLRRLRRRRRRRLLRLRRLLLRLRLRLLRRRRLLRRRRLRRLRRLRLLRLLLRRLLRRRLLLLRRRRRLRLRLLRRLRRLLLRLLRRRLLRLLRRLLRRLRRRLLRRRRLRLLRLRLRRLLLRRLRRLRLRRLLLLRLLLLLLRRLLRRLRLLRLLLLLRLLRRLLRRLRRRLRLLRRRRRRLLLRRRRRRLLRLRLRRLRRRLRLLRLRRRRLLLLLRLRLLRLRRLLRLLRLLRRRLRRRRRLRRRRLLRLRRRLRLLRLLLLLLRRRRLRRLLRRLRLLRRRRRRRRLRLLRRLRLRRRLLLRLRRRLLRRLRRRRRRRRLRLRLRRLRLRRLLLRLRRRLLRRRLRRRLLRRLLLLRLRRRRLRLLLLLRRRLLRLLRLLLRLRRLRRLRRLLRLRLRLRLLRRLRRRRLLLRLLRRRLRRLLRRLRLRRRRRLLRLRRLRRRRRRRRRLLRLLLLRRLLLLRLLLLRLLRRLLLRRRLRRRRLLRRRLRLRRLRLLRRRRLLLRRLLRRRLLRRLLRRRLLLRLLRRRRLLLLRLLRLLRRLRRLLRLLRRRLRRLLLLRLLRRRLLRRRLLLLLLLLLLLRRRLLRLRRRRLRLLRRRRRLLRLLRRRRLLRLRLLLRLLLLLRRLLLRRRRLRLRLRLRLRRLRLRRRLLRRLLRRLLRRLRLRLLLRLLLRRLRLRLRRRRLRLRLLLLRRRRRLRRLLLLRRRRRRLLLRLRLRLLRLLLLLLLLRLRLLRLLLRRLRRLLRRRRRRLRRLRLLLRRLLRRLRRRLLRLLRLRLRLLRRRLLRLLRRLRLRLLRLRRRRRRLRLRRRRLLLRLLLRRLRLRLRRLRRLRRLRRRRRRLRRLRRRLRRLRLLRRLLLRRRLRLRLLRRRRRRRRLRLLRRLLRLRLRLRLRLRLRRLRLLLLRLLLRRLRRLLRRRRLRRLRLLRLLRRLRRLRLRLLRLRLLLLRRLLRLLLLLLRRLRRRLLRLRLRRLRLRLRRLLRLLRRLLRLRRRRLRLRRRRLLRRRLLRRRLLRRLRRLLLRLLRLLRLRRLRRLRRLRLLLLLRLRRRRRLLLLLLRLRLRRLLRRRRRRLLRRRLLLRLRRRLRRLLLLLLRLLRRRLLLRLRLRRLRLRRRLRLLRLRRRRLRRRRLRRRRRLRRLLLRLLRLRLLLLLLRRLRLLRLLRLRRLRRRLRRLLLLLRRLLLRRRLRLRRLLRLRLRRLLRLRLRLRRRRRRLLLRRLLLLRRLLRRLRLRLRRLLLRLLRRLLLLRLRRLRRLLLLLLLLRLRLRLRLLLRLRLRLLRLLRLRRRLRLRLRLRLLRLLLRRLRLRRRRRLRRRLRRRRLRRRRRRRLLRRRRLRRLLRLLLLRLRRRRRRRLRRLRRLRRRRLLLLRLRLLLRRLRLLLRLLLLRLRLRLRLLLLLLLLRLRRRRRRRRRLLRLLRRRRLLLRLLRLRLRLLRLRRRLLLLLLRRRRLLLLLRRLLLRLLRLRRRRLRRRLRRRRLLLLRLLLLLLLLRLLRRRLLRRRRRLRRLRLRLRLLRLLLRLRRRLRRLLLLRRLLRRRLLRLRLRLLRLLRRRLRLLLRRLLRLRRRLRLLLRLRLRRLLLRLRRLLLRRRRLLRRRRLRRLLLLLRRRLLLRLRRRRLRRLRLLLLRLRRLRRRRRRLLRLLLLRRRLRRRLLRLLLLRRRRLLLLLLLLRRRRRRLLLLRRLRLLLRRRLLLRLRRLRRRRLLRLRLLLRRLRRRLRRLLLLLRRRRRLLLLLRRRRLRLLLLLRRLRLLRRRLRLRLRLRLLLLRRRRRRLRRRRLLLRLRLLRLRRLLLLRRLRRRLLLLRLLRRLLLLLLLLLRLRLLRLRLRLRRLLRLLLRLRRLRLRRLRLLRRLLLLLRRLRLRLLLLLLLLRRRLRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLLLRLRRRRLLRRRLRRRLLRRRLLLRLLRLRRLRRRRLRRRLLRLLLLLRRRRLRRLRRRLLRLLLRLLRLLRLLLLLRRRLRLRRLRRRLLLLRLRRLRRRLLLRRRRRRRRLRLRRRRLRRRRLLLRRRLRLRLRRRRRRLRRRRRRRLRLLRRLRRLLRLLRLRLRLLRLLLRRRRRLLLRRRRRLLLLLRRLRLLLRRRRLRRLRRLRRRRLRLRRRRRRRRRLRLRRRLLRRRRLRLLRRRLLLLRRRRRLRRRRRRLLRLLRLLLRLLRLLLLLLRLLRRRRLLRRLLRRRLRLRLRRRRRRLRLRRRLLLLRLRRLLRRRRLLRRRLLLRLLLLLRLRLLRLRRLRLLRLLRLRLRLLLLLLLLRLRLLRLRRRRLLLLRRRRRLLRLLLRLLLRLLRRLLLRRLLLRLRLLLRRLLLLRRRLLLLRLLLRRRLLLLLRLLLLLLRRLRRRLRRRLRLRRLRRRRRRRLRLRRRLLLRLRRRLRRLLLRRLLRLRRLLLRRRLRLRRRRLLRLLLLLRLRLLLRRLLLRLLLRRRRRRRLRLRLLLRLRLLLLRRLLLRLLRLLLLRRLRLLLRLLRRRLLLLRRLLLRLLRLRLRRLLRLRLRRLRLRLLLRRLRRRLRLLRLLRRRLRLLLLRLRLRLRRLRLRRRRRRRLLRRLRRLLLRRLRRRRLRLRLRLLLLRRRRLRRRRLLLLLLLLLLRLLLRRRLLRLLRRLRRLRLRRRRRLLRRRRRRLRLRLLLLLLRLRLLLRLLLRRLRRLRLRLRLLRLRRRLRRRLLLRRLLLRLRLRRRRRLRRRLLLRLRLRRRRRLRRLRRRRRLLRLLLLLRLRRLRLRLRLRRLRLRLRLRLRLRRRRRRLLRLLRRLRRLRRRRRLLLLRLRRRLLRRRRLRRLLLLLRLLRRLLLRLRLLLRRRLRRRRLLLLLRLRLRRLLRRRRLRRLLLLRRRRRRRLRLLLRLLLLRRLLLLRLRRRRLRRRLRLLLLRLLLRLLRLLLRLLRLRRRRLLRRRLLRRLLRLRRLRRRLRRLRRRLRRRLRRLRLLRLRRRRLRRRRRRRRRRLLRLRLLRLLLRLLRRRLRLRRRRLRLRRLRLRRLRRLLRLRLLLRLRLRRRLRRRRRLRLLLLRLRLRLRRLLRLRRLLLRRLRRRLRLRLLLLRLRRRRLRRRLRLRRLLLLRLRRRLLRLLRLRRLRRRLLLLRRLRRRLRRLLLLRLRLRLRLLRRRRRRLLLRLRLLRLLLRLRLLRLRLRRRLRLRRRRLRRLRLLRLLLRLLLRLLLRLRLRLRLLLRRRLLLLLRLLRRRRRRRLRLRRLRLRLRRLLRLLRLRLLRRRRLLLRLRLLRRLLLRLLRLLRRRRLLLRLRLRRRLLRLLLRLLLLRLLLLLLRLLLRLLLLRRLLLLRLLLLLRLLLLLRLLLRLRRRRLLRRLLLLLLRLLRRLLLRRLRLRRLLLLRRRLLRLLLRRLLRRLRLLLLRLLRLLLLRLRRRRRRLRRLRLLLRLLRRLLRLRLRRRLRLLRRRRLRLLLLLLRRLLRRLRLLRRLRRRRLLRRLLRRLRLLRRRLLRRLLLRLRRLRLRRRRLLRLLLRRRLLRLRRRLLLRLLRLLLLRLRLLLRLRRRLRLLLLLRLRRRRLLRRLLLRLLRLLLLLLLRLLRLLLRLRRLLRRLRRRLRLRRRRLRRRLLLLLLRLRRLRRLLRLRLLRLLLRLLRLLRLRLLRRRRRRLRRRLLRLRLRLRLLRLRRLRRLRLLLRRRLRLLRRLLLLLRRLLLLRRLLRLRRRLLRLRLRRRRLLRLRRLRRRRRLRRLLLLLRLLRLRRRRRLRRRLRLRRLLLLRRLRRRRLRLLRLRLLRRLRRLLRLRLRRLRLRLRLRLLLLLRLRRRRRRRRRRLLRRRRLRRLRRLLLLLRRRLRLRRLLRLLRRLLLLLRRLRLRLRRLRLRLLLLRRRRLRLLLLLRLLLLRLRLLLRLRLLLLRRLRLRLRLRRRLLRLRRRRRRRRLLLLRLRLLRLRLRLLRRRLRLLLRRLRRLLLLLRRLRRLLLLLRLLRLLLRRRLLLLRRRRRLLRRRLLLRLLRLLRLRLLRRLLRRRLRLRLLRRRRLLRLLLRRRLLRRRRLRRRLLLRRRLRLRLLLLLLLRLRLLLLRRRLLRLRRRLLRLRLLLRRLLLLRLRRLRRRLRLRRRLRRLLRRRLLLLLRRRRLLRLLRRLRLLLLRLRRRLLRLRRLLRLLLLLLLRRLRRLRRRRLLRRRRLLRLRRRRLLLLRRLLRRLRRRLRLLLLLLRRLRRRRRRRRLLRLLRRLLLRRLRRRRLRRLLLLRRRLRLRLLRRRLLRLLLRRRLRRRRLRRRLRLRLLRRLLRRRRLRRRLRLLLRRLLRRRLLRLLLLRLLRLLLLRLLRLRLRRLLLLLLRRRLRRRRLLLLRLRRLRLLRRRRLLLLRRRLLRRLLLRLLLRLRRLLRLRRLRLLRLLLLRRRLLRLLLRLRRRLLRLLLLLLRLLLRLRLLLLRRLRLLLRLLRLLLLRLLRRLLLRLRLRLRRRRRLRLLLLLRRLRRRLLRRLRRRRLRLLRRRLRLRRRRLRLLLLRLRLLRLLRRRRLLRLLLLRRRLLLLRLRLRRRLRRRRLLRRLRRLRRRLLRLLLRRRLRRLRRLRLRLLLLLRRRLRRRRRLRRLLLRLRRLLRLRRRRRLLLLRLLRRLRLLLRLRRLLRLLLLLRRRRLLRRRRLLRLLRRLRRLLRRLLRLRRRLLRLLLLLRLLRRLLLRRLRLRLLLLRRLRRRLLLLRRRLLRLLRRLLRLRLRLRLRLRLLRRLLLLRLRLRLLRLLRLLRRRLLRLRRRLLLLRLLLRLRLLRRLRRLRRLLLLLLLLLLRRRRRLRRLLRRLLRRLRRRRRRRLLRLLRRLLLLLRRRLRRRRRRLRLLRLRLLLRRLLLLRLLLRRLLRRLRRRLLLRRRLRLRRRRRRLLRLRRRRLLRRLRRRLLLRRRRLRRRLRLRLLRRLRRRLLLLLLLRRLRRLLLRRLLLLLLRRRLLRLRLRLLLRLLRLRRRLRRLLLLLLRRRRLRLRRRLRLRLLLRLRLRRRLRLLRRLLRLLRLLLLRLRRLLLRRLLLLLLRLLRRRRRRRRRRRRRRLLLLRRRRRLRRLLLRLLLRLRRRLLLLRRLLLRRRLLLRLLRRLRRLLLLRRLLLRLRLRRRLLRRLRRRRRRLRLLLLLRRLLRRLLLRRRRLRLLLLLRLRRLLRLLRRLRRRLRRRLLRRLLRRRLLLLRLLLLLRRRRLRLRRLRLRLRRLRLRLLLRLLLRLLRLLLRRLLRLRLLLRLRLLLRRLRLRLLLRRLRRLRRRRRRLLLLRRLLLLRRRRLRLRRRLRRRLLRLRRRLRLLLRRRLRLRLLLLLRRRLLLLRRRLLLRLLLLRLLLRRLLRLLRLRLLLRRLLLLLLRRLLLLLLLLRLRLRRLRRLLLLRRLLLRLLLLLLRRRLRRLLLRLLRLLLLRRRRRRLRLLLRLRRRRRRRLRRRRLRLRLLRRRRLRRRRRLRRRRLLLRLRRRRRRLRLRLRLRLRLRRLRRLRLRRLRRLRRLRRRLLRLLLRRRLRLLRRRRLLLRRRLRLLRLRRRRRLRLLLLLRLRLRLRRRRRRRRRRRLRLRLLLLRLRLRLRLRRRRLLRLRRLLRRLLLLLLLRLRRLRRLLLRLLRLLRLLLRRLLRRLLRRRRLRLLLRLLLRLRRLRLLRRLRLRLRRRLLRLRRRLRRRRRLLLLRLLLRLRLRRRRLLRRLLRLRRLLRRRRRLLLLLLRRRRRLRLLRLRLLRRLLLLLLLLLLLLLLLLRRRRRRRLLLLLRLRRLLRRRRRLLRRRRLRLLRLLLLRLRRRLRLRRLRLRRLLLRLRLRRLLLRLRRLRRRLRRLLLRLRRLRLLRLLLRLRRRRLRLLRLRRLRLLRRLRLLRLLLLRRRLRLLRRRRRLRRLLLRLLLRRLRLRRLLRRLLRLRLLRLLRLRLRLLRRRRLLRLLLLLLLLLLRLRRLLLRLLLRRRRLRRRRRRLLLRRLRLRRRLLRRLRRLLRRLLRRRLRLRLLRRLLRRRRRRLLLRRRLRRLRLLLLLRRRRLLRRLRLRRLLLLLLRLRLRLRRLRLRLRRRRLLLLLLRRLLLRLRRRRLLLRLRLRRRRLLRRRRRRLLRLRRRLRRLLRLLRLLLRRRRLLLRLRRRLRRRLLRLRLLRRRRRLLLRLLRRLRRRRLLRRRRLRLRRLRRRLRRLLLLLRLRRRRRLLLLRRLLRRRLRLRRRRRLRLLRRLRRLRLLRLRRRRLLRLRLRLRLRLLLLLLRRLLLRRLLLRRRRRRRLLLRRLRLRLLLLLRLRLLRLLLLLRRRLRRLRLLLRRRLLLRLLRRRRLRLRLRLRRRRRLRLLLRLRLLRLLRLLLRRRLRLRRRRRLRLLRRRLLLRLRLRLRLRLRLLLRRLRLRRRLLRLLRRRRRRRLRLRLLLRLLLRRLLRLRLLRRLRLLRRLRRLRRRLRLRRRRRLRLLRRRLLLLRRRRRLRLLLRLRLLRLRRRRRLRLLRLRRLLRRRLLLRLLLRLLLLRLLRLLRLLRRRRRRRRLLRLRRLRRLRLLLRLLRLLRRRLLLLLRLRRLRLLLLLRLLLLLRRRLRLRLRRRRRLRRLRRRRRLRRRLRLRRRLLLLRRLRRLRRRRRLLLLRRLLRRRRRRLLRRLLRLLLRLLRLRLRLLRLLLRLRLLLRLRRLLRLLLRRRLRLLRRRRLRRRLLRRLRLRLLLLLLLRRRRRLLLRRRRRRRRLLLLRLLRRRLRRLRLRLRRLRLRRLRLLLLLLLLRRRRRLRLRRLRRLRRLLRRLLRRRLRLLLLLRLLRLRRLRLLRRLRRLRLRLRLRLLLLLLRLLRRRLLRRLRLRLLRLRLRRRLLLLLLLLLLRLRLRRRLRLRRRLRRLLLRRRLRRRRLLLRRLLLRLLRLLRLLRRRRLRLLLRRRLRRLRRRRRRLRLRRRLLLLLRLLRRLLRLRRRRLRLLLLRLLRRRRRRRLRRRLRLRLRLLRLRLLRRRLLLRLRRLRLRRRRLLRLLRLRRRLLRLRLLRRRLLRLLRLLRRRRLLRRLRRLRLRRRRRRLLRRLRLRLRRLRRLRLRRRRLLLRLLLRLRRLLRLRRRLLRLLLRRLLLRRRRRLRRRLLLRLLLRRRRLRLLRRLRRRLRRRLLRRRRLRRRLLLRLLLRLLLRRRRLLLRRLRRRLRLRLRLRRRRRRRLLLLRLRRRRRRRRRRLRLLRLLRRLLRLLLRRLLLLLRLLLLLLRLLLRLRLLLLRLRLRLRRRRLLRLRRLLRLLRRRLRRRRRRLRRLRLRRRRRRRRLLRLLRLRLRRLRRLRLRRRLLLLRLLRLRRLLLRLLRRRLRLLLLLLLLLRRLRLRLLRLRLLLLRRLRRRRRLRRLLRRLLLLLRLRRRLLLLRRRLRRRLRRRLRLRRRRRRRLRRLRRRRLRRRLRRLRLRLLLRLRRRRRRRLLLRRLLLLLRRLRLLLLRLRLRRLRRLLLRRRLRRLRRLRRRRRRLRRLLLLLLLRLRRRLRLRLLLRLLLRLLRLRRLRRRLRRLRRRRRRRLRRRRRRLLLRRLLRRRLRRRLLRRLRRLLLLLRRLRLLRLLRRRLRRLLRRRLLLRLRRRLLLRRRRRLLRLRLRLRRRRLLRRRLRRLLLLLLRRLLLRRLRLLLRRRRLRRLLRRLLLLRRLRRRLLRLLRRLRRRRRLLRLLRRLLRLLLLRRRRRLRLLRRRLRRLRRLRLLRRLRLLLRRRLRLLLLLRLLLLRLLLLRLRLLLLRLRRLLLRLRRRLLLRLRLRRLLLRRLRLRLLRRRLLLRRLLLLRLRRRLRRLRRLLLRLLRRLLRRLRLLRRRLLLRLRLLLLLRRLLRRLLLRLLRRRRRLRRLLLLLRRRLLLLRLLRLLLLRLRRRLRRLRRLRLLRRLLRLLLLRRRRRRLRRLRRRRLLLRLRLLLRRLRLRRRLLLLLRRRLLRLLLLLRRLRLLRRRRLLLLLLRRRRLLRRRLLLRRRRRLLRLLLLLRLRLRLLLLRLRLRLRLRRLLRLRRRLLLRRLRLRRLRLRRRLLRRRRLRRLRLRLLLLLRLLRRRRRLLRRRRLRRRRRRLRLRLRLLLLLRLLLLLRLRRRLLLLLLLRRLLRLRRRRLRLRLLLLRRRRRLRLLLRLRRRRRRRLRRRLLRRLRLLRLLLRLLRLRRRLRLRLLRLLRLRRLRLRRLLRLLRRLLRRRLLLLLRRLLRRLRRRRRRLLRRRRLLLRLLLLLRRLLLLLRLLRLLRLLLLLLRLRLRRLLRLRLRRLLRLLLLLLLRRRRLLRRLLLLRRRRLLLLLLLLLLLLLRRLLRRLRLRLLRLRRLRLRRLLLLRLLLRLLRRLLLLRRLLLRLRLRRLRRRLLRRLRRLLLLRRLLLLRLRRLRLLRRLLRRRLRRRRLRLRLLRRRLLLRLLLLRRRLLRRLRRLLLRLRRRLLRLRLLRRRRRRLLRLLRRRLRRLRRRLRLLLRLLLRRLRRLLRRLRLLLRLLLLRRLLRLRRLLRRRLRLLLRLRLRLLLRRRRRRLLRLLLLRLRRRLRLLRLRRRRLLLLRRLLLLLLRRLRRRLRRLRRLRRLRLLLRRRRRLLLRLRLRLLRLRRRRLRRRRRRRLLLRLLLRRRLRRRRRLRLLRLRRLRLRLLLRLRLRLRRRLRRRRRLRLLRLRRRRLRLRRRLLRLLRRLLLRLRRRRRLLLLLLLLLRRRRLRLRLLLRRRLRRLRRLLLRLRLRRLLRLLLLLLRLLLRLRRLLRRRLRRRLLRRRLRRLRRRRLRRRRLLRLRLRRLRRRLRLRRRLLLRLLLRLLLLLRLRLLRRRLRLLRRRRLRLRLLLLLRRRLRRLRLLRRLRRLRRLLLRRRLLRLRLLRRRLRRRLLRLRLLLRRLLRLLLRRRRRLRLLRRRLRRLRLLRRLRRRLRRRLLLLLLLRLLLLLRRLRRLRRRLRRRRLLRRRLRRRLRRRRLRRLRLLLRLLLLLRRLLRRRRLLRLLRRLRLRRLRLRRRLLRLLRLRLLLRLRLRLLRRRLLRRLRLRRLRRRLRLRLLLLRRRLRLRLLLRLRRRLRRLLRRLLLRLRLLLRRLLLLRLLLRRLLRLRRRLLLLRRLRRLRRRRLLLRLRLLLLLRLRLRRRRLLLRLLRRLLLRLRRLLRLLLLRLLRRRRRRRLRRRLLLLRLLLRRLLLRLLRLRRRRRLRRRRRRLRLRRLRLRRRLLLRRLLLRRRLLLLLLRLLLRLLRLRLRRRLLLLRLRLRLRLRLRRRRLLRLRLLRRRLRRRLLRRLLLRLRLLRRLRLLRRLRRRRLRRRLLRLRLLLRLLLRRLRLLRRLRLLLRLRRRRLRLRRRLRRRLLLLRRRRLLLRLLRRRLLRRRLRRRRLRRLLRRLLRRLLLLLRLRRRLRLRRLRLLLLRLRRLRRRLLLRLLRLLLRLRLRRLLRRLLRRRRRLRRRLRLRLLLLLLLRLRLLRLRLRLRLRLLRLLRRLRLLRLRRRRRLRRRLRRLLLLRLRLLRLLRLLLLLLRLRLLRLLRLRLLRRLRRRLLLLLRLRRLRLLRRRRRRRRLLLLRRRRLLRRRLRLLRLRRRLLLRRLRLLRRLRRRLRLRLLRRLLRRLRRRLLLLRRRLRLRLRLLRRLLLRLLLRLLLLLRRRRRRRLRLRRRLRLRRRRRLLRLLLLRLRLRRRLRRRRRRRRRLLLRRLLRLLLLRRLRLRLLRRRLRRLLRRRLLRLRLLRRLRRRRLLLLRRRLRLLRLRLLLLLLLLRLRLLLRRRLLLLLLRLRRLRRRRRRRLRRLRRRRLLRRLRRLRLRRLLLRRRLLRLLLRRRLLLRLLRLLLRRLLRLRRRRLRRRLRRLRLLLLRRLLLLRLLRLRLRRRLRRRLRLLRRRRLLLLLLLLLLLRRLLRRLLLLLRLLLLLLLRLRLRRLRLRRRLLLRLLRLLLLLRLRLRLRLLLRLRLLRLRLRRLRLRRRRLLLRLRLRRLLRLRRRRRLLRLRRRRLRRRRRLLLLLRLRLRRRRRLLRLRRLRRRLRRRLLLRLLLRRLRLLLRLLLLRLRRRRRLLLRRRRLLRRRRLLLRLRRRRRRRLLRLRLLLRRLRRRLRRLLLLLRRLLRRLRLLLLRRLLLRLLLRRLRRLRRLLLLRLRRRLLLLLRLRRLLRRLRLLLRLRRRRLLRLLLRLLLLRLLLLRLLLRRLRRLLLLLLRRLLRRLRLLRLRLLRLLLRRRRLLLRLLRLLRRLLLLLRLLRLRLLLRLLLLRRRRRRRLRLLRLRLRRLLRLLLLRLRRLRRRRRRLRLRRRRRLLLLRRRRRRRRLLRRLRLLRLLRLRRLRRRLRRRRLRRLLLLLRLLRRRLLRRRLLRRRLLLRLRLLRRLLLRLLLRRRLLRLRLLLLRLRLLRLRRLRRRLLRRRRLRLRRRRLLRRRRLLLRRRRLRLLRRRLRRRRLRLLRLRLLRRLRRLRRLLRLRLRLLRLLRRRRRRRRLRRRRRLLLRLRLLRLLRRRRRLRRLRLLRLRLLLLRRRLRRRRRLRRRRRRLRRRRRLLRLRRLRRLRRRRRLRLRRRRLLRLLRLLLLRRLLLLLLLLLLRRRRRLRRLLLRLLLLRLRRLRRRLRRRLLRRLRRRRRLLRRRRLLLRRLRLRRLLLLLRLLLLLRRLRRRLLLRLRLLLRRLLLLLRRRRLLLRRRRLLLLLRLLLLLRLLRRLLLLLRRRLLLRRRLLRLRLRRRLLRLLRLRLLLLRRLLRLRRLRLLRLRLLLLRLRRLRLRRRLRLLRRRRRRRRRRRLLRRLLRRLLLLLRLLRRLRLLRLLRLLLRRRLRLRRLRLLRRLLRLRLRRLRRRLLLRLLLRRLRRRLLLRRLLLLLRLLLLRRLLLRLRRLRLLLRRRRLRLLLRRLLLLLLRLRLRLLRLRLLRLLLLLLRLRRLRLLRRLLRRLLLLLLLLRRRRRLLLLRLRLRLRRRRLLRRRRLLLRRLLLRRLLRRLRRRRLRRRRRLLLLRRRLLLLRRLLLRLLLLRLRLRLRRRLLRLLRRLLLRLRRRRRLRLRRLRLRLRLRLLLLLLRLLRLLRLLLRLLRRRRRRLRLLRLLRRRRLRLLLLRRLLRRRRLRLRRLRRRRLLRLRLRRRLRLLRLLLRRRLLRRLLLLRRRLRRLLRLLRRRRLRLRRRLRRRLRRLRLRLLLRRLRRRRRLLLRLLLRLRLLLLRRRRLRRLLLLLRRLRRLLLRRRLLRLRRLLRRRLRLLLRLRLRRLLRRRRRRRLLLRLRRRLRLLRLLLRLRRLRRLLLLRLLRRRLRRLLRLLRLRLRLRLLRLLRRLLRRRRRRLLRLLLRRRLRRLLRLRRRLLRLRRRLLRRLLRLLRLRLLRRRLRRLRRRRRLLRLLLLRLRLLLLRLRLRLRLLRRRLLLRRRLRRRRRRLRRLRLLLRRRRRRRLRRRRRLRLLLLLLLLRLLRLLLLRRLLLRRLLRRLRLRLRLRRRRRLRLRLRLLRRRLLLLLLRRRRLLLRRLLRLRRRLLLRLLLLRRLLRLRLLRLLLLLLRLRRRRRLRLLLRLLRRLLLRLLLLLRRLLRRLRLRRRRLLRLRLLRLLRRLLLRRLLLLRLRLLLLLRLRLRLLRRLLLRRLRRRLRRLRLRRRLRRLRRLLRLRRLRRRRLRRLLLLLRRRLLRLLLLLLRRRLLRRLRLRLRLLRLRLRLLRLRLLLLLLRLLLRLLLRRRRLRLRLLLRRRLRLRLRRRLRRRLLRLLLRLRRRLLRLLRRLLLRRLRLRLLLLLRRRLLRLLLRRLLRLLRLLLRLLLRLLRLRLLRRRRRRRRLRRRRRLRRRLLRLRLRRLLRLRRRRRLRRRRLLLRRLLRLLRLLLRRLRRLLLRRLLLRLRLLRRRLLRRRLLLLRRLRLRRLRLLRLRLRLRLLLLRRLLLLRLLRLLLLRLRLLLRLRLRRRLLLRLRLRRRRLLLLLLRRLLRLLRLRLRRLRRLLLLLLRRLRRLRRLLRRLRLRLRLRLLLRRLRRRLLRRLLRRRRLLRLLRLLLLLRRLLLRRLLRRLRRRLLLLLRLLRRLRLRRLRRLRLLLRRRLRLLLLRLLLRRLRLLLRRLLRRLLLLLRLRLLRRLLLRLRRLRLRRRRRRLLLLLLLLRLRLLRLLRRRLRLRLLLLRRRLRLLRLRLRRLRLLRRLRRLRRLRLRRRLLRLRLLLLLLLLLRRRRLRRRRRLLRRRRLRRLRRLLLLLRRRRRLRRLLRRRLRLLLRLLRLRLLLRRLRLLRLLRLRRRLLLRLRLLLRLLRLRLLLRRRLLLLRLLRLRRRLLRRRLLLRLRRRRRRLRLLRLLLLLLRLLLLRLRLRRLLRLLRRLLLLRLRLRRRLLRLRLLLLLLRRRRLLLRRRRRLLRRRLLRRLLRLRRLRLLRRLLRRRLRLLLLLRLLLLRRLLRLRLLRRLRLRRLLLRRRRLRLLLLLLLLRRRLRLLLLRLLLRLRLRLLRLRRLLRLRRLLRLRRLRLLRRLRLRLRRLLLRLLRLLLRRRRLLLLLRRLLLLLRLLLRRLLRLRRRLRLLRLLLRRRLRRLLRRRLLRLRRLLRRRRRRLLLLRRLLRRLRRRLRLLLLLLLRLRRLRRRLRLLLLLRRLLLRRLRRRRRRRRLLLLRRLRLRLLRRLLLRLLLRLRLRRRRLRRRRRRLRLRRLLRRLRLRRRRRLLRRLRRLRRLRLLLLLRLRLLLLLRLLRLRLRRLLLRRRRRLLRRLRLRRLLLRRRLRLRRLRLRLLRRRLRRRLLRRRRLLLLRLRRLRLLRRLLLRLRLRRRLRLLLRLRLRLLRLLRRLLRRLLRLRLLLLRRRRLLLLLLLRLRLLLLLRLLRRLRLLRLRRRRLRLRLLLRLLRRLLLLRRRLRRLLLRRLRLRLRLRRRRLLLRLRRLLRLLLRRRRLRLLLLLLRRLLLRLRLRRRLRRRLLLRRLRRRLRRLLRLLRRRRLRLLLRLRRLLLLLLRRRLLRRRRLRRLRRRLRRRLRLLRRRRRLRLLLLRRLRLLRLRLRLRLRRLLLRRRRLLRRRLLLRRLLRLRRLLLLLRRLRRRLRRLLLLRLLLRLLLLRLRRLRLLRLRRLRRLLLLLRLLLRRLLLLLLRLRLRLLLLLRLLLRRLLLRLLLLLRRLLRLLLRLLLRLRRRLLRLLLLLRLLLLRRLLRLRRLLRRRLRLLRLRRRRLLRLLLRRRLRLRRRRRRRLLRLLRRLRLLLRRRLRLRRLLLRLLRLLLLLLRLLLLRRLLRRLLRRLRRRRRRRRLLRLRRRLRRLRRRRRLRRLRLRRRRLLLRLRLRRRRRRLRLRRRRRRLRLLRLLLRLRLLRLLLRRRRLRLRLLLLRLRLRLLLRLLRLLRRLRRLRRLLLRRRRRRLRRRLRLRLLLLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRRRLRLLLLRLRLLRLRRLRRRLRRRLRLLRRRRRLLRLRLLLLRLLLLLLRLLRRLLLLRRLLLRLRRRLRRLLRLLRLRRRLLRRRRLLRRRRLRRLLRRLRLRLRLLLRLLRLRLLRLLRLRLRRLRRRLRLLLRLLLRLLRRLLRRLLRLRLRLLLLLRLLRRLRRRLLLLRRRLRRLRRRLLLRLLLLRRRRLLRRLLLLRLLRRLLLLLLRLRRRLLLLLRRRRRRRLRRRLLLRRLRRLLRRRRRLRRRLRRRLLRLLRRRLLRLRRRLLLRLLLLLRLRLLRLLRRLLLLRRRLRLLLLRRRRLRRLRLRLLRLRLLRLRRLRRLLLRRRRRLRRLRRLLLLRRLLLRLRRLLRRRLLLRLLLRLLRLRRRLLRRRLRRLLRRLRRRLLRRLRLLRLLLRLRRRLRLRRRRLLRLRRRLRLLRRRRRLLRRLLRLRLRLRRLRRLLRRRLRLLRRRRRRLLRLRLRRLLLLLRRRRRLLRRLLRRRRLRLLRRRRLLLLLRLRRRLRRRLRLRRLRRLLLRLLLLRRRLRLRLRRLLLLRRRRLLLRRRLLLLRRLRRLRRLLLRLLRLLRLLRRRRLRRLLRRRLLLRLRRLLLRRRRLRLLRRLRLLRLRLRRLLRRLLRRRRLLRLRRLRLLLRLLLRRLLRRLLRLRLLLRLRLRRLLLLLRRRRRLRRRRRLLLLRLRLLLLLRLLRRRLRLLRRLRRRRLLLLRLRRLRRRLRRRLRRRRRRLRRRLLLRRLRRRRLRRLRLRRRRRRLRLRRLLLLRRRLLRRRRRLRRLRLRLLLLRLLLRLLRRLLRLRLLLLLRRLRRLRLRLLLLLRLRLRLLLRRLRLLRLLLRLRLRRLRLRRLLRRLLLLLLRRLLRLLLRRLRLRLLLRRLRLLLLRLLRLRLLLLRRLLLRRRLRLRRLRLLRRRRLRRLRLRLRLLRRRRRLRLRLLRLRLLRRRLRRRLLLLLLRRRLRRLRLLRLLLRRRLLLRLRLRRRLLLRRRLLLLLRRLLLRRRRRRRLLLLLLRLLLRRRRLLLLLRLLRRRRRRLRLRRLRLLRLRLRLRLLLRRRRLLLRLRRLRRRLLLRLRLRRLLLRLLLRRLRRLLRLLRRLRLLRRRRRLLRLLLRRLLRLRRLLLLLRRRRRRRLLLLRRRLRRLLRLRRRRRLRLLRRLRLLRLLRLRLRRLRRLLRRLRRRRLLLLLRRLRLRRRLLRRRRRRRLLLRRRRRRLRLLLRLRLLRLLLLLRRRLLRLRLLRRRRRLLLLLRLLRLLRLLRLLLRLRLRLLLRLLLLRRRRLLLRRRLRLRRRRRLLLLRRRLRLRLRRLLRRRLRLRLRLLRLRLLRLRLRLRLRRRRLLRRLLLRLLRRLLLRLRRLRRLRLLRLLRRRLRLRRLRLLLRLRRLLRRLRRLRRLRLLRRLLRLRLLRRRLLRRLRRLRLRLLLRLLRLLRRLLRLRLLRLLLLLRLRRRRRRRLRRLLLRRRRRLLLRRLLLLLRRRLLLLLLRLLRRRLLLLRRLLLRRRLRLRLLLRLLRLLLRLLLRLRLRRRLLRRRRLLRRLRRLRLRRRRRLLLLLRLLRRRRRRLLLRLLRLLLRLRLRRLRRLRRLLRLRRLLRLRRRLRLLLLLRRRLRRLRLLLLRLLRRRRLRLRLLLLLRRRRRLRRRLRLRRRRRLLLRRLLLRLLRLLLRLRRLRLRRLRLLLLLLLLRLRLLLRLLRLRRRLRLRRRRLRRRLRLLLRLRRLRLRRRLRLRLLRRLLRRLRLLLLRLLLRRRLRRLLRRLRRRRRRLRRRRLLLLLLLLLLLRRRLLRLLLLRRRLRRRLLRLRLRRRRLLRRLLRRLLLRRRRLRLLLLLLLLLLLRLRLLRRLRRRLRRRRLLLRLLRRLRRLRRLRRLLRRLLRRRLLRLRRRRRLRRRLRRRLLLRLLRLLRRRLRRRRLRRRLRRRRRLRLLRLRLRLRRRRLLRRRLLRLLRLLRRRRLLRRLLRRRRRRRLRLLLRRRLLRLRRLRRRLLRRRRLLRRLLRLRRRLLRLRRRLLLLLLRRLLLRRRRRRRLRLLLLRLRLRLRRRLLRRRLRRLLRRLLRRRRRLRLLRRRLLRLLRRRRLLLLLRRLRRRLLLLLRLLRRRLRLLLLLRRRRRRRRLRRLRRLRRLLLLLLRLRLRRRLLLLRLLRLRRRLRLRRLLRRLRLRLRLRRRLLRLLRLLLRRLRLLLRRRRRRRRRRRRRRLRRRRRLLRLLRRRLRRLRLRRRLLRLLLLRRLRLLLRLRRLLRRRRRRLLRLRLRRLRLRLRRRRLRRRRLLRLRRRLRLRRLRRLLLLLRRLRRLLLLLRRRLLRRLRRLLLLRRRRRLRLRRRLRRRLLRRLRRRLLRLRLRRRRLLLRLLLLRRLLLLRRRLLRLLRRRRLRRLRRLRLRLLLRLLRRLLRLRRRRRRLLLLLLLLRRRLRRLRLLLRLRLRLLRLRRRRLRLRRLRRRLRRRLRRRLRRLLLRLLLLRLLRRRLRRRRRRLLRRRLRLRLLRLRLRRRRRRLRRRLLLRLLLRLLLLRLRRLLRLRLRLLRLLRLLRRLRLLLRLLLLRLLRLRRLLLRRLRLLRRRLRLRRLLRLLRRRLLRLLRRLRRLRRLLRRLLRLRRLRLLRLRRLLLLLRLLRLRRRRLRRLRRLRLLLLRRRLLLLLLLLLLLLRRLLRLLLRLLRLLRLRLRLLRRRLLRRRRLRLRLRRLRLRLLRRRLLLRRRLRRRRRRRRLRLRRLLLRLLRLLRRRLRLLRRRLLRRLRLLRRLRRLLRRLLLLLRRLLLLLRRLLLLLRRRLLRLRLLLLLLRRLRRRLLRLLLLRLLLLLLRRLRLLRRLRLLRRLLRRRLLLLLRLRLRRLRRRLRRLLLLRRRLLRRLLLLLRLLRLRRLRLLLLLLRRLRLRRRLLLLRRRRRLRRLLLLLRLRRRLRLLRRRRRLRLRRRLRLLRRLLLRRRRLRRLRLRRRLLRRLRRRRLRRRLLRLLRRLLRRRLLLRRRRLRLLRRRRRLRRRLLLLRRLLRLLRRLRRRRLLRLLRRLRRLRRRRLRRRLLLLRRRLLRRLRRRLRRRLRRLLRLRLLRRLLLLLLLLRLLRRRLLLRRRLRLLRLLRLRRLRRRLLLLRRLLRRRRLRLLRRLLRRLRLRRLRLRRRLLLLRRLLLLLLRLLLRLRRLRRLRLLLLRLLLLLRRLRRRRLRLLLRLLRLLLLRRRRLLRRRRLRRRRRLLRLRRRLLLRLLRLLRRRLLLRRLLLRRLRLRRLLRLRRLLRLLRRLLLLLLLLLLRRLRRRRRRLRRRLRLLLLLRRLLRLRLRRLRLLRRLRRRRLRRRRLRRRLRRRRLLRRRLLLLLRRLRRRRRLLLRLRLRLRRLLLLRRRRRLLLLRLRRRRLLRRRRLRLLLRLRLRRRLRLLRRLLLLLRLRLLLRLLLRRLLLLLRLLLRLLLRLRLLLRRRRRRRRRLLRLRLLRRLLRRLRRLRRLRRRRLLLLLLLRRLRRRLRRRLRLRRLRLLLLLRRRLLRLLRRRRRRLRRRRLRLRRRRRLRLRRLLRRLLRLRRRLLLLRLRRLRLRLRRRRLLRLRRRLLRRRRLLLRRLLRRLRRLRRRRLLRLRLLRLLLRRLLRLLLLLLLLLRLRRRRRRRLLLLLLRRLRLLLLRLRLRRLRRLLLLLLRLLLRLLRLLRRRLRRRRRRLLRLLRRRRRLRLRLLLRLRLRRLRRLLRLRRLRLLRLLLRLLLLRRLRLRRRRLRLLRRRLLLLLLLLLLLRRLRRRLLLRLLRRLRRLLRRLRLLRLRLLLRRRRRRRLRLRRRLRRRLRLRLLRRRRLLLLLRRLLRLRLLLRLLRRLRLRLRLLRLLRRRLRLRLLRRLRRRLRLRRLLRRRLRRRRRRRRLRRLLRRLLLLLRLRLLRRLLRLRRRLRRRLLLLLRLLRLLRRLLRLLLLLRLRRRLLRRRLLLLRLLRRLRRRRRLLRLLRRLRLRLRLLLRLRRLLRLLLRLLLLRRRLRLRRLRRRRRLLRRRLRLRRRLLLLLRLRRLRLRLRRLRLRLLLLLRLRRRRRRLLLRLLLLLRRRLRLLRLRLLLLRLLRRRRRRRLRRLLLRLRLLLRRLLLLLRRRLRLLRLLRRRLLRLRRLLRLLRLLLLLRLLRRRLLLLLLLLLLLLLLLRLRLRRRLRLLRRRLLRLLRLRRLLRLRRLRLRRLLRRLLRLRLRRRLLRRRRLLLRLRRRRLRRLLLRRRLLLLRRLRRRRLLRRLRLLLRRLLRRRRRRRRLLRRLLLRLRLRLLRLLLLRRLRRRLLRLLLRRRLLRRRLRRLRLLLLLRLRLLLLRLLLRLRRLRRLRRRRLLRLLRLLLRLRRLLLLRLLLRLRRRLLRRLRLRLLRLRLLRRRLLRLRLLLLRRLLRLLRRRLLRRLRLRRRLRRRLLRLLLRLLRRLLLLLLLRLLRRLRLLLRLLRRLLRLRRLLRLLLLRLRRLRLLLLRRRRRLLLLLLRLRLLLRRLRRLRLRRLLLRRRLRLRRRRRRRRLRRRLRRRRRRLRRRLLLLRLLRLLRRRLLRRLLRLLLRRLLLLRRRLRRRRLLRRLRLRLLRRRLLRRRRLLRLLLLRRLLRRRLRRRRLLLRRLLRLLLLRRLRLRRLRRRRRLLLRLLLLRLRLRRRLLRRLRLRLLRRLRLLRLLLLLLRLRRRRLLLLLRRRLRLLLRRRRLRLRRRRRRLRLRRLRLLRLRRLLRRRRLLLLLRLRRLLLRRLLLLRRLRLLRRRLRRLLRLLLLRRLRRLRRRRLRRRLLLRRRRRRLLRRLLRRLRRLRRLRLLLLRLLRRLLLRLRRRRRLLLRLRLLLLRLRLLRRLRLRRRLRLRRLRLLLLLLLRRLLRRLRLRRLLRRLLRLLRLRLRRLLLRLLLLLRLRLRLRRRLRRLLRLLLRLRRRLLLLRLLRLRRRRRLLRLRRLRRLLLLRRRLRRRRRLLRLLLRLLLRRLLLRRRRLRLRRLLRRRRRRRLRLRLRRRRLLRLLLLLRRRLRRRRLRLLLLLRRLLRRLRRRLLLLRLLRLRRLRRRRLRRLLLLLLRRRLRLLLRLRLLLRLLLLLRLLRRRRLLRLRRRLLRLLLRLRRLRLRRRRRRRLLLRRRLRRRLRRLRLLLLRRRLRRRRLLLRLLLLRRLLLLLLLLLRLLRLLRLRLLRRLRLLRLRLRRRRLRLRLRRLRLRRLRLLRLLLLLRLRRRRRLLLRRRRRRRRLRLRRLRRRRLLLLRLRLRLLRRRRRRLRRLLRLLLRRRLLRRRLLRRRRLLRLRRLRRRLRLLLRRRRLLRLRLLRLLRRLLLLRRLRRRLLRRLRLRLRRRRLLLLLRLLLRRRRRRLLLLRLLRRRLRLLRRRLRRRRLRRRRRRRLLLRRLRLRRLRLRLRRLLRLRRLRLRLRLRRLLRRLRRRLRLRLLLLRLLLRRRLLLLRRLRRRRLRRRRRRLRLLRLRLLRRLLRLRRLRLLRLRLLRLLLLRLLRRLLRLLLLLLLLRRLRRLLLLLLLLLLLLRRLLRRRRRRLLRRLRRRRLLRRRLRRLLRRRRRRRRLRLLRLLLLRRLRLRRLLLLRLRLRRRLLRLRRRLRRLLRRLLLLLLLRLLLRRRLLRLLLLLRRRRLRLRRRRLRRRLRRLLLRLLRLRLLRLLRRLRLRRLRRLRLRLLLRLLRRLRLLLRLRRLRRRRLLLRRRLRLLLRLRLLLLLLRLLRRLRLLRRLLLRRRRLLRLRRLRLRRRLLRLRLLRLRRLLLLRLLLLLLRLRLLLRRRLRLRRRLRLRLRLLRRRLLRRLLRRRRRRLLLLRLRLLLLLLRLRLRRLLRLLRLLLLLRLRLLRLLRRLRRRLLLRLLRLLRRRLRRLLLLRLRLRRRRRLRRRLLLLRLLLLLRRRRRLRRRRLRRRRLLLLLRLLLLLLLRLRRRLLLRRRRRRLRLLRRRLRRRLLLRLRLRRRLRLLRLRLLLRLRRLRLLRRRLRLLLLLLRLLRRRLRLLLLLRRLLRRLLRLLRLRRRRLRLRLRLRLRRRLRRLRRRRRRLLLLLRLLLLLLLLRRRLLRLRLLRRLLRLLLLRRLRRLRRRLRRLRRLRRRLLLRLLRRRLRLLLRRRLRLRLLLLLRLRRLRRLRRRLRRRLLLLRRRLLRLRRLLRLLLRLRLLLLLLRRLRLLRRRRLLRRLLRRLRLLRRLLRRRRLRRRLLLRLLRLRRRRLLRLLRLRLRLLLLRLRRRRRRRRLRRLLRLLLRRLLRRLLRRLLLLLRRLRRLLLRRLRLLRRRLLRRRLLLLRLRLRLLRLLLLRLRLRRLRLLLRRRLLLRLRLLRLRLRRRRRRLRRLRLLLLRRRLRRRRRLLRRLLLLLLLLLRLLRRRLLLRLLRRRRLRRLRLLLRLRLRLRLLLRLRLLRRRLLRRLLRRRRRLRRLLLRLRRLLLLRLLLLRLLLRLRLRRLLRLLLRRRRLRRLRRLLRLRRLLLLLLLLRLRRRLLRLRLLRRRLLRLRLLRLLRRLLRRRRRLLRLLRLLLLRLLRRLLRLLLLRLLRRRRRRLRLLRLLLRLRRLLRLRRRRRLLLRRLRLRLRRRLRLLLLRLLLRRLLRLRRLRLRLLRLRRLLRRLLRRLLLRRLRLLLRRRLRRLRLLLLLRRRLRRRLLRRLRRRLLRLLLLLRRRRLRLLLRRRRRRRLRLLLLRLLLRRRRLRRRLRLRLLLLRLRLLLRLRRRRRLRLRRRRRLRLRRRLLRLRRLRRLRLLLLRRRLLLRLLRRRRLLRLLRLLRRLLLRRLLRLLLRRLLLLRRLLRRLLRRRRLLLRRRRLRLRLRLLLRRRRLLLLLRLRLLLLRLRRRRRLRLRLRLRLLLLRRLLLRLLLRRRLLLLLLRRLLRRLLRLRRRRRRRRLLLLLRRRRRLRRLRRRLLLRLLLLLLRRRRRRLLRLRRLRRRRLLRLLRRRLLLLRLLLRRLLLRLRLRRLLRLRLLLRLRLRRRLLLLLLLLLRRRRRLLRLLRRRLRLLLRLRLRRLLLLRRLLLLRRLRRLRRRLRLLLLRLLLLLRLLLRRLRLLRLLLRLLRLLLLLRRRRLLLLRRRLRRLLLLLRRLRLRRLRLLRRLLRLRLLLRRLLLLRRLRLRLRRLLRRRRLLLLLRRLRLRLRRRRLLRRLLRRRLRLLRRRLLRRLLRRLRRLLRLLRLLRRRLLRLRLLLRLRRLRRRLRRRLLRRRLRLLLRLRLRRRLLLRLRRLLRLLRLLRRLRRLRLRLLRRLLLRRLLLLLRRLLRLRLLRRRRLLRLLRLLRLLLLLRRRLLLRRRLRRLRLLRRLLRRRLRRLRRRLRLRLRRLLLRLRLLRLRRLLRLRLRRRLRRRRLRLRRRRLRLLLRLRLRRRRLRLLLLRLLLRRRLRLRRLRRLLRLRRRLRLLRLLLLRLLRLLLRRRLLRLLRLLRRLRRLLLLRRRLLLLRRLLLRRLLRLLLRLRLRRLLLRLLLRRRLLRRRLRLRRLRRRRRRRLLRLRRRLLRLRRRLRLLRRLLLLLRRLLRLLRLRLLRRRLRLRRLRRRLRRLRRLRLRRLRRRRRRLLLLRRRRLLLLRRRRLRLLRRRLRRRLLLRLLLLRRRRRLRRRLRRLLRRRLLLRRLLRLLLLLLLLRLRLRLRRRRRRRRLLRRLLRRRLLRRLRLRLLLLRRRRLLRRLRRRLRRLRRLLLLRRRLLRLLRRRLRRLRLLLRLRLLLLRLLRLLLLLRRLLRRLLLLRLLRLRRRRLLLLLLLRRRRLLLLRLLRRLLLLRLLRRLLRRRLLLRLRRLLLLLRRRLRRLLRRLLRLRLRLRRRRRRLRLRRLRLRRLRLRRLRLLLRLLRRRLLRLRLRRRLRRRLLLRRLRRRLLLRLLRRRLLRLLLLLLLLRLLLLRLRRLLLRRRRRLLLRRRLRRRLRLLLRRRRRRLLRLLRLRRLRLRLRLRLRRLLRLLLLLRLRLLRLRRLLRRLRLLLLLRLLRLRLRLLLLLRLLLRLLRLLLRRLRLLRLRLLRRLLLLRRLLLRLLRLLLLLRRRRLLRLRLLLLLRLLRRLLLLLRRLLRRLLLLRRRLRRRLRRRLLRLRRLLLLRRLLRRRRRRRRLRRLRLRRRLLLRRLLLRRLRRRLRLLRRLLRLRRLRRRLLRRLLRLRLLLLRRLLLLRLLLLLLRLRRLLLLRLLRLRRLRRRRRLLLRLLLLRRLRLRRLLRRLRLRRRRLLLLLLLRRLRRRLRLRRRRLRLRRLRRRRRLRLLRRRLLRRRRRRRLLLRRRRLRLRRRLLRLLLLLLLLRRLRRRRLLRRRLLLRRRRRLRLLRRLLLRRRLRLRRRLLRLLRLRLRLRLRLRLRLLLLLLRLLLLRRLRRLLLRRRRLRLRLRLLLLLRRLLRRLLLLLRRRLLRLRLLLLLLLRRRRRLLLLLRLLRLRRLRLRLRRLRRRRLLRRLLRRLRRRLRLLRRLLRRLLLLLLRRRLRLRRRRRRRLLLRLLRLLRRLRLRRLLLLLRLRLLLRLRLRLLRRRLLLRRRLRLRRRRLLRRLLLLRRLRLLLRLLLLRLRRRLLLLLLRRRRLRRRLLRLRRLLRLLRRRLLRRRRRLLRLRRRLRRRLRRLLLRLLLRRLLRLRLRLLLRRLLLLRLLLRRLLRRRRLLRRRLLLLLLRRRRLRLLRRRRLRRRRRRRLRLRRLLRRRRRRLLRLLRLLLLLRRRLRLRRRLRRRLRLRLRLRLRLRRRRLLLRRLRLLLRRLLLLLLRRLLLLRLLLRLRRLLRRRRLRLLRLLRRLRLLRLRLLLLRRLLRLLLLRRRLRRLLRLRLRLLRRRRLLRRRLRLLRLRLRLRRRRRRLLRLLRRRRRRLLRRRRLLLRLRLRRRRLRLLLLRLLRLLLRLLLRLRRLRRLRLRLLLLLLRRRRLLLRRLRRLRRLRLRRRRLLRLRRRLRLLRRRRLLRLRLRRLLLRLRRLLLRRRLRLLLRLRRRLRLRLRRLLRLLRRRRLLRRRRRRRLLLRRLLRLLLLLLRLRRLLRLLRLRRRRRRLRRRLRRLRRRRLLLLRLRLRLRRRLLRRRRRLLRRLLLRRLLLLLLRRLRRRLLLRRRRRRRRLRLRLLRLRLRLRRLRRLRLLLRRRRLLLLRLRLLRRLLLRLRRLRRRLRLRRLLLRLLLRLLRRLRRLRLLLLLRRRLRLRRRLLLLLLLRLRRRLLLLLRLRRLLRLRRLRLLLRRLLRRLRLRLLRLRRRLLLLRRLLRLLLLRLRLRLLRLLLLRLLLLLRLLLRLRLLLRRLRLRRRRRLRRLLLRLLRLRRRRRRRLRLRRLLRLRRRLLRRLLLLRLRRLRRRLRLLRLLLRLRRLLLRRRRLRLLLRRRLLLLLRRRLLLRRRRLRRRLRLLLLLRRRRLLLLRRRRLRLLRLRLRLRRLRRLRLRLRLLLRLRRRLRLLRLRRRRRRRLLRLRLRRRLLRRRLRRLRRLLRLLRRLRLLLRRRLLLRLLLLRLLRLRRLRLRLRRLLLRRRRLLRRRLRRLLRRRRRRLLRLLRLRLLLLLRLLLLRRLRLLLRRRRRRRLLRLRLRLRRRLRLRLRLLLLLLLLLRRRRLRRLLR
