1
200000 1000000000
702976177 732023935 422935921 770674077 194113459 286017191 877169167 879907177 136555719 692848627 463461285 43363017 242676849 101528969 489574347 972007445 921885343 902134841 213648899 341543891 362163111 510574969 466446519 68522923 687865671 557022827 185747511 508396403 42828707 625615573 343237055 162596391 323118663 267057701 780724331 552696039 219934507 771978869 234082889 993931263 943437739 853546369 143667529 602228709 111262093 562819507 344406083 650130995 492051453 603649305 913161721 387376809 848025231 728048745 512259605 590811191 656563267 245890563 376563751 529493997 469529727 177545969 798672553 318155785 903570957 164001759 654923261 682389739 196981795 992155685 606938985 550586913 307915615 20617923 422562851 15436125 938862791 573270367 503322689 984990587 866984647 411944265 211078085 753105789 413938743 155222649 557772185 369487757 899578191 746887311 635840653 764147715 965363385 487933391 41130075 905564759 934452863 810677289 176012451 598184491 981089049 687407159 180290033 993239117 704002659 910187575 181440691 197384623 220876961 645080335 444683845 760190573 887424899 423192399 899586023 125435593 239619355 253048365 394276803 556352047 558719209 526139019 578455017 329887283 254579409 120600559 853789523 328220559 741270049 427019143 578506977 520563493 435915405 60177197 258668125 337568003 941245747 650195549 391076219 36744029 687035289 323688769 136352977 646869385 543045291 85031845 238268641 201647889 775418303 905588739 650595603 221742235 556610449 954780283 425835195 754085629 525498697 981005265 900352017 830468145 869896049 226543223 62490933 54199897 836070143 613328771 970292017 258265285 263643731 175208373 330119929 813717731 106925615 301242485 94489697 768110929 769893057 184457935 288348975 122412243 110802081 919583357 222021131 203503953 748330441 608867549 325627779 13139681 83901085 63324663 379523861 806208189 883745007 688042363 272199199 102516809 549873393 411094461 858420461 32900111 332848705 897501889 579670957 812588741 14176997 44682027 731903353 608918595 59274311 646807883 981825365 189907599 889702977 848839191 453110567 854417617 90239501 11258417 846982851 46755935 574021457 89085663 873194721 420816309 796068123 626675471 616705569 669893491 145119969 827532891 776091661 332141925 628695933 943090687 67826711 247576961 48579127 630810595 367756441 611640031 353723835 267580825 126104017 731786949 126453535 35529045 375594221 953544605 858783457 389791993 662971641 869433849 542446565 85543177 40085491 188223895 948466807 366247351 846145977 566230103 189331791 487792089 825164565 962668871 241372809 520312303 187773113 94418327 595913385 72768799 95324733 824731559 46641567 877186107 392681253 977192439 640543677 13353653 7774167 91790899 327915203 960901043 134475429 722000429 287322325 46286071 125276363 494308579 243118977 30218225 495036263 437224821 266030779 276888251 621959811 645340209 241822689 467393297 461507601 529954185 426545849 815566173 1695977 330364185 598089839 145065901 512808397 523592355 934932633 927892153 295959143 544089363 331686453 735994079 280926281 973098363 553918117 96537381 693018601 563839513 580213433 74959935 917649835 411699023 315836839 720273279 966940887 1238695 15646731 840066535 14655135 481061845 904991977 152934175 165422875 872987061 804677295 124382835 485207117 610811209 669082675 81356765 904381727 86117053 828964787 475455229 556115553 403275365 414847443 524661783 184464335 183937979 991647393 878126365 990770437 461486691 581325457 211646629 619836561 967092007 750999425 350683375 284493027 733744379 851793333 61507809 625824595 403537915 805220573 454157579 750646051 778899049 937060621 142948005 52966525 804100019 836039617 36759181 769845617 393908073 371797727 318367307 284714747 640896583 587942325 505118479 590148599 147288369 679652857 226591407 579457587 143178801 13849797 464425129 542968671 314242427 118845857 389607719 180569619 401607789 720642427 496903671 812734161 591390853 331744165 262455695 890269443 922693745 132931805 146476561 460585465 452650759 998642251 415245891 827350509 482803773 191497849 455348371 142623999 607659065 866213471 717317657 769328187 248801349 96058969 758849431 515233425 665288663 984858923 81286255 587298775 109002119 989245701 238266293 170250707 572461083 313301627 71506205 411698989 115231613 815173001 238907399 879499893 451448255 203725461 568587389 441652517 58348061 424212845 238559273 252325023 238584827 78026309 167517543 125583145 38150629 740384443 851395637 821319929 199288973 828325077 52685625 307868451 840742349 337111039 907025093 718905517 743401387 690376207 817364427 899620223 720582481 689465921 778857199 683679593 121858577 90233405 489466231 629201701 976943721 200034061 533280339 702907731 140737785 817453097 68449049 175032703 238146959 398179435 235273991 205698839 555917341 383161117 258190343 81762423 289155007 603002087 743065511 612253663 335604151 331466465 182186525 193514615 15122543 205403017 909238091 498054483 235826303 41622467 623064503 177890923 479716255 423600093 930965391 103956383 856292273 713216651 739695019 641578937 152768451 505167851 731515531 410109805 991378183 944372867 297425239 690536015 335316953 328823869 65723611 923778021 40491707 386675571 659068561 469621397 357290329 263317471 674428825 389590707 807544199 50182057 296783799 80631159 878539839 880804955 594891357 324376065 99715749 389055979 730818977 684743259 921466115 667728313 602371907 929788023 878247885 39786887 999039913 390522671 452560543 956316803 746171107 510816579 110589755 226275395 802452905 171560027 231487629 444250053 886909017 289385995 774670249 70936173 499580923 600788169 146055881 539427079 135077181 536808185 654253137 501087435 357700985 776330211 802917835 80261717 572211627 428915387 45648109 467896489 269953405 477207957 178381455 354250295 32626237 383183991 468751285 264440785 909688289 479322183 201602189 846151607 182800395 426815447 741922151 233601679 862260993 87221987 707536319 639763041 546467505 630822153 81629497 525119401 765543347 507801299 146007711 841368127 124688967 208523955 936186599 409784939 667975509 507940865 87677481 216074201 753378665 716841985 241270955 106921631 804131261 159441113 464390101 727815225 397095217 501229723 42233661 5457551 451876169 512166467 378590111 223327467 754239287 959969965 707138011 917530373 887322321 188540841 919726591 659537399 929805717 397776097 50684475 976452939 690355629 767779061 594268655 760069097 2182377 464767585 186796185 994837803 648373691 847201937 805123817 932000713 428165191 426750165 528550831 261710573 284713811 25946473 536965865 945088803 291663183 162917995 103046327 812205407 752940367 742720741 635062375 651694079 153130519 503208391 810768747 50494409 538323723 890215151 225747549 202312937 900201785 751450137 88736259 443757045 434770525 921799153 899690055 250081513 334591953 593457927 75179837 188929579 330690465 234535125 252177949 802239369 294639481 880375485 130924111 989494585 689924529 576926471 468735067 386650837 443556425 131819491 334099189 633353829 744289257 754175599 302369783 220609879 814099677 729018791 522823527 16214909 339512863 260989815 839084145 876182549 49045583 11978671 192726627 596770503 646400689 834724105 385006525 464950431 292263991 57707045 795063585 912686865 123097207 756307087 139897945 354928379 768302767 298954679 760365913 118155681 136452297 673593333 464076093 756181939 415344211 7003531 892796743 709508163 772964229 308170659 452596195 630234577 506128445 575909709 535469989 100695875 758563075 230331011 798464071 367005921 268528647 659735845 66661293 100121447 634569245 394971135 206829281 152026861 87010759 351463871 793307415 846069755 196642349 536653313 489200811 926827133 619011613 695244357 195836961 560395977 433009421 3887861 913645857 373835421 873885727 204279393 417772417 412611611 887447321 769354691 238262331 255590611 524302697 625668155 84926579 269228219 522051367 419945941 873105523 517979439 902322195 835394687 816712881 598173683 944476307 292726037 869695685 140147767 503275193 144301655 856406131 183523725 347590969 684208109 280226985 340870901 43512947 526090091 222037111 5067219 181464431 389421385 610056217 491031797 888776413 272359911 813444595 799017359 210785811 922409617 843214225 191011391 903848977 269407349 98677413 993037323 25837181 393224623 361365513 354396509 669436583 820546623 7189699 3448079 257670277 103493901 892521723 606715741 651758521 812782317 715048713 681177833 499515017 373459351 853885539 18703299 500101861 99498155 49365167 144367201 201722209 540823731 730712249 847677597 341895231 623490595 236329331 529355967 514804327 248412239 740199159 373699189 919168103 711821437 697736587 293504465 556097397 200219859 813929113 6663761 387749491 489821029 905159603 848959965 624491237 7195435 310909847 67669441 789652989 684273413 681750821 599238065 522613139 791964349 482685035 954396363 198983971 260195333 579118491 142315667 614929621 896330103 580676113 959157753 4408441 666822033 656882511 310190673 64687239 200201153 856890369 343919191 907827487 832051027 148635385 891183409 297796869 954003077 885285941 271444845 140924075 13230965 338901975 409348607 816007973 696301357 117517097 548805957 763649335 185279647 404183455 216100357 241247301 384289701 231130581 933040747 878589279 580837885 333571213 470965005 712767037 746048083 764482483 371291625 711220797 325540153 548574041 390617955 472013159 592711717 312373949 447978823 952468329 969890427 76971329 625767885 641492635 806530691 639869807 572779151 242154751 627078767 411055101 50766231 727575351 282919769 834304707 88928845 341976983 451598911 25041349 956822155 961426707 355345677 197079599 926884747 955464269 180940179 588808533 917750515 364732553 481945741 812020657 271185871 139790009 807302297 869395431 629782425 482343029 84238145 578381761 701981481 524204793 939462135 166383925 374305221 292808237 788373267 964062555 888852509 74753441 407121623 432267127 911179589 604695949 562158701 353250807 886552507 201291215 305465573 374045035 36998753 162228465 847676987 924724623 619776391 596298013 272916555 412113479 514045411 308974383 198679011 50389661 538180495 321333157 280619443 946331591 250598163 537335717 709704531 311193117 900107357 662297087 942663239 965001765 574261183 693350953 507766003 636734345 380040953 598954821 118753199 754284059 556945967 803041561 188268975 895559383 988464877 825978131 941321237 965824737 577317675 144515917 851783917 421371013 511106629 645178755 862818343 133983797 500212737 787593247 978129051 963398539 213993865 118782253 236890891 557540429 540110455 494872425 97228577 17013093 491272645 243255597 351884397 903608805 562430169 710888325 132930921 550389769 746422401 43370269 820591735 80754231 956901363 299535181 208605919 26764279 330197449 505682197 735744465 670990075 588155659 594606107 254461289 461998627 254421541 671100847 239092647 506458735 800595949 388013513 513921397 256097291 966781601 537606665 325762467 875759945 547287267 558933683 754188267 630706087 570460357 526955447 936313837 546476743 504207545 27103663 971929141 782322547 414015643 737049817 204965169 674897055 587290805 196031515 630294077 448569957 142421679 703690245 185416857 421943051 143129763 253024205 835255919 289300987 636712459 542148693 467486159 922601673 416314061 893358371 497751987 477920815 382021173 560352101 285620987 539685649 704625661 215788277 601833331 158105465 594165053 998448975 482714825 910989211 992901501 846883995 222498713 654485715 728922537 401749675 537227363 58616483 266088213 747045875 705992847 303168951 770429571 847296661 719507313 319056611 546596115 715637077 147301185 49402913 981319509 322298021 469419039 363134357 914067519 227598747 881708311 726455433 606198829 739790071 698418455 268916851 246804451 481647647 647220731 825952747 426567055 367343141 535619457 177378229 833629639 912481469 734931543 685099453 808165513 799225159 759530763 692734999 561399865 7577035 838705429 203872253 853552805 52017657 100790745 983269587 480681473 928741925 946786209 616582949 680830955 840558163 761246875 975101859 683579495 443903783 123861475 325461549 323828453 190313201 570928759 604300481 242539833 782002343 728031301 840061583 968801951 665988843 74921753 667762407 619571389 914693891 410771889 174813765 421328545 936191453 715618475 98785101 268832191 719488787 570870673 332790219 64083191 7635937 237198293 259510705 973343115 237934127 227471825 744399385 225935913 196051343 956280259 531771977 218782695 289417269 696123609 272772777 29719875 322162179 493255199 615637457 251805983 388742013 305875859 466894711 794522573 235159253 759760147 6979969 561781759 23195873 294285161 948734203 142078929 903766561 462937927 667476247 338225613 279436731 824027717 825074735 29312475 336986239 197681127 460790473 61575765 793338853 435721363 502944911 184977653 624067851 619474075 807653717 997734881 331926459 360899387 581550611 301991591 960781663 981152657 915446257 316309307 106177043 560859047 775907125 658691323 723120531 933248367 226914391 785149357 137647689 281978305 35053809 364485757 707145283 268013407 669925061 841038593 787982393 829304821 637980351 625091125 28139145 824705807 615874035 212068737 720913977 761201449 610903707 697924015 981555195 815002789 727086873 805069815 758644519 465049291 998091003 90734323 612332217 845135565 79833075 821862315 864828507 949254339 227975389 686102669 289037657 436935343 266062523 312655979 396706221 944650107 977568699 785076101 230370551 703621625 257612331 114762367 578088315 377189343 402653067 467256165 559768363 668324049 271350141 670256303 982913181 670780757 659525323 436231737 447024145 865218529 21337705 720729673 369167981 233148875 777695859 149936267 73213505 104682583 56522541 624407829 43646661 194409897 26574335 534364003 8851159 453117401 934030463 543818587 909666815 499255771 687575399 80224843 698863469 284039313 998869403 766916073 574925559 967535559 159543589 558594895 909055515 662672173 187492411 793688581 262788867 807078235 39033909 680924919 896412541 20946643 758584983 380975483 285908479 977174783 50544143 34979919 423023787 69350703 245007725 426681495 443746887 296979869 430309549 299021535 309691201 474746985 773393395 546225183 681675953 277797023 671007371 816110771 85302615 47518511 76693477 267062623 127083163 352699889 742237857 580819027 963388809 789951143 381086589 951969313 96222685 636096505 317553257 142340809 362757361 336557179 279535989 444436655 657913551 261490597 958982623 242199969 766980391 798360281 185599239 439650261 393898575 636142173 923265913 514573541 285472327 584022631 139001835 65998041 809060789 893202957 603473463 106588957 631719657 588886609 993756767 995289479 954571995 541028123 673913741 670486355 972664361 515493439 558146329 540593705 271139355 966279285 568166265 508448531 276550049 381364317 177204053 881246599 992842321 603738499 392519283 428318821 379672937 837437781 383551179 358778607 187128531 578840623 81154935 525526485 237016605 514205777 429388729 605685289 51282813 785937635 696529405 426226283 257525461 541361401 904271061 206234495 356632235 198026379 193248255 645038001 540233005 514002297 643101021 11507131 802393907 199234701 874782713 471888309 116671293 349265019 911528199 22461989 617181811 598992087 343158499 337814267 615637409 938194727 123703311 877279883 279234625 729315283 7394871 703329425 347826035 599546665 587627821 890266931 117271291 107278439 537045999 430374911 705222731 511809195 844588447 1272043 457828217 403635711 434890375 481386321 841402949 153358423 452165403 755153657 728509717 946606727 974951671 149632785 748789753 174955349 807244255 432956203 945546153 796141159 447925947 415199813 794531459 187975505 464941729 953186247 267814799 162418313 134042571 680212093 668020603 544894067 503798939 53825945 976077217 548573273 580557473 846980541 73551613 380283241 164194187 594982893 360405305 171485117 857315895 763175059 278330787 439848793 383518633 477400201 435059761 785083683 962305033 710808073 325142149 261699565 922372013 376464313 38406885 425984371 686108175 833588135 164487999 897488723 854177491 739970631 584288811 303548951 710940357 821815673 864082921 803547185 244140245 809092989 516851553 4017913 443322147 344101895 908624159 203054003 93335021 595846951 679780957 170910853 390097571 806643291 389753339 283202433 97574613 358697867 679415165 392036259 387058495 96800769 702004757 435366345 317932741 789239667 161884569 445031357 971011443 917405441 656472455 685317937 638285691 833845805 794537481 129555133 716506679 19263463 643941615 349968611 852098349 846287745 345132715 772665101 893104903 323359163 84928865 47297165 211105943 523666873 392634839 1264537 67343833 229416457 80674941 858477653 844838131 585526687 867273831 950378441 858900267 790430425 188872281 833023205 698278905 835086973 307418037 611187591 378355703 904336565 588334991 172903787 853452263 929117723 459063197 763500861 556061109 976133289 499690811 854062477 339256179 45814471 37083765 126417877 880471135 599640127 825928951 276823415 398650841 858883911 961625369 249302715 262262895 830049663 948286171 501420499 264885459 294637289 503707365 993728471 306037473 731672307 913677699 413993417 56317083 139524979 56567215 273469331 432659245 882961831 931966985 21316357 955448299 749851443 491360213 571462361 127118669 538283811 688641029 101226929 348365307 210389231 883923503 887527187 575104445 212517235 683758993 792985205 712575111 965560309 129602581 107321389 728723829 796592927 680624969 457846397 921086921 676956171 460218725 814559375 928102383 104388403 522903623 88565619 621730939 333877629 227770487 263547683 460077351 286569783 319978019 123900799 763599831 83229973 445641253 807489363 21584277 799143223 27483385 728686413 293595031 576145439 459355081 172659977 38148149 99858875 426716003 159322631 354047475 37697121 453136701 955784881 353724029 520645069 921654905 598839639 302993831 772372519 935008987 213889843 660163691 688749305 67990487 715618149 324369389 18209851 245333887 903543289 416112761 373792071 850095509 788192989 775503999 533003751 717261439 330985197 192110493 848636227 776451663 490552553 524026263 953436917 681259961 359248507 160683349 204449783 742839069 502710065 764999661 826752431 873252739 328910729 281352603 169144553 374063515 645957091 498980543 866192093 933840059 351752581 816768741 685448743 971272673 10775459 989215683 388829645 167029431 572448343 16441393 30117435 147775629 928521633 256927029 154750023 326756693 322674281 233375993 395788845 289454771 491782531 241425359 357982869 674585325 572078247 124191539 625724809 522193395 93690229 912071371 802247039 419767385 973172857 624046429 489897559 834716257 515311137 501796833 183632979 844418291 755739591 228567665 384931617 64791197 450665135 743926093 178880215 507286677 76680961 93003237 752972019 21500349 509395659 300086219 80269657 161496473 454471435 892983735 967844181 971286363 953297055 672249489 987324575 432054491 326536017 733829217 691704403 378417557 842545363 742394713 162897911 797235121 594577855 538518745 439032439 714499327 941766293 394273889 904264487 302236663 758468285 203920541 842034375 967353529 977433481 760374369 990275707 545320969 765466933 699328421 628103889 306280023 87600095 102882961 114209471 726694589 641266321 177869421 844162719 541821945 241887805 604507309 978997049 377783665 739716797 633328621 446982329 547838517 741209039 112337647 867798453 21202429 397553695 583372191 794844203 272843815 405553215 691150353 72610429 592426169 665289125 38991231 471878781 480063847 184160693 595520845 707330139 961721475 777609911 666626565 113531833 543147537 727125213 503858779 577169049 350305971 283953985 308168235 873956971 976240829 541282017 554443127 479673089 780107555 859332521 659497837 358313371 174215303 57301867 625542491 297892829 798550061 274991325 865178049 187437269 135502087 698153123 704322369 510820343 499892909 812850245 747379111 726530593 397712473 102008117 637768931 201113241 768227833 44207051 370294291 350192651 993760023 819952201 762643067 139682701 398783981 82099161 380623491 633845659 865998937 470740365 630253761 700029725 989155045 328814427 663934191 966509661 117601723 216467239 438781681 407501329 945026487 219583417 751102931 826121817 166902103 695389121 806807237 526001079 667635137 736910555 740055591 371136537 502726085 92882057 511049847 891365847 49393369 829574961 435131749 225075881 932242463 854312741 301328065 592424633 906843997 153145247 170692487 275234707 22718977 182436801 654630621 854257963 468340261 661928849 726412041 350159583 693754757 117449477 190907011 633057395 25859723 710208755 435294947 513103639 588185411 325114909 591916015 832661599 381191273 368120877 188683409 868864327 757002839 946120371 70565851 375895861 841840153 911822377 493874187 591967479 423291483 161413361 921435009 565686721 198945397 374762067 268945355 593712691 343334759 393739647 612098203 487247183 65978583 788852881 301454027 402787203 610346517 871555465 312597345 964982693 240363801 232273 623915143 692377073 795907969 71141049 503789201 596104463 216390551 642334075 990217975 51696393 497497925 202743607 191895393 807879255 543274279 928911993 495358615 740024021 657865083 23017393 510691725 516854471 313041191 387220533 657325151 594265565 439856313 942882123 667154255 955810345 636898157 610084123 359001545 153842475 53813791 440694709 917906785 919291079 729865303 590615059 690879695 420959819 482061123 605786901 838149371 148347755 15764669 700771975 740156397 624678725 279094849 731349015 828072921 572649823 570730999 863694433 705468955 766583461 152230833 851538917 117738039 428846189 709678563 457348107 986255061 578916723 298239151 198499367 634877129 911305951 419503833 70387825 464197137 873930555 921968339 53821705 441927375 435259263 726993843 368136955 753855055 82794501 610344505 697766197 123591169 59127189 656131019 192603027 515729027 210894429 831977851 317979605 455542935 5005039 336631037 675423395 502878763 634135371 327914929 551430801 583710543 512902101 886854559 316478741 135391039 407523929 116361847 497554837 290009439 64993039 327067277 418978389 176531001 853895059 629532133 199913353 436265091 922910187 158239523 100453451 396485653 501372291 365556375 891390873 278806261 553402927 129945399 11026785 536861771 40135471 533906853 93976431 63026541 328246825 438086951 562305153 324504791 964282919 853639851 770508597 527131945 549184159 380160971 667482389 166250031 471720561 214343107 170204051 251929055 122639069 460171387 187101449 319249233 348117143 156008325 681064887 558174155 151896751 735570709 154604741 447232439 66195363 658683149 970008389 930865063 130340955 341444593 375559475 439575895 593189153 690415603 313749101 638506669 117031085 98802153 562754493 594217647 387246875 970319443 400389589 994036885 48530671 629341271 552502863 609601209 689295385 849640645 36557481 862529949 948207853 866713877 90946383 493601517 254619943 779353189 148148371 419696251 41076461 646982781 935766443 184963397 417667019 227463885 737933755 103171179 449270715 190854507 34470091 831989307 897659925 299957781 947972301 283382055 962139297 760239413 26337433 401026251 625386123 195262169 154305779 74103017 911353705 956160953 528124289 275065453 194565687 225516081 991480789 84872297 434670683 653129549 717655145 681048859 857884837 874060729 900865439 598109925 748678213 231935183 33900735 677260625 41304029 570336139 21086971 606645267 685276783 312956821 115334763 426156551 619775081 593121855 763811603 115628079 381234851 58995581 347523545 255588023 45468503 790570225 254519695 290024947 798924073 287119071 80252911 136482653 690024491 58539833 337872539 519937175 348399823 961629333 626598427 372337 155754739 949003059 645236447 947016153 352197341 376395257 465219653 431440109 314622009 735999863 703245705 813422575 550706459 662813925 154524887 768737355 340994819 720977185 562543679 646035861 478098903 292267443 141289659 615059079 186354913 192702411 540320557 969985029 810804183 966556477 733492059 50039835 401865689 855140237 167346427 892045049 25327721 658217183 455212195 287184893 490095221 685702915 960231637 816465579 745805139 603380847 708332795 241456043 54202305 980910917 567343717 66167763 993331425 297756747 64680269 249695519 906028869 68268015 876510677 24701871 363745759 408625993 97042179 462609103 913901323 654746393 611851725 304315893 178091923 745930439 529192969 212082105 209851295 593721183 423419257 209077985 946097097 852869277 760094405 5991253 670851083 505743835 318991489 464469805 507112651 145728803 545064485 168088479 565796311 174110245 208841491 963874321 2428771 45866295 738801553 932662543 731523853 570954329 247128533 311806283 742682331 48636465 64701173 314403999 192460345 680082191 893142515 398988049 248674045 226408427 305871031 125649867 473597541 248550243 649658133 841922079 573966867 591055039 415863749 257463435 329470231 353917167 254899047 127060399 843442919 829012871 775826823 216249689 670640735 48715211 100361619 344323963 811030211 156643743 111152615 546279727 304573633 753050259 76126915 811351995 923321713 490897629 694117199 588442505 944030541 647838303 804817567 23117613 73124665 579341213 984077995 641001569 326701447 650096843 105202515 162899719 557126889 87143611 760747363 131105325 807049597 566586863 281729929 66627333 652450761 574108047 675815777 745336811 133306297 867405927 805255273 575862113 649332129 759130609 627367695 460676371 280961347 818658637 70199199 694205141 320177855 174768191 87571799 679698337 337446821 143432249 854541653 358876825 263336939 420740433 915154853 437250571 344273131 331030341 304341557 974670443 656860269 449547393 668125151 466347345 39213469 113505551 911645543 550379649 122330129 441602985 350169715 59511015 499961031 870593197 929661079 299239319 399542051 209885475 289165897 801616075 136900081 828000185 209213421 606208231 771890793 976815561 301853389 61382005 218946343 537427535 783220759 957821995 239716655 955656437 122392549 495312353 919705329 527732489 105766459 80345499 807830337 909109377 151213567 409937287 801019995 313997055 123296261 226979315 996826341 403597001 646487555 174130273 481571565 608719821 917402013 271338607 807948519 925882531 438188379 393563369 769468593 554896267 107181487 745367237 736147601 12908907 822433267 122186779 600673331 971047637 751873893 239671601 338955693 473789693 461773873 944002927 768388733 642209475 946898537 899158635 700282501 829847473 243824899 189394145 383691029 377229043 107942627 421150129 854441443 573163615 156760017 353721063 618901515 507882361 570742655 240656057 986203921 26985061 973506693 531446911 109386725 26502899 376450405 31230399 641783257 903757723 446443913 490486563 749400493 910752379 176626755 424588669 473085573 825612891 351841737 900363467 605881581 458662315 962060863 724584749 816757213 76920191 309130413 767901681 825989043 99111067 290373637 504199817 18992431 734116449 257208863 487893391 658178691 11233765 652636861 128189897 80890947 731985117 842141833 662586657 784951915 640115877 501912595 270450601 306721635 419535689 322182869 876275359 988902133 288624757 357647921 7465829 93239639 889272449 467756143 594435715 917798441 184266605 800701889 48655539 428821357 917425121 156612415 725093321 246955153 133407785 640199147 34451917 725408619 613036351 809167279 997338601 215509305 981878723 128663131 384591217 501348767 91946745 84064425 244558047 413626281 830731219 503610683 133032149 782493903 325673957 248868759 201666337 88054765 421986931 9922355 465196983 936703559 693347169 385960549 993046959 994568845 183642687 199338863 45020237 165839827 320416069 850660731 894961661 582350485 564254289 670435737 605605203 368273849 70945771 779444163 531246601 748845453 361146945 866795481 439267841 132938437 34970157 293692583 230474827 533167999 639435307 424216285 495215125 998823489 77341541 729539091 125168061 333388023 750081705 340001227 727013317 297744887 593822573 702824045 386487259 885883135 347561683 456054349 889684943 93335601 172876447 571148451 270851741 235363615 616766531 471587983 378077033 789274041 829195223 773319709 346226813 679806305 133719831 116098365 786582095 297512409 148571243 50141893 186253943 311431761 773357027 946335099 901120697 90360923 296163385 883478279 503372291 175350007 559262663 57146105 455242597 717779337 479233431 836963785 974192411 62011615 411935833 659018205 700441993 674076717 552532835 708577913 490274875 89769489 984125363 695776467 757130977 738692497 548447475 457555199 321320027 14122265 409726577 865678595 280509351 520028031 981523493 584409543 906196725 616114943 680212909 875042841 2847381 220673087 428421969 837945783 883220485 439092557 594711295 177252415 319768805 331908255 922276177 453817405 38957571 786978319 279105155 841081887 500662865 304715751 215044479 387551041 359175145 168918991 975014611 294368993 713489681 908542943 442045365 849025325 444421939 491558805 189553927 432096305 470870497 161132245 88624717 292450027 526662617 946325227 832287929 988899897 854658555 311352719 427914785 848959973 578759253 233763293 511978501 639730595 328964889 440785241 759014029 519974407 726295459 135917299 91284357 103837079 82744181 825571839 244883815 214303161 842327867 747595577 359044689 715445697 270485447 320544199 183283981 133932005 222673175 525836343 910159365 21967433 751688011 641681789 169969237 212767221 173762993 130296825 272214715 857156571 528961469 76500077 720770205 399469525 448414725 653187847 416532747 938981281 47549777 328475229 900033981 907760621 373250445 406759019 820209679 600000325 787015879 955815833 172936205 866832165 356965439 629146545 557597029 348954863 591072087 781962987 153193067 533166317 230301337 595739363 670369569 139842379 943896249 5364125 705931823 940489001 461525907 216352393 383422947 504210819 102674731 955099001 957094707 852154949 431039657 604124589 279104705 701688641 132567907 337044169 199353809 312325421 26169811 769971163 803162453 285497517 654423197 87449175 781619427 593072969 725245323 149666075 78458299 714306163 202926225 493252973 500027333 819949187 198268109 905263609 709945997 908853691 981063549 411941333 534072909 159813957 156095247 76711293 711676131 309035059 916738071 966737879 769364695 703883899 62905937 923377969 983068249 615425 845687197 111512641 412085311 258358669 280650503 144497443 215354633 508204495 709356485 628683867 497398237 473645157 236690991 452044247 76663179 698015435 992019147 657321965 661180809 147611501 19762497 482939483 868531449 9225371 499689319 355483973 148223393 375786895 932199993 125902391 937909487 114912107 726207703 630955817 552804605 35714615 182050703 196155255 157411207 589884387 730416337 694173927 754413815 84865867 396123197 28603045 477699417 24143153 555555219 250899013 862979945 392881465 225309629 102027975 201825665 957446393 433246675 408100753 193173677 256698601 675216395 715924333 86414745 990249323 645657293 125689233 672076701 699269063 852006303 236553883 94246329 421153581 617815609 761769361 968257939 873382841 586006901 225182943 397542011 297944939 168789589 415749981 420837993 196735277 654187269 620756803 108822267 174226383 863716311 773288763 365993081 948042507 443811401 416151375 796908755 759986819 848517115 106541047 329694879 517951677 819308987 974382351 36865563 404399151 365713019 127668443 38737969 636610607 102723671 166601995 843234159 773031935 611571601 957622193 234358029 600811975 998533013 826839117 469802473 913303451 122724343 117966531 228792715 777387635 18249073 478479457 139601697 57961263 722499813 144818395 845836931 125244827 633608803 36199247 807544627 138370405 621277209 126783811 649943891 632780585 508555109 452524963 250038967 13955943 121983433 577411013 94998483 770142601 556800497 562615397 699706569 509736669 381320369 77131947 624380509 768369057 689442819 930394913 195674369 695900147 17733643 188953789 771123659 462124767 652624403 808928735 615396219 491967315 724135823 698145609 741678967 595431723 957747483 432485161 954711761 451612711 821000571 991367703 527301437 790867183 695876247 98738187 648794139 640207895 998569605 918062447 63607155 913107221 867049599 150988815 753215219 805478735 203639273 854388767 267186421 889946889 607307599 130838845 855220599 301102199 595194209 657730925 36891935 458690739 584953853 474881055 960458813 42311869 531267367 771134759 451489735 332384381 284845065 869720513 761851999 416392135 187706869 160564115 595080011 762189137 820118887 484009899 893816185 706766271 418753795 111121791 343516801 562765979 660188309 943005161 745449893 665771859 625454093 824562737 908997319 27087425 681555595 834945283 209252219 101578153 959510861 756527477 634830837 773793457 210446531 535196677 239176727 118589549 873322877 741615511 221747813 196644051 537358649 824154743 939794193 665205703 617612247 673007965 531495153 359114257 539385445 650676837 406283909 791524451 688349205 176047635 426939635 823464535 96154945 613091927 469418251 574244203 784676463 704536963 657620037 168542731 149490505 967642455 968598975 447876745 378606497 673893367 732337985 278246939 548237429 523581681 449614395 495837669 449156325 313518137 630721731 45213679 736769855 505380141 56555671 109675051 75878389 689651603 689818657 249311601 518463139 319499415 845060975 17994885 330860299 551481295 669168439 169914125 473290777 882482233 332752859 450771099 612143329 411373879 96853089 632517035 660620699 995038617 945191287 257015449 355414191 608751765 241452663 566843059 373502373 526092997 873721437 88646441 840553521 690157363 975620305 191315475 200367407 177133127 615448869 843334005 37158817 973404889 16023373 993546293 511486387 444982567 871740139 870798117 725031865 879647189 856929347 117026815 503474989 928138993 140520775 304745573 120296883 830192879 241570957 663554271 846538773 150708653 828862549 803413983 872237895 924548975 245435269 731577533 910206821 333502437 654060205 437833915 48373427 106496803 821099781 387220995 854490265 442979493 162702187 872198309 857490605 58777169 483943783 326142875 405209513 425184629 574352425 767369671 325003889 189053895 778176901 97274609 604676879 777270881 737707775 597103305 81313209 104201419 209962171 536018411 504096199 363753459 487890057 44238551 406462141 219307307 37029087 419542263 661612361 591273265 392105951 942265243 535651899 113919277 217714767 118629629 325357455 395185577 200685213 219078463 951046505 868849565 147711969 559096679 755897621 385311589 885639899 671523435 514681859 820984261 674945267 202731553 869038803 485438701 316706101 656642123 330594883 371676017 87668059 120997779 458814019 674229581 711658693 765682825 79518947 740184295 804548471 392637607 951950687 351032845 802406691 476055373 873930013 248652531 485050399 518828743 951866019 89136439 8190059 736714051 936948905 493491423 689905325 790205917 325544201 896803671 360678709 629232021 216685507 758223477 20863739 814370899 517359111 83383157 924185757 197391339 808727333 641831423 126831459 531966741 995064731 260898077 510373437 718332531 402912265 187839047 572207807 298716043 587332157 686859863 526179885 152249297 658988585 307245719 769173099 237982111 190801641 534176687 532836103 39772469 210908095 935238327 411171901 992023485 245402903 316764717 579223017 963968069 530955139 316436213 339092113 82525899 134450369 238727005 177886313 606508845 701145265 766976537 300249155 644593207 91684961 73872711 947444385 298387095 79962373 265482603 472661161 62693865 298789619 191222389 294401325 139566507 238467763 516994745 61618081 59385931 323509233 16948211 808637735 708795927 247240827 726003275 680475011 39815239 601401681 834943307 400214567 663928319 330571669 524367593 498198313 581459785 201543057 692461189 810287687 65060883 941901241 947360225 450040813 509364023 606863785 665308715 947308069 387327353 934730019 690962681 135374247 12169855 665085717 711737161 230301399 533775837 500575373 419784317 239013559 982765579 735635915 185209191 927347703 842627433 402706225 116484409 42120177 570667329 990211659 325213841 45154721 234192069 385455817 297533555 506894513 267646989 534759305 395279695 700420207 579453213 975603087 63868407 800280273 458256091 205100291 951627947 565564793 443397659 461159483 926105617 854482603 401271955 580099249 31769137 764859995 585826279 775844361 713293703 935314715 788498079 700969231 515401707 279950637 538415405 382222515 567246245 378645367 902409963 79772947 80265313 161230475 494034199 499185779 897619509 887190429 195491293 539941947 559977629 614346125 676457295 654935043 274088321 271648229 482345059 947328129 884260907 26853839 155879933 622821531 721068627 959131943 843160549 797612637 638783251 849773931 414292941 981526007 672751093 722281665 120746061 867442377 656104417 362916089 718628329 305369683 234650673 256984203 204337159 533255487 200733597 357986709 51598841 369416805 756377423 404984031 176435193 530999739 448112083 75100889 3168297 451365223 525401629 170143895 740944273 734479029 44699275 703333595 578671395 883450647 765500387 444956941 923270327 144985897 124149841 835696187 956505615 947874733 675581547 238992411 614644181 78431885 898848813 90107407 766336665 352097761 250791933 531972125 622607319 95810271 336121769 315633139 405584107 318141167 773824871 244560873 556788259 420069017 748825809 682042367 435095471 614207633 610767343 176307933 39838887 903397043 658471471 63266511 285577741 843473153 842325347 226078927 778753995 974690471 858408649 584854395 744722865 845379319 302741001 434302493 746672761 978002543 749028911 173077919 429482693 433014705 583115439 101932957 97049629 607129223 842741861 916952405 638114801 290198757 419046043 11019949 59756701 592486375 713946619 815366453 392339553 814141647 536573337 434528549 439230567 317780489 32135157 658909275 886485951 545298985 357383157 455606623 34052195 844090601 814417889 189747807 216344117 840401965 15960693 740084789 52440059 174280959 797705161 618217309 708805227 910875283 554285157 295694081 339939611 138422085 213916213 882611695 390607245 626551705 753674127 527480221 670295081 567095607 439070255 942607149 743423299 707875829 811916349 51484259 80592915 383306957 358552387 541708465 973849019 643591907 462107449 562343471 930154561 886116995 863056763 150566041 842209691 926982173 803704781 415714391 865761949 772363599 697439071 250280313 427248653 393516509 820029891 438079671 555038611 856809647 685878265 197925489 618796735 695647451 577349477 194037675 43970059 164855965 805089493 314725143 34469847 388736597 744125821 458619915 356551021 378356623 422449147 23722373 49529345 361347585 237547861 690569007 875682727 658137731 587401205 264299095 410543205 674177051 898381493 819955957 289888547 92229875 383945169 641260199 504934577 915309405 580021739 316013493 174302919 590683349 436544787 382194189 356028169 415702783 657339327 623155273 159022081 413248167 749863881 108584101 268063261 765216959 669929337 977835531 963452601 377971553 358858365 451316489 724366099 296677587 573546727 181023445 570134873 230806655 939153973 171923537 31996825 745078775 795817039 414612737 816326859 543621625 503889025 379478039 88880083 954626405 368162431 186372969 818417787 397419081 805143911 555339895 2955889 632503511 45257405 774597481 484594255 562293867 436243825 937747979 557645977 285395079 217887445 295681751 732673205 118164439 880380331 125186539 573395959 649190189 988792083 212891153 739052181 139202183 167438749 883448243 807113395 284844551 71522365 814479341 562967899 297741047 573920593 492903805 674245499 883679435 782478239 477641673 57511661 865986591 160753491 280124897 289824117 584198581 998276355 924652411 314487737 781161849 489599661 618268665 428658251 208926079 798730421 626320225 468435623 233095425 815560935 647142755 686755883 663631201 520864123 637789267 688149793 576157999 289161739 95000627 482782651 531310873 500147361 943141803 349022481 176957693 418193573 872089353 738971685 936364253 930914801 641144131 133904099 72890341 939350463 716458235 925831959 355491689 426430901 553286005 857511293 774907875 377352415 837435811 536015031 893069303 903718071 451424539 151941709 168815983 132075029 688427805 805480369 962991681 108502591 90643857 665845563 442649477 148098533 165494787 945263919 637073535 618939419 169862829 698441907 362861981 653481311 688723821 624549593 70545775 332284563 251271883 109300123 594020273 140900871 810540791 303098587 798669895 444007537 416455879 795274593 860195389 406341611 222293689 210975711 337518275 759593725 921016823 821473773 779195449 319266709 438377295 312418061 719726877 994816005 72471609 537352105 346814239 883918349 240112083 80673297 460294671 572987855 558511077 805207935 414734569 413652189 780833757 828056341 800144081 666593577 396168661 275048155 490311699 715362321 723967369 174567105 958201633 834801497 30947169 346834853 46644117 109265969 714444655 650602563 581912373 131136045 75437671 179203141 504576235 152752713 291903659 46344513 924215241 668825579 788688703 698976683 390827533 924580833 114875605 568746469 874515479 748298081 820236485 836240699 161028981 968672517 498956809 364123357 647066585 606644181 70193743 275823843 458559517 362337341 12528353 946973519 252172615 841418003 176720825 573909257 827645825 347527317 473446005 186427621 60442911 500192613 24009565 665516699 220113817 881684885 790240353 553634765 659587223 24695189 70075927 496209665 482424545 777334087 316611261 7333037 191353707 496543983 5685053 87491111 629687889 594169399 535432741 507112625 843903957 760263993 96250029 150769779 211665763 183525231 779679667 368937857 325900429 16095935 288298175 634675923 672087057 764908149 710625535 547952459 918385361 670746699 843463755 813788847 808341207 122587481 829919781 183638707 225425495 416059175 2735 341831665 191583405 574206113 899186109 79276777 952016219 265622811 117151683 279661317 241240335 840789335 213601507 300144533 229121687 229205109 861154785 639488209 879339507 993770757 263209263 506051807 799632197 144328701 498953187 385125571 324858327 771444665 62825149 203536753 596815135 575421181 184960291 651211971 562764213 179790839 632539173 992823417 718742109 638512445 649817979 289913147 492033285 714733773 35850885 75321245 780385213 945442571 702339911 780068631 66160577 920361413 365287793 127428361 434744437 91925295 880532829 513361853 93924451 670843111 638102793 930637669 90239041 462903025 570212635 756350747 823773159 735340221 334800865 662399455 799143257 24447007 963794007 192709017 696411077 262271571 496663833 374544925 826130555 148898559 781880687 103155745 800792567 177280817 92160583 628763721 177218269 609273437 553589049 693308447 931833081 638624099 704866181 941932817 472183869 346957701 357680403 777031033 457207747 110509425 127135089 429893019 46093009 453341245 68169941 217594525 946124751 404738151 673268511 923067795 989610325 939642065 838318297 153816179 412492569 949031885 379979823 962184993 119174403 946099213 318028281 172672101 73803289 666421165 197459127 547355889 314335123 331789111 917324175 359496287 323084235 447455891 550074193 434385965 949112641 503576603 487769973 154052295 487051685 883500425 683320089 486158975 744096969 512470275 799192581 576588939 495959973 972275223 187217833 634621967 111710049 899317433 825066011 904034579 952152133 208372807 441499417 271511433 570859205 760074375 394142477 186597451 828246651 606692517 993727493 585773079 154548013 277603895 10989751 642750105 481685957 941278265 183646085 752479585 711147863 571062291 785436021 807007979 76226589 154907279 857979189 367145365 969907321 136941285 879466527 828569257 421571065 144473519 954503983 243250519 569650769 552070645 483875853 123951037 103575639 169736741 224393227 565494743 327408917 367620881 395457309 943131793 405865137 809421049 761425125 325024443 68562303 428470913 184170407 781200399 783471869 989393845 470249813 993889839 335291597 680772877 976766085 658426787 995565497 542616677 280890743 596946141 38844087 454343683 848085265 142276917 639815135 301054355 38938083 738665965 921942901 83346731 228575013 364483375 277678309 958075463 323591093 336024331 366278595 50374861 673301787 450552443 449953993 518648843 671651975 272022625 840788699 988953527 156283341 347233413 262763525 278157547 93327985 3661463 280054903 210168623 183317143 852533555 877859215 80320879 207499791 866485977 391162577 875966721 100485455 566218995 246999781 244811939 818511481 320395985 33747105 946462585 855012945 958612653 811494911 79867407 117184331 211820201 860478755 670975837 747450489 825162189 803668313 336801727 905993885 229431561 3859475 958001657 351758623 776831033 884629995 307125819 337861899 767082781 80049063 304697111 845440027 337522271 194411311 854143117 775134639 136155791 916542105 893110017 918494667 715566375 986919713 322857025 883748385 592288647 506734631 540995203 252949767 839445499 345757241 447105889 127724157 278341809 533162503 893286627 573032233 756149445 390819185 881435765 922710363 657021239 483281015 832518637 315862539 686749681 359899717 364809863 565513687 901134529 823786029 425862121 532873223 287703141 510041259 251231523 260714379 226737533 49476197 449446309 885049335 797900175 162602275 748242513 335080079 151767057 419643097 986613865 46256951 329705815 189255329 278686365 647212413 796197287 938367937 172680703 252816285 822029353 520550563 111415567 711632243 472312299 785476059 739854513 674747781 339336427 796161825 851765041 211762181 405210375 603546717 578601287 369173963 920976651 867105431 826540817 424912211 909222309 215969027 481607951 317812165 712406129 211809277 559343923 241340915 324651759 594168839 423085009 739493201 630528903 211305677 427685 39474431 602453645 297409571 364289493 375274695 733153591 955911937 676431599 504984597 328764587 388298895 774629865 790002945 414009069 959474965 782153757 556928841 338998257 721341193 759817043 87167831 885889169 247448577 676178617 895907131 98496907 555029447 364588001 682703783 969703565 162979137 12517321 887321855 849708835 591448453 733245401 849316425 193737675 582326477 350016733 338647093 647418083 163686781 480406535 93429273 59455925 872632607 4389369 747338483 698437491 525636967 963355575 902486125 913741367 639203635 291906475 844637653 690649087 836363137 873782447 945791777 886241719 520002175 287920893 367390195 114188337 849431169 756485947 125921423 274475299 884370689 282937207 6998759 438287409 211453859 251339813 56174483 411125733 951343411 361007397 772254415 285153963 525202083 411451575 886885763 533871587 32348173 526654095 510847041 850715849 921866165 602126523 159736381 604814217 171759881 889102015 834448471 587615285 462273945 305029243 243750425 794782147 462853153 39034689 418465453 475948823 349109127 75381953 235202543 783545337 563013073 920210973 988520797 276725275 924373815 714495191 215010589 844627477 151818513 36810207 557707007 200217195 537104101 118477959 98313595 271564419 478042973 386556815 998599855 549334959 315298123 369766427 372074851 163736617 703386797 488586937 270942213 332318739 632717219 860506717 686937519 577853045 480857979 442442085 788775197 861720641 643706277 887199895 467505081 884232527 290071745 330449437 967754385 371010913 877114767 379115153 605802843 289658145 202369531 309939181 243270521 987242273 136822295 636521625 437356785 708851415 206388513 136050271 548898161 284263845 442289785 323565429 748858705 140386775 453856941 601929595 852541073 441256861 651105903 475588723 309427671 910736911 183921051 328551883 961492853 389864495 981092403 148669273 634385503 913030631 875573091 377140315 178181941 312450823 173354111 785375861 274373441 241953865 475626497 962421427 230476653 264625743 430722187 446751373 216985429 809291937 738777067 157910239 281603127 826303663 698781715 510487279 403647481 687993557 872408095 429142375 937082923 778603859 428182867 260150113 371921669 483407699 459764247 610663767 236624997 890729445 978373887 35600943 711064275 283403523 239765961 663489079 423623805 559835791 551945303 840673315 857224765 393170255 211858355 155975699 650142351 313597433 505525011 452515465 349579933 956641315 526323919 268580211 537799477 335812943 484096875 48815911 687288781 762843111 262689429 799913825 649660807 496848953 578044955 244913225 491584551 700275075 52312831 291238249 342548767 252345573 159605343 205957817 954645127 846786149 727882887 179746707 109985307 520195577 43543019 364613569 396513347 22579831 561265705 645880427 253958927 590695585 604985599 128943915 71376695 561491487 930417501 458789627 672493339 327499397 828843603 14216001 170120127 891412043 610146845 443900105 155529173 384659409 894510367 59073739 633791667 290561123 755516645 803504611 420538199 498554159 290472223 190896919 301891435 354482257 340628141 552476371 579867709 462145479 725646477 508013037 609983429 568814719 853104367 133092513 469179297 453511495 83713059 208081815 3814937 925166039 585786791 596707033 540142875 465029589 633567003 163808477 496563521 735369157 544459085 20722051 236030663 855505435 246851885 577243405 986513047 183433265 839430875 569871145 594661181 981968199 842964631 325197805 544870901 711994757 856068045 803449559 368239513 664067839 100464143 647304139 37618101 952521387 396040217 850863637 30629749 551035757 697801425 834976621 665018545 873960207 210014271 819324143 704296169 352716095 186806423 667780129 759465541 61277847 704035635 537536495 338285201 777094555 472824729 284350893 96917575 239311793 317230195 530483739 957364101 718854189 806458005 461560925 405151507 458426181 303628793 755707649 995239265 622725405 600338625 843226365 209255301 32939199 742346811 290532011 212282943 336314137 476336089 859193555 795580661 509348357 646613559 348579233 326057655 370686791 885864471 953192875 909682491 955040133 247168357 745032943 231457251 120855377 919570997 641261007 716055733 270876711 224114625 106769949 151411039 250102629 814231917 466576393 777139771 695716693 299273667 191186229 647071557 700098089 614004087 926828451 671904551 776883449 677818981 731231939 691441199 114468553 492971151 176093799 49414483 144932735 685842723 228957647 743694645 652042477 369089393 548101279 796161817 464560589 20332533 487762917 282800113 33433281 832866131 904703765 153854803 166164817 956085077 355089165 801848447 773431023 719614959 665406227 442000733 141179891 909196861 32468947 951889273 209658529 930404739 231670371 387126029 430290463 845025833 50759487 945487863 802380671 149883077 360233807 712973503 211160251 568751379 679663325 107283349 451840949 164083443 351569055 784060239 448293685 78789489 525575861 173518443 613174765 605027779 658398113 413779475 383362933 465282113 910006097 831044373 679351631 706504049 718010397 255165161 14021093 562268923 98046909 358630061 745707911 542342837 91417179 178076201 869777775 922238875 132172675 922569419 522645183 453851341 660988713 448046763 981322623 43808409 514684587 132456843 553821089 840718703 538804173 972516301 211167741 127226095 385276863 354196357 640737109 256683735 169424405 863315303 205096275 625326103 153859019 912247765 1951623 185587137 296505927 242119635 958980715 457763341 272496727 581771795 790662751 288468833 236378415 334666731 490117807 890506569 347264367 228716123 998982283 658775415 327372825 122459915 472612875 463041735 556520347 213100871 956905265 739883579 460189387 156324617 892681445 615985151 827146213 886875631 760695291 309449829 779065233 275998273 28193835 479349995 67184089 543058927 478951703 657771825 417927477 909407631 749502279 820966405 920589185 230110559 19724075 929968729 322478337 25427529 559468063 603784777 680996197 27481819 327071075 943822359 524079807 232131149 22391073 402310447 931592847 742814077 743465319 624805157 617434809 207566833 388385587 224190131 900639371 962718941 65034597 450940603 933038009 94889491 225585603 584045387 817965921 661631765 808293379 293930647 620334857 374594059 392856761 762776053 748254621 902656707 580767851 760872687 876490355 778163635 150871681 205757483 993982023 711378171 917162059 88250495 935608385 900835685 372436993 717769189 27620587 884627805 954412489 685609089 962037565 579129851 708406439 963100061 556157841 961025023 65568657 668921005 504430255 193409743 463972955 750573133 352356037 960399227 757795019 602796353 731981925 39450043 620445575 750515057 944554895 754035439 256930595 131081459 524370087 575568155 538270999 879392001 260719993 405616623 635559619 984358655 268931133 819184581 683014769 411327865 872322703 799171739 964269141 140646175 494184565 958104853 89931139 396551119 55145819 276503943 970370817 828417421 800902421 644782823 912736437 402035073 963138275 705312723 960035443 214866689 274411115 643855763 549282033 935344777 103174327 262954773 982535893 155765945 817884477 424728049 555948963 108337501 820805851 675857255 216718031 422936683 907340503 827760991 816346801 820740349 469356511 860878183 57064333 957400147 294228229 715532725 337932425 507407069 532254919 339500585 597708473 328895787 638685197 579832141 964387347 666900219 37443361 38881101 181910651 419612205 993467067 574771969 22418107 17606607 698214647 39195881 238121857 785729809 255422553 45213739 242032743 88616019 839141073 855429015 470823663 368169493 228779187 80791205 763213189 592014851 262162873 285489267 59663477 46197743 873605647 408560329 19927803 212456663 816801083 460651287 534931513 668243931 546747705 2343281 152961079 401319241 972392801 852159899 166131943 255424915 707598715 760071161 91967267 890875989 6570675 586457755 703949737 139900241 315455645 697720887 244773413 309159283 683643451 253141295 625490985 613936077 402872045 922547337 772545067 215239837 963909509 404111603 902967439 772235333 426560307 956835781 703389341 737118287 735051929 382392321 560718725 333758063 286069433 246734665 620761957 508879745 220238849 519412977 248427065 864029319 192150857 435544301 786375917 530035629 162531531 576338653 578673233 725004103 576299307 704213771 6724639 375932111 672545403 822844771 1083385 889063401 704511277 191700605 368377447 175703391 932357407 567778457 675017691 808292901 520961687 697291421 516923821 875252823 841436993 640897305 308333343 903222839 162244913 645637445 839707739 281305907 414105575 382115839 599440753 150152923 576264521 159526607 620807003 620575211 446879393 371804389 343039739 63118663 306829221 7250965 232998425 694692089 428582773 126833123 747263589 851234613 223602067 502799987 277084283 56957785 675528429 57581971 310940893 342706403 278661337 205840831 74096367 163801219 526071829 832095507 229044231 940740361 676092355 100277333 462228061 622186097 162870901 697437177 734937107 471115487 90002717 987068177 637337137 447763869 345149463 843819103 158931879 528309281 752433709 402908491 517314129 208332035 53812615 434565857 640214511 13010697 590955199 521706715 977169195 952331293 193669071 730925721 10439317 228677713 364647709 140465695 135646119 560353 146851447 161620767 11107777 572873521 20972049 711194095 315601711 418964941 203847049 520353423 678471199 319693671 798339813 487855013 930374573 152687577 747921297 974229377 965031129 636234025 830467427 29077275 243743117 103877761 293423513 19887377 863067545 662387507 147341269 666667691 356701621 881277373 488204071 640380121 764869255 368778431 163276037 762784559 761180563 110502407 536120395 238550257 957207631 427937159 195306045 590332417 825990417 757464667 901939593 867531251 386642969 432697285 466380615 925971709 976694421 797595185 706062831 73794813 304881555 443858993 897905771 744788089 720092939 586909571 816335111 968540067 428203747 975691783 639097975 529905491 318439391 276614859 328788697 813958149 315697331 388382465 330942643 64205025 757601529 223257861 474359281 840821433 574090289 774913369 891316967 985813761 706721475 610823081 662200151 223842009 547840771 494358473 551834977 820181003 775825447 747685555 94834325 308175361 340274517 809983883 773306089 234161879 894578833 573977243 929806263 139156043 209504719 399063127 826366663 187536579 751986665 68217947 291942213 6040143 2042781 245246057 368940231 158538663 700781209 741968749 834608203 546796329 896793193 914487931 957716277 713893341 752985483 218995661 377358417 733968499 106390621 210758087 265494743 702367807 541949993 453465075 975462243 495097925 542224929 738317319 772880121 72974377 408457823 951547611 941790217 299076921 877104353 360407411 516027239 883377009 495583893 724795901 234673999 126635117 507208263 487658185 388675175 815078515 200048563 785889619 872038589 101216117 79601275 491216191 55626949 442489867 482336041 480947031 137360477 695526001 715171371 116660881 866219467 999361935 236937947 354517253 615213243 710796279 593800315 207000825 133465411 522142941 972820791 492526549 762940129 343295777 873549595 409507631 456085367 824180811 6014243 546999747 528658005 200033163 596143665 625147505 585566513 248385719 27030541 909361991 346980135 769216847 868982889 593957493 51173819 659885945 666777055 913442139 688262621 3794693 295118573 768890743 556656863 249902187 513606911 670901113 596965249 224690633 676498789 52585009 189859559 147193831 301923931 801920413 100934045 285596467 359395837 268168157 892791451 885883079 690610009 379450943 715612223 4091231 82167135 311231029 796539721 128812645 825021415 103710809 236874219 783758055 2784437 780004209 37286585 527424155 204488813 22219623 471617967 655003875 393957799 527062095 213369139 129363397 732392919 64229729 275428629 621326063 405077089 979917829 233789829 524561593 662670219 351128771 165973029 466428707 643721099 797700175 409239799 816173779 36635511 859310723 448695657 726587419 351645777 4386151 892769105 875245551 721639939 851106337 465839597 908700911 523961437 853356549 331441889 77657187 414367771 397211025 882686265 328815931 473150425 410105191 608926829 24929549 121668901 884669265 14377817 509269785 562323823 902660931 179384641 174180677 940534031 749149785 494955221 320144161 39635015 436688853 928067881 393436901 595882559 4108835 285950649 256840303 367749131 852456919 26743403 115415623 783529891 960456875 946578573 689655963 225194729 559868547 443080147 732956741 694611621 914183273 162162779 610430401 928447879 902451089 244274859 22811705 131396395 506203735 254713007 889531001 29459217 192362815 407398077 146689021 456972195 798232561 868644499 899985377 974279473 260418627 8610899 934574059 559078133 462194991 86474639 339150733 46573583 84425689 601025591 824490717 424093835 154445963 365434797 939030939 652510295 162085307 523467699 687380015 355264591 592814849 266295673 720551077 462854451 10645027 952388753 432795063 970781867 631562761 456073211 688107973 972390987 377329609 747711259 602111955 800127627 196410781 383703743 136100499 962195915 668026345 960505883 888907097 464208215 717275705 200197069 444795177 648352861 674260543 724371675 833602471 311025913 151955157 951103921 45825059 338618667 321606401 336929061 299404437 121863131 969038571 459163507 870618267 792827357 23025387 936271169 738290813 683710697 627727991 77186717 373357609 699007135 296475957 245621757 696528953 760150921 169879025 320048443 444780265 561117209 307025821 34179231 481650467 977678249 160334419 306499543 146274675 368739193 171255897 493784309 662761749 138579889 323976473 902716793 367039203 282252389 454527525 410825031 966377577 277639819 185397307 427773355 253843155 502333705 809831995 799083613 129965049 884834211 106040371 160099449 624072027 860346893 406052437 197763971 877370143 771651297 459229181 765974635 616525079 705514653 908648621 518550149 42606519 599700141 845829393 107617933 717993759 987652707 413024251 205392297 351204887 390811127 219965801 783887975 586483983 288752521 125838717 266746811 903327517 364779555 409675137 976525829 328166657 956839607 371916009 179487239 411704353 919260957 380920913 406658031 649270157 237873945 98052219 149598803 361224955 268264273 999211347 446584623 933763533 16499289 411323117 591717099 906134025 425633191 886756481 698038609 412859741 202113183 924290935 511455897 822295075 871330697 474080855 571572831 617892951 478631063 881540055 621034663 792637091 12045537 256755151 167097569 210296661 89539947 99375683 118833887 339699555 505462811 591848031 867595233 627270509 512182467 418967927 922450315 914123453 926719007 422224901 288936171 55078463 514235595 117502637 864651637 602746763 362777685 863505209 380423175 421088737 135675437 394062751 30779879 446983463 325880493 763407095 23753153 29388527 33727507 710088325 191445163 156255597 728816011 995334327 706877729 492621441 296027685 991797789 494532617 663649971 855430619 938835059 10315697 81073715 14000783 107767709 361677007 741848023 817302793 166633637 176000381 464893469 96132603 895937729 875857477 579629615 231709437 333299273 400698639 428550363 62722449 674233283 589853235 163085209 653094945 912762585 864649583 646310279 621128445 266826077 997374183 858380909 937613665 279300171 983816743 802596793 578436201 665768647 843641127 877529987 516697123 544565533 679493955 70698893 41193599 164554175 58962497 226747449 332664405 18499143 85792589 213495707 131304551 183641211 771367419 993035879 538505823 656719685 947718987 306719999 613404621 201140663 660660899 996369511 388258603 163397133 95642317 799435089 917645019 218163373 931515647 8150803 434631203 485773087 672215511 143681197 230718521 431997207 819391067 303871431 461718835 751393647 619291895 628400045 46901011 39255853 780715137 606934105 333082307 970254971 184902455 465824617 798251795 715638699 100549053 778489125 449380285 450147387 489994783 249585533 559856737 977278413 800160981 761596679 915373963 623437611 875484091 150633473 570112425 71671113 382796565 200846165 743492631 340254273 931624595 530924945 183770645 781446233 40637511 163165165 669585357 394368253 488285617 459349831 409932111 526874043 976953013 893794085 624160659 66485587 676897953 433271995 625595263 737289895 309429033 976806875 700199639 271375297 425233259 377970695 953473873 180719317 559731437 218880359 178827139 409337151 591298203 985107401 992330733 530757761 203087819 711283619 599955453 685824839 431905593 875583765 426817793 928928357 791538189 514432233 955393331 649379797 944292561 290302347 860931251 684229563 611257979 371777043 353934987 640275809 979080043 147558209 532315567 475755581 297761891 614723707 188958195 42509543 730108305 125734609 212897565 328219683 928663949 861522939 709704149 989711325 190382159 248167255 243532969 4310569 643537473 967413999 929126679 683608131 837647151 396528749 202542205 623319433 517883725 744257581 244051751 454081165 313561657 818645035 977372483 435979773 796754423 169388305 17209323 125615545 96114679 264965421 715512867 577193919 749857293 292511607 522754001 433219903 666455925 825086605 34922185 728177033 168449493 637465013 73682883 533743385 449423931 31573475 642258783 177067667 451835421 490901161 587274535 477760963 769854549 70857033 118224013 569810587 363489323 451358635 814897643 978939445 155706443 481319771 434399103 12781015 229537227 256863893 627880565 568451561 484733737 658591539 347739103 737264899 872626505 674059201 303492531 961869019 730870903 714210411 652306901 984251735 752656747 348806665 688108303 660361091 9792065 687097113 5031951 187099793 87643005 175317703 304236655 969818843 545480463 619620829 947463603 353664231 523475785 519162325 781053505 190371423 543468011 787265997 665572459 215966487 484163353 600810381 386446189 581679623 281044065 760609413 106206309 148411479 784795063 442223817 503965533 845660751 523960953 36608541 757270599 105069155 743715949 845296357 500603899 907111981 987524799 250885937 988638011 291716467 361088261 94757303 633863601 734422815 71566909 485614297 739325167 423903301 865369545 942052253 479648619 313819423 66539641 767265457 57725833 323240463 888484227 865316205 965034129 74002083 965603201 718057171 296739765 211416717 787589501 23908485 918951181 149116585 669881823 958817239 431422619 653325817 665197439 84082877 464075081 945626795 740182171 604025559 523929063 310865677 505250775 723776111 616971313 979800735 844752705 563358065 50759107 694661379 115844941 40402549 149540139 493017347 261584857 952216505 815468249 131977107 440448297 484981801 145441829 862469839 979837165 842312783 337820753 691501307 853348665 482871653 395458439 329535871 707668873 728868937 436521431 126614513 811033027 550327427 952233019 129131275 359952181 151947585 287256981 17128369 400800661 297707101 863937965 749836781 702276605 793896277 358983733 319610357 845005301 502993997 31810501 468717345 646386795 832083225 901831903 722653941 220465329 276792879 398590189 348003359 24634245 824956845 955396927 346470255 760312335 844133977 428746767 672396513 436927193 171816103 599340413 381456537 145434843 116109225 217075349 641493475 115787377 177826849 863949893 904743983 667056223 855960437 818658409 250901021 325557461 111822519 972603585 882994795 426058343 511989659 727944183 370580745 94988049 553533827 677226651 208812039 494190393 874200691 462691879 198905507 9243309 867902493 434351099 244211773 170873761 572113623 280836707 826818403 347709363 306557089 401898895 815275205 852802281 574024737 870658709 484691523 328908463 584567719 12100219 702938589 649698011 138432555 806086953 71244477 853807785 544725579 14538863 869624891 77878209 473067855 412590855 128292557 330380589 754100773 368697233 644769563 693508197 679128679 625144217 207485163 31311427 229921107 376536717 904623669 371997201 593771213 806764233 351374867 459249271 255593065 82547339 423310279 877266061 401031261 469736705 630190525 257627857 35214981 496071993 453730951 414406183 297627501 181340973 338812387 483470557 66063169 934123197 154251699 365367207 69645531 326289075 320217857 323706531 861147319 728311745 861638401 954181717 545979389 869649281 849951759 522770093 257691007 262367603 972901549 154956287 943310513 303187967 718370439 741590023 203068595 742653305 538948975 314989805 935946063 826396441 100796003 553270331 10033135 668150271 454448773 519699943 810859183 34627637 866691615 511238993 654853965 469482925 770691493 49976379 689221679 352390977 510054067 91569619 333482341 833695153 600113933 699557295 288012711 683413157 480252827 310830285 222390611 925445551 872575347 983360655 216282481 482374475 172250831 373008327 6540465 2723799 703734803 103782823 560177767 902459549 366950089 786590413 448076183 960990927 281907365 510963773 598201829 758803079 554441347 96238695 462682271 37849027 143976295 499253789 321600449 576892273 230923641 507110815 139882215 574894173 890807567 4791697 656811607 710915141 103218083 828025857 122116099 754845383 168442073 981740901 68419715 759290477 197900157 965984151 552577555 67586985 527094911 298809567 177805723 831215059 942416895 209336041 382687149 964599343 524195387 762559435 94546301 942327523 675956387 889184001 669173227 769613825 303557831 311908979 611610751 803226757 942395747 383589739 139143273 694645579 47930203 57500065 665822591 212666915 96986299 443147823 27918145 482018487 934138293 213346463 502070229 869586855 460021667 996893145 725321995 6916463 402037771 42775351 524868443 565749627 457882007 352250225 207199459 10725659 371629849 563581361 791798379 99819659 809968781 898015363 169566817 75180007 84872729 711050459 726076383 291631165 332352771 680221463 67227041 943422589 941971651 416688125 276576017 840628351 346472435 563099577 480187709 498065415 391982421 845703905 399377883 917599675 337782485 205169009 479678541 395680813 186020997 970026959 71983255 503046871 46198179 249008073 165823085 221590299 222507407 867171733 882084897 217943873 126064855 899623117 464315317 259012985 563685421 636768633 827159503 504994527 742856045 210402055 17816769 749377141 650300057 613401929 806966655 525317663 292531421 570369917 443895465 20154805 130993549 461707595 890548103 647094763 61761825 407108543 171798281 620708707 954600513 553438797 760246469 351150505 701641397 34111441 712900091 944589357 122589297 172937109 224542865 658072391 397246097 685287491 145967639 336291641 748942935 900740847 109728965 799410989 675299377 35047961 858863225 531810355 935305901 594888359 887392699 380397637 608085899 715233505 956388025 890158403 910394541 290408835 953968717 376781817 110428957 789552805 365263603 934687509 366089233 549613775 81126357 526536243 236026849 238171629 291561407 34938579 883297553 131976277 287645741 657327455 950930765 555418051 996188729 792514087 874961513 359555679 821849519 495436901 557157727 207380403 501564411 607635769 576361299 696941495 981232949 553919151 567457425 376838087 676222749 843149493 129447817 72655271 816323611 809064487 948154841 248234119 586214971 369390021 854528325 216612345 486702647 191630135 319854261 810549501 258435181 453187601 154052415 386588407 642467815 11085515 321600287 600732341 509406031 379426757 551537333 21091179 726301185 462316107 8454029 322478007 947612411 574744971 120936285 622828701 54451683 862899617 414890237 4909197 863241 279768205 459324787 303845979 486204261 308933431 321792233 837260357 133121941 894422131 658278833 955746029 724616417 93439481 645648199 976226403 537339191 303038313 838123345 997599005 957089073 999566669 796600469 359300853 638672651 683382809 16748555 518575667 137100207 645148961 715286989 612006019 27252137 75663787 211922973 580425725 166438965 202258397 38442597 663237145 38270509 651586507 75470397 680069825 688983325 907008621 363872347 325329217 116190769 531020451 597263271 766874957 367970625 900155959 515768361 360564739 40144333 65960155 464299029 395964647 633725947 598620457 766806725 909017321 566414237 107256223 353913279 244129115 254391079 449123243 989761965 12457215 98660537 607613593 558727523 216510197 531611931 335477927 222281945 745224653 486527165 975844339 160358455 371513467 376436405 70391175 492269253 618745181 489210305 999112277 788159479 616200505 533447499 82754613 479664745 824469051 437205089 827185899 264725213 962971385 384352955 890951453 195942207 705986929 699689399 644404575 937320867 579426311 489715037 323416871 7950659 485145735 773946715 64756697 413945219 386952489 596164619 437951933 285591277 828736391 538009449 393757445 262716981 747561899 334411295 801193161 137121591 267990269 327156345 353220621 902588917 127080791 720120179 236743863 130933149 420743667 274791335 198366361 579902845 462236279 723369057 507549807 649403925 438923247 489197197 972214999 560611847 88376789 152198595 477853531 948939551 898446593 829927747 211786091 668367693 233233081 127132403 770193253 811038639 195339693 750241381 389422469 986949001 218416369 857710029 907222775 948337987 718505217 999115019 370970315 64561523 358997189 680884391 417759997 306193875 663760519 649241297 137633129 505114183 420914431 516768863 801674973 703741915 911798343 791769551 100545033 294814655 621956839 713986635 618779269 301090899 138611917 875098785 196754387 635245589 903862347 588261961 760246365 373445813 144209185 55060065 383986293 573839875 547405169 930242737 17981777 199926523 902020813 390965927 615308307 654456515 144564519 203522651 602181831 265579425 226759645 406381967 190353245 306229261 777599155 800117925 956059309 870897057 789783257 758183345 678165881 68098077 392895459 608836455 477572971 497086065 376704717 69882921 70867987 142673837 719856893 955621115 407648235 43374095 319922497 730384015 433385813 395272695 996313295 241482299 724922263 871517939 721880129 684905727 195403751 925656245 807303327 484719233 480344667 807292953 583370325 477500947 526056181 746529823 81450041 237113769 75142303 11449079 845571209 797324003 541982249 494490355 586510311 916526601 863027021 421385611 598172773 445703947 203220907 351286887 385832563 310353535 460537807 336678479 123280371 982019747 256468519 29133367 804636969 813803617 288339471 195625531 80793023 86474311 849092807 235932829 930673615 9488269 854786169 600787657 151230163 227375889 423822645 419925587 987826865 227061849 558868981 70256115 423628981 889871001 518394777 802567825 67077273 455843235 106877933 378929717 58381173 465179385 979422879 299970323 764808399 687575747 392200267 900254855 190282135 9774797 428128625 903100949 799255329 29116307 791880057 958204517 854720555 397803311 117185975 661124685 844432855 822766701 777562723 588249543 937545397 479521721 405295517 804058869 471232955 845028395 72847473 87649063 27054405 441911427 726292429 654162379 717678103 485505575 630710669 439264127 512078431 214446631 644631919 49554693 83391155 741754427 706086945 778338891 144844561 91720641 665484335 371800417 872533981 760971969 343347479 215411587 726790885 979968235 521176631 472277525 201456733 77633685 119946715 877513633 794002403 107450301 366341681 734206685 945473915 574797581 506028117 594060193 579428501 198685907 66215749 261773811 9061125 64774151 53049071 600310011 638218759 302311239 291319583 141350927 572940609 338785241 230369939 384424363 164529089 613326001 464032745 585326191 165754619 106206561 284124331 816556071 47484879 173644587 35313227 13941449 273696127 181610999 322929443 106339693 763592377 169877329 603138929 642163545 90000019 542939509 400643171 563294967 939740555 958756413 797490437 263886041 905543811 270441525 427163477 9900731 799451085 23810951 350597425 89512067 760185883 645923601 188732771 822202167 574439817 126961995 708772509 321601039 738949281 492476259 917991031 345816421 332844875 316021795 197502069 917927867 731511265 355679493 103180541 358813373 687898653 200809767 100554337 492984893 80045093 287657041 514578909 668337465 657291655 595862515 139156623 129624273 22828599 783228961 558441089 917911379 828832147 964075167 718213029 726509361 591524193 647257553 537624787 916809223 60122317 342273479 986661069 504216983 460366701 456915255 227778877 365357261 237869117 185179267 464015797 193230523 918008485 876788401 340118699 249273247 499281775 329062511 383515779 953568731 145709011 466981141 497813637 347874041 315882603 812617635 347263971 862064813 661618239 865557441 726039221 97898451 30739389 61167293 133128445 863397741 355663799 178292365 976390565 133370791 147017325 850620113 412714879 530021077 526098563 328415699 615181377 704088177 595220485 176459133 268377487 305396253 599528299 616647789 288758767 495889065 430663825 158175451 676520407 670841091 561987517 553271221 257502365 326771529 349451931 154214277 777991555 156897725 128095041 159900037 845383347 715699661 67101995 952387731 382106175 973930247 237791295 624244791 141053725 137353259 339540427 420816799 812537903 308849179 777259395 874662053 638981441 98589923 742913159 810956485 609129987 748660403 604937817 748678697 399104269 651042537 370289639 615398559 702995169 803658505 75349639 605815455 884537065 375854523 740145911 488680519 96052341 741802965 904898139 668684893 555898303 876204371 505860415 189796691 874138343 309618773 806449819 983090241 16026873 295989799 755175627 685327331 816813797 659427903 284262035 37966241 665276035 423093045 501260323 736943757 50750869 664674767 946249741 801744987 857862339 488194037 430598225 696816237 246229153 119121343 40234323 883177159 778891431 489389155 404783841 934986011 734688311 830307143 652860207 796310463 350100375 173432567 747425245 957514931 434953469 829088293 912945901 31444637 972985727 619224235 55130573 712478157 367646237 249509007 889239633 621852987 113620165 63306491 320994747 885840261 158242117 930339137 729203627 48795123 599317079 620419551 965494579 817185651 433042075 170438005 284705731 757983647 895668125 220965329 975399485 131691955 388551371 651352293 964400099 69075865 531824769 486296011 724517733 591787743 155348223 340134857 945620437 238322621 503781229 991980873 33611187 85901327 20914911 753681119 23751139 671615073 979112269 764372037 33373361 302043871 199678615 544300381 814571221 933933155 253964167 398059317 715290731 381447529 127368913 669089023 680927225 938937625 291777545 830753047 821647723 264808005 833259189 439698431 737717015 284396641 734638907 149359971 318697145 518996109 283045871 200445207 970552439 634284177 543432201 839830549 104793055 639972829 51887785 659871103 114656487 38999175 76697561 990997413 252972777 432990799 492732299 84092661 34127277 598700443 692602521 73203981 594666081 104840315 619632579 94750127 983200919 316904359 215740593 267122631 873490253 29311869 434354423 278657641 358679531 200414469 512294155 28951503 502105405 939012335 777933649 374290525 567939701 288811151 495612179 348870045 566828597 867457769 500872575 55079237 893173121 357497247 492428463 61104685 267325635 374659589 412688551 64720729 631599317 148008465 780514893 869818103 239558129 113779551 389299827 983911767 145804989 18089531 690698965 706132469 668244807 734237329 949218577 856694389 953670147 18702075 708702129 19360673 857822417 16165301 530305831 288793711 237387761 225611687 16691915 691296503 104013077 447614817 154097633 43055487 400593489 227278877 976281743 776146799 795656483 972477109 229751015 352373853 696386413 384580787 592194533 870137093 395054721 302868295 197907559 471760455 159367695 463178311 209701431 975260207 391995705 370484531 536326919 8394483 901516673 366595121 555579759 559657963 750160855 396618513 740222449 479002269 250290573 326265419 293473783 304654771 652058467 329187325 378810067 62785023 487155837 16645359 425984699 692824447 963010409 572328847 368910291 971779155 865358107 457061623 542118179 232620489 502982129 696127971 438459803 352640851 570159279 417716157 214951705 788851083 568408453 553010067 83102553 466564407 51189511 506606363 527061767 906681921 83604273 581217207 152449715 965809851 245888107 447797099 983384023 179344867 132436607 824333289 435641813 60513051 655674787 414141833 70457077 613863661 901808503 616866887 922760551 476832269 23484925 371456715 292694601 7585365 565936291 614064487 622793879 65845195 88578879 56772879 354351165 51482009 785894159 290343523 714303755 371489043 738230711 879057579 203698107 539125427 304318531 195891415 982504173 537065755 285616171 136772733 114192941 367173657 257293899 356142301 540944619 331047841 118726633 866722781 639126399 733034699 64489903 135578381 119880747 204938459 239097015 260994725 587066393 566597181 185708411 652319363 887626841 354417029 953786593 484961581 440617701 254005869 39076663 970318039 711819677 888980183 970391345 276892755 348091725 790674899 472711919 319544357 362946723 109660815 689096435 248084337 574196027 504982377 566223659 388094213 796026517 458652899 386526189 73020509 960029979 36710059 239820533 599729811 38669597 472348305 384349803 783714675 757851605 461274513 587391961 440101481 854897251 793720527 22691639 824159117 128103635 69969557 60094431 590276767 355333395 851834201 735274395 430083079 108069375 777719475 721811 487622609 967704663 321304167 207600993 478877879 480888261 303686499 364590591 498682135 148960727 91575991 240114387 494856699 526020363 111295135 200759977 587777549 879923137 884727167 872863417 837215913 58615615 553741027 17991583 609277645 533419193 589423739 311386209 134216223 657371721 622148903 345582955 373608943 894175727 25490407 507349395 57929269 411597459 982032101 461962005 963338383 530863369 675271799 448624793 568994629 738490121 628940825 741881897 696626245 872901171 701240683 334690875 722720295 510264083 161912123 559488687 200015661 940776983 207795835 28916167 304014905 586348185 109976901 571829553 30033887 335015901 484384735 35914499 475524949 246360585 242470835 493216443 191629175 196330801 590345299 638663229 804106705 356981837 562626685 163924693 975193487 934894141 495295249 176339515 935597193 259489995 528693789 534711691 369465919 140891561 485276627 262371915 712929495 354259825 54093711 882778469 101516323 575837857 380758227 783844403 835838103 242996903 265911371 134069103 851201619 455858383 33920201 961456191 357643295 990156119 515103819 252579633 865489003 863688285 11949297 766965563 767546957 430592747 892224009 812043447 593228419 286160883 550817031 632109165 17544311 394306895 772704385 510594697 185829175 775824061 770622273 768787873 674074235 732265705 355750701 985672627 153923489 44992613 400002137 763912481 230276273 55453351 504168963 433160125 747961177 770955027 344480653 746188215 178967539 540212721 38433665 951026353 7255675 260974451 686333075 872233645 317261211 231786163 491946655 45540123 230969247 364349103 49621929 969807821 698283395 848418643 325563097 872986627 72330721 162587249 217118085 508358497 39209477 60550847 721389095 5840629 279821019 263471841 635051363 341086771 806495227 598166111 680316675 941191673 731247781 109214891 173348093 19964813 375333055 443467293 337205353 12606875 304903131 437602039 208990347 74025785 880985645 697818211 387232721 413394659 673566613 361090931 905735883 388536705 683922587 735076893 562311477 50395997 310012271 270279237 752158963 347209517 105576165 309821105 929352975 595676945 499684225 777546775 604814527 336877451 711242343 686259213 936687707 69985929 114379367 115157527 901358185 303368803 373939961 940634267 251206801 786629329 486459707 941529067 113031339 477411837 604862195 889064769 328836013 230286707 187409301 654167999 398354109 682679591 525825843 300449643 318940199 122236535 998156687 503754299 52330587 357560103 750319377 386339077 475115257 136471143 505314247 187882635 513826241 909929419 67074663 799794295 925137309 163571279 325981523 633796185 413068197 963230041 562777487 138501291 205198351 290345399 276884941 419662799 389676867 182422173 725903203 963890445 202626759 395116715 2995025 199053717 628359251 587572963 424715069 945562499 543445697 379932595 99095673 233148631 29804819 700213745 294148345 580302459 690617205 524376025 468404829 782529855 571037241 308488211 877210349 152757981 193551069 190474409 555831449 142514933 222528769 440593427 939902453 270810131 758229875 204604461 696511813 207332519 582916901 466865979 206414701 73866759 904241715 52146925 666439421 43704697 886953183 764597589 121432877 630875429 845469845 448249331 317867737 149145371 221460713 473942699 114565517 188219989 447559829 51674315 690036855 579951539 962357371 302308871 498625899 794222849 917876395 891653501 58800107 647410669 125227347 936069299 995646495 854088467 893050833 632151701 801747 182193907 270172583 748515449 724649347 592126709 429200769 262073627 29873993 284491373 545509427 800068003 186782705 647253907 868447159 919727259 33358823 48603271 62700081 322233083 547914307 307756117 258529003 576344861 340871621 401237995 721367897 807851465 123769299 884221733 480247831 187745581 602884989 749564353 391661545 263116763 785217659 647412845 105105079 500571091 139580459 641533879 417399447 440173433 10167957 462093591 851666627 123416217 79289705 54067185 831752863 400913259 651260157 635201167 396319415 182377355 376001359 656225567 15339451 686035711 733086985 772502205 435305865 337735475 216287353 301448807 430195749 527356411 699373719 713778187 455452857 863010455 103956993 831407477 289929879 759493805 93697021 692971875 207420987 555840327 343138687 732099187 793146953 314784219 274929177 262954543 883099789 335028551 567485197 775951369 676595959 154963665 749610051 600239707 709213351 237748007 278799687 64917861 574961883 116413787 893965909 559359055 594236419 455224299 489882439 520966187 865424047 831570879 6814375 582394101 181834397 303768865 64881317 305220235 200719277 124431049 983520791 13599159 493209325 826724051 754655101 499590955 573286287 359074243 121277439 105365631 84125677 728371081 478256233 475807543 492394637 855955063 253718069 215136185 413266713 725227597 77000321 271856729 517862243 277535537 919534869 823657549 826699881 939232427 337488223 603474617 180256075 891375799 715094393 97650085 70936663 314041005 621865249 72058115 966584319 974121557 352301245 747250603 591046111 812371163 907357787 843814497 901818297 489211859 440038583 684398795 561571449 315370559 56977965 998765179 444416307 399738239 930424773 894410219 77891103 487527013 102348333 893712253 924576165 779941409 802885821 775972473 893488973 564244309 226744437 967980049 73795275 33787651 651010301 689294429 687034619 164698521 925921185 962126175 210102495 191304175 656933469 494315009 864448163 328456765 313218763 317084437 418081947 820961069 654017847 525240401 238701633 560911563 428227979 668819801 454447929 540829579 774978147 723063989 461214797 782275915 448346109 736527573 486856817 832848465 64405311 262646037 223659457 335206471 617313979 220858039 768503937 487603527 898400165 71533025 673763865 679452363 862367965 919820453 319152671 141705403 500594667 703623165 37168461 425140833 664587773 336297673 654891655 224007539 414294765 787114197 60643287 254418705 313556023 738328017 552563571 33071805 565399557 11170901 722734771 583481701 30643237 657762531 637215003 816257631 125644047 277801189 63724377 483346537 45421279 938197419 686894653 866839717 174107745 232888175 687295427 162401701 912461313 550111313 264167439 503504987 777303257 956159325 414889069 840091939 725414821 951131523 429204557 476892359 96108493 852672155 435150415 480465775 925513315 341026407 273359153 227520437 435793691 584611727 943177955 893128595 425723221 527671975 742426485 982434159 811255579 654825767 78044195 400083223 995777561 75237489 32707155 189343423 445928103 856932043 934267531 972240901 3771587 942945387 879865731 553631983 299251993 196160615 429827861 579366633 546909683 909610945 3853121 327103433 277393995 666947681 240221495 269502669 881546943 635591195 380585543 782992279 329664663 889995175 676664047 871727927 874112705 712462757 409603535 881945379 823765207 410366881 618871477 759267895 108024853 740965129 59707283 10162103 328235109 850904121 267472773 881712721 818298709 526670193 792968141 193651485 818304285 691518425 26554583 591961747 894844313 512778885 590822709 999056285 725744469 959373165 414296741 936693895 3876989 843242609 72443655 694059013 340680169 710389341 629760873 707911221 830975515 124395999 665104639 651874205 26892341 165673105 382991903 367559209 976693513 910409719 68018001 462799405 372961297 357961337 800614465 533873515 363653223 546583653 999839421 544872963 75181525 645750521 88862661 802455941 278623691 622972755 114241659 436975077 27420767 861415805 588667177 1145475 460872017 772669291 844442691 40637729 563599111 726907377 198549861 850519277 256272273 906678229 853571153 445605245 730226087 75260093 590841845 595156431 391291303 503105085 304532831 162743623 468930713 784227019 435322063 690554545 733136685 675591371 963136679 999550789 869958327 624821127 213335155 154783135 493782587 66858029 187588579 934560963 520637787 436471511 955215317 377190177 263121771 439373193 419394893 11649421 80203361 867378985 942342259 77949507 925806553 732030603 572386205 464151017 624732191 483416421 814222405 11582605 823276831 87667547 399732239 356682915 806216049 96770293 682617287 233884681 929876821 761550501 882832477 569858309 663876531 202909123 96265199 923403587 117122839 694055315 43765953 438107865 391177405 947696187 266298429 489535813 71940991 138614221 353839605 263459945 91575527 898309445 782403237 192484245 339177509 804755329 903697201 277943935 8107791 947633227 214576037 127646275 761626917 912795477 640970289 115674213 597081741 946895671 109994037 384824275 50864919 678489715 571923761 742080485 586828603 622512755 958299087 76933461 641977623 137228937 515375335 247255369 592743795 908858603 194621551 318846541 664002749 641432509 647004301 435471193 157551631 654487047 572283533 589840585 189636133 151073467 359951329 240373603 289350249 444010417 481864485 981514067 788640233 634331307 268871963 918641455 294958171 190310995 648335277 209618163 524056353 73462073 169894131 910028037 900665407 573154007 960151077 821493045 819697511 680667279 84903077 81589683 781848305 724580521 639798529 870430241 984310489 860526423 747349483 144249985 939417031 247961521 295957311 817376833 123382797 80033977 987967231 566628663 953289375 819924569 647854167 516099233 534632477 8074337 649618585 22555171 209197007 347741067 567410755 232367305 215377061 483927161 851516919 169638923 978924085 317700785 648680831 596340421 560981951 510055849 748789455 575045179 583540521 724390327 221498627 987361565 290524675 362353949 124024157 244185727 347309699 861987589 531142217 235628765 306199179 119781503 167996507 247898909 476667553 519708037 619756365 388758413 520120565 608037367 951913731 540189921 698482267 798362785 894673543 74347319 49006423 894042675 918246157 632586517 699488011 637220933 779559665 705753703 832370763 157526105 340825271 584182659 636506253 970238679 141300231 942586919 492571885 689283603 472029879 929474165 441435447 885270853 879515585 168983551 534877399 159077773 185260105 858990261 462108133 748040439 533951131 441210873 369012257 571899249 295700263 63591821 475770867 317144535 171690379 393177249 70483815 882949353 296155019 680771271 544519991 427145809 251192335 960568575 242645441 429744031 712398893 147238573 183078415 415069515 83064865 648411807 153864395 495135675 638503499 327725577 83724625 547482163 388405303 296175497 640648351 539942889 29609371 975928357 242673243 411000561 797016399 715395145 502754261 610553681 17371225 55062731 22630149 379689457 241583331 988239847 657850249 483756447 708588351 836259907 467562919 971916825 156933865 472395757 36402003 722963197 909456261 831072603 87198495 459470039 763868639 632069735 742200655 820690965 942139625 462142809 435088581 30947347 410484925 630260191 384239125 346818063 637602209 181500939 530286707 853450807 220354815 399832925 706100929 621269143 87484523 281322937 910419077 323782701 233839773 444336235 478820589 840921559 520024701 54513451 509023697 131569503 165022225 856784149 466168497 625252983 113360273 677358509 740012467 731026873 149443159 294847971 315264169 635488165 441705957 212180747 309617671 907054499 550012135 402810337 367715821 248602375 518375471 197220235 780177187 43537415 953144763 918814871 953741849 62681799 689176493 122794489 155372005 358314063 272400207 354356753 468745541 871210385 886666773 100054433 771943331 128778343 71823515 834897111 271492109 609523343 540089763 813870665 326424123 659194549 808119577 208466931 681033099 337012587 52505361 23288893 481229829 482772007 572406469 838888177 506529623 833639501 246613399 490556999 872968667 92549157 678385687 388071899 607390605 66610657 961569523 339714993 650641687 571153563 963688969 571629369 60357317 401894737 858317147 784764485 722431379 190905327 695633941 89290773 867242011 806511175 576220555 332426317 788422057 139733775 306999351 578449403 462390057 142565099 214706365 696513171 919734835 860816227 834089191 19158771 118379527 926375913 300588203 539201633 503574155 485883093 857217313 728812425 225491791 39638633 976971663 589005183 777372299 593675727 746055261 289242821 466377247 771103257 462947873 446201403 950861455 72450877 488979605 610865 280202253 799228191 784545693 796696925 453809005 822011015 4377669 482333145 984502067 867319845 620055485 161314351 756236931 796994455 808120421 362219079 500147245 901968985 194453691 722152057 482980777 89865943 332289135 641813635 772799509 270294369 995327313 574510217 152804663 979232049 269457501 620640279 973069955 664707433 55769783 558831397 782447115 512379921 396747435 502510863 533842321 884878617 78865579 471616411 374277501 278303581 571522129 345975285 920729053 626381213 816073571 248717233 802435943 803310979 659333323 560756175 489709181 390812319 825270683 700047285 611442211 941403499 645794833 813198893 101970187 779271753 232535693 472576621 963748491 907190913 874106525 240083219 778236835 796843331 379413491 364159781 3187705 385023659 153081193 640669455 302193887 477273785 305452037 496357799 545967177 208462423 189005297 765709099 305332183 582910549 340629377 687835199 916042705 671627373 654495789 14441711 595207207 494161473 614632349 777852851 94719853 103352407 625380505 240979559 18080231 20674853 794993685 856360271 831373433 320708097 2501165 640676889 21084083 299366445 314178339 43528925 909583563 990482897 712194659 805624597 849045155 710674689 19811711 80204967 975107265 738119349 360127797 241679585 711935059 988446669 232755303 913505143 661716787 511864341 277197087 577762183 704440541 87483707 771182993 663438487 597292923 657976795 515564313 173796243 871751897 437979765 674429753 843942353 140683635 106297969 794678943 473742349 753829219 866107683 962369561 705881965 197620085 552644803 395013031 964979841 130971669 730420593 759166827 723370553 20427355 280114745 285206703 742449399 83028741 89732617 622739689 560740221 745987455 634417341 747048113 136009721 307661011 293551125 748316875 962935043 387434171 922201273 68409125 249676947 366248597 212102973 232452559 155279123 777965673 86142231 448592901 213750351 156568039 494014381 463545131 248730747 66000741 823868227 965313995 766522165 735739617 293745165 217214107 63618689 604925701 135174949 412315507 972600271 207232543 990629771 828443223 82754291 644552487 936256295 689375861 615863081 667311801 816730571 949203229 69008407 367697953 434603571 671552203 862305483 616190027 302558461 674415139 742459579 351167185 430669747 334227697 793172673 955261167 788365769 239806759 975649317 278437519 616177555 962095071 642524051 477897533 741360471 130524767 660154913 750653747 16204859 496340241 478554701 681726033 372693329 779954311 324850939 571340059 854384789 780106365 304409207 754750915 202950629 594292441 91461497 888034079 301314571 613135009 629351965 855461807 348752825 26722061 88712935 426430617 109588617 692525175 609009095 570658479 816090105 670292321 950203663 295756645 132144757 439461237 445106303 418959323 566082639 410563211 324143163 228288985 981285565 70261145 829219281 194770637 229618403 338998215 209871157 56210641 713947849 946509149 535276997 758050211 962409057 30983887 93961543 18119079 74729603 199873463 344773351 62166257 757108211 369702875 493488699 879840311 592312919 341011493 35864127 234293207 483410753 870790569 739442779 246378199 383491883 566401697 76797273 229510635 320279671 156843375 713663601 145168997 273755245 755153313 19612221 700977479 764389951 386429163 979402695 840492601 106171909 391164963 63188343 301836423 277838275 861539411 971217957 947160109 557617247 320104865 598696463 398983365 18643115 250781281 921769945 597233817 170520161 872520721 950647697 692754841 967481123 165444691 863737259 249431131 338272121 356479473 926337541 555736863 534095315 411800033 910739171 240881867 971441039 688504379 261773813 733603825 147853289 516056387 31966031 767293891 117751565 967377509 892673645 98561319 285017867 550100277 526530869 966955423 635650781 109924973 997912821 51874395 36717413 200007409 307688803 113428789 767517801 836071629 830140313 736723369 798296479 495311921 300228383 706843105 740337053 521184891 483487457 691894699 530483941 495976751 936777271 829266303 443863777 987861237 83051481 707408761 718692065 211331747 993061617 131411557 857959711 310196275 899795977 759089327 447208381 843602379 846039577 518096241 608739777 379641521 75968893 365847911 970314785 449889885 998171385 528270329 365258931 928025447 462204605 754394681 659613497 573142165 645347677 570423259 766142045 184632271 474694357 14242879 990117551 741931307 669220747 71212911 181720487 282370021 19575117 683183383 977967787 331800925 972165711 652400015 125833217 884269601 240701999 865292501 502137817 596919523 119525619 867798421 936167247 849409405 982536711 576297497 737094499 292851189 31748929 912148827 376739837 693744501 674877405 687723001 249279729 295139663 400274307 191239483 77870839 366872575 117197117 430639631 772611247 65319979 319724675 375311 265052069 878170011 944631343 271867511 122126663 461020739 367061385 863106865 433865201 150850365 465502527 5964235 587568099 511224271 990811235 230986363 166283333 117621347 499666293 191286563 176891435 32399757 835482969 627533385 198286221 940836101 724334685 149144091 542552651 263372467 60992821 5229425 184872241 125019039 394471423 905082059 109761773 763420413 487073087 814814545 563732763 655595817 97706725 387364303 167790905 759612069 273020741 770838465 906969013 757863709 826957339 569330241 560131291 467161701 474366863 110100249 501468649 262414197 879181611 15652793 650583549 146700149 956276965 474897463 340876067 112566445 302408733 306699859 401682761 128776595 442792597 991422579 289974601 566207935 207903099 834515623 11459047 770797301 82308197 654139303 970178249 460318753 88004689 492826065 801217411 523913815 234502305 865761837 428562571 678735825 163746855 342394217 897978951 150732531 201481237 285309663 54779387 525296455 859377929 998300555 725728987 877593729 880647 847335191 828135167 568582527 357009279 577340113 597829739 795201343 148055107 946366641 137132037 629742063 216863891 402228307 375654049 51580899 390220051 912111107 92308469 306302103 485964241 454800813 586101157 539773355 585085251 276465641 500787257 985210859 625759555 727234295 719029795 730921549 73546265 706060223 29603517 923917545 291666801 602754765 886036293 704970243 846539617 175808347 208938983 790443273 798131045 607316553 31043253 285708171 16885093 400556315 118308517 600803909 677682347 605591811 1894043 659323421 500517103 276276183 714812511 254242585 533894987 507718935 852049827 775726961 916061001 458823401 206309631 759513725 987828689 952325405 235367671 432810947 831863867 419162667 8282353 534670829 156204357 828117553 513804351 100649933 199842323 701168119 6936859 349055329 48703283 145278443 482499495 828665033 210698137 256959783 499491051 543885139 637191587 385313895 664170969 19849841 719275543 329109269 991572041 615110333 762213153 973493309 208056317 833830653 224564565 929758619 945166239 430945563 755195061 573146251 327794111 180067113 250625441 534841107 534413785 415667813 981759977 784821989 888701257 416328239 97524675 817151577 513853533 868236565 665182921 328274283 998387013 193456073 334691075 269663939 176844569 182027815 515961311 495486641 870384347 734508593 996393775 943871023 961363061 104112915 497296945 733667287 652945847 210989089 535963277 346463987 752852315 916978133 789053775 565181555 49480707 490428625 680266219 59901933 278644023 313577699 561751357 782029471 300150375 997594621 699157135 97050229 763596271 377947963 757487243 562027769 104952847 526062561 387000389 749132387 527313393 533540951 521599549 720576661 82801317 623157553 40789335 781756437 873700389 648035373 405760481 532162835 666614355 384652077 356453009 44659299 926454261 62691131 378838401 120345737 438988737 184935821 760900409 329729191 737680717 438882427 713580965 798277009 752119835 542145673 548145947 180198589 472981651 691206501 462406487 336173895 881799945 334746333 131858049 65577211 835746485 355057651 406236195 815307077 849607865 738457029 264505909 824049725 365823259 182071455 186456083 470052259 216459729 128015605 430892417 11078621 441790383 870435941 535140271 381535997 242844027 202983597 212557871 869155255 508413149 871793853 321238529 965270635 785188197 649598885 187031689 850549793 500098445 123255201 160041109 280764297 238439349 844026133 778477401 506882553 702646567 736622477 405701491 123039857 320322327 529072313 341059559 840048279 232334233 312591225 216354085 197308859 558128307 902552779 626468353 738170837 213370701 641430239 311186615 623819393 594958901 264157701 309807599 966272011 87408937 39151547 795692979 511653473 798815687 16080801 991629435 315130903 23449243 929693317 818184225 228432241 382374931 180210519 116225261 872436049 388487051 641602615 890812555 992887371 223727169 771891045 878042899 331243411 486476387 95481933 910909437 161185291 350662141 664258177 681094451 606591801 213186061 889055933 667340289 403696203 17218417 687548391 378105883 45839641 565510645 514249223 449811615 927074083 460183879 301449041 111231761 49558159 130930689 770628895 531657313 402631981 760108711 818447607 101053921 898913655 426394271 487602563 579093587 220171143 443863869 913024919 920026327 509970471 884827319 519772973 997941245 511340487 572643121 500091495 579009209 268811133 314242995 765088915 660669289 243772423 687868719 441590051 892877523 123696335 680646527 686236851 406472483 309777635 495167585 718632453 354079983 446475771 589939843 421251845 836802613 734875509 159858289 387203015 517079385 56380249 106663849 949265797 197081127 152875861 424966025 600732579 342470871 449863107 718948955 809562283 957391107 458893471 685528145 897607505 596212405 474203793 26372227 306273649 508074837 114848747 334761459 194275085 221307069 300171169 645191819 973162323 164818983 396299349 52448797 22434195 385918265 26438989 657961311 245885001 233903871 961765239 995277557 592565273 749919473 435950187 472194663 878185677 694062573 874074473 111496487 971354713 828590899 823844439 986406797 117468121 339017077 813041861 466970077 430372497 4151751 636880107 907999549 237683945 793419429 516854953 165973183 93889911 736704247 820050051 796492893 858064887 865438471 67075241 52404217 998310473 287818637 959248373 776338011 578120057 314857123 821956837 460746805 134655677 305252561 333296799 673568543 713615981 662065157 796222963 180833435 407246095 282898577 878245975 283417875 342684235 440048693 635790573 97660631 690505719 685181203 785270651 827432225 666509071 527162557 76849009 86936339 785011891 241753893 543505123 539879605 311605041 513206697 752472467 297460215 462869241 372548621 139749353 176173493 540747691 767069569 530520563 600736945 979639559 344544665 290894951 556067983 538638327 710117713 155628453 232594663 12359059 649640975 655097527 408024109 191257105 583304353 988289097 944690883 775139799 88745021 936708531 747657717 450908273 86348157 861750261 884722929 957874065 843592553 150680245 215800275 548905491 997271661 724973893 396695709 340543225 107188063 620951 250231859 867728495 575242365 595650897 195047275 27785415 316735081 528647349 3772925 14771583 578382645 569145267 162462603 551225911 303523665 218394853 715326107 735671229 653415071 619481225 645166499 796625667 561537891 560477061 267572729 335326245 590159175 242334825 807062751 277148517 148970085 203628139 747256445 144480303 101879351 870725229 112680679 502283287 519920803 877676021 494724885 609952727 134682869 972311089 631612903 159540817 647178983 731874043 718983977 177611155 401530257 127577551 470977673 10867153 827288697 638191319 795808931 596148323 791581839 6506463 719714807 397563597 758993191 680272225 199875055 580560315 360718591 731571581 278763993 531226113 447519545 626287863 882940915 511053721 695202917 822863425 220369501 321127591 454915961 341280371 741059613 839580789 512211151 676776519 725384231 465438839 849185585 199856427 746092629 889655113 76546247 714162217 83737703 154446255 28640809 123794683 217570565 947406737 555108693 336161535 906006211 61060357 246664879 758552637 366971161 374016837 782992901 204447845 303622503 197856693 517648267 214054861 720001015 299191521 226262237 786499699 283304699 259591033 653084165 569198849 510674829 577613147 675522157 659956677 11700397 184424075 923583467 707403701 820060739 572815921 471294907 549280627 939403299 783881123 943925123 907696197 718828291 386272093 981209681 887023385 49586567 402502143 384819609 458822537 223856953 877102421 573566523 629789393 350839687 924326741 363335033 439820507 40605899 781322521 571953665 119419699 912942409 858397153 551955177 912564755 784898599 252288541 396849327 973081435 798020729 365169245 419265589 763647375 559419445 466004063 742340045 301197537 662161215 35043843 308374057 885899303 301952607 941862487 356637541 885498849 646626887 895129741 727784971 712393013 12094609 209363199 741129731 656535285 191807675 472989747 427391911 624525971 749813553 744285139 577821361 247884085 360797253 640865713 195891015 963840157 226925357 334187723 551137015 68469819 47532301 764159041 387683765 786761769 889110509 997494369 39191775 51411491 531981759 877126045 84207675 642150547 235113821 123921297 416168181 973053319 222151045 921708031 698931363 740688311 848634851 72324051 471918145 892584321 56902663 934599711 426258231 728831467 809098349 642439969 902549071 313329577 915827057 330829627 578909375 185072653 875471969 848518647 110527271 206052889 812313197 998124809 633133193 903267701 513360815 251650381 288609621 827091309 749098533 114462661 683411549 697284603 866972347 271521437 903156193 404496575 760276033 662703145 499036805 892921341 254775409 415069667 622550101 745157543 179242733 881118063 253005769 783969363 592058429 159093143 274820285 204318273 146549459 226232143 803180919 774628951 502979591 557190835 462864803 834244389 919906075 569160709 433133399 937931747 276154937 69741235 13430287 180215151 542220657 54591565 875378609 621998417 743939005 858129295 788829067 829618361 40763903 250741597 525656913 409009021 30335999 744566721 584069667 506449179 858829677 110701295 176201091 387975613 689125605 345063493 576355423 273482545 205126375 542017857 520431117 59483117 197879005 264120979 880570187 645583379 554779159 456167179 929087293 12119145 709739215 369424037 740970607 899800925 335051559 475592069 213296601 984695815 895735847 202921205 569266647 794889513 747719359 238710379 20426541 601251365 477896907 381764223 935955979 309489167 353265163 128631799 156105475 319744667 500524329 730946749 867924501 727325481 33725621 319559907 379734949 716975043 340221993 598847909 210252673 49212947 76314853 429135975 953935325 547159669 190857013 507936693 131092569 123836647 687906631 88917057 757347061 167183375 451296823 170614245 557681445 280038975 479766789 673579687 721822391 674873449 93414811 865443761 222216431 681404211 340721607 338711637 793294189 269848543 7404103 129667857 770018627 411627357 888691131 900893317 782354401 641912135 67142057 356210303 102242345 805457625 270711687 836811505 363193693 976642045 660122537 651738871 180499501 926136385 609479765 343934419 449242027 437724123 780887731 588638705 314673751 105498285 107900881 606936035 396081429 176610621 131752365 245398887 576497713 475305401 754187813 334141021 32787043 145492729 576785925 174286803 509023687 59883901 114096635 348089083 507088099 487544429 498988451 455829553 68909475 919865493 639112829 56494071 683057245 431851887 148614385 747099129 577534669 267803675 180609363 362638347 785384217 540175453 829404377 894624039 88537295 461371815 634982055 334658161 12641253 301361167 227050695 204467763 832069045 649255765 283254567 313615585 493372423 358965727 626538659 27125783 587450377 75214781 489836025 970845079 119043917 343460263 738243797 424069197 894920913 568740347 228407497 698533197 763605501 414707649 267166285 875734737 77783453 378602919 697705409 148107069 875054819 636172551 669796975 970209307 339350129 831103197 152277385 673953569 456998219 687235795 964874537 85397799 68669915 15745079 145939277 488894257 28822779 694296831 350701281 473001837 610758885 240655053 281644727 346528299 626775103 776877543 340746885 701447399 719314711 892320315 878503919 959813 733696993 412647521 747204477 954878479 454456445 670928537 461993889 724201531 336869675 232997835 77147061 908596705 303279517 125091971 630576887 306853191 426494439 872139259 213919635 522295765 19068807 97851155 561494939 475545889 541314143 491091279 247901189 77004775 60977089 579249121 17831861 464287495 324440925 524759199 21635187 174717583 263453781 154368263 184650225 57039535 473498155 166786373 265513159 525477063 475288015 134180643 114954105 633803349 372967059 106703641 496132973 439186953 179966263 178164553 454947829 908447411 622551263 642609785 639107403 370577489 235760153 195313945 362247057 815774979 450664921 833998909 699611599 49520151 640916093 291554985 800781047 149049087 350023881 864044993 63207137 829540949 220115693 603536019 320974671 145151711 634884477 926146267 410343147 63350919 523543157 2474997 16119367 839401825 777904701 422325735 257875161 632310949 919081631 661136995 112282627 526139835 964612049 181167551 172843025 484189483 274415987 658658299 561904947 624333225 870183303 373193663 38148737 197676303 783899003 108232023 982365949 281648997 216137509 596377021 680299153 230602705 423622595 615184273 451611917 130376103 669681401 627701271 682595115 496767845 42494419 460614209 314106765 327686061 122313161 785018789 323030459 129279049 604662199 371466625 9642277 948402989 699541219 9689023 546224167 358841717 610049015 131505135 619115265 260084835 617889805 26790467 315351261 426933347 951382943 684059295 51203787 778106377 127105427 858194313 49074885 359868687 749640247 795119409 215474861 353035097 716464191 832821867 751356233 994358769 9658315 827885499 507770703 703847947 43901787 33199683 67589205 880150019 526907619 400334039 654807005 374431325 622260915 547342059 183997007 362093249 700397193 723592097 473139199 180462341 87141517 157788863 738161701 2936355 771306569 541888947 947394019 782451007 169252277 779588757 693424447 476233891 22350891 452561189 851721263 964535493 389442933 153062857 436293001 365165373 5580987 476554387 492670477 46589393 28694935 297534519 732383081 534137705 699037953 500354325 184299307 306057499 378312291 426037 91365837 168538913 371104393 350099015 542312367 122389471 456125095 378828449 579250205 453791969 775110491 216095299 890124869 738212825 712281003 686053075 367613507 602224033 309319171 915581857 644967445 687340863 559385913 922153635 673568425 191987419 966156681 268407675 457169101 746367693 461451675 441128559 318403641 974538891 450277753 418143087 765526675 224611771 30798233 619910415 848783967 286095657 718710747 682167187 703154705 573915079 579581569 778302941 59470083 49279919 88225081 85597825 276344949 236726055 336211481 638792883 488767631 981314457 623558815 546447189 449032037 528615575 533209263 500334059 251097581 279940831 273461141 388751785 820947723 23000913 114788105 641327201 721008777 416711163 837851175 7341973 706440725 684880143 444364405 386215275 656494153 156069353 29965021 876155827 72900521 553440267 524948665 486134501 906618779 235827745 782182595 280021793 988054387 487576317 596416033 18545963 912269159 180280989 931989345 68143477 154156443 572876579 334983545 587604755 220347161 742702553 897693379 816123593 268716239 732813363 772840455 519472123 144902807 846831309 124865393 667997625 608678453 879896169 294575511 549367739 852768847 713537267 563308663 400531807 853437303 666271359 704294003 489008813 788158249 302059589 173321565 619392339 297987267 698320301 964089701 861215145 564044431 206909759 518678573 391795121 804569279 722731441 336204215 458168333 625537131 572224731 746889587 891916561 741404823 776365761 237315891 639623601 61696297 378558095 964537911 216407695 822710771 340086169 695843 439916273 639562671 377696345 31282693 702807493 576168191 61616499 386130257 949360803 339205995 580020913 417038565 811794123 652411493 457614857 45396999 118450211 486246469 752884883 796992355 198643771 641220943 8158611 670841871 839967563 843414697 176538487 193425031 554242355 819330917 626571983 233674675 30865015 223486845 271489879 235146205 279436615 477348563 149227763 947026875 857881725 952558127 350211245 587179885 407913111 238644803 122602427 618938741 147906747 97929895 110625909 26343361 356361657 685974749 791300449 799770793 932662535 536514383 368121897 680537573 207209415 690613837 318531231 536288671 653208511 972613905 114381759 772710755 989441117 360864445 453940397 491516709 627390395 274790233 696247733 700975683 171035029 944467159 880349001 783454849 933595221 905580047 652842755 859107087 971360775 367324611 608296105 183911809 967137127 356206493 401129253 34924755 37918927 837700909 915935113 720250475 17029451 488883437 248575505 586818839 957725063 339360573 467752227 133278731 865707739 660049257 447656007 661938663 584009799 828960417 732730673 460027309 276203889 375609085 334213307 482457547 706127785 1023615 132346347 32317719 15973607 885641231 18611947 787816397 746522827 810610817 428882957 685830293 21740953 502248845 452678863 510222201 142184257 153261781 175554771 891267313 755403869 992547553 946007779 853882585 704040747 628450849 359336435 999985525 26288785 785281009 558732317 405135989 71417631 978936721 885217191 770947563 934795787 483760425 726106621 984453463 372472887 779423949 996441773 967677085 310363945 683942261 658251895 650563851 468947471 866613251 229128253 120301141 795342019 54632509 828231177 956304793 574332609 628452825 958972431 607478877 461962801 549976939 852576683 683032973 429208293 800786809 191582815 167125119 456019793 627759979 363093207 161883119 765265303 100095633 512749031 12166917 884056699 326833955 121609609 594603595 48958063 209744199 227465185 186560697 469569161 133202945 224773689 291576489 250125705 651866181 305412103 315832547 812427991 613725165 618311139 498834325 719382911 5597369 55040657 117121873 329568571 41657169 20366333 639177751 203690345 63151177 695081531 873854539 544574993 395805977 664027271 496726457 795583203 475178273 805525057 878863513 457052211 238035627 933664245 849433223 529143813 362073579 251137623 310704009 996641021 756265461 275058501 218897163 472960363 634592207 944635581 879069409 386496581 506058079 787462639 404851787 486637613 241353337 749122091 254825711 708871785 919788499 250595821 271117783 550817255 9153041 979947993 315595897 131862593 848906941 449970107 6841267 105045171 501535045 232319365 175798987 365878565 423770627 922327121 970770543 974718249 842063675 958310757 32611761 930988787 68065299 706183465 67543311 613835877 70578591 269209653 448182641 161319427 773660629 251515455 327445793 501933567 959561881 499906349 3162327 683421487 453606579 239275019 161736367 540117011 714291925 263075851 237116205 454453201 245018777 962549127 61935169 559959353 636670333 32434949 221299261 612953027 853170671 533085231 973276385 216195727 272799803 909631193 559390803 37902689 408049565 922422267 457525275 167869865 727422263 24112317 64378933 844755329 524017425 746047847 270895609 369637541 43996445 591083629 676995887 991638911 592754741 394006377 75843331 456560157 316335895 443016225 681974537 268361015 512271727 354351999 636736067 275713323 388760781 38725271 769451537 530239231 121749933 21520291 10304325 136454503 873598573 358077701 957385487 433969589 645301847 918405195 205278225 892575979 247821467 858768679 590928717 419178161 139026263 632551541 62587697 421274707 154432647 265626423 546087573 855105483 892859159 609495451 256545713 617303225 443205591 869328367 965076271 318114657 720994945 155228083 974347547 240936885 609434295 325610121 393389545 472368715 541070593 16409915 368350583 366332771 752757201 462442687 98591755 708275171 967316095 375154989 443021647 610134619 608384077 97422537 381132125 760646147 480008037 445017855 449928111 396380601 55437271 160192867 63349293 64395013 733748893 42484911 897638433 645788951 56300697 122677191 555134785 96831429 633722771 986203317 630198445 758275725 40936251 342592943 951428071 993707417 259545645 561443853 469675485 698008247 915470059 946450261 10480101 809282141 815393497 998434351 524848827 832940717 913514829 160538993 372541831 236538989 707114623 368991509 359039701 274520075 904935057 49084735 745285015 615553183 149180555 547588923 786183727 850101995 225991005 441547385 826564449 1841745 405194467 437319065 681647447 787277285 238164701 684305241 15654059 9989467 346222069 31221161 64934231 198697491 417507003 608833689 863435201 922084887 101938857 764080487 176418743 496576273 662051615 334783859 686232941 192350557 86056553 810411339 802593409 609434873 606197429 874591135 50995449 115899531 718429983 796666959 975655489 215859301 835700391 882984283 465783343 73174905 617063735 685280749 785524225 770196075 602031263 47356765 242699097 851120257 651709847 334382625 308374343 331871403 815261381 909825761 865098049 453174399 433093037 930986341 503367203 103153467 994685893 398794655 745758001 690381001 960304993 465317551 980475161 760232631 813515975 601409493 109227251 717434683 788283679 583195005 603970871 375759927 110007161 381675577 415247055 950559281 15803341 800365511 553767943 780073303 916651521 399374857 556024723 476812929 315185881 887260681 725368209 930479663 518731529 922780411 972231303 50053001 462940203 531593019 927921249 338017627 288795583 560929611 935212403 737966367 107159597 135461079 515892095 590850037 434882505 96682417 85171877 926420897 288123337 289434839 73511029 995896213 246374227 836424043 245633251 205585383 301202027 907171255 197030223 826545751 971053317 775480879 804896123 433471819 562230779 671485039 757038229 435172563 68501515 809214523 482060339 642939815 797214947 610618491 858277203 333213733 573812239 222234693 187975001 28988757 430427661 732795347 367607057 94729701 507248955 516102537 942753715 433919791 243604707 412510961 322726875 552861231 832388151 56236991 968153229 730761359 493957969 427405007 605142585 207477149 683245615 378124581 282220467 571278671 688117181 3180777 265306423 327604039 402439373 382260849 844327787 424206795 872234261 869434679 929493597 722046153 150588473 516471519 427020417 538733785 242482883 808264245 721881525 374350907 358216993 403999785 897032255 458149335 874697389 586701019 692980171 305743417 749885609 728572041 798708847 420437147 605454657 234542755 569592745 533109725 504043137 20722873 900754779 90506627 803441509 12998535 672313557 908118719 749339343 44237809 906293709 249866599 455937671 705758211 71463263 717500153 491997759 437807087 907592463 285750175 697346703 936750863 454792139 90891049 381085179 456592105 448912619 411355657 840966633 188730919 848379689 365628003 427715499 438671771 110578603 888591613 383482747 873780033 313009917 744995399 510689659 96254783 115511319 847764821 595919539 281731803 297408853 736883947 374894613 564261773 5459837 811143789 643327865 245464047 554252475 465183465 149008033 998526659 704947621 560025627 923146807 413754357 806263863 846796637 966738637 631232919 600175319 18072763 134249945 47196903 8592213 892641761 744725695 14344005 45525473 235525927 205919685 142986559 96544283 796455565 366577441 88396167 385840139 869012667 817792489 916958713 872941337 851081725 395461919 246717079 593805597 179180365 16058029 289022605 270622037 335060811 515290211 653386543 225888611 48088891 810598139 385664245 650740313 116984335 954036503 536660615 150408105 107345245 238147647 273265069 286787633 263259235 446497251 333574235 143527221 342997259 622519903 799106989 28500837 540112611 475765237 345953509 348482517 970807843 719174601 714646129 852731649 686655657 829188849 760339167 70411215 163947261 11414885 997440495 411692685 235357519 351459591 432968067 267320303 589405811 172441759 99746469 50672659 148387051 772167901 859035275 511706495 695253471 639978333 662355341 912104479 821465629 788718495 679181871 809597001 700798235 469209613 870914077 626079675 615771643 379586807 239721771 752384663 168504963 841016725 947225171 787565679 444551713 832193805 595167417 452916019 257694957 631723365 459238569 324715589 893779111 671614093 652098707 722593639 668966837 835835233 396247061 204487625 52463145 59634849 11641075 175047421 836202167 876552181 846104597 235825155 262589887 646410481 323890323 260543551 357020745 830867981 506289315 207506559 554583301 839232937 863604395 864047607 390804297 890771729 54537781 362625861 770933781 915104627 744610039 275476847 369568015 814807275 637985737 616943329 637414279 110876537 69517233 431756399 222890867 120182277 245332185 497542235 358515317 211730787 71212947 422096197 617952467 659104073 72106331 654009661 899764861 98369885 88359895 513716409 266144263 632383523 741195725 565751699 186227123 612084239 775159861 339088403 434551913 872540283 298570025 607422951 975455415 806235303 731395307 176743201 453454291 212692667 821370597 245473089 561003167 690452683 777926831 730843689 361148575 604058061 28617983 242830635 920163077 610159783 832927421 651334649 953589673 827049245 432221169 314763697 842514439 424780003 806487247 377259991 195146311 174739 143155377 466650971 50426937 38727339 628888861 157322129 824146517 213209239 320608957 942434101 639880379 827585449 32382053 692930925 606595119 114040855 97906189 385035463 93757217 336722439 386414557 760922679 660783275 528276605 517401373 881440797 14323595 657940077 996152641 313298235 687350055 86856111 554297573 69489599 252184207 766239239 178423499 771600447 911004539 485500443 843627231 499717303 311728457 527460989 253428021 454008207 892406271 328032425 606624519 73453713 958088529 675186173 839896505 837704181 828392849 731178691 755953621 60283735 757658307 589044525 656187919 485252283 562317193 875211347 524505155 889638289 631724087 191242553 470189683 491185067 898582465 60640709 643837901 943348809 174920393 228514761 355680159 157920015 383772307 587335167 260673129 47740171 310891537 869992201 495745229 149194673 523616475 898437231 416561303 869418463 104738349 578245027 90700727 218229467 519511023 963789055 928964427 277668177 563714993 773576897 730192535 719293525 357027755 123190805 655880195 466311785 427399099 296142347 538303525 31246445 930693227 258763933 91055799 760253617 433588197 42247085 813202845 541035499 966593285 660109827 611104227 623288373 27656265 932158033 788079289 833002521 94458583 502213679 207442559 511872895 833804671 510467871 829265331 35716799 609092023 35211147 425041925 384015255 609794721 845822403 400396101 43603499 377884163 82380547 557279855 529955335 390447947 37080679 101246633 477367587 663586451 378757117 542261305 501890267 998881175 618802101 237508503 86657781 112992961 420809319 459268701 441179293 179407901 542257365 706842699 112169831 897071719 861606057 196349521 787614803 670891001 396295539 929842559 631208135 191355359 424950189 224740371 689395085 853179589 994731447 341532781 717566939 903267843 118610141 609169947 215526479 325816985 594796111 192590031 279731183 139470381 281522213 421710693 317852455 865758223 18456161 678129373 268790989 600075831 465552365 721360231 238271775 354016837 911720345 358375253 207435457 600498813 870809887 888321057 728333759 789955791 130739743 340415853 866099857 89971157 572561189 344379399 152812305 534449613 969525919 844584161 359093641 801119645 402990569 577893911 709766561 609296853 826103875 897924587 410580851 522708907 842811351 400591817 170076793 873535489 176454325 480040261 17163929 221655645 882377685 127148823 880033569 559365101 641432605 586269223 830225349 699131019 388056913 719580285 475694499 659603379 330217255 969425485 875343937 394152845 262237749 523267827 54711947 413159403 795358971 919075315 561926103 460913985 426265319 548581877 47714017 606747569 46317895 816907727 46234831 750973439 701670485 261263227 165464625 449693341 997849137 896810267 186968567 253810337 507167205 822235647 486491779 631600843 401758821 249820565 363204759 201202305 742371717 44286075 72222305 699672789 516462347 314194291 903341689 699763579 842345375 805677675 964316887 123206099 212352463 507271539 726054373 250210789 272910105 105553863 480926063 42235745 701482203 407200971 165367721 456108699 412025185 292977929 205281329 494216599 174717657 120652087 971077899 625875705 549341277 676792621 974093735 75313937 737246961 956602609 26709465 839624917 614470267 484435883 811182813 446353127 525274319 201112241 624020057 407553677 600533669 164425855 919763291 463142581 695695517 690703285 659734361 14833913 913238081 239348767 5412141 33583765 748931331 974472115 450688543 539431793 25469245 310484361 22942427 524696863 869452077 270258919 752987255 895935955 178909183 241734711 638520177 923166575 755332805 38674955 136959661 512770679 43588469 378824735 881077367 94419229 653273075 163757657 712343943 507550263 236546313 974807489 69149177 395050053 762247525 224164745 536243281 657582189 51589281 170300433 218179199 454816639 585415745 831276505 855639765 924413171 448402603 112749709 891440403 225474535 278627889 567020543 440992605 900911141 54568975 369103661 301951297 864048407 589680993 576652599 169970355 329992409 211023927 354586731 768002321 571378983 872252539 668994875 65741857 953444459 862704397 210889539 843404047 679041203 715140777 647978565 787969393 118702263 599954171 555741997 672176195 388308179 28887957 996114189 907458285 734653459 442798317 101595171 915902521 601151779 745689447 508981457 62022495 574063965 177106507 69371553 903237369 731282877 86482123 346388295 457776657 28318701 699726591 856639903 897196303 312499513 683319017 192681643 768410827 257842075 576074099 985590423 484667779 453602995 429933933 266006967 921109979 898119877 263895699 192968581 633965025 664762307 793581697 351717795 909390857 99881027 71124933 136036065 918386225 175816325 481258703 191441453 103979165 93486959 354887927 97898405 826403581 973331857 745047423 90578315 787147109 65124899 892771985 746277197 918896977 27070979 479124541 135105657 94198439 892816569 711369085 45881297 645248181 97141109 441378099 951527985 483410737 314354701 36859687 180159403 271425333 328259071 105886475 835361901 796730441 739004789 844568439 289127381 259430745 459932221 844968173 562824039 310577597 601333453 222140629 597105611 716047917 140934983 31758981 465500119 558883283 985745521 18133041 873163655 657313593 224198329 755649531 872131835 931827031 890408759 829761775 435356543 243245705 530841259 398989819 174599817 879360915 98382461 302395131 804932273 317413029 93791161 190747567 394705085 129153107 806482971 230474945 423976085 339249305 513439997 661238465 512190545 288883165 860085353 857582889 855445799 104300525 777796623 128492377 930161277 351863037 129471557 16316317 336443615 944067755 92753163 773021219 583253759 626546429 724943111 705409543 130792119 128471903 973735049 83864649 948459021 41642919 324211849 678487763 175720491 331308817 520041381 365584757 25533027 900481349 681962789 684416745 880919347 509932365 226811897 818487759 975040315 752266401 797298103 799492017 259333705 829337627 577388957 281884163 658171471 73046275 897209237 423378715 867662439 220228615 639343405 401824569 13063639 851825721 261669531 391096203 775448329 45123609 542407105 217606431 594693777 217309835 808373029 806984685 97079337 7178717 570711797 297615835 615876019 158185667 336718857 778800557 383562301 16791387 33238241 13521431 572060921 972870697 576601253 178171571 791692355 731561245 986538017 860100865 994801309 143134859 942491855 849043305 68044211 491933231 850115023 700515903 28492633 819183153 779523301 126125755 801116297 596707867 238575491 924769789 801268325 244491235 296409023 865237007 152897853 363047145 526389081 488177891 600445311 570779375 212380343 51337043 239654089 936785699 30416361 483185693 239490781 867409179 319000999 915550447 978547879 820445653 790874191 87848277 36620091 397774515 621825769 150277581 477038803 959122567 512657955 519853749 995430355 506929283 770820951 70578007 597021637 49142085 604628353 132329189 983368287 549398481 746661451 943036793 778795641 17221271 901293827 168143633 169711895 297282153 516072863 500241563 641646183 15347079 70237121 339774179 554128569 865258133 451263919 151291303 739405193 624808865 898965335 347946117 819488379 529679137 799714641 43270151 983170649 678212847 510257629 595604127 712671257 702190419 782994403 412691877 803152851 564283385 356252655 845012573 840246221 413975287 530772795 675660013 972243823 977525705 492591783 393527655 889954383 628644951 788435895 481152709 980581673 302916587 129590685 784663017 5205725 563559997 589057071 348246683 526794615 200569959 42208491 494073485 553366829 868520435 629653499 903819353 121174361 312772553 445571885 677606525 644148091 733157697 907003129 489161317 539420227 451539737 741317501 959415649 362058369 1811061 739805057 338820013 192731699 953566691 853863797 278346085 618417529 404611159 547801709 340578711 433063329 602550831 738732333 268905267 731500061 267976241 608036631 716346385 154018695 553588873 455429951 388722677 907349157 211258827 585769307 631975301 581442401 586434553 89650887 339690323 56970701 466895731 504662927 725081305 746741543 146070537 190570335 548120953 992553681 292873201 282491535 467267451 678938965 300229 42014495 449060111 565657447 746971277 957024183 364001617 162202849 265035959 92853923 47866179 477237705 898371349 909439709 169758409 679651657 612813541 31098629 286935995 264861365 595811279 243955807 109976269 303700615 912104159 459152861 723828897 820406113 239310217 321614613 460582595 512950547 999010985 989458245 238811811 553730443 478827913 759664215 961832601 163726823 478221011 559202265 6592743 803531113 939192731 141512195 462053045 301033597 202697825 687804595 741601049 47165367 605102089 728840305 307200517 692355793 931858145 641551723 282875745 790290861 356631967 840846971 89083891 78485339 945485405 957070365 271848555 854681353 74813347 919833979 126217317 772632341 515925341 115940707 417760609 229494273 163550689 902914891 643329993 602884987 619039979 204741205 679221741 862685523 914703523 949187653 392811783 192380549 508066963 493345423 713820727 334914613 575193267 367207237 662496137 763820205 820071007 762935849 879106283 686843491 392676699 736099233 774572345 353348847 10316503 275616703 89532723 102938133 237087845 799339319 409892993 466789571 354868997 666670697 601807543 926109705 212282395 252657757 438928973 962599971 133872757 377380291 262193059 389279093 703568711 54182897 291324933 574128523 58068271 348226021 941398689 788598807 755251505 641267017 221183891 673357811 651300285 650283885 154371803 825191461 272875431 297732675 544335713 692262101 509987627 130472815 570959353 53146713 553728753 513012023 762050651 321247277 624748291 961832841 582030375 340505073 774437847 757673727 610764775 622216819 789354317 943938005 416685583 854954661 692715431 354129141 928714227 695675041 491668627 71948525 54709977 425504429 730813481 595877619 231778023 960196147 723578337 484866537 310277681 210075845 158136229 326426963 908038575 886753057 716486849 936347747 502783553 372658727 305230057 847713009 342813617 700601829 294027067 858582135 736210353 11159181 269646651 520486179 563981531 440622971 449305049 18878143 780790189 506353713 90734695 905937349 981450645 27746139 529812389 641518677 300858335 337794507 316374201 335575347 588899529 887240575 679493165 109002447 171373681 248756887 535555831 447442499 159998945 461597793 898240885 966383181 978055179 748834385 686578285 843802707 20601031 39522557 439375883 738173285 605051353 939588399 451080421 346010939 525953511 620359885 99423481 143481139 351005573 230980075 815166633 90302291 706932777 590525383 682677191 502384463 199036215 26494915 395277957 713025913 364984055 240677993 980621439 916196309 34320283 917223533 208152511 286039813 333172283 506087339 598137773 352388957 672795611 183523879 821177891 174589393 852181601 579346185 16545371 8611587 12302239 973160359 369321467 604915255 55290449 434979451 461971983 181195871 732849941 658257449 574124047 93712145 356279157 855735419 32020185 566368653 696962785 971748199 504352685 99781563 669794231 451465221 25264445 679607591 905279539 325888409 381266077 568519179 949952897 819297425 759963209 557043781 220738225 366646141 803562793 788593759 919121855 38302233 791794055 27756163 203678855 566141001 768155675 991688077 397338583 470495511 396468991 436789243 111524447 634756025 157428923 537661683 138685879 42414215 175472957 453652293 149302625 952574983 694319831 169882215 393704903 889622497 400385353 164230011 760982331 705364461 754120373 409732167 695680755 299146017 552463533 480115769 325398545 295304355 719254819 231249771 863238817 243146431 872667509 342933401 694264467 81700325 534937959 495512877 727361727 939627957 553536041 731081779 971844583 280078831 525884239 105318759 490024885 532179837 110046165 59172643 287450041 696196983 101846305 321492083 217959021 706611219 996807169 277432835 154374707 666875321 54540203 389930283 597584977 150587887 756549305 237777131 787731965 476245613 27308595 200705257 350611789 64879117 434633349 321398901 278733379 155029457 906155653 939960199 50378697 738116069 351383665 705677757 220616367 741294747 602389227 981703009 932827823 910063985 860642309 467446877 160992105 949820423 912775727 905807181 341183337 258009387 901923659 774426223 395904285 84144591 407149469 936636071 230755809 288060431 888976079 67516041 949614325 775324717 859437819 898596683 107487363 751715733 947338139 543347147 967266459 750962651 262071445 569960849 25488439 648692153 143999285 481467851 603682359 947574289 223978293 999802961 58821735 880901875 963111853 509894309 627989621 695639181 520294435 299027177 385814781 736060989 223760263 572437233 407529087 451666821 96208685 447821105 940227683 533405457 837988819 947603403 404617725 3858357 545947291 399074691 567487365 143578987 601544725 384096459 345268507 56317527 526858551 54127289 75368393 45668291 263669339 308951053 438352515 654097187 924395595 812848173 406892829 467756819 115357999 740933163 732002141 966832727 53225887 629901243 828285419 752440535 522641305 368696893 573900629 870385833 151695233 398816185 850275097 435199239 991108901 577311709 625007765 884301141 868489399 633106179 976536597 331948063 692221401 562963241 297500103 677315605 619132559 767385333 857745093 426161431 123573317 476097207 889082387 137140003 905280721 694012773 55967639 174593897 145189231 165201313 902383909 223664953 212538309 169753265 434692469 326263567 105841889 908598659 744155943 588522383 781414967 821573039 742858181 893036165 969200295 638932087 490928833 652948449 516099443 272468925 225116277 521356483 83268425 130642197 86676255 113590377 244327231 187864755 29606893 302016835 787345875 450446969 66548715 722733537 348646887 147312363 634272535 279023105 173371341 765787707 71219023 183399811 553333301 585235263 969248093 669109109 872293185 436097143 351693811 162449161 646244213 225209609 803689129 280143513 86811835 694862277 310988035 711014059 863165293 530805795 320537447 569008361 472665413 407497025 806173735 262680869 747429481 994262247 424021631 388239965 907272295 665775749 783869837 280602033 584144691 351311921 431906139 165397359 795753003 754520489 629783515 487381001 683095317 114941271 999248869 204359963 887755037 346458441 145258043 541394535 943163865 546528311 760523911 95467737 420610629 645062269 996617307 858947461 619862985 895556391 13212205 298692771 664865583 259874529 964577889 814700699 114788781 706663173 535065151 276434165 43011043 52648079 583983865 120421733 539178195 729635111 133178535 527210183 543743213 719840799 653890891 782317085 928322307 314572651 626330063 991117715 21335381 200940717 562318597 487323005 968359559 349719081 125952675 236274005 220289701 492265425 635987019 573003967 366147111 359254587 939382921 435129477 636385001 374815143 519958989 774686619 288144177 92509947 904404335 40661021 818066603 674099911 341011633 128299087 742232427 82083395 576366525 847747481 828542707 361337421 168253091 196317073 31933731 714972269 193153631 89414385 232948555 592410067 262710733 753390749 107324703 267440211 869759675 107406495 211676607 531810673 713409241 242421037 11584173 958451025 675371711 955439519 553211095 173331907 107783919 271802745 803732371 548241725 873536211 636383081 334197151 141534177 265988539 281019967 125484575 321196149 561682401 146719223 248654239 107862887 168423781 363364021 442614039 358292943 970026323 939150277 936333539 974155885 969240219 775224983 521974727 406832297 384107283 604911563 323694067 485763471 87449219 704822303 213742585 634429147 481550221 957283715 102088153 535475687 404313799 701872135 815602679 414070973 288314281 618584295 189163041 825266445 237727637 105722761 682275467 900021549 844858065 91176051 663482069 514401565 533557651 614020701 58861311 732937603 98667761 875700513 378461309 221970607 563481067 726566591 168047389 277254041 897908847 856659047 853191715 598424287 443113547 399230315 688437039 937425353 78639673 967779395 433771347 21309767 482097881 380487573 688422399 88633581 663178167 928797997 351419925 101877759 691113025 6526205 562575063 208601697 599589587 143887393 784241397 154951587 895002541 898245595 277572993 340307963 372847095 898921623 905632507 454299467 995664581 193617639 656282183 968783895 180431375 607920777 296801201 875129491 644108213 38905183 486366705 431515537 567516801 63336563 997728547 593192851 329610535 389534969 188421581 952543169 486883131 693579083 536648667 638285031 386738755 250823153 650669475 127906943 509106853 801409681 355561697 168337321 483729589 969509631 295178683 70561833 882360235 724573241 1629631 560487281 110178471 686985569 759359715 502801815 700417971 104064705 757154433 727053401 507913921 575095501 52840545 172486179 108395691 522328353 586045873 27300607 861608497 736790911 910889987 626460071 690877691 536765653 213732949 245835897 978755741 65215537 121374223 746700925 266657165 575707603 487786493 405999201 817297455 437381149 669932881 517987199 394765259 619262107 127005869 666692307 307789205 943954173 26879765 75544583 909052321 52275745 936596723 496139369 790111733 40793355 181631265 836216303 667618679 799840227 405273049 765136955 935506681 667546879 339393 413037459 650589239 480621529 73447143 907747301 964813519 933638677 956623807 879300553 496662347 277138559 915291175 802619263 3209245 140328967 169930853 840096237 630353565 213967563 61992997 787649445 747204111 820519183 773413245 843927003 177931417 217637437 839980523 265348463 824153165 9779175 489506129 492074475 216492071 81233097 872665857 831382137 660835077 892970439 153331883 47678197 756716209 768611565 645148529 144418525 772278491 946552429 347234005 574368855 517136417 26717601 776436167 163001139 358802687 367583247 719290265 116316137 965422817 956923999 219289355 397845655 996459799 888062825 711575873 557193733 304390109 531959075 180357833 871908515 485165393 160632243 757459607 483139973 155042941 285992549 953250569 595942255 886738513 647345835 181245667 581775299 368216235 385064225 408117845 959662997 506488647 786927753 709164531 159664795 54002897 434618061 736553401 576884785 834620377 950650373 136562191 465704547 121594841 168061289 817230015 708473565 805203507 941157979 377852927 692731895 170808623 927245161 375060847 806262705 454018813 694466885 818886417 477393075 183339195 746698699 442130515 732049225 858809701 9642749 558032651 175145069 991818471 724441095 725229175 969754303 877766929 90790459 820862523 381313411 134741149 629247511 74571619 1915307 788108331 352293949 403386215 191990475 606791495 505171063 192467747 124291111 305130849 820586681 33539037 502388643 3828945 839356447 622532671 79743183 303166425 952166379 511200611 329427427 626994595 398974089 149164995 416748733 592640319 167108749 765059653 429942757 312080551 695836593 71235383 50648457 696498619 710460377 401299789 293450371 400655687 750710799 957831335 769417039 978078201 784390535 463851973 2360599 769534317 599142557 505768603 116869801 96288035 456802773 908349817 637198203 601965445 685024983 700013085 732856495 578777827 288935289 429616815 10523657 642047095 802223797 276312249 298581755 552929121 749935535 56032307 917478301 378098093 31751347 354554999 227206059 327352649 145804849 892593999 121703309 78135569 787932103 643186659 791724883 309056453 624766265 431512525 492976567 229519119 524717935 308606981 606645523 779375229 635214207 72478197 411650673 976648333 534395813 776621673 490560129 243670941 149676609 487105173 51168409 665219833 937253599 529212695 98577335 104191439 367823669 867171573 970413445 3815483 551756315 753632411 934031697 314744893 942593687 951132383 265308947 186311357 193378515 939874813 461759593 376712335 907649825 277701789 31996315 321960299 1803517 690932425 140230807 521837809 714227211 968034551 128909815 250640811 256382231 91938567 508439031 535947277 944561427 758563131 408831873 347084139 196096539 766148929 987648291 383585035 898724463 319672623 425433107 898391827 880029567 346463363 197023027 672515479 212881117 699225377 165671943 269327759 775955777 785140821 794826689 805655003 428095379 113435607 691352119 137548869 721414105 189119171 661404905 530656895 542243403 411962527 397331967 860502819 295928387 603592789 575456069 593121455 347908931 399671103 254177077 76824209 883160567 244477975 386587117 653770773 903717683 412642819 515215927 435602297 53184239 608093585 873933949 897162459 698151251 208957367 206164443 686781253 297517479 943974607 971144463 102417321 346291551 55970209 836526463 921511905 312234775 14451801 22959163 60915115 737036689 229137293 360487675 601881523 492835001 884224827 759712539 23717003 681234595 66910149 896501415 186916265 750243465 777153789 74093389 271889521 558635469 409550099 466678625 499513643 136542975 549451689 748654309 476538377 614505677 771242177 358921857 976300581 100065045 234718667 602598531 115220093 473444825 115884697 675765217 757054717 746268229 348580459 394003261 866187637 608965037 906509541 568842715 306991777 159368843 51646229 768263853 509234975 371824003 315546735 672970569 619636345 844827233 466558417 669371119 996399649 312472341 821796993 290867591 864059503 195435709 633814315 317673629 368018853 695491741 726725349 744321131 226839789 340948253 931814443 91522255 687766871 759740627 874953701 532850257 580209375 64964985 689838685 569204513 699633505 163816691 284522057 980246549 174196651 458072141 460904905 31176619 217439853 756236983 262595423 602104077 550060863 123319441 73962745 108379913 695553957 763495001 8845549 868343063 88499715 188368831 289103097 993253973 942313649 344363155 164506945 780083851 121266915 275146705 483223379 749139239 896023995 604487327 916995875 259350083 210011461 380423491 668483087 762356123 664270705 618614325 141841883 438332825 899140375 354933517 74633655 332344393 502395641 922738577 830658357 477918309 309407937 597397675 844590935 96812621 770618879 737496941 920787325 30211847 228495661 40926229 973680247 312620353 840703149 474939651 246549881 888282195 981283783 226795461 833165091 590112573 834288043 63266317 418326133 399489445 230146165 46882485 575070179 702190299 989409317 159286979 572679741 34639575 640281509 840060001 961992641 918219063 159165893 673505251 113062167 780594243 682505791 207814849 535072841 368878571 378517171 147013795 305983951 116818629 756089261 604055633 582478213 746913551 206070171 858579135 381870511 475466675 788696537 175303177 506671613 777235775 881228199 626771057 687927937 781567723 211053359 722996579 152584379 371472789 396251777 316644465 167434895 774081733 510011543 264108633 242723659 302328233 231029841 628626429 619044515 603733017 535146363 802719079 412931509 260747671 241750979 371923147 832768519 211682885 561951173 618795397 696226437 230670839 619521 361496855 254523013 409728801 505445855 732906031 232868035 240183781 172620979 974532507 797976679 18472711 151696565 512691035 225257467 73501945 601633797 295448977 995539063 129102033 999008175 576008071 729569333 820252495 165572769 325916851 692377085 965379545 1766071 829161901 288551933 449709953 118586799 577563961 753344711 626082297 456399415 199175493 826910811 495561383 906806493 157179873 310300957 463420301 638229785 439893065 342157017 153334363 168751695 836831713 411154375 50188139 735426761 645651763 589051267 445797563 6310581 140374773 701074451 441203953 367909167 566651135 158321379 343614557 959002421 453389653 993308103 98416117 270902965 889439525 382416895 80470107 824675195 53349311 582438193 460968149 685828165 935497631 77339239 512560209 830765489 385496939 96032023 86047335 364288841 998577897 459920415 213907033 765689471 368884241 939361477 167427081 462378413 250122747 925650871 743775499 534977809 337336301 747428871 76654483 104194009 971253329 790558771 915881857 628557073 867984825 997508899 522910559 792706743 604360161 375491873 133882201 600688809 143775919 993358053 212716103 551084977 21810985 834903179 649057449 222812801 872047239 126917271 33651621 813836465 210809635 614073081 933337611 838059461 273913215 767589891 565823827 484799523 508235589 985958261 184488091 11844125 517604429 505051507 238708139 645290735 914997645 556737931 764260339 160063927 884203565 476149681 607487369 87543423 520766069 961051461 257068075 399940409 713211609 551640583 243372611 828019389 985243891 429015339 325680095 222800847 607419017 23478847 977486773 711225365 231596677 724411463 649575975 141337889 440172027 745615011 926168635 663894893 139420453 302715429 5851295 543638875 845115493 107456509 223522989 304001587 644151625 463205581 237473121 816146215 139793285 850186135 863735907 146902607 856454639 334432969 392056069 15505325 741352337 654090043 212329787 804554283 996230289 692351269 565964455 442095771 219074885 109074225 878087565 301369011 966013733 70798187 687471071 672176151 722648537 97712199 805545011 492940623 941427241 943356323 797878985 236632267 753505547 778225093 448486535 836498919 859458199 751721559 94813693 287775205 679676689 107245939 632171619 984701161 692946917 305660563 978679447 76765963 432159399 700441503 710430241 584877375 924749841 290170849 728350769 578862695 724231431 694034191 213163675 10707535 387122581 265457735 204986595 915223207 798079979 766810385 516311853 615244295 679181671 557578837 931640137 878332657 226422669 43784555 573704621 524482255 342701829 369905423 116257915 664156401 577320101 68569705 423965305 915875217 583091815 806175749 155886101 262693071 830832753 956375253 978301543 611558839 371130377 561841979 888953391 221050681 69173415 866481147 945718997 925191469 248013027 79390527 99422565 924322133 478751107 764516769 188835737 846818393 140495983 626976539 709624017 166509773 431016893 612155411 637967633 75293225 421322409 976971863 92022795 383071695 272567443 749695515 755051029 246883845 439489545 410465533 755625263 993752321 195176381 93632771 510617599 686178265 434616713 507057561 269131989 493266831 654766451 503390869 38880937 596062731 750561445 916653365 32567321 586096929 952775793 587727131 663902317 388390281 904930643 866597207 820095125 362705891 718642161 798511967 971727397 640607675 596214803 520749583 559371361 800141951 365125549 191739563 397826861 39183499 509816281 626285025 967830039 85132319 96948701 737845449 223229275 875909219 46876195 923315675 131128021 598194795 835625791 65531905 9374987 973071919 243336425 303351175 670907953 514249103 354946825 657982241 287638809 999810901 636139687 351017709 776011845 28198965 468806903 930410353 191887579 461471683 625414741 690451097 527396781 123577733 469980995 870951097 427904559 752761315 471614317 186877331 686331265 862602539 688997543 249060167 600671597 284682395 893430763 931264357 170915679 823506769 61949531 609673185 394882415 279483223 102958149 54658587 697254747 823164065 956335645 324878293 71994765 88720387 669941627 634489405 832301077 768668739 605400611 608040681 580899237 891655431 243853057 581024983 522857635 26633699 420454185 548424043 307797007 601431885 384577749 289569137 626692767 182758825 882152553 953219105 297370535 211055681 933604207 924606999 180106789 374335555 486853531 775388247 416870339 39272905 740560843 985921873 860388303 977862359 878057725 324301785 709703743 370278995 728298847 620625451 109913781 491886863 357099845 731176173 975982453 253752007 22224939 263071789 523509875 536716569 121784753 692095071 580819009 69372559 17391267 264191329 104061217 658358171 99645431 778092409 91186681 928185237 433871301 571034195 221542747 638407105 650089553 78656005 890101371 45533765 315269385 565163019 430879289 920694067 468529533 547345997 791055903 176000391 177197673 283365397 371013975 145971231 903497907 172963099 53637053 251107013 820190817 118163067 389868751 276790059 261738923 933657529 933834931 700072937 551023593 822149059 575845689 957940097 489485473 560122865 271516377 425680733 77742717 741209853 206666673 296352463 977868879 697376781 752028297 157791757 345147925 367011245 29501903 11348795 441015791 663878869 322427037 490962273 862231339 935323617 556141487 991170927 358708027 447277975 879542383 292901187 349356729 197253155 54746091 788806809 201870443 565104155 96336857 218010653 192184891 188483451 292038043 620605023 514196027 478250153 955123511 304436953 277954985 97718645 268164699 208773869 570742245 543521295 818838879 350596323 602599293 799110167 90062403 667268333 403622691 646764437 639060399 124031011 843474611 595724273 317354991 56934791 281391663 931697411 244669437 872263939 574510787 2518025 117998199 389962855 35118019 822838437 626173095 968586861 492403625 436455401 900328823 942722999 715760919 237012295 842374787 883165131 537986011 368620445 960574729 633289247 115661799 255373359 362514671 819399433 230726743 926814125 633853381 706214091 341404271 125434153 94881219 356372111 322887319 489316133 422861511 476954981 777347941 293717121 186500441 752404295 10833041 300474765 559846311 321280021 530147843 48420605 464614027 605502619 405988549 351445231 811347585 801870217 32215559 648686057 607028915 711616117 365095 417808855 989101039 747431653 783503783 56101647 46378923 830657857 382933045 718902607 511763209 874923481 39463327 434053817 793909709 307540455 251528935 854906591 359993193 789528715 288986923 484671409 17347061 850239953 835514551 364240017 264857389 739965863 115055615 945443649 832256377 700810985 670561441 272002801 237459689 274067031 291476571 984055603 692574773 513954715 978470941 238897415 497207741 729016389 674216183 440846289 447733893 445760717 38732581 361144415 906968383 105565593 586022155 137139173 183582017 187214829 888733237 785496833 463041417 719423741 842236499 806159033 236336065 690353379 535700549 375761273 827349815 29746079 428029705 984216085 552773603 755822105 741020367 930568399 169602915 701043493 320520679 895750727 781108223 171242619 932337103 779973261 449310629 572935099 942706215 129074199 113890031 719238513 31167421 194000063 22803993 567839755 225569153 194339533 51354125 647769827 354308499 115275247 353201497 153789245 320661043 153991735 53219123 666443585 35995853 950475045 97102973 961305341 413395187 348828827 486592699 983121263 738340195 69186027 562672415 226637685 955081981 393435847 271265151 149791961 805311951 584349261 215693659 219576653 343601163 504711169 390463195 881682283 127359243 716973267 924172747 359688115 135759445 766626327 562367141 425063309 43997331 205694601 36988295 233761867 290307737 558857551 608001851 932775465 338984033 65109239 157644331 565121349 923032077 681014901 596558707 910974121 568404203 5485097 165656017 144503623 305750637 884249813 172442283 363935481 483704111 703299751 901994769 480583549 306207731 131435061 59507897 451617151 99059365 17067899 425372933 184989073 677460825 258183393 373967355 158694697 822381385 432531505 716186955 757377963 907669465 141652899 921298249 339651935 218494867 354096339 665959927 551326839 557215531 699055557 980866557 302121485 111229 400945639 571301801 856850207 196515213 683886353 679520753 215612825 826293635 214486141 477934967 422033229 756972981 220962769 851631487 16067825 273491613 884879387 757722363 994995497 390713055 618025679 205424513 595413373 680933957 333720267 817141841 744913759 94392003 558022997 985654611 925999399 376699765 458116889 19068947 962915095 807650719 876851499 674957515 856990297 783524265 249366029 990273369 612007423 665213993 578786975 321942597 788506623 772966619 335103281 85841855 498296893 891686815 437745273 938059933 479991681 153848193 379817105 87065949 520655995 827023287 828804611 882691369 988604615 18188953 734479031 322574031 883445735 684421805 92942597 897532359 724754497 296431515 720202923 818577711 476933159 257487673 420730317 520270543 427770067 618393219 965222903 936484885 188966759 366973081 9642273 327043867 720981995 766696393 16885415 825351581 31275087 515220099 409309263 828313091 651197295 385301607 404460355 619867743 40472075 648659253 781908765 440517989 88213965 170715095 704966359 18635127 565648965 276754789 627494361 751379865 577911789 823582741 246433005 441905277 255998759 506437197 524602185 619247995 453502779 642865049 984493963 114325389 869648729 622128043 647705785 255413345 217580445 109595487 251236671 756889921 90803207 679132087 965921267 251015719 295674241 328055007 75770643 988737201 868712667 80039209 400040771 303889191 472897999 890584083 669998735 850265465 908775421 374727485 80292207 457930301 882964465 410255221 555233213 885433777 528563739 700177325 240451011 579857087 375774163 15254529 657329961 240447989 811930201 211803827 516787721 512916619 326008283 898214191 783955933 527346527 339025511 675483401 746047627 202493433 631142647 15512315 197627745 199597959 821273195 355074023 462450707 357931489 857109135 104209883 358248383 757257353 462454033 532073227 283073515 466703265 64001165 299310287 849504131 472255229 209438083 691022507 838981085 869307153 696952667 833911115 522446773 586139135 706804585 118254979 858799153 310886539 903755749 743957325 410230753 107133223 297332975 922256077 152122293 437830377 20184979 716377421 589624335 583964305 645682367 210647105 839476657 815016837 502365775 129192005 320517321 612418261 73296387 600416797 619296751 682800697 755468419 484403121 159688987 487339281 320781411 740409111 370433207 87883617 198317337 856237961 780549775 583079129 975187467 846723179 985204951 437760467 842365821 9035337 875082541 443067981 6067107 328048595 561568661 975889643 338124695 280327911 551247743 866814977 115397207 232231817 308924095 680059013 59367377 959961825 627066513 398363925 274710993 64427077 74619035 28106489 907952405 61974577 731540459 319505183 829700155 656025925 787896311 862868767 265331405 622874959 449352601 42287673 962075711 43546175 159149593 245846613 808146149 892476213 314954275 835962625 75729157 841742191 212640973 53342835 254595013 982967133 496556181 287947915 416389175 832121231 347623519 97531347 484474455 666310083 736930935 406480503 979672067 911239641 329701781 146624847 291495429 152534751 990517717 909150939 346870031 856628743 68630459 576272449 983596731 179628971 437678903 514959953 730022535 532304977 502693019 932076675 426730719 426226595 862119335 978672629 802886677 571372915 850787967 75645551 966876511 962870975 372691633 368786273 329104353 955830951 365933617 608385249 650674083 463492985 639717981 57289389 745429655 142111143 164279547 926112559 773619605 293909709 935575863 561902197 904657761 670982317 664713895 896590133 100900257 973037107 416912967 517056465 772831207 962800241 183915903 850289999 516198061 501086117 345291545 40834653 804771413 212282417 372573261 106333781 967198247 617857951 592361909 26297907 388471125 593623459 876170843 899884447 687653367 28564761 371273895 138154987 376743953 357503747 753851249 258650379 470646409 583201677 221976823 255322271 141319217 386295051 124344797 499493617 23581891 90170615 103863857 16459245 506964961 353962229 669223527 532528171 27679763 461508047 370888797 597119467 870397897 189870201 351546967 922634771 330516065 399212303 541976069 866119987 416584471 614830547 502924155 135011971 999826455 284758579 348390965 988279009 670212977 940002751 753664025 76834261 882249759 644328755 608139893 862484111 926866179 119380851 330827519 708087011 499781603 39513225 735667409 192880725 661505653 36134569 242268019 738132745 476260687 297744689 769544657 938868941 49619187 178692511 643939139 970195997 801225931 301348003 472118913 38101781 232926247 554818317 854680245 423913083 760365377 737508569 53319273 128322755 388976187 992654891 133764245 598951167 975813147 223326285 996034965 993179121 626749399 693288629 666104365 461197569 910059845 555058171 484046989 80921915 987867175 161482469 447401289 975803481 355060519 841815901 906029661 420452283 296771795 892511093 727485999 235000677 789100713 119879785 303253645 579748105 446232073 321149853 617310635 47151869 315811643 96078237 882919207 56520513 489747055 246481179 895656711 317251195 214625473 620830705 406273719 954354939 921995057 59938853 526198285 587017145 102722983 197454561 96212037 678861651 477611511 632290167 639764743 736956689 697362649 70743653 277554013 658608099 924422381 153837643 557294271 869967709 458815935 250157303 309106695 763331267 228029629 535619163 279597693 16107513 421061187 130945939 921289423 840293005 723007121 48138721 584019471 871788731 803421391 362900401 75225277 532331615 709779985 758793621 879968189 259457535 150489679 56603467 967796573 994993613 765645161 738878643 619615313 311907489 675569707 792564955 741421239 268008183 849468739 304508661 708308243 590053879 234586189 155230045 78956373 127245427 523431111 365119637 447310801 224449503 185165599 754322505 15652931 526835547 642840993 297883213 707177683 520800945 282106251 12659099 139179275 270106957 333933051 383954775 495249121 910658375 443059965 782312907 572015027 484550749 807727743 949855595 238645577 806804217 536531803 763637715 550507211 731389227 101890133 140567749 585622993 487461797 4931859 638400813 64180057 926053579 601515817 444965407 936976581 927886243 985505037 191022549 119544039 897135837 278912293 181035187 159653105 90661327 2731701 464737347 41317761 295477111 887143153 271504443 220042139 419771263 41219057 986553203 976756655 392984885 869659577 379286767 63113359 973754511 369149743 838464221 726441083 820253487 850772263 599034253 769569303 865918809 14347607 123412603 632700785 991688447 488601955 997489483 240978175 569904825 347730899 1469639 145922715 557657283 329852697 781247461 824644749 869342725 15213711 229458621 134669441 758896913 239288691 208114581 319216269 789432091 450966001 848919509 809550893 679262979 337607195 183706387 626050889 763406931 585583335 899636747 344315691 405493301 67552057 873015709 709741963 522346629 350852825 402251735 314502019 564288193 128616825 733235945 98098333 272831247 564189617 342576179 467566529 768500543 649434115 291545907 159308871 476170697 34902489 948442265 7910125 850327755 566271109 840932149 725241559 804869389 117399101 307142405 425875091 86698749 446649125 878198825 613691157 135337909 90435141 935219695 655230139 328237553 105745039 691337161 118783563 418324251 765261787 867717715 239642609 766328385 932243435 896654413 855068737 491820825 281434473 722345895 695105853 979416325 217421029 746099 61548869 565565963 254254041 342707689 182801449 322680793 811370919 762723185 751524383 91732167 741197463 360330643 551246017 193762005 945595099 682175235 685849623 462060201 872509323 975372189 797699469 738234005 151407017 439495523 686797563 625619853 951961375 920588161 300608921 682922033 155899837 633899337 283413777 734480843 584628285 741857081 245741167 429954885 532166465 84178419 215834919 396669499 307187279 268230977 568539157 721836011 252411101 180353303 2109059 942479419 796996417 733530769 464453915 411988155 597752765 290593521 22690545 647500707 433707387 695717027 260455557 435385553 309324171 825509947 326497467 156993229 994782695 717735795 860030433 367885253 323350639 654427183 535025837 390803 713576943 274519417 450314041 888791987 953724183 802339973 719683597 849389135 725373311 663947695 829509909 385875765 446190761 521414523 651164839 802870235 635079933 422600593 354780799 193882467 654775503 763916743 14616773 339714961 347343703 194051863 177286403 57695191 453563831 640059557 30358321 356549195 99418101 987713723 805843115 734540461 679652359 561051599 163744565 326477669 177781441 160708473 416370173 138913919 591639785 107868543 710385819 832819381 160313383 127405257 278560777 462602343 359484939 155548781 635691437 283165849 386721037 592152229 932962899 179058173 971831187 259157975 235377461 442151911 631040737 643705225 785144043 531971419 503176749 60182387 467649659 189708797 407421323 468606573 619695189 378481949 189367553 749085053 700908365 928055987 894178167 4826827 778188703 440006237 616006587 45960367 898518003 76102243 124231563 802755231 211271763 904311475 100904069 750084161 651862837 986259431 492308789 914057313 336679033 450237499 170585609 939818993 708079713 333362329 830246493 587092235 282823835 260534669 846755695 270985205 984049471 599371859 717470061 200781849 123688389 64092101 181804643 780333321 889543703 998439791 446156111 285450627 778950529 7471229 63529743 739519079 421426103 153051847 239752045 341277123 713326037 938401229 393408541 59607497 488517477 14332343 200360371 472820181 286457169 688143441 904204981 502296937 155505901 472794645 191135369 455280945 814136569 984821025 687756931 108047871 161307803 333727805 188213977 659605457 552822877 361337305 884620207 231450825 391223605 577721099 703330829 235717681 898784129 258825363 337408229 153475965 343744519 289181143 442863121 973724489 875781875 272274407 979726159 331326551 233964763 317948537 822530893 597684371 900133309 594319599 174729367 772283409 377678843 696243023 893362857 474251785 963692391 950992199 246760677 493733859 954260019 618383665 928489877 500714023 74380795 88078601 954565863 84216715 677033161 581973369 458346997 328039911 288317957 37382351 707225025 850446655 3707785 564808193 608843829 970542271 179742861 988143025 311701283 363304891 63645885 499675939 565698881 916484269 730301727 424245577 244176691 417978425 726123821 216003513 429748865 721404969 15351237 3011507 101171357 648839283 220995623 205682973 705346015 451202607 862009093 965211017 731209865 972676257 63403891 211204395 572711877 521697335 800249325 443819491 507211429 30693249 649458011 194733625 509596959 643725371 78621191 674866781 346696471 616105033 824595113 83040037 43265365 788024503 416940379 9359631 222634633 350784693 235985573 34581317 706583121 824735905 863140469 979672213 336622633 146789631 7453 990115447 788011133 631277945 714419805 882556937 562536861 504450529 540102743 970147603 453625027 33855795 931898525 892585731 524619537 151135379 217656097 773366257 467861135 384513101 773050177 109159839 878628653 447525075 760952001 723145327 338846151 762062783 121986257 59492469 962065695 633471703 656583941 367551077 133621977 261040389 72264793 419202721 521929355 536982875 420655155 569048109 687045295 272664087 450521953 46909371 173515169 612658585 571945241 154452641 78421167 853168495 229011445 670572511 739437319 812268875 721462525 998506269 660696773 497461767 214440605 704572839 901048297 310805161 175428011 297653111 187549533 153150811 527558245 94197803 822338033 65798255 645443437 47211531 7759199 947765091 893344981 806342407 946517321 656589785 219941133 432983477 889035829 183700635 121581047 452677715 551290009 90014365 391439829 412052939 622687691 832706041 965110359 977220267 983032077 700028663 907388817 93162539 915299463 930438397 968248061 120150313 638951501 224335775 283075719 693101355 195684183 824512923 407946613 1115493 321510021 553079251 371167617 238063529 663760803 275897425 383371721 715862393 821172831 230529865 751582157 808737021 704039253 16024087 530417279 809726467 106858757 132000317 103936819 409478401 560098521 242724967 415923367 147372055 183776287 105761129 605021693 346811407 161656085 120232253 359261125 895231829 72445913 364407303 67327221 409725697 650801015 249254161 420612071 608480211 393186013 825514449 118918501 150091569 893104103 898220255 171050903 195342379 481604181 890447615 666820885 15708793 353245903 827026973 393474013 669233017 155732969 283277389 491615827 855814453 391567131 61098187 31234627 218041687 446667205 43664119 842735589 848928827 202752049 316662109 957767893 785832925 213808273 160097457 886055705 152242407 864889343 491060945 973207069 824582055 747815291 791508923 920588213 707314453 852675821 307084447 624487715 496805839 294418985 912570573 841073159 336665885 13927909 554382529 127524209 835191277 196032709 693097759 981953749 455808471 481545299 233855923 807735571 6825499 708184061 948901487 812083565 870930593 830741021 314427501 914501777 478041847 860751095 885904627 461657493 977743699 444200881 840484969 172838647 176270741 173992799 553731943 903189913 610551367 965607415 416608675 129366477 791360405 545130845 651630851 628564547 563584087 269721689 51359891 303385373 202176781 464047517 910311813 851312863 849005277 326001859 635015221 434579315 682905239 840718153 917623587 191161139 472808883 332386715 339421183 480734681 631378767 95586827 774147227 110475147 545443635 47344591 356447215 219279831 970048207 670748683 363344163 133183153 872909879 22177479 745929855 87955831 723386671 799929333 141562999 183858159 930404379 200401005 801435813 627555653 682758923 217007347 916753103 502668559 139551413 646793005 688435679 939459657 961683323 270168749 248816873 253070427 581141091 401025007 320362535 957732879 557539355 111163727 186595323 602424987 986085371 699413531 2625523 379665567 389858565 727478659 30771137 152829725 827988699 462951327 965284417 405573765 886764241 456767603 517460085 497022889 392295131 906178277 412633227 615883977 266110617 202360263 794398929 725972105 119626325 705897683 708717255 836832501 263385595 736131499 80507919 885052549 334493731 591210199 834201971 639478037 436254987 609160905 334659561 297041643 668162463 906575577 495807881 402923955 199562345 618937929 342600343 310769537 521833635 845455683 438045823 373977559 850018603 202023383 337861845 895870613 643051913 772456191 649116243 507762955 232713963 484902301 544870365 515058413 949033771 275518841 854587773 146362715 511418311 483330627 600959849 728395223 668048611 250364567 49547001 515287887 698516563 145872117 529920435 47457049 260385933 168220871 319653439 811315699 197623215 558971229 893287795 69974783 963393663 502434033 773206857 492367567 665610609 367222181 37264869 54537813 699982231 214953087 388795027 464989679 4778419 410392693 883386563 973554785 980833581 314086749 535775509 736694235 626742033 564585209 907558983 518256367 280274713 223964659 870081609 931362717 711752357 195259611 758596395 141249097 148516793 511924523 91120683 543142593 441993223 880775235 842438313 136187705 207243749 325815919 605692211 470220113 187753299 956656093 586154105 30756617 472358647 762431401 316922459 857543635 586205473 308504275 789608665 254602115 830297289 439139139 228841245 67927383 94212237 49005773 401969791 176411377 903496629 448989225 595317109 854375267 641578801 32385529 688614055 688687645 308284053 324193731 317264861 116412417 6574373 312424187 29208329 582386257 546263747 705533947 522586443 623026109 433113347 259933955 951547363 245799255 905678875 648457021 931217725 38927263 977087465 425068471 730878955 843024249 176997619 259164783 68747691 470339377 345612651 25706819 347502687 308811135 850888233 383587071 771851025 31646335 944401833 884302417 580179189 782427319 221303059 768044245 790803559 519749651 962417465 140653577 128439273 202948841 180917135 402440795 67001639 392305909 291944245 22140953 736262131 396395101 571832821 533197435 445565771 687465647 938690361 781980837 802271825 175269857 329799965 323111073 604032335 265940813 67209055 664573021 632690361 508202683 245699173 457330355 433205803 144152919 421489215 126685287 356129641 668343481 71281573 619296543 858859355 496532441 579668725 792025199 251182359 946999329 220703031 659845327 111583959 373933659 880360731 718105247 194357503 810689471 708718581 534486313 657995545 905679081 283025609 323059103 196579033 76408031 655052091 562159129 43734299 70474251 723069593 65047195 431169251 667482951 336933087 143747595 261255257 737429709 174663081 494282045 147551187 297637187 218731837 106448359 3774155 289614519 326634893 596116909 293932773 108158365 539306289 388385047 496344813 92073939 596929637 966363799 16910803 727174559 46361617 411558791 625521079 957954733 730872519 81608997 664199895 577110291 952503739 857175453 651526819 341088335 9102285 959545601 722997419 319310915 657098373 141464135 880598955 487003201 283303187 723375699 716079239 39863801 591265613 934238445 723906891 66746509 332901555 499094471 14456361 310863743 216389483 322588537 529214587 748419519 355043141 736354951 106670023 890819231 552435385 718821463 924112567 429102303 499769317 802954299 737922589 81842595 896791441 42735213 511889909 550708089 573357611 901463823 250550373 636326229 650772173 584980777 416090291 108851093 929662003 754003373 282076759 359052029 106069447 580803187 359941099 495082941 51656343 522785597 735373873 134404713 980872281 162476213 124387605 949049597 613521519 324714347 202159273 115272161 51471583 643168475 619566635 558191839 574218071 425412193 108069115 74087469 873041455 846982731 804554151 619817835 528289127 993917129 569501921 912030875 556361125 806682355 545616005 709872939 782607675 601064907 511348373 362110193 885855517 441067323 323858493 194020139 341047787 106926355 252358353 953553277 581799661 126811661 37389001 100227827 635271443 712025291 861114061 643781893 619038195 495314133 983965349 473555599 770181837 389565339 876563013 901328087 545233799 657697145 632882377 590251143 655817137 19024047 110045043 623636153 718444931 881756263 421817521 430597607 584591067 603499441 669287185 795740919 89835585 423902343 409429587 340169783 991067107 661858507 129521241 978529883 897534107 333803331 526252077 167472003 406652645 114457253 368237317 937156655 333384683 132361863 978051897 977560147 71014521 415182443 272800589 636356671 570047499 620390585 700850413 38448049 570215357 5450693 692839405 308234961 388822357 710470855 334762823 416122153 591934021 395109601 431779359 383872689 163540643 478753817 650766017 235053763 204457519 870024805 979931037 390211881 500265297 233136795 450096209 125576459 542824981 698018683 848545441 426171907 389685045 227502259 349205365 680034569 327588113 331262929 122355173 666794375 752839341 630432591 901131303 828047433 918647483 283983757 89664673 114367619 628699279 180493781 66606813 837078227 45907245 830756187 620847249 267723839 299795001 973119029 612993685 407573299 396437763 752004195 612579311 969598597 219337603 191475411 157006025 27127921 970579799 193655379 650150261 398832029 933246663 594233499 611489135 391594521 630164417 769925455 579092573 391986261 600559839 27526905 472396549 111816243 224261725 182276615 338189919 16856565 417102117 594503125 858987141 183402313 750360003 764048289 448985017 421544517 474475891 975698329 138036581 693412455 907686159 628731851 530682657 606536083 488791587 884337967 698635171 115724565 187257819 24194729 617634259 275656869 884236303 756031491 169646009 759331167 264556095 583226603 933609865 192539849 833718929 158294011 750598813 338737613 242211543 401087415 19660923 649832389 978447237 710839173 983708109 659385195 981922491 842550457 327159655 746787301 454364993 881571721 219575105 974544833 664170887 846439449 332486531 239471093 698682019 686332787 552253301 500135643 378663251 144421509 825797259 717360955 333925635 962837801 603117409 260611393 809633981 15675171 736739513 432848259 581658169 923272985 797548159 345667071 531502809 111687069 577691847 55237911 626805923 901249579 861560523 736732827 941097797 423800353 317862383 799979713 919564569 594377 928978109 408206117 896255515 261631317 714242025 570484683 371183349 721343965 187589455 729483811 779723765 885061731 812446449 623163903 618076177 206269139 399423997 348551327 781018601 337885433 793184705 466934183 568408263 689765777 47614143 365581349 932815767 232495933 926477715 114600333 67843569 200378757 434168847 201820861 229348629 103334363 666884641 668493051 433772777 572476055 53871335 20420851 517386495 644854781 99851685 65899963 263202699 157526323 588476611 331320271 720123501 48923979 504319191 60596245 19254829 999512127 569612187 280463581 133991675 512504305 212462835 612813015 130529709 943259945 419970539 716392485 143595201 243426969 711573941 804702537 781334369 956262361 991373995 867466801 903747163 139121771 333760849 553240371 108953895 293493945 287675733 130695181 796323555 885213971 786113159 438395107 562073943 566949043 645607909 675537731 817688049 282739899 525347983 540341025 997604553 462107443 345963729 73563609 762879905 280644619 612181281 638457653 539372251 566559777 994501913 336751199 168273547 164700209 711144057 689455851 684665189 923642343 126441009 549624283 422760395 949241555 750231377 319088271 45736641 796864879 864450583 110824407 311309561 684955163 243866851 610547431 996231113 560479779 363291971 114875487 819524657 809921719 712230121 544069951 918162393 156436463 772486833 566690299 63800333 28726221 931957149 128954211 241967303 85872441 316724183 451682229 470931365 391581959 436197815 920809369 146446575 290330351 488368309 123484953 371965589 437334163 426294387 400647341 135754029 121399417 362194367 992979505 591719157 222919959 569417611 722741225 724234455 118846915 693738483 635068805 190058337 576480703 491247417 660336919 291741131 31808819 574280393 404114975 139449075 61065779 171150903 142013057 605342815 729028023 442776123 305166731 184018755 389276833 128159677 722931953 21849457 533899959 637473477 611331025 161525867 977636271 710640519 528732593 682946649 63943709 777159007 415845757 27993353 917623943 26373585 842464395 193174257 721130581 954699141 604420503 495850545 301675735 847020369 323316681 417900947 793958469 606808367 565593515 607917955 807173829 801299265 419883061 353697049 171674971 777246935 38544321 21810965 589963515 816400223 113095447 7207133 679037823 136937335 568865893 634196865 920459431 192133603 32160317 200197305 407167771 975633035 220894879 434847715 650027375 287195013 842410479 60372743 548438811 491590155 460307961 682090453 746308991 779388801 116223733 543781539 269741797 334440561 577184895 654823791 274199935 454740369 899583645 229530339 805466727 81430201 316212409 175668557 24646813 517466095 597273773 577210277 570536457 261796443 59777971 171934857 695530623 672555347 42830707 672274751 618018485 252371795 453023991 104096443 195928911 260018427 632318901 218964623 210283479 898421783 96784011 220468221 222045627 125833885 336838335 3967213 190988117 150903717 599737087 731813611 460967657 960003701 555406429 640380979 806346653 268291959 386392919 540289183 286464645 399547197 817706709 810385083 82071959 687374723 92738849 95272115 85381815 240341039 408388339 630291295 214305453 658038857 46278759 394317117 836059179 7083779 675911681 45728121 93317835 494812349 260565937 21124829 494304779 732648439 356708297 159919843 516478039 623997533 572090889 744700585 557958145 236854209 301425301 379947511 605512767 809734433 449042171 367264829 505389621 845948317 647659823 689769359 974278123 300297603 331772049 643692977 707042643 97126213 283147489 143108359 233481031 957742207 263794001 223380897 596093573 59082483 532880757 251635253 416848569 796766093 535451211 517766949 593318771 221748063 372924725 672204151 559344431 184109223 946327299 988801497 255032395 808251847 908400875 134916515 564826641 372443209 143078281 359143381 857774001 939843041 764505569 997694999 410513225 560356715 179602529 976575927 94354133 808423913 811359201 270614187 180601153 785387911 648661145 475808915 816889693 667905177 335308595 455267769 171688163 110533273 589105083 604395529 314304885 635465513 250084517 895152155 539665819 465060121 161095631 228163117 410630087 249845591 511651199 626156843 794348881 694681089 249172831 16235935 16530299 793357657 810743177 322838211 104153199 155691725 619794807 673080181 326654013 902975979 421265169 777558333 900505567 801357173 498854305 316178249 969872439 136413767 223435997 381986675 617231629 152038003 381339107 706207033 561071633 556034087 396013113 870838975 150658015 532745409 282781389 705043417 51058423 613011909 157991665 966944509 251714243 282390491 497721699 337621577 579665043 92632537 761891659 52650115 941352097 595227067 197462325 417225245 197249295 673741729 987359763 420359727 789666533 359566039 434904647 342210421 104560915 156693715 661673621 122127191 642328949 711500333 326811431 762532071 530911691 171009451 343521431 27453401 610966719 503561525 395604703 968091535 441114849 812093667 611940965 372189709 233448875 71647723 353183479 791019781 798604925 547018163 968486601 477339341 421528995 263922375 750652281 970316645 910490443 723890137 134045965 56226163 315514513 45733571 513646321 123436359 751894645 880207755 577192699 336580569 405402337 235962715 235486311 6355399 932141989 28066181 469276381 518440537 436515705 327339143 545560423 624578173 662312707 906408193 248348029 350326221 263262663 324830913 85278203 692496775 921543483 237477305 829228581 300284303 562464691 969851651 26042025 817129337 377416053 647167973 664495775 765610363 433771945 485351113 552239743 895151985 68904799 579891779 988581683 510409703 555128975 530991117 871564551 230029065 792302367 175827465 842984111 901334449 843366867 154011973 656259145 380926555 813517151 209553651 173845595 270475311 904046429 570483567 599332561 916350463 709469005 601439547 541962239 260169023 890128791 94353923 466226087 532537103 497684623 653781403 522931689 494650169 466325355 76990205 800008277 915632423 488042833 184760651 229935839 700893941 41674309 200851157 692125415 303880289 186602555 270781961 934975535 694643153 505915917 999023749 874779621 667927893 450129529 256885771 953281439 868585381 332376877 324202375 139557467 188844831 87812533 62117389 716927869 739729611 45290639 553252311 337493969 888699225 522750489 543213897 299127951 304064029 690629533 908385773 296045139 703423003 467454541 400870777 539407905 481396983 309613635 55006405 69596777 488820735 812868477 620907733 954585599 456589615 155513575 408114135 488431903 478763043 494469971 688449051 335704687 700876577 473043063 772320029 972317181 654167579 813890551 145322113 277876285 573761449 948496477 179940625 113589005 484569095 645217303 458542019 553455283 784488989 227274879 868008623 964535515 169143933 356352727 897502747 832812955 729648731 427623241 127001967 97663599 110475927 210769895 114482753 861965119 421502137 659483047 41694029 511690581 371002353 710726509 259878259 651644521 346638357 160959233 985231039 369271191 412147877 47951893 339709799 682522723 509158343 557147969 529226437 332550075 548523339 323827977 516035161 617018103 783746473 932853459 871450323 414498513 717921535 423131121 288361219 943273071 208868885 742108829 993972967 414624349 659598681 546442489 805869727 41737107 237891045 725735437 78283129 992581229 368808565 818339531 947639527 750476209 509063795 23423755 937296771 273184139 526313709 736354959 863533587 889168529 309713305 488889345 676578433 352495295 339686873 521626611 892218593 448243323 295934897 161378267 255199851 709603219 885878997 923567387 616851591 873884221 465031575 531173887 701178301 394202643 214123001 267993271 764204737 559394077 241483425 193879131 666982253 334836937 220321761 864746989 353512903 906477801 943048877 369869143 585628409 77400765 939728805 45736041 255718999 755053031 94906897 568251869 997491291 768545657 141653217 577633877 818911655 765416165 804214187 64001881 521893899 354936073 499970479 134128217 835109237 810808617 782252755 490467761 315436803 898238965 546757799 130886561 948276215 989198975 508303203 903143763 714067133 976794441 18823909 564708311 546755049 246935859 442993589 757074727 747201845 972309133 47235073 92868901 650952323 26029579 562862755 665041047 220556003 117354443 521560087 904634419 754221955 391473235 714173319 885361551 100643009 328844175 458524607 319340589 169610015 595643349 310772283 272131703 12963915 619807971 293182997 953813693 356261397 170427099 673077017 525805111 917352313 94784847 692638387 754689547 942071707 664135215 837608699 828874301 756892357 677879005 832745393 574303427 448728941 117747483 411310909 922704499 168513835 38843929 504968107 559130127 338437571 348110185 498370997 22700351 652779555 756008459 576148409 732973463 687068507 442394467 779012801 708312463 73173927 981340735 189796215 764949895 758001515 586012627 425428279 10332363 552444979 79391933 155454207 838233737 663024561 820406787 146437237 514070237 632408767 191217169 920423145 206620613 195649635 709003195 964351571 708127279 378803909 802675011 467971665 215595241 177739835 887335241 138613547 695068587 868576833 879576541 171791055 585842715 863425143 393049973 751080919 390578365 673670059 60038123 377371263 901396997 773102287 769340295 165332913 870724941 296326141 441169911 624155641 856530389 494583675 677147981 148480659 323178949 491792051 486956297 387253849 555516209 342710071 503561485 846767831 993890063 70334917 409453227 639422265 415468611 614562109 752968085 551062871 448260247 960810925 66552553 329700529 619591097 900431687 257916971 653523821 328323651 798085991 670311499 919043933 153405625 679094159 342166173 12060405 29525121 565265515 441600989 10326101 865712367 447547085 841202481 749960261 411092025 182130355 823520039 997031221 40331907 243742269 374804147 628088891 21181655 120619705 215486005 533563413 268955171 259044251 467874925 813596717 189682241 782638969 518098831 590936977 704100085 87054621 53235755 306410489 501213925 857302125 106550335 100845251 155900579 637272957 168973875 159329783 34346411 352134027 946917841 499279171 50587483 441340921 350009681 956274433 760849917 397850449 514753103 800904493 458851779 846407239 604458191 479109745 169534405 161853623 565241919 757078809 148685063 298815653 200648823 448473121 798942063 434890041 166774961 413466659 321354959 711322569 411988627 223839851 471962593 515569359 559348523 438490085 825091399 499647727 968653293 346126377 352927881 706257395 925161399 890511479 89050905 60756945 48741839 862295733 676607823 230585761 297189089 156499061 454643055 148787367 176351233 571149291 634189471 777637201 810593201 359521015 690644465 42756655 196783825 424303649 804732255 211914493 291663793 500162969 143775435 137048479 219299591 717543989 779862269 330214175 131842797 586151027 673915559 703509171 35388909 708818301 989908321 316330163 744025071 448554017 205036205 976255909 165776203 746591703 136810229 862961457 219960255 392167869 642660489 862701871 662602095 336418713 366942883 278236821 300408295 322103519 254038117 237853833 437393183 108597665 775431639 103913815 584694387 64265635 629198059 676158321 235241897 35199303 989138041 104397937 217659883 412051617 803209027 656279581 97220819 457769573 636799219 476339037 979416923 333422325 816591641 19895625 332574441 205245269 28722223 655232023 784469067 736344631 443955349 140773423 751797943 955442417 24109975 37672727 762102983 822366339 686603877 691001479 241160067 953962643 352067863 188152153 460321111 463712883 713642415 839342223 104954649 211626007 461121813 359759445 563366151 696931103 648498207 825821949 57556421 207797203 664627839 792235525 988343647 851935267 986041821 417021197 255950925 540400805 465871551 42763491 120120425 26528663 321293205 790293625 541362685 148964835 93923259 503526379 300402353 219160599 193326193 644486523 396368543 989554539 249062881 602427029 927903553 754676923 550273561 903747277 736680573 76609427 217845783 82360029 979999137 216407841 253081787 916542889 204004449 855785785 807091147 799078203 36500955 750434653 274011389 206714823 794383765 843018677 185985253 830171305 532482683 40619533 124673033 766412643 907890147 102803169 234437073 486717089 326818953 613608011 246148493 312254263 70160275 894136599 899420021 477502239 52155281 775050161 561587119 370152061 460377971 998644017 795222847 501936795 29236635 251453527 520323355 290465517 694848715 943611529 254644503 85267985 883824433 476162775 676363001 959503557 500857701 161470201 15305063 388358903 753683807 229002829 314403573 996262587 582341001 345418971 700793115 943681355 852969391 326721107 456334137 884099595 997511685 935162635 957771161 555906439 251365417 880071425 703253103 431223919 877527583 117208287 238278863 274791075 352659799 109023475 814795711 617366561 66664869 258633269 243236645 146049049 327586373 861038915 699842773 589988315 302201565 551645027 223021445 4630499 665577083 811847561 113630171 350290133 274003093 566687559 68002139 494566525 997829637 86611935 901560697 256376011 710809107 8159545 738619535 447784671 24945515 557536993 557882075 913070585 333657379 892030739 663274377 958621827 404719545 989628841 267556267 488025363 645700113 744933167 610544439 610213221 208277623 525993423 527321617 953789273 205690787 642986087 434685187 22903293 63829425 890474351 272377019 60679811 572542757 51794965 127745235 96854853 553354735 473308451 364754125 699262153 462796385 947233299 54481173 5947065 695643195 860480003 396734455 318692583 629857697 919012539 889881263 967450705 704966689 641065387 282074719 861437975 498601903 688447207 638051601 178434183 618332073 446662707 789354673 675770387 14414293 852112371 707528735 963589719 773961567 931019319 588739607 402256149 852429789 8302517 889077317 855582009 936680523 250187471 351548987 113643991 41652753 207531147 522573423 328485159 66148345 757532055 899051845 218990993 212983099 944582987 857812997 113280157 712168561 904888487 26008033 160146431 127278757 698397523 127280369 427001491 795368511 336216733 898085175 817597787 504997399 311723643 764393885 643477635 215401067 300616845 937344243 512743007 733445087 711593245 825221875 105142889 407709825 593448469 726683967 572145733 158625477 188662289 459376735 73295549 66302601 525983055 334055621 186307269 293345297 889573559 283759561 831716473 294816525 647301333 330028717 786007581 204478353 957648099 709183899 671662873 682955545 626897855 509654691 253359875 693341579 198641905 552555711 492978837 192769589 461360039 89640145 500042419 423631565 494217659 163970721 21359463 674205293 502723753 835868127 25087719 134532253 151404699 468570921 524478603 578073673 291116383 59210491 590041047 358551751 193438573 507121855 817021817 120918229 850195681 121802185 524101697 636206487 462691463 475362897 657254955 80951705 733156043 639641721 629240155 122566099 719179463 202817865 328182557 12240033 833999671 172544433 39474401 132984519 921681795 178684813 202540359 153943157 445538493 472833693 687273229 888608317 202795673 844333963 841542179 171253791 224223865 323918055 605627545 889020033 669496929 215730731 728773547 757809963 88902659 252260023 606754495 297011801 108489141 637003991 264818267 413078947 114624375 277326521 477908279 370320657 918056431 542231417 500937005 395249679 754996589 420556311 179260989 332233331 912960233 322248317 780004247 44752249 100850945 229199995 884841101 269324489 268444413 624019147 806973847 248394605 601757131 978828301 860974429 899941597 590313733 63310283 390970789 85942771 994298343 323745657 962075751 297006071 60475483 141071725 449331389 485136279 344589807 817208807 864414697 191485413 832041691 62504981 828113495 301766497 835898619 744975109 672562329 341484271 999070427 414031023 856349293 112440029 565572263 282776825 270075829 578782687 989681975 843702951 759183227 588546067 973446925 667743341 457067763 921716733 152607051 295886309 412114039 844841869 403051717 973139087 386386063 346916119 15001327 962940115 553332961 607961687 661801193 46009605 280984897 633782133 910518907 30504029 141585069 529860603 751879957 11745787 279664199 298812383 4124365 80525801 205504089 987155071 591935331 157681177 761296215 352641443 211327805 816443749 782356701 91161203 397825643 328597643 147121837 965657223 843741093 502566201 702562741 6458589 57696073 268976891 510848261 85711575 278569567 373771855 632569561 106961223 774090647 645970835 668829587 846936927 327818309 654957585 610027715 521339835 698236781 875504379 953883159 504477541 589227697 410206315 983402605 135497415 319378789 721705055 245256393 424034485 981036415 584478149 230090579 985119599 549780635 513324393 36181089 886021017 157789957 518400265 598312813 898668353 398703785 37187139 883809819 255017181 237363743 614395297 499097399 331991111 354611625 725149589 296767921 601456583 425839657 461837175 391778215 59981577 644993073 655532171 897759581 707060771 241003259 104612087 509311549 385941137 751790433 975933133 635401689 607582267 364841197 545414919 245166829 38771307 17073871 147533447 119481949 931858649 345026781 960514325 86812725 635553951 527504023 306263139 362409127 282355015 596300323 490007819 590067981 136072121 23270737 604344203 911911661 942072653 512904857 312283471 606825199 254193857 495855641 364175271 43366379 767036729 742306969 23828687 377021399 279785283 875280519 980375779 433105115 389035987 975407357 254797553 823893053 302301511 64136375 702679017 333906805 636214885 235769631 8245667 310027037 482528601 566650179 260479971 325096951 665668791 822651097 118623567 777691117 598071937 440938307 507803769 333100311 989789975 182050437 780491995 336023213 712683593 79476817 358375383 290104337 882364493 468566271 289103797 244252625 452684477 842060427 873769125 724764319 184724897 537461149 421045699 213013079 163576933 19166855 41553423 292869371 507976929 365059133 349550963 147466167 225782861 35870047 604191167 308691421 369587795 559430965 693156783 512141291 798166527 873961135 473485791 942035587 295618243 315333475 629706717 580141423 783433089 323635857 413682457 977258659 58646397 255973407 145040363 365794107 33664867 565713821 195740309 816111737 761203783 406571843 101522495 186371785 46929577 577905903 697664509 995475135 723001709 545778471 369948615 332975125 236136673 444680735 755399039 675008687 324621755 52495017 897111533 108276631 683313173 818285897 5072833 233767425 753010807 706277667 356255383 539499595 239667405 551460613 21543919 814108403 291972973 697457771 785396787 665829287 948764179 964879471 356785075 804857403 678757607 232848093 751398313 245762985 86458739 509727521 681865013 619693333 330842031 778040659 101873251 468509899 381484279 606709555 175325473 523835707 779001103 57053993 560509003 807170563 205460261 371566913 371984033 181316839 181290193 704141877 904301003 697222863 468471565 742593635 164846429 372187345 382337855 376448213 561843151 404691241 728813107 493743157 547721601 876225079 52150051 53263327 714418111 956619143 452232871 711731409 951242167 375834831 721648069 489347249 848374661 559174887 901803757 768485583 212125481 795050197 436810995 290765603 914612619 330821827 649222163 749409099 634262911 733630723 956211445 947705231 549594813 42767121 183525795 594757597 743406309 635747987 40322195 941663949 39138433 204839503 892802469 163219105 755973123 324603709 682603803 219655739 68452549 333966199 441051811 503530543 186531847 517134653 201652309 502288307 923373041 555379711 981815721 192873891 197511319 843468111 234562185 380591499 180587247 271832549 340782145 841102487 235663327 746399401 830068869 940289695 784657707 453566881 818271857 449245987 503006343 203420421 975086991 858657353 522523789 734083119 188254921 392970211 275322811 223567521 896926579 566621797 602609021 246519047 390626893 52065263 293588773 729880117 671860861 922232649 175018219 632180771 892479629 829524707 876181231 273269497 987558771 315999699 920293435 732332543 151295373 151022807 584364993 269929641 348510625 465311577 407294809 632596883 257340379 641832551 511370951 827262847 101828305 836512697 175069361 705401433 285477505 977362605 417081259 443399221 698541389 57292107 973813547 682574925 780474631 857414977 700305557 694371843 437341153 90142953 662412849 682277351 672819575 212953151 771789873 409510567 874459603 995076589 489350573 893291041 328754269 278013503 947895721 567144535 385518831 42961457 126701579 407929461 918483649 852457565 294999717 773390799 120091517 452112911 295469619 270579423 208888367 156577843 477035857 421439049 592210507 3922529 794300813 775402969 576256177 49120729 507435607 931592063 288810145 42474625 687604233 616272985 576795341 414666731 902330081 909149611 575302729 335633483 905840139 523215837 95503249 91254657 817469591 994660229 732163981 158294549 1419903 992685661 702489223 562055223 867920293 85384265 171534645 951415483 871548625 757994069 636577719 622312485 194917557 240325553 188356751 301359513 649721577 376672957 609886637 87464935 507823855 496671223 471908195 156338823 102988081 562481935 661287281 92314775 751161855 563732949 829008377 34064861 922237589 355302213 578153101 25181645 818271759 737409669 498050847 95567481 419292283 649691 512318733 111201699 528284617 734566847 684468251 277355955 261380817 11101129 984831353 906854071 714863701 3360191 575930555 822063461 460654591 688418955 24145629 266395679 793499487 988091199 69866821 951756777 743203055 522316313 295819457 685560693 772414737 445117305 208627333 423842329 2921227 980869357 608272689 539254485 915620883 707507239 998617031 505880399 74728511 596911617 416444597 542488793 573416337 30228353 731697361 325259111 783776499 283633361 397964377 487882905 964626741 620982853 656906223 136952503 723827217 677928789 115846053 192200625 197456167 71501737 761054699 31148059 89679107 372762121 684779171 429862457 795080723 114100585 735208463 267592943 358484915 447767525 166167007 856967373 74880291 149482431 856724517 827383563 99298957 179554915 537754209 365464197 770069505 809943395 361282167 466338503 67912311 904995709 762388917 345224445 219760853 233811859 782056399 945733889 942515935 850207151 72359397 88448591 959961675 662614021 309291383 904946961 113321903 3414001 847656311 761168659 312486795 283995381 913419065 62062801 136330573 714513343 44045179 72612453 535465027 881749789 431711071 596854427 166732455 407158031 192574325 746617823 975765657 250362295 397223603 713727817 563029283 906315359 490111347 886698393 357107513 13208701 207337087 286356533 365102255 624285865 195340287 156954669 454918987 38576039 918707851 705114425 736121269 574556517 445235745 726714039 207358587 202338803 170417445 414178479 59472667 144936589 395446115 665222865 269543155 948764823 148759315 393739635 181276239 866585243 438976465 633269395 837109597 898729295 565580195 6141659 149244215 953723531 274048501 703016601 397231329 528669781 397221019 558676677 481960513 180252117 292879575 710957563 639731499 30093409 899832905 969956743 83462231 171453555 54458369 592857175 584078437 256901297 381765491 443010047 491288287 978611937 192204159 68904897 775853367 561280763 31895399 614599557 442984391 130445847 83646425 127591639 73118925 764967803 318618091 942320115 97992053 746538897 85253659 893793971 322495185 296475883 891369291 162610081 166794969 726794565 955670989 701367533 249201517 847236229 667568721 418552685 300551511 615388081 509192953 556830625 794593609 745601025 981387337 61083823 501680859 349948879 489381931 863528809 375197073 9664925 392877817 216714051 72199633 981064981 692257389 400941917 408584173 950720015 61870253 894483839 858501921 723473281 330555207 111313175 542355083 97803923 616023087 567716927 375657013 533718925 392746179 529666741 130216465 783699171 801270473 534211295 157726967 559346735 916897645 451384011 700479401 831456569 635835461 844238645 62134225 274819301 96098893 702293113 804313857 27899981 969549037 749642143 301484463 40863657 952652527 245352789 356083263 749458779 319036809 516392179 352103417 499639025 635094363 596802425 607486479 590353439 256202087 40508559 260521113 647868859 4179485 295340929 997186969 431670479 966971471 873487435 828549113 997316993 740878909 557761671 54880905 724262439 512565387 494805631 489870597 981425721 91403077 706176035 218346249 213663071 705495267 479631369 397952803 884590177 476622145 173302385 747211715 496464949 940093605 980396609 604479041 341770995 274593467 364554251 450931679 780604127 292580759 357492481 952663751 279290725 971665595 111101961 594389257 486383641 826434567 975291557 125343649 825460149 979706059 334304261 552068971 651853085 142681275 141774851 665366069 302888541 908756727 207342107 138280367 353009573 114773761 74525303 306626161 203800147 308240839 421513445 883463933 862316011 792912031 762024413 689345725 98768149 910748231 316351355 242373377 577020071 159460833 194722955 673541123 224069275 46146047 253840761 804796899 493222167 190100371 845985631 325160365 77122401 602942203 207129337 317754959 587675377 611029243 517642159 18145701 309072479 7054787 881279635 377365871 440061553 519956453 611888473 842268247 752226575 771069793 864716641 12745453 622532687 551113371 213981365 259547307 918717805 413566817 378613505 45120241 151335881 733596135 162836637 596228619 673774577 616680909 911987079 692792361 887585943 305404179 257752683 419462753 504860565 155132715 550218131 174355385 423714033 58501097 537360889 49133081 371824085 770757259 805948987 272555857 807836051 608930995 89323425 574549019 712077993 731508083 189452569 847070487 75497399 58862651 792410173 870475217 821819531 500251629 905309769 797313975 124270359 493683659 659470631 102180133 365756533 954080389 205950053 440684635 332701675 657499949 84403769 737281153 974438371 135904835 58252421 368058539 237928177 764782251 400432079 271771857 5595853 963102385 850468421 884419283 206153055 633621261 52432063 694033787 167378863 682176475 597182909 8181117 936970481 346604961 352024679 384736877 354043265 22648395 425575817 896083921 85544417 82159663 117827231 516482063 820116925 556837129 410485443 274877307 848416489 755296511 859808191 363654477 772461663 639627679 947165443 493613221 65421633 21464799 237750949 930479501 199511517 587102233 80473189 841029111 370175143 783784725 562996393 334162109 283451703 603351295 77023105 497819807 322085713 341270383 62657957 26978117 703362529 939607901 20019059 304524355 9294331 303252531 570574323 485230095 346460633 856512187 130277331 580496653 841598431 146402349 351606381 901715077 328759703 300552485 717558463 143672745 344222901 507314345 918125165 801653907 681376791 370184483 23753419 100652355 891417787 482939245 37941199 901120161 318495951 71371201 85326101 802768255 807255719 20125381 785609449 74929561 701342143 397106823 985548087 391467149 353154999 134400891 33954455 622598373 951869787 168289663 949103433 864383251 953298849 878699737 542724661 455496303 442779809 467424565 899645927 930010685 125024415 581356201 307217305 171220131 271656201 733743795 733703723 909492147 493703535 389973813 615469345 195996777 182430861 449404801 818272685 631080865 20538697 267280711 783254437 91571499 357381545 159455657 524063881 35298481 726929381 92274729 821436543 984456915 130026837 356510135 102914391 683029005 807074175 719309221 142963593 722592715 826102541 648348851 106053427 683077469 212393681 378526213 567600925 466007295 576000713 690650153 270906293 595071693 730756373 638362643 403313685 684069333 255528707 905238049 553721593 50181383 667656709 128343319 32341963 870381627 718056629 193492261 249529241 390699317 394223577 719765727 205655577 559815323 295928667 558277697 472674477 623153407 897559885 908473779 763744089 891221467 709218541 172763391 78366159 533215889 9244059 991884379 305527399 454311785 499171813 484126567 712449821 36807315 21127805 781987877 63300761 755511083 535718719 857909763 188222765 479743539 877456429 65123031 949941709 119951759 409650803 204646879 366245657 893509399 656882533 129019071 850934873 64575871 490279293 597982339 637439101 375298409 233025885 299081891 857194779 919464033 815543507 320761339 234508659 736707543 275492307 802105807 278384491 401857059 299264371 69917391 544289427 673930119 862068989 959289359 674092321 799134509 862702807 327606795 101658871 695988773 193270679 838716841 266221723 108490345 348681463 302816567 580088893 516093401 667016409 581655401 63698097 638939457 138204237 719017567 573077627 736851279 181888641 761436825 314668733 378206111 153100755 467362827 164857419 16782257 47795397 249059589 573348507 756306927 745176325 404902725 127146697 531677865 868143715 98810611 279336097 815619865 255161307 214001049 63578511 607607903 332504209 853614383 503740843 599657607 717839567 611110671 495579829 277086591 521520393 806622467 204737811 211415587 115472605 555096115 249610967 812058419 262365705 851959865 962327733 879997015 910546813 540178957 711934733 476270883 810789449 804929305 467404007 501283343 832356009 295855657 493520627 954197883 313701633 315645041 784343175 237313203 793753309 102731407 275409571 425470181 718202349 687014281 678171373 222273069 757352721 751920587 270279349 257483403 408048967 12373547 966509043 401027303 723988159 632693477 171726917 111646741 413686729 326299295 616911345 382211533 54163427 521301865 793798891 778142127 620203181 318043571 736402373 859023429 503707381 851249503 15327427 754040835 815432107 584299183 442830023 187161149 37988079 926824273 199000677 594336825 276178177 906242395 5848273 829162525 152700749 936009803 622635245 439370237 420775269 623424517 98999359 260269777 395569159 170366421 850333173 782577017 29242899 884695923 907964903 505815999 18819991 8863739 569827733 824798549 196502725 53591283 373637413 732838101 395981047 799643973 98198633 240740541 524706739 107187787 574866901 65375867 903203235 976427199 388659593 473618779 203745179 234986439 861808205 571593627 14374293 494799345 281444497 405019993 10530227 456977971 20996459 844355999 391028035 483313895 529883545 623231327 204848567 941660885 427214981 830283891 273298859 566787625 629118781 14437017 111906785 604289913 328252281 811826813 380880453 874563777 495295127 424043697 839143659 163202665 554487967 819914411 58916109 322089019 348925247 194409935 958371855 663881839 332986577 320233061 86887547 100951201 252880721 955690655 622798597 485919957 58734953 948121495 845378441 630623355 301280613 100383307 354378763 25075045 79979585 800731815 949017523 399354067 715148439 660485755 54164951 153300585 479490995 304233091 631650033 262700341 11939969 173084509 284326309 520283307 386292377 841467539 648254397 836436905 228189499 45949847 380525869 246476149 337512525 155711169 957326611 103459515 892410207 789036115 50100397 273355409 236599977 585168759 628025449 163102579 644567051 823533885 607143131 104519 89259017 914896801 453596095 343328605 126418645 482293375 403179253 945783653 957552451 117692069 873258889 784780417 827813335 247128771 296010417 293721907 153863605 8098929 551526085 931936105 165197229 901325619 197786187 534070649 890991415 378083181 402676971 475411233 618475375 468666231 529815675 254412421 575764513 370754181 111456759 253301555 777355451 125002169 601427071 472458527 177932113 456362271 498074721 752901541 822590885 61255335 445338637 898141839 972833311 688274729 326325027 696591111 109483725 216291175 526989155 770422433 972110949 582770443 62037431 116117087 944897865 189746597 877830455 849270177 207529597 531976623 701862425 100462903 351672499 393259915 726778563 673321557 263504193 740961919 458346689 782439321 120794407 991895489 540802501 430466057 214010379 442004327 362825899 467779091 809651519 728236403 981238901 578085513 769899191 934380751 159012687 499869097 421779987 702469707 636133771 900977179 130049947 111431073 425289895 604234729 586982719 307616881 113878083 310264715 462537619 49469767 739665709 928095965 834215131 131673745 791717463 892696611 823261179 921044907 312019421 446456589 443677059 813155285 876354561 662141357 455046825 455529785 668285487 360462211 850796623 895555047 217305595 370273907 612435451 795581657 602096671 853626315 628503259 467495151 395549565 364506943 138704073 989290485 811065891 542449645 730213185 796757401 432264773 893576027 322931821 487196791 604595515 807162997 693138969 304780047 971392137 412891281 363427009 472161481 454457563 285428331 444831871 825588473 465476357 395155243 587511839 404204503 559013121 309264219 393254923 400228227 579150067 481008113 338427233 926744329 892477477 16021837 294790361 333410135 91790859 643018801 123259873 225019465 394943297 522575053 822726019 303394205 892417675 472281011 116072313 787304449 402428881 407282915 681324833 549182977 278179113 365136065 209997955 485506843 771706317 582489369 339539791 58605741 564352801 411995683 451973595 794440963 921806257 358563707 43934757 81201227 786054701 418985767 934440151 796653985 341582963 152260753 847110719 820726787 107938439 947850131 275395925 206416223 105460113 931203431 278595765 27442049 657580777 458034613 674118059 471941927 80884485 286756743 192117027 403121903 153223307 380038227 501516471 976981091 339131207 430529271 579781027 362440949 132646185 277492409 186490321 674459391 774449489 130638919 102750413 577602239 245109501 280768179 642025169 124217699 434856093 985944187 161896381 255481335 62974145 118278279 212857877 946603129 459172135 156269857 829172235 288497351 316717999 620988161 773875317 830894507 485824871 56169539 969119699 383012311 865003393 342626667 779079499 356811491 421097559 305335913 365671855 600632915 915421807 909900687 512120435 235044493 36108659 830940317 207414455 561007075 252901173 204709815 637178947 340771729 432071859 378861163 858637445 205595829 474120461 639488685 136931223 668870489 478241937 611731421 751355703 283296623 797433777 26038715 666200009 238875599 125643273 92590457 130698593 998780731 770586459 40429227 115801269 13002079 432162451 35947599 279739427 851329479 726248643 594535367 83102897 547111663 257917481 121679331 644978451 948025657 379600679 927885785 242099867 521942509 636078407 630844997 276966475 908225085 189388349 936132139 663235531 637372993 365861093 318109177 261930599 290689531 348423745 125035655 972994075 143031893 797955709 760449037 133760641 232515617 236533741 384470325 231238627 989006101 429288971 387726859 717696049 94621397 583645819 805644547 391517697 831144935 327708679 103512059 723260307 488190145 850300835 639286585 761385421 576113337 880860011 172401255 909220673 791382291 356818339 756039071 642507553 878436851 512028083 903168603 414743635 755959153 280314161 704682627 244898905 144261249 260018391 419805025 984007779 424760837 27045769 127098027 401864779 880085449 556438353 797957503 485286797 349195645 492698725 746792803 384849491 57795001 228231709 89910597 129415275 398747903 762742269 364725879 366203469 544250041 764129971 37689783 299018773 588303927 742253839 498710061 19753615 344195507 979552013 586290277 739334183 581953869 402907857 98888017 589042679 488727057 38162855 903405907 640824507 703996655 908457727 97303855 826994651 426534335 672049015 375625487 146618985 240560707 344682963 322594701 359804953 52653859 454518269 777102499 933361739 317822195 244602375 57231031 179185929 755610411 718858541 925784471 952283135 229724461 242048213 880147319 652198277 333255999 385354629 879490037 81856409 152254359 531908085 984475415 505414373 915051339 341111805 984794697 297022393 891233629 350512547 534007137 708351753 77623733 42925073 517702043 277526901 993558055 272854169 358677663 557154373 842116971 53133241 652951927 321563239 832691233 903217681 789804955 550835061 472045013 256137071 898957285 427899563 850727925 825196997 977553311 179062259 5073629 114820143 727421297 463010523 818767565 661826031 713401973 714248089 181370093 436690289 441772323 462287375 733317201 352271175 573767781 163422915 375345393 281167151 594715783 301533155 916116141 149899017 244531261 86338119 113863247 147519971 200885157 528382063 575012491 42352367 289719109 763120003 943508725 613601417 300150537 978826831 631630611 531376435 220192581 52152911 326744907 740314265 743652793 601842333 989993969 595657871 93694091 484428547 534407741 375104015 763259717 231417585 553524047 880210493 97710557 330743421 593956145 875860323 457721779 346733927 969296855 593556981 840924297 157153813 893740053 832611727 699871629 111996055 974936753 675997683 656555605 950983589 494202193 994734607 781377503 661338525 393657225 891047153 37668751 759160711 791465423 631598297 682883121 338881041 998040199 802231849 539109629 767184021 315212027 339084397 882354831 31610383 237199961 830300501 922709483 47931945 601542331 512989631 225479553 350702129 318170661 556659885 40978467 455485471 575918461 743997005 572989459 861337487 784668565 705546991 569435633 190537933 657478697 370287631 574912973 599883717 601163479 286537553 310333467 638206223 550397993 164967295 333942457 402080491 250823313 490106767 863023597 357641793 387596647 386580377 921602915 444132253 661221359 158968291 325594929 748940857 560712271 177684949 319081171 525136117 555324569 196823815 733539889 951927125 17003465 954965039 893666965 482820235 159680701 679659059 625582007 807817837 13312319 167843615 764519603 827818105 185235201 667580195 481047821 330243291 861607579 567390623 320043443 991466333 862952591 602830867 32250365 906144375 499579975 935586601 707189413 120482893 26763029 876243897 885432017 685955999 158363951 504989113 269118733 495951587 579255481 836043599 989090897 79678253 994883259 164705735 36505849 265061179 623623205 65088147 860468683 696150135 824440021 742973007 614143731 190534637 293896839 806352827 546553607 563799897 850283495 860260039 925741571 298818071 926172549 488035205 594014797 624624173 465175259 231005485 866004403 464238925 329796427 784342311 454538347 107348431 761364765 770564603 357261327 646284207 973632643 291645021 157127847 719419285 874669717 389024297 190231457 566625233 278417493 733640545 176058063 85686619 891228077 343433009 178445681 77695187 237028973 785133291 83797801 896195965 946072399 301238029 425016585 767013451 857761523 626019897 130949251 783896275 20047589 405580345 238187125 696237139 611682965 950563073 479861795 742371511 70747 272306605 481412669 663902089 537407609 106010495 45411285 281257729 489053209 536835299 257157997 499194625 294591051 267637869 858159077 643186191 228731657 995215831 712289165 71302747 112941619 313459973 444227353 832459449 909514901 291380481 368585383 361669037 199890141 521358591 498081469 613607513 92900519 919542619 539067207 191190417 517747571 643767961 880038043 721436873 909638059 677510241 718510199 91630371 565608863 486215817 738346749 373554789 77549193 249489931 641044415 853923837 570900361 119195659 982596781 533613571 393938091 957746899 793792809 247427639 561910237 408238809 983961845 151288063 701055483 994694581 137039169 194875501 776876997 586383661 876301727 638324021 718247141 422164009 633633551 18482103 866449129 525373375 609370357 776193787 468115535 242513961 838569503 91394993 817884535 92553165 897952193 309909807 582944679 398602289 330773625 526776437 516606483 59116813 620979021 822434601 334248149 968816953 492875433 653917339 480958445 502231483 483062113 290080961 808681539 90249403 356846007 971255613 839417515 262557329 179717195 811799637 606225117 200683187 520829741 723901945 704931449 849456839 431613139 519520445 307908619 777879961 826706199 905938661 134719489 26148891 713031233 66391379 567101365 23117927 522646527 32688795 492088427 761450691 591523939 549100529 392915529 687665817 246137581 357578807 124456803 573029243 554286975 780531955 510057649 612313639 869300075 24635219 183176467 598806397 414202979 1612591 559309907 505944459 291040133 126474247 295023651 113988227 134568533 943112705 762303261 612132801 591423939 17582829 163822017 744585927 416210723 730297155 283306871 61239361 719293233 472460067 762279313 719746817 526803219 339695953 870406731 132209925 13144919 112845375 455835075 592744559 632622321 292109571 535467779 478156425 18515521 208221787 499031293 470448327 530232327 625331121 314406795 405949381 336947319 868893203 918902379 395015237 46677025 416384825 329688137 812194355 865924355 338696321 926760887 436495779 261201797 3442163 843743787 89105357 48436593 726333245 456784649 533860889 51529983 456500409 358298265 267010319 958328779 810970211 406948109 295452517 833831385 690118883 214203775 241471219 833179799 306277515 526266093 277846973 888290781 836938319 441254723 970040047 183904485 267995857 160254547 799251933 373159765 181537111 291498707 797282561 908517947 219885775 359272295 962194687 587369227 916624081 991267223 562544033 746773667 130600093 863259861 738890461 770480201 469463577 160856953 888673739 52111529 831399125 745937349 471885231 31951063 534890249 284865763 406485751 571340117 449214613 153298917 528346163 615383811 136442877 911773889 726250783 385346097 811096433 314818907 486469535 420226965 843287499 417665659 316274879 840185673 188452745 101300945 74747311 971534805 160722385 668006905 298341069 886609703 224413043 299634549 690904221 816612753 503345637 686871467 349659337 631852755 692360777 711459053 290980131 965164305 103428197 71572085 551156903 268327895 898488233 75518821 979176569 769985309 874595881 907137987 818858213 622898239 886252455 200882053 604098141 599360771 589388427 924619649 969419899 393189011 546033379 572904057 932479749 777775753 94325605 472119319 965841125 687637983 774584433 854722027 211611949 791144443 517008145 636011631 771692059 4687275 116301809 858586117 606851599 77400613 105417833 523569653 455046295 533274627 717591417 281695599 440259941 833170509 957681351 161415823 108152659 545501551 433061795 906301269 99707239 571873343 254110725 973348011 457591755 464686843 504756621 344146273 496820947 510607943 23488639 821642545 442815479 311630895 511913163 220826043 277330143 519045419 577644811 111442827 581276755 271080213 664071037 570191633 594667847 910769207 277701383 882619811 692045269 286074937 71216185 18239111 3746373 313738549 873063497 71151077 532781565 684616357 20369945 761056205 513652369 476962927 293440815 396563257 676169407 173591009 133316793 533316873 528431977 517999791 811389073 586465545 591280793 31080951 272550451 435089639 49462915 787348799 551173577 170898751 692265091 488910195 211373855 275968145 871059995 489829353 469313711 116448837 402415095 930998109 11785881 754406319 734169323 606903541 637117857 890462471 428042481 485404481 14623801 544344685 945977389 971357489 951455095 927952621 943414761 3876647 544375323 792904565 52476315 755118053 831700365 228873697 116520411 654494105 780536537 37971951 376084845 716923611 490379193 206673485 680814143 742519715 357785483 569205129 6604383 855703131 726551127 779672859 380723983 309877967 982578125 995677801 911766445 739829043 770980417 601122231 735749829 639625509 223508919 181735225 201867533 602540201 203548371 157388809 611397725 469244207 799544805 884896037 792631993 266367115 386715619 437853307 833558863 526627833 300727663 564126679 538188143 547902239 429112783 352537591 503283605 131102475 115384817 325319545 323206757 923449651 917323119 141536743 113342891 94650481 612571013 349672115 481673561 476209677 975568411 692842039 74974857 520722099 74496195 752835251 492975233 230708601 781669809 773744975 637479337 83843293 633757895 690845469 34633369 60822467 63194249 676318233 58567943 280724599 716157737 92750369 408457433 883877297 645455229 934125055 693583131 558428555 822692357 358711909 623070463 866245775 980556775 936365291 398976225 168615079 632978933 964192533 489115969 7896615 915931041 857726281 76938703 252043983 52823057 299971035 695013981 974147267 298046215 884677121 687637475 792358801 682256883 762133727 678378377 978367789 385311983 529150589 704102807 301294837 500062647 391311053 683430017 531434159 416349365 264999079 812913121 700140935 896083447 698729167 104828285 711048467 138058805 629756651 806837311 418729551 816323021 572181133 192468283 815813283 360368069 90358319 746375339 139395289 619441361 618964019 541604081 962012201 633078851 251640289 557866907 418409773 694958365 363781739 907137627 583149293 676990727 75935721 834459661 479427543 984743245 147053151 164097971 838541501 369135081 178321073 747284347 698886623 316158587 731209143 845934515 249867745 706964295 735934757 267294683 95437521 522743359 840708255 525853077 913631523 479376889 216628397 89612715 547850933 618416821 975092159 480618259 569276875 874141017 779034417 883840485 543109141 501881973 191664709 983742053 275841959 462511937 838871329 654168575 604259837 527387803 939269591 552652359 392093437 477480459 595980129 999673847 184674293 187094721 355327135 932165619 164683931 950666387 967824221 622345285 266892297 62034687 299174219 378978595 971214279 416960559 833638145 315547109 300476609 499216881 318198017 162945553 457002061 58328251 416671413 569224783 501389609 789269167 507032941 699576181 240112761 828409491 475503971 598547325 84050121 9943253 371958457 127628427 219134225 377763981 25550965 164613099 499446701 83226749 983466893 528085775 335994721 886342663 217431511 301198481 39582813 857140287 238339861 85362485 133280051 542580441 222861295 286937833 471915491 105174837 468476665 835554237 566896851 448205149 855397803 165284591 79662539 673014011 507911015 999542239 979721991 767372395 52970611 464953115 660173343 26122155 931602181 869355347 862778651 570496353 715429427 421953127 546052455 364227551 140608767 987050583 887463129 993792023 27942225 304165453 851067053 653386415 964703997 244091809 550939787 17817833 630034107 88893129 900973437 623463861 690249515 47189101 456948475 458920621 604092889 700572245 253839839 366491405 821635635 567019123 795300209 341304511 229166741 862019047 459444319 776544081 402764607 110884337 779857851 581388537 887845209 939354365 666738693 597376921 354502647 244628895 520911905 916840375 809952017 463967631 547220573 536609665 954063495 796836021 468674925 318349775 781405989 330834969 998341487 52329761 749568409 567331567 970082023 971760799 994271615 49267603 503971269 185476373 93872213 335185543 694794333 550643709 118504585 570486135 257546347 146489975 269438567 453766709 195969557 705132103 141964589 783137215 962847979 984751839 271749625 292404535 346984157 382902869 142666455 627163879 436113739 249368169 506218421 388859715 546644475 60529537 329846637 930083815 481224219 259033517 725874883 213657239 547312445 883151269 972183389 175521851 673625697 525002695 606922959 568026089 188161769 637932315 533446543 254711259 751212967 412747343 202424833 991955061 597727693 855727805 369693039 745560385 404839415 491511649 52036359 772067827 466229551 447911397 517392099 510564199 213456351 118272407 743607559 8054433 385644763 600570989 378838105 388353481 504684131 985490441 771200429 57114933 135173403 98395313 688391865 4608095 281170193 606763091 971605793 998034155 587186361 33315719 163993453 576192421 959510515 976233613 713523727 277687677 262463233 562519117 778258017 418802835 927058833 720191827 380924321 588300069 251989433 215992537 736035835 281495203 798430965 55400383 789045633 833094813 112353581 272372105 234340649 715462607 462268843 607471465 860299735 412426013 623733287 385344309 475366739 247956115 44092859 864757355 107278159 427709027 439626225 457303863 634048099 149615591 994000305 192424803 207951121 461255845 673970259 675817831 98661059 511525703 139913877 410598245 632091851 714690207 703081371 158829603 208693599 908120745 208949747 600919569 43324579 928363403 991295121 254045251 289076127 144994957 982434259 967314813 826929989 573110049 414983807 895021347 264898413 34766311 224924353 586146883 376190425 716027295 802920237 993119385 258043187 99654197 812195781 774253951 107469323 238047675 164647657 647785217 192551387 859145071 877092457 110122699 210721285 496815793 812869243 936172853 424185041 13246479 470503609 54491199 328910961 755562555 995585323 55533201 926233597 705836817 352041277 52874871 186862199 418498195 789624519 459770091 274564041 920950765 772024577 17571981 455519171 939050611 906560917 280328865 891658015 84154013 868030351 777479705 965882495 63305491 634755681 219339915 957978985 297535901 336659181 941386037 966191443 513672239 138599543 549857793 130188947 919847909 622949803 995390079 237479787 157733377 269404573 318078177 604099845 951330033 513149133 140017419 178054257 285820739 704630815 134637955 396769705 625341623 336232417 126100089 633746573 379151663 858920649 765597889 198145513 696464821 314854641 879410911 476034157 336743807 941846241 488447989 572735409 825959141 340768389 35429079 429495095 33460331 648370227 814136057 791184231 728430013 149555623 400172413 964798101 196783 222688521 965938729 375621113 882504763 310063075 260878955 822845107 667758469 656840749 557394523 205724879 710387417 194771779 669689273 514175035 270063783 153734377 663948011 463070163 65587853 710128717 553584131 121786967 577273423 659919111 567843765 316164977 189768407 471590417 786480737 944648881 38437687 104927953 745720591 583691407 972865451 291897363 360463983 571259761 192725143 601936657 841849815 225557147 926051719 94582883 796306503 650283843 357502507 529557263 442614629 720989053 677245283 46807429 78222465 712290639 493968941 647976089 38448529 847288225 850085561 998183047 845605431 770011969 555975511 237303799 198825145 45007341 872747395 100482803 869736199 538655555 876819683 484888561 384794037 41414095 654066749 650247377 738892549 35587071 198595209 195938261 473743839 797682991 55950305 23509163 225176273 70771357 732492423 528420203 173853457 68541559 993213925 320404877 105858945 128386249 697086355 791671035 853029285 164894353 834637895 647911169 21015727 325194413 360607465 694785363 837159543 505862375 585332609 539558669 725045369 735204083 899738179 927560121 491601117 602862949 510377609 69643329 936031603 928534211 335727577 847265785 675199667 772070003 587324125 618871713 995051709 567261641 68237417 484170335 536970325 589317883 840401015 461405885 964165101 899789869 199309097 884697009 318631065 915596391 6391757 932650393 314048285 785634459 413124053 466421563 967608541 963692707 159893981 356784835 917374697 211781693 531644583 94915271 196945657 646855191 867546143 422505797 661937259 34944189 898659417 152062623 808781127 717424043 278661775 454268583 401386811 9398851 721358885 672510861 711734943 400596175 527274405 532787955 588597621 171255675 65822147 73951965 388617823 863450471 673700955 418371253 80925617 743747471 604177263 513943125 932023903 668492255 801986093 17484533 657839371 195972137 83427299 710502975 604645625 110764323 957827859 795354431 4762395 319840625 38480985 38031209 538950409 389838491 806331271 398663579 330579967 407592979 979166859 497442075 340251109 852259889 575811203 786588309 122602571 445499191 903918259 681821471 320514409 908069967 361923459 767585589 174187807 781795979 295830921 851117503 577943025 658148321 52833919 598678279 123352591 223103541 91029577 71130051 955187283 670842447 256990707 955949075 579450683 78512863 260075183 362490489 916841453 420431747 945027287 300530405 429960505 376722359 107973359 792034217 896010901 95791591 539485861 270963843 855812899 976722531 487835593 807744923 956911273 752546917 498989913 795902589 588826261 349065487 738518133 500514077 474266881 133778537 825931113 968446681 990005673 850646627 587366571 511223157 304329975 514636249 552099285 713847329 382857463 682226059 943220903 123210865 203402341 735366435 118289937 572042593 359055771 508272689 802382627 693149783 673796005 296276783 677515803 763566113 462611759 652085887 236113241 813664243 341339025 543578473 245470827 870216301 471213003 570392349 193972483 931334801 906670467 999848375 26121213 281302733 392560649 126257975 443153499 922225655 615113045 490774151 250037319 127258189 554040071 851130999 307946009 548299889 22443875 797450433 120926537 746342517 101848153 942927111 295037817 261058249 401842819 442825167 114239351 544806735 191158815 178922383 645175861 787909705 83607571 362301853 82954191 378471271 361193711 512340283 102291079 971860155 201569769 409110161 716561353 166694341 633552867 841160627 796353833 266001513 108025955 686697369 887917407 513507829 917699735 595407139 957079891 739888669 930416217 132970525 100478221 661282817 90236709 406032437 868135105 810730273 915217699 96119303 164065739 99460207 648540197 238672915 564176303 527242047 253093535 985888193 374755605 90980431 345442483 977881701 777667283 182796993 755915557 134328887 758380259 504688421 900461671 398895447 368447335 67645553 392290191 198173393 260708271 150070527 173529437 558619539 241660201 835579289 218085177 642487673 600800883 371024999 235904559 424508483 225016913 609009665 343173625 442112665 568363691 323444325 320532469 616370447 640753047 571446263 137380907 623130907 229236815 943708291 227244107 474073635 402104887 324101697 482193577 156017771 673296857 210259149 172854089 253695015 775479787 981553197 261641423 908843121 225757253 6432717 749267851 57615433 909630701 301614465 870560371 215596951 285472011 935081611 744323625 402292271 336625653 30979723 801979891 108429511 57142823 775229073 877456063 625874947 949260865 367141905 993313831 711990637 307895823 755320299 160605543 66157171 529629575 84797793 464653927 647350639 718163393 737349921 763854009 340573349 118362115 229367361 631133329 120544059 267800759 646451517 158238161 13684291 979211375 342818045 222799613 432102841 947035369 509237197 860550215 49249659 117463045 812884575 149662853 500578387 408611537 860601557 103347767 812574963 694303357 393453491 559907459 792094453 31484777 315907811 719718969 729782231 682826261 740262079 870362833 236879877 119994925 805472001 308178283 583938001 387985283 797560271 797837771 148783729 434374421 25129143 782417761 11716873 458820611 152608685 241828935 848338849 613840027 828218895 413279801 888311339 228274511 450620323 671519649 881859455 292234683 439023509 282669197 457727073 548533153 753810299 335771573 680856695 997686765 147069009 86475639 645426515 68674481 532584319 895685849 52576111 972592427 830163919 951390861 170152749 985218237 113702007 260954091 895824341 309310961 75629079 821514223 280172185 241245819 921857969 80719939 292767633 906118455 419311541 973302323 465307841 346278695 744794869 899129785 814960911 685773431 391032241 811603573 24042829 477497211 410493069 66905771 664607541 65733037 552011669 256174157 231366761 372437167 363510081 435957233 30154097 27208017 280975213 292294103 626906301 458427009 267268191 301039845 442913707 297176157 900297155 345043883 714108791 941560103 62660525 698407777 997428301 649230413 73079711 618468581 397749821 400768349 892422521 580231615 595826753 215195417 604258955 591534367 821435195 802412637 162858121 754807003 157567729 299656507 618459795 363576433 749486361 255196641 198093355 616021003 146743881 704164781 266118207 444481911 345912067 925513763 333132325 421321003 342922417 450039275 941756059 239453513 534906531 358956507 850210499 621895831 986354451 534740975 672932143 834760579 764563491 95052359 400399569 871759141 686768345 478185007 787973127 662346813 150025771 502506269 208980885 313186355 366211567 598239145 27126187 380155413 357717991 406577305 327489755 744643481 151475389 998071255 838586149 244078623 104102657 777181557 248672493 485030319 650135085 454991023 831232001 473198585 452863393 305234665 293452437 400558419 909042601 807133359 938042441 754684349 316650611 999557299 925240605 362453469 788439835 551636687 850536067 231230979 321067169 10021641 486814799 200774951 229862125 306665099 225753535 789918695 167669203 667669671 346747509 167007627 381732875 188690395 433109891 130594563 805528119 971231431 484725337 691783141 583588829 692343609 435138009 493257583 508964977 570489635 86113093 748634507 205088333 233242529 94883147 88734151 164627377 580122099 917795587 775835225 178948549 575691913 78304487 312380707 736328605 871666165 741637597 238267563 301941041 736816625 401846321 533279519 256895585 193186911 13401243 574389079 296548857 486244941 628728631 154825171 41834663 186409197 638967947 581890491 199356935 639137947 810546819 749980123 366845847 509302745 799482741 695778221 77816773 36623955 238869789 696849489 610393311 781941725 268342177 972353419 374573085 411083121 991959695 587283661 558617251 750760497 818916317 802554413 767938171 864998509 847771365 356578155 654761875 961773203 204940143 270563053 468113093 717263937 825865383 274424515 956681941 649415481 358892069 985322405 648483689 323922535 560265953 786470897 332430869 83374303 944381509 350305967 542076753 562537691 577341211 494263949 515549565 151479487 364355739 349768933 719271907 813652501 287509345 768512179 843870645 248066195 973058163 988354465 205509387 756750609 965805627 66183933 35871721 952421011 25589139 882276029 771320117 912166727 701295797 164433027 184230851 556795773 79326279 115384469 272451401 303248561 323672663 310986465 918702955 639927943 50741593 184403967 520032433 573020617 867030827 925215791 739875725 258396525 264409107 679340633 857151833 315079563 988334525 889041161 570552659 283139177 50566207 828508537 279755175 56287599 169933591 263734409 744467559 209438259 299974183 55858621 134166153 984505713 245921473 130644039 800539889 64104969 118826645 302591997 526850919 216897031 923260101 770423901 161670045 241625505 258448083 947266961 165067307 294989361 934756271 89671017 62384021 125319991 617412267 914401879 44541761 199458147 937131143 838815871 966120065 928150405 109108839 406530215 15239567 699473819 712939737 235285823 448376973 725832645 614152913 996089691 838428803 577846609 729866413 728241087 713326691 717986737 545112881 135876557 167131141 483548031 814799501 693098649 813501739 577275777 44212053 488107993 770586239 352631713 81100677 762904809 926054545 649007603 420157829 887153109 455023837 159408559 802320159 588671561 859753151 156736061 438588553 43051165 296956549 351976997 803165027 417288401 438784095 231099419 642025391 451414925 826831205 778801657 825286875 835920669 783533209 369488837 923954877 870247547 9798629 421978793 611116179 571949639 881356057 483858425 118076929 750241733 814195439 88742959 875523091 584660967 85444105 889085421 336474689 697493059 50228207 899086595 947695975 23538199 599160849 646852447 216993993 713345869 411747531 997319711 558879511 190488435 225453661 566782597 923280741 455460545 927796209 480858877 372118575 343304469 970709143 776343067 522592859 668860663 458570825 670150041 834203703 661810327 996367081 610828123 233598071 389549257 104718141 44050539 872774457 231719439 485334523 12097021 814322947 543133585 540294329 251474029 510182337 880497181 614903545 348820543 727956937 994176809 526748963 144571675 428325593 765446103 106810763 829537495 688765205 558136813 257822057 39045229 274110473 14372569 513003487 16883969 166098349 683922611 807242483 138178269 531530587 681267515 636335259 64413303 227945181 620540119 323090859 717820263 494483803 372474265 393611497 829769073 248676973 415768629 852274685 342772611 195907857 909979403 141155959 572994733 130551467 989718819 98017489 499690795 872192521 202993965 536222571 235311969 949053023 481470591 639395215 890725595 822700107 635632663 842956913 392414539 317222611 127591841 500081701 615474571 925790307 822521959 149996209 970463905 785570257 629727841 757129981 424863925 520200025 971742001 385549271 218973725 971625889 204321565 111864573 359235669 588699833 587316245 285157901 426433789 572689681 596830381 816701331 40387811 563013259 477393703 165193213 104294649 801307497 16040043 279408807 751211353 463636825 158838023 452080335 179039817 337667697 308767281 328025763 243059507 165989935 917292747 285484591 881278889 48883831 265863257 31582321 933824617 246210197 307574797 796877383 740808275 514245185 851550655 993561981 995779445 757831831 620700395 395003329 497613825 312938781 694461369 476657069 919068499 72088253 596277241 248012741 989888237 954193105 291982883 397146479 716930427 965257747 528402519 475238911 159186383 803825577 454836569 417018795 113277927 341864993 5523865 326637207 557378531 532192881 829460529 26326475 758211859 451795699 745177567 896004155 268691685 203966575 421360649 163581371 756981749 124817169 381109183 359445007 266272011 304351087 664428729 211212259 646222349 176684933 729968213 507604419 487810831 594281403 92833433 840704813 355150159 25298395 827123001 314856831 402282543 889498141 340702855 591759107 232560697 803640349 706242183 64110571 333023265 140881375 293882843 384349007 65936835 868145363 395070679 621731377 770829091 159398603 933095535 512731771 185910121 824425735 842611525 989435391 152297963 17836331 34444957 726106995 311787299 820494917 572841321 210376059 396108213 347028425 548004673 824468895 335937899 362859157 10366815 777363281 912042555 455971311 552312241 899782889 4366653 371240579 298138561 57618091 785165237 463763815 264379337 357920189 637926929 549021975 839177639 513225009 386906849 612532345 931977701 999986433 744819681 744423901 681030317 474819343 382699253 716421107 290005211 785633315 635158823 976702173 687120109 278684911 646112173 616321821 17126409 388984587 410315999 41610401 734567167 276878329 751772995 394114495 912231749 39171107 348334721 952199733 411439613 351573465 770029169 569270311 278124269 63206485 88067081 59910435 638550403 266034873 217629295 594058523 16494041 438190861 50486767 225619313 282949547 93900097 181730555 545734121 893939043 873890355 993713453 7339951 325917965 809669791 734843467 912844887 314923365 251549743 477965119 620740835 113005253 418890873 992771867 565066931 830347833 643161585 296641563 303004311 882803309 855536889 465854117 403567043 243406521 856129757 634692673 640908501 891115549 924767437 751826593 620394707 230754879 434626273 439503013 887770155 736391791 217846555 838014285 916635055 381601445 427455587 828174533 621909917 156661375 585926029 874924383 264574109 23566919 332544081 458054297 835780793 661587943 428549201 19798037 741702249 858076155 210843667 366290587 341116297 839962817 325640205 133868325 1956957 882580767 880210837 260378567 39280789 534191013 186957293 461211337 248204867 200963465 231840573 213470101 284191975 89975725 80773529 863293887 921014373 834731415 882851833 149912577 83704843 638659189 71181119 688552255 707396493 462412833 28622129 419115907 136981513 489645591 189445507 2973953 724476165 569778303 664867535 497649941 375057773 199612203 887954325 203777345 318203543 827371151 954998591 657279025 465535807 308218061 543967515 685808825 350143117 825493161 713916263 754553043 99595019 571589269 963698755 855125155 29498287 30093735 479505077 147480435 40419033 600711839 983266225 476055223 227561291 720045283 569890577 447447821 751581493 855628165 979700885 312345907 643633449 779528761 121375461 583467287 133134119 843553887 90838677 972483789 911123345 915516415 987489565 763399055 559628345 715481801 956397533 45439681 596777297 827625745 562470687 619972847 939197047 491804891 223157013 906007241 592165809 299584715 848028377 118455855 536222313 65098033 617854315 16011039 301920889 935051011 31214259 501740233 260765467 456736995 114436229 588948605 418997751 147637783 293629335 521860279 167635991 403191693 460374669 725401627 435033329 314670303 894733553 570587765 564188003 97598281 319861809 258033077 541931699 855156403 617913511 518811387 15704461 762306735 911740567 551198087 508503817 271388017 896922407 640240067 231717791 104841435 737749355 15166533 527829049 559705457 769474905 76310217 492327201 299296101 776367829 780406063 234976015 992803213 438665383 151559301 355078175 566688873 724904833 172306429 783534293 411523359 466713341 236467185 923650337 99264127 341177497 988239079 930197333 559435777 457019585 430876297 161258801 395705027 808548807 571396777 820915929 287501965 851909345 676739141 729198043 359366351 504934195 563690111 682159659 225386399 288080581 70384543 218510633 579854011 216499593 808488477 165919893 28122765 633677401 543210387 888208289 447772451 891887603 286369731 684897249 604904757 763929603 792460697 593020499 34573087 961743897 287431209 284311641 602276845 965182129 403811243 110852291 842579531 84397095 442116743 604923591 747677587 757907913 916641349 611940609 388136129 913085127 731533977 728076917 924583293 225585467 244384351 469965713 985403161 554549027 11850905 52960557 91673481 113364843 324351347 142044033 437322863 782042851 535609665 168081719 88097295 68713797 942652285 675822683 803685467 632178739 667670987 360679265 516828137 28883509 228483829 784146471 178414329 401341373 735119855 681416945 84710513 387357219 555723989 38955887 778904801 309577897 818981355 387418037 520658305 116541305 380479641 837451071 87616303 306501283 622546037 320004597 561889139 70220577 708575801 179335457 674464637 360117205 363435209 688264313 370848547 318562951 899025967 146520859 705323491 359860967 355662497 607288973 316614119 459373457 812372343 893911485 58643197 365857029 221558837 486704637 797982619 898035885 863204745 828753419 41670627 309812185 570999363 615675663 461670043 625690819 582594143 436115861 144672305 520353165 723810305 431992463 859292605 214477631 761356405 354800735 985550847 77029065 938880299 999168969 955222111 147735047 572899523 178435319 511117289 475130553 343252987 391280259 411842649 405997449 516373699 698398311 615023369 163580167 442239787 561568009 352625155 530534061 794898033 16019511 285229303 527185883 759131637 773946917 733516859 815908061 896393283 521577585 558853583 53606881 31181329 977806113 721450585 811476995 621780281 440445345 86981673 71316547 626688955 101035463 127355959 414184587 732113607 736924367 64159521 764885673 28428719 197579361 521435695 61290331 961979115 248187783 127554641 642637633 378398499 108660665 313072413 206858209 109445149 995528657 912107985 840298673 107575761 306742553 593423959 841935365 693473625 937322553 590036029 735532067 798953463 478591561 558429625 248267315 779739671 943970247 147634349 973443395 881523787 569312663 157529503 927475025 880618577 518664199 148619965 161574459 624408587 115741643 81405663 378795725 74146947 655267585 121153669 653273013 403255021 96296495 658732247 101479055 771373987 977210175 26093217 74196187 775610669 177588875 31314781 579644161 514905905 537526733 855014955 818564437 691109763 747227437 317423823 840471821 383015201 784031285 358876347 153622861 123138349 213324507 99564549 771678239 152808945 179094143 56696941 378661233 569201633 967050467 324301401 562311711 583819929 253400373 564644825 914694887 877492699 548112139 742509477 821244279 149358741 182128995 399156763 460859227 549524951 34698145 99950659 648259345 962067933 796724369 596276427 600088823 431581961 240831339 710353165 658324055 947405547 548840139 792058885 978970723 807154481 407921077 728459101 253797685 855730873 823769753 712997987 803544779 677475975 879528009 667502349 352498193 906748099 698178821 514878717 156065753 420070339 643377523 737129081 652132313 956116225 39896989 257475439 466374069 936360993 804856825 714929271 905358837 892740591 366933605 751839185 979064075 683112283 166830887 980931173 324267089 100202115 439140843 221588671 70390533 532708267 402313927 287521817 834686803 966224957 440767287 660347729 896177997 4121035 701184803 140292081 232834025 324853009 95214549 119410469 918460939 531175667 907702021 116122819 926432635 565189501 594340815 389911631 879484907 172807905 707306935 844267501 395394547 241930361 109639595 297282413 490087447 885752267 526995715 905332551 903217085 456015231 508553337 506786201 325959735 606463085 459476787 80449835 437524927 503565451 274333629 919871085 803268727 946568193 757551887 273945203 154843495 886000149 274683269 326037505 815393665 25982527 952865765 155832953 515550365 20718873 582799963 126973679 293359229 544640869 46933885 84548889 236824523 77330191 24057671 649337939 611256601 785146409 708976159 225822377 933752797 799108593 307270099 12147143 868151161 346033607 694369945 259930629 593601593 912403001 523464203 265220451 999132237 928464377 252206129 756267145 14622925 831274211 681850489 874515395 757465275 913492729 587256501 175426571 708115969 818655079 799921189 348947457 907167855 374715263 280403563 771432169 738013887 454141375 344779929 942586805 971005331 806413513 19389473 42771449 622803059 747450983 462180833 285837561 138687695 681435789 282374941 434245273 44291843 20032087 182721157 430614633 182832463 532889863 897136427 963284129 72832733 269010185 862332815 68494623 767204029 96897265 46440599 805361771 370680553 252208249 967301773 66080435 67447619 233694085 625421863 221711569 837129873 744207647 545313667 755094337 318673801 51087997 915431207 773597485 367460289 773155831 523231487 71112035 508710587 192114193 1363297 215382873 610911967 481982583 643957771 208648753 488829057 24912637 43309855 480966575 553549017 73381021 876688431 84454727 961768201 734945915 850448683 22036747 90332439 583405795 778861941 790112445 601676537 996977221 220140751 207410883 525852037 322983999 958495337 767573295 498912125 818987669 518496213 317297845 514138249 719253551 349471763 94119861 364724285 61608483 175377031 2305847 123407633 759662765 634014719 171438059 255830373 371090477 332101039 800397095 8255109 618340911 934628405 614463465 819744671 532842601 280438423 867274203 208215247 626920883 881131841 225507915 452983827 399301907 114047239 11717425 119264857 345643699 518503467 585995819 767121007 766519013 813073741 153081217 621130765 179223845 502826621 70863137 668871385 530965273 670219313 659470757 920614231 973618055 746779203 974067529 951564283 874509159 246211835 26356983 361567263 474468051 57123335 883424061 647130883 270698507 461021049 175519569 334829263 721496191 20267217 721192981 840143255 162724801 680381425 566490893 695765585 182184073 455421995 421702507 545322977 174608831 669422385 131030277 472552465 108191081 68889121 529878363 26653839 851476415 51460223 66145941 666077685 555979291 284676411 672649343 826355399 49011199 120001449 914409875 203886699 17268759 168163461 934928879 603454005 552749879 781479157 573855325 632135771 224657239 28150151 946649415 265877761 376031903 775371055 193759177 28859697 516094551 152729163 210517153 653169113 554377715 145391009 493508405 608036563 796875791 941616479 345997973 947879395 753440109 161040919 914869369 940961199 306874361 590894535 107225663 864518345 97350087 37830359 789907949 475643053 404986385 657304849 525868855 536276665 877151801 254072493 64772207 445195575 277432527 169300807 874317719 311075417 615788673 309994723 306330967 224097591 10310445 553870575 626568701 499439317 104682709 884078915 347760255 585157401 222604965 640526105 568124287 873020373 781153265 165741591 517329473 520707011 169128755 872186699 387703735 896016773 28578575 229241385 827567479 621166243 439423313 611140495 393487553 780536463 868849641 333014723 118149501 973288865 800229365 810166895 138396983 614497821 425937081 738192301 636364329 767751465 208140445 653467385 284005937 381982167 330097719 472230197 877671383 193319969 164009281 772588721 281841995 697376745 347449247 892617763 83728739 361925111 740344925 175217573 386680991 373596413 26976427 814358975 236352037 834969235 621089001 765641311 482950341 42850363 934120341 616885207 814355957 472869471 382580319 815912423 320186071 333194063 958039319 105259187 167688497 431920197 843489465 412891079 547393137 377015907 95463019 699221787 670368433 11702705 936352883 470750219 932258733 424058913 473262921 716440157 56168911 657181835 615527557 613402939 832017699 91993009 321184749 782477375 384218725 678548797 353261163 667066979 160677871 247058623 595726609 536293645 890846413 199045297 565742109 258458379 159525803 662183283 336271855 239908755 442610145 55085137 367532053 794536767 179118703 139229819 491849793 915403031 279580923 813531657 131461965 116211591 393181909 388621053 751875135 764266341 920477685 74001983 152090945 774444783 609203193 740202147 413236903 431483591 342612267 70426081 853657577 198832895 846633333 52311963 765687471 175414281 681269619 780670041 545036737 200635329 463108451 78633099 593034771 269983857 947445801 546401165 949623745 901700545 921368665 873336479 549598989 533312971 281829161 2289641 967026019 564932105 678689655 23772543 102291029 26653793 601910987 750539865 213820577 324706337 234612819 378053977 867600681 217363197 374006247 142667333 97081847 281720339 196253961 726468307 637074751 998893801 738859483 150497687 462005853 573479531 556995121 817330967 661488851 707002351 235461247 539447995 946737999 763862577 1763047 279458259 539394719 224782935 736476717 608364695 750629571 943238385 207164611 118955821 4510685 526607087 303316927 403466905 985181497 781382323 663484897 700966351 401542727 324549887 254567055 696008361 297413541 524876801 955804891 169919207 663959573 657551953 194966137 273242929 294841733 172742119 662117577 161686043 955448837 393996589 815397331 742816029 590271185 882585583 379683653 614805399 22673741 920529505 168906617 255561683 60275715 105237025 881737325 135814661 231799721 608211763 226833095 3039553 641503767 429981447 756115159 724965005 139167059 925680497 857598355 624544207 103800965 659094445 474228125 981720283 489549571 393631073 623060027 581765735 916955463 25739163 617452635 993443097 124486647 601883089 534976917 6735477 959281881 912136925 955600171 439396335 878599141 475193351 159578367 744711135 932864051 479501307 841206437 208092297 230448905 907887567 972313169 6018835 267161809 706115073 143445477 777819793 509229085 521082227 642457061 234914553 458380457 880514167 120556163 841263151 502874203 87696831 512405141 57824509 631095353 656293735 608580251 826845713 970814843 117818361 531337659 332104965 462337147 39624029 886135493 352733019 947367867 400902637 835432241 524331903 256218853 49690979 327562781 282078653 885857745 540881893 88818513 952105809 948870517 948581121 322900541 91860829 971426041 386455211 205589239 859834345 425060517 437924929 157922109 630058215 510144749 220561801 944877945 645570353 826853229 857748911 216972217 27389317 442754535 439595081 310853813 476602767 490515783 179852883 545626313 80073953 71750815 449552181 213492481 958565873 857087533 856150969 776170505 845389603 72114257 67710743 254808891 312135615 203006107 455885289 784663443 47891701 456543417 136475959 497974969 881395939 582094217 733398383 410952191 253554565 337951757 340979555 83471705 244525511 605030001 606893395 669768297 777776761 936266505 4238307 906424179 891242325 998025039 94795553 239881321 587707901 324603621 69248897 54999521 269464313 840794265 298504929 949533723 306433211 381706591 229309829 866754045 431970971 905433935 583244573 485325847 459505115 776573613 571364797 49399713 69223077 201499877 204038369 223882105 200363785 15869323 799099503 901507367 185702401 342059865 820745653 964237787 440002671 212226867 127677033 585549161 320056859 219500837 674618789 743462741 361885877 743854431 250005233 972940227 874049753 187112255 971315513 955778179 381616905 614182473 890662355 651618315 777548969 983941925 682673021 767888509 897778447 946187945 182919003 357975199 321438835 15923409 756267001 409284831 168828151 202336701 393669711 60226133 120581027 616735929 716455097 52194753 587505511 483089211 759269371 139501707 246927903 575683547 332802629 446506431 296181643 169549151 50829353 419054873 195077717 290944943 205260711 671866355 567713549 194446563 255041829 155242583 767689517 91552305 599093867 41498613 833744405 62780671 202982325 197167395 807620113 618258393 279511195 268660705 257454415 893025649 825532709 146877141 761421547 966318497 737475775 899270223 490457061 684577391 457809215 41908039 491579943 970864901 369163233 273135195 327963521 170948277 845362253 76282067 461952171 897709053 713809805 649784223 57678411 852127101 513065239 737138771 901450213 18777859 334932939 625411123 204499183 509609601 375218923 7792419 750205885 48470801 632010023 461867187 916598933 496792569 62781329 719695641 118557343 234693539 411619497 21287479 219860203 512277155 37818707 731564689 532520305 787744433 248707549 941109339 636285975 666406325 422792955 836152935 526492065 34293431 751758539 518011191 564186819 721538795 311931345 216294897 662455575 313492653 650715133 777636199 889894941 26823295 762892195 58835213 49276477 431837197 3420799 162828293 382096331 830917931 60002999 481226259 898740221 233072339 691602395 679645353 547103225 268360231 349643227 562641373 455793603 431853941 746537495 277665133 470819151 117348657 316839509 449380293 147625335 261082355 522668483 5600495 745709305 603202175 169875443 580360101 968475523 619449537 662997477 838005829 251662497 899041997 588509435 620217815 92963025 749713117 984566791 681303305 948772977 572973909 209888827 448853301 780711115 583115711 967185971 933915479 772390161 348004817 707543289 538516249 10039133 129389155 700450039 577275849 65273773 779459705 225916161 74879837 874261743 733212735 219594583 504241527 758758895 161905673 308931741 389962843 231703145 371707731 638664929 511796221 440593407 330064829 653903511 69368047 667068731 452510227 691321247 419308403 98349195 23872331 857632827 219470959 589144393 430185853 484533785 699181685 172964023 87509741 398286671 533299385 154226433 963863305 848306521 833777691 599147571 254261089 619227167 4726821 115988297 17852593 510924523 751422465 991216421 539286495 778161525 912181131 423741839 202459889 991457495 29594177 441096249 156079647 76640921 584430153 888832445 597633217 425726377 438374259 494645401 895588957 195794777 880831543 309972025 217183645 853827177 986477235 118414829 10298195 340343805 891345327 403475439 524922237 976310947 534347163 508845665 189069883 860987215 217538955 109073483 31802587 313279583 238528067 296935071 433427151 571335833 162325285 105661237 245941937 718918697 374700869 590656977 353561927 665918371 947767383 703614743 492653179 743761161 58241981 682852255 327743583 190626491 837335933 908870877 924913201 997272713 543138117 99547189 664714577 131794089 718244717 339135469 118770253 320264373 889597941 346097211 785493463 101502645 50376069 996171829 626217419 403679765 657094249 857945309 907072555 88110253 302017435 289224221 262099491 313985461 914508217 464303045 686396679 845019351 219463181 456359055 849168209 634365727 827332481 598283549 578595747 799408127 609273265 573570295 430174667 741314649 380839387 692223885 718558141 432641905 15506917 168002365 554509455 430170609 376541535 740792387 315151755 132282611 922521217 61965257 409045271 191040241 335278889 781804259 904661961 609541841 592041951 98682249 922224475 676494561 666305233 815174045 174355375 570909655 677941465 995267559 616184277 186141645 734820979 476999959 247834875 924586315 673203913 716564681 69614463 308080189 970066601 973794941 165606883 872686329 389401481 229728925 466654165 407121723 972136075 727652217 415838501 722737963 705507187 101236809 289454799 580915795 551754675 19214387 869673463 529326251 791155043 656387901 798421735 244183439 744295487 604129111 444276757 682587843 892317359 25639773 630485273 202665333 905235651 694063631 378897335 105176381 748406067 189831445 158175453 364588821 172698719 515069955 907160475 848157795 346001739 790251345 749706285 904296435 868576425 632878943 160902903 562983679 300964303 96829817 743138693 278011935 993983419 126784205 447262599 853360729 182139415 663489399 794234333 125419549 335424049 229835127 77237125 851609663 713112577 994106293 853922991 118382331 745715493 747546885 414092203 234214137 941755365 515794719 612553719 581367363 975877679 225321891 923594035 111531343 17191581 409800475 661363757 861788669 362949995 402736121 280762325 529134735 265912707 924016535 651539531 718576307 712019315 957486901 596177359 938320001 193732721 731768571 851397581 881377137 567376735 796632317 399560151 510050157 934480321 673798193 681195179 895940033 361181385 638133117 259002665 127988255 522608717 411053221 62390111 167618985 588121549 179305309 195635583 143114211 761368945 154030655 488697061 195380665 189290757 248042953 85235987 718661759 655085315 537127271 23298227 927749365 25832841 898318443 449345693 934886977 485166433 42977549 558934729 543188717 547596533 768544109 843703641 343287791 840940385 545677461 2265499 441397157 658208611 50102135 206511873 642891477 211617377 862367211 100397607 776017323 828652395 83716533 147691471 321872573 463406135 703089531 487508967 477380617 657632295 335014351 869836413 61336561 893678401 12950573 455221457 425935943 540596021 195627507 856552005 248524603 356151895 105537899 727284579 788950127 273555625 658357447 833878751 737050085 455034067 889259295 610560149 777625357 254817059 485009271 752749193 645864377 333811855 805477301 54152675 450369321 972179385 538841515 224637945 486080257 698665957 168193045 908222789 198415439 425424901 361517967 109263467 339298439 971858351 797414311 64071477 4708487 653142051 45209037 831106967 627499413 239172425 503406683 18316975 928483933 824795309 797641615 965713339 617249269 406862473 409478805 916666153 468039385 947466939 72650365 372516749 335437809 343307723 904246081 442007715 444271495 552668649 278064835 741054027 537265233 33625067 418707915 392684433 695613039 73997903 693363979 496272299 935503459 588527167 1613851 726273777 520404507 738416777 519441533 786963433 112715247 556207269 522690203 958148667 831622551 354977713 308187333 282409917 843089213 716300149 406674487 359648107 608411757 515600735 131056141 419748453 96718107 774925193 156221013 834853625 319781029 326266287 634025727 419381655 455990991 848711225 408731363 917788639 171258569 247380281 145308867 117109649 308543015 776683875 33094217 813338519 442813925 797149977 602043653 433231625 515069289 289156959 803869041 71676957 675450241 365876967 513541103 698657083 954723169 801023241 204623813 778743785 229959593 314996417 460430377 483545567 822374747 923439543 553636657 125283319 188252389 812202299 578900703 71424819 973770525 469988677 610443805 804060095 309124159 609275763 446265275 147402221 940698355 115465229 714851187 416746811 762910021 851205379 750768869 855820617 546434983 605460715 900427933 977701093 954438651 503155715 96123657 983105793 180408451 210252085 360348037 806705081 880338159 905101583 582593361 647638863 98107729 444686025 354236055 860495151 126672169 979194177 964876135 131359981 476096091 598170623 335797945 1251139 737288757 601801777 993693043 800770323 237460075 161506223 533260121 694189163 859677725 345604091 548174881 475064703 753589963 687754551 664570465 424206759 841035623 735793975 730900633 509450343 486712645 769837679 305231415 938997867 386635043 177914625 421213833 718711943 264220195 259875249 745599945 250622645 348994261 507877617 154933271 244272409 48794159 101765591 131260541 777447677 659289739 840559907 534748655 125283797 368162481 669346875 5253185 450874941 60773071 502719025 461533497 263569145 26242423 284493495 824954751 511325169 125859497 50211635 819006881 791572283 8758473 429669799 90915101 506707985 168097187 143204291 671780177 215223767 367583599 637469665 859278473 888768793 97756105 463130623 507678963 852486791 176411319 892589251 290505129 488573951 690302373 260427387 247851439 725596037 241352807 325678627 25874155 713091649 815166015 54215767 576641841 993587083 295779021 583165023 236401977 21826521 768355617 555679017 910349219 430466513 693150895 68584013 664452601 480627007 70433367 898773261 232726445 603042835 451912539 390422347 107671833 176145261 253343337 951774363 210617979 475463307 188960407 233984305 350972159 163499485 328106081 643554541 348160951 810053619 185627823 689786457 84453529 44981899 255027661 241659809 101542281 630576517 608078445 124325277 257428817 248251887 848113841 214821069 799214751 63815931 665655581 822779991 520918285 516359427 909555099 853191435 388093471 42861197 86157445 71279201 343461947 861621571 440289173 415397239 280551347 861398263 803939057 541642773 278770115 665290407 445883431 933518763 622571913 130785139 614612267 820958799 455441679 11116457 623048027 835303359 921889863 119829947 47195773 907617893 42655753 293596997 405970877 457136719 940737815 902870025 294852273 588817971 467717915 170050291 758976085 453431923 900132775 124001045 277320719 163197973 974209841 748449453 171834031 534813127 484580893 307398173 964153189 703786211 23714227 14766831 736517843 862215269 580542245 785263831 332939259 440989685 317532811 411963569 370982733 7744741 580971495 501718399 228082075 932902185 687959587 828672365 390224677 625653347 83298319 784369359 750380687 427575511 946527079 520730911 846920677 339879543 813349319 776928769 694618015 905013209 448805821 961166399 834994585 748726077 761170361 520411341 208916505 219481481 157126931 661545927 857836235 795467597 285585165 813111153 655227843 994702785 788738513 986519347 290599043 307279299 562962799 678108323 982762219 907309275 877729505 336743547 448369227 237477945 367927561 83473823 379477591 66049969 690521007 981800473 496614447 502957255 816317573 944530463 655914325 910544799 732529699 827568905 534061239 929833481 977672459 274496603 799359403 444646011 376625319 29648067 383544559 999112983 236179015 164295441 368295333 671754915 352224805 979890497 356826719 269035917 880638049 958300023 835505679 963337965 275831815 826801407 348172561 699840899 734680069 361911113 652571695 783011511 468333111 197216499 159576467 263186325 688268893 920391361 801231313 152763863 975638305 840174749 950260969 269492445 964934419 125146777 727851839 135715499 42761645 782070257 647065249 665361139 254246479 406122507 413549891 443588107 508166469 927544173 790127299 474902515 264335039 804336847 283403047 658767185 606116307 348214281 283827163 147494005 327775623 220118817 616557749 41972823 372718531 884477761 397502195 913498517 138951767 861479867 741574711 348258679 27150845 605334285 488027027 32209645 35405653 155723223 712305783 617566603 583307243 417952743 605000133 506880661 229663021 578240815 559385791 953915375 838996855 873796299 662399507 535831847 39517959 522670589 141358297 409895545 402509067 194721073 167856011 764124097 330993297 130656505 411233551 810328965 783174033 939612435 362112945 767824889 428057585 365402975 462034985 185197551 339524725 946698475 242188435 229655529 215271889 815761641 896885109 259549453 14935455 653655477 887880891 948298797 138100575 514505681 678079163 202480829 672769401 172633833 776903985 222383581 277526593 431910097 421925955 85026647 687299311 375776387 767726463 569967767 709637795 824089891 978016987 530820021 371350375 445447419 396239281 527432815 954334509 162604671 686957001 592912175 759236815 548784459 144237135 823898117 65838349 720764193 440878299 163755939 568187791 734065391 554795109 337842285 793463783 645386179 804503127 54524265 287987857 443042781 127025531 61676359 814211051 136497567 203048201 957025117 740546879 364061845 851470749 644173481 360200639 410438255 255753789 477723861 310409093 71328267 646640467 288157999 60864143 725957739 582442425 941627821 406062027 392937405 91345833 839169521 893532677 707334225 386762185 979574847 14404859 239930275 157966887 558618251 326559819 545181527 393215287 341496167 571361407 870001207 560689367 181276437 866532873 411938617 934270797 737074811 761838145 440401525 458224197 643942955 889388651 245804081 539603925 215659865 701321389 914393045 570560891 183654629 397253913 928573689 408557337 137255001 710048425 575048787 883248641 154004703 546800703 814085833 997362659 947842643 768408483 328782951 998405601 825013811 257961095 734274397 537271165 630993061 167007109 121160971 508682151 887789945 190221083 316904177 887201201 124334887 10670773 649146297 963561563 439791565 341111203 49625147 29344457 900674099 781652001 217229933 841799049 899020999 625178187 761389173 414281103 495518371 614048559 437993375 251601721 124293251 980979645 167098717 93495115 832218577 221362125 210234955 131738101 932246939 213054243 987750185 968118731 2967447 89158757 47700455 223288521 964118823 190300709 640516759 33670487 305302097 342948829 503621233 657527615 994419907 546227951 113812701 233151671 890202325 457032099 335959651 2045791 410900103 414793257 491750839 124514617 593009793 628741533 506603701 182273971 252989199 372980481 958519135 785424035 628972331 73859129 382787297 317761863 825536883 594689309 74574989 972954435 21112113 412663393 412959969 111883171 992927567 841454759 318751359 750262239 401283433 528023931 894541617 876494547 412453565 579341901 559869163 55255491 179184945 752228213 125099721 494233439 389555797 990902069 223879181 929768635 722668129 917949621 634487075 805610579 872899891 219737355 437712543 356357389 486867283 189056043 212831291 971152695 670262511 977535991 17755099 477924229 284674785 478504251 950433417 529310741 276315557 880364197 285876601 153314669 417755237 190574033 298815239 640137081 221564399 265025087 401246647 755060879 239860153 107975769 884830001 387851885 957488357 799817839 343438155 453913399 152510775 269002683 221405439 619715193 445687329 535417181 980402545 22165547 980499387 577119585 125512427 713380775 522084289 146147253 782833123 988571319 672699035 238019893 131533297 515515523 311554137 714796193 394680539 934965411 434227123 237747617 78512009 493696533 150343945 142095817 452280081 397908541 224475487 749582737 876811693 917466601 786610023 919977305 225843651 863669325 93517431 379363949 420004569 682419207 224284045 139381243 795112615 102256669 71133267 402593311 440186373 119512827 481924631 670028505 711089145 567160695 280684241 681301777 840499371 274294221 977679903 928563099 266594931 955885731 586612297 969928751 67721927 42181641 257346877 149259885 38013773 171314799 293451157 50459359 131362001 790330807 676535693 527631865 684512325 427401251 708045839 486876431 237927363 371641185 54112169 214394727 726109585 31449991 123804561 272239399 737188121 765535763 565025961 169146979 509285869 11963113 567475317 670941203 122271435 658475349 552822311 193236759 728675987 686782735 223109525 148628793 537806675 296667955 50589247 15255595 593569597 878338887 114713677 581759111 486209965 839931957 539120523 696528587 670702117 432669015 216548467 843246181 601715537 354241383 433334563 527402145 938812419 89441675 549713507 38749629 970823737 970160209 978485411 424389079 798127637 486531245 79913209 917850617 589137121 903615231 695618085 80663317 161423889 859757577 202225549 431630083 787854913 647181305 675739713 233326471 603568691 941164901 705560567 996695879 47291347 289538121 826007569 848934615 417259317 423296269 467108501 433273773 292785043 816905083 803696947 225831213 512348239 5331915 55827007 367605151 587259383 360489369 724948923 101323061 215577919 467226345 529829967 527546119 569396735 611291947 768250953 438307353 742422587 872952881 509436575 904492625 200449311 648604475 620719603 148443521 258041343 540910061 384727433 701932133 839037269 567811413 430996563 762466203 221599685 451444967 924910055 859090093 797427993 524381057 782660997 370308875 300977991 616306793 98714901 108784915 874453351 500094027 599003171 357842689 843459773 350769725 486014697 826502657 566316983 140621499 558803269 500008739 871856357 355653803 786852799 568665699 710419971 939674205 462054023 245321629 848970485 887394945 195812467 625158559 172191431 621754169 914739201 328870169 138566313 291281671 249454171 850736035 823583481 781822425 735104591 270044351 502502459 815384069 229302101 563595991 451217945 840195913 767208075 893352509 392788069 698531273 135159737 346548775 700364315 588946707 923288653 839510455 49307743 725599001 499255393 533391097 198854525 28915005 204005809 397086173 815711207 376905539 457912485 134039355 640865079 20642903 217715535 216954325 307286835 545944589 37583459 74606933 166591685 900932965 975835203 153365835 838878463 810660805 648051699 578984497 460670495 889950199 703609381 943629929 293721221 949847857 830018609 308672825 493531071 605914129 739802385 83805655 95903615 126166429 751211123 191630425 503617183 846162499 281818017 106818753 203996709 832640213 448250517 977577465 564300347 351237009 573078765 715917009 173284149 923122463 718132465 379639555 427163787 856450953 621253265 137773615 253573605 650097991 494229091 455933665 461824523 894880821 794654373 736848263 366053361 920621207 952862273 551722877 736797105 180249629 415522757 86609411 634488211 153260249 159483497 289347395 418292477 686142027 801185035 738410317 347357059 563545175 721667891 924783899 263869923 822228555 789222927 36027277 803644159 564527067 671923063 351058031 59812065 924593189 73238251 535452527 289973693 629703343 751046803 309608745 92988655 564157541 838479421 931733533 799156729 450408605 953170527 597185459 159979911 333499923 818706203 555907391 433216109 944034287 97407797 404248313 818797221 810107579 353400095 71449345 163872339 445620077 273956335 285367393 905729217 789639269 80078437 657455117 293159781 161950309 581884903 173513177 318588119 968366493 992337285 371240843 445586395 116144287 964276983 44526027 391568991 984601451 281824157 941429031 733992561 324998243 222325115 892816157 829321555 12455769 58053185 350692107 743740515 489520255 184879177 997608765 641164333 504076147 946398609 624564705 996352871 350981179 787204797 858137105 652825577 398105153 467497505 175034577 503205815 386687327 538374835 436322825 660601343 303498447 343539473 240614791 637116433 277433911 5057155 940204553 335348329 403349671 202983927 546548781 526264235 372502927 859524357 774789501 372355491 900278223 929486061 97752427 831986243 210250413 329994647 856013905 713638053 221712085 155810961 780690029 416683023 62837087 787560465 254024429 132066025 664677571 454028279 833869533 874304971 255861227 749594317 574123579 557654123 565873441 50254015 295194853 859035311 913535261 645447845 236337573 592080803 673628667 670696703 972128557 535876217 337544767 941008115 285419285 547461517 110907353 345149265 830782177 996601695 928779035 819772817 690399991 553972639 473405381 901564113 240896937 848179231 336951291 787885273 379888691 659623895 744475979 810570521 306880947 499561967 766962089 470782375 556678707 470324911 209952373 60582977 294962597 894448267 28144495 204230481 898836705 324071709 573124041 173714149 718363817 980039723 596019991 333875123 343940263 310290079 163724375 762617885 911571053 897390477 256753387 664100137 732438129 305018159 803937187 790577541 545028375 17334759 327312309 76299913 85477799 166033731 591930813 951266103 647108435 496750325 332519615 743535409 531964979 937146841 304857897 695369675 375577673 620035827 121377747 468146425 24725119 655879787 437457653 592522843 950530471 885333653 478048057 847688763 827743607 200677103 730954411 878797957 204367249 467377947 750709695 630962641 393359489 617337315 805587027 479831135 663009463 632309309 98075819 886035221 792496523 719309377 786376311 920873603 208998975 679096371 669809099 177217505 738034941 858925439 804825123 336410637 39717335 407146937 626476391 477452431 432459715 734740891 853431009 552219799 671886243 813403657 309795911 377950713 880099139 275420429 136564919 409797689 673333331 611103453 475192759 583628155 488036715 391263953 249990709 304438157 396841741 355537519 245104003 580118763 210932899 355413087 50631775 178657201 262387581 315160439 928794609 104728229 697188821 978508209 910909125 843718715 65666507 880648497 136743373 177910661 302711403 413264707 757440875 757013829 42095269 101610329 671534179 913317091 206428241 668385293 267853023 986806123 946930993 869939237 418990969 137146007 956329453 442331529 146672683 91955143 464954137 598058063 499260251 287717631 746462253 722671539 64750295 508312561 242258571 781153045 486912723 424343283 242048633 538944771 442802925 878955013 590259757 873782317 446923051 166575565 202824893 409926259 390615801 900984987 871279401 790389717 244713005 404961127 506990943 444202877 96973315 602406607 530226477 764733635 747760675 152676379 430515021 864252957 869152151 199691835 920312927 402306099 181141463 69220035 569399279 724571341 76996541 369978103 543886699 714091487 597404307 264426169 538937135 94825603 383290113 583282077 675213179 67281407 955119647 838656473 293709687 932952765 770628715 344620875 820594231 675251025 894270153 921078393 525402547 528079731 209913735 196282773 684944331 6855435 769985369 424779127 16752969 460666145 509909085 642913435 577793761 899144937 180759833 853719081 411184679 769958591 745526647 122032371 972140193 20792613 266994641 844216429 645216437 454249415 237562337 285074359 232233655 844247161 260373967 279773339 565228511 225649203 236288293 589828229 841114957 588897309 277618649 403387787 640386315 425296511 384402763 664650609 972810507 901621709 809538877 932205723 231815207 7425443 296048861 545630491 712353567 354595269 647107009 328410019 807943067 460825371 409445607 912331927 806109999 20607675 991946163 196473597 183854161 347505887 89753329 109979525 509264229 563378155 843305433 327138179 122655155 316474729 621197575 893569019 228287087 782547725 178184575 826438289 443324845 584329139 994545585 714018963 407935347 633855071 158271599 625610237 418377895 426906425 918076921 46441579 983141403 451706007 169566453 522233379 934188427 259728883 696045421 173059351 668837013 323928817 7032791 35154911 84949955 181988445 96561169 779789495 61454727 217807143 575097441 405539975 661954361 966733679 454688883 986005473 640845341 578224499 516292189 35636217 238405209 889987235 554456475 759795631 175150079 423915151 773444629 546613387 420789259 858686451 353224981 94743485 472946523 81222067 71696979 899286299 428651961 964364251 319111403 31329829 510452951 132663965 978608225 189884673 631927629 9642835 846479779 568130943 760267677 611258243 804354569 978643479 170280753 978338263 837403213 438697191 650011995 104730913 591992723 118679223 80877137 374949725 774108269 193050613 382280759 381642929 206741965 477044667 130456597 776471141 666427409 521409221 981004507 163326955 982119423 253330557 547578983 684092387 601185731 56344561 926407285 72065805 739077619 115988183 832303025 970413397 164306571 640956561 952864939 805773005 397631985 273581349 635736285 91966131 764710387 298384961 970283945 284296295 720854727 916274749 801475415 449496695 18437639 309344537 430782999 976034709 887065531 284585339 880174855 765078429 379963729 851149237 282053923 753563793 756695195 724150459 502373463 212221341 196861657 809769773 870824051 614025749 996070317 872072789 810238001 685680753 776158761 945129757 736488497 80634713 996897727 781937953 803133951 138162837 908790605 83562399 87362827 7018521 178825239 417137277 167346093 478196481 430222541 941523275 94020135 997524111 470139521 34631745 604176803 29559089 563478963 931244861 774624049 353227637 21282633 819148999 197319883 845568283 373140877 995281677 711626321 330760709 523244853 969374953 895764623 147099965 838555743 955311831 200545843 659845113 111087505 491577857 870922969 378602129 157118135 179360565 715597313 210850697 701883431 139685865 312091157 462501517 145603487 116612927 783404901 756844913 152607041 853308667 775664427 574203183 46140063 966498959 240834695 644544747 848914857 698908689 154434437 487860977 212460993 281615681 490951187 679615921 980806313 25350791 707213069 566496459 306071953 623200751 168185139 880174589 3401227 330091059 965065775 268013111 759036183 322131891 154555791 219465865 194148377 71592307 122753489 967072559 419560927 118253605 549603669 716689549 336509341 560774429 159270753 454010927 285942769 446932831 163551529 535316933 871347681 293967503 423495879 758006319 665933785 662926333 851575867 768443499 598519981 952679329 822161517 256422569 881331871 988537113 972158001 829956409 869758543 583275693 926521663 534121881 803642829 220070987 156080439 897852777 54968719 872473741 9817763 190191477 893162863 467963823 633773559 917534899 828915637 994357403 579304583 548871485 221373967 402656733 899287449 830100821 250568335 846637233 248357715 801741413 491014325 3191793 243367881 289785861 660193379 944530217 194510835 957592299 773486827 755173765 217983665 300239359 612963327 88580829 434909133 374777161 920728253 403524273 784168185 869522685 616862377 571342633 812551887 915591285 595723955 216599057 995527117 967483703 336507951 941600227 877145441 389021165 37220825 549532861 907434199 401437035 822264023 588832615 907116141 144206251 511861175 769174609 343810113 128252111 473765229 930025617 597029213 998935077 936291927 441718503 798077619 535312671 78895931 13543097 590685725 90134617 924970567 212395287 802827097 566062741 196450317 336340407 278702355 684480447 438585483 296404987 755224541 693271019 283233321 213423593 998669613 363831379 615411889 547050287 139819111 564163675 896205915 995744807 94619091 821210253 563743937 648463053 386179491 570067357 955767789 780948939 226417905 290044775 417200967 125623151 707592891 340330989 744383145 852559023 502425325 803576925 800712013 651546669 393940825 716904967 261064921 801777453 25749173 450521959 578173531 919214241 853420453 248510239 690626887 630755359 233742769 296328447 321807483 194478311 273353291 798701813 217467195 837934303 989856203 534135327 409478711 52503449 267052659 959421889 290130051 15045449 511896429 770998851 238200477 658350543 878322633 476257339 857208167 247169459 672806787 501878627 789699377 756496165 866819191 417935263 60421297 857492731 267123 428683771 397244929 484638643 781062951 167079849 211295657 823076471 224536363 70983427 777545623 946385941 738434307 93068429 838540317 667847173 721390357 587779573 700573947 688653669 466254771 929783051 98963029 635467773 679912471 49963725 518128567 680254779 181622627 852000859 925943577 592459575 855185309 140445697 554869207 552782771 616722107 38772789 792216503 471146769 907008915 865900689 100264419 670143845 342145767 196002005 1826805 122247523 700200545 191732721 593347815 52062061 690162065 224586485 142400543 581265031 465874161 490413599 836900971 835755363 274348771 272241103 917568769 220838231 311794351 727031699 530810491 543889763 675109765 997399837 961447905 813055791 836061057 289748809 602015647 251300359 580956835 326727961 259591819 982930917 175564245 904506039 436137699 788157031 801080295 895270523 851322697 166882261 187649171 583853533 577698255 641446431 748852089 162443903 470643943 731799003 794283301 854312751 161560685 609333063 778646533 393784031 378526379 217904973 820514677 925597611 24566601 774754939 455865013 679752661 490338401 717189129 731850735 53366473 241482093 613582549 699345715 248679963 873653331 861522533 623786363 213735045 499405409 343304173 392789415 892318953 465721675 991501119 953701251 864342869 69813807 215212509 408282301 897008125 217158291 553767919 897687025 125873207 350435171 350474051 4310431 503775117 561995763 778447439 460660527 185932453 14169349 906171187 681164789 644090965 550897593 619055801 973515305 719932055 529374881 384169805 859284459 80399757 386776237 659367943 907372103 382700167 449722431 399472039 473011243 832462579 938492953 738336147 714882931 251057007 917005417 321653979 254832093 765581503 192155589 519258935 619962391 453962955 621466155 502288389 749243055 275082153 981595135 666392399 239744797 884649107 610926351 646557375 173510341 789126893 948499343 233017009 524736497 151773505 294470941 212786465 471913167 583158341 988193213 640265401 92881531 956586449 915720415 156209095 665866739 38110699 11040343 782135619 305280805 157702075 518740833 309169611 596463581 794399383 670457251 944168613 828081881 457049851 408903211 13910725 706927799 704868231 875464303 851830717 954202369 222012935 373451593 331517647 183215401 67592817 668237313 290284003 770179465 880783325 38892867 233706119 660063839 963391377 479866405 953247985 318828249 906384375 573264677 714174721 859276291 931020705 355598629 791453505 660470235 358198349 283701879 993350621 809509951 644538843 950650317 482591661 594437625 533044569 507152195 141875503 607301051 10282487 983732579 411637647 467808541 362908181 880369173 425315735 295405987 940537395 922799027 453840065 170304947 948684285 298429431 217326123 10998177 786296133 936072455 748298141 914027171 346392841 17029233 854815879 515507677 236064873 543322153 254861053 645321559 255551411 864906637 701449411 422562051 39689561 706636899 892407357 629679033 478776567 297916887 524021115 26707517 670025295 568832383 971672883 394373173 399498829 125890647 187363783 382881075 94286851 406668743 30447165 575760817 703587759 277337753 736178499 459210257 523532211 388194309 473657393 962633115 811692441 680861349 732103689 853092225 430310165 150269825 644679277 241250779 51387139 576780039 992388273 236916907 750424165 700348937 526423753 204656347 378477415 472853703 977538645 571143997 754126429 198527461 482518431 477880711 146874049 84373361 811623571 5839197 949261877 922278367 847268297 689455431 136530313 750908683 525156735 661135285 668793259 203795263 37698721 747620355 974860985 463341605 902256057 830796659 672789749 116228051 647790081 89611305 342245837 283577285 591289431 174505021 410934481 512839137 501056579 665733283 748110013 775941493 676049651 829546045 187916917 415985719 598457921 57524439 710500867 777751873 479909291 284138017 687434651 998278683 146904405 662196915 476354203 855348657 643342611 984371471 728930945 252053849 461089627 735887519 947550715 84608977 417209419 623329459 180097503 920892989 547521193 284256645 465462307 441441577 713518825 313666357 388012781 487718797 422918685 362421455 919369607 940140997 121528071 452396867 928964967 458801813 977087247 727036009 879301413 737046061 464033089 358668803 343566727 339837727 878302039 294587065 77084791 786611051 584073905 527297311 285422087 968024951 964661075 850399917 400799603 747927819 613324527 80515781 907495455 965613667 561314779 633254317 817341079 225887511 610335255 760277403 730674061 241654575 510467145 468175781 24996571 300555287 357729985 390899917 713232519 881052069 449572983 385964283 41281467 622991637 716895241 433136131 835868105 204819471 125864127 755738781 113087791 105170845 256960903 798696809 645630093 44518197 925552635 476182515 645796273 722702263 396941145 425453481 119838861 826408037 841248133 118862055 466990141 559546351 375569939 795636205 389721603 35310951 967333689 114401251 3042377 777886541 192534227 423572957 503753127 230361733 742937453 425302995 325012949 562246493 673494835 84683685 166668981 694254729 892426495 577166879 327041877 109103655 633004877 452186607 936638183 894185147 303260997 223086255 350049735 870406197 131947449 946368483 968080503 532708073 356968989 452159475 952348323 295551635 243443089 632820525 478342175 11762521 695770079 841280207 26381285 389575369 59090033 151348215 191408407 708144345 169566563 744677551 234332165 557165795 557006963 549346027 300855581 288066223 584317447 699515775 598532093 898736491 217535023 950667569 689364071 253529769 439717795 276330919 218703175 530600807 156037313 19373173 837653425 460105485 369351825 901913617 681185759 807692903 489245123 466410719 483747893 11853481 669537707 110832169 664529981 833562223 123155789 572086045 713705901 70785219 643857485 355540949 281611613 555725327 724120569 406544981 680288849 351475495 655522381 201819011 135982775 354759243 303023333 449452081 200436447 147986975 923627527 113911835 240627781 299928753 720171941 892371679 390448781 410306677 705399895 84612871 176974977 600329035 49397337 512168709 904477463 907251061 677560467 399547441 444039271 328283297 817295767 728897999 254376631 410367717 822916249 518873605 55322479 388068285 81448057 57610469 67851813 607065361 130959551 534368619 560179093 610537003 41738907 486555253 647240351 669349571 843718627 744036813 908250961 187183603 954915863 849262885 423764443 271987011 424856925 676565269 321628061 55746977 264306053 908882975 51304469 620712031 265913607 424086957 490559475 995643453 674779137 93070097 555902471 725026399 426948923 989842561 442729551 155904339 817639715 959840801 639293163 668827149 121213651 990330617 59909929 853123819 848335111 879917051 238824571 409536179 872330025 289882367 137635195 206675345 182708295 17216967 581182191 824589849 331650583 979904253 829508801 729761869 63257083 20004145 196267781 451072653 44371449 758841821 656746739 813572265 87939519 175094883 476685299 77193943 738988453 757219083 243365517 186958001 525541291 610591239 167143285 254465087 923978359 837931631 505379973 897799917 119878747 343490373 490431939 831149203 394645067 374858355 551708249 115737705 253280487 864317385 20673435 66359321 118225783 83477505 396401667 875178157 428930795 678205373 567299637 484391325 156549337 305804931 698256891 809982917 977431169 365027785 161142089 140484715 912697801 853022693 658792251 12040249 693216833 672284953 646911251 464510025 418739745 553468047 447401277 732145941 68725063 181374295 299348045 647236995 747366971 490084715 772171261 652595681 328495915 285117099 407866929 4155107 737833201 855973347 154974195 87163049 347543561 767661507 463344759 758730677 429325213 590774241 466940441 35459573 487658617 469800899 897198429 946419647 941160985 746720209 575846891 940345551 342052247 304250459 467499417 246196557 848270015 279787675 1603937 323309251 84239613 285028273 490725991 529522473 875352681 579660201 646856949 997627355 1157315 242536561 340315009 391428765 717515891 378467557 726070179 24649885 306016133 840287685 130627359 236731763 801393331 550310075 496352995 404007449 821345373 212931927 431730175 375312885 390507399 31115281 717927599 46035923 706408673 134105423 903834455 383341291 393977285 491691605 880426371 217637339 932152113 454983769 566547685 756583331 310867659 262886255 360914007 396373173 737765859 664469405 956119775 514590693 676896369 596715979 923200165 594466671 946214931 540319943 218116095 867502587 768144657 619010639 521791593 903741331 519550809 80795649 355907971 46219949 608801157 934457961 566103067 651546409 700438993 550215157 50839843 261843785 287093031 191738369 770069685 182382267 217468435 663542219 496859927 866598293 12049361 593388417 739416499 175570261 42270523 272724271 538944027 458496479 193998813 539702739 108767501 151816321 744859875 600106571 699341161 703369965 905780773 28562017 842666301 282446405 312151331 427182535 377421499 349636621 585456131 248418071 15259455 189963569 425738391 319453905 137654859 522738949 113676627 974623837 440818827 86913609 946395735 505470733 918020305 369699363 673018987 447347997 643347227 362050331 850550271 826111659 851680139 794811949 59925033 325311681 194006379 654925233 204389799 555056209 375087151 652503151 272108003 443563317 487282801 928032915 215996397 258588459 899267833 62178483 161332599 577890015 258241453 317665485 333774821 163595491 370113185 920288579 656867133 518953133 455290131 717235175 394524461 400195489 602966629 993371881 717404175 201015815 15176481 686549483 625856991 738489361 6014461 187601135 417332039 372820697 885280463 96403301 806331027 921648477 864316833 508483871 460720831 629562761 844711321 181723997 621565541 497130287 786583565 918154179 415313617 583076613 762196343 187039071 814938863 20163503 884011131 591855525 913810007 427249333 438766819 787871091 462821449 82952585 526955685 878693391 230099115 226548867 922738393 610409509 25938191 566513125 453079235 676127435 793516457 368798937 435066065 728790653 804520025 601726577 432832915 403664931 882737575 652570275 837409477 174548999 53838275 599136595 562573899 412992735 254653315 263537481 922044719 285820107 188598629 260441909 256314023 135726669 784682643 785346229 386317579 983496531 426529755 359349061 400160993 825515061 663872693 251418961 34460113 253622443 541539391 114010921 13359539 250603743 188303425 655265799 172781437 628879965 106362409 67719949 576070741 286990105 43759631 612417603 52240519 333716081 350864821 265705369 165601413 134573609 766236541 23588843 42815465 860438385 840309627 247575545 198120057 680765405 456323683 797950829 787090719 123196521 269692567 582466007 633498861 8462459 822148379 594927537 807130655 852272865 74646689 938175837 784993563 310050511 475817087 508363811 53234537 663385829 48695221 130293043 137920699 214617125 278750699 733169321 856776689 87502589 358827629 950672005 736372747 173341763 252024629 674882993 305409333 288087603 551093217 773808893 49486785 745623925 597599929 662765603 405891885 784773139 276837293 69203141 435228443 632575109 582777683 911872361 243155029 866963623 551545321 170189445 26728399 672224445 757560409 396394863 688346531 728924279 903893297 342624615 773168663 389303271 67107753 153731227 179552917 329553037 696400031 211690777 932698801 769914445 445574553 838580187 602512165 970109557 22593995 601011649 912060117 258528441 266736903 81781911 538052555 298752057 907069135 158130699 778749499 926009973 960183627 591580345 121017217 696879199 313996361 652729121 674800415 794417483 699048511 231455403 243290561 9186805 192146765 383659179 560792123 542313861 236089917 441578841 227843719 299527301 540110715 997612245 702933705 481701869 37227039 748410923 990838347 344971799 507648233 334128201 278494339 100314059 927032127 84092171 728327689 216299831 396701233 629004337 267517857 30781165 54512503 409213539 557672247 258765037 695144047 951132725 667979487 266727835 755545377 821899037 750068691 629091523 832071485 303352961 651902839 697129117 263129881 534966949 375411799 56262341 92325043 745604541 431122211 962394945 361225909 82198243 683464123 844712829 934614381 8355093 238087709 482357581 845978579 124315201 654999929 316822003 277814917 635788851 941239071 165561615 156445385 702317481 705936779 33001905 494217107 146045249 840163681 865701197 169405045 929726597 96500333 180323011 627881137 357333225 530615455 512820053 993344559 289835201 423974679 589367217 546746491 710111827 665133333 201490157 881309137 38457029 980743427 431947141 144198667 108964137 646417273 338852449 162750901 18628475 48537133 349480909 749044985 271898009 152926981 67034235 281809589 949691469 600830221 911905421 614156641 334335049 50956663 215231621 728032811 29903655 411113117 274759763 447445981 54909029 66868485 711548491 936342513 88849519 532513881 285909545 784908165 97075095 496227435 267914259 283381345 10068755 550184505 196979605 36304885 577882631 789050597 412426409 111202389 732828795 709082295 904366247 436684101 498618465 222523431 515322711 688177449 69851793 138341583 920085477 153767441 11564495 986664049 499275751 47475891 576382401 156136441 8491609 142362993 614806521 937702523 856464545 995590481 113922801 880831023 158202255 854779137 950053131 677281149 719468115 107745241 249041807 166880749 782550927 346295513 573799343 784101683 972074053 544394665 502723971 86493739 288757477 237492631 602739471 9768407 302815297 935915673 808811321 947514979 202598553 376769615 607127251 16293923 623619729 758398211 1720727 357752977 825550901 913474209 232646439 716526417 124274685 537126849 504320523 435903277 972351941 318225057 602677427 871704345 225072083 896969773 842104445 683188529 33535955 421476079 862607525 364824505 35211737 415977505 186797911 149802521 605378919 651415201 441913507 786841063 456698973 405961719 384352643 248133597 417190923 556422993 377939161 162858207 375269925 993685129 562361451 196668151 63849419 378516765 299422703 407833691 515610239 225405233 357533179 150426723 437080367 90306713 162948881 146685587 23348529 790097867 116456603 502813593 664992067 987251429 855350761 857983045 50366087 361077421 392054581 525662355 621538191 408294805 85735585 497995943 336964941 307644597 77443379 597024205 892153885 211842761 9772001 370239349 887215817 411952953 314054785 590534207 56634747 310450967 500431573 914919657 340276423 661174295 609126791 441806179 33022637 310285211 142058279 970059709 773025169 160219559 625669421 142991669 362180417 383107053 470856447 957014827 212326385 925683907 535967459 947744811 708627263 250802217 811043593 193231083 952010545 189831365 840329357 716266821 734827315 886547175 174644335 144696123 884482843 333602183 749477527 536385015 489823271 583673155 650374361 440107217 965257209 724281699 446254573 892002879 374778785 529905365 425116275 588749033 546998933 540662579 800496119 248528533 531973041 572062649 613039079 315722043 394623545 996370001 949148319 796048373 674622171 103150729 741514847 399274501 922215599 475871897 177787983 669082583 466167855 627041373 713933187 453210621 273520705 904703585 619290099 932334645 770144561 168004817 844620671 10683489 532126647 303482503 800522483 904681355 73310703 185729023 749463805 141462759 887407711 972884577 873737529 542856399 19852531 912695935 94495525 787803595 819064321 404113869 108822831 793949569 150588741 169014123 746273187 94421445 292376293 64861985 3188671 372363669 750958703 477485663 190926497 909548563 379476953 348260667 166000213 804775305 760666237 772704117 357226697 856444523 444609571 496359795 398035159 71510613 10625527 305452357 567724867 729870091 716964239 453009315 340782515 76859253 179736041 893717227 743034811 29087401 527285865 126641189 863004113 39979745 206749147 401225729 237745755 569028223 41239927 657390035 888874141 563113235 198516185 193090719 647286219 692519499 248094725 390206983 574708733 126208773 952832619 186837343 605022519 452461637 560125919 168069789 697181791 581795379 416102557 16076637 724256841 169006373 33824587 789960171 957843627 61441173 878952439 975073843 63259433 477921319 877725973 446006991 626997835 891735719 612619395 142211579 706066051 22314757 699018887 595764895 204288811 938399073 463932621 169488205 164662145 862969337 22436203 508729145 5673905 63468605 317808607 27597635 638839757 538650557 784520203 899030259 977205963 661388597 377119553 62063481 286452623 947340681 476581169 637187755 464192993 471097029 486417661 731314185 104951155 422782235 426435111 481586105 882798301 664311269 932980639 189365131 340164769 508668585 480048311 970095095 107888171 121796623 27863599 420519195 616697031 903043823 775370027 306043839 206277809 924582207 890497591 362011729 229021707 671559975 299396685 267504107 115638237 660722157 738281925 352698697 81642777 739986697 829483365 417296341 202488215 631806229 266854749 277622429 891601177 849511123 890581057 225345367 450164297 314207791 22348813 565260645 201943479 184756539 353516329 482691275 393425629 644117301 580275039 124644669 213199645 982461821 263815397 789263117 887998655 893540001 957236059 641249341 589846005 583809363 271892163 761419123 188444119 319639919 388561547 547612929 827221351 145303287 376731785 438511579 712563343 261919511 879104507 473739937 267283743 309041441 344851589 515517083 915048401 333558675 306226483 138995385 121678151 251603727 986988413 178701969 763072265 692051807 680506431 207007587 810237063 644020343 387946685 807023893 598737949 302701427 304037287 706436919 526816779 910492565 273294353 255450625 788579195 271723337 869560439 475862865 534636413 514149155 259064255 729487279 212803083 714179805 280167479 398327625 316380935 876193371 277303443 227064569 138886455 724901543 419250417 319192891 552976721 80428279 716294615 595706681 21497067 951991715 212363569 619830719 381476743 891724079 482701141 537857097 7984013 241305927 202878465 4816881 739919697 424534975 880649047 168726147 29872651 687933329 974593769 708707179 398456029 907450849 302526121 909118657 625021389 55365883 504952307 248911429 783740625 21834575 294237327 336568415 385938621 650109051 720537003 466989851 227599959 159876163 741074137 393398579 770977095 371412367 280020249 353126149 405847325 611571573 541117391 25151387 314609233 245918769 722796489 572958623 506988361 408372771 37226555 394947181 150357321 333491927 606557635 240612611 89497479 728112131 243333991 701676295 858481175 622007935 762652563 814939081 136393983 160806737 653192477 281516865 295574823 561685667 128922177 386530061 115168093 457647815 780535717 936329077 41598815 209031481 150271319 939941991 408604363 735293855 649953741 596209277 111223853 176254655 426238689 97931763 174413299 445885329 982866141 518302131 143783801 687079471 707993961 880922185 578526717 6571737 200790173 440690929 470792621 203283199 535933431 800481925 792055957 944065075 401590107 214038673 632936371 147593517 593726485 169849921 167086053 241564373 155870173 821205869 798834421 371745075 256580047 792395669 714606743 651061881 546968945 372020447 821049183 383371271 188951469 199719197 201575379 633738077 955267549 255447747 890583385 513226023 203480251 315508209 258885445 698017849 428485485 573281647 57688525 143090827 142627457 581639597 332391701 677490757 409811179 428707265 614600229 477473455 106610443 521708137 345459183 506497853 974065059 595420431 555571789 30317195 26230497 182509761 177559805 347661147 785171803 396189495 932077741 406581145 799276301 272357327 824020457 230606681 973341279 210216081 666246703 184146901 787957531 287549739 888667867 800622191 19241849 582434807 421362237 953142199 708217621 786647793 973749889 853245019 88288243 339396291 404914881 638711353 130846595 8361401 599564799 350811987 713069975 901781199 76958245 304141013 485775727 686653599 80836357 131787283 254104751 271730293 867673941 442879367 863552101 153610557 17254329 900446165 519310853 607527567 166645177 172027081 74221165 179993515 487455431 886361683 568342755 296749687 198277435 86142353 277816339 991173253 237213529 763397575 339493651 971689993 719452231 771396957 59761759 897385699 995065111 389723881 199737053 732419995 464501699 488879141 265387229 32175713 470711853 209492213 882654479 204178441 84146461 2092133 731083669 293828887 857889605 200386981 85652721 148281519 255749181 98382613 627325713 709160353 585601927 26045747 779377739 360109413 578971533 226802607 768348253 457641753 162971807 284126809 709485931 423970435 521108983 133526061 974254337 462109975 578073783 490404945 268434711 372059879 687891687 926712075 511079689 46837173 948031607 991821523 16495773 409911273 557682243 81921857 359490303 774950289 480066829 498309659 619587523 114759011 435802745 611760715 152981993 923803073 619414557 178048739 529206487 394501551 788010099 117298209 272036183 382801887 658037719 863138405 589382815 876131751 672112023 268174141 132694861 114375687 705044193 305559131 610278503 617559205 880924113 57154713 643865691 113923283 525059687 430199037 32214011 973133957 236460941 828639153 32375685 978600795 296091155 330769161 78592929 505909149 508743603 352989821 285469785 712609083 933838863 215172533 521159717 551006409 335666093 365640057 842164449 593533579 578737411 207241405 168975057 24522597 859735399 390610845 926519717 493836775 107816987 84341851 461853551 610786121 308384583 200762467 538429871 338688615 220350719 787232071 366663241 842299085 675454011 761876421 854734475 193651113 838875099 878964415 389974057 984902351 203519403 290053695 425913409 54154177 205492569 930273401 406434905 5391015 613428609 26390729 109538141 693824333 470508195 593923761 51327139 597382191 364985897 678106335 138329831 188348775 490185057 153541153 103414097 189836737 616747657 136993399 724388971 880763817 6895551 929460227 340723499 546498615 430965263 632238609 761716721 823066155 294030951 268098577 400637823 124324075 786197667 91866273 655215109 773697927 370193027 105938051 178329621 785690039 40032943 520572837 179061679 595658969 997584827 285440023 330882357 133644533 491270431 162182933 372795513 376156603 202824251 42653699 397569453 816716673 181970265 607670123 879341167 175811141 81266859 759491075 609213637 380185777 563733835 236683171 137347609 641849107 62365753 660213329 339416133 597249123 223199581 953801525 682325635 216445759 810583691 742345637 974991481 807898861 817436793 631211035 283510069 688381025 899870667 225139005 49056301 517046061 907752971 53680849 62476347 171645587 658267815 193535183 772608167 921996411 794395641 867560015 826906653 857246321 321888837 251323031 238309301 371305649 735152817 88666129 107197927 473342741 916815441 959083855 230466461 192797735 785013019 580406285 643926305 345245719 240479475 669656625 269522219 150434235 782368929 965386433 621940695 363787667 944626903 562596085 481260969 365482183 214932783 900368679 940832913 355229731 954094375 507543001 348423905 529627937 231061803 510808245 765104729 326021343 106889101 918068627 419078941 14400805 506448259 395072363 337380539 204583265 335043121 436444511 774606119 789794221 300976543 583269309 704151489 843527111 905969087 529022711 237552201 820063765 874154857 752686761 608534513 699625127 160393057 815138453 613084237 807062579 598174541 829232551 423703131 222178075 46671039 69753073 275146109 882816101 698471987 543224497 552304771 647618239 450035205 638396231 953167523 430571393 898303875 976418883 675353721 64063915 465946077 508011347 112471305 902907109 613839659 116078933 892611777 359309435 593233777 874691915 497679991 754999913 897603477 783472481 470570601 197377609 241113193 486289387 824864059 170951783 231673255 633800291 582412027 369533101 70501617 32033899 221322269 255593911 484537039 13510867 300991615 702623683 486633907 312052361 119100517 856290231 886516981 90241963 300987775 399628837 605995479 924806267 867627489 832112193 202093699 975954533 606576903 925456107 196913417 213133565 111998167 560642987 584027235 336290557 577441953 550860719 785695091 233679689 864871445 931287249 862829569 53614061 169101395 411993741 369878461 425713433 377877729 153713933 565989187 712152107 492196525 319660063 927120147 591006375 932958985 320009787 978887319 426618677 132203187 50685821 536086815 720066219 184783059 256153777 999722725 612794117 884191731 978549827 620926475 809097827 284883211 730932045 88334233 288958481 609360503 566034059 546287231 481380229 649748221 605218149 882606745 572578135 425649863 303437037 958206375 729502797 505335919 590835927 946805331 336296015 878022639 134511747 187864877 324212597 483850157 227805179 582599599 35663605 393221495 570183403 285950265 820165685 308313985 238818731 44493335 705102273 178857833 810255929 267607159 61596747 614132021 114123073 116297077 66830765 355248721 556768525 561734161 812688365 392754835 864141975 508201013 730820149 32752439 169710717 703224239 942674903 489590245 302847495 705373501 639620945 755130279 242872355 254644095 405034307 462829045 619348587 269375483 291145083 647420329 17328155 34226213 684287467 749763597 512098077 289593431 67627949 792868297 178525439 74735313 525868039 667723765 454281209 566877885 194278755 273804559 898029543 546201897 581829717 348077051 573894485 483012627 11332245 13809927 126824559 52558169 824355851 460380391 585410573 115875271 354495423 606012857 876819633 270059531 307736805 660860931 516860285 444573121 565708761 550171055 937649989 90493031 782741277 359329047 128381821 510813803 663755357 122894837 843750725 299970075 522001261 829079153 127932005 60220079 908314439 373491733 745775181 399859531 371943693 111050967 748822803 505747449 598529293 311359511 870906487 189355175 235358139 702780823 255706847 871594033 627121839 971452037 215858267 939517269 70847405 202892407 93418403 8990655 823043489 899737195 839551253 655652609 817921951 613333445 372524473 308094355 651008993 32957777 38636095 836644309 739799755 443881543 700526587 811408657 817296871 964731203 954492913 640286329 378426603 605548873 354880963 227451943 491219119 646726857 911178949 22015001 837062199 993387669 102013165 904627515 65207215 227395821 362567127 879609439 991999851 538880119 257116623 289355579 941758695 471106875 892752065 665811827 729591747 213662133 530621253 768752527 653493963 955469245 491754395 1883137 813160181 547856795 741502123 665588259 765053017 785282299 853098753 69832499 94252861 332972531 222248921 871305053 378588425 632266239 288323085 753163955 634195283 198985479 919814439 44496939 554242263 52207701 983555671 478960809 587554421 400810913 246321011 937722869 862015033 220226053 795553275 448853441 902747225 493156619 994141717 882832037 677138477 855574427 957385617 528014629 25807675 405633807 913344231 967548583 508550189 753841183 427754549 277883517 816890325 739247605 937038403 409836769 154576433 171646749 346987391 899193333 666877793 468655755 174498051 77646529 711198899 198165661 103145867 238379063 783012249 243457049 814253697 790453295 927174829 561651499 648146675 896312939 441660597 423107689 12724887 571350421 292713371 743734223 821982927 437562941 853546353 863459267 651504543 340264927 831969653 559569939 212238009 196501975 811697417 233327349 129242229 698184819 893555893 27172867 375920335 483530723 616110897 394591045 586745455 369872703 131727447 453813289 904197543 21254025 625954857 51837057 124122987 255327403 24544723 642377101 327539291 181902965 724736681 872960239 640023487 969541537 217185061 128382393 700698247 752175825 118011369 929121117 972297801 680812941 246700739 82075833 535426117 521404741 146723751 189054737 882421857 954737749 155430315 661012757 52021805 698857213 918709785 538317271 44839905 682966631 526496599 662326231 411583323 228544931 774426619 120842235 513924385 612468907 33395135 205862029 891909991 611810145 140813957 861131843 23757055 173559435 206699869 688487227 275162221 476542687 834896245 13895163 585627859 406319603 991721259 744649327 519566597 603951945 206758657 373162221 371991161 410593097 134543013 792143667 587383883 997660231 268560871 552632163 256073799 454288763 397526467 352533261 330596313 841258503 532383069 678836263 199493913 11528177 645608703 981601293 302631879 317531439 220312863 361115779 350265419 555257495 120270677 452058809 871448753 766365929 143551845 451714113 651371443 215656403 81968701 929960475 332167599 43083491 571937005 419932075 8361903 495614611 257522609 204916159 791001181 699703107 81595117 179358091 964477717 429643327 968093229 590796205 522919637 852463797 508616993 876334891 825077571 217287361 983676585 866780273 343717295 97089633 260155331 813424723 193694737 159020675 993386655 619025171 776896519 948625397 252425613 270331729 804611031 427723375 105879563 162119965 427193717 794649495 170217913 71569133 919436147 6828529 347869541 809080475 992422933 44973553 344512513 101045359 780940349 545495281 195150247 473582615 314113151 65421873 238393501 994384805 372315153 942490073 247438925 570244247 258353103 275950589 832715337 562519765 193255749 350304147 346380623 830189995 207795615 806654847 62622783 127042253 322128053 265160075 572153639 376224089 799930375 467963237 334818873 508335315 905880507 393734055 377962193 559128619 102291875 406241493 446976113 17102517 479518259 550757461 242743235 96119085 818772875 293959035 592034207 994846393 700891251 717277821 626805245 337799655 132562779 982085503 503670015 578388907 695981913 335648139 50917363 346593379 992001835 162259343 737219659 276161237 310532155 431767909 19414691 418594095 488285079 675410641 356233661 441421315 35405047 858439801 458982279 285598543 796206009 145697007 237441551 311466875 337461733 11131311 747396757 842974801 89228585 288998935 286818939 866171913 542400991 269066865 520632907 207032381 712594435 137654511 639529657 113073399 866661951 128749737 82216865 472796063 211111647 250507425 356892935 717049359 383860959 814646979 273621011 568796033 685126361 666342107 588057627 310329755 476786713 322973605 512090521 94932329 629894027 820410307 692345137 717555813 236837575 948769469 322888877 281292647 569521421 525023749 379083265 803418037 349874755 164839411 69339723 476049919 19046907 430974667 200687817 221539673 860734567 757443507 333645289 618231361 896386413 742921149 414174271 108474777 553669007 254053603 58210183 302668209 318389503 569347847 464277921 176755519 642569361 891149553 428709273 697284189 684587209 74354003 802454693 100227475 799227083 708142021 134060317 175917775 267649895 672061385 983053703 454038627 829998101 899141577 951050635 675551759 628989427 170571797 391731967 82856439 664248519 816390631 115635935 607305127 947743749 212946017 933181003 160029463 156516799 862869899 455959953 924060067 918453687 46538071 184402721 41464081 399610453 44471965 894419611 117025419 529841063 475863583 810921919 104279467 753397347 621449095 384202615 124048747 967807211 700723813 671183067 433002801 211545155 175511347 528420385 31133643 542870301 866412625 367004081 88113263 633668815 277283595 715643153 957213111 421218905 184734353 869304825 43867819 990220641 226079995 554429763 603309495 744700217 622253131 175278577 584093617 94057429 929749353 655441455 384225495 657710805 850046249 664150095 981133771 788461185 959020355 354288591 707713183 613300425 58154329 106801231 120638405 20709441 62060017 438411933 397593369 168820013 473606017 296781227 576813285 780009585 149759327 638078869 822408913 576259741 523323597 192943261 868333303 707594471 248692723 770064943 105487057 760209457 909464805 20229087 548038213 350881281 950248091 33428071 953542817 34127237 823281143 988997801 366450073 822176407 658478271 320421045 454710347 612140723 910610601 825123513 649385021 23973379 775306313 260281363 315618907 403521619 871297061 414181445 186051065 406183967 906602405 776179707 691693529 646614401 528050713 913204233 691702043 11183941 187713465 781449833 887139407 636501463 57783979 588675391 402449003 556343887 825788403 89378773 806417355 773222765 466196613 498370975 892174643 238160535 506125371 821718841 313165009 768741597 534702805 545963879 719829819 698247671 660818683 201829905 844788847 597438275 417413953 329387853 531527377 93849801 458701599 916959317 217172527 202167353 393893365 723179149 831597245 606107625 371144717 812401793 641477657 694303191 404976539 86997729 204024391 196534445 44051379 438571403 395189431 757310649 705840475 340919427 540096317 654133491 922669689 795161329 890283797 861836279 633093345 443325997 669842405 64540433 736489289 302719149 698861755 991580973 773290069 733679383 439009037 78020581 504737679 860969271 701243317 186337909 4564069 806787325 75183611 97779911 543658289 77549961 225927307 236043879 716505655 631243801 651251835 264975759 542250653 203796765 156965961 550466591 197609335 226712869 73360087 639046299 96038587 794962415 117043831 888189237 282412621 651016027 25341915 504322243 410946293 566465655 311058207 95157189 529059173 938291317 802898637 209339745 275161911 997677999 755538637 202935913 616606697 864826539 426429305 597585489 492549097 190455571 986946187 553338937 726529411 282363577 646112809 972687849 61731315 295578267 81220065 509570255 646102107 336554969 739744167 749288709 241606339 400267969 990783193 481142857 437516573 36222405 725078333 824226049 647061059 992890497 173317631 97752379 858222835 869799607 537019573 915314611 57376985 727181651 504345691 80736453 116910981 3899241 621279833 715923833 40694643 978141489 924270457 768690301 981569281 848102675 191643891 782677289 605822329 45379223 78259041 326462589 24455179 980066673 697093579 249732129 102249173 163427965 199902879 286465377 526533075 632911037 913211055 410830393 61128689 598165597 991993403 316842051 24510975 960490417 924126695 856064457 572006839 853830195 863264703 254404283 63968443 919412615 427857979 96445359 216435091 435810423 858350903 120912613 741031089 231678455 243215097 847709507 470267757 630878243 180304685 167874907 601758473 351509311 884398569 67544671 888894383 63706291 695377065 393939253 273830767 26416149 892557651 264285535 200214339 284891167 577601845 726435341 889332237 236608949 792209413 976864025 289455509 771861729 626602717 724920319 556261771 265831897 594108741 787058409 680536203 408986613 47390249 544452517 870403863 223967417 663380191 924196011 958464659 415718611 665758245 769415191 962649685 856185619 680106271 704273077 215056021 931384181 312581721 663694065 970271605 329883677 61417163 11615205 247771645 537528919 779117777 491981901 516195101 70062483 389044015 524196241 297487025 466385521 624018965 648509635 138111097 540831151 971259413 463836055 216786719 518178109 133857071 31255405 474942259 711598379 679126983 870643279 163116591 225483445 146895275 106946025 389429107 917084993 975988497 263376531 602950475 394042197 25956243 109689419 355530725 273607081 683263289 824020925 862894173 419660823 524150127 446763827 950755763 573771935 884392971 719630759 282356689 365641329 757007433 621847479 924061831 708795101 400128465 838665899 557424781 425788513 134472621 431302001 92166281 387474333 207402835 815195043 798763007 550098527 49862051 306965117 967298149 565905049 639027167 511514089 280377871 96525159 149466807 612280181 66735427 498916363 701539645 633720663 714492201 962340593 707531249 734741361 185858769 837237419 17594807 550138953 452371507 283545335 644275933 347666445 156037429 944357301 886878743 324898709 901953691 325788147 740748675 401627489 814407961 118999269 64791461 880794265 948624969 456955105 928246381 261078537 558005675 854645359 976702511 202186029 733608871 569167673 882504359 809494815 381027985 401690899 648221179 335414697 670940063 348241655 310227897 253111867 218157047 676649993 422814679 890157291 655760797 538777235 285579695 728340345 829596293 233220873 675098889 330115659 655375241 116313351 710886675 414593393 382671719 726133327 407365983 956536739 49414093 466164175 823424747 818298175 827774023 436207253 626487583 29260109 768601427 101133025 401130695 884639355 875453775 556904725 91933463 882179107 582876549 872414909 159720619 677584705 225878311 730351497 268779661 887525759 131870287 819031127 29864741 235837483 786748667 941937705 49332557 114702653 474504215 417650989 743096639 578825297 217759861 654701491 734692769 291038131 341884875 640777527 593737857 778006863 65610685 878639965 42617427 163597757 386655445 259790577 529243383 941613373 57842561 48537315 161799853 217652919 183948571 169951057 617005353 899801783 925842149 7253631 543609979 185153143 339480331 63817173 748684833 33058519 345488281 161407723 845178883 920638299 953109387 110022775 357736299 402970421 942774723 404109151 589579281 158390331 33873417 981593519 32282895 274137581 421081615 687903639 352524269 117237873 249506925 676855927 89455513 542183319 5698983 4029903 550281061 28396503 287652643 817003081 754119697 388070223 304451635 96832189 783714497 911072455 118379793 747304225 211186179 541659309 260622303 334325659 145781963 321935899 88771493 763621751 519104375 347304397 394313045 304230951 575512781 201346861 38189767 794235463 170479351 269603145 557087165 392556185 267964559 679245271 321029345 393994503 466930065 987795001 776321733 156289449 550490719 143457395 460389087 376009653 347749577 702215223 578568339 435743379 947375875 710490077 931382311 419387083 76593837 430930273 328301009 321500945 487871433 129543019 888780455 824222529 464923589 268002379 794492331 788949341 985176697 258572539 503755463 400769169 381101341 781648917 179785163 522403887 922294619 128073955 639175025 126165173 418800189 739414101 614705755 758997189 665931579 361752577 666445329 650263081 465826609 476662055 946758147 880967381 342222181 561459629 890371213 861831141 566420609 91258147 349264881 580846235 979731359 347235263 88554835 304982371 548775225 134811491 297496009 788573393 36256309 609858709 364217163 331739807 301357281 247217029 789777339 367568561 711261169 594094343 748786145 479869457 278225285 611316127 449372781 880605171 501778975 173863535 476863227 384356019 99201453 831069771 982029579 154119381 431965317 816490153 619958535 92128769 258558563 511978149 173626687 230120973 698561391 740616715 502050027 904643571 620760371 569256519 233314609 334923991 777373607 855317361 101339669 870450947 872684583 200838473 217708429 602719469 495031415 765084213 840710255 296026669 319717317 856578631 123025789 215108745 64703401 231155763 371396191 996668649 666517789 362070105 854412457 245390435 321023879 834256321 414072531 450177843 708748211 442671899 955820861 963699129 732218073 485286845 513345843 879751041 299407767 929678503 990533603 157434945 431404781 542324607 866956137 929597649 930381645 732082581 155137989 661498935 863676811 582386913 297794015 468839067 480512995 644093185 642428043 808892501 868822269 278679611 780625279 501215451 576250083 166489219 544260705 693346259 304344587 971743851 567340469 288553993 221081173 457696311 640249327 407665775 623902723 186926281 515965033 780353311 812859075 438136501 245922403 942827615 287221931 208468783 462390277 345084313 405297977 594355993 378864995 883161695 525937745 200638969 327777139 815645551 251404097 686535421 636741913 648930729 814753723 974147069 596272159 533387547 644791009 120484473 457560115 82105335 105070647 111554199 488098799 896675225 968337065 157599273 646587863 910274435 791766411 599006627 230692689 505104993 755439005 318606117 897878449 920104197 415706629 236922231 243462445 359269229 30746443 204009737 355908075 338783163 499918955 120330993 521002223 397329721 832034749 153347053 8354605 132237147 670866953 855074151 347012221 574883005 474985851 39354477 209473187 489593377 586273449 645332151 795822661 763003251 759709585 879822755 297701365 173438663 213806229 392016185 644832559 181128535 248383367 91691815 773344593 942973573 85742743 318670791 179210405 82529503 281922407 823662357 626597213 54432537 947397113 548845499 212681873 199918347 723816381 963269125 632801093 29570745 358685317 4501743 113037663 904271183 415368593 772861203 175958193 930683937 538307717 846681021 622604277 39676329 59875439 279229401 594255821 741603467 841218755 45259007 919760833 889850513 851183199 394539631 3623235 815807921 441697417 572808207 676480683 328275715 859395565 171359599 718720573 904429515 563062689 910398663 505528607 266286711 671700001 940830199 170139235 624642455 265301077 786375043 797902339 497138407 56528519 640411 821941217 963088459 241878893 566579481 173854405 961779407 457194279 227055739 419820897 147083683 20659767 512294119 284211533 232212773 515260555 746201901 661475339 583002073 262632571 36400325 397984773 104026985 534688191 417555147 873227147 276270503 397065345 539441419 379545559 3950479 581085773 772547827 531963403 182324293 891788055 436679319 448297007 452588053 538412093 533916601 944062005 119866225 761745283 802063553 788944629 980555763 472779801 32102333 150565169 440242529 70126995 507437923 123348627 473063077 570244845 167098899 85848235 865596625 508473741 297078999 288848371 46459939 354956353 747566683 106357963 737815803 618144829 619539447 208188543 131423975 86126113 700726955 935631423 78530457 120372463 575549981 296288291 81438699 358290709 290364319 371478573 968879331 807949161 323359525 335806279 976100011 588543015 585519695 978045505 444979607 344916471 470562149 426902227 698667807 670390499 334925911 337413795 561883883 55513443 855466425 438150199 480169923 765352787 531057615 812504063 665843867 193708791 476715389 966455639 796317583 921134079 362705747 309811583 268578529 519927421 468631175 847668385 821940733 927323633 900200443 223938253 139125365 207215679 989095733 359185659 39290631 877890229 72374627 842990097 377874069 86337799 625569375 315905491 419163945 89069139 707533221 325203447 407161079 654850079 760579423 359605523 950528347 992001367 356651865 439576487 716750807 692177233 708376079 901655329 473497367 78990025 839425435 964312271 639171567 833084135 61075143 543681769 656187993 819743797 267892227 329964949 168499833 97335723 615793255 145296343 255315865 654823843 366511789 313915557 144875311 567382757 305144899 228287443 678454739 909824927 48630323 348782375 520979529 312169571 307323959 79193415 119833215 768706353 735236013 439948487 52961413 429214317 699124893 294773535 622345623 348449763 832430775 509995951 233233177 721624523 822101073 555646657 695263125 732048833 418467177 831717001 103206337 381940683 940885161 781442075 692353397 280055125 68920415 618776189 418179253 562923059 704107907 253012885 501030575 105149349 471405233 214535479 409404083 581975889 272250677 543169049 629401405 876855873 328677883 811310817 958259441 921271275 147061917 328099091 815462811 957824815 144644183 93608483 642339117 577810767 713066771 497934443 269768385 961359097 343912029 686044713 935337373 681114947 71432815 722627721 589340713 729134761 335009065 516311709 396931325 11994131 941387023 147484763 515286479 829418445 576615507 426135463 382462085 451907721 570423243 435310411 394147371 832927337 665409527 118262261 672674291 919812079 983165949 352277823 672099385 656079115 344319663 15903917 270667133 289409553 402562945 469432485 357699439 331019965 607675283 563757433 238759393 565300533 489060013 514352741 85327307 891617029 852025917 831452293 228587093 656957479 388973149 335980521 23009223 20464627 807154379 996742779 830195349 761251377 638738923 863501083 419451993 783339533 993859025 412642949 44867801 685722909 737627443 201803877 38761215 622473821 782918255 776456781 562125791 494581043 408134283 91111091 122254771 370835567 9682491 677647355 337560285 246800193 136715473 34748781 238199019 829873227 293134671 615594555 150154129 211311247 403946333 795090045 721256357 662452347 938549319 121798197 700796977 657031911 851205639 769865805 632205147 712286733 561428029 319822741 552836471 232180881 770639661 846093257 536918531 706099333 813523145 227928197 701777057 248767067 853970855 457176151 261108763 65439217 6614023 254287791 701592423 836020621 623407823 352710629 661626525 295645915 937757841 322291771 395436033 176579055 421393023 300081883 287286015 408640073 235336575 566356437 195404075 682515919 534663955 689903139 485862719 337550283 251760747 567545511 897294367 723927539 327239009 310458665 261037527 140279655 324183921 979581275 991667351 855769001 469059781 513248725 249152445 599672231 378761515 106963225 207642829 888069303 954495257 630221455 875530351 965817751 945603761 21198733 766245241 823008105 6126777 837325383 516015077 399953087 633847711 133589215 368404951 165426827 629434493 777209441 194503323 106858281 818210831 742524347 671588259 388009827 495939005 243621577 281684873 970389857 132083865 386898763 84344083 933654973 804351063 286058475 906869801 373537905 855401047 942170425 514010337 997734883 322528931 287614639 379763831 707887585 335852775 372552109 829703243 107706015 549894011 535840383 379445483 828206523 739899485 291339091 638443271 324200251 118400567 458028869 127654527 843096203 565612889 501061461 45275475 308239745 997610165 212811117 652220589 237106523 496988401 415066973 984074725 88098235 686655311 205719519 279062897 871370673 80307391 153521555 409954297 854451891 542552283 406142467 193831237 19602333 33276639 150930595 522990409 91023795 495513781 420533193 39199007 458067875 355636203 168822197 457899021 75553413 633882807 113704341 997239421 95100627 686550267 856206967 876612355 76721521 350767933 304043091 691671895 21613745 218177451 192534287 775761761 467756357 697682205 468196207 988508201 322149707 925820947 583970855 479947491 949445961 959078325 757776081 843991019 210897707 536222927 350874349 835977667 784833349 698967259 612563171 595916311 869255513 488471289 265470727 553968827 66600839 778893549 673783441 816218791 204155231 780638761 905959585 742741763 544267991 60972227 687750977 967805463 239016265 724300923 70852707 217516121 974082685 435615159 584047841 279453535 987768735 828778119 743497593 990975731 146053701 357432739 940063193 665316347 92657005 903875945 168152973 397404045 576529019 111610081 374914835 737090019 167882811 611305657 606783177 171119969 737046501 13206603 566943225 252129169 723632149 803419795 470843861 416770087 22643663 567983931 705035895 773191679 964133251 499505041 798253533 543197725 946163205 214188939 996907765 760120489 849259921 362461387 760434827 492209145 342101197 847740823 409120861 198218119 985349575 576787421 687602697 948694263 929729267 909029941 537354265 857979669 566044207 464030943 61849343 679838929 728238529 835762371 399106579 408080971 583261013 496237 683554457 762539457 934309633 406998807 112381111 702934691 793859651 80537505 300465791 618685569 496659709 790621583 698752747 241302039 513071231 549173779 624991965 12074059 549277823 639509251 502274589 619841827 96832025 712674781 782905949 422626519 124144849 65840845 794897463 722012863 302465943 677452701 127502377 656623713 398540221 598687941 763737503 393207399 438411267 573948009 942299113 524183971 974284685 819285833 610533187 36834321 673192167 876913627 603575241 691506647 111045899 148268849 19766409 830664765 397492817 204147215 82025075 940486325 527660415 495562201 331137375 293043679 702434501 919369117 741321489 566292091 381525687 449596695 267589679 256057973 474499921 336684963 618379595 594396127 583172347 3437895 725406687 823932919 610396543 107865525 941620045 684802077 768634643 664440131 903054813 545466079 983269207 106627571 239140287 90057455 887360589 589715047 3458575 620480553 313905507 717397233 15840207 71746191 954761839 400681609 898200291 790871885 88898735 572842959 833427747 767780791 4585415 974848519 648791875 259887685 646623939 599107107 574406117 48446367 441982747 701164473 336425621 850022797 513090475 212953095 774645955 648400899 534395831 506826487 955884231 338241565 75573743 706077209 150505187 446446877 658464615 13412767 79313983 160834417 215511195 656200557 716520943 443964327 269384305 415004169 724079595 851398015 406079799 450868131 998337557 12745435 936068001 225278223 174005045 484162757 332582349 844023505 32667131 951421043 90444865 775450123 6038531 997412925 222259945 318160785 669036749 746137255 482310683 124664023 52332227 670110557 152540565 739544831 935832629 839245363 455366009 773303247 831722077 973619749 131814745 685186229 244830299 362802769 528151845 96007113 495849019 551534345 314788415 741929675 867108843 665192635 889399913 348268065 957348935 558007047 201968851 948472285 384010255 140112299 916355343 387567795 826786027 414868887 451681309 267592451 269232751 274047451 733528929 826120661 301913875 769595059 579300777 720685529 477623607 25592451 327840297 358168165 756092455 932902615 160933247 431625337 818760465 753107295 923596465 741783995 44690449 372477179 225409067 899623803 439765287 140947113 141768387 464681903 132046651 279868057 138160821 985216505 29395745 941501723 357098151 964737695 624190097 324180397 712062631 352049553 442123051 328307183 724510507 607674211 79603577 625017519 783763981 107143257 208397805 406868701 918697879 18122581 455695841 47489689 760047985 174087403 311013013 828199971 751252403 898456655 382861361 960382181 449300443 908634723 165321417 902325879 996113357 484159147 971130195 408595343 887827669 792758875 545079989 665884437 315330731 144917829 951866035 985203985 167234667 419282667 624536833 717165495 226585497 24138611 497114681 998059617 213073701 159588013 617674457 14875797 952716387 546648337 155608655 526746365 61469711 806079167 68269543 652449389 567673167 542318203 905830879 494682335 253433009 495783095 753163861 900947061 23961897 951298695 392116307 128356989 678432535 604072111 637483723 909290601 611920189 675715219 815399317 807992021 43736009 912581443 784837749 492217475 705784657 390408823 491596817 58192223 333341649 557961613 90258685 710839677 909173169 77104781 547996847 562720279 489896635 337911077 923926155 659540625 340114215 383453101 365715161 653012341 391554705 830265383 785757643 846882679 226372861 765719349 633591929 994012787 656303579 163334443 905798119 866557035 706437373 211945725 822548475 177267341 300525475 207276877 421416071 234441769 919199601 957490017 149746247 763745723 715918709 736029223 793863639 913068517 715759395 267273015 157355207 589112439 884327769 648378833 21667969 408250719 921855837 696642011 992998757 258643387 21886427 518949605 132655023 783905999 724476905 911206183 166332555 841564419 368051203 469511297 380405513 678307053 602556175 897542007 241500451 527203399 997618523 936005689 606743227 401446135 135186845 383027617 951251097 771251203 35314673 727164461 685686639 737943715 56934619 591939843 227185877 900618543 873004617 789019891 808712269 957838893 138939025 831598451 561043009 600630085 896174961 724919205 118820609 48669261 678462733 311076687 869139401 332608577 829032689 247347679 85714869 806208577 402762005 501255535 916911315 79013529 380142805 161941947 244599059 294350271 379792887 605672237 155451725 490764109 595658151 517378515 571639363 271453955 33312633 332210787 419511711 887250385 813297773 355474749 563924721 754105543 474951657 94006123 368989875 188986403 100119223 189605785 580155719 425836613 871763469 865761055 58688499 739692219 837395593 813056765 743106541 421842743 555359025 833772761 389004107 601214613 189799537 679542275 491896847 517820887 212431649 848072819 515045155 552757543 249972601 169189321 991376727 8355549 651545635 568480329 436274789 195651697 690847529 71706595 25732589 5076357 300987651 550080817 340715131 596978919 546321293 302675569 73784957 256784265 796986635 567334025 419878735 697735 265957677 483821577 999041073 600470307 507689989 14032423 457679693 359272905 932790035 987460549 707648691 831225613 809230907 945548393 128172381 121064361 77338827 375465793 734520363 471755391 5701751 190877223 105300199 136170397 452019293 365294743 989382981 500630327 372492803 779988667 468849115 635036323 455827029 47675487 358799659 544088939 542649001 957338621 395495069 697008181 709931451 48301493 445895045 592113111 344802483 50267211 382382107 744576075 66661403 14346289 643387519 497629619 505140457 803559549 140625339 151761759 523975549 141009391 660216515 904707261 589551769 942777327 47675243 142120043 704477803 929461641 569250169 406685997 220246923 188309623 153106837 723682539 823312371 393619479 105609805 529429947 21673479 934105713 791225631 894440151 851313049 318956341 663035753 924550051 849428187 766961847 239846775 211069609 729338731 58716923 398143863 266597535 708785999 711599781 872403587 581122909 94023153 175692805 269049247 338490089 126542635 315031569 834451121 1370731 122598967 191992171 177734541 595738425 282487483 297554777 791487723 390655951 176057285 735111881 699201899 772764365 569574603 787819861 113910423 454380031 633169575 979642937 954525153 621457243 838781601 480873309 917021603 609712121 687487333 533099603 681813019 602569503 859144201 752032079 709105271 629007671 210821899 547174963 26935747 7300819 780763983 976889219 665700861 882021297 952214305 327853937 358423299 619769265 666634041 575686867 353806751 568053217 41217459 368867881 982987907 449283953 562630931 452697753 108611911 21345985 408825161 842687733 886209903 626816593 170630311 27038895 775908705 217886669 827098861 201703661 5176175 17799943 83375167 424017265 112812757 879355133 702007851 851299755 441682609 989438671 226063525 288004021 296071437 383713995 639333643 90277707 137316315 877397347 889300259 150462679 118909939 122552883 548140057 315065447 969448983 45656317 156273539 409200307 30110193 252234925 620459615 863033881 703866131 377510485 683672079 102864287 971073011 271975475 467204451 682926585 560682229 967097513 331566993 183927929 889524065 60464449 358737205 925778465 614669929 216432047 960625491 116223641 929565221 112335567 492847705 654253357 927358615 426318243 408624925 314372567 84228265 7472215 355711965 338297399 318719275 179322175 521079613 879731345 877304281 262393301 738840907 642138327 568224335 932437949 368803963 211880863 972959515 756377025 343265963 912867113 274561197 673187029 614589983 345630811 994600541 387147541 151553671 220307397 787748717 55360707 15092215 65007775 608155143 709828941 334440939 729661383 309844027 227532867 955946057 260897989 218747141 511001697 648512095 553647817 127170881 821767307 157379555 419357097 675468989 430767819 414058479 174495459 820210473 137015637 112521227 345394337 876201245 590685063 355604773 616533681 230316827 704106719 801128079 984791945 919891085 502806539 852159239 40640331 939556035 120980449 310226357 642275517 444643319 870699607 939036963 709317709 520762953 343292307 86734409 543485715 427783877 793200351 468845955 442535377 757855323 922801073 519486869 437432809 935618785 539811489 834624687 831023215 221266461 334714997 819214181 298350871 662757047 661022487 879628723 761319745 519391551 214783129 9263103 696752887 517636911 645172791 142808599 479744483 919081961 858540373 955561007 930318433 176702387 136772223 684537317 821365359 300594883 75865703 402252607 427361459 758964781 943849703 503586217 51937663 611237623 374210053 802044665 786584005 809207049 622060779 158147179 412290601 218167347 552840939 65230247 713340913 803241775 269290627 33940919 54497293 363212957 55910995 639501331 455004691 7456265 588730409 699252629 300172609 983023841 596427255 963531655 467561857 850239873 894169 663405201 60328545 951919657 12613137 919983051 425160727 787270145 101788169 994461619 302829701 352408605 518926681 678955821 365344817 473928309 957251513 906922119 775304009 429720809 774857483 20941429 281411237 713975875 282408029 33053973 135712965 969116983 364568801 114744045 646104273 4675417 55613171 335327207 997221269 733005359 338041621 546669661 171521675 403022367 469992691 642603529 422522067 381190525 328995937 230185235 138999345 26802049 726767705 99289349 537639959 493211467 857182207 175228373 771134107 313690341 757582749 898190051 615897469 586410049 864251303 442447345 210793763 192794681 436920249 441320493 394570653 748687245 870174101 935138093 362015651 988116965 728894503 549806063 741174163 226692309 813945475 482276311 361963637 358965459 35160291 977708465 1284343 933428291 613605291 71506613 665234035 528301677 802801253 384492927 602220517 870105733 626802887 873155859 626284791 774086303 966920617 671157729 391574263 604859073 219006991 962334395 758335963 523213777 933086247 389764065 70310213 219949729 190321217 363354617 123362171 434052333 792380889 334119179 73249387 776865363 792551571 679369107 561207469 388075869 245602105 196432745 663360641 732378237 658457793 425525461 928907471 310537483 315327299 488077699 477304867 234467915 478501637 296639369 648183735 713206883 829393775 765931107 890642539 161974117 693333527 267762681 128435651 797781069 589166521 599885717 318406897 593214455 837611317 477774063 955791307 981977139 626134169 946968353 726062543 774952107 640711701 748643253 814795559 921012735 710252297 701168019 747074979 237784235 504514291 632906261 266505653 371863579 882701443 506876403 386524545 948930463 78205065 708209751 22622157 865437043 227693315 110274509 592160521 927870389 336920593 513494345 22658121 382533487 814422785 358894377 691105873 645188497 807977285 562675763 143568517 773325305 424290167 646996115 922579955 633975395 527476317 258885343 300197463 98149755 738068961 988755219 433089291 432298961 121518615 600383381 943709211 346160351 151576119 423158835 711394611 568392199 320673193 949198115 823039659 656293265 456804597 846127615 523491459 962255789 440513231 877471439 816464227 990273913 403081489 363089665 321714071 844649969 211291073 909434983 177674265 349332225 747000331 621698111 838923145 484244601 826091325 801507377 697059115 501189395 807816151 889007945 665917937 26097519 988898939 501837563 404883825 127340825 553142515 794619941 967826153 513547649 259711795 683606027 679810627 710560511 980354647 81991517 446672653 33240533 125308833 925893421 73130367 387551533 768210813 510931451 714030967 520015895 568609407 264173229 258671997 118919309 843591777 211838347 821220289 223752303 71353095 191686993 743230743 938523785 90042235 995676183 317934593 86224777 602227953 100457061 584265639 135532299 919567301 871157799 634080983 698683535 294629499 868043187 378991367 492742271 124162235 333031111 273205593 20694315 745581147 29265285 675913107 51543501 908397653 229198205 998248739 606263685 184393165 460157093 210271265 496963167 371920653 974181465 383528525 169214537 83739787 276357213 157508621 149907999 47607775 728997857 202904947 35890337 872147661 2207863 75937587 649770871 833870915 118785311 53362605 846485045 461817169 86331197 246988777 879462739 793595955 452030367 288074391 107654961 888369485 128828281 384942861 751744795 522554923 714492777 469813835 592833087 664623743 68476533 764064247 757497017 805030691 563422471 595098465 499301001 396281629 746285049 788378239 482070679 677009557 836874631 977232115 190620087 865734115 626829395 588605187 191855009 624419965 206520429 229310111 843893237 337963017 675158603 331068507 591227709 375959379 37755335 203454585 227772397 464345421 693465897 436774881 594359129 482630673 110139935 733509409 792453831 55078373 366951099 262928751 277429853 455953971 418981499 670109613 289776687 679053965 746605895 822356831 566521141 645812145 530685547 174435255 838505039 899384447 895930779 400040077 970992455 597995269 956005365 122315613 919070671 3991413 43700989 97834063 122276993 699375403 320031651 21821747 922057691 503751081 463857979 24982657 780921163 63784859 773736577 664253017 691291677 579422163 336390811 327836031 393074831 947122767 80001047 8058981 455081663 498213169 230274537 147980831 400640439 137056195 462564463 591804785 692806249 484065145 331900527 979890111 992172719 138535663 665538069 723549721 678967367 228200167 346263543 426922551 274029533 273004365 468927507 805124471 52183555 922913843 616456397 446653409 692232751 628774615 62265841 879895843 134057925 138067611 581894583 167667605 272699661 177859081 224792505 724227897 541212217 5930455 815310337 366486193 949257315 687855581 761243127 590191185 177636489 544545311 418699637 333930765 853849751 63860169 388719541 605530503 325026397 744938031 665249885 864645891 868476567 44593611 241757817 206564979 805016547 508766529 4843907 26781551 697112011 768986203 412758611 443986739 907768257 958061327 700643887 84579239 493808157 855108213 318321607 423103579 363319073 89176017 527476271 13419399 753573367 134664081 274271717 903148297 878433711 342925893 255663051 506929515 840879685 800654761 476971569 572384471 80846741 945190817 264542157 148032041 302581869 87325495 225062585 350581727 782964605 959087521 649233277 342621471 798368861 887177527 895903751 168962233 857033873 278143 205644457 699098659 523157629 918579491 139598115 203502719 524151417 768640757 363464089 899906451 303476153 516132081 703685527 231614157 314210143 723908155 93282581 279215175 870105975 147840287 995903855 670218173 510855665 964759055 909153387 886203801 969624485 805674661 5265715 622341607 244620117 428972711 99953505 892597603 407051947 294897407 925775855 537562727 624603959 269273791 871899715 506509311 127222131 842345507 791499563 840543959 839901121 162740113 190554589 533893191 63794025 985781905 869758707 728944463 93044635 558679765 244263285 824086933 741430387 666725181 609909711 131309161 412220401 589174985 905164503 86313411 937944831 755567013 23485643 705302339 141962861 630010915 732439117 987904813 690892789 304951233 507588463 598760305 419402551 588661793 960918691 198328489 715823295 927155213 571573701 737326867 796054267 20995193 504747295 513597333 39186247 796655487 762449497 31533759 72445155 358224229 102544269 173486023 242187769 616028053 838616117 182386063 535697561 4992931 767904823 109359005 133300669 610424393 813431007 420538655 146370629 295776363 202792423 775175663 494881789 321701907 127870055 720967561 373971091 758944117 493778919 297167381 795494563 732092909 623209811 279576933 563260589 878400765 701371903 155097069 253602841 912381265 575126701 955789775 90041915 681998269 633146493 220086735 392506187 200813627 890053631 516301407 758635881 764499183 714657833 249569941 434256801 741063459 999688023 695043889 28642017 124261965 720943693 588688793 649214725 263732485 425836857 497136863 901710283 537495055 100949681 86539447 100247009 241319255 120339123 316894337 533147093 140586737 819129251 161242181 698508063 469845527 322054991 585098675 306579235 627332141 577681899 921936671 457798187 74515391 202593557 555662477 919754341 685838717 349356241 459422369 54582509 328235335 498910351 736894379 525563585 838797595 889349155 284959905 577654735 618133033 517150921 879988261 334421987 367552961 513304103 605950333 164111803 615040095 374134091 135743895 191522293 760630951 29509545 884962317 478627867 475845733 878926881 744917019 685728159 135725963 366061045 192543657 650651867 322242867 178214355 994061897 44538381 362354339 16071377 986718255 814887523 47282755 169014125 96076093 3998953 825579179 713037449 365312503 616270237 137351057 845502583 59233935 407200349 49422043 735720937 935969755 176387571 368711061 909214971 182293595 333735697 181855473 641854007 922392373 496943951 912934729 70595973 932178233 491430961 646119715 483226431 784575455 888481821 487970857 735151903 287331397 727837029 269132335 337265995 99339317 985994565 511286829 685062993 588021017 506737371 768380235 676562213 494968077 783524401 354351055 283462693 317818317 591887673 374480433 140847127 66388419 897256139 543075339 636623911 527212285 255333289 475937055 294022635 175811635 29344127 436763225 101441119 735776707 798855129 972551885 437567723 713334451 211997491 244359349 328189017 741903285 173731311 177939571 446754273 726135841 824261973 966547349 383840285 494616307 917631639 18207693 669640725 326144981 512681421 410277879 741882935 841559571 722627321 225846037 976127317 628512679 765143301 734381397 927941039 824415793 392740547 645362949 212175337 379476981 369394665 549330341 289928207 704274661 919868955 344575191 182274713 144334231 221460447 719156069 103802723 392811083 579690923 88817219 167341235 467072487 745225941 403204493 491804213 227067131 230403233 791337351 840805375 58272959 566509875 505049497 180471693 576030225 568815779 630238041 596986565 640631417 432642533 171338625 310749941 219813671 96202715 735676149 60236755 749528049 963285073 301258175 741800057 291780181 138905847 936186389 654803567 930514557 932168805 621675855 512712353 641650231 4814621 875433201 255882853 657373177 402506377 283860905 905326201 737072101 954581497 710743623 87657985 374690497 725701543 440085703 943722889 60224251 11994035 742466381 555283465 12350891 761724201 894939429 91157981 893993873 16440569 640413631 135671753 666691605 238273787 250493883 825819645 360911427 116622065 635393495 823545099 230777815 905345923 598512131 943730931 22999595 25868613 366541391 292338713 637175625 833829807 988509177 646923339 881079009 201174563 894050913 771647935 236597065 550551783 860071955 344064015 944883841 138543153 703579589 953561411 130676015 263227159 331723089 158399175 804238755 330057371 117652153 434267249 73514709 682728613 495571751 265479037 744789859 145094409 951149043 783003027 965117077 314068607 425029011 219982269 749050203 646630823 327884463 106600305 667416395 210122765 502210829 189247887 990404515 82636575 177799845 183618905 219002445 829295417 676789905 539381119 27391703 977914011 592986643 176139539 678461303 638328429 700985751 912348821 373074447 708859843 250527663 498440937 991583525 337675925 331506201 360786011 517272295 135269059 817035959 82951589 312073261 658282775 787501715 727130847 26140535 290925125 986084577 701380751 237291501 941588961 599600125 948288677 117445723 28557169 73682025 546691445 292262459 820724573 567574993 43414203 803675821 294659571 666867719 635642013 746549621 739262065 24092681 947142313 433913349 300305397 459690233 484943573 539547251 614327433 430264609 399687291 962294399 399367201 669564661 393225571 252063375 735388049 799399441 291660987 167746227 424419231 677051961 290801685 404970915 252482545 735096917 618140783 224241597 322211355 148077947 832865585 94568969 731525779 222464997 46960935 546776373 227615165 35137525 607730563 169765019 770365155 638027579 271357671 925105975 969801011 199757157 254472279 291570355 866672839 422615889 782628925 370354269 925726115 95288323 16562547 575325227 353069741 48504227 899963443 348767679 147713719 383621767 699160867 23591263 111396221 813686825 498167889 632445177 938214557 724288557 206487601 684223781 4505761 749881183 131866787 101779491 777978875 935786671 380798951 19072219 618230275 326547005 946576817 550809049 760529405 905642567 251335697 319292503 14970383 317422653 201759877 572555573 575432267 712917935 111916277 832238071 835838381 895356761 67741867 828956623 84988179 896817695 232160093 64826003 231648839 380414477 167001131 150356929 757462779 995572053 636074647 579068291 610758599 290058065 201675665 664613801 409418541 470541703 926836331 725351077 46802071 852695713 258648037 748468379 441588567 369378673 452031267 351455313 400951715 773566963 485995699 147968567 113708959 279132749 842949513 194647905 329236563 497373637 159955971 226639507 607345839 253098963 143334631 753828143 220510865 8796433 203194975 236482121 623091125 191417409 565969157 755223959 901742791 648865615 62063315 721827445 28304983 110412365 991843889 308645615 483165663 906634873 510983913 975764657 631040705 62979891 450712369 257469971 105533765 748479753 354032297 562767125 13658525 11218093 314475859 300142175 227134689 514997755 803975325 979453501 89573395 354595061 277394013 567475113 767821597 369947335 374148561 555897667 344994767 242428613 64025245 400464975 160444643 379404647 324647885 984324543 595684091 334623061 500124377 716429609 835516317 296840791 282195101 94350283 91045951 507511905 938079327 153166735 815225143 962705039 530407625 75358723 499104967 346846243 792618741 667612511 916406297 570186121 2022749 558189953 512180797 110135637 815270631 78183665 334450477 29860673 558059489 865537501 194973385 290128177 706111743 485480735 61332445 237260335 950344801 489166131 461694231 345733489 801165449 665533251 108572691 18336079 102714213 833099293 334876241 512440909 11335499 422716727 546347579 411358743 50961399 843709363 575580705 589737601 856674705 369198421 230145341 533564549 436281763 708690321 527428271 958003527 674234405 118041721 176392835 33634579 987449969 103902671 797311143 525330521 908683857 899796985 663121911 274113719 138999021 546997001 284713779 766714865 958060511 542043571 437978117 433414383 699108897 843625559 776333819 630684359 218380057 180912637 788715411 638722485 363421075 346591061 978906925 412358681 886832839 957366709 974547471 623724415 508244305 314466331 798636397 260973981 60966967 898559537 943092577 951057227 276626405 46619463 412644331 604639631 775812401 971592015 288662515 71705747 771233367 146918893 428351053 976939689 919499263 55971175 896926385 331075405 858379827 163323309 653873343 216259621 302323049 936216403 877449987 57509879 694513025 590217883 356595691 950591931 955728061 365894765 221878481 451343243 667163339 327946071 991808761 502620071 635437505 122535055 208015499 696990079 432098589 688476407 996622229 20267685 481684675 403837971 510686997 389540817 390305791 299664661 45011433 895209963 344355977 226785749 822384603 631201019 415543165 65639375 222048925 66313523 556406881 777803051 346491593 119423987 495773217 128181689 254797535 368143035 237882385 317445617 852494407 282403383 952138481 243937267 584701523 81309499 589428709 774550147 932606271 751173055 303181691 210443793 350900521 139146731 198613673 789090231 998224667 795839751 180311497 295770163 287799303 903469703 352948643 385098987 972323783 387335431 368591459 728991983 777335321 432980809 883187359 979563511 360808873 156025657 559609941 485234017 933448969 891968235 444852711 383756595 468252079 875772825 861269799 51066145 46213375 978560679 883309125 203775357 524151617 961698463 590116067 635066955 708458151 870439477 759388419 721880621 256175691 565054277 811031061 313171319 77986091 800481233 633221611 348381469 237228851 664842503 885692869 763761089 818137653 536948277 937488711 964356263 42358503 910777307 415060863 804604609 681759725 103096475 764128225 857751975 146449615 26055233 827359051 245011603 59824383 566375613 396605699 287842675 28640981 914390829 813051829 945621969 451954323 29009109 102278775 947310055 769362275 888146461 67927493 390087059 869451351 156060571 968054919 72503647 962650981 338518281 145107207 356788597 452558961 170227787 576527867 678476977 66967619 379437165 880107395 382592913 401509771 194567839 647802401 649692987 240988645 810247489 760394179 820680831 831112403 731688657 216659137 901248723 949739707 92390655 465561811 344820569 5505007 256663451 768867875 46813655 341121449 798211489 368676925 455275963 127776523 332965431 492335893 230097695 89143323 650654115 351450121 626947519 466444495 746847837 962345693 632059909 895300605 75721213 340824769 812832253 416844391 687402057 495783753 844442211 554941879 294847019 929920369 247673233 227854205 753730741 667809439 267939987 514065459 353275429 765067681 884058133 719099963 808854747 437635499 135308655 347049181 384317029 782587741 188929953 651199817 747452021 492586425 117297233 590770075 241003493 540760365 574291663 151096275 299826619 685247119 165749011 485049563 876353569 214240283 490441403 82754435 654081387 69201529 35552273 133745029 964745489 637959091 161522431 422725761 216651451 240705601 654751265 850318595 977791281 672184831 388150709 757151611 209355623 384764209 657620129 814815551 610009977 514124167 226423667 361270165 411959721 515161363 578734951 954588325 586051427 241914709 594158937 542410879 347732027 856796721 678171345 480859165 549484777 826177269 735945469 145255519 276099157 713683797 45605815 524728593 944749703 640678511 200542331 420107233 826477491 27736009 56764273 451102571 79088949 281608783 256368235 125833263 471694993 71999319 405218269 692160405 285799535 84287901 912699881 782912241 579562403 464143945 400907603 672811131 109810219 253482981 243363981 905724499 986711593 566410601 32537261 896944005 445960425 487907631 156626035 2099455 509672923 244465151 979996485 307766429 933403549 734212615 828519477 623625759 67949297 449372121 457787127 359460397 531908549 642863989 69497067 182084955 959701033 639442751 254591001 218425631 195743577 836323587 563250225 441950943 522482361 158480121 298841991 234516191 830350547 960293565 90035231 32176467 50494045 58381909 273676957 945121109 816270639 96281389 420829521 658250723 356561231 629353753 121499953 803359467 862175717 973902681 972681439 427039289 799623239 725904275 953383329 35183755 72914161 359333585 335817829 144372351 214847619 554676873 31821509 499987359 716564681 855783835 433797117 924351837 806925753 726978887 680711157 78239763 153754219 788339265 498150975 566303233 525002789 32955289 455436047 242599503 946465105 42043341 770319943 772345871 389328001 833658309 864109163 665290045 592749937 979933643 748337069 840138679 726681095 477096599 758604515 982295111 154976585 581037637 570841229 491584415 835338351 127344985 466510801 949409113 435540947 988659139 786677119 574828787 349945335 981108183 697399055 822376153 553168007 905082705 646521759 758604637 513748821 182491735 145329911 382398389 985578847 954088053 561922183 696822533 723720133 938467237 699600997 100246357 747524309 499503423 758492239 914125463 287900417 409821451 734656175 793974691 361135589 978461749 856906131 416091453 340509507 384956499 992791475 78543627 11319815 617342049 414812523 141009055 450645315 655469509 963858375 234722419 745882933 280721743 978299763 838693609 120863295 215357999 864646601 423786313 881137131 563919623 920057285 660551365 44087789 524241113 32656143 772603765 647406369 212080147 359804665 576578397 977031305 987807117 750462327 112258403 874561617 383431553 316365867 374706265 474963661 316755091 466014041 375932409 677571447 876707029 586142963 67547109 551751665 723747001 915938191 798046885 476669195 67545117 59837293 528413353 318978995 91730247 159016307 604062031 495354887 701322723 879132209 131688403 302654025 694445573 991642335 228028001 496848869 783079213 174073435 997728521 791338095 429523777 853432365 668074181 919052961 875367307 607779205 952308343 655117663 528825281 344631351 573723621 842387125 836468483 512094151 356162245 862723283 593184979 199265369 612842925 819777303 987108895 187805629 74302239 883696389 344894013 785357417 884183685 864231749 124965355 615904895 832817455 924859565 732423755 333231813 898874199 27672377 506228207 506874281 607100703 685071625 470961609 465443395 470801805 622973801 960637493 899569491 50860439 470307279 630050301 339935809 716895507 935067347 23388489 978481177 470045635 242463547 322124979 227349655 120933967 578503919 488669749 85260053 621640011 761143815 186354741 436957085 207801903 676058041 825562241 62183391 681434205 937268587 508575053 539911217 580862491 434870185 324818487 230934163 791512479 731793701 151960389 307743147 537631231 233219513 298520547 891848137 226938429 892930411 854263783 536840677 273728577 423873381 73368207 350877341 298027999 253774585 632642941 907481401 531445711 696507557 677480385 789340841 868913329 570077449 200825553 833371777 750215185 512780275 760854409 917433861 86903133 658692437 839259949 582468889 27562737 872644681 850860139 387916109 877981453 227919893 195399259 553084631 869504217 897131299 586580343 386405785 790012777 599939079 919759011 628085271 151317685 236489339 743276593 361411717 227037853 358585441 881780435 196487093 790424557 144055495 249011879 53220393 939764051 18995935 149537331 336583433 940399723 753534213 636283747 951165217 501436083 64267707 437267595 24051179 60763289 24720045 921591149 883326087 613639273 807165871 829965865 103193273 879794529 602070971 902308943 250601971 997447327 127677427 353100245 475050571 882531375 139230373 709262869 41245567 653327359 300425797 319319255 736732667 327907561 867138155 7181127 84463049 326554545 287753947 328199419 962273187 40338941 983280257 969201905 587902439 115192161 93131377 176797837 632712093 263246931 295929061 11096731 141010291 682587959 885979713 858135123 798938307 938209623 313721359 222832721 512616073 785497057 624239621 232860057 84318319 519484655 223814907 220685979 954406339 659884677 520010229 916984875 322506875 427272073 937807137 95081605 75313209 906228943 757909197 232152143 35013955 273562125 380184187 875224471 319940999 767428327 67019721 675194577 781920157 963936229 578423171 203421147 622875077 36743033 283349151 952280827 327867109 961921789 798269237 582917597 133066127 332219311 923119499 129574039 540461303 480618939 230156553 99486375 996224509 734017331 945640261 433903599 381083179 329278733 492435195 707864511 258474669 278494253 95210763 609275853 462923097 410985051 492822913 290025269 821614003 372091209 131582611 137129339 812859359 385761167 59586969 702027151 634081197 636951471 836397081 654301379 617511317 944482579 128597693 204979671 881046965 596881165 957860951 262225391 747625685 495703507 759364837 712703895 603878757 151871369 236259975 179168199 623334009 611011895 72060555 907137757 409076437 620694479 383012451 253057433 482561499 186788649 346739369 450444845 886724767 893628167 661443619 729468717 381029079 955421715 446585531 916735637 886952927 345277661 352936067 396433101 571276227 108031199 355394233 239968159 302798383 522879867 83587263 45916481 799678331 284829433 84858653 965650259 165064615 388714891 901801613 722908119 479886171 100986953 9640675 708444731 469499107 98869813 828538407 656780885 137943353 603059001 110318979 501665123 750989053 526895909 792081995 4383497 20881267 779541683 763089145 731211859 769636237 88051845 88158767 681406137 50152159 888501281 959111611 136503063 405986989 425685757 322105745 455080113 529331931 658330479 791565001 185686583 953422073 879788473 960090279 199951549 776290111 979082501 950470039 956285631 327985547 377598563 16170029 15922979 843112037 216639437 62454307 316421175 501149179 479159075 954527579 716373679 457819431 732252465 685700325 340705961 753582693 369575079 967017967 683965611 553906399 776398109 91946199 854131361 448840035 311838741 540557343 426863841 338318695 518820855 147112309 746169641 163729421 926842647 192193193 664458139 423210777 205962413 973193911 45352905 906178045 498660825 431876803 998856099 527129809 135531175 699093271 500217995 642085713 364432135 186616873 749599299 342376421 741725135 439173009 172735995 626458269 566724549 538165011 479964997 331150387 79483537 291697565 436051745 643009281 138364355 422764607 499194611 361243665 749995987 11451189 838350217 88950291 413278503 329233635 294139927 467195485 189193475 930904277 551625531 996571117 802438301 201596091 916120571 494916205 428614665 483141493 877094595 583841067 248769357 472840705 328936041 192317983 731852625 415006351 296722217 380794087 464829155 909702511 187029929 973038539 443158977 322960927 825248247 458889401 287972233 636124735 529992329 277659723 96459463 697406109 55429433 441533 552576489 337645611 473771601 386831097 277476939 798549763 285473657 468427149 510127915 750496107 357317321 7477167 218462391 935532749 606409151 133169217 460959483 23337147 974908991 946890951 38571253 441774067 497147285 714874995 232201091 259392341 867511673 181716763 546120815 644634351 549260551 154599999 654480237 958572275 115393475 398628871 391898385 505661629 117692061 802296895 799347169 650508751 128115945 886455137 5613379 708523221 407415139 637744523 694910603 658015393 622497073 773086599 674396655 780593 535836897 333309887 961083283 832312997 188605287 304040271 226453631 126419531 57750819 83213045 185239461 403320215 718737111 448589847 150330079 264633631 813206705 245005765 767470059 680205227 982481735 324236215 19949943 935197479 7569557 162726729 733187087 990758305 673502979 241826439 847663407 920700505 253004891 263169823 882875449 182053553 385873109 452378469 564189559 78962995 946192397 33962331 743254293 959142547 214365191 800722345 112124467 337357485 997166643 410644637 116012493 371310469 109938787 352839469 473290703 721268803 656412119 589574139 993891851 856079421 7525427 363267659 234441527 22077933 303944325 975653647 980707319 698598391 17016897 994665437 531889619 888500261 108947013 403635189 515998269 735357035 577071063 79700799 967873933 320577511 579465635 567408455 71026181 143912407 210326207 743523399 936968911 485721257 896902055 479701021 166696189 765851889 64061761 462295889 42715269 83491947 62610395 496995859 638851403 832331511 188558379 971115833 204033559 407469473 734501453 398931779 443297689 648568223 553075397 287929175 106797423 7662921 403678081 807482437 533574421 864915237 764987095 691358595 846975735 779652315 672755333 690714675 820829541 452832833 510958767 962998811 521023897 63686227 56929505 998962345 906171573 672071729 529935635 222620663 166378689 100572713 873816225 600332225 374585773 777903787 972019537 380287601 117849685 681533783 61688399 315457043 533593979 581223917 36472111 203326819 760295107 75876695 368617201 960751803 982943171 319909549 402143995 591004967 60936947 898570277 775897111 402283859 9968821 694826535 74208635 352211607 562567761 380631609 824554437 454197747 373774583 467728403 614867451 601770253 354095299 757400207 614042249 937116469 427685301 997744303 540685895 734691939 336389815 276232351 67142509 632282165 304908441 466879153 963568293 617111795 759034645 155390051 401360377 945176205 681807309 151907669 415037409 432228249 91297095 486175829 850060857 988155477 734916601 293902933 444558661 862161835 976438073 396262769 665785525 390614057 876631625 760451051 546146971 358953223 656801105 392730415 80574071 982147875 612441701 67392209 960045101 480852997 396753533 569406859 906802443 328506587 789739129 899138111 566299333 567767421 363573797 556089085 412960377 939561325 667903279 647091699 905951149 393362637 238709811 614956671 47651661 182061425 151643057 896111139 516895407 410241485 175621395 343184267 117444751 421709827 932197287 494261131 714401813 354701015 911988651 625765405 359745995 15840955 854275389 873345893 259772583 291426501 741102953 528285869 565412105 534149557 164383517 227466089 913340339 333172977 827873333 82533941 948252883 419576203 919956081 862142933 401757441 346873655 387669113 113840177 853319733 215864149 452583137 69079903 702389977 687181293 631110943 158550169 589383865 305420461 342848153 611034435 843917321 968859119 23157139 893783017 170657383 72762801 371038273 109492539 572517847 174397593 281665981 978135831 547953097 706895607 844538631 628726657 765716497 93024705 661469703 294684067 947755499 146593689 156738705 547621583 671252733 915930565 728519003 382770049 199772245 260194611 252058889 718851165 380601705 813579131 623613733 584213295 945585939 749165535 759772445 35678695 69761691 907551297 869648203 38659493 701829805 167419445 468218355 119415207 800779871 239157743 185828411 51039837 806961711 760428881 136176439 346688087 825807617 922207455 649688797 310532947 586923809 542688971 514844945 347068721 717727047 279578603 619688091 267629823 20934031 460057791 727285805 922440175 519537277 200603245 128338785 337064539 809768449 939808709 161075637 160689865 667345005 608754239 952554389 10814691 887308673 530668281 654913363 281679483 286551393 3385787 850010661 656500879 91818907 973249525 221751599 603701311 421147683 301190077 847630457 16099289 433079895 570436305 306997749 413281743 18293757 51164059 173417083 427681213 323455041 539791401 288995023 934621541 64874681 815469873 374308503 533458355 830665315 605283093 989782373 573523387 536065185 357591259 989768117 884050357 789427779 875279153 278495715 536580105 329664127 290702193 461827901 719885375 507385327 283416727 568548083 953510411 539479453 986431051 365638429 307398729 355260913 197867487 277662655 686179835 21605315 679234375 587014591 199193421 317790033 331888677 686483439 165015699 487254847 155610813 370476041 756127047 998447515 422599425 956850095 397726477 738227417 150151047 810580841 946074287 65567959 296253583 659334057 15578913 275661273 754539263 561546183 849296511 224399247 798111591 622336773 639299341 897263117 625513727 55656845 798689331 250983119 402776741 550525295 918782343 107499963 36692449 330816933 675754435 442113055 664999907 702837521 15291851 650433457 931172991 795134843 903528873 332700043 150848825 933763731 211188115 757711157 76164661 200615669 73594593 275805085 348432707 212167457 711101207 552711701 71283929 529890433 470354147 330854235 419938073 511637605 844129045 650813079 869805257 533235975 78107561 119797843 818360407 587311753 778645699 213011847 502120667 536349169 349715887 253034639 578235157 794722869 929708509 235202095 775179373 705709355 13325805 36427415 409895407 747907221 499374749 41131611 683587925 867984669 819901405 267326327 632154623 715903315 172373437 979489873 449509361 739816625 375132025 934242487 66029277 582343831 579161719 247605469 82273561 592136017 226047805 785981537 270313125 604682509 98344067 144169801 338335271 849506023 102777891 106411777 93649391 589887967 146542109 909335391 684168949 792363485 88655265 617612703 257775575 419409589 825941503 125880681 826062301 599319327 932414389 704747975 510295543 834946493 15226211 986870833 547090361 415021077 576760535 275273089 434329703 564555163 660885507 318802689 340267493 114904745 343889923 961679193 613767617 453242239 347340825 407466401 60713015 204067143 824775345 284656727 242897699 450394383 634404957 805960287 663526155 341716693 34002139 815492615 695369251 92316279 95028235 483628035 281219389 719325889 1373435 751852657 202751707 716067937 377038047 79264213 419268643 133756659 785959949 336514591 32004071 595417589 202512653 562242979 30263195 18745813 687923595 956206621 83697761 844349665 561331029 839506869 479495677 295872081 515486059 616815093 496476129 24646985 309900527 709712083 156800547 609116115 825738795 262989231 711401601 80941021 252972947 772995147 662241127 224125505 491083971 218065365 71841503 181785539 425668989 264027619 288738721 710079497 141577391 796062067 726205457 574640807 581669735 413274599 299679025 255349781 482673637 625189393 746504625 30311091 17422475 814492451 953547499 745313739 524375781 377010619 745552347 982947983 559688355 763119837 473792043 140556055 683364003 617019641 593001769 56178023 319609321 352121569 828062411 335916645 320961181 989828309 956594867 977614565 947767573 973615483 122684197 734883997 472228555 613858523 30471701 99518769 83607395 410506097 828455445 912949545 878582185 712488213 779786599 466379511 942986381 437940751 248621297 631535605 345220141 611193867 154209093 601802081 110603469 81773343 542405527 752969063 151375317 56223431 860765895 753465881 898936029 827414763 912362591 93942381 900983963 21030101 263968137 890634055 388635125 696409661 6130721 979167343 462920439 310415421 465310629 688631703 283053009 251797087 260817467 228926295 385912291 298205579 449423795 334032435 464668333 608375579 226422405 700190097 696721113 645004231 826545871 942116547 44069695 135016121 631441753 538897923 638772693 574092413 70646419 51213683 806802113 781776391 567298449 850340891 551157583 715937717 776492821 729421549 963216113 833975373 417586311 947019201 669005891 988804091 130040565 133114969 143311879 765122901 222433813 467836767 350132263 715718743 82836809 13572963 802741947 392778087 725274775 431599585 54587641 95824979 676102573 826130997 503146057 576839505 700715235 219195565 761532211 369844731 101049913 72866169 630996587 198274137 846047831 759542705 819917261 267997145 750603657 732405335 890711387 466755661 97199817 346611541 760384065 108448499 391167669 182454907 139761617 133425523 424833175 442174595 268837513 467264729 946713945 847694351 533456651 700311193 170215063 792172711 726472993 859006351 195553167 25946555 385525951 152638725 829846567 371019175 632431361 121216933 681383407 45701291 155734825 37988483 480135455 958074353 753164707 350772255 43108757 560730761 764022019 660777823 891806169 431583341 543295235 146480779 345898521 523850623 230391175 639373407 477131055 159180933 904797081 20429043 866787223 430432309 859171949 308655823 904542843 91788325 597849183 11397087 655189161 483411927 152075763 467510905 268528023 485638579 527731921 388176473 775107687 272176141 493043407 68900263 450178269 517943325 51872999 870231021 380892779 729774853 584452157 474615075 237850409 146602699 940779293 358623397 105000147 543863141 743606263 171501111 72621009 510835111 572715113 888534281 197577779 838811223 900849207 494169261 398588081 642232093 7563337 291602979 755627947 611134345 641967029 947593423 521333285 4273173 848454839 332405119 588249809 363892513 208874415 453100903 195605765 289030647 299493929 692280613 196415935 689096139 154965979 229886911 132976809 331649201 544185757 706069407 905193745 377023663 297639029 923344799 168158447 982633645 888157325 838116347 376467937 192238971 169951799 150260053 646523951 944372945 520179951 85751229 651892167 171136595 801055833 162537897 748660547 313941643 203768129 481261811 987264735 994581991 466320025 665183203 832660869 341526467 770200187 769099303 76047811 178657629 87929133 923130833 37891279 771717859 746323993 949091423 993752971 526152291 596725457 810931129 640121723 837359317 554177555 351986475 178614737 928068381 717579967 912424553 821395043 490803461 478631651 471149201 54422193 867055675 924115121 430202151 405474019 540889433 276375941 802415899 838113989 678907619 333053153 918595007 425512657 405245503 918392689 139213269 417642789 779423425 689826823 72968829 205033611 845857951 550658721 681276999 666394477 935634941 475698017 280006183 651926759 7294949 201721745 441463931 22779319 908669253 90777765 601593353 497414467 211117559 291765561 27583229 58006171 124779455 705312783 720137709 685630837 349523779 50581779 685304535 982935859 21501717 472422489 581548063 834667483 110599345 960552731 723184529 969243933 696583029 929449147 862325605 266068813 187632555 534795209 391950133 861524077 341480837 81220851 755101963 683297573 194498075 219082775 981466703 371046339 349526639 284427063 815769307 915163965 122005101 444511103 865330153 579622453 313319905 67555395 797156127 766111727 408802695 517631997 386590089 114890589 695652353 349026641 229231265 681040917 59822807 653418505 819237183 144271703 374703995 275693083 279687337 71628555 460725317 280454303 373389711 530132669 90944889 52720857 801967365 372452519 339401277 771490615 618630537 302260391 675909539 709861449 107247613 5617477 747169701 56601547 229813937 901297841 557582885 627024289 157795931 261936065 442321387 631819479 171596565 385397491 717800361 124244637 805233511 861273457 528444151 987202387 882574655 483122185 459409751 831392119 194473199 921710643 820024627 715393721 892492855 363923725 886410459 416861417 136731449 619541087 801235337 966312195 231562119 62919575 269274207 309600811 25516307 835940559 703205221 660013229 828243259 278191555 28182155 673682171 370824643 367560411 821754031 483097775 217144283 66374185 911495821 594593167 238201111 44198497 501121999 126250117 374686835 220146661 559390731 481270947 683656533 610083257 479122869 824968231 929761931 297487503 785247535 82011505 83008331 405526463 885108165 489349647 133751343 384904771 575822503 977919411 736738367 208049097 439440365 298565431 461446119 848924059 961148313 218916257 210328061 330875315 842827411 846000923 297415871 837472687 470413231 702988281 16761039 167954903 689619621 165764531 844820543 733877275 400435479 708507121 407902591 786328849 615023499 839784315 645828209 90480375 848851575 815964485 682614105 469337271 813977393 410401643 311910369 744686303 800476411 564266031 166938147 334790823 922352637 739461885 942669209 455534829 699733067 671408999 482433065 885879097 577207005 2753067 385251615 906443449 616853653 719710251 967544373 238997829 350981945 885477233 729538691 774080607 288694909 164647985 957582737 281807401 560325371 237339079 598218315 260668535 943760179 23274933 110544901 923033021 449849999 70849193 904440193 944208413 4953183 686764401 661554655 681644635 388665051 252691981 702087599 884235497 185003561 442005151 54369767 215529693 127935309 521358449 347699427 955625207 807953211 94354169 309962087 786363037 184909773 900721359 437819809 586404575 68164291 365066935 34096679 799507317 983457989 436213919 974017783 140562879 993073255 12310167 466980981 743135169 318237985 85830107 66949231 914833195 471875155 73891279 415770393 174000727 208474695 219628285 812996625 804193603 42285359 270987803 885728603 600721557 151676965 97438465 626321511 383014043 764424233 802304947 786000137 6627409 242524963 896833887 533872253 129461331 855896295 156641109 791790185 839472617 156980267 324005905 263052763 833735169 260103059 446012983 161912391 183305779 456925353 205944723 129151117 803969983 709507291 914082839 731543023 415249037 455506051 833931485 393102107 602388011 551404005 985584939 90024743 488145615 86433319 564847465 850886801 145458777 190138973 354838063 74067515 698087251 544087677 12239667 855712887 829936617 58729579 247256157 924839927 606224627 158770927 176105651 91611351 485929201 251339451 228241261 959125921 198930697 756316521 535349477 890229309 565458955 924143223 270553499 475716357 71437167 584689233 775809343 711602611 361995859 153179465 632636835 905991277 4324479 218228373 998826943 322140353 911670115 341665113 96314555 54617251 708060437 97387421 801848543 40909169 911787347 263920979 818621599 509492977 184182919 451149141 533407637 319863887 323119295 909260385 272110471 149445921 189111473 975545891 832217951 54100579 21367999 364508203 34516017 618817917 747501551 888934645 374375991 780212025 634594031 745746655 575866835 11641039 506637593 122182963 646715539 462909145 735299945 478207265 705399851 730408543 776350087 760071879 302961009 393050575 634187973 365171745 521390959 286686715 11926807 848797723 718691403 984960291 467053087 349798789 829458521 974195691 473573409 996528153 663811351 522308703 817930511 192593785 915165735 140666615 701514623 674561069 445556819 919908239 116478897 279975079 839561361 726655597 5821579 257415231 780269305 865062205 84969629 413977655 500561359 429732885 80023327 512343737 234472063 600399473 132088047 402307541 400389277 925119031 549848981 826645637 184070883 802212021 859575873 875784619 532809269 212863393 655649479 257531663 565141151 123328021 343586475 531439201 574741585 788633497 715926545 498523709 331097769 465746201 617991881 122508067 109656363 741700075 738336585 795042429 208158847 813087949 250822067 108284827 378521467 489236707 464971467 27030199 685338649 978190521 925568773 431800819 151370877 921443143 851282291 470268503 977260531 784361193 528319191 891187411 664498669 353650787 419091097 949893443 896025349 234798565 621438405 536193895 970735105 586238465 704565781 654634473 780842185 972329655 518568169 537986905 862406515 711650923 258440773 281865521 822333755 569256683 235074523 836825297 120250241 231795821 995117569 908873861 128168147 715902603 884013751 914195067 902860257 804537165 943000227 876245967 412025483 953441311 898077717 278772097 136077521 958389975 193937925 858855291 641037279 2413233 842520337 210391435 622808327 414708563 237571713 781252719 92016837 430153677 16644421 60055239 16571327 188654479 392866545 530548249 691762621 884153211 183722185 373885403 585001139 189576915 394321585 231501921 15901115 756319815 895401527 35386353 270598171 454165737 241029527 135090611 757048381 983630137 731157677 554456757 771869877 412084763 726703615 404138741 915901755 347570651 146025919 59028561 72587191 176740145 563023557 634808213 639983409 29070395 170085261 231363951 34198237 41321849 789804351 363860347 384525079 285669597 123782829 53763385 739981921 924687035 983311691 180214033 812859495 167995599 416950329 544225111 288561917 870484287 206274369 517405505 68280603 134676377 952678863 1783285 164667881 484792787 743963131 275857783 233103791 197452615 780198787 346455995 493661923 357734333 385766609 839607707 470970139 973601379 595722229 536935381 386044961 623506635 100463521 969910807 919410395 581354995 53844025 10338797 136191583 142011203 119269571 59382229 678082279 515657607 565011951 933458989 170177239 108836337 315796755 956370495 954558905 153394467 364454701 698225469 674579265 510491169 749385703 266576193 713969229 603320661 275019407 133253193 842054107 540175257 519145755 839930689 139978265 649240359 109326125 733410555 49060699 234324133 653570825 618219821 88251163 521864225 308958881 129236347 88128253 507241999 208053901 138389615 37833677 900208207 185905417 655820917 875128957 964917025 772749053 856743149 743032103 65630265 996612859 520141075 757317135 378856869 564878391 824650515 494914723 419924713 45165457 817917183 490306163 766522853 605644435 116500941 93827131 217566699 313537127 919719521 973056737 461232811 771655401 575246467 720978027 821518663 216989079 118541285 223013137 680581441 368105111 362393887 678283819 897287049 904588217 675076789 816915775 762002289 964175221 359275021 963370231 578368441 387129321 124220025 717843493 767141253 654295517 638329907 906765511 93088611 17877951 973347677 708876029 320465479 686150825 97846015 906049557 573198991 456899415 346490379 690805631 869508865 945319219 6259289 685838299 906724295 282527051 227024811 321247209 998081915 854828885 776293035 227708821 151641623 164363955 861491691 251688689 849954307 833604971 195283169 971013947 863753993 566789931 3398383 802045395 705641311 612658763 541657697 442867527 255478949 200753867 462506343 127601225 666135773 538278225 589747993 938986677 545476981 601650735 98317945 757415053 964684867 132720729 738318193 599917309 759979141 623273071 713337809 351205209 843264991 377304507 702355027 385599515 600922973 730866983 440263577 143374309 681785463 80903247 153948971 947236485 191288841 866444913 699794041 909487597 298598745 947596147 632191967 120231225 221480209 381295333 558729629 902428077 778610251 459093247 986716893 960952241 33879937 372550047 36608687 472149977 193782169 562615117 825248525 133670883 509850849 377367095 776589273 693624241 122207757 69851447 642518489 354947661 253248829 524130505 615531459 226378989 295286515 141516823 307009325 325234153 392096541 805901807 703436697 188495813 136346129 696850887 51959665 279209007 826885515 690003649 588118787 552000757 206930355 900535457 414588301 483609881 673521171 33594585 771359279 454420921 690749603 188211073 340682991 161231137 399766205 231679573 8889795 273333701 547674155 857774013 395055489 5043011 925616149 486962121 896956139 159053145 816342037 699686705 723851177 479340791 578452261 596174933 85322063 930407213 522142891 274915897 373412437 736592951 481042291 516559759 613927707 372889209 876132533 764549549 448817389 244117375 460291853 474671505 824877817 900138745 17318785 272966885 368754523 387671495 505820797 879052023 575932945 427003111 238521047 727294911 221036041 852273801 820190923 840588507 982120465 452523773 221504257 401219731 634005473 511098305 498009987 936552661 788565279 973915253 585227975 433956923 406675023 912857063 444233901 693761281 520703973 278970119 597736311 284732945 53763899 971982837 32647891 772417015 188382609 974973169 4828887 564109807 339767055 72882023 167837441 969344211 657750473 427737321 283954997 672136239 22377653 648361011 575216831 757956399 139963063 995421227 976448343 52195755 525679513 103071449 594687001 71479587 40148745 197251697 372167819 22342591 605539233 559406157 576637849 149196619 178473445 167784947 872711319 346709057 797254971 138446861 557244997 745534655 964520695 557030767 646619591 431334797 426130255 494754835 232746923 500322075 795018343 487932443 142507751 611976319 91884873 624355029 377658837 362096761 511313635 312237491 173844797 38493807 719995151 777945937 672031563 544342897 955895185 962332273 941950101 459268917 797414671 559288575 994995481 49018141 917142043 538884879 807867193 695561007 749313073 441483739 176625351 691615513 770071215 512229575 274312691 75766069 548150751 164393565 796121695 118614399 19148787 755407185 16712205 99191969 890242563 392296319 356458093 263708393 347946259 977290473 579938641 243475789 564359945 276137661 607609849 650549359 758984631 536600139 467410953 390114195 239070679 656193039 141180047 377372587 572115979 167500461 354885887 441807949 47219163 678159343 118916663 998972089 734355641 989033417 943129469 276128471 467506429 848938839 387829629 614184499 433335019 185362397 878765389 154303751 409480617 838715843 329782121 766876977 910842953 465398687 11877049 160434489 332046021 320162093 477106567 675930959 946743039 301042765 311206537 68335689 971652543 291725835 45062111 447406245 426479543 586546589 664588811 75210637 287877247 316896603 253903099 901869007 582076313 823319499 148448519 485876451 243849071 386372245 274164199 95196647 989878353 259676047 442339781 937192611 310638969 740742069 125497389 36300933 878252553 993795623 499026195 469344677 70819849 441065779 231700437 989493701 211098475 101152585 942111287 361121607 722065671 852005385 326797673 702255679 797886879 432823089 797022463 732452705 366012125 925193137 799539189 21447951 746333777 879930523 411548593 238395469 129208949 309263399 382763265 642766797 947731881 420672699 865872153 567391973 88401209 865356771 539746969 832170133 513032277 57080145 523438723 336107141 503111445 187270625 124728133 947892737 599300987 430928021 981666229 782480643 594458223 237222809 329835535 582464809 761901765 167824191 120449787 174667451 739833909 925010181 357030531 473574825 874902113 329181323 194503967 930445961 298276305 185970847 360879275 838199193 116030197 136998451 585807211 761009091 967170345 958628707 786209551 910249365 374116269 2048113 468588969 916832327 864377003 450147017 664547001 593819319 629573169 137535487 86940707 901986411 427994429 480684749 352235829 946893975 804780207 44360725 124324259 915345165 245620813 552092133 593825931 19511631 113042381 613455985 943386483 236551045 578724291 603757839 780132679 295174013 266534581 895643465 56087389 526515117 150131211 875098565 34855537 162742837 648105237 947424601 80668075 443195871 30766091 25172479 303435157 27705623 8306451 282151387 739510567 824194805 389474097 276945975 411547323 249577529 336734043 636601479 606657817 966104649 662774117 438983527 991878767 466120245 64302869 321198491 721867087 680639925 894197521 436522763 287521721 477319721 843976685 700867533 742039057 895481749 550901537 483102491 464284707 153049513 530870285 31703641 6516775 336148671 54718203 522580499 986239929 994741461 971994143 454740217 504472799 43000463 651651725 876889321 522885893 748713025 286811467 904690151 228981759 11064033 687391807 229810459 187154189 367610125 626691901 521588187 248546773 770403853 874579195 506075811 18319201 681814223 33643039 689321491 442658087 375482603 915864621 989435383 857614853 591541153 811718297 653853253 860549441 986110681 924779451 63918103 696310665 574408737 967680983 852926125 551552495 702475183 428449811 991214711 612150513 834521443 558564227 61918725 432450423 820545991 295994397 539026709 718230987 347540231 260109253 832317319 695205029 264978427 798402885 640287337 637701153 343806243 974758731 145832171 775712963 765950373 324842353 188361069 807505531 197252177 906779449 811484271 349039517 458374815 614387983 35423133 577681379 972794797 630968127 387099337 186778489 299094339 855168773 375864561 707143653 688009425 197086595 240251189 658310435 139630187 741358785 677254627 759063691 170878421 167732401 188965229 265741797 20573043 880943149 308104047 7938141 442534229 294028275 537644971 35235719 188663345 889948591 746562829 719954533 377246825 815089395 475738791 982798423 447837443 292807733 24877751 888530991 619790509 143242201 269883295 663126301 674012351 280123687 457662185 260059587 135863867 474386255 668745801 992464163 743021763 22275695 126808731 247588267 948093355 567304323 488970465 591188531 346524903 478665847 554936647 800679669 9403927 376453915 93838369 549630613 316553093 367908905 320727785 426916133 837702429 490173251 657380163 444987671 954253175 728045809 191760889 231444553 82690259 48559013 323215871 332617473 784660503 101209783 243774833 947984619 361315283 398109545 56045713 382908955 56204095 240905189 277397709 119917073 61123897 686887483 453146037 176584883 820741961 552297317 374649861 986123083 148000415 838237765 113187489 372693391 484688143 539712675 847429523 493175455 336428573 90328111 948459279 515997693 743582701 208062341 19612275 403756183 209533005 509421863 950987581 806474691 189568441 15438457 73884701 391444031 90590285 799366865 88192995 824815405 530001103 188565607 404592779 523436831 178488755 370582365 982643769 95115527 472024075 433761467 997637175 541460289 886870169 282899825 200942075 738620567 359488709 664056155 993922077 817532721 519142299 941537337 802049379 913819561 575225557 228253877 680229815 305346553 488806355 547415391 614063915 251913351 447359641 754342833 104079099 225356065 391132377 257296139 561567883 422792187 529493737 984232377 326242919 503958707 261805257 415930345 364588865 58624335 630165279 705310903 385204979 731622203 673951291 991663395 658734467 659821645 53110037 494453527 412008475 203315651 431820363 413415011 9598989 779773759 837703461 460426175 194834391 981178833 343827603 49639377 858063385 861832431 674471465 823832093 685453473 97995125 919707947 793177113 52819809 719426215 577264507 56255003 754688885 359384883 465449645 305917027 547236895 105976881 294623479 804947487 948117963 121832473 221577271 546661469 190157067 131752405 865518323 64933141 953541021 100609457 31738717 804912173 986784609 437382241 158270029 445282409 299124069 695100419 641534015 346338429 784594651 835629853 43096155 703107587 817774111 770764187 990322035 541407355 159324083 48313809 726441211 560392269 66154307 226992513 424925715 150195661 629467811 59827403 904795269 92381233 375490253 107918655 828494267 889510559 440222437 506814675 696077777 475111707 293546293 178921697 585643141 132195737 399013937 686055729 204234813 128640243 717996405 212497647 62581001 598051815 883232963 512753585 771880865 896815651 993949959 646808181 994549347 391292211 569643861 390864031 414769751 276051349 510303719 207378683 669629997 175210407 375403809 253583553 687507257 345110707 289726093 390590605 929993855 356962283 637388257 900092259 661773219 605065577 389242869 511793587 458768371 200205611 623332813 989796945 154648427 119344671 986169751 968410489 590855591 126053649 286307235 196396497 63045357 737903549 447841645 227166567 750651183 921789381 113248409 949642927 894874373 586324915 503017969 247842695 513987755 562776053 432197227 301496885 832299785 337533413 597393439 741217381 700989617 679248581 613762899 992261677 718978263 919376577 83788655 497254667 239501915 291379685 398017545 254983393 128890053 922346285 942247389 447550207 654123333 672586619 574123979 529753883 905993649 538786967 946425825 347392081 802126217 662324275 656090191 373145125 469305587 957976809 364026997 525964679 32755135 492837175 55213521 779600841 874084453 787218569 214344979 106260395 24186115 499668527 649917707 275329105 937009249 183204965 17029047 233254983 95048941 747260231 951046967 874992261 528921537 386074083 259989721 355185513 168241561 935191337 621727759 241536947 444026335 109687025 218058099 693684629 310468513 51793151 829147595 435046819 83801237 619123191 178601729 926171097 285905437 629969009 63493929 517420189 60771903 319476193 661406587 729982399 188663465 627865515 981319007 214098799 957390771 157614101 134007133 910388559 755487069 553001813 491245097 701354337 55966797 89128065 599242141 331355923 211589333 236342939 386753473 620055611 42561513 688849293 481439675 321223703 184079401 512172839 561440479 115062859 625203421 233711653 722829227 439537123 46956277 551028515 911413953 100588119 435801095 119968687 688303083 704103043 591862099 955707705 704678173 640159147 194569407 701646361 710909811 721658495 243613147 570694289 399901743 721978899 384070367 267635145 408896957 752464611 216383401 318983893 797732529 178500053 313504961 653666733 375251653 66088759 213398101 205560883 100001245 632104381 52864831 500741423 565839107 302900101 1860091 374606161 452691819 84038933 509920691 554710069 851169649 992796761 844667699 715174747 961634713 477728167 885635063 813905197 658104715 202648765 49231643 781918203 69926685 994319293 695034469 443883775 802543433 798725177 962988359 772975449 499577651 696890401 948330455 960314133 232417573 888887511 709943253 483124769 161358229 610254365 994761129 749699929 817300507 914166051 730255711 817664893 197959293 262152059 189776305 92799541 776190371 138971685 878829823 939998997 690966691 182296709 945277517 107420309 373304247 500615017 476660301 134582549 681606467 84689413 865268819 852349921 919660243 883172599 562839907 285602855 396038681 473338181 273570593 178161155 575604207 677843291 604873949 44013429 806986587 202219023 117012111 917538661 718797957 658683293 770252245 496461991 92516293 481339563 133777143 335428339 276071569 169304903 87988707 94887401 349162639 192368615 427324723 721755667 912662155 194523749 673070371 429426659 256671095 689017609 785675933 704112819 889081709 990727041 769078317 62025155 581233843 702503391 287165711 966454075 618603699 89956259 229377053 219762479 724322047 287156913 641605859 699914901 595607125 667614805 630551693 55104083 399461269 676553799 430680819 699865133 657776333 513221027 341314453 175151063 841460271 420635629 224079513 688370667 183105303 227816981 230005201 191049447 726843655 903156079 53097393 107375159 244420267 661157047 22556761 827837741 639914197 220056339 282364049 513970689 987268483 683491601 424316105 718920915 177067735 155352997 733219351 922835629 886348827 632020271 810072891 636332161 303515331 299294833 329589659 601122855 945023851 535517081 720627271 727187299 896254677 14358333 741185781 221572315 81249005 219205977 566558983 640398627 553863111 931087445 228246147 343423409 30806171 389489147 892359447 386075113 650018001 574442627 533548317 560180243 682452209 437504905 285450897 241054817 790882737 274571025 68439581 757135339 370801897 673378443 867514383 99792309 16015005 770392521 315699549 950259621 26492921 748217867 649708199 672299917 927923793 170282229 640520503 817977385 387990559 225765269 748212729 705432597 207774215 108861279 580737669 110534879 550268371 389830961 251515419 633115127 87093113 24148049 5189281 658080183 651920401 447902059 991943593 599830621 271251167 211199893 829273959 640280341 711368273 468688715 542541243 846527727 150921975 631962483 145478957 762927589 775582349 266100827 609569773 903172569 439330039 475756217 506685137 400951699 667716415 499015847 511392343 779834821 368312475 221509295 4001705 107680263 384907107 694099641 597347221 755415003 972645405 330496285 236138387 424121771 698448499 667672985 7272129 227387847 511306807 974778449 656836327 178117995 870787685 201854161 229931891 362023347 592516129 470413585 342251133 681708717 836343735 340391021 832123335 425789001 445874073 418015403 709111219 353967455 537662817 29870839 868811349 227983537 400199381 758801125 693737057 132462057 371034847 66443125 198452281 623357591 328835217 134321165 209293025 722481461 758446119 950226807 819743499 229386277 152035335 345282281 529050125 176373933 23276985 480120065 656150759 551671811 74200305 220217541 635076929 833525821 907193481 996344993 563676775 642200925 220982151 534182763 46344275 942144077 160826389 999242081 94551203 611166173 256736901 986435367 653517727 442600903 892837973 685532361 469069111 649770923 337044775 698830015 428673025 78086165 142407109 236354277 254768699 75058035 328014627 742556031 959675087 435492129 116062555 3290685 278715979 908152927 353982131 251705137 455410151 595120983 928696471 244347867 506183297 295652889 383272597 297968159 316753311 764956061 164932973 248279371 217444469 660354761 598737921 184179475 263950549 207185761 46456923 239430805 221462081 611767579 646928559 43221335 112821473 345215117 422948953 680340037 70486659 473363511 905487067 506335413 33806237 141946247 332180705 199813475 239215695 278382539 75631935 249376631 59663203 407366461 447219695 537416571 266558277 213423101 710873877 865269349 905686285 157238549 927339515 162902165 23372667 393885561 380472343 847100109 310028789 467036925 997497345 629591355 793923979 194872679 295145597 711891063 856110581 858220383 554828663 666329721 191598737 4425587 88404227 346312619 907698537 719813409 958315101 737421273 643937831 503082439 665374435 508512567 825970471 365744561 47903527 568157539 755847781 804830477 469930967 832780385 230819979 219750645 429264595 19080097 242100711 469511277 202510361 223373047 143624049 796161371 804472025 592698783 708393415 100987795 768452707 373383999 994352687 144879053 417929523 542725861 139358109 257947817 322661869 757850119 214525347 17915313 172417629 402243455 165461891 335650903 775229045 494428309 752255781 537265909 894116175 16581621 25665045 57777097 331235889 186926261 553053327 124054527 593346947 367291219 667438701 336100521 5491677 874585779 337484347 760413117 13461237 773783329 663015973 575563039 438923441 786498389 671696643 848022425 300441117 931976043 720001875 877847001 879396459 409479655 787016257 257013625 684260853 798285497 599008919 654301181 95299393 691411507 322363343 937257931 995002873 805766165 384262407 355265333 185676273 215515267 98895879 189201271 783032353 590330635 281355327 527511983 193819569 51661729 695700419 81451495 454921449 433681315 215397975 92745233 11413053 830269143 147708511 818112773 952531271 616834665 944773611 699673477 146089933 768109039 530221489 185461563 695466681 900795495 378061331 540728249 587039 176507699 81371159 502608245 841518393 450354979 323069547 903460563 889023337 616667501 833881703 718418715 316648765 336415403 45779213 153549183 41706599 451278311 355709439 150218775 322871747 260116361 597892753 483604197 176120915 333182569 40892599 947097811 418857541 599788741 665589265 9333937 63056871 224846657 590238953 897924667 315242169 869877227 547481387 274535181 118315613 626393399 592077167 156337589 622488989 950868739 448540659 974008995 947617645 571385747 843236259 792918831 665632233 277194903 548243721 816044187 184909653 847845411 323491679 823905553 921311513 166527411 999580035 279880353 755319499 755073837 627911933 323612229 699670821 494622687 288822011 228770527 892140299 857473407 684402519 280728631 549441159 684888871 564403599 961635327 224988111 50372703 313847239 132268239 257939515 476266517 207451091 556362025 978065743 908885915 247135785 535915127 934228409 646465967 691079911 821743625 464009801 833642361 955520211 996982297 219238139 889930627 46726753 454688967 409684467 804747973 443058851 459374879 303902845 520212891 63309403 894430223 646199817 972504265 863171823 533123443 837389111 684174463 179870577 840373003 37280965 869669713 211733397 327175553 386267299 959006011 636988093 853900133 509652705 478390435 369678061 308726321 537867453 88767831 158071255 596809029 84017559 892819851 37993937 313544429 595218429 138499293 925194459 275198809 711814303 882320211 940509083 484412831 194457437 512836697 200153697 67783365 510823479 851893701 760254501 28931763 32044119 204903635 283094405 250277177 351537429 433320747 382403529 310468369 20265191 15874519 596575199 968323291 422625397 370584655 216320865 381646371 264995717 948831085 874851725 450526807 336308751 6250107 261337159 139409875 375049517 475486753 403788067 306075861 77502497 253883767 491374167 177028747 790731607 975802107 682633151 521656835 426828129 938592657 938963943 990197047 859421693 725128583 740154619 76994567 892881165 382968721 823590869 280317757 439192475 252911565 971673329 621304203 541962459 12948671 953918839 284147339 482906409 148103767 575311417 571414973 182421767 396585193 932064939 644822409 353668641 282587185 9204205 519181891 704013385 254017111 25492937 859234083 160160893 170492133 614617001 17259337 115003359 286688209 241600425 398205631 879035065 942955131 686899079 42155895 165681023 190609061 765271977 216340555 432923597 684555645 938258463 621509627 101901671 37885593 368900001 259252783 655514933 825755895 543911565 797086329 634721357 870127609 509465579 556391253 455618281 446388337 372690539 717725985 493430637 830440849 289603425 86292775 684762979 927205367 592775121 394716313 218132607 348003495 799834975 93740945 442021789 854512145 363323737 505878541 131030977 979441415 862238139 644637435 639754003 491730889 338027553 757280039 165436393 871119611 137179857 507241551 10710973 348652715 600983997 842759697 122343987 652659535 683206525 124496119 772189719 226728129 787490381 426364275 975649369 745649993 990546709 893512413 974384921 271152275 299013735 689212537 678715029 722593461 124841335 209646189 32346685 995905323 142891813 589076171 719440289 467383261 840649465 207701647 658302845 382588437 753826851 437995669 207933621 750027147 315520633 748073645 270048597 11065177 347226491 30923905 936210831 20953865 899002191 228777137 391111869 971697539 627871173 662242745 161766501 163797025 68754773 909754117 86145841 527813019 10198045 886218725 340196339 475934491 250591973 461187221 764024487 616491309 343624731 133535537 431300979 414534341 464771801 346544327 165259677 877909057 799295963 429132359 572695197 703283815 770441867 891014025 975907597 949743459 230476279 4500049 222583215 691616203 424489429 333632325 771527791 321870747 131514759 147305719 619950943 563737401 179290897 365721825 682499005 599326835 183667239 401370725 42000617 525137791 806092571 520221131 499318129 604333559 295794159 30307651 659764231 459687907 538764617 294815721 554608775 508609201 658789243 554104511 815158515 570617395 274964345 638557609 504856695 596896679 331005411 39990911 955822183 810363061 744606721 308845557 359411003 632120425 409777347 934548141 10946971 971085879 939707327 67454003 656835407 78780667 74687029 421784055 273261131 205929471 353072651 830142033 210225579 105205741 30651089 652519299 368532145 169143769 524946111 413519543 199297995 713774659 423468467 732700925 98462087 529196049 3469365 53252687 980539301 456676235 780358771 557792909 435492871 646216045 653120839 513605763 117485495 23052239 294812973 259818719 332228587 695991097 954473295 206773565 563817211 640120727 535307385 363429149 184337259 614343487 387676711 86185705 510027495 775435245 855913331 940691185 106533699 448379337 275072041 435226735 423195513 298896477 770347957 465081475 698361517 722537377 216982063 615927097 667456299 842956529 107993431 119209087 484714851 612022289 951339413 828540721 459407603 903471665 674709749 917564431 321853343 937716451 4056113 637152961 796441167 516047143 547968423 554236635 975826457 767004257 855704161 498479829 294233913 855748447 140621577 930194191 166185999 181122901 179967739 554769621 840746535 790491361 440695093 557156181 11655479 133642503 235275101 766875819 352427543 494089271 130903235 380808919 375492557 212510533 985622367 423003329 328200323 787406447 462041807 627448125 485279371 342080599 159950683 752396291 933148001 128588557 351635697 985367219 198698155 488845063 702922795 255579095 51051311 443589151 538583365 268393443 530684901 527445149 378118441 112179243 836736743 857430573 876547683 409673205 16064631 397656807 36746799 114726247 506876415 423139907 993612647 456579733 464232727 995123755 566305175 566194295 368739957 249573867 513659883 491934189 364900097 459767607 623991355 62476481 232241859 41256749 119086087 982118565 971433455 455978321 926164853 71775795 275312607 262001811 473458775 121247209 762237977 854217797 177926945 210125109 52682567 441558313 991508467 486617443 258511933 550269023 520092565 687491761 122147059 945859191 959197303 997609277 842117521 868616293 274237871 21087249 299863391 11522183 204270075 696688159 291389393 449757091 578136773 719295807 802727811 337715173 442564379 725156661 781239607 432456675 935940789 310002343 844404441 751078811 339228913 540216873 79019645 401181041 966004183 855501105 465122653 847489329 965147925 126816035 514679517 424875283 70335237 257774151 163403655 124580017 593092003 104106703 816959503 684436501 620112281 182122451 566861905 54437031 260834099 54865495 128508495 746038849 519825261 300953665 137145143 562186269 134003937 855959395 897198679 357248481 153659611 870365817 331516463 238144665 271888967 610927137 882453345 965916607 981610685 156674533 926581177 493180971 14849405 878948149 790625063 850838819 741631085 1795695 273999049 258219351 324182815 221607887 330249699 860198875 597952455 354042497 773157597 302850859 59009605 636977045 133161549 291833903 58978593 586294535 904280557 256354097 739160715 45244083 207725985 999055593 513485657 339143527 999029877 96678769 101875209 339066323 314874777 736307025 652617669 60249999 459778413 430814839 42928987 603070493 582149231 683433781 425806403 666515431 847931471 743053643 702244251 497148735 641531613 649818331 109289771 771789659 821297941 103620471 32965729 151558493 255032861 768150801 862985045 317134161 547871803 419556103 964217289 456118567 365778407 461382941 418006559 971231671 31279291 195782275 22844011 338543555 801007735 119075021 883381601 688547573 832421899 17770743 636170595 150430429 940418183 631558759 136510325 970226677 519254569 797291499 602029129 583333535 606745425 743207097 211939125 794102305 408444301 74887531 7451961 177626033 988204175 602893577 684801019 377438053 490657075 357286911 394706637 527598399 176281209 915248931 61226915 185532457 157795985 610793651 841145885 739559667 604310477 215939409 809681027 911740759 887809957 748699407 974833349 30371573 985921985 186531933 545617273 540783193 806120169 573645597 303393501 674606065 220788753 570447251 757263323 328997145 197943125 467695977 181246721 874981649 909290743 496761529 480725895 47849475 298497635 689250045 532892235 642877439 496952621 469971483 950009555 984828927 857490445 164093279 195232851 711571683 698424811 54529155 841375901 174213751 388777167 669765791 105408819 735047785 789823725 948553017 835136573 723086677 352434081 505402689 329338759 918531515 104300655 245325323 87193485 940963075 677568511 228129365 45081193 772906625 852700967 643259713 293017831 207157869 262967777 906314591 531679603 90620135 847317071 921468325 880379685 882878715 135399873 298158703 985918141 622567319 962810277 613681793 25570209 52427927 397084313 130885129 347193057 336309177 31385439 499262877 430992437 503280043 609007589 332753211 557388027 754075385 847161915 259456327 543263035 796582177 717500829 192203151 328928421 30985089 275423599 943656007 585992591 995737701 100226107 238574861 797926391 457832955 844330679 316857829 364083335 362536799 567854267 707430975 752639885 522203023 903028813 367315951 972166657 599121017 652321429 854706737 418267777 910646249 271496425 147462827 677330515 940994717 369534917 14968427 191479915 277510963 339536329 992313061 234401371 969468213 761540289 144882425 758296933 738570261 361270435 371340777 675859825 843211309 830797959 607172707 36033035 494157755 859479987 886242685 429376367 306582509 515719825 964706229 193583991 147078607 133183923 785055725 227513007 483823967 387279061 544234615 804272449 213398139 181700061 25686021 163908107 626105837 36067281 819067571 609353093 101813863 402921449 291569419 866071773 514647937 591079551 628940021 124484317 209456319 834843669 155201227 155946751 457944199 670988375 655825991 899006561 472552747 267949335 838682511 674294475 49722855 173572435 725268529 302019501 763913177 824879659 164684833 494147867 898927883 887200749 320965309 903996633 250965359 252420875 225659339 332832587 448027613 437253921 785775735 475547265 32757527 401731057 233024599 698798385 570291399 56613991 319378535 157094333 621010047 541624725 389595663 962350891 49753269 51419065 400626713 826566697 569459149 763932981 744419773 258384399 902274831 438813075 231096725 196548061 70870957 244486279 772090537 604321083 791169471 633024749 463353191 392595831 772980039 170044871 131899041 513145991 314507055 81634625 687445655 142257163 919465033 832977839 301579245 720964685 409947211 37775499 769565359 321357623 560560857 270386039 18937685 409276263 417111673 834768195 80086971 417356053 183977889 254094045 680677927 104560431 152148391 1343075 296983109 156784703 149214669 457786391 915596331 172853631 305188925 580049255 627791701 296759757 24649993 224410593 125621161 390161073 136299815 961126469 538038901 939047769 243639673 595316085 413716333 442578335 230209483 691381629 402394545 923819775 805089741 809469069 272131267 470855075 853019671 293535747 171250065 465057625 377491755 592199011 233997681 14605465 512402035 554345301 287352097 624258945 522854207 305362095 101876165 102472407 150009801 103605101 229254121 350589709 513107505 911375791 319004293 304379195 888179587 798152385 716499957 185647645 497593007 466284057 108012285 547640603 421890445 427117135 914137549 99589959 699070943 950589481 239331575 428714069 579152973 878624143 506319995 707419047 96834923 92759705 430988989 318555969 335727793 739797117 944691595 596938453 847650689 398184609 483907865 361603257 50480161 710040977 787742983 875043565 888394439 463269375 919776087 73934871 310049417 303259589 488584055 555054727 196166759 190056169 603065659 592782133 372960335 703478421 872143845 552219839 293475343 894230555 356510485 508000877 885390945 186801145 593319389 630458157 151562725 413311183 139343277 962447513 50643495 377673323 537096039 812287981 264479381 476351679 317892173 878145299 560894859 33442021 178013967 182282649 897235273 300360739 659328191 502188471 274090231 299822819 103487965 364212553 873577385 19444665 567000909 994941147 435962199 474700383 871647579 898154649 613265377 357744311 250531007 436122461 809091089 119558095 26490773 666946979 327013019 280288985 22497379 416664211 658731795 938914865 645338901 232506111 637888767 240709209 972570625 673623643 739177157 281776893 885197027 412141511 88113849 152807921 839141857 300212491 66464275 767524399 375450249 520331159 345683955 236739801 62951121 779818369 646532707 212239423 736718355 361720457 758659925 59605199 483913239 886448405 757508515 185288743 28997643 149874997 43552781 346336777 244767617 907103137 355363387 991341409 670121847 125661879 417885633 623726403 488041301 837222271 731305237 270829545 278208487 517095081 164315291 375548343 872469599 984158601 773778333 953779767 191779679 733600035 527568713 85288223 229016043 803665689 969805241 365021511 92335725 617825983 838722801 242799539 727311295 889199627 176736215 862873745 634938907 527807641 58881853 500901425 560228903 11859637 749605599 5486607 933350897 464243787 436711003 318912463 480915437 256760821 818588731 172572219 437743099 379683311 733976817 346298953 784253019 418773281 224669141 608349713 561004735 661453339 72755243 121779161 190588731 432286231 38789657 334434057 914017101 924769263 14762929 372075319 997412567 989780781 378341871 703210783 352626475 269654785 462530481 10199457 799275513 847246657 243184833 670762697 396847203 406935405 404713681 417301709 513418219 512422827 166738553 357695237 150599553 364265931 366746683 888583415 58365559 831622213 301914497 44441933 662803853 216619319 870543773 878517977 955116007 776118121 972061381 182334361 547135507 12053321 952122653 158203309 309296901 162349041 140458413 164215907 137250587 888138781 950828389 180551469 537656089 251617591 205997603 489759909 173417775 718386253 261067171 365648273 373463537 152797973 358666897 234428379 731883355 265628401 633792381 293815189 738364373 883349477 605114849 701603837 17752873 774642083 606649119 874544757 130086797 880132227 953980287 124839815 35215009 711958145 360107825 142853607 285801575 186574917 294270803 157096815 858670669 132199457 91337953 480089637 474764329 576770313 387534279 232240947 332347705 920442269 689420245 199060461 440896289 90432805 592347589 605312717 845761773 264835729 746409015 435475573 178103317 66337143 732478135 560883379 586588021 8764183 905988789 716372347 333043283 555225431 816196745 493226981 547051865 993116615 665577077 366902069 181032865 82309791 28022691 56640471 946076581 543178685 552277283 202348639 99882571 970857383 219785967 790690439 391497697 687054481 100957415 575490609 922218779 286476109 999587799 359704685 967888409 379750495 200258157 958593641 870810461 839884011 395848773 321655939 211018453 111958975 681909983 877972285 189523159 276416599 234726053 91538501 985083167 241825229 861106151 482300267 825656789 381531117 346669023 879705003 936640131 254892067 697752493 799015465 467508001 743266439 600391005 47867695 227728137 874415321 640755421 619924787 626776581 794238337 517461257 132125133 541793085 256482443 932384929 945600193 179348555 917986993 254025039 28356861 561088553 258405457 708134049 68251025 585532477 440061045 206662933 16951481 643178835 811737543 741764875 387470041 87915171 109439907 158975945 452710269 320340681 139225351 724395139 825530453 783088331 388109721 81653075 989698625 936950037 676214953 544714297 958957633 658429565 870858799 627012125 681857663 442228543 913053641 97319379 846293841 105462787 496008639 708281107 992365619 713337555 331780095 285979005 127046853 159411749 525358369 535110557 844154837 723018713 253504871 276723681 282600533 189830193 823278515 97569187 761411679 666983131 6882457 823339047 628940345 10511853 343054671 547017107 611928397 294183653 910840497 723172859 274521901 821676455 625802315 437056087 368724631 821870463 695511881 47737735 207320683 823443493 368558467 953078101 846673591 2337461 891037305 462442867 941097901 879213237 292350545 277380731 373932713 586268431 194148573 272136939 555659053 228522269 543354001 321686577 259099109 8674713 754040205 186757529 562914723 513864617 924567193 165067617 454617701 803543003 865020453 741480871 210236491 182185253 364959047 658420597 527759523 811531745 843530429 446120381 92572385 489034967 530290161 169505369 291496347 577142835 436317169 355921159 652212635 622936715 549634677 630206067 597340871 591767005 521399003 726308143 7754547 96261259 722639659 685295793 531362845 45377127 671542035 975542877 116285671 77705121 158335725 264920187 783221787 905948635 341886133 953484093 651856493 590973719 244561685 432532925 383700921 460936901 222551129 911238393 231585795 935075511 543329149 716019421 409400947 34098733 70406939 651376955 519200351 479788235 805094527 198519497 676234305 536883103 864224405 803037227 655357629 760549405 939160309 322738921 275026333 409784611 752622303 980334197 662044887 981493751 797442617 758450471 101830019 482104645 852571797 689721665 501837541 716746275 610601511 854933485 287289195 108806925 865655503 966773821 350706597 435438315 119665429 938561575 479010639 328582151 862416169 760246671 882649677 118136087 265359839 976049467 156128681 802299451 785550779 844356065 349006489 829032437 795833313 577721623 118579061 230419507 882817825 499528289 673199811 730975053 727293683 456571941 31130155 230592763 141058165 194801845 761277317 604388711 26398061 340154187 666019271 174298141 636610895 216550153 439140375 903148305 541412909 48806901 148132545 776613281 73594825 94989829 776107061 915816337 665116299 279872527 663157779 643623441 570829441 266324693 520430619 923709109 966268001 811765249 437879607 205445753 467885709 346885411 877439615 622593731 753398793 643095733 67969065 849862241 601441671 502304025 46159005 341867143 588711517 244999575 535482721 171693525 847772043 766200671 168081453 986005837 125374135 372051085 601208283 300524381 899291443 555551009 303130989 394281691 954796275 965933573 229508367 529013251 58579351 389967369 306408723 118141 479556455 970625255 309384951 54839635 346882131 441650751 188862043 872046589 494671599 33463453 734529549 203828055 537212799 102579313 467227391 137254309 666719975 347674385 560799565 504098455 419319735 635531203 427514169 405391423 993298727 975958191 262947375 56758813 902745107 26217445 575945667 196640789 179268103 83322463 10536623 711033205 288994353 436098301 179648981 601503217 733865573 416979339 968034629 59074727 917473317 714470839 405105965 28147485 968275865 524413469 280818411 752331327 156125325 716201789 645120513 66131299 970112893 532279935 478472475 409898309 382503555 958471991 667956493 719821069 923306603 238449053 676943313 13953349 301713825 630677969 179401611 347602661 656156477 18044639 332904325 223263303 265224703 375490485 319945011 599374899 259911501 633555503 937921329 404342487 511314999 484664843 384974403 519711941 800807029 567709175 167776337 749224957 28544869 92058241 879578481 350545635 496362767 881471265 377645277 913316163 131375907 337061179 153333241 384172373 747648503 739516697 753980753 875262133 891643273 456050409 788148117 181753193 291993219 227722183 465686691 839689949 469279539 963977393 263835775 678942949 884681873 117520277 284216915 709489857 54138171 448295487 506522481 492579351 45600887 927517037 739262549 802649585 583171385 478115261 922354083 750348229 678629651 797044921 584470311 955770481 833694535 409338835 342281937 648551227 999621565 512478565 749011905 523396817 658275329 327102383 277651765 651064901 882734159 238910937 21538717 90999317 552265345 376595189 212753289 137489705 709364001 132324095 971954359 628890059 988125279 671482837 687766791 239733939 747404049 322474561 77366663 452131325 57911223 507345653 621104489 631967277 178919289 640459657 296978695 937185075 827947299 126599553 350972135 665150305 92817967 652950851 439557811 977764471 768420795 130199331 864462397 193209499 526939023 514402391 432324227 464496981 830631193 585533955 582188197 816814241 515156595 495694895 316378865 147436503 804876635 16192205 698575321 944814271 52740151 434525365 793088761 384179845 141844757 378823851 309367827 466809533 709976241 1803861 129361427 707496553 299870567 135520069 441481229 230815465 123614271 884763125 540925497 365764879 912931303 53071559 446416639 387968523 48827831 305936643 859423719 253027455 567944367 712236507 475243173 499636077 548054647 362199911 421328405 378410307 80960091 223882665 767496505 864765145 240766039 170989451 904383037 18108007 137017861 999031775 738699125 970984599 913905585 718310491 196310619 634288501 344514373 63645347 718116499 68140917 380009309 156950335 856335591 40108661 661892663 217071263 604103243 198585019 970112697 288952863 685764315 802339825 98995573 408736513 463384795 976702001 254108575 447188843 957007795 920953589 651779607 976680815 248237817 702047781 595581541 506714119 30299495 736765195 566777783 761540115 238811617 239289693 615263719 556888415 653194865 230001723 79901809 672410011 654801229 651580711 540151679 2521951 544688589 524437775 716934367 446712621 835844469 173856585 424712969 870632559 271249651 714776723 701329433 549623925 282985239 206637583 561997531 737367417 322472413 316062799 140580795 417001371 205834601 298538053 24118739 52208615 382480647 937295437 861251039 786762061 657776679 718499633 739946823 835413925 592965481 826069785 184332573 923749041 277414283 389244575 382455061 722518809 264737405 529338301 375114895 915613553 975374415 568719065 757984661 516507441 326853693 569289153 741667795 2107835 95037357 968795305 332268961 699410261 265787685 251132207 711187197 190631477 718583645 146880857 649449107 150063473 944004655 21194899 38182573 365334539 843443611 571731635 49262149 966892011 466852049 770516727 77512185 114619621 122519329 590756097 799610129 158308785 584419593 200733153 320010363 404243695 994454313 933315853 147332561 917597227 491414863 894822241 425861199 632935123 454467437 221682209 500443615 170442051 664279711 112214011 452668431 350833083 355291175 392275975 417076503 819401571 397821553 592521405 696071891 927267663 735764495 341307143 72312783 658260343 751112895 540499249 303451191 501527483 666830945 857997295 351469283 930975463 210683395 980086623 482957909 964412841 793692377 355671559 846368687 79126939 172933433 28840403 196044227 654921793 517348779 497943 213465099 38550019 756339675 884725653 355448737 123977519 915946903 362196333 649706063 73151235 211075039 485398063 216200581 195177117 364767701 116317647 940215129 701869063 455576515 705835437 707991947 475638069 567886877 169449355 933979777 467196155 526553215 474980503 462757451 590873631 31403179 419385959 871502753 663157831 591234447 22278137 453979873 522182407 579802169 963937457 601708819 922144981 722666217 338295643 5109991 366559765 61954561 491058991 162928561 61681169 362241293 723433673 272877685 310694391 197779389 968248109 843042517 420134369 771461871 437851851 450388005 848609235 674495911 451609207 363200603 895671475 845812749 822809709 686974739 333109077 508183159 155394387 703352985 988881263 421561951 660400439 585865945 419038373 136647529 759426701 880144491 835829631 621323361 592345395 912995727 143836271 725734967 825854831 749542701 150609613 35686153 534420205 640113617 730413021 932691739 547553731 752411319 108988357 532541399 198516079 574699193 393728151 34189519 319144403 594058593 241069391 169412287 567992383 259641823 694175947 586952843 4021353 177350665 782788309 988904511 918216045 997178207 314767647 633158667 320845519 353702407 874383937 621812559 440064381 865054673 130577597 98252171 76511439 984843061 778853885 606116713 681710975 35548753 159821139 345683393 350246579 404213741 413556981 895588489 407853303 141800055 963605767 259936231 49102147 341515017 99849361 518691623 120053235 562780767 373635205 860981691 797364173 795502051 149629115 350240319 144635133 560613539 817546997 293268341 727411225 202968661 501849565 16403271 28707101 133065819 848439811 748290509 29993583 235911353 538946273 874426943 701170143 714111265 996753369 770433535 571488669 241653227 82879283 504107931 472792907 295289619 818292001 459246021 745518827 309880129 764887739 570696793 453422571 470955719 127012611 417978713 400955937 96735385 367094243 934329329 512160459 799743319 202902315 237276019 278271885 819655241 766884245 248970333 369736051 716861535 671880131 657857361 736007157 409910063 731497275 817161241 498791407 396462073 617315187 245726889 399923365 702951075 970822337 775737885 821099207 722492605 351623015 594743223 288891753 326040701 723835023 484251107 546039559 825401285 512622921 996767029 624955015 254531867 179102095 757440871 281838647 30683823 162978625 685834333 526312651 769814869 558574379 52379937 700629601 431378833 978283005 416353511 638612863 350993029 784267087 222398987 933140497 928377605 763692195 935253777 906850413 404137095 864685153 538694561 501626961 638230055 159962333 256938897 221791711 755294641 426710863 766462939 525775529 497249937 910998231 250296227 451750559 225957087 404519809 6386485 589853987 406579803 310983995 943509249 395690999 640514413 300430049 46139045 339697739 121283617 289332531 373485541 282072497 767281969 121939931 951163305 577747753 954516731 900379753 131000583 246634519 21634185 173452117 17737275 447148361 752012933 693248773 676104613 796838387 446468683 839727293 560623825 721392307 338718425 33970611 377484661 607559823 320954837 530527227 321795689 877350387 459884175 844824987 435032755 168244149 900389119 520688507 21268093 817728529 940515011 37494377 990012953 262128557 457705505 436519971 802856195 132373655 674884877 20641863 576940255 128057157 108024345 736614753 310671993 43756433 960908681 351874015 643679939 494787011 384943167 770337053 807515095 103796105 81177807 544334425 700045819 102440181 137318509 16722369 406960281 291162503 491270139 203681121 944035653 711205667 137358079 598658103 688002231 594832661 423049383 319799073 643333591 854869781 390888139 830851561 701146283 579744831 22906603 386432065 403866475 349554711 238116653 398670531 897253233 697627533 195059043 228199407 850077759 989975029 133328385 307540781 269974145 71704587 472054567 386276305 163605769 816618741 496993181 626352145 848431573 869404993 381195731 310092305 580438279 364723683 904226527 346737881 702328297 719405883 745285503 117722971 643394031 888942091 794512157 337191281 292403125 914110593 659132103 786364633 963202557 80892723 576761397 510450751 199223475 305244701 378019525 367748661 12309483 175851943 151050879 504929841 966129375 49762715 934896401 104411543 156383985 904643633 219431637 906119855 735956145 700670213 233209287 895132587 514820301 149940763 970859665 886274981 694861091 75339491 821997439 127749531 292388789 226092847 303883661 216706425 293866415 139501119 785625941 41115409 39535717 169249207 641219619 56963865 741149777 190097061 159631587 317732405 109923863 446874237 696905517 294474221 952953217 410908189 877268033 565369779 742236293 343181003 74547205 888355807 420527163 174870835 177631241 36375731 105363433 841770089 657745029 645064537 517855735 734954223 982169945 340631779 580352763 396143525 75953929 904929095 690742447 714201307 306730951 376104553 219875575 540346695 339070567 220080401 668699871 469547267 138152813 796652015 264825751 529801369 438619645 211847329 449984383 859284465 590385895 367919267 557614357 996834147 513527203 989384801 273522185 689745581 916770127 518043179 110125611 864839667 568147377 12094779 869800567 56875201 660216893 877391027 422764049 814457615 965729029 888185499 859795269 496934457 198775755 306136803 933764229 43133957 627749111 353793127 753676139 422682015 688159895 926926311 392436157 339072667 598240097 620387085 735923813 462802425 689187767 882242409 423164021 425730847 383244445 42309493 41776171 33843927 891078853 238906771 510473703 653679191 769712517 3310347 559277879 779975741 336754141 803280653 982821837 495186319 656255859 114820021 381749379 876851385 586954649 983939843 479182431 488969873 674850883 873443297 36564875 759572821 513751825 523863839 877998683 161351593 449216075 323009143 847470151 641943449 779436513 898489739 379558647 449166237 660060263 852008673 195493683 838359441 279169569 316686575 138340335 740946873 969907699 721195275 938975047 335629763 734161005 970720887 188837245 368135111 343461061 141880667 56012285 824369983 785176029 519232971 537752665 182245393 13265723 986856127 845167439 108465035 805035533 951863575 537862593 433034593 18626093 173505695 504948665 461097137 272553239 320344837 427598699 563405057 846822645 741139173 575175219 328202045 524662163 289061567 818675603 232145083 914786157 722013179 679917113 145794615 413385373 592583149 602199283 184836311 62313967 599997133 142832065 63129387 208060879 13284027 245375173 753111587 362943829 484703939 63096649 514993697 279751487 347028947 568075459 626693607 49656057 604897223 260960715 700208547 593349517 516375135 399875877 250256877 771141301 388812867 39973055 898822333 690150351 948216327 319175337 677563005 539513059 356154657 135743519 787501305 283158945 174363383 599623301 312352357 382119519 460303309 5272165 867596383 687160091 25045463 529667701 522972395 504901247 902766639 765220493 17421689 179941081 723103189 30914737 636778973 859094305 390684337 551792143 970800467 643227123 354835605 18623991 979829121 794857627 86598717 657211109 674399605 239293445 24385095 945000317 506714789 72139723 817615421 638818699 806687723 914667817 275539347 109847809 64220815 215398921 804865181 864581881 539156285 262716407 648179617 785482937 132255499 302623021 473478085 204064939 483988599 62659979 948467227 781761377 555703909 531451797 372010655 539353751 959679777 712800637 286779183 952132147 485804387 349647897 426436245 713904955 915032903 871606249 304941955 226522343 990471505 509371411 476649363 79540625 489391473 653087593 259571779 646977979 933879801 104876383 546540031 907085583 621485225 824795413 355069721 615824741 365698469 517329491 712123079 623109043 741452411 896605319 373019181 504436513 237549855 807313355 63080275 605386743 878849775 785726429 582356011 435949225 950066097 595319073 132919693 810731217 821073041 529123755 344947773 53668917 985646373 638702129 368074721 581841855 727652457 230121233 163843595 402524291 129051077 588961105 718924085 947224251 280712195 774878117 307420609 276158153 640627291 186902367 232817399 503170107 351393127 11087233 853979145 102966981 939416113 937584051 280382223 130171197 337492257 882060609 965538317 846126765 151011087 522251815 987023849 478414139 717064761 245940223 790405493 475056955 235311939 885843731 245358699 890820139 502037051 562900819 499183725 613790125 697991573 888500565 962183683 604349067 251943215 325224281 321446301 239486395 662310733 72456261 22938265 255294293 306845087 5523115 716304435 661758877 532281913 268289469 302787223 286153727 163770519 164783713 619598293 34750479 548361375 313162265 250695399 999630983 292091807 829019157 20017839 838723659 250650445 878637615 190264563 865151847 171122883 348061155 103708009 815425035 368579977 386002779 863167143 729171861 913223307 705813605 288253231 871076233 692368161 179997561 485125739 730479759 338451971 365604531 728847275 896783229 204402779 335300831 866850089 149656653 952125619 365661801 935992583 711691557 832143875 142270059 993046603 830327627 358349479 918644129 234265579 977138231 976293731 177207667 287788477 446204033 199898727 690831091 91356547 471784175 165203527 417263573 684512743 643893609 950886143 974315897 419947385 120186885 999890165 451441641 942290865 795518463 457311735 593941713 813233141 175609527 608614457 611106953 414004875 926825659 696885593 664683791 107986339 406555325 18878813 277020431 391401049 690748567 2682289 378093779 213994413 28062287 596154923 706591573 901266311 653154063 294671367 724400435 115376059 581496873 877984493 414204853 392785153 711995417 906232295 820288969 771373561 58015621 886486125 313981193 128646191 792738357 532510041 717939889 294569745 781857309 516033523 670417067 518297339 834086999 51989225 695849093 827727917 142539305 454290253 206431349 605522383 288568317 480206751 706939997 777375989 223928423 415009987 919493315 203571607 401160991 852520711 163822037 668677525 575915533 271567647 147281515 374512571 832190009 676920105 935187717 34451639 466225367 572269481 607741643 788560933 573123651 765492879 349363337 66289539 853840127 722670639 104385467 618417471 973665975 721011269 380967803 4338085 643077439 849530617 344539027 487533555 605848463 433771989 312536947 424851783 666433231 915521743 11498801 45990829 541267271 986892615 944102541 686506771 776598893 209549567 76136941 299689555 316702425 772305701 393960801 819333169 751834959 497026383 987232673 370198099 832878523 604979835 823941899 120271949 435512625 906569227 835762855 70392981 747801067 142489297 619384611 747899793 993874509 378494975 46837721 244376709 305154529 250194483 881857989 110361253 334661211 281266289 497808017 912127497 154058393 932816681 80084875 563222709 184154009 721238317 333580971 271922063 940648329 189670077 582429069 532398443 582631613 257837693 587666557 937861119 658395825 986894971 740968295 984492271 18280709 592050989 356685027 642931907 265797253 931675245 811911985 424744429 945733159 758359683 735035193 71836615 101316611 695940891 335958919 373815183 571506781 4159563 914904405 233890161 611476131 446515087 82246531 910111103 332835429 546913487 252154261 201659055 457872479 520424789 81308861 190608869 373393783 511805145 972973777 706448617 194352563 689163381 834393937 121328493 818091339 733673907 748386403 753722377 901237655 986402171 744314839 846740289 371950109 891691813 862180389 786950267 766521735 814377327 38954347 110527753 121979559 367101821 16467057 354748709 938369403 811506653 681826725 467289329 215382563 372931459 200599585 966815605 531809261 2067149 541167265 691412899 70960203 355249281 968381071 415872339 788235735 62426315 663190263 250888775 169023831 137974335 141354389 621130025 635842229 734139615 597749701 311024777 766197763 778018059 410519437 737797091 158729343 144329875 934467231 563970195 739738505 921568685 842219859 521868007 403030959 324519923 166267813 810291983 828188067 294083949 647303741 384060963 617736513 484364169 983624043 769266469 886416011 477903897 632914985 907011071 711914669 821432411 705682705 991140993 34665211 893585399 397771629 676915557 10417135 281197561 690715693 55455053 372108331 709491157 324524263 962378177 893597565 266526311 821045977 183859761 672012247 803955449 979583471 793050361 223255125 462016053 759934899 691646553 892048955 733517615 807428701 113646971 805587441 541930087 769182671 127489391 899661835 27715777 902393487 588260399 183226951 427518091 318510797 721080221 632877703 456295035 629572957 979359359 245842901 784496811 725945539 403365259 508664167 610410915 792257569 923780695 424011669 581895503 868000843 513831013 197681379 110170117 553830583 991287325 227673855 55353217 287483521 685142483 951441847 64161771 607563125 394170047 437739021 649038541 116771071 835276803 330129183 614316575 534658871 911117221 175747385 74958141 443520477 922797467 661158095 333339627 838307671 182947513 521827199 585707353 615336887 843754437 790178055 872650009 396691889 18394215 463189591 57696299 350481829 201521199 276508287 359063539 804092571 700068247 224226235 954327871 154162499 226161919 712548975 820309315 301399283 361716657 28924455 413149341 590807211 381832929 865676435 561857617 83970577 350701219 500658835 527877839 410537589 709853437 980855077 610343659 12974031 224698071 467425401 389008609 430943163 870727423 832431327 523878745 241178757 931316019 703826389 313108061 874657307 785133841 392137467 250367077 425079569 146935589 257181471 826811723 213933995 32450013 385446705 629706071 713751243 650602645 921510737 432290357 140145925 54092427 818089919 764495869 249226125 286275565 655621095 61516327 913373509 202748103 169116507 197149341 580026803 97036823 377724631 889367723 283989509 836112571 398587201 821203973 547028499 864530047 705286305 707601353 539657053 515356433 893535019 148403067 328242697 607458059 92730425 913220619 380716007 403084017 636736849 931650251 479558001 512524329 481686813 920743037 127584961 911968263 30806641 95904321 708893345 68561089 807601479 517073063 267777921 924420219 551222721 76885155 740556919 537689149 85402925 30511763 28508225 465234681 880184061 222833469 527023177 96186505 455438285 547649229 436144541 192408747 269779551 463212505 523421685 868938253 758376607 302730335 362947759 864698171 755888289 98963139 244911571 824732083 146286495 465976529 696641295 976026323 824915197 268364481 214225085 215426277 796553029 377477165 276961497 564680219 215032107 936198943 519554059 229780877 262418059 269013247 667225253 863751229 757414759 346774951 659796379 252405269 292361965 153425489 127014287 596784871 233494125 697240739 828046279 418813801 886557795 385520041 253802801 439254079 539140467 80547035 899392869 909495025 957972839 58266391 672565667 732468977 303166515 494192541 585447377 831178391 335335155 110420255 541030783 131980327 570755307 296198321 119841509 447705287 317997187 158344911 137795555 673330057 641072209 428989537 676258557 732391015 551463953 892899761 750200419 49910595 504860579 622335863 30857455 380674789 526822931 661643213 274135327 466705919 146899095 679822651 65303065 615920681 321511303 545060271 690219693 582728933 648751465 124342139 627751505 870112925 532182501 790546527 990325287 553989537 328685777 337904253 826121205 925532459 326519081 214470503 783385387 984156253 945109005 201896207 875996125 17559871 435211723 7554259 27579341 822209985 334888147 976499319 73148259 608559295 513520325 282759467 891890349 387816187 482076001 411030659 504431713 242610201 435976593 931699067 723807967 725507505 629772397 350237049 639781681 818902071 327021611 104310091 843524611 225619981 150466353 20228647 27080877 833727615 694967563 268022951 915451951 664171707 801415019 615805395 627092527 842947805 795313453 8407063 505939967 292691687 291638099 998412873 349058449 968475069 161239049 727247527 733442187 623368245 534561185 660599763 324862767 492777991 90431385 137935839 748128109 996666581 410808721 713224507 596838879 633963301 165535319 17866185 672337603 376178029 895071965 508663245 718492927 559614211 398550335 277925105 226734883 292693801 371903423 65981263 651349093 418629639 851406793 400289377 169749927 947212209 770192113 790279181 640608367 281073951 813562353 967744415 981260267 975768881 19358635 226346193 551705589 893936563 499080237 349563067 587601417 383230035 100649387 853801699 805360209 295917485 944240509 849642553 578709145 572292161 658385191 117337617 614714715 384681849 738533717 25399593 889563831 912100003 745267931 795295395 780535153 869914621 35991987 547087631 199682555 348835751 114055169 807686499 849258349 914375847 877371151 169230841 46930049 539193329 754110545 508226971 422369445 822210399 965865571 157261937 859067107 128006321 50763273 365861139 156620021 585306767 794314539 483212159 166893113 491625869 658324959 980929049 316574391 551979299 437949791 309509807 237314591 715047601 504748303 869711221 91156679 243364993 407888251 793861639 475787437 791408325 878070611 865049711 441944699 654999191 630446197 312508439 424274047 848353527 222621925 189666517 693459375 619731917 855326155 794053605 742439597 843025645 173024893 941073645 681046719 373278989 972068727 228017403 785220819 661841617 400977241 796424067 538833539 237570499 991486447 558835045 883968267 136099665 465617711 655996899 815049813 279654869 932939315 538932651 30773741 489593235 522453051 100294099 770015245 84254129 377718199 231305433 974655125 367408451 607966007 474607519 262321673 929232959 990886009 16291959 895627931 617407625 550701405 291377171 266879265 666532585 765817585 351890063 925658139 815681553 4255335 687646325 682529967 685548443 916861465 51930029 253146543 52148485 744230029 194655377 265562765 615215803 278918509 846957275 850093679 234280719 61104267 322247345 566218007 361702711 630766309 609188257 760440309 616705623 399232411 827222943 949774627 373308535 875352315 241725961 935392861 751397257 841063799 614699685 847429645 557748839 649652907 375939231 564504641 547242447 348985433 794110861 850371505 967245165 833028973 393049707 362539707 495117521 467897081 393569441 271612005 793204855 327492411 301569785 895570275 944853691 804961941 913271465 884494599 447610091 824424081 963772497 86647379 51273783 86581987 867249395 541658863 773881529 132651623 972289791 613944871 956341871 993138207 98260295 14953461 113472069 874394679 679408651 166634489 185770763 257532163 105848303 431889015 505939579 700632061 590670591 760672609 181543479 981035209 413374899 208395085 299524807 816097329 427048423 541386875 385521821 350870313 840142305 163771345 464158993 964920781 835685709 267780063 83033957 342131295 443193921 565728733 454548419 450753101 183551545 424309417 78176827 271253287 787934491 200939467 944849863 860020649 123898421 673227379 206291785 710635191 475722043 79710327 709136521 536365147 989049165 674933077 159740215 115584713 533698029 633440055 127412719 85403999 954234377 336221163 795118385 569520027 753437943 803129319 802259559 798732333 38407541 907641677 527580385 527043045 971778727 193391331 116570329 969553599 211584281 186915095 710161009 736998111 879961539 37032193 281960625 642760591 86122241 776286051 654094473 540567621 754235799 177437087 404575189 697075097 115038133 225631433 497432149 978690129 472368109 629174933 23598259 55127127 942947903 189075555 659295615 780335549 534212879 282021437 64042035 463290815 794986539 316348877 383892527 410738625 936870343 850195311 399148479 108362831 514380163 506199329 276087057 746431003 580948831 506365321 591839553 365819135 513966287 293419769 951825743 951175425 35243425 772891235 26501413 63691083 429191449 921134701 918569105 636387119 669674199 817282649 672514129 758992171 478447085 346603287 228669701 178394079 943930827 867705921 471077939 450086169 11874131 91920147 356835153 960684747 768275911 760306551 283361459 238043153 471755735 452980475 180254367 810622509 496233621 840646101 655208509 286482827 444109953 236638695 638167707 320984253 992822399 694962615 336965559 975552897 987913947 806662003 373349743 780520375 198591053 589229043 619972239 93774445 680212209 69687735 927498181 211623125 402920781 705754087 638272173 698478411 502050125 636153167 545963719 562000465 953251143 9760105 904069243 19485587 764602103 680727381 585228829 445126373 617943171 66229463 87793891 665852737 393242489 428689761 875745265 880941515 270960079 803022089 980804945 221663437 426027743 578002319 953972465 652197051 986536561 499266393 89657773 756497201 679812531 589194871 746072131 401852401 284319799 439819169 664046175 135247335 260599035 479409973 771094931 303290919 625203559 563184187 605924951 52710635 445862983 852119905 630234379 22598807 47194317 728155649 386044153 937405109 601630619 130249495 532071251 454857979 773057973 237225549 623622707 416479297 679238533 255674097 872555415 298724235 164466661 236532473 305649259 747729671 561322767 31397895 327776129 349793029 169294249 390620257 111392911 4867841 531721665 414220277 779177785 687954079 543925707 61568859 416160263 83403945 347059623 758226131 824858475 367751701 478709653 357627205 816993983 461256443 489856839 960532797 304525633 626933153 950946513 30863861 705611037 814242671 66219953 856079437 808303205 536214523 44213705 263252937 665885711 131350017 958972011 92176795 19431167 266002017 119466823 910294937 592964349 836994857 123167103 883293505 466049467 745129609 42341525 450161343 616828369 24323553 756941177 496506845 509780931 42582703 767298429 465659667 790657271 632475043 940832609 978673283 770616511 297245069 352606281 503504115 313496917 695072875 661405891 682636499 974598363 862276189 590737859 579081527 672362585 986046641 829500327 421626595 77003457 807068889 494218035 268137787 689653227 43670895 6205079 803493709 437527961 838933305 732358247 483093717 934196341 251396641 720679071 634181935 840810257 729330235 561064871 760585825 592379107 111244479 413842249 958037021 291548493 963362581 432421307 403200185 14551195 306106821 40025245 445371957 561670397 358347139 96292849 398748985 128671115 521571369 313826085 39022609 237704007 802216383 73553935 172271543 217441307 707079019 945261037 314782411 557343703 67031169 208632931 691307153 705621813 438855039 938711165 102221307 692981975 760637703 453697459 934081695 460680261 327410915 690741473 976360379 892943599 787840263 342665549 706149177 12995889 351088783 473900961 286860969 136954699 278681789 875324663 915970109 690531943 814424573 620351945 333961689 81459605 268725475 153139453 893052931 831947471 848953129 59952353 758313195 923317239 582460595 949197353 383148389 571381203 298949259 764635381 548735989 87032089 29643749 756068293 758583229 947038559 434272541 905578637 54387601 795205159 557969079 332234141 278293221 980457433 294533211 325334195 381614299 762997449 95839199 498734071 798836537 497546799 607541309 248903411 484533101 730728749 667140249 765602719 128023951 910483401 607788349 819626837 382608223 670126073 320223903 770830815 984030019 529365139 299557975 209492581 665762637 22856791 910028843 886366849 282191409 531977459 163278595 194006827 570545743 990629877 437338101 752731085 520787631 27480023 941867323 149987123 800835585 943813881 998280505 80810129 826753435 798161063 962170747 123638917 645069437 442774031 829926835 11735061 256999501 549181773 9965755 110157741 986484315 858960479 602730393 612996131 875001501 38688307 270865525 350647731 90986165 678110103 768898983 72831749 752117481 135658051 684669605 173914147 176532777 114980829 195239189 569947011 441645065 703103721 121485763 894221573 625972173 916422107 159807393 781977835 962910551 327775757 538255561 336877283 156096315 483345599 853192065 326967043 89362093 109072409 1942835 492806345 977808527 425157679 148675953 334477337 962545253 107770871 769566969 206252095 696105315 373831765 908281515 339416819 384503643 983612691 358654613 269702481 277344719 979262431 344926953 165168863 606863589 245500243 259034883 329030791 254617709 90823155 368158821 17453475 95675103 272436005 600027579 76081389 592085595 530375741 254355927 937879947 160445349 470834545 67223735 68960779 455653167 473703653 840706685 877781859 413942797 272859043 680619635 150795757 830247171 611170457 29720589 73101937 45837173 361613217 251610087 796406555 724600947 390236799 735524035 34794113 674557877 863104473 143003277 857749665 331068569 566102081 910732633 624091101 648082215 976049459 338119263 259087367 990710541 103318541 703809799 301345103 965625507 517340953 560089561 805101911 474004971 597755017 681290123 575823905 919716743 311276405 430231541 933971229 7435723 927895265 824889115 656029725 999057323 314683059 265559081 60455521 70580169 190368957 236103283 925306765 121520491 957697977 440501875 371137711 191215999 143319625 526444237 85999931 380075933 673678325 536855371 632163343 841397509 990111279 505336291 882241137 52197277 786463567 831881645 62655245 824701685 828870041 217361901 500697337 676835653 345863731 71423249 236414129 1522797 658489391 489529769 47213341 79059185 566399879 602845553 335327879 819705601 49336861 903444557 421265829 337473911 647654073 969736519 342835863 230511825 175596557 88830869 908184543 980340789 632142257 231900559 54117739 245625971 468115751 677531579 826120083 562510593 694877401 362271171 553730575 254266113 979692311 246474105 750446345 771398713 729995035 680892889 999623693 197324823 976855559 173521415 115094799 560922293 38323171 746350671 454096749 418656207 196877985 646448419 508300523 998753231 708008729 143451165 863078073 938309825 744462861 323832067 365317227 460303713 686127399 915722431 454507773 986439689 776396791 609697891 824996309 136744901 684159735 851340331 277614017 250466113 664725639 407362173 313670645 982768597 920047603 277306593 944759057 264153217 595524715 992850699 72467479 617726699 964468743 104419797 736947573 755705443 449239241 327700549 30234113 745348321 721507737 973683845 856812535 5195269 640917323 90549479 739345919 541868051 12855191 958372073 461190179 797878523 571193375 306240557 169106651 407821143 145526635 613026685 744254467 970369893 648827883 679777229 679008223 655618059 571958011 135148343 844564511 698519513 22630875 957411329 49365 737612805 859087027 2714519 620863873 165648753 494294423 661082503 425525255 779584419 191881599 546882705 89134005 875703241 566378317 239206295 248595519 299731389 46491335 680186531 667632835 827328763 484527523 778184681 950541511 289051051 61075061 216367301 703084343 1633695 628842435 155492025 224334697 122251083 266150133 374385 748873753 613203153 153882459 67384001 17739887 259044597 847472429 929725859 668624629 617530409 227085969 323689275 770953379 594840451 758710411 729037011 1986515 395284931 826226703 584183777 997199181 465869393 389524215 684550397 34785599 504948281 785928451 962496747 122384955 643213109 904561371 838611351 895537217 442312867 2829587 569269013 78504885 641351307 508956451 951576737 554989667 516169885 61979755 279807387 709371011 466585901 541858101 667485327 43434929 967939135 579674037 352089649 593939443 303026807 281431295 293757023 796832437 810330661 199594521 995006231 765803467 604935743 424884969 336901001 154795125 498615143 835176259 44500741 237856857 750562531 769710557 643102727 711488641 616132001 785305435 463656243 163525219 22743867 373880135 110402133 483478749 435440365 619116303 621306719 401274677 921655967 897158925 589011307 766945817 614182371 311688069 217976255 736613019 255303917 513098141 45825219 190384953 17493407 437618793 109311759 757250779 830257277 889191391 978800729 859311563 744384953 520974819 529697415 363801281 845664809 532071229 813118629 915858393 496314445 19867807 757459429 753607575 763618123 228974499 787037345 442385899 682393075 238553543 655059295 201387303 247290301 874202489 861944777 384467211 915839945 444883717 721293235 859009981 405449691 831258535 109051925 830309573 41485667 646023809 895201815 524885023 461444731 27772827 980168705 492268323 301433567 777498343 290440263 781430169 576315129 654261055 681446019 978449069 774080215 942596449 499603067 399347699 770631985 867260153 841504025 255612013 521884773 208927127 750032753 633123707 15497593 348574135 857636797 363280367 246564129 688297399 73025631 418831609 832846511 14493921 918706405 99603259 825613093 610136165 205143297 127357367 50700843 969321569 571671951 615007451 606267149 565640913 804771217 385995135 846538693 849981601 273570613 269662683 605748723 736536737 11157193 73236121 969337307 742528139 854373837 938179525 123012975 526633473 253545443 899045331 544047941 336200587 579569621 806564513 52426653 956941211 940862105 329535605 996238173 612090249 360079943 312507129 917440789 630619799 374621475 740239943 856497149 536251119 804389529 867857881 710370035 527517857 465181757 65671575 507771263 704503975 174227145 143026891 866988753 618160099 990260001 531475243 825370815 333451805 157357903 328341975 675415239 781646085 909206921 87559761 146729235 487716151 151289639 734416263 402103665 551788853 494277551 679822543 987609687 936674403 711480265 44486373 890371047 772617751 554051659 915054833 26895079 576247433 226811183 946534783 843750853 799577051 470188697 521747841 658463129 311235861 122901973 116494681 442570533 509539111 984908371 925167051 486790091 519999469 465886387 180584193 994251935 419438887 72291763 27878293 713196885 427780991 435930947 788087169 284344141 273052037 148706675 860893483 833332369 92603571 826652033 957447777 131730123 886241897 630627021 564508503 180967511 808511219 64700901 171320747 766278451 100365439 556429689 578783587 717256197 728259625 962375529 27956715 443427103 927087857 999028149 727260441 926599539 962819265 259648391 919426603 233657765 925864809 352927799 827369155 764789499 261058977 924798523 284980209 823814245 821139471 648578107 170343723 52025721 381479479 300163071 493601613 541132661 499042191 502151033 246252955 902231619 836011115 571327433 435864259 315545457 688888081 780430895 168968669 700179253 572112553 604443415 461283169 424476017 14356547 495203603 757925433 27518123 715501527 596855777 117843121 619618065 182702411 617316707 986678141 374579067 695382371 405506723 834594491 291360361 374696659 123490005 177227505 624732419 991105845 245683285 175714315 811196437 837206025 654160805 45122141 422133017 261430199 20817521 874439593 87017775 894401683 971740811 993270287 615025179 293263827 634778353 587694367 825157455 757671069 876152517 181936333 13558497 398152949 719434321 988995705 648211089 591582415 981267977 214470629 491256005 72797445 176240521 127171647 685131661 696755285 105872021 477317917 945358241 423740013 747370517 241573245 305395039 254750425 696597791 548724419 107258831 641054743 744899053 874835387 596544415 257134725 897876707 129190813 488058921 490610541 773617035 915834629 749554281 421447681 337424793 928993527 701389833 31056987 171057129 838490595 196230743 34488441 375212927 879879837 600750409 407967047 38237315 362542945 40015489 192323479 214055243 311116501 538547781 341886239 560950609 922805511 81253507 297331587 708016185 239553131 977992659 793059149 511945935 489704159 475908725 532083435 943183363 575322793 429751121 606715319 430745589 420710261 545509619 943725299 969090275 359351641 160173717 157929675 314555453 594491347 646528791 742761291 271379347 925379781 824998397 740037999 180744609 255755647 359318137 8123417 520108363 24873911 955941473 371834641 596261533 693957257 40185139 418724873 229479881 606576505 904189721 446607769 999292457 368309109 224101347 413731909 801906499 786853845 608399363 826287475 79711169 290919763 956355997 385985141 551253109 3497749 456464759 388558725 439515483 340216743 194732545 854127301 98603161 432464897 726505039 668140349 313181045 769065087 622617893 763501023 125254503 566467047 961571815 356411523 587554057 995133029 366911395 903199467 56511773 825788047 153390613 888932801 671904655 971402849 97247383 897320855 591340145 718527041 390363445 364749283 707809025 4458495 417726875 61195785 142853279 356141003 876158497 885430351 517964249 427789125 22885063 699017451 978521441 778221173 284763701 266047219 45164307 833821379 535652023 340977001 12904689 136748551 332991303 319634487 730166823 48099199 944713349 242924333 879467017 375406797 345628597 116566277 502589199 530010371 466173897 749085281 107396065 692544403 473063511 833821897 825763911 213534555 454708381 884269997 403898421 404401567 595664517 120652649 734801095 801487631 964043677 958985279 493093695 536006847 142702621 297376595 944799243 749319467 949494755 289312699 342033337 744659257 855307639 217409391 646990345 359343415 87551241 217230929 409974493 942564825 856463213 63181609 782675263 213304125 295614757 710100647 63858789 875504617 844875609 626951271 701595303 149916105 951872215 162169321 447551113 276625715 830834965 257485207 295319991 152435685 761950517 10326465 339778053 132755457 360446205 395406751 280326253 839703321 929437147 926784599 359385619 844660509 285722599 815104495 345309507 669997935 672428257 935807063 826910317 602094033 135373103 54734955 759961391 730658675 918270691 262883563 438351181 199143911 148914353 550765439 10011567 358733869 89654009 646777275 16371565 925811113 905070787 396656151 98295485 729834793 594298559 98813683 504206853 869599201 473651779 143949723 916275919 802046575 53137999 583061821 468394193 681796569 719370377 773237237 471974115 665946251 877116993 610279363 588375051 394404185 895549805 253268879 603796595 938514053 208188847 932723757 323420781 629826223 826920781 933170003 444330869 43230695 175759927 914484903 830004529 352448163 850469121 581383853 611943 966481597 279844845 832844249 217640975 240534141 184087523 321976197 493634115 732164497 759675761 124620017 684509509 531094539 187928013 948060229 448808575 2276203 452981721 414787477 279570313 135982995 183071001 728111063 606157081 875430869 136534719 751399409 68896279 266600419 459875491 467411879 971905163 389077723 251894849 539420333 531072169 980738625 408562625 475572125 344136651 552647941 200645363 765318389 505903991 220328059 684218959 452757025 491693143 7683935 138038261 469320819 34671423 928704215 613620393 341995041 730283559 18313073 4362459 128592209 457455415 667301409 182966181 593832199 989045687 767614791 149858245 198689847 737884955 372840869 267940513 998266553 151039487 730758505 140085065 427115601 395361573 862590761 775504757 411151269 452390009 561390305 256883843 692250951 960177167 21338873 363274361 460172979 269192481 145004859 348469003 538827079 512690963 794400223 553852043 435851597 981381231 91510913 235267325 100302583 312710121 472845605 251633923 817193821 541273949 142095675 331064049 958889347 180543181 222316693 419208123 852930383 314250599 725557875 344059907 683926163 352334969 775243385 987139853 527114249 882893955 555841973 777115083 64870995 655271975 417347483 253818837 194442489 687211825 984762121 967028839 265879405 911161233 724843333 436972393 193878025 895794277 676823291 398968427 407520523 594728177 806643519 478989733 481912735 212170653 937176211 182977269 321468117 893483263 395275735 323218661 483118247 856875217 682967387 133089695 522438391 991532791 524868565 425617407 749559949 867903101 546663775 2119299 23244315 474673811 116348035 69086801 222329657 228538265 143789865 610359865 886958441 836154893 146526633 340918193 248706325 310797727 248304577 250434523 531567757 614679071 658498453 734797437 973468941 536350857 46284977 701253893 885433265 667337219 843805453 419794829 22186119 896264403 92765189 350274001 103426431 544452465 62149471 171807291 538024817 503454071 512411719 652997335 483437343 401859237 487918673 11120737 958631475 64452587 454497405 71645491 994878525 286466649 39658545 436654169 289116599 501078061 198250039 5131903 919411969 431937991 567066565 627503869 146580327 641049781 58855801 114360019 322458649 926118569 751570521 977804711 135689007 32867455 864995025 94046409 44088491 593675575 383532983 162219569 722637175 65210625 393173833 625593727 887798883 51892783 579708459 706434807 467378473 39658043 949183081 413357193 346503017 89482439 801053307 177745103 553925551 104425121 438533691 726405639 673241705 443848891 199250931 653080343 568794867 924401457 650669387 181189263 761582221 124004421 150814301 722388389 806583137 393201507 603850915 822689595 814936447 418373151 981159939 618799831 705950687 377690929 682961867 555436967 380341095 503950721 6174127 49461637 671248347 18146071 589550285 597595117 754283761 284448807 563165867 452609287 848686399 528432653 316248117 287896229 923576133 762518605 106976449 310765883 821833841 512005007 845546251 156271339 374921233 179030697 438328377 88982137 820334687 88812437 920985307 820631639 118170491 772263541 13117409 448206747 349740655 229740697 889524653 333209861 201101871 814755695 146320641 566572539 401830031 196547477 642389515 847090575 896259413 699684301 476202339 746059125 974330153 142607877 427398913 781359885 659941529 535342157 780001103 576807519 669012259 413226977 9654297 752631067 677764133 396151845 322660243 930289045 500414955 448430499 904151899 344346577 716946595 170971409 754820469 108181619 519709543 748312135 772472145 407442891 64833339 785527115 143200963 332213967 246496261 216926533 337094919 468658721 32439705 169106827 22171075 58837255 410801839 99898009 13060613 776504943 140297703 725511951 373225795 647772659 432935115 942849721 851885143 742283983 412937933 267985293 98467465 27075307 36791879 579191459 407163525 673715161 376864119 891915073 341374305 438433741 543531913 61525969 218662299 450099881 364325775 53556453 198281239 803803889 798366079 224637497 720154913 65821911 744508221 584642483 179342193 612440369 622939027 205625947 870672675 578412159 118962479 980766563 209433275 476196327 530024875 368678187 357839913 414199353 382179467 101348403 547079615 483238125 288397365 151959591 323152701 214062881 13743355 356617945 513943239 195010719 369290777 652356935 338252779 110819025 601497259 560718481 440418973 32059347 508249281 861094661 886680123 452050785 983244357 570665237 472841867 549218789 847059991 356030557 738142393 803560301 266739955 800769695 556773467 944748209 665747077 206109895 38094445 901691405 85371487 61878247 567046231 323773069 386766583 714451517 92262627 430639837 80809137 931639851 379276105 423713879 227844309 350968123 827687971 617823735 85741205 708023585 606137979 814356327 804419081 700713657 196822201 907271155 161895731 688359173 651521461 75385237 837862653 147636273 83433389 970444781 924822583 430768273 840238405 822980927 829710493 512270239 343320203 305422717 549334987 874052349 549308915 160066365 317765711 931540859 811500891 522062015 214571673 319705607 248591111 142167785 396917249 746973887 361468583 175086667 840495049 347938277 694343247 790413341 310328859 930842855 633933179 901951293 631116039 114933587 385328145 362011443 746525575 163346411 850253663 288468783 493168765 993181067 804684571 971667207 351560625 637756485 841713247 775498297 620116693 849704519 739706547 21219567 166217345 644602607 100592899 996893943 262362423 406395329 914782887 256108743 864430687 335420261 946269783 185246849 221463887 768161457 270576445 16886507 943610939 134993825 821053411 156476019 195021125 39445589 726680385 265144881 942587769 762781209 145861555 344994533 923114437 246490211 541797885 312701431 199370245 983524811 475950671 483621491 42336249 787514647 626314557 945233941 464562251 345984047 879446723 713978935 370928011 197028139 447979847 868851939 589518643 212139329 951053463 792608713 782885539 716691415 94323943 435370815 436912167 791944569 577728981 736231749 27542509 55797977 706861415 339792513 478055697 3259345 326087433 26102595 8684691 959780455 450217105 855192707 501273181 632267205 270605115 209836767 888742463 285249853 982417071 893054367 712431347 398878029 624144375 467231155 653155097 52004501 280605323 221038769 356689979 870262499 359537989 828711895 178456013 917457449 47864173 468433167 436043813 819567489 598600113 644830695 975767427 670799409 303227171 165489301 268411157 266421411 979096131 819825403 710142441 874082667 34649077 904808351 304762871 806740035 482762375 930085039 724145957 200930061 582411949 29767427 380498999 637849303 403801733 166901531 766415841 876327123 506202259 369647647 279197117 773731165 82538695 716641499 964688715 142652151 992315253 364617929 115790067 362877773 481324121 31101705 958721289 153978419 812955035 372958047 651929797 627660963 779732677 411737917 560965959 220439999 108146637 563039929 788848793 607062487 402317331 953127315 272622253 259949913 745104729 229414449 383263837 366627811 753605325 318443171 628271207 339010871 951054341 468217761 136327801 687194177 270657535 315562889 770440735 557035029 166267933 901852003 835854295 120777453 364349233 405111261 540434431 761447213 206191213 418817105 502638049 968675935 321861231 120573883 374954671 240772153 284770363 290274245 12782211 321460115 332712001 10250685 648565595 120439665 265549651 784098713 288588325 283865601 18105777 6405883 87515053 800964499 344778239 236624425 623544241 25589155 967940683 286989585 373965775 281964501 773753099 80115275 368996497 468581107 840870425 518098967 85024873 743037939 346168765 352886621 320858799 665799405 292529571 200891561 413108903 767583783 260176865 303353141 643727991 876063497 619404275 272328161 778007601 917110569 254419393 536062001 829890767 408048963 630141589 231215959 44418355 32192567 384604711 76540713 502241061 782806545 865338769 560228133 621007959 514489607 827396189 555634037 935518051 893731443 847199091 122072551 562177223 401930197 333366827 403004147 648742895 864347613 334603075 124867255 304072747 195000667 205421023 945844219 439457207 846541389 41697933 47459631 326852783 513825491 807038017 200938343 396761121 65494075 406576985 391768935 274448125 252295159 145351323 136500881 400559387 479940769 288493107 669540857 285104703 386367231 264058549 317570389 223672079 876148475 478426147 551382529 470650909 844599975 239097053 362816009 35554019 86053185 692340403 655994649 36030147 288282155 354887643 32789897 468044805 283867119 946478575 890631513 337316569 907957569 34347255 334419761 764032091 531487739 125270113 722713437 947989389 255426595 915816447 563316439 423747155 812680931 806006543 981549119 150062725 546748303 264488761 936812761 882863831 212101281 413660041 237116823 149155307 585754811 481687923 184988687 698259277 36454317 234826707 359999871 154711661 321836389 676110323 729922001 675304355 889702145 808612989 553797267 899493681 546109379 845782149 757505533 487506495 289972759 966136971 874706925 255762403 896381073 836156787 127506667 649977359 238626027 976210827 993358117 759914155 101390087 382980489 755822453 114899581 645811189 565069191 132250199 192622133 414465251 519480333 825909493 994626415 143823919 482306311 204658205 648433579 878758491 816872139 293934405 897847123 366091029 275982101 141165455 864946871 323867693 292062221 323723455 216633105 810363551 713725757 2430025 264481665 625425807 841755805 116593727 876560403 730597191 882274697 881182819 213256885 447159357 379396037 999328027 3791427 343919625 318110337 9533049 590013309 568851567 147294543 71807793 151740939 721848413 274632495 151668643 770193281 766303459 597635973 570676439 518882903 280370237 859009823 497069949 123639533 680591055 809672497 813719275 172813455 705350181 56782425 384721439 408198251 740002801 697674139 401626307 550518941 250744589 6803303 421127719 83998501 114926207 523470993 202286653 99684587 656502383 876868949 309330089 715659971 112505139 787045979 961212337 667868261 972203591 28338093 237391171 899041137 909996363 402241985 146355193 658554481 332362509 874666615 788943375 859042265 210854015 431999505 120424559 752296189 743147963 71479869 282044839 998069027 882675463 288063251 895256301 975737969 401016269 827300363 738523427 236159739 179814303 66701583 840275405 782935481 408077115 688128875 372864029 976165259 16145281 100108499 799136235 544912955 454664319 350550117 598849713 256586619 447046247 185036709 648819869 220327397 775361173 790634371 542428025 959836151 322625675 443927377 468373439 979220767 921838837 945393615 337410959 675215017 752040101 235432483 788213165 960668883 352008089 858374871 443764361 709034939 9006577 115135201 527367485 242707051 903738107 176336031 414838407 571466197 701772843 114508503 930450381 391586257 334286359 139670453 49908767 418714659 104348553 801435087 282036021 841345905 255253607 617888035 414381677 891576399 286015173 348688915 734862285 967300659 145539041 489825393 402822921 975352449 423423773 101165679 391748723 714562945 775122179 796912553 681227791 118016357 157707335 133722665 364508287 125441349 68059845 674820439 707442199 55833637 432667777 764282125 427855819 68265963 760387747 423764613 213910077 769570921 7665281 408080741 701494961 800691291 532739733 196656313 346426393 299242591 808546691 839797241 54588939 797795327 236709141 506946051 752341959 768766635 331328833 289842711 272919861 833863873 632317727 136892135 795949025 19752573 902585843 344254855 547023877 639374091 534014507 127104115 342111615 176017787 680942679 36740755 456637657 618960841 675354163 415506481 197616701 916756433 345030563 990306309 881975943 355569249 161075121 656478761 984822325 911624745 218163091 983728421 516381293 519131841 519716769 580447463 548241919 983546283 247531617 498696641 575135329 247337809 813305211 134237555 290476213 467564037 262816967 148662815 47134913 784837373 537611067 706994007 315549683 670543707 474285565 437658893 561452645 570541867 346856281 650080415 690121171 684571229 926066111 370182097 889236135 582576073 154028239 450879443 783204077 101235761 131022409 414634553 702147425 8450367 190561559 783077887 813221981 990220419 482063441 312528523 324075245 354096759 512393773 492636843 480105917 191960957 964905235 481740181 344004645 577504987 821465737 628788707 326229285 570979783 269694535 967653533 987682915 654063703 73371943 323726383 320934703 104924301 377279531 165932911 966573953 732790611 677317503 641489563 711351031 906384249 933558133 672329813 14700507 209402041 434261899 810736303 70195735 618887347 203265889 823501337 880769607 744976371 18168261 931778677 853322409 756941543 967848361 17547783 642929185 369730795 791101225 739502201 305390915 221177151 451353735 19395557 246456645 843682317 256834351 937325509 250054405 33912677 848985781 631770111 936795147 938607681 227596755 180714463 668430725 595838337 539240299 286884127 177589067 407258353 943229837 938858711 854073567 543703615 673882215 982112909 930104419 351208967 409303383 75565361 880742827 648984265 761156063 668916247 822546219 157335533 918963883 895960573 980157189 812076231 170046607 343733253 160973821 587772303 897647493 207479999 850451589 542552165 468343217 913421601 658901427 558219859 862473821 818688389 578650183 76782157 262539005 948049589 341979047 544053799 672491565 59487449 552292069 925369255 126420145 323435145 860679605 643524981 114114673 762388419 748470647 973700639 818720643 954493163 886420531 832923939 199764769 449665487 178576791 255201247 573404847 722439329 913185789 213340831 345800889 945258755 545619811 847891857 443383279 982806265 877443183 286462415 807401521 790665199 114111345 312973917 331130237 270701499 502518111 585170721 526905603 615985049 619540699 997388271 331170323 344467247 592013099 508901759 301721897 320466827 891714365 711573617 171008745 439892513 768018089 141770831 195991839 644872145 37063857 265278091 437499323 314905053 853361975 248799615 538406877 104833267 390789583 555531625 393300675 326206505 580246189 898825079 979361501 583638013 693193139 361794741 687813307 61776721 401693541 203237153 380645915 608192631 58678773 846128281 761759453 735797279 974024761 137995239 412774415 890133099 738647217 33016765 357715683 914407903 56319107 140451763 238852531 633952869 973151871 926801741 385876741 575577175 756398621 983603953 635720323 974197103 987118203 617911025 497108479 621921235 846615393 395131017 905399415 886585105 707406911 213584087 434473739 623455517 300139819 416131045 381061129 450968405 66025955 622817701 357746147 591902079 883197137 790945519 583718965 943540935 990130691 365982341 556771009 142309059 558246449 131164689 124661875 112551535 617166775 213073701 455614559 804090163 220238241 567854135 415506109 423459289 820381339 743774123 421002229 76825495 638787071 451326665 635833231 465988365 494267593 74553027 673764159 498513213 2402465 876115377 962165217 229807767 616414937 934584725 701422199 283873261 538712421 367724889 157193005 75178367 737174503 822682063 432360023 8076785 299536547 420027053 902948719 733503823 382505867 84660117 566698009 279116305 39647029 812474643 899748127 743249939 563684321 816635799 609624949 964568475 943674997 408049785 910272823 68009045 542709633 433326843 542266537 396557909 358958653 940242759 654014259 419665693 99197319 624324973 317878891 160725133 431621351 366110313 579044107 276037621 654926733 488854295 145560567 972572937 485226829 282896709 587701049 813986025 520789931 145973923 351256327 660959511 351373003 154859977 803761337 319578753 34155645 639974713 288078291 832289917 541361975 810747997 196473603 434880457 594433307 110978693 669276441 145146761 164570863 727483371 728684049 37936713 705276193 15928495 453334031 574515969 406107849 927152605 45389919 580169229 902017191 828428389 441512049 476969521 203381283 127613469 550167269 900682141 369576009 53652685 578387577 334630115 370107093 761695511 893610781 918693379 152995617 121999761 408634593 335378785 562123063 945499059 526299393 450424011 701694663 877203167 559386339 718158965 804203559 737507675 544395533 611375103 246090071 762536285 463782455 181192553 403046141 928687611 661498939 779726887 700712809 295716405 219677465 152955911 836081555 91253753 42219009 647179853 5549081 490278677 609670213 406427289 607322691 299232323 619853405 564056061 791649537 760686115 861530863 758512617 79543783 132782657 868434375 770370367 178184761 74387467 8253655 150504769 291544539 813574621 378456379 844444831 802122845 141498871 330759221 959937131 506455541 647243137 66191921 256011557 442377861 349856143 114800065 737257905 716396689 540650521 736810659 553322075 416158285 85483263 158480057 983589851 961612939 984760587 149657869 660606541 101213645 783472881 973804243 359708727 834891579 164877381 499952229 330556805 807784865 311935117 339291723 147713165 919693433 542625327 352554539 144710923 464886499 984921471 351037913 992768293 910079651 112805813 358508627 612345449 798742827 495443441 662046907 929277645 979408529 215565373 406703451 212644267 249860243 200060043 745147047 71340747 370405789 855726005 68027451 898849627 664521657 866284667 225685465 461832941 373793185 390399109 724392559 309841023 35186099 987685735 98577163 787101049 860184311 602123671 407466989 959926439 479573019 613125497 354021751 311256891 331289209 15988309 737719605 658316759 283334413 357832543 524851927 215179647 63076737 635169963 950338363 263911069 736939811 143499327 121607013 539678731 914245097 708440321 555281277 362851843 826124149 205021635 796319193 392145707 791566861 899355713 507793907 115182993 516097951 14923801 544006511 831280041 572291779 482030549 981046553 461829457 617805241 141905383 709670369 978638031 639979879 898647463 310826469 549604815 129184351 613212761 721701737 104214631 990603733 865187363 142798807 677819413 603425449 858947351 870264513 915471035 875498085 742246449 675507939 513616299 484494387 426114127 827389217 696012949 648785391 33299771 896190855 700976283 869413143 322562213 663637063 64528703 38563793 15250731 605283515 571004785 403470317 958700873 414793321 780808323 72657891 303373931 212819449 301725493 594895313 462253025 198709315 5814443 673361535 283538919 70350141 968646003 872541 452845211 245163277 375110785 182635647 88716551 366238975 848496179 437987241 73135131 4903557 513777485 649659197 327153589 601904699 306474495 378180175 998399377 563939043 593478365 191285397 746036827 852835431 823798755 860510059 439428259 451799775 991850361 150972637 405570531 332392835 672753001 15298199 908852093 871000501 910951913 294976241 377344441 608957955 695022233 178128363 342392007 545771295 200298363 867237421 419637189 153570021 251016701 789155843 817065903 386344791 69151733 370853991 970132081 695675809 503052961 742960633 320686555 14995733 498188709 921319421 259039911 765892657 777393677 400163173 817695093 898767767 894859601 774655941 260383185 436448529 897229389 985051745 733392683 52855443 476849735 241041181 817131483 972250937 379758569 426446217 529403939 586246213 275643981 21220317 223425325 583468067 478052845 9672183 605139465 50227047 982158255 47999071 266066097 336361931 971139553 674473795 810001157 412481843 507475767 8689533 455076817 929650857 493730769 44441481 325992899 456478049 308045871 305628305 293292151 389241271 669120069 175538531 517904237 863922223 836425827 630453109 916767503 583538289 66521671 471166441 772826541 578138195 113583641 318972035 218763905 792044239 513958755 433440437 893381291 563317001 815557149 729476247 626954295 926068557 772912545 987139557 295378195 668071435 476021689 933072647 621269019 441100513 901518221 995324941 141003791 306329491 247001271 766967729 222979737 257370377 83561007 641600589 329883975 679949913 77472607 250956011 754746007 604633535 53351699 582247483 921087207 858079131 12419199 238711699 59510659 774727545 546583617 781387249 344703385 894125327 15055711 892647679 768416581 198731061 695129669 666760203 717868167 188689649 218399177 982244621 177069127 490611821 552999 751244707 979355481 540539899 735647239 351129621 753059189 667746583 687871347 726478929 313727035 698077029 113634529 893396721 281711669 33895345 210617393 706406961 473369559 800390893 5044133 472887547 429303925 12102453 440262379 344812509 925901141 745950409 808544281 502314509 125370525 571000601 855440045 114446957 534693473 117609399 540454027 712699009 79046553 738085723 264739583 53062523 235348261 65611501 517163969 548782385 675297487 716558451 396766189 453751587 670873161 575430693 248370441 712545657 61644333 81575261 659617791 603594751 848791801 980397981 251129385 270294831 606729243 637544337 769240129 881788711 324666079 786748941 734671725 856260273 434651011 26344713 612073531 234427447 275102245 204439213 70843809 595149525 440937423 207174721 483419641 43646793 663107443 977331001 871459851 180549369 235536107 32237617 222173187 779207413 651534837 316513771 37897335 418841845 901058877 69983827 208265061 838316117 974303573 431833469 765665071 645940513 169554867 284658339 788300199 786678535 995115963 856145191 363156733 849983067 558359477 596641689 918694099 702169375 876458963 495780519 432802603 868308475 212899631 54075439 415120757 915453757 677566663 147377203 179554179 883307995 281425543 934959583 959790229 117418615 669100095 567318151 975811151 200400981 161609387 759371941 472276415 524524647 11058793 860153565 487332953 435970627 210772227 892509947 769467643 891181353 716804075 678067951 435017451 60935425 736022393 317528023 507212501 906612567 526938607 280414455 755356111 911583333 841003639 480029367 64660565 388037641 787104289 89983405 176321359 47861451 349576425 779821971 473913095 691381979 499963051 10160717 354096691 643050767 775120437 429266663 696781555 454868453 350723639 293286033 10759113 336233095 894431817 972953003 301292707 293410243 902168559 642582195 115895767 689303313 475799949 946485593 642329891 326298511 413518203 831497069 67420331 39228677 122152173 689129963 444869629 600196833 661617413 162740217 716089613 615379261 865680335 140926429 382245689 6399957 83915579 356717583 625814085 98152211 847162913 766252071 847385953 974639875 34102083 396504043 781264415 189227615 843276875 842565189 273583489 916310919 141493961 829566023 773004007 831845761 811544887 582726191 616361761 167589115 435495415 157040733 869594467 122999117 97131601 42730079 603743309 580048759 356655477 683016679 26217695 416110879 867374975 548704719 385094029 604231061 171038319 155135773 766467879 866975953 222446895 520932859 26534891 139946609 948596367 540960957 839590017 782419645 942680649 311446235 853644019 663128997 232396285 81284605 31784377 901118911 65775159 100582635 935447215 433941833 848598373 664448153 850971673 607541037 674754787 391263011 786436519 163051001 412531185 399513291 696847211 139505381 23266489 297009917 47569125 27242703 865044811 41252683 261494265 861924159 696655009 557817459 682140661 281757027 510668187 771237207 238265997 830610195 952936965 954998785 129035999 792558545 213029773 489318565 148007537 637016511 200848079 166687903 597663791 634372273 730323019 493347697 652901231 941028123 257753449 87947721 719894253 887024927 222851965 420718709 200496081 356607873 548028607 929533813 910774437 955438259 970366799 130045163 30978145 186020299 887012409 648948257 315041119 669682057 686361707 573415053 565675623 289972051 680990657 882877127 895175591 706454075 389955065 978143635 399298993 92147699 728806337 902745311 192107141 87950817 62856103 612290747 590673543 624116231 681851683 867923555 189905283 836978709 376512409 803562299 100550577 297550437 124754259 844094413 565170349 752490229 958838399 208702671 963337341 529304171 19850297 63156761 854003853 179537175 633051007 69275055 806699185 794286575 581774911 68144831 967011369 158352789 191940165 186363545 237120667 396484431 498404943 797776313 462589713 66490379 954205947 982555845 957901569 88278881 116843475 697495427 723640649 82914451 864485449 410853867 198813999 182822275 382914231 922602773 163539809 7075269 409576795 622378567 521841393 890368397 81088867 62537195 262364253 74988219 123646427 660223123 501235853 312088537 889518785 467851771 635224011 469453587 93507059 466122249 970711759 927171393 215846971 74830275 588674997 561791203 733296203 682424929 69478657 47677727 423100347 76170301 728571555 132108997 127288847 239564761 229697261 29633357 35298733 638190815 426738079 366782421 934438119 963243303 490704605 400632869 576382713 881673639 827846197 202326957 41911041 503944583 953681307 545356419 523642633 942606607 141850223 600982117 138420483 429231795 571260529 635941821 611035079 566159373 524315349 509183641 556950553 772406499 791754025 336260527 861140383 67347999 492186737 382490465 81684459 34637013 653522445 147796149 4150647 847146303 402392271 898951769 920763557 802468799 553578983 109055911 799447229 518121955 134521335 245811611 832260337 471354719 939152897 674037213 831678809 839704329 866299507 491493823 21971959 960845291 271056933 355150133 509019573 303617579 550055759 13613537 972486501 530899487 767907483 74497031 917746365 605737279 556786197 719314841 437938529 73700147 363156529 677593389 5629913 581218499 133400269 550563587 310776981 172078309 475951151 853453825 866121457 156178865 595008001 941404855 641389103 717146475 527872605 211951709 487912563 677300607 232233661 480580049 281218517 281966977 45804809 245982363 370060617 43443755 220641419 853565931 543276465 53429857 412877049 33190805 406772441 36434991 958124401 636767005 899329649 587919813 731691387 61707431 846615313 646025857 418066943 127966211 448975675 882297319 335997013 545908647 940593753 990505631 339133753 759188405 797639099 347235199 595241939 540443379 86874011 802343041 99467439 139626959 912304153 19905483 25394367 151027041 186897985 872822947 176064613 831583849 979219715 206817409 423653989 494919247 818823735 986635261 243743977 139044383 629309855 710032349 408685195 563207059 758027235 647527945 188390725 645186059 106296215 626599063 101717373 377137035 841705011 676566211 641786625 321062853 820706073 569810925 798687237 880178959 615696015 156364963 140991527 476584809 351040203 889050519 867086701 397368697 527353571 980580515 391467331 246141327 836956121 686496205 383291775 187966115 44458901 581258815 24696671 348531027 191504363 461216587 730747525 244437223 805669779 136926573 762766337 131995727 128487725 480724811 839590729 170545951 497045061 301327533 697878841 62237339 234036297 166123911 582784277 572975271 57569685 233621747 947300747 738643153 517772393 771135031 850213299 804050261 722326509 737277885 158502405 431441423 908528949 976075801 309698923 270062469 789775417 338803459 390107185 234401259 594638553 194526819 366991115 816168467 707026399 221460289 449640471 849899647 746946559 210039505 537666523 495752789 780795597 52629359 215821891 447419495 92524495 666475933 744581539 870351913 266711917 75577607 124569021 161297595 530436597 263780737 960087729 847655911 813812901 651908613 138586127 75839257 411178651 59795381 694960075 422717545 399312865 280774367 975665989 388022677 867312235 813380599 326342207 731800327 725880589 71134869 321743847 420291279 248067213 950564477 345967059 788245919 143319697 766332571 372327169 67865053 695622317 852760579 369790165 185924745 890383191 610930415 997537307 713158233 317751539 535928771 436160011 27296417 914971339 415502857 763807553 88954975 745387021 977757045 965470401 480022845 486123731 200594149 203526395 424541833 358067489 675469143 91301059 938988089 257618909 443795705 522070101 487228911 497279961 544255007 874571351 698998767 163523793 586892869 163288791 953761837 825021539 646425355 806440009 719129403 17977625 445855549 953459851 918101339 300695397 803511249 360634851 273407347 150649503 602738911 986926589 251483157 426497547 291498155 802649839 752127093 635955663 818158243 357811765 928871795 759654397 458407511 322355639 271146649 772300689 674535043 5928639 767122705 980691305 741925901 166003973 49368247 424192335 666171643 434478501 693217033 165040885 201680261 308925987 978010669 558132467 893011715 455840109 682372083 187783627 412635387 212700891 20413651 125979367 701374999 772830503 989622507 97385881 951703849 400902007 709511939 19560983 204889135 434436695 105474441 641988229 591630153 405347007 819599767 67001835 887314373 500769035 958573545 452908345 328447253 613876737 298416105 590923853 893884371 727463373 99375269 610994915 752807621 419720965 289674195 724042151 589785557 220794277 179001045 323429673 905312021 906114579 99207601 155959011 473878979 431409695 308412949 441752119 901079871 456297465 204216409 356933997 567669271 661769537 586751613 700572343 530312445 841897983 963502889 209743149 844318157 522177435 813349033 628203473 433053321 374765549 733528567 579011213 479944285 4205107 785852849 856975665 68536477 647602191 354580769 927761015 63865795 689327763 990753073 671057153 100189297 236874545 6228861 247229013 83609717 481046727 203577667 428278761 808670657 263370393 201776745 745679379 96729969 869723479 344304767 120153877 923815113 647286291 913277885 178075673 319574065 22885199 23380993 731578415 870815295 276797419 5460947 501576529 900971691 224845367 57265505 414005599 919155037 723913447 851051909 273534757 112666975 972575257 197856955 910647123 112670177 971830867 869899821 185279871 945625921 938007937 328847529 504805167 14345729 388683257 983121829 680171211 153008591 143761785 953019971 991913635 333133433 213604387 197654087 931709937 759507201 464287113 431752483 253493205 801685125 456844187 343788271 617352283 453879121 127797179 558500711 855456625 866167769 563854763 344111859 741836787 602965435 120104603 102252963 61650593 655584437 322970653 428958255 233454373 325999543 618853681 213377271 405434639 99940305 564008763 739513087 105980119 597692735 58896137 162162937 43251939 588475493 161087439 730319419 577772151 348583631 170308651 513357763 417182407 119882285 298293539 182342459 783750125 278966623 542485283 123537905 231049193 797895523 987839743 824371165 647377315 586857065 725303545 470776989 915481071 412940481 486917041 542623353 311600773 930418665 530138423 717627231 524124421 807809409 401576449 885883369 217054715 312816727 925025769 995440211 94814677 48223579 86806327 634805639 762540013 255999149 52605849 809709075 509166471 144453773 543330081 958407469 680036043 893241959 324069711 579355063 563817927 19494349 920734213 928695605 612153721 578044797 225656469 944716505 646877375 823326295 314606769 256338041 727812451 547596905 112035191 652656533 543550231 851048933 51112555 123230293 631728245 690104357 536991869 528792709 546348541 940781231 716418817 603615391 200763671 754665517 709066419 523008705 115813653 638701939 602515129 888256949 153146931 787875963 832906145 615761893 937191567 351804775 24249439 926304877 460304179 211515781 684746579 344163339 6193937 791337543 405956927 635737637 325621251 254621769 578325073 584713675 181880775 186399821 827837727 162340531 38174473 764783679 315598757 212740671 989891675 9621555 551408203 90182773 47582003 482517859 816591067 842493701 60721909 692271923 652598669 640885315 701808105 630951469 325587965 289916465 772024385 785410309 636422703 783068535 47411479 561769879 33851281 153085539 282926953 642513895 297358331 583620075 531734307 579020573 959367335 201425073 304824343 806582927 929913147 59934713 454328571 582310071 450818757 416139957 945840755 803594809 595479737 512828027 520146951 601898207 744106997 676363915 97826601 762066077 78397887 514035405 689833521 236539023 262200515 391731917 970320225 748076537 400361493 782295237 289426403 23859523 316832311 579680403 9254601 307466499 257964553 16135871 401314313 122014453 328837595 351845753 899468679 981931769 853271139 705595287 27203595 792099355 580606395 176898455 320844357 904226193 47686765 183799971 890943953 967370675 72696417 499106185 796152369 204468999 821324271 774938561 120148427 145881909 742102229 250443881 37443825 440684051 432083255 152475465 524361949 114981021 492834465 875058639 109757105 181457907 88466699 989899797 98929269 330312803 434885073 747695575 615006745 733572701 680798393 616125821 286071417 490559361 221536493 453911321 948476501 511627663 754177543 727177567 531055959 849502577 358320897 505157297 699115791 851472959 910221123 803896339 91336695 828617263 504367511 730613815 852297329 749055911 644073779 586439285 479190981 40625203 882578101 197255111 225622819 945140101 352381219 13762523 73077927 242029689 741040873 633328123 261077585 625026065 813405917 340906529 961571083 957171833 613346621 207963115 26236837 688554499 862579885 316308897 781034457 719969325 936027449 916947763 672228679 456718487 77657 512438071 273483387 849722895 870548711 372103659 786303973 433826695 108071469 179479097 713538269 150705947 244800211 265199279 457339043 958219533 163644147 512632965 988152165 628077769 863432199 263436441 14004017 502609379 284153333 582792819 95419137 990476565 388530699 163002177 952311221 934627649 486328317 265600731 408614681 373144693 334325993 78274755 403915483 255515877 770391125 958255899 740247959 859135465 379554093 992030647 830400973 932260613 962584775 718564107 48820965 544877797 197376991 919160121 844108339 191716957 175672219 276061957 270178287 440212327 164375179 766991585 521049657 355869223 666702239 398724579 87254557 542473191 664912185 85016779 484093065 444479515 51909147 566771967 907631961 468656479 228867699 625674127 346321485 8369783 779784921 15854131 669020685 445992779 289567045 774302283 796997933 759125489 737486881 903185371 486890275 504119203 485890873 250163859 384684885 567013317 418640065 104237261 149091335 709219555 333132887 495502471 505545069 875083181 151657983 664695397 926950049 319830017 743921961 682090171 774351521 446458851 589457321 894995583 335886171 111381115 665205947 171682383 597770907 689845023 681292293 937748851 762491679 26683979 746779797 446852313 23781253 34038431 342647265 561625625 974609239 154523113 470036163 983745651 829618697 519381017 967710851 27958735 108998639 546575439 117951437 823606715 390306639 718628297 698758583 510024813 693975887 404314359 812789951 554923973 375752961 328478313 311306185 753720909 763429473 437990877 101068065 566176305 703989581 743953715 360351103 938063945 106567823 771807609 768753407 734157077 549917401 48498657 234443813 925560763 519657413 858727621 288449761 415657227 26388689 375257259 213023109 975355517 458706025 346642237 996817 254635823 990189279 814734925 146643433 409039081 742442857 106280665 215089499 984732443 526487851 98270721 190278683 996165083 842242605 237830675 694884231 855317735 374169697 470167425 134015333 574696105 851549343 222702055 410136289 348091695 566336939 751961863 611225489 234120495 333684523 830955981 318858353 612355851 941620401 321444171 424610025 720181193 245148855 65661887 245414851 458038295 634190239 406685579 91757111 397107535 396637361 212972089 270865631 83313261 144234271 59719549 814454981 819168537 378629889 365654067 37474385 631965861 963349083 233700189 941854299 771983109 142290963 247511335 752971553 925513177 975972091 241353701 131017543 513943915 736174797 430160145 611923675 321163687 213986091 409649231 15866449 347550501 654392989 823819881 402961287 105128997 285927827 257944659 790260417 222656909 599776107 149745193 908287407 882202093 545087329 452249133 298958437 589145725 407247777 824603085 369263711 846757403 136636475 284437145 744836483 2738255 574216745 188593997 475289887 241907273 253719629 442437325 631988457 701803485 62752365 944799011 97671675 369550991 111771711 683425411 541826525 486806147 643492441 110328395 593581947 662206855 923145533 69715961 288268333 373315607 290280533 414268989 239573163 472638543 509267185 763221479 497468959 436157685 659260235 219721971 899918099 980349053 224741765 337659781 48493183 348419065 583539365 147175143 979755711 842602027 908068769 778222223 614430871 95263867 428244559 593105685 814746167 997544949 875939441 106795327 113377843 740186195 261180081 425611511 851485319 455500533 902959005 462911055 316584857 496474591 549231283 868972675 10854711 463488707 826839379 338933495 477424021 444029943 524633541 753499703 265506897 838643579 419644473 550848757 339405169 872476661 62027211 22953227 532677217 560888757 30990203 216799359 380515575 778191795 990148401 990441083 97290863 915304589 684533953 34281553 816921713 560343947 375689955 670130815 408008711 404092829 801567287 373406117 358337193 728526423 886064201 226805137 302750513 413948157 46264967 21886517 681836263 615676275 418788685 490308269 552415353 345360711 76539611 610761787 34983673 28666549 705324121 372940619 64648423 926324121 830622427 294957679 426115367 374472313 898103897 924192613 763254279 763423111 818770099 55806989 739450939 290701211 566286517 972878197 924059105 99272497 166822669 969085647 291349885 956174705 908900183 50120311 265470719 980262701 680942353 25956591 187017403 359324121 944423081 257938403 561250413 790831765 331682923 361984807 630684221 627083563 114030485 341486005 881825717 733721863 448695109 581031601 634693835 941553729 231932807 161496165 537520349 474537111 537599049 80405829 122628019 670775923 247499877 526383853 541893237 342041061 799797407 227999007 829190843 376457631 513361565 172623047 719591299 648423941 84414963 743111417 873788975 432555549 292302103 838671855 112638353 888516247 86790767 628776461 102355163 668398281 263766335 746845917 357322923 217723313 724016827 558411797 311461381 600310521 802846459 35260557 663631705 472001007 191300099 360190793 28040057 866378377 876920505 900458615 920535717 106433641 626278385 730570343 43463553 795319251 649485665 72410261 449734683 554968249 758888109 903297701 733800681 913890227 443550813 120941409 847350213 672640253 689935075 376980927 319811319 604321663 375826329 865814487 528140331 898948555 513378237 65681903 746022775 519152405 829045627 735080815 606307415 348811325 425033957 240189421 539080883 321679053 846472945 96543781 718434261 26556399 595882627 271254775 942118261 834851199 724034915 763141233 650154669 158144251 619265859 371966659 860064007 758885001 666686139 954045261 109294955 932593657 842944077 737399693 901474097 358876099 571975011 565487155 47051031 829802501 976013647 235298831 857225281 645435271 626663495 224488735 941352765 711254711 474996847 741660547 267951871 61888687 911921871 940880521 530107877 892631595 116292185 850731939 138621109 460150421 996413157 955542893 861069723 98896635 307850805 98477735 58898731 188127507 665824499 596350785 131845479 771805759 522814895 458275149 970582191 30363269 438197219 6992899 454023891 287862163 438109937 370516171 63149577 302009281 201632545 54564397 125518315 236980495 227354789 371275997 13362817 582998051 572510357 776760503 301082935 984241999 669409267 422946237 841752549 158947207 571120297 307568411 695074243 676168555 980726919 833360419 454656123 402608197 853104199 484391251 508027161 343812863 113099915 602624845 982491921 303095605 975766745 164455899 77675839 727497765 927718567 980866289 773833453 334182837 191063115 949280683 462475461 267631989 3433479 288230219 210544091 35295133 194344197 240851517 158582959 645075979 729727573 6286613 993189925 928175943 552288241 644957069 268230795 50024831 240627129 787249545 98493591 570111373 888749689 945704979 445206627 817529837 447532769 647477343 70633591 122667465 222341769 201139401 55340735 198209519 352398067 743387605 177227665 245512149 732964999 791455531 707419305 709464733 139007385 528948897 318988335 880521739 613009249 836825905 36867501 368443793 485340929 498838527 704668443 358817093 859212927 766894421 383001045 462954727 497487825 427007401 126759327 769492703 601191371 509630611 732708775 266475321 488711475 211350489 882347397 594006191 789830065 715485795 22368819 341944225 486495957 839221575 716324631 709446931 232657175 846407359 220651261 908886455 503508701 322043185 716879647 620046049 201842539 162700835 116377109 731238293 282351607 675684173 203589349 500739959 594488469 634353543 590626303 720087511 342702411 718653399 229864503 915698861 289612033 826997861 775381961 54957975 656342661 355253129 43104605 731831005 448275349 758651065 72485117 276402285 894927823 672887195 250308383 397460193 751427519 205901563 729349539 568920693 440965075 495679435 155124939 597593107 862058855 900657189 242221125 247129159 49428921 128174159 223736361 485212749 992102647 951520179 411198959 413261055 88569133 264249827 202259841 976357353 488545625 628405661 251525163 704833079 218102361 954685889 169659809 597982145 931443191 378050653 729965823 810462215 405691879 98145187 593252815 906933041 802905789 839366895 449449723 470819595 646024959 356811715 932356055 760808975 276992019 379133131 644902179 653169755 704620877 568569049 715569669 475343031 804848355 850166251 663417095 757887891 695121145 459668515 354595103 9611781 112195735 408790731 357094571 264529613 653950639 670056791 180775537 623066961 945740059 522774115 296577693 72973473 236001177 278614705 427116485 856839283 51277527 438939693 632518119 982474793 757603681 272517867 464414565 10935753 282542259 466682403 769963025 92595457 565484591 822258493 751268381 245702187 598065183 72101057 517550373 573986115 679574705 716160869 798799667 608177907 605857535 634629377 833090479 79604105 971014667 364575129 955957875 925819899 720824767 383298137 346827447 22834411 898540525 390169749 311799847 925462941 651963723 490503879 200399817 646647043 788857469 821279635 648034583 118614707 452954891 832802499 881999599 990641133 470640743 85486669 257631377 4460695 835477737 314726217 765693103 833752131 731914451 154603259 289871965 420001061 297846607 419672529 151119895 47310109 116986223 451850331 435168965 528978611 559888681 713919573 750416561 395823639 203076193 126697379 6271635 6110751 11191775 649718097 221874821 247290697 433514067 144587919 825141007 593735359 641317211 379524539 241926175 339215695 809786995 364626265 368892423 965734001 495093767 668055315 283458183 904240451 845560935 850604219 278039489 127758221 239966925 939237709 194390343 630829757 464010331 107850221 775252235 255132907 691812633 838198503 645098603 11892697 660681975 322573485 18999083 210400233 434484433 827197145 332170363 686859055 340855145 882220337 678725103 561775711 660377187 169954975 409344643 63744475 691456853 360731189 742998429 743382183 15337657 246991921 783072779 191063413 994461931 592241395 805988099 305950107 308506937 39326729 133068063 268201497 963252945 604923685 721962855 959452823 517413327 176632097 433323079 336852577 684137523 263573763 995267221 516033393 121155815 167280373 177400463 442179429 271611579 292333385 632969431 351225989 547835241 709476733 156129151 836966081 174424211 62747443 643331831 209530543 954431167 412943157 158092577 451143309 158990947 508787319 856620607 110923589 75491029 324417811 789966849 942996325 657164631 306115921 621419643 195527205 602314257 662986391 982027559 8452707 84032791 321388153 353689585 288007077 121571681 157622709 629829663 669687071 697920975 36470573 109321579 98487459 62641709 688190699 318019827 17595827 66538025 736466211 840215607 117826679 601613919 93840689 328312361 628047549 584025935 548492951 382003229 438590203 575888483 575554049 848700113 58596177 212191465 512627779 744841063 861176457 272081695 532668247 231330927 54204175 655698723 863932257 859061471 555596283 320147969 974825899 154630929 781833741 891977383 632192939 108760015 199944363 738072305 439558137 370173761 566684901 670903967 482220377 651463167 667582067 91921497 192956855 576565767 371961523 875772083 161662759 964522429 777553839 638751525 15785701 53531885 281234705 211753231 864791633 509699023 685838133 29956795 254842871 647561215 955387927 713574491 952219787 182881667 132819553 754446089 289169899 532301767 220784737 905265605 600654869 687435423 82055951 988371063 637790265 994638669 396303625 787377907 796773287 188712817 852135319 564725231 348739803 941667355 326437287 315120143 28510329 428627135 593370833 912421085 924424269 44745789 32374357 797812167 735561801 9056215 110825499 806467367 796980103 852549691 261922737 658579777 121015629 88717439 238777165 469793595 909047299 682284833 853205199 221800489 110523457 465617155 594622145 20748801 3564989 356758135 676241743 465892519 581224541 902512685 293904209 538699491 623328045 864934471 541030215 864211303 950568799 729867593 584360023 382902733 983723855 79958301 117299537 648773523 985154429 869399581 436809645 739367717 966421401 76559363 192520329 462215893 872061813 325639413 682006957 731746265 592714761 691303041 955383433 688221013 204929149 844158107 342301489 563258705 378823449 476852897 167038825 712902591 258101841 72554585 996385685 167288183 994229183 830160623 682247109 360067901 799722793 116905977 207156399 556489911 115870073 255069299 320428725 411187063 248600003 255788485 841576157 993097209 828743745 297535161 570738645 786849945 384429397 503262853 14314741 546310309 465203853 824206793 276994879 496359757 217913755 738444679 778404949 164236969 83944283 955919919 786588555 247680701 636871887 694337171 437523669 908849263 571147813 108700915 521184211 204678801 959072683 509721587 694397647 399197917 665096929 646458271 203291573 948328693 136893801 32579695 134256413 105859937 724579341 562876991 481033541 170114707 629709763 94886741 315071257 299964899 316790947 170726749 396775715 376695443 746348785 390804075 482022045 460681933 799318553 68130305 675687525 494335137 353369519 432407039 471391747 974288137 55721581 480507317 288050853 507916519 448296759 597578455 47626789 599438851 871718935 697320069 334039553 963673613 692213571 561672257 362280029 947500449 504377363 942106873 250955021 536385855 293818893 473140227 546252935 204644945 753563609 545910813 615275753 602339879 716625485 437986409 332274425 304165115 65730403 351636857 286983467 193180911 5096767 133634623 367445137 338530569 60989741 47375641 182699501 548583487 672952989 742272203 331466919 460932711 420596271 283037061 842072011 669976899 153415329 335792089 476435219 838655357 77988835 839840199 267992543 621699493 170708997 627898291 913809459 159303477 831083589 752893291 171943873 67758989 47656963 527108387 217124575 669204729 50493901 263719035 752231821 972753319 677461587 643326835 217180273 518626995 422037877 275238781 304221659 917553949 547532595 632190061 404814019 539506381 900241079 720891265 442643911 891678103 864920409 227007579 320026671 401510963 708415887 558861837 131774187 875259203 422497793 678931975 688480143 215782477 531898999 676382507 876834655 729104581 958087907 125569723 911505469 576132357 14526565 433690983 974524349 688210765 399184445 54531649 979866133 789823175 407216855 541436361 476399395 100205697 19072709 480127203 598171501 831219321 145227717 613731291 809974053 315998349 318225849 739028329 911647011 752362377 274374059 48111017 134617571 304815131 754612431 420678433 391959693 571260895 949876609 245874109 769107443 110898771 549681731 417838035 49985417 300534757 566263489 304658719 356610671 766225635 466128589 851038663 878666351 322210949 841762661 125313881 571609331 347488751 375026091 448296395 525138967 75584299 211285993 34793591 838371737 114402343 93575315 482782501 774706655 836149693 224469829 318137089 75480825 667270833 362274755 907042211 683692959 867955881 961210101 774902275 961359919 3452729 882062833 437533067 923362737 878017753 506719473 231134469 267651797 412973545 202444889 813221289 286612207 356748723 536821171 277469203 110693123 369541481 336319667 858139977 114361525 232606499 887688245 275917749 738654035 191526629 361946941 559060529 874410713 856954773 926646771 393089271 689872611 783687687 980811437 430753965 285703607 890164721 253225701 782314849 205414215 702749943 757355071 58882439 11116075 986229153 393779591 744379133 323981983 907594849 390509997 923940873 666313611 384746129 276713169 87853655 172544897 645736303 614886193 615322109 420853685 206890791 468308541 720932985 341202183 809029067 552214405 859850669 805635839 951434833 623909829 861461227 440447181 689103261 661668833 231261155 561796167 392009079 746025445 180585911 528391917 815283601 228936707 478698473 776022245 443434627 436867989 37417833 768212479 157962449 371291169 921612681 20780723 396262881 261787217 54743817 858234655 35510021 848884471 841325837 191888395 503089783 693413903 563535907 938006501 251175513 532988351 42682175 458532807 126341043 419994445 462076095 847527533 347595127 397508145 661365607 231717697 228547453 8729349 77155687 983290193 306177927 644912779 526750547 221914707 609202751 31182511 668684583 912912297 916211765 893510019 644263243 297851737 762613989 668337221 816243593 475972881 70081451 588867157 803733527 69601577 184727253 425486401 775131797 899480993 498115219 587394747 460385541 815046943 894884861 584317855 659615445 850522101 989456405 622651631 957675483 625034519 156615877 698444247 859730261 252223269 733867997 913925547 670315239 931926887 298632727 157567715 950907805 264586445 999923733 869894183 76788463 190185709 951873375 727812415 608569785 951170311 679939429 80643615 866017089 650761985 233211011 515530723 812299825 197976171 980363001 818971085 496662947 546572157 645687281 721972299 871236113 304513557 334496891 703754219 976310369 154493115 434998929 930119277 991049441 459501981 626827797 592670643 739592773 521472405 200094669 368517319 465808045 530408223 147149423 265083103 985270425 248771429 947192209 23298643 488003069 427828019 435168437 371902887 965007145 569392645 330494531 584608903 77715419 282342647 720327823 815231687 165637179 518523343 391545041 139036001 575201747 42733055 618868779 342767993 788529819 182887837 944891555 506887003 965558765 678769257 313860655 718073719 76740499 26785483 632974245 311529835 249898165 654346447 858430405 987464955 920669421 696796975 361079357 614606607 956609331 451032651 362204827 129843903 83808497 244809511 426960217 877384769 644391155 125711989 853952727 799493627 432333933 69451145 516545631 731703159 164030461 995699559 785834277 631034475 156061353 427682739 557451583 518373295 642074845 385035709 661409453 358296649 752610671 144661373 565214301 461570147 395694235 500884113 213741853 62314063 894852359 704824641 405557925 252416393 933798595 297538939 30953113 325976503 45098559 222416857 531412355 621269919 335046493 680501399 640360913 213768249 798418015 514457759 547466463 21195167 624229619 159064701 967869419 105951251 600041775 211904365 814966051 698391295 473819281 495150665 763403925 359311355 978721021 334738589 113997113 562506173 483383743 981381525 947335155 236553005 169611407 70024457 445885069 6966867 433839753 873803897 27606197 89749347 515929907 47536651 968148229 247136695 193488247 104005009 331274241 519218389 162332847 674611071 700895503 917251431 686973333 844239861 258657667 785805889 650956111 328275387 497550227 358377307 477234283 771560769 429092195 246147293 611955167 274483613 548775933 982504975 906409989 693522317 420368463 549818469 179336101 59523709 361715251 546936955 566924011 329888119 160649069 218018579 501659245 368177203 687738531 370720281 270755369 241637395 736964199 593277857 134525569 111424797 265147445 33119461 544194885 879441663 981046123 366755657 672026283 795867155 41949779 96064343 81903183 555240533 585438495 516316611 956074549 73222255 565632231 35616873 474655181 764341423 320285357 451534155 642915561 408476683 178470493 19556759 277585609 548616995 372559299 973750939 692566801 483641665 137695131 683342041 908753103 140906833 704733319 197158637 650326391 487811819 44755471 181806249 864477159 527857487 413015973 339400187 240561509 373882467 962434977 8034817 782554781 372801465 272066119 109791743 775263909 205159301 769403069 231047261 715406841 49851815 144695317 180313521 741816191 215187111 961714249 917338549 380131719 611990197 747747643 319849037 768719041 481098407 925944243 822258309 294387023 241778939 779615331 688872335 843555251 221197019 816920803 289052101 575352795 457942293 976782517 844936619 761669661 754233633 86177859 768679663 996684343 299847709 35565533 471670625 922087501 996408273 107401917 806618111 12656109 786345899 335218181 971570665 416011531 49599939 186358717 246103915 978641155 367193563 894226901 610820347 492169119 238153301 717005611 106468403 809472009 900089669 877678203 701988563 481155029 357903711 427840369 821868491 739344389 826896645 368933789 289904683 400733689 674103099 833554297 364457521 677868673 502418611 285429605 136860221 158202577 83352771 478427309 894234077 184781705 123362411 175047809 270591171 859567017 123472723 129060089 435162059 93631397 463561927 569444375 187663863 710123597 921051841 471166147 512373617 792771039 839691999 576905169 867264657 392241923 664205161 66454777 499558095 441360323 788236367 53350365 333065165 765918359 385658407 464752387 887270489 30181211 883424559 223854305 439695205 403626579 273671761 981246669 338217741 695395119 407985691 912544265 723387283 760200193 828968901 47289533 935188579 530150473 781538861 190867709 424127761 883923947 585276121 180887489 690417237 316879413 449780989 275491819 982283543 964337883 475766891 964134209 809763167 844295931 566194853 381270905 175517025 7657499 860377555 186955047 519287417 650500903 156500419 474137297 375463979 363455349 333328107 704437215 406411551 853379521 706469739 494671265 234055723 895188787 352390669 652495951 241484105 844120661 747962173 964066831 133117083 798391839 906179603 908687845 318418801 190143723 759488847 364267205 372371257 779900801 627120215 28069001 316917393 287928335 956163131 179885809 434620989 339483943 742339251 445393061 182671909 506498249 445365021 348637753 372527199 620211033 19736961 698978597 608955941 848859299 222322063 491153097 997417179 155504351 772758941 501917551 16676619 557056937 953139625 278806857 659359083 332383495 133579869 580760433 365363155 291025507 754373639 244510439 867781193 938896791 674167711 39834515 499005941 340920797 499700675 102175049 692503085 150608605 835337657 869182655 493014893 824920481 731647605 873229977 429791317 580021151 666267529 666352225 774613681 9484213 632196663 38311301 989700727 531328809 513215079 25566303 848351423 731171497 922544037 886861619 729786063 411870535 747532333 192063783 199679761 257966465 818691545 346371919 603285015 408115775 343972661 97377697 415796125 352299979 597362285 15664129 323643785 133714141 640745049 821680439 909919459 140952977 148078967 587191285 482239709 175800427 798850291 855036885 600086487 569981787 770660247 87518293 500690513 611961523 196988125 772891105 394351095 84226099 893109219 847700171 75319451 754556415 780550257 502344777 575628603 890437029 323564023 386223487 563124983 633212697 812221577 749363829 638581277 693632443 104347627 177718045 588659487 229593419 78319233 153686609 261370777 63872251 738256475 545218767 800871757 244081247 911212079 67819075 479643943 912995445 211850847 860418109 338603065 226128543 664435697 899029817 902233281 424405933 429767571 750968725 766860065 120643797 241854109 123738267 199506659 223085747 207657999 434773883 24478651 7585355 730561425 776403539 966645893 552813067 174436977 13230879 227880515 507474123 479439525 808855755 644679969 622915779 276191181 901491751 19154291 275045021 641164339 29673709 710006451 49080933 380050371 545268415 868996739 697023119 311356181 536295461 311233971 444222201 821351015 671887249 247804209 568182761 191401125 795331675 322369307 168278793 586090073 147328965 50461619 304529011 130333885 991545337 134899815 925946273 947897519 179602695 766003397 1692795 559138231 86628841 986426767 746107979 529386755 833861505 677039521 286356167 327736429 886078871 778035469 409781517 656737139 285595611 738014721 791218339 261946425 561676009 895759835 190848631 697195155 702346049 545848863 674649051 886876919 139102797 944376181 138176397 339964803 723782493 288247987 284363445 819933437 829897387 674437077 127737823 699967959 748149849 560464123 950510077 47584041 193970031 396744561 605001585 339625391 663540445 237404845 159374591 760776401 901300351 949153095 847647441 348461473 777278485 184304133 811143553 406709715 408654921 722022095 726467337 527481545 201397675 832299965 305760719 563450503 652567989 239249413 533484961 207989439 886452167 706052877 909386419 372185543 493528109 822293857 4360355 209173919 157601557 778583987 344675191 262606573 445892507 170993629 511165083 144444417 494206143 406603749 267026917 635691987 312754795 632610037 589633169 187967745 735247471 27908703 182287431 500589779 838172035 570787489 412097041 640928311 685019213 741119067 626834791 183346887 384066641 454341467 90041125 973909953 910651653 84901779 11884175 763413769 780360381 621072925 775095379 876841523 94541247 156265535 140616585 388808053 699093299 933367907 736749737 220975275 221992489 916178717 26260637 989060705 545667225 13896743 412188593 991897283 423285353 566726499 21857945 94862507 763599453 894868959 974951795 941734037 901105961 950672589 195002053 817116585 720657511 550125193 914365051 748605625 125655447 839916949 71336681 794618169 521102625 846161309 614762961 879831625 810602329 516307573 228397907 633735603 216536949 686877463 221590271 80196321 68213915 190021797 655716041 102442991 651277519 242747759 313623569 286962843 271007749 648513507 719838361 110321995 36050711 85630367 690725263 367861775 397310659 648639589 625386121 485412767 86140599 491702561 680118405 11300953 771554943 202178791 480868583 862015301 349778585 722577393 108099195 153858835 659488099 988607651 270082169 453563159 848032295 940314247 653301117 918469717 237135895 270404947 440689803 671308401 662793549 250592735 962523667 222417593 368356295 797622575 962817257 680687401 267172977 473409905 535337289 405473629 921944605 699366133 637664217 357251483 170212481 229311799 10112679 869124565 270460737 642291163 415225383 334779043 61511399 1658795 295752247 305648705 201831905 786453405 761441565 630666647 997014921 749647305 990739589 283815735 355331873 408202869 501601925 158263893 52569299 551294217 999315097 177019857 386227377 773263131 698485929 911622963 501999025 537981287 645337599 485932971 558151351 818685645 120720979 546643727 477230987 575664985 720660673 871099615 924429791 306386241 45202125 13305153 290387019 349702111 27667813 812343813 487123283 476383923 775742433 999115171 225090141 136327277 376452347 886121017 512734907 53130717 939362265 263311 157662375 876443393 623399687 665401619 961304643 564113401 989163901 797796575 581012631 706106387 583003031 352299695 209079957 195553985 124241435 751262701 382318101 772723869 874238261 248522663 662280921 366786157 259005819 556361107 412126603 293053467 814388969 166757139 203266237 883258299 967064549 955598891 391266277 715159173 123399229 625268367 509822565 727997921 400461351 809258129 391485577 104681047 479342397 694732339 208733825 406953115 158855047 799300635 973878117 739504775 789274227 130820763 977893431 649498145 551759827 810228903 66299105 384588435 354101991 669894367 688896307 145773361 856637265 288417419 237461479 752214133 146338339 387486363 676022175 895499521 944196303 800438949 782967267 669748901 404359731 167412201 82841635 909652303 757437843 532792909 311789755 191173149 393612703 437259105 972567019 125834833 857019241 118015837 264412381 795945559 299690355 551067167 529955489 611358915 739395741 953471535 115291953 657867087 34783031 783923131 430214255 501258205 303345653 102915997 696877345 670669693 888048885 450946129 100379645 59091805 275539645 843117313 321648793 90713563 472683321 610692217 376760951 612736377 865670335 908587061 188497921 138843109 514619149 983299407 583757703 302908655 950732357 732924819 626396737 799248787 422791673 945314925 324282709 962099445 228376601 206249973 946098887 126722399 431159815 534912491 977860749 235504967 76644229 182719671 372368253 98844741 849615299 82407525 77368921 979689501 193353299 393174447 134764233 682457021 734264885 955335923 402594913 895333429 625026765 668886843 49474969 97615297 195768553 664578865 407445201 171603653 59101117 290421297 714715477 920027853 681557479 747795257 62814803 363960715 290379373 22368751 679646183 783479769 747624891 747522979 726461967 594476221 355177637 988739661 654214585 902016095 591912301 224755083 540115379 869221141 753961139 896975781 468100021 401108059 861620871 146089609 408361317 610836433 410449247 35426001 23722311 476079685 573191445 182807737 470841807 144844969 733758449 736552235 518751831 103684375 2659745 356031667 566051871 537839061 993496631 959132301 491956559 298531917 109043507 634719635 62909947 812114449 724190839 542258513 4862233 670732255 20981077 251499763 141411725 813679255 282132863 639092305 29805857 744999495 328610835 167130859 649918851 940554017 648302229 760007399 649081677 741766785 86248949 162043415 416773379 170972137 190385543 158140143 107759115 355334149 544478215 668187023 194653113 781278631 474188443 218063039 910906435 705942733 67088849 126386927 719819725 899675543 466021021 799633205 111115617 23660371 619022175 58638415 187841005 247335285 753835223 202869671 497706827 857483411 588394809 252451915 62456127 979284855 657139477 801427443 95955567 249346567 273640041 614917117 37684589 464274007 80116125 745062001 556940725 499328421 394803835 425873149 290655397 797114707 606714683 123327483 187132039 486825451 878340985 345121127 125243789 695572513 802725689 608301035 604129999 107704785 440493033 114835923 259895121 649374463 887970657 189384219 934958841 478010067 326160091 695416157 658229145 512485027 104589309 670286053 755982827 350288105 934443477 643911071 849054865 104603209 256983511 154386723 193415443 587155597 262292193 110512305 253562595 445073323 64835641 805634607 210885721 122223291 377136267 480745775 742596025 633504513 627016939 108163045 316786217 721189099 696296923 376800305 187030203 140996873 903263803 463437467 572374377 633680151 287605851 926712659 792117269 308123385 659055345 127311663 961282439 488706489 651812375 565265581 689264753 160366221 962213975 490259191 250917483 982573517 710692249 209041115 381176055 948179455 523370037 103299025 489521791 584699083 261366761 389172983 994060627 773661193 791604953 978663955 375167149 200934063 685201 183002265 983521199 469647843 129665289 182653595 303577697 366632945 871585181 561669597 629188789 864255307 703789587 406376129 198500227 819582347 121832341 910144347 585124237 266180215 857519037 951274591 412997245 754786551 190692229 389176367 110618083 161492003 381600851 509279695 658300473 177938993 943828725 575983601 157678559 114585993 742816417 609889259 634028065 709905841 56194545 323408573 287527471 952281185 70694893 265533965 804445729 340391027 54170369 942082861 645196793 164368105 876691459 393181201 182594719 293314543 55064881 577466457 194040553 808698327 801871151 280552525 450713225 498710047 230738953 135811037 733953831 291299943 642526263 895363487 852056905 300441981 96731027 922600401 40144223 998073939 747572839 419903837 959962821 857158917 346010203 581262545 746200251 670087637 961488265 123028837 956856683 609360943 215492971 752129013 117620451 369478055 749957095 474298893 789720609 41039607 830839371 450739419 982821893 617331971 267320395 355028531 743105109 647488469 446249221 338969495 349505735 97426337 272706559 511453999 598794223 853249475 433064997 970308295 375664211 934098877 511108301 96279259 69752155 793567803 441258163 315131781 398725207 265970193 93256957 110648209 390561151 471700281 666820667 617358187 975654649 1157591 154384733 709056555 792917449 885412149 348228293 445479057 433542885 481727175 528107317 945155075 291716641 400911147 701806811 949300113 339637059 729665823 560099919 635647219 357188849 233013905 191096713 148883847 145437119 584605077 274141939 503791445 878414117 720746341 186755161 945566221 625236611 675475301 18215919 127656965 188961315 119480353 980679507 379040571 776618041 524271689 465473161 456814169 92325337 960672189 621657857 881871277 11690505 795876475 822366351 829124655 640180911 795820979 449401967 988451453 754921375 922127541 189289543 643301853 768595855 128328189 464655653 6447427 383379749 830356015 271588479 365497409 143307237 352889111 755134767 965450265 418446659 83447461 281727613 948143795 325579161 326578681 518681365 157719451 415879973 393970771 139211277 6683405 183028499 696861 388232163 471074019 193928821 515155949 933449595 809551785 359927105 506803071 668923169 357446537 22004059 367247539 811631501 565274465 744304525 990437527 160029915 660719529 228843141 737115741 712937359 274516367 307942877 805528671 166039961 319429085 957229847 634710307 84040011 108173325 164435103 716161107 763321445 317347645 353375937 774668737 49679115 915869493 712804025 469544043 284648139 280482661 461532585 40718193 768866713 95661025 831119771 129194273 831622355 935960173 732350075 128809965 328229951 707357037 465544489 174560625 49979657 862343409 977136737 879825263 688803015 191038383 875364815 50802899 946101877 801801 249281797 224531121 165541755 392428805 93336185 753372993 31287459 826812241 19276943 234436843 525606693 1163845 22269071 160700727 776426395 316356321 274530219 19235289 466098447 255480525 871435771 677305773 570423785 733175639 799291265 423097269 719084801 845529205 792144679 939802141 840008341 8648647 557567933 816948537 548854089 430764439 441936125 964347523 686950699 917006287 121227913 39651743 514081967 83204875 822478057 500941655 869033907 89286025 928823439 63620767 627735163 885237297 776827603 472682387 653757623 661688719 338420983 252782711 610542715 474348253 992467749 415126707 760982851 952438521 436830573 430801885 156963061 85807467 17527497 893281455 763830495 32987489 718259739 854313997 15806135 747993781 852171563 103057409 229430679 473186019 548359593 174755521 691734279 691219989 187514419 173080997 606621683 495387673 415572293 868262961 54645169 379137383 719901257 443338003 656278271 448869915 810968723 977992987 102114049 789760769 925148763 780051013 242110531 688908933 368822211 491682485 639128509 877614017 191442387 757048247 528897483 842418033 246799739 887262907 849158449 300178685 844338839 119214689 818187295 303128439 714541287 54518119 315937063 627045011 8997653 926428093 793930313 388338611 972923313 520953203 809182187 627978459 710185013 949689797 957960149 555232189 505401857 15668761 166800963 930067119 921077601 553397493 766228685 219369905 89172611 372948753 788115323 927248233 350386819 272017479 902272953 680571431 321326689 360127127 233868637 388498147 40694791 698406193 739314595 888050235 736525125 478404967 253856819 37848439 548208853 917026737 616727575 446350725 335219543 972958903 275777223 37542399 126989909 991743551 404927261 288439329 979768643 15070785 608623201 902493141 300308087 295574999 521362241 763412137 267482673 201353795 534035663 165633237 635759519 385430513 918089099 60125749 230378959 224351091 218014297 576964949 596965561 901038727 928762759 516970593 108816963 958110991 585737161 587941937 609950001 175142933 78895421 96355655 926960695 761449677 335912551 416485573 899804399 889214353 507631927 982063999 390146265 319058665 569686017 196345577 920837213 354193019 341466753 893298723 192191439 42551835 498663647 453305077 635443303 171735239 984474277 169280719 931263301 303944097 16135113 133005255 321171571 238429427 220148137 149278621 740065763 2124593 556893709 375575223 792451183 840308727 598366237 634697509 16095445 391379207 970722673 916816287 364515523 491598159 268573959 42109059 49203653 336537055 912034881 571799257 957591129 192722163 549820401 928759121 738168029 847593197 104971593 980110143 741544091 882014557 742528229 911275431 923264197 849274353 843967439 850993707 740675957 327128455 765205617 663011359 330370729 15186211 876616095 643072377 979081551 841610989 711802777 489567189 822654515 392163643 265415939 154886015 732103955 409165191 940922347 21730915 698060173 701351285 478546119 149486361 597390379 742119889 93310321 760714211 811765599 926269323 848872497 69691811 622173313 641146049 160443571 854370027 952766677 144919991 316047117 491780853 479215233 396986327 969276603 674997915 101534103 300191923 999377317 767994215 715033361 640750855 681419029 871235209 390245841 168467383 587206851 816273367 729330591 981817039 573277641 90726097 187330093 548176513 269116337 676662173 190449173 59620903 696672611 739317259 244075989 214752071 17703479 517063315 813358809 355290249 20861163 836130131 755127409 877624005 138520739 661699859 348362969 756945393 204123629 114774593 605202477 843600949 896705469 209607159 898418043 512404183 879731825 14314225 44420019 890750799 810155215 534744217 322520237 469375543 852375811 91074557 252595245 598509649 622103969 407119059 762601689 369783687 151008427 568094333 133951299 210340849 936716417 407343871 834482917 524323015 451138803 548524043 150647585 498493803 754726967 592160249 685129279 517281387 636564967 443727557 285287023 929580665 43371019 26110743 367267533 875742065 881558543 364787521 803110489 650496853 581885899 931689015 330457341 876859217 282390135 366469785 716908169 894127799 644969917 347642799 43732921 287849989 392631465 808204905 236729641 972429277 358960813 769364061 205121639 638063113 497077931 669040331 465035491 389159037 6387687 513422745 806213877 970873429 860699405 996066903 550969567 647787219 421830961 429570877 953658313 486742627 130549459 113979433 640947911 967176089 127420631 253394849 669329873 190001711 169568139 350683097 328523977 798469129 907166629 140364195 808153207 672297521 95280959 445325699 808171403 413556187 201753313 90545309 178874273 680966501 66200695 151771583 330502713 777705293 292352087 525443173 382451645 659504961 158482493 644625321 576292477 342140693 930820177 264609111 635354547 342565315 522111517 396052699 511910015 925206639 313960857 366911053 874293485 558621541 625942049 958437741 683418347 655308565 499755385 414603939 354556245 12971293 162044623 486816763 521518827 91282241 686899131 758085679 708512085 757113961 898221367 559995805 396803111 367740331 649246377 834647375 521039321 914089283 510239965 718201839 186398923 879598481 690494733 974198489 552007241 823195681 977882065 958261515 249364865 114797737 972296751 975219755 189237391 212836865 939994775 35662217 676124019 23432495 435637213 866049821 27091733 509450845 318493757 394498693 186872393 171324381 212614751 25066505 878376647 613222699 244642893 67489687 101398575 560133101 330601085 819684295 395584267 217171177 864793807 329492699 291144141 249340183 438985093 596953525 715137999 752925841 821801549 450601193 265157201 413574039 495155007 547546541 905124731 405011865 135142867 1402077 821413217 420543017 553004019 266878469 857364217 746038783 885738219 163157073 98130217 992609795 723167343 442644377 432835509 972092475 546346395 337592157 623834705 714037471 41573881 79442371 538163607 451096393 104097907 618750621 795527173 294277883 699009117 614449247 952998663 108723361 498474103 696979241 389728751 115143439 462901223 616228803 742646517 627958845 865973559 762290333 986225209 138370131 235783517 14473933 421696197 655510169 310942903 778337041 360293771 109002371 777114123 970091219 508958307 45038765 440403845 226052385 826895633 606376921 209669563 782307763 83551291 62638579 453418155 76815847 479027829 728579343 410383031 486417861 368764725 361790567 627634097 604030203 777047519 413855581 807428043 589712867 828431035 719844481 305278625 133397113 344684027 892278401 554763325 712803687 398745271 23921467 512037895 191381753 418626547 395555505 948489689 776149547 900960149 601253903 587713771 430202263 738112879 671082153 708897511 61472905 309110333 810347769 465204441 140772845 206577307 246667171 652316725 352820571 404811799 645433971 637159387 202253843 90694689 494604121 358035723 620743675 960244499 241891699 23853687 518871717 705390379 275286533 436628787 108443205 253200277 273807735 651739067 807725243 638125409 991079007 671982839 672330895 638862985 925259383 644003121 718600177 493277935 86528931 333415199 761634741 726131035 399908079 557885665 844698719 843279487 233570699 22326009 466145043 905124851 728633303 713801559 126136481 946098489 105789009 416941645 856174721 19836091 671273641 927409051 73796561 337845449 166988975 511914339 45604439 582211231 766903647 391400247 969830791 558480729 521156063 316544777 353067379 516207877 652651125 870582327 573588445 718722451 279530393 966893189 772760365 893506523 126010595 79304995 592929137 489371807 998698009 333037477 177601375 992316809 277103653 306274055 284894041 525777449 899019289 985829039 802394211 30031097 803978291 916923243 655687471 813490779 685233363 731470959 806997779 369170837 931676039 995978331 129524495 615745501 668282881 370399281 555413705 481286985 76510491 827013727 991490451 40621019 891468251 482977211 880220001 734958205 161666667 799122563 362150867 614174719 41666847 573657945 336153393 113916955 986774383 332059215 654807915 102461041 89734915 188106197 943000853 522805645 159550115 589844429 121810035 685186525 126278467 366298233 292762217 301563069 597508863 656419721 264305031 768220525 854542873 316337935 718487813 793963031 48124925 446260875 29405119 210223819 485005373 734386145 742653761 763911297 11482519 801140831 969831095 7130143 658226413 797033401 532068347 277839209 931123785 118254351 52358793 852129813 275224031 626314721 935321739 119523513 514014475 522828577 93614029 121359317 147237711 88353827 369730763 717183703 493140313 782814117 456550303 511026445 578592759 925204169 607471893 773941425 976488745 21844511 183212953 741494755 886684433 605769373 324350531 705897389 748732153 34831005 848198099 33412355 187038807 645324009 711296943 684258745 631977923 161540521 263220967 256789397 521897473 629423477 922896691 745510719 903661823 322990155 46954481 384919365 60072653 94876815 813325609 38087461 18469543 142867469 554190987 606290493 780382705 640376573 292031085 595458777 518069557 906778363 763635405 902888231 466717993 507712525 771855957 556469825 478321573 886529439 861516627 904878379 711820975 56490373 354020031 990528971 798972271 424282881 649657141 266899957 560422203 765271987 732487681 697359457 983750797 629503147 66659857 591090607 514155019 808144221 344644857 660256105 75964795 442384553 16428027 797398273 108900053 528096209 317534975 666817233 577027889 399047043 738801041 816558871 833946069 682368213 106240493 46340351 704846123 349620293 769791469 739502491 613894085 724799669 90474523 64428771 408190815 547081847 763244711 231939767 177361887 233548347 114572903 316524001 735344715 476348451 825517019 469984019 799763419 371394227 615301673 164718053 168081129 574251477 227940387 111749083 408582647 809349091 243806013 809607003 67908271 723627671 828095639 536677559 81036521 48450583 648978425 552259371 398534555 807372785 924844241 653644245 676400109 19340313 11010361 170685631 603014183 617343469 469312751 289318363 845009085 570917683 231639129 57147905 114428745 598536471 400731525 382514163 520738195 257702191 882348335 277268315 778890367 676116087 221591987 306662859 309265703 982267479 159934489 697367993 199218627 154663833 834970383 254449033 707740341 50699123 264896493 896016515 563923851 852517509 643115955 561765849 990276601 360120273 993256969 976984995 948760789 349994439 672841787 94826467 100173097 607623993 73525829 559391107 937246491 774688359 74504129 825857875 867422465 812753397 728765689 459356943 127065171 239206895 888763357 110191699 792104121 398706893 723447555 21055405 620925691 147742315 78099115 9211277 429579791 50869007 867349435 183675723 842848781 302536805 544666821 781217833 43562297 510478465 625163515 696200273 873965823 879904485 208557891 860223443 445135091 372290929 428912415 352628139 237502927 573171573 266953151 979553973 996216951 933468837 565474557 486580927 226728695 869231649 38545493 693105017 65914239 152630635 514366449 807921531 403927917 446315377 559096223 159003975 952817733 208257929 374873047 941176391 306052783 680759921 993314485 100758475 465633665 587976011 713279237 697714189 896510133 607103145 664047923 336426797 627447921 817966973 876883033 782597687 633930235 515458085 998957363 171717145 959884491 394016613 567173929 154843311 42050937 453939565 612105037 538069945 517572299 345266895 422383443 967950817 200558761 333830539 124551835 64063415 498844969 196145157 511132463 303763125 920165767 502994443 385298619 387212347 456893731 81128913 542847383 976868501 309199499 767869687 783681985 403094515 389354097 419853693 931653093 499438955 238913199 50127061 281420877 986408963 315879755 20277971 51222515 643034531 248749423 213884085 99796341 227887131 991698541 593708061 106851867 315829285 185756355 650935325 763350739 571381345 231136529 160770597 485547831 941391451 390875429 892307223 343435907 274103681 149217009 483116597 401498273 976669743 134239631 856459311 55775007 77445285 144246341 185137687 990286387 212512267 557179773 62506605 782458303 100396405 481151435 260101141 828888137 822042843 399538407 215000923 12075007 820134429 367770809 897893623 277059513 490273285 584630857 393480453 174216183 712495943 750865611 762946571 374906849 780070775 4605083 902624757 643368515 827502107 598410299 727048473 688346777 275728793 226415447 744739123 127760893 767913541 685470659 568568937 548575289 707813207 839512697 886122569 629043389 266067439 875101339 409240265 775991711 96725015 900355703 600505155 523203743 365693377 470677633 606467455 637195811 940020167 989639249 500413097 42342459 840252137 185227691 878337625 813616543 172053199 500374907 211809671 58412205 335087373 697056981 920681885 896645229 523320857 324144115 430988645 485581197 901622359 520112953 120754711 138391911 391911695 987125297 24905807 820612345 102718323 621786767 364436243 592998375 883325853 20076337 905588941 288548229 206796173 841074453 800070231 479167945 172710955 682813545 527130091 119118927 258384969 693788033 906192943 575258467 980107683 782179289 502155057 618220273 880812503 548098321 62253925 438434705 189234031 62003189 267614377 652383107 754469597 180453755 65100099 906400687 780341113 266449339 511573215 215368353 329539207 285091577 629067155 421923731 769906733 529799843 467164381 714122085 19471485 751015497 766280351 153290139 876695667 683884199 779005995 893622631 413894891 26597027 708969265 567508639 496910261 763528771 262493907 553897155 554161787 598682559 791579795 339910649 374798813 745677935 71125345 282827281 252535383 458021337 320952975 277164419 906933077 444597415 89158365 929529453 709099047 463417259 85212015 776375703 694593289 9764067 209018067 764769647 653004823 969950831 725446653 653060367 419628127 211300253 57695051 371647283 377157841 590259679 292461953 540437829 263762245 997833679 390468303 177743955 483238783 605205043 401587657 289327123 638194725 360659701 781237355 91425767 527529929 127896103 3191069 15536595 543227877 541982983 404792745 588197769 45095387 790809333 699521605 250255201 860477427 198112383 405980305 147328855 363402845 374523991 979243151 344679955 51933749 875609689 589247405 160474599 744076925 772658823 936644033 967339463 449695513 616824845 800009737 898854483 911045601 114147391 486791721 455483603 280496521 433294231 347838253 981285431 137118899 863989431 266158733 639966229 415689451 510749037 867542309 329768365 924935073 500682669 770131001 84509413 676794669 540773005 687976057 526134605 397073873 105204567 952539897 972274971 616563895 178073201 101631541 423006769 762122479 548001393 3435283 802677525 533013619 538511121 455989729 957494263 829550371 231040051 308731731 40635819 903612875 73031911 1425801 29028533 481024281 942725211 734662403 585961015 70620841 472667373 846018997 943541509 551262203 588692255 998962671 202953365 628093817 333865631 688377711 287517699 854338931 582574909 312119901 564010779 777497891 72928245 626728515 74548041 741377449 390397931 504978713 764672165 510737681 965001577 806108729 278313199 813370697 54519523 488275309 190195341 414207277 443577335 116856797 623863185 507507069 318004835 627041059 627243695 440716257 378055447 299888695 808360519 604283885 360011555 645603459 526656865 373070361 623217859 513710291 889361069 733871301 664189531 737390171 802986881 511703357 305643895 301675961 376676061 831369391 791255495 626931699 935368295 93231927 419664427 330230645 989173103 289808597 522816417 502640405 724390381 744259185 354541145 470531343 836380031 746711263 774039203 171521033 294272107 450721751 869115901 830406675 956474021 595263737 598522375 190822301 369481407 712683727 812916623 630862985 323882237 169555917 589225861 212067609 377524289 306931527 454990857 176131835 962840863 486366339 792182619 85491781 917414091 807866279 11676391 149230197 584762919 402922183 162350143 418589039 217849017 786829531 249643041 877917823 73874351 935419587 618610029 750834525 986028257 3576393 127554609 662317861 889506255 309596447 234443935 285669213 49976479 327851487 913030161 84821231 387690275 872147207 231078925 352622901 566208463 162347525 154694973 668224745 212136131 670679077 697369717 502739249 712884935 681462181 748055471 247516315 29260363 689406627 671310093 941634589 817849445 351270953 840401373 268501521 271077331 470307113 361597841 241631039 978688511 789947261 750555333 612430291 737618423 30916835 244799547 944792163 296274291 218027015 619434463 622335723 901321681 930583931 288631749 224597971 817559321 151583413 66660135 437950693 697005817 612378393 927563625 645877849 446073803 820030703 279619349 351065547 31509899 529573993 95484639 496600383 996698851 806741665 717173923 461685797 671321119 25121941 837088357 183380559 966828091 687658545 499118925 927213309 600328657 474268997 805728433 427287507 593017389 342051469 432853771 859600863 966418491 522821799 677104895 141141141 326632339 816045341 884822103 379962067 206478197 851994977 708745479 498584543 302029767 350691787 582863917 676478565 78662169 30859421 653972743 974579067 987485859 371204865 322939907 139682205 661803845 942442503 378700725 662751665 530029699 426249643 813102041 509908487 144216207 179153865 230970959 199661391 30120509 949031727 615232547 866276267 604597777 33055885 2090123 524324765 453311791 912191867 795775967 342013715 92665959 516352893 210479269 26350691 804890929 43045623 985478277 315032395 186008745 34419777 292263253 510393327 108944027 156903567 928086545 237854685 227460725 200620291 814086105 26280713 960128587 725128617 446444795 1639631 971152351 595992177 643232231 603550457 44297113 157338163 277728317 731177649 585116039 137244081 904341437 124406667 821382751 634771605 996700497 227948169 818163843 574380143 34022929 61405451 876732663 779649465 649565747 822543329 62899821 325606101 290027549 747162175 536751675 748034825 783720283 313056963 401867105 525969803 967455135 534498931 752823685 986721393 565264325 52890045 130345977 654747069 255653071 738145651 740032177 589697625 708741353 449719251 10972493 900323605 81137253 428440965 907528213 990016939 662696129 783311507 710279417 712473531 452512157 207029621 212280973 602936273 312462791 810913799 504510229 398100571 485253169 566810253 63530357 116101813 814255351 259820727 378208317 690234399 317703771 744971927 915351203 321042115 835260361 58801069 663184265 132172465 458014421 652059613 809142901 389617379 883094073 659270261 834894485 876410937 720036055 419606825 973513667 198349439 621509821 863723799 371587451 839320419 413537311 137761733 757012455 151152001 859617877 186606111 610812627 176086361 997085411 768649083 556735675 802661459 141629557 107890325 702693305 658369475 372341215 447506581 853104793 601907681 131207451 992371717 795515845 81536205 568066637 103647707 600578139 988698515 510987455 245832823 395142931 507548961 424635877 585288859 953111387 710752083 190677595 105394295 573761597 697199079 846241509 332997277 58974067 177859979 602426219 594807565 3499611 817057483 282264579 541425707 301751549 859158821 657831399 493358019 210785033 777302007 493042299 103249421 516931797 165528461 807521355 794020517 808300127 874142229 885813767 33962897 158991441 351102123 621022093 747457083 172707065 493491789 62111969 829345405 217740623 301035241 190149419 831043985 220091887 970486859 143442371 30548255 628644901 158270769 129129247 806682673 606949597 780603961 654559717 664447549 428125617 543206637 472021473 333462049 197563869 922879679 286811395 888978723 223825739 719143433 345205355 496871409 215982471 761363721 668546903 701241757 896979659 685138157 336098871 409631397 34021111 906909889 146612635 986878961 464837775 646783619 661629761 756912587 202403781 793526289 620340489 166178539 994945391 737198133 554711041 943577965 457439245 922141089 173852507 771221461 6046405 387180013 75905393 731818515 149435497 114468509 834638537 320640633 746616941 604014103 825770765 46131911 206429169 544086701 353621519 846510881 310694589 208958875 196225229 511664405 747343423 103081983 158161511 845216919 948519057 249837539 632523563 606485255 922794353 512870713 933908875 90820133 67708227 233483481 530895139 578961187 870475803 898108805 838989237 595616149 880219823 931409129 271787053 765540985 58718557 881950353 234922397 695124273 889211179 652607737 65863747 139543181 236891341 359280771 328509569 97758659 23780245 739869815 854510049 460796783 859186821 782365703 887489047 54516885 233284933 800571723 34492415 164364707 332127521 558745157 846310555 972191089 111227925 51391455 228324375 782441015 641685435 907070187 386056903 787581599 911174749 204794143 187552805 162943157 241270763 697872415 748954581 215521517 496691451 598740593 878792353 222001445 571125709 562235531 596560253 836067747 991459143 305799619 748108421 268458001 266698747 486835037 472788989 104428169 711953691 266204029 924365645 511047813 356007309 574555707 906373131 531814893 7255251 608284811 940700913 845739019 888290845 804963151 828396771 545735829 217123653 308740691 288871915 614007465 839058375 960457543 816631871 344728525 946352077 645037251 776391991 976744175 801884453 747318089 431904855 297337697 858033735 489427523 579086413 920819681 664883535 470273281 242036201 208490903 891180297 7116733 48471847 605381391 205570529 360333463 746129451 28062011 534169329 188889755 219933761 970629757 757384949 970873017 691085529 727042457 8430933 927805129 727390353 474579641 762320163 474113165 129036845 625310839 478694931 323333293 703065495 149376205 591006085 625818557 958861537 556883489 566324611 123500341 416962375 372890689 211477945 994487927 731275311 194913121 51511423 694953929 513945631 467950367 723103187 25443681 226915791 643920257 365145183 340247125 364326167 906992627 725876339 939253671 130424317 635349579 781658883 440509759 794497963 929522629 970045615 610999537 403330931 833188873 274639039 404596597 216626643 412005409 46471713 139025771 979471723 226891653 471395951 853792863 649348105 413381903 782417125 302136255 998541727 433777673 93062509 598925287 602049865 425634075 815730581 146567447 354618953 625168223 533674387 332490359 772073227 317885773 288046921 755861787 44272161 716085199 484206909 306099451 290300233 750591281 855819677 824909815 671097443 375227943 979099457 303942361 883215997 11610319 170152617 758659669 362337993 206733743 996837629 494105599 815028643 746097331 146526473 521760093 390816653 716437551 532969545 780870869 428941363 264418275 295891415 974698683 385159529 694660085 959915389 981633095 915824681 970550767 959216811 853411481 61801879 175110599 619596663 869779387 621139965 710897885 156809633 240279457 20628431 301209331 773006223 13940511 743420585 916471095 107851601 245772539 744536141 154861887 131143583 815932635 356109737 112963593 654772951 708791379 207264715 345758969 749773825 587422681 233385203 737760987 496395211 163226065 737840515 309203687 550360463 692482949 590401287 688853433 446385225 252345379 247380271 436252245 997809571 208329157 233104601 305812779 847785707 135896687 42359047 901055245 837286425 498409223 297880551 926739005 701290697 370479711 700103113 751151451 524057927 557726259 448326697 312697975 663906687 252702241 625263787 662196229 466231305 884652211 459363353 940187619 414177573 329315419 491361641 7580247 902011323 470993521 991124147 839119117 647644247 307857977 707874877 241267739 188445747 277011929 952617839 781567229 864854063 384430947 813038561 703464347 375733711 392760787 999056457 660033343 90485317 935934471 409171341 291885985 246332263 939665353 931967929 82170333 45454515 76643531 291186429 612582263 918530645 526855589 475460281 118354269 6624279 166272217 949162605 888630503 921705585 850649553 270945475 170925263 618669959 722088927 430031507 185725499 225879065 484017465 789098963 721262519 726142109 924660739 960766121 444565051 206869031 886741317 414441057 223352867 313075573 850452975 350027373 632909877 984816113 890970079 999050601 507677341 124114599 940198609 430835733 443251697 478889811 547042161 424332897 457956909 720291153 23395919 247913567 924984759 944682151 899175141 555068743 940392029 676681991 296031893 16043649 196491349 735107273 771713959 691924117 186003257 995305449 848513101 679619127 942360337 544846095 995719583 962463043 103840075 476634763 550079647 43378107 514549689 185553237 753787191 414829771 592058267 114401805 382526263 581121477 63777427 888530423 911829337 318645543 199692211 822551045 652393533 563682195 90222189 937174989 740678511 654193875 787019167 672609421 270506079 575555291 376763533 848490033 183329637 296564935 349858791 798814275 252635331 526987225 750195391 605942011 156267939 723077245 710633367 737074235 997165333 472293191 452535631 469351049 372440339 774748145 954632759 521686037 140713341 503531103 814362371 859849139 301732639 573391259 510479825 427975143 209820839 920072409 844130599 523242451 69285297 743398517 938247409 801036875 491852733 647962867 398636933 493913795 420004149 367271931 125039777 744266845 145275497 254755171 531047015 833292511 10878611 934541861 499247721 1178039 862760147 815467877 920350871 508372221 447786805 158466413 997666899 62741105 570685863 109145267 765302111 926036601 206121221 831545039 182442731 839770407 351960591 673694599 829447817 255464751 339069551 272779203 772601145 175375601 744884147 804711065 752533599 307435381 436471385 571739203 551187657 260192107 781826753 795770663 2652587 707262505 478113841 582510283 81480099 255185583 594199517 523089639 969850807 72591523 748449759 366995539 480733267 725589333 935975991 89895957 663810635 101494459 686261197 19560533 702996449 957560951 890658165 602398059 632929205 891692239 8507111 696901325 246837207 178095027 425482691 58156577 795484349 359489975 432695957 530287155 873305153 838732575 653720523 705829365 350975659 830444749 634383039 575446401 99875241 104294229 1560757 73466653 146009421 889384939 663128531 942426675 388679959 673853297 272986669 365102165 435280617 473196909 779929787 103154753 207847957 460789517 130947165 178094295 452422733 816768041 311789277 1395237 919171759 359443009 58408941 565251677 560447167 936903035 710602791 135790299 124402029 373388199 530600459 382683425 653852685 715957053 310838529 728721883 933759835 76074077 974877787 498179035 760757885 209750475 125596757 400301343 4448257 277286393 649313037 815584713 73396443 639173117 522321293 180942627 897644395 964356245 91750599 420806817 780993137 265264939 435665045 573696223 414084129 283116749 961020597 58133151 49077515 38334771 408546771 69347789 242825517 943319483 91998849 107121277 281257199 902991469 586556981 571698151 601915419 576940279 779896915 219655539 365120745 224871347 85404963 761227177 995013365 459424925 545737943 344568639 484508739 9703005 804999817 950425101 181449793 734565189 878995255 881750039 960588999 329279049 43930829 613173385 329242383 472251915 157784349 700751031 240920255 661127121 127407325 946877211 14917861 455774345 72991921 218587225 788150517 80106955 513889825 132099643 761966541 416002263 866073759 889147063 593419443 571547027 52090499 601085157 920006227 759183 161272335 780387849 301795777 425235715 394069613 961846929 436664703 368792527 254881967 841423629 549713517 845200503 481014475 239906105 835327707 172104491 647099557 787672313 494825343 929522373 110254341 185011545 430653555 830761923 178645147 849977225 737560127 46665035 644001539 700817895 942596305 633216045 945780159 693684471 114545275 83140575 574374709 372921443 914402045 737969027 880452023 799131133 403326587 209051871 757809791 500032193 293615745 455624547 230332591 797194707 668242183 223255331 112629837 209917311 50642793 23077345 114152783 921816631 156990317 168098821 594467979 963889557 836289597 2732445 554919619 48162143 637229939 538462559 57606049 273185919 968918025 993613739 156142261 79963655 97466213 226412427 438572665 121691701 996659285 460652971 477203279 960128361 721410063 190906723 184612479 711372593 375719213 991555507 863823673 99170623 808242871 147158081 557951897 290330221 465031449 107406941 35904415 143611329 159885609 861051391 636395061 894626149 542209317 820513991 304410155 322459565 428721585 600879865 372702523 925934097 802355417 77343365 860283141 112811577 973985557 677362693 370254869 446141677 890500159 333391799 76343003 735942433 638040737 364771457 633250477 52834543 61783011 134515955 514319569 767896223 689144863 884082243 701555055 495182231 931636943 172713811 238437015 786902891 156919769 42241449 482679107 757353177 795424907 523067507 478397011 519371459 42459801 226888587 673368979 457441587 916266273 312580717 961768625 686423645 678382505 840791875 616333385 787702685 451090717 145019353 483177179 535136885 54619859 60347049 961470415 794639249 6068103 155211219 778127993 326988741 57415775 729135131 272703249 218710795 191264235 513807859 175466423 173486471 856431387 26517617 503036279 373759107 788207697 495734869 688019263 130848117 520329295 707201799 65160427 837579509 603744067 897533331 237815353 677371335 156877765 200166835 862886871 308089305 468981709 983983301 81245267 213870905 363247045 262229201 22788389 6658345 23426425 327096199 950688691 233591047 239825693 933792571 813606465 361754463 621717583 702803953 155176707 419908839 909533971 57357901 453102867 902577527 626136281 303877791 355986287 984722707 979194741 637445085 422117893 710406889 244203555 666726057 967861921 865580617 137110665 847598153 585724417 173917615 645207477 372308395 397954755 954623935 555378973 559972457 869894769 137642565 409185179 792636863 303370365 119344947 411060343 688556437 922224449 266925475 636383837 471195005 480443133 737766619 547208291 878976427 721150169 508361027 6597383 633267201 610930151 761452403 283251501 151373571 892705827 279107873 649448737 403346147 273921899 862023219 547067291 142893175 615251593 267784629 535004853 12602943 685234735 243435737 582796537 221525345 227594741 806583803 285494865 138183343 289546591 925208987 432077073 109150107 213067475 886571369 939588857 344890699 232523941 412902199 700406317 821770113 521337355 977651709 860641851 948226477 369472553 824179939 5678871 846194665 80034055 30326321 645185567 394289649 495395991 191133787 790904601 982807599 469481905 615682811 929962289 36903089 960164633 438350295 99110397 200235055 725863029 128335833 937131641 926874887 54729559 224513557 723958285 304572479 89444921 50747077 31447427 815224459 766250365 666624587 769136659 199253309 917494379 846569525 149422167 824725847 721700917 798451765 504976215 735276161 869847283 496506151 824207233 349211143 389563561 958263821 860157351 77265379 268307003 464599317 758359049 656074677 334538369 178267277 65522507 584194497 372964655 365400053 666981243 878301177 129347561 44410607 589028109 906777843 22246711 302278725 282624479 600860399 75287433 926020333 990852661 18784467 372870715 254542079 645998015 518683439 576967311 129171647 773894289 76013371 874977963 971124121 371142695 503968725 353901217 612399905 639290471 189311109 600337771 44989457 441160351 245483643 902350825 76501837 230343813 908802445 367767015 669431007 996853043 539949369 120725269 499424509 678083121 81638825 571188235 349022463 515049579 188530347 774033227 997280875 216500023 770392757 349752895 788360169 76618067 26507241 516111415 277422159 430200291 914603789 71730541 450387863 541283187 433269903 21257219 385974757 358208251 688951687 562482431 827219077 770676439 15515319 577875287 307644137 250759627 232412033 557701857 406119851 259007495 720058105 869423967 633388943 932573725 550352083 112963961 251824259 703000077 881820271 366872515 154141335 419697213 847480791 431453621 996813065 224193653 786293429 139646129 438819641 760248049 518202725 289256189 293282741 674950985 637468133 361651919 814432045 146642821 477954779 70850365 461546369 774948113 912438425 578447177 651285681 557608387 197993489 753856219 367154663 110047959 765254633 508686791 198143099 124291573 887090531 377560261 789035747 548951079 571275119 552590453 810439111 308637925 118988711 771098723 4893935 649483017 427882311 871832061 355656781 737487835 469043769 16806815 624381185 831957513 353351179 275969417 451306571 504989861 655611123 308898019 533437591 251213359 835816659 701488833 570891897 29913483 291335729 185550107 175246761 66436359 974571835 870170577 734444559 664836951 750180041 369433519 301099187 248234137 650860891 336203619 40171721 517520721 167631897 994688649 657432237 504934255 665423823 96564895 8094945 711754055 103140855 741936147 97827601 160473237 239018417 79532849 81713935 373604735 419170497 106430775 713651673 590298517 240430233 202595139 193185425 252797639 464134991 712045409 102806913 687912565 558046371 87436671 729011997 253638245 969352955 148367479 252086529 895827909 596551783 609535757 373590257 915450407 354409887 355060967 307832277 344090251 365501697 130283929 799724227 385953875 343891861 271248281 626921973 865472593 444364297 434812747 660590543 302352311 796678583 108464633 556279771 342781217 999451547 337385681 624726989 245299609 124625247 72505837 578545793 127250313 30116433 836833105 26373371 918418373 955674727 246786019 637861731 215787661 643244355 161702519 105945103 811578501 607487275 348583619 995973241 710027707 293646349 930152043 776606789 852548259 847296641 740292599 851358271 942104861 78592199 553376729 519937367 154151787 329348551 214250347 770672045 186343739 3002893 497810923 693454719 944216739 611996883 873543557 779789885 39280415 125796601 560420939 865041783 584488599 33996291 369517363 218316265 124763733 49540387 724480289 161455735 184011281 340016175 516777437 876116269 146298597 162220197 294887193 799745597 432627291 576274097 638563181 966741761 574604123 54468125 210028891 379932415 274576189 844702049 800437837 69807329 85939391 185071263 150573973 448202105 496537349 191284381 105841001 299476675 473335965 758946763 590819821 525125861 543882875 420063549 751407657 604818215 543417597 786740663 406951183 986766587 105367785 595958429 68938871 354099969 864313451 596984573 900937763 520392697 113535511 910048915 637542077 489258447 822581743 300537529 260943061 293849237 861621331 257744251 293036517 180565897 543650067 446882949 785164623 654585867 727926885 297766959 342312795 713410729 75562467 509164153 896890427 645009429 457256853 56708619 585571079 309330475 206770407 92151601 919191233 909151981 794127793 683871973 263981907 122507655 233053995 989119943 583343245 660273997 187143935 402729243 910846249 912209079 306758201 736218067 237626313 654944365 305910347 84378501 787507187 236839991 116709399 280828783 830358813 885744137 863932641 587670907 295167901 523363071 910698325 884944185 568960949 753128539 294828679 711030491 715143311 205978251 704410871 186452037 80986427 807295517 747837321 292278269 734090163 791083729 16530571 550522419 179871703 952613513 62117555 585719739 311950963 992623695 365533211 858160921 205060663 840229721 670852939 898322799 196937403 881321471 629901359 317246865 877460353 87465157 15088925 361186035 354303729 776163671 437989329 317480631 835705183 769094537 314465395 531926691 54314499 931862613 73105549 26375717 486899197 759752415 660922391 467616085 876768601 421050227 447781997 299026931 739228677 15837825 533289299 560202341 154901725 847952807 578921463 541014205 430871201 163151017 220367345 478461871 471516923 800894065 748665403 785286043 78058363 514785809 860200507 380651913 542145689 816830405 839025341 83661865 343640251 595950065 408764155 950126289 515417893 988549665 36283789 163498625 494057741 798906885 76359033 847114975 972990599 137480317 83445551 865013563 513656217 320911495 718247299 945160587 33128235 874661971 620533425 524941681 681729035 461816369 198060897 261736243 554973687 846738333 702756253 917535937 196871309 782794813 948958683 63355055 441437273 466309847 132746747 17117503 332570569 661122659 333548095 707895129 706005561 959214843 687508565 197084043 52052199 717480161 596930645 703212299 113728001 80528767 151118775 258238139 975484307 6552173 897282661 861789727 62570651 348687969 486884267 561806441 512193527 516328003 744388925 21108081 176394097 23885339 20834359 293010099 410384061 231218717 266925091 254674519 618109039 477412259 10299371 968763437 73957133 372445235 866090211 406495917 734270461 287435383 934987723 680891895 949250195 427540803 413050313 587386063 164769541 489736849 159696743 437254567 926014839 870207619 719863707 557157779 685983473 878714983 775149251 157015895 107905125 743603631 387658661 677516887 720972205 745348343 343882349 648962467 203193991 901434113 138124209 404010739 291901857 649357753 417581935 476797349 12731783 556803379 329819145 805678017 884528053 733124265 204214097 56609013 571376013 300202879 217251191 647473561 239503705 529548863 405340701 708452783 208673093 457749405 743536455 832102361 181493361 767161205 452763743 459483755 448122841 505720265 289209663 781174873 161857897 564854727 239664415 73194565 522062579 191691453 301788073 611682675 928741165 602133805 580168681 114598101 551394491 924868531 837907795 667856387 524866853 804868129 934822085 123642937 521793501 837458533 20963205 322180959 853920571 811865501 528339007 47476997 77618561 803049229 309262857 392085859 934484953 924051741 391083871 597681753 429970773 736940131 136553769 596453995 879320043 346314393 81873329 839211465 524525439 452155299 985620909 806406989 708144345 168614541 924817725 679821685 370929833 391480969 452913891 550661991 643268237 883134961 581406351 930710515 387707393 858184009 385108627 473916047 808916849 389650495 464842413 981070941 193255213 217622691 627129605 967193891 633430127 915338099 210709287 34437711 916795993 928276431 61863687 251286523 280104691 755672579 624495619 896538083 886237741 201356421 9535455 551670385 269761251 445507311 734376907 602067377 469090773 264128257 797755227 934357599 619213485 4889003 20855179 815871701 240069883 969405437 103792065 474205727 427638585 636384309 894858443 451727081 939994569 375995059 936435165 990387339 623465971 639322373 492888983 348681221 764491495 671653085 566422267 198642429 192947393 694096663 114231927 731683011 193702273 962676405 436717281 430310223 516360721 121725409 681237111 668254785 317591361 391180019 295338459 151066077 204962507 885498723 307564319 240669203 560771153 803813075 403924659 602853245 300512345 998389265 360192121 751528537 548967769 120187407 476931763 768796557 262549671 439579369 575886609 984005545 551077765 365688033 889210277 215134691 108000795 740325219 601629167 137493277 893025917 278592515 953235923 860751581 739319715 786953081 410895007 682319441 529989741 491432621 932749831 977409875 752013991 339507623 749611819 900301663 570679295 927165083 547653003 401626269 977328913 946752741 223358489 670050015 106467933 743597065 610685481 583104153 538447179 28417711 997638777 266455021 927292719 523336109 110894123 716123551 475019841 904805117 512794575 978526753 313552033 600929985 294577755 501899913 760812891 939655753 547257385 287022487 29075805 122388227 32838147 471451315 722858115 462795149 565172241 790755049 284756109 649184939 827242731 280716787 547961891 829489221 48206991 151814447 877128665 646750321 959098721 748684453 509622565 220656233 338403117 646609925 178989421 293511057 421816875 895205283 693362933 467321971 497836023 558588291 621741041 168632773 470053015 957306953 129801083 795502431 893935479 443977797 651714195 926150471 454880875 591058029 563933473 981182117 758924469 606716771 780308217 852826831 725344757 735228013 662386897 316617281 42362683 988110969 17832781 587719067 964735483 864087329 85945335 11074217 650371861 504529313 46322237 297571169 472763851 194547169 475605625 267563739 942187211 566239091 466393327 70505565 521317163 732175499 458542789 135024721 827122023 357024523 126080781 406040393 938247271 428178807 348675523 742043395 105406071 292439041 411116229 187866975 383049801 145104255 850057437 865532267 685195263 186358897 260212925 922248279 896487453 266709501 938228223 748277891 702165133 137873651 900889633 582045807 496541097 294267083 181673871 575273927 424733483 785322149 329367707 309553245 627449145 324115525 618278011 337205039 377676129 727739675 653591635 652894557 20674455 393772865 553116715 258325813 870030649 32897651 140376053 164036393 403307021 854759707 369616009 708132565 581210431 536685383 295373995 204003835 583853669 207789487 258257409 7631751 152877179 249792177 15164957 680920715 447326441 909173587 129231225 569896773 636664441 62170695 18415223 43693591 577249889 763968229 603648607 105053323 637382977 390852137 746039395 373565013 846168091 79073213 901370011 698862673 602361695 832588525 716507915 732787073 720808927 108343731 560999577 836355089 656900059 55403439 189354007 58506837 837732343 293775653 206343487 719290311 789311551 446317575 9433011 821717513 793915691 927865579 48735227 697963499 271265431 420956177 206589575 779418203 702614217 462271583 674812597 677389687 759829869 922229861 652664769 412512129 909417111 427413339 455786967 316610535 877432777 52072479 553230599 771164727 49173731 103433785 25010251 471978291 210912565 705090265 99197573 466180535 964001907 307652053 942972283 388611541 431246269 567209131 704982243 49115579 512422549 15575941 808514387 139079367 857728489 761252401 242733389 400954493 938688271 395386149 747372091 330253189 728698565 69256835 935525229 71695541 240290349 144493329 879733533 725888009 507025881 517266237 618502509 325352865 768545467 300325919 124829539 118646985 432123697 781742199 635883509 335824631 308326911 395337645 729459449 378416323 116833109 510968015 10503217 894722803 52598213 793642387 964596295 116065649 396882767 211617625 217067467 876543055 354175575 57826345 327886391 506899657 371785387 341623731 866188011 170495043 379041407 74354765 494342195 361904969 428435315 228152823 567991869 961084045 733078919 889088343 967615525 823219177 144978989 680242877 952762603 795278691 634355513 987702561 203295863 178091557 201323497 213159713 151783581 31807361 747663327 409703941 908348949 931540981 249505837 792304317 327400321 418054689 180254787 962293471 719830631 344544723 461811459 973675945 192184379 740801277 123370415 131879173 490111831 67244219 11125493 901268609 506892795 625003085 475465197 847134291 344360271 275309603 240569105 735906909 441991271 999599823 705785159 118306085 126491963 296562187 43251931 276623065 984354731 424165817 593686661 287568465 577081987 127846119 196255329 311691789 766206577 808681159 905292533 671102261 543123729 561126325 415823917 853301909 696205793 582193203 475946079 181853095 644466511 199186925 573256007 669815179 289149865 595612343 41818379 676261381 810061863 168160139 678802233 502098567 274272749 376345995 632567239 717931815 224916229 618352903 967621647 235751333 460833629 981387373 67235289 514123879 468418511 186715483 77705809 435563389 127664415 957572499 86351119 498997663 396103411 364450817 807813899 375095595 208832735 296420281 170664367 923957545 815766363 731875573 919897541 411624007 79570631 139653657 493000325 789746655 823652973 160150703 235360907 151061229 733144959 302685805 806631133 323091739 354207765 259554347 762358245 883784119 738317875 970254573 959783037 381103799 68189375 994582241 938668255 130983357 893014157 656477271 499788721 251880207 885603155 935156939 902966017 402174107 116950197 615690209 548260675 855275769 342485307 795407459 574758485 198766185 956221271 508022087 631953021 820975571 120165987 510267557 758303079 262791619 721606557 710922947 418902825 632844147 603345713 304647433 648509761 486514627 722542897 243629325 994005393 726749239 622805651 263273355 93076843 308177921 726629947 179929955 121932927 114673911 166783473 735796385 167842799 758325911 89780071 538538875 201377597 638686475 521996085 47875403 817268569 400174627 276810207 801825681 981415829 458244689 391582923 827496701 714230449 311280569 111797067 197702239 484189137 563217697 958307225 174452149 539380099 213172985 651300311 971081503 283026107 542188117 235080973 504657387 543452631 100522489 390325805 26741643 591714715 180271943 12277007 123037337 488576055 92320595 660994933 438483931 497467967 149157331 836934153 4536123 738572207 295060003 759948123 287758029 981662447 478079055 995906791 914955721 819897289 651323907 555994633 407983511 16240243 60629911 887737615 798284479 533324941 399318795 913966633 88913909 799307801 89208583 88817263 259184403 80499845 896487895 121343203 507953695 553389479 379968117 10567023 131099715 408094397 430614401 205610979 486632659 128500587 53512255 951175929 934018121 856769725 347661217 48403795 20698951 38169131 16571709 882183289 35139997 247496337 37177937 711945179 62067513 909547315 553788615 972620757 616860473 434845377 436259373 327040167 102977247 818199119 257933499 666646395 540168343 50978393 389803599 578551649 910700789 443866565 310322033 993611859 658870707 821885153 542229585 804632115 564257973 528262753 753721283 423575495 450350853 411217507 494292041 557626309 506353111 314235245 204566283 406356931 753953159 38052203 435861207 690580803 799913113 791135923 587762467 916534445 936719029 177643779 378169617 893127765 595370929 868594303 502337639 856819571 599029383 401355443 589621395 583486761 390597723 375296407 810607533 689524605 565356919 421695109 546335093 701836389 741053009 215848775 689104465 795731637 592020097 655066885 603500627 240735027 971042763 795337559 71695919 435685767 270794525 250322747 343233605 392943425 422799751 996460565 770106269 631575771 824846661 132296883 672102119 561341621 514990779 246983241 231858041 208439321 268582261 534375797 952734289 426894395 577631525 81126205 548332827 73347375 754404005 590189069 45624097 861627131 93513979 174601403 374018651 426170503 101091407 459010435 65301099 790950049 867261175 58072331 292017559 24072455 367385199 535640419 129783759 924310871 505616983 446578939 275366311 376452125 648721789 530710965 412176225 753749447 825601747 876857811 642438629 32881073 142694515 383321859 461791681 828825369 722997411 999627099 949349931 442742829 599697101 443724889 327482373 275451129 294649475 458537441 581271251 920909947 907852419 224841023 554576839 86508433 649407917 73759787 446058681 286768647 464389647 551614913 715170597 417240459 885757915 354765703 568070451 503593655 245604461 359140967 608024243 906828815 491093319 653754811 331326493 187545337 886439189 842386493 197530001 650787017 446638761 446802707 727379923 796196277 940365313 386375883 868192083 459078113 433678653 21045339 591151403 464738901 416710061 597410845 977067033 221295109 736635583 823889625 12813699 450411717 676267791 771687099 31636089 454003289 809628005 227671129 728571571 16490349 799526311 728654767 246060943 332176525 420498921 829293861 929358099 786908983 218251113 431073925 888535283 30316745 341070729 283532295 314744193 435997069 889213139 561359175 198558913 34390453 534656507 258610249 202520405 203551321 49962205 57061501 624960401 182305403 146458493 476936117 770757737 490830341 984638211 172745521 259547775 797938377 53839045 950790293 910181655 120195453 657377085 452638447 167236899 173868229 789451023 534975923 923334203 875498025 900738565 469281215 23244697 226092315 355329557 879115353 874958123 76231667 500318807 36145197 999205499 411074293 741819407 467973713 448363971 485524295 293777835 279478081 368162529 152291835 12877243 567733219 241756255 57067275 545342459 729233543 533184103 369551961 980194383 259780061 537910741 52140205 146055617 82821127 736548647 520923321 310140295 520632711 210395011 752192533 739926521 306225227 509735865 695975491 725346717 481371817 128985919 752858541 462170651 516770911 927473975 539301539 68730187 908666257 944383847 502582367 989553699 913533901 574211901 981430787 656088009 837672709 153061075 8815511 66258569 278887579 979867621 286046475 858372821 704414803 671806685 308335421 573529159 534979417 729344455 555235561 437422245 721137473 314211167 917221305 380587225 576832269 528799743 495682883 224846837 509266973 874108595 807946747 420764725 42018113 708192295 317289539 748656639 605168045 27463091 248391527 893286619 793620991 144494167 244427927 224723579 344734525 436792249 137948651 730558911 392948181 452445481 446273893 180433831 667226265 566438559 529242093 230509663 931839431 670908345 2883159 802265657 740092423 274868929 190551643 530783411 217311587 975374753 238884251 959210351 481087571 612210933 31253149 185849653 701251251 192442619 713431511 699960063 680939207 318234265 404502175 118898401 126804543 488921183 332269111 990236451 795960621 438710147 63578823 385552687 896086801 846573799 921227363 141032601 634698191 872382481 975379459 782924315 545177269 969657391 439566473 242250905 177765239 592732443 483400635 177334301 7434547 961768529 906678093 370071259 625945967 4295161 276409305 54541871 180289303 210047461 339991007 374474651 409789313 578387081 979969737 659334603 552566633 317944327 752788965 461287315 484548599 285592867 607100785 352727789 348666293 539661903 486573453 969541629 617460633 335634081 923230015 461472781 210338819 67847897 63298939 45137553 166487989 803107933 488388123 587659815 649989343 159458879 714456799 26804109 249251859 866976819 151286895 325277361 34150225 652326297 254166879 235068839 848242939 54277241 410886951 257586089 214449891 401204867 855518503 153191451 131513659 652220427 9682345 207694217 991622049 795618581 540687071 360269987 700446747 708041285 759104995 232703817 203633683 141694443 779261877 623340921 504732515 466569469 457283133 43015779 530621765 716586013 440715599 299573591 348270433 808246417 762400673 166682321 467292353 969152839 35058647 727216501 717976795 874437593 918393723 98965263 909185165 626058115 61242363 742756751 471474973 754300461 109402033 922682389 598249271 871439209 59942113 677588449 804113395 7866731 809492657 9865053 138705865 284348949 896823349 438069023 686261667 624564715 270724451 242293475 775304139 428160799 472781343 353646217 611671289 168276103 751054129 56622879 256856393 144375459 848537419 774212055 562540863 446056089 651729415 349401355 628583115 502261561 392273123 637610817 217615935 845726203 875758155 669084195 61021019 249434621 392052369 873090947 543410243 157586183 338215659 458323551 235437701 475036297 335196797 272931289 299572757 879961753 740796239 949256761 127158355 235989237 1479507 58306551 651125503 49780231 289199459 889388205 581993291 305980893 759084093 559852573 95710923 38082351 707116429 337686323 425981053 552743001 851879651 66390275 114243523 546945127 713449147 730816965 9753965 879996421 27608945 320045025 744066737 118718605 511811155 725482207 763285547 118236411 820621457 400921715 793659103 904770807 242922053 673885049 250135867 812427731 968290669 47531251 481900055 373419907 998920437 815286029 783222187 76002217 654150061 652321819 816011937 125476489 399647567 288944023 337728261 849092629 463589245 523606821 745134923 354244323 743891647 204162959 608933713 464935219 314878343 398595017 559770459 133465579 441296685 672666607 123533593 107984795 305939699 372799045 12116127 706420603 181129987 305370675 318506857 169752681 126486893 69972303 585351007 528163821 578525483 673846867 424688587 34697015 463105311 303978019 654129251 89851421 263341841 826357449 681365573 646314525 64433329 999500923 719081719 792298337 49473179 974915729 31474023 185342391 147964751 795961999 436845799 485880213 838214711 620107555 406390325 245483293 435692195 124760349 294209657 881540373 529882829 729685625 405919807 97997291 142849751 102511451 48382073 737453239 857263561 226508559 950852489 294655545 668440211 2405125 191688755 704642521 837555473 165615069 717404833 511399587 602955011 947963989 130665325 23190611 206497555 404114013 333718673 674517059 935414225 489784325 648497267 260324989 904024247 333124235 181762273 390758065 995568933 627849039 363639823 971018037 643751271 494758621 836369819 205571081 349381547 5735403 568024459 88897491 878768397 262634579 969350475 927790307 161300109 529545237 215461041 128710705 699499029 677914721 897484537 870665819 43497331 158968457 325614027 8490665 961039717 594371845 881272369 805251595 378920587 865110653 966688163 235791383 316444779 435715255 831185147 3063307 370645115 246073259 638110595 983492049 688703247 35883635 566208995 829807351 110775405 844356689 837643571 788188595 281763773 381398961 442874353 366859751 191634445 987574565 417843457 884363801 384956763 785851499 741622961 679302775 964816773 34755941 509387701 827252185 425233239 183592221 999791659 318313663 439037311 941339847 220295833 913247313 673087385 632861885 945650921 63915867 174523685 305311623 122662261 911837015 503686283 569589963 652156407 899927397 391180319 576501853 135716503 463033161 451605783 583292731 699180767 414785653 798902423 820806279 953984709 10470655 300233385 689933451 925845417 407426215 452859195 444724155 294267213 764496851 38958889 107806643 511392479 860530835 296654641 210833973 773681141 340367775 408032513 903649839 166637453 37995861 613957669 911327409 898578187 2163901 342328603 725040119 826940731 954501 299781697 796124259 702088533 281058823 722357985 377030533 376030197 470922815 36087341 940694795 545365023 173051607 119806527 59294163 372509763 37929245 739381013 760691425 594052403 822138119 962780571 738195037 810604335 272183351 627430563 456601245 186807517 371963635 393184227 854243611 118410311 354542377 749650175 995310971 263256547 344710513 157943423 568407177 669223311 318800907 324726485 227139381 909784977 958241247 717898075 275991453 59539349 877788025 870743375 750016005 465931697 661572115 528338141 880774103 915919713 346638475 705122839 627068069 935770253 942084715 968465907 705724203 766262911 633984223 420050773 899793997 843125999 946998205 49378821 1531415 850729209 840659081 701947829 741875899 619336737 260481895 869611773 846700435 873040725 657821223 70713953 487495717 673568749 575451969 669435207 650831641 695706787 458686675 363262721 289015111 255484061 112688037 439659465 28617381 131229287 438810151 986303425 16749915 741751545 122273133 789411313 956688559 980104879 262814779 324119371 106796057 725557839 405583859 286293415 76357171 340261893 336285609 686740167 49203647 841871463 830970643 883551061 198107305 78426481 549705613 450253283 72712963 744118153 719864611 808563175 195354635 964398717 111818113 831004867 166691105 253273731 214494463 750565571 780856531 957705525 256566173 535369751 640644563 534336667 772959235 592917975 284539389 506462243 857434237 214346501 585766739 810467231 431635461 913250699 301277441 982146127 115407163 171640121 365169241 920222677 6890851 886316233 873022425 327908675 991806831 189098205 534831139 651178507 96890611 341676797 517022465 331029259 345052979 124258457 316240487 321058695 819597843 655354893 272236401 986650671 523598115 268628377 186330465 740973077 37174939 333019239 49105059 317322681 896502361 233808775 490901963 934243329 981448421 877354739 689583251 431281463 713623149 992218253 923407583 680912913 61120971 535979291 107483577 920305325 903064443 588596563 592943703 435617169 27840679 359875275 449968913 39649961 681466397 135755525 626806379 250491979 316373843 421406825 455312401 783841333 998745451 44921675 964128215 330363017 964763689 966380259 350564023 537050841 71030529 592532563 566825941 53738773 697399813 957765537 873420669 645927071 82419447 541860035 71377439 844602681 310182461 672831631 675460441 50101267 663901673 447992263 811720943 480606399 460814511 290483219 760678857 170272317 982501103 179190023 341699837 581159921 799084465 715534107 772582087 946841769 808162213 157857455 113735047 849857433 54792737 40460559 227680457 585193823 483049507 657436009 638318659 990167297 525891413 277685209 590865101 342206187 606113029 579432541 114522989 730430961 644391211 165035491 470029389 242175061 165670245 871271737 333699519 744895159 717393915 419044375 428104511 954311463 179890907 23710243 959802995 982137371 969682591 414005217 584615457 368590189 337813891 686058949 321490753 859771237 326003313 614484777 270293997 871726513 999381495 273705805 140007013 855218275 88709451 292989529 443449881 614451963 170637135 246447201 36315803 122800475 401144199 580853339 942379171 152690901 686042405 741624619 593430809 928851227 297481215 281963675 863758339 634542923 162494357 29155417 173244313 224986345 681991695 418365183 88850741 497106149 854921017 503117073 592177753 229023891 603053453 296910325 461719985 365154479 778853161 316348159 654349329 217977439 409778903 109596261 76330353 698375217 620602113 299535435 634180089 286894361 340511427 319275451 517153521 779413365 262072027 245911459 635718605 953489419 127889583 599357917 76696873 7108361 927104335 999949357 646809031 453961473 587407987 210065721 337729427 159121393 806508921 49465235 660897953 58822209 336995431 205056183 182784555 477759931 475429105 268622851 61882259 516572311 639527273 469704129 375932265 981100657 810988497 658518051 914153563 895039821 140991185 437988929 612118087 57187481 309364919 480129311 130844975 532863021 925251705 531453091 194475071 993452355 579178681 967974559 832286923 220302209 893466811 264819661 652771149 990892021 948617073 35747535 695257705 944048659 670956145 882753325 486611947 46675641 227755259 828225113 253447619 854822701 413212407 508503723 942521103 737971737 627296753 663273575 26626323 18725527 794659363 360391859 804548151 69861667 999412075 525531297 317375761 406815903 409904721 680353323 387698523 718376283 171351813 749337395 947694841 494082061 180151901 41614977 527404791 288015567 986741977 309442759 280456325 790963241 970582943 812975005 249288707 63292937 433598847 895256709 717569007 46665921 531856367 781162473 786790905 210539537 589337617 936417817 412166129 864221213 770925483 143449167 26621651 694377073 574679595 283349933 549003205 704524549 327866283 891117627 544213773 560470325 602034151 696416235 679452451 264212679 996264777 664476565 28071327 227132645 730787293 890746875 991946823 923559209 403157087 429639879 478478853 299352205 837539625 352379785 368786411 812064887 629790023 470652603 651627063 64556981 713211749 341052605 638955337 548549501 583310555 824082139 817057967 526586985 419020457 319200325 127371803 808419201 381197941 211055379 842105447 342936369 677676431 623359303 803189401 770128975 397104111 846031817 931907291 189109017 125057331 321760109 951066497 244588081 758360485 152841707 851181571 459008425 526895407 319569125 611669513 710359539 559977581 858359011 326708315 94565611 209273245 398788181 136204781 949060315 184368035 588265623 156872411 629144427 399526675 929261289 811147111 320580789 785524003 851367283 433747709 813150259 990034097 36863049 642424623 974865867 556188485 587595363 727128763 399561931 673312269 274729123 197988483 274859751 749035233 27224271 760930961 863978301 51626819 440586909 659517209 494147923 273830229 95452833 59040119 49090069 858444523 7461217 700422957 535453913 48221305 750491717 853572841 490629211 881647137 371859613 521129337 584668609 738234535 648086177 767005405 422320539 137137277 293321335 886859063 84706009 76750521 732386083 481566675 192436189 675773467 14744985 125874209 803157865 738775049 516993971 922415807 886394795 80508309 813418289 554706031 669727547 593702515 120746171 903778079 290271761 879123971 142202085 660105951 19372183 352550477 698190119 273153771 436766361 43918079 272048865 633796775 91328075 626719859 506169437 468396701 971808075 115270823 916419023 624132483 116211613 509464129 27446859 207340849 456281777 585976721 667785431 513753517 906760795 241904013 192706393 107279903 253430743 23556311 350750117 451427805 765890251 591515829 149329009 383893857 296636997 240294933 485601891 76170065 59665851 526018191 454013695 639048051 465929223 30936933 275713465 376168383 965485681 979291257 493476585 747591501 959369125 739044191 832013523 707532643 926842553 505611851 677138589 686535787 89232427 725379871 317292379 685548279 860662493 497983583 94753539 432107715 429279521 257523261 616010105 755397045 999645609 799096719 696970119 771771091 34367633 812199637 849614811 413576021 311586403 124274485 620364303 117732757 531633415 294653823 27603365 403721237 238632663 624847659 310544649 373348991 689317261 339322199 46414983 444638379 704835919 464092619 749781339 106229647 367362987 390362615 444232359 662729299 772387477 463927281 534914163 855470911 143089515 42084215 221422257 540913863 736813555 966336243 62901307 719948935 391663961 981461619 68949455 681527361 801051443 757022895 559488281 667015393 308366973 909645315 635421099 373738361 333462687 250724731 562422779 239984199 896751715 812116931 746954349 646455723 261359361 655260213 176478793 162228021 66250003 747418573 541911231 839446163 832819617 91697715 491444717 85120163 99734297 636458681 163558863 789185127 352595533 889582419 863641425 172572683 262614397 5415843 100466499 645510627 302096717 386013677 195351903 833558377 940156363 622510115 387080519 54089791 546543467 750007515 685008259 627455795 597021707 765292117 648310917 154046777 339646447 664929655 782377381 384781417 762296007 868388561 77590053 889189639 352914599 623105947 214468143 820670591 530711819 556125875 129154515 417285733 431447001 62172577 196340747 871691123 164161631 172721557 641685433 315542669 277434963 102410851 198122661 951659967 510502095 912807823 89003647 994955577 417667419 386650941 986522083 394436185 413679843 613598013 263115091 473032355 495008957 924283397 377182771 635199167 399788455 947285431 783154649 697286531 989209797 7333145 300804733 26045675 321144483 414873241 64434753 905884951 337727033 848850255 152069677 2571603 903640547 981752315 438321969 243715349 645031525 897443845 147812649 486996213 669818863 618347129 223728597 67272121 233728275 155162899 286552031 864555337 386005969 125403437 742203351 375658429 932503695 29547217 610831159 613117003 849389333 985705903 571289951 822361 495820191 150719005 61984923 885893235 587617733 570585115 332411161 646988107 457424271 986837071 310872053 772951739 550141033 724412681 662898223 471413961 968356905 598942529 392370097 667930783 54459915 184098709 115176523 944850319 429239223 139910477 389130421 506599447 212880951 474725721 342093205 845622999 442183425 353832781 758294127 455885725 849001205 338543725 145889977 792739419 429934933 745936541 462313159 225478699 322324689 200767853 239438047 129229907 772070011 149680915 674434089 704845629 416078035 928235377 455132085 72377725 670287549 637409547 97359227 304402123 402003591 570257941 148518753 603399951 119289061 246367585 223325739 578034001 102447093 366077297 385326221 351882949 483608635 387431275 235818017 251762631 31617447 52048417 975294055 9912025 475102861 136337159 395071943 474635687 177788073 471196991 182292629 254926341 562032161 110303373 168983559 903253741 3973765 478223971 515980099 924108673 626419141 630459607 419773005 779451919 169487681 111590823 667509017 905608971 427635903 427462975 874526849 985924621 536623981 627743145 262302019 138174169 793109213 603654047 168344845 515234395 852867599 128634239 544861035 175981991 878962277 183207505 981324507 953153783 341675697 474360515 638503355 310461615 22930469 12184111 168245077 311477849 312947037 510669201 801387739 326846891 827254627 844282003 957205607 710602109 760226977 711626883 88865783 805017299 449494507 166324055 871356025 750459865 366950273 63940785 446043321 482563811 293987335 445285589 584119411 853205869 85826955 626382775 322488649 939097367 562673281 939059177 713632197 308673709 347022537 881256365 308077141 808551205 585103525 254091753 587818579 92635287 953445827 529853231 665888513 99956551 65778233 518830771 521533579 972332707 959267715 465536853 752552189 112728123 473790857 979187871 393169747 647147723 474267029 264863163 623185519 337144633 844944223 803616389 504128025 172882315 898884097 954827387 662464515 883300345 267391235 485795267 493484743 191569883 538417491 330906157 475707107 188951223 623464515 129059377 499475907 125098295 500332691 609322989 851382455 282296877 166384487 250966057 229551609 896554903 442642253 375782229 5712811 850565525 470133561 649096837 746431701 802754421 489516937 401628285 261556841 462745769 618972419 898432159 575914047 974628811 728980947 55929855 375253531 267860385 522223245 821327953 405146273 519071765 363942195 167631095 390355561 431534905 718577701 395877879 292548839 398626891 633699123 42168575 372285823 931742379 691121811 352073831 836194935 615942375 917950431 791320111 277110789 408868785 887391519 607350015 955136831 309264613 556539839 274518819 297301287 870498949 624782743 337443221 873665447 724795837 230241247 480786163 523358351 11808225 142443585 719324807 90409625 638162283 378226121 883964219 585099879 609946365 679949801 620068523 72892289 749388389 48639875 607850005 285329751 920230295 656758747 107152735 542915655 175632297 750081947 208760857 374715021 552733157 124078557 728699515 317914451 756759729 61392667 956435555 141406125 144825507 893110843 344520281 760967571 825919349 495239051 383060107 70554343 366733577 115950529 974102483 668152433 23391343 446979831 309511341 278274785 13736661 544469941 852472387 199179219 127334041 401065447 117369187 587470023 469896765 916871139 210395523 465041959 947356015 636168037 430601669 567110723 995331071 136187029 360601581 332010579 720605417 123179773 80914797 424363901 626614609 335814805 356448861 692949959 38228353 77194937 65416825 752716065 973266927 723545901 190679593 21898343 718137907 214339871 248310141 488886873 279919633 911973415 430316333 52639903 159838327 710624575 408230297 696252621 913601653 402920909 491386309 34989403 477092423 857864349 984043107 565665961 13277265 729803497 520237769 186240003 20729887 617278793 485946357 662529687 939892577 588338883 539502481 712627841 260083447 142019015 645938411 694757313 261589471 184835369 985487355 130267455 863235657 906409253 532697183 233981903 956995205 509937763 24451167 554223401 128868881 5797613 962592233 509950701 869494925 940902201 240079767 140426661 2241735 597076263 56721317 787721667 330378671 888782073 981086973 680488097 878411621 306564189 721910829 458061183 958245417 554244459 241427051 537480837 486015335 140795803 67715737 303695303 20397233 294854871 929117755 738624059 254260933 70696555 304686211 295984839 783596675 115541001 122899783 801029935 200907769 973544659 540327431 426502439 926959961 356932173 690900203 815647049 904794111 502102371 323531199 806153747 556362093 145737577 214664445 817267441 290039885 314031391 236063427 592858933 541538679 423312299 926236635 802699031 231700707 777846679 44474031 447205047 70211763 546840537 534137435 581626143 142392373 478831311 720938397 184652097 487761627 367888703 340758491 451709173 767457089 429046101 301651493 897336831 567519785 602537895 376041521 790829829 533197697 111162419 851232609 144767129 770372951 67348827 783029691 9036855 404616427 120433905 279365359 449412413 44567967 868979493 762294097 494295029 123503613 823745945 76286179 187001489 294842553 698004047 547931725 382331433 865891247 944127159 582029277 509984705 896339171 235001507 513029769 314013503 705223549 267265363 478413043 484164213 421941459 801036395 966783583 446307871 736490335 673111289 964496319 11208409 516173765 70454897 34624169 342958129 30416847 647823281 500309085 196409751 444041585 677208575 958484163 700982629 63847881 297141767 873934183 55327193 566753301 492763871 110916739 881329695 669241027 500052739 151383029 575047495 897548903 158000987 729696837 885592907 115566781 109886513 662006179 282254349 221010341 805941307 139949285 575941717 422358571 984005017 416200841 656539349 925715845 354273485 495421369 598526245 389317643 729559493 756568387 848429767 736602691 664957145 935837343 789435941 568858069 225220545 807989995 480758671 777960599 810592935 59046895 274848321 90363269 666544407 535573273 142946135 654751167 712049925 285568643 938469599 471572371 434998735 160408553 430894281 331564913 472279353 292287923 343685101 669119225 39993459 123450867 971233549 812884459 921202961 737422173 334993363 597920561 920207887 226074707 830381007 324750307 432031955 364022233 66790267 966157879 597931563 548920993 254854969 197667989 569444683 459750915 64016463 35839619 419814099 253575419 654562803 757625273 912276933 381505841 239405115 811900177 5952655 746067957 863222569 708594061 442983431 579657023 707012519 467416409 697951849 728311981 875958405 352549575 410047069 917295239 496101245 656217429 181224431 789966013 698090031 194884259 896112017 539929061 538991399 338123135 21396773 235542589 92429011 380314331 948040941 409826479 513829007 749124307 416617113 217813961 993431451 228221865 263676475 495329475 823734305 118876873 69549395 36794491 544576561 409821127 258905029 100775545 691293891 191362909 774311647 510543339 982575293 793845357 910294101 823010985 732087267 230120197 852337991 185801781 2965995 158467417 511986997 963918001 707813739 148338881 925743889 229318641 283293923 772936897 370688047 276042857 66194881 547119109 802435405 939596859 670664019 382635361 638561677 374740011 115836371 772155087 987768191 531007659 715538273 241830515 776070681 864214225 700183303 671836055 480392629 409641309 236125113 591376303 926268187 485887413 613218635 886857047 344764537 459935467 167627651 797498707 54081633 446350001 374541577 834221963 338369235 866961517 599731307 405196309 341561907 996916257 651664679 45251115 781514317 276945789 181633179 215716145 83037017 599436507 97260307 323861939 366491379 698276409 785592509 658822241 402788129 971544125 82538675 122638105 424275791 555708213 835488249 334333919 80125777 424668701 920107637 915028955 783280233 24280465 851825659 964061797 711093303 302261977 796286787 107388403 289989067 307294947 833573101 798913323 353982617 951768903 9775235 518354393 591870337 122561863 788149623 760221677 932191173 61891269 7243811 907787911 329131539 829826901 45007557 770135269 720236417 486252331 964619401 728615799 356267659 819425319 883163777 215722189 725527577 907429075 896925347 152642725 708813943 988304219 168726739 29276895 254321751 564001943 817374683 480411785 51267547 706200327 165420649 814327509 63160711 126466513 506464279 920789021 938452805 269833157 430525033 782128871 83305327 516165211 262023621 405021917 578629055 6892209 370534525 153198033 488776795 754321551 871279053 644230849 416440017 374478693 411670227 690148557 258553109 605208905 946929049 319254595 413261445 139001849 353872913 398444949 83983079 790774239 815838995 170379359 529827687 618902793 260186465 702482531 635160987 328978989 993897125 705041037 642407039 555323309 574029425 236042735 294633849 104564367 617634619 213940423 223562585 470350209 788798823 54085495 461675343 295031261 191513149 630428553 454172669 548620959 174635247 348576433 978702437 809631087 994720149 195087307 962716919 113691039 21473329 655530457 30453381 895078179 515062189 388947207 339982671 669909405 370160857 262591913 196694521 981076305 707276657 282274617 625548431 251239473 324470545 265963355 463792521 208931027 518667335 995579097 66604227 985745271 804857731 278576807 160342659 99292419 808109085 350132449 890210933 953704967 739497303 951420363 732418221 108698555 608683355 806028493 922253485 671074557 634793529 209961341 941917781 124262229 745510635 517690517 648697589 715918835 702539859 526009081 92038721 311957675 796430905 905228979 92899673 792679681 79571023 988378617 258356159 13600025 431735597 815928355 920459873 600731843 932543829 175136437 786634901 224227957 700075057 200935517 528670489 636052049 795669265 989691883 911449359 412497693 410873391 999363931 275627273 108331847 203206571 453590225 246019577 294126567 700131985 980154777 405985851 731809213 879136719 295571235 259785881 821438001 764260161 154343437 463554365 507646543 159324839 578021147 327198907 64436177 122961579 946489399 246373651 128713239 465735645 607434611 485335721 727942949 650111927 613163019 450314571 468925101 885123993 700514149 548321581 154956549 663479247 301217287 841359853 443674157 562774153 514154153 505822097 542688971 821703901 466946851 549167493 678162223 506330065 67382139 431820191 726135889 72962381 299259611 776450333 530494159 588618017 164742293 980335009 269460977 695418375 456659751 722513469 375774375 791607967 952066353 432200289 89619077 371386485 352340097 846778095 33700047 616333047 772384009 946556201 192481129 890869889 322170853 163954109 495053793 943160145 89419863 510503875 90911347 664744085 919807691 137232309 780500219 36684123 312215507 26681465 65605631 348899739 154650413 315175003 567331763 264412475 125106361 489590803 720649961 400414975 311176069 588087229 321164835 576338843 595194563 734384607 269456519 303712425 584831695 440094309 770427111 772488617 897232427 287178149 467514551 333847811 460446339 479410011 515400471 459155211 981046699 757180845 948889553 911209209 431985821 936683049 892659793 95711725 434496125 289435845 387251375 184928241 220156821 664303323 146643625 77554935 450114649 190439475 450134697 920370649 681054821 502174201 254255295 271943511 633813371 960304069 64317341 975181593 696505993 409390223 771255719 251959473 723461789 950766017 619543011 964684955 593010679 99558949 725070593 827700021 603246329 797111539 264299095 275820489 528443695 175166151 310326499 215444873 821093961 77418151 506560079 223224975 287090469 976303869 252606953 685802201 280369349 34760355 712160679 84525397 392491863 921902035 922455339 591737551 488566059 533129011 326320825 982294277 331502525 322561745 591785541 960926101 470677681 361461537 902928993 416012553 822785745 328651777 29206351 974561235 143398163 964916151 110006773 259085131 316728207 115396079 669764837 519185077 101181579 420075711 153924947 806645303 941944687 15928229 542326303 569614819 318624211 431953539 855833299 12243635 539723373 298762411 88018073 642870153 508078627 43844557 941604173 409315885 270054657 725785355 535859309 32086609 86542647 915334631 230106655 966455439 509809189 310409553 922927667 495373669 478331723 144821915 112054561 927055423 476731731 528782469 335157511 633146989 87516949 674394163 48546989 735264811 572725895 257312307 784144001 589729685 891158991 967032185 552072605 557792185 415267385 947952739 525356733 325153159 611817271 205051829 447148363 575102679 998412133 734146975 396519509 612008301 78165379 204448949 455498641 729987055 195370881 877682931 884104289 980414703 446530929 663537345 859530955 539089383 970926731 442166761 913487997 43469369 3657271 282392737 553587151 588744237 488553725 812474505 414508225 774817779 612833169 843399075 31518203 152354471 925491663 122745693 286363593 409942859 218713017 73833357 374802213 931136451 852260987 837477233 493721773 842300903 911390567 707921581 356825515 536570987 299284219 895969357 948994313 331743217 590247385 78597577 120072803 282220549 610231755 261529085 708320503 413190167 214406853 954294829 498245803 185548927 321713635 370386697 673165071 797120895 931599463 327929765 183283291 943574079 636776637 550688893 298845805 105543637 700481401 54864503 267569101 190930485 498970197 364791265 357290665 597760833 999823669 941752175 369802203 18954181 667509027 254975807 649104863 717543535 862336339 781488599 683432415 167496923 293827105 239370019 627007145 88472201 631963665 912959865 831661491 712850915 309672651 464910487 796476959 366942521 329588773 492285601 320155057 91631557 13096217 913309475 589324251 159252135 838851275 861089813 716724405 376853995 751879557 451057361 63529467 947437951 62476733 474235169 388287509 686638655 750869259 86491181 113015059 859914987 500055349 965359501 696297389 781062955 256022819 414265407 514469955 544361107 651965931 890627495 469784025 121358747 644854215 671652499 452711713 627310755 184525085 468528183 609883505 829573879 452802931 768723249 941198791 817481157 851342977 120889991 579073997 905826601 784456991 31383717 922895569 857472291 130953811 166082657 935040203 852597403 941311557 65395191 274057561 891769445 371732301 594683405 528943811 672084537 177661153 779303603 953519351 517530551 267358887 647889497 761230479 193260905 118244715 517561569 11458503 16446403 812696095 432691341 889552265 640431641 102418141 482825483 960540259 922689457 347318251 897311345 237190539 699416241 380463283 969682493 607255523 41400109 643750087 637680723 874442479 799996957 714780389 770082815 597197793 535780449 116385261 11565817 897979535 3662787 906108909 682611805 513894521 430803957 491793687 621938097 109248455 627130769 641404615 760561119 636970053 289840405 126617215 777866817 628577389 204032495 487254763 278598545 311960157 127244651 778942173 999666421 577444573 854644679 611002963 758296827 370180189 901905185 759376751 700771479 250742259 464206979 305100667 340845097 541929055 731003615 699411947 401208435 688023815 213036045 868856155 937044899 171888891 962349009 726302861 339326031 609610737 206666961 203807085 457276019 226079051 497597345 292510735 843566199 450041615 580524983 509770157 33716261 232736493 975037559 299199401 302399925 335122745 723692073 77704849 487709891 704865781 375085823 895970073 113709395 742862281 893842449 795403033 900341973 631902467 251354723 589952149 241745691 41698969 269826523 377555129 388833637 334286637 568304203 948792537 495171927 646843907 218671727 277867375 456833535 729670157 956351205 664804639 517608657 68950241 983147831 188988851 714821803 834236863 488425173 618181921 692444371 403658895 623017501 619730561 179033589 229059293 379317579 612259095 840437543 957463779 651990411 82659153 666720485 672935039 575357933 521154495 375814677 889294905 347921005 151000605 784480007 632028225 65143527 975018575 731875435 943738733 973596713 240986977 434524259 600659003 763674851 219906179 180427121 490395093 550019245 728044051 541713283 952016649 400297737 905357973 808745199 193211215 792903265 705194931 581548915 595590597 139823879 687105855 303813939 88351283 264897073 475683381 293154749 648101383 110808321 652284857 850514691 144044891 402451331 71003671 628993639 923706859 162766247 610334657 498605 976418847 419864133 278330449 903232513 262596617 993705503 914072461 119672055 400991325 940460767 526662239 272733583 519163773 368122901 205171673 387986735 510670445 307646011 840637497 397215393 527651807 970530227 165506015 180270363 48539947 322822083 174834777 12422459 568568139 916269473 774922073 842191879 188389869 50135395 552649145 603622381 577208923 364379915 193401983 894954431 762409615 112345475 838413781 473077691 486806567 498297755 341812751 948270217 178006891 872870669 234770597 72136755 10021963 499907449 142548287 13547825 526224221 129797995 547317413 303781727 713810655 153090385 793746891 496495361 447303611 881181319 790903499 993764807 274943615 6212685 300487149 186619331 388776547 434589389 324206231 73490037 386485317 739086359 241106013 909674433 344049069 392763685 977619453 870716661 659002313 40772311 635852889 342187973 551090801 347619577 554780539 676439887 790284069 244506425 682128279 379966745 920748557 344669747 500604425 127392271 526681847 880624743 864669779 879397255 305166425 202625853 25773345 197183549 63761493 347341833 656288583 762068825 666632111 989491459 282255039 487039845 361710809 762080331 162638253 480863063 477251817 807954155 44954971 360537487 807527583 960533463 557842751 178463951 362458977 872053475 412384241 933680967 203772479 63585749 89593909 777791369 230506225 660043605 344550393 461006229 406231 727428081 723478347 154205133 271496693 353498407 609966957 153510403 852811259 986623573 899983293 768800361 983214403 526559687 950063815 215235741 494283211 673256363 384099649 724972197 123353143 11840283 91371779 299114987 949389531 322105627 232093201 512390217 693301933 550157203 267569561 814305529 515784779 156701265 621802731 54461345 525599485 257285651 5984899 934568273 514117041 874820471 197472517 956069241 86684671 612199943 614878269 848723193 432983847 936198965 235286557 469490967 715116817 901463387 619095487 532653183 444821835 629586615 705389673 425092169 740312075 395204727 689758851 506798317 534961969 817740711 386283173 195121493 781184839 223720005 825951877 803147211 418216057 628799535 870808073 22796551 989427615 191510063 642942013 571290917 350896953 596389111 890201683 658472617 526893165 152229919 847245479 145094531 970461707 155392811 15360953 574834181 81512843 634840193 739253561 869308399 383921163 751014003 630341369 451265381 298838355 771339837 657680369 145273845 517051603 96623357 693366601 987569555 822710945 758103229 383407945 544577951 975327355 781668719 306907237 834835417 580785867 211850219 100664887 45772147 34845599 289683699 507900549 344418305 880112045 488353329 529961529 150856321 913508183 508055863 585867367 426640981 781563299 590370939 59675977 625643085 927793983 166517345 693711169 627235231 900105091 432186417 284969437 696369895 73476465 905192221 297302223 946874153 928861867 759755069 847202547 290905299 992882309 81325715 242807629 24124605 927640307 953344009 346169349 329522975 536896917 465996913 18532719 91989155 46549685 929624961 923972361 911250261 510398527 581088987 592921205 420870569 405687499 531712779 225690749 848756093 158789273 913058945 852232727 319828757 197771919 227518613 704090459 430923809 635729725 652590217 139162253 352260277 992886235 126209159 845224217 500310093 743397703 768178337 245883027 940649681 382394121 460978637 123389365 190165899 372510289 763597549 651987811 14397489 334418675 107382733 826887079 252101601 11406963 617536541 914593463 822034465 537411317 77571189 367231467 159403999 479410759 109507927 594030793 694732397 617935589 561793581 893564921 373579913 113947371 359395399 681749585 997787483 987660063 728649695 513391563 762613103 938427893 148918037 754192523 622820279 32377983 184184053 421091293 744217749 672836991 403847791 375713075 199241421 573480541 371823963 177385255 178025097 375778341 995730811 754370687 786554467 676214417 172648311 168305955 26553941 728238337 436880867 857354537 185106629 639634297 891933751 574925 290382209 353704875 210768341 907827311 243556029 644846573 892352771 515677085 705562647 415635007 745388535 596283911 159424405 255842631 798209991 47330701 747863715 38240085 320378227 164974639 973796631 368598369 481114857 963142423 518357037 527009289 266515447 654185885 549996941 563153557 724363607 44969015 187838017 253389301 293116841 348774285 480787905 327818173 472691833 122689383 505847527 201479985 299491637 986656697 815556349 464283187 824105529 201008541 164485803 774465623 714537925 454340697 482649353 923048403 565897985 759808087 873837717 251869317 851069697 364266539 930972211 968580851 566441405 587818381 431142961 887339855 708824853 355649637 318604099 647880305 506060755 783163323 19933063 288992469 812509355 414178499 993701763 43649443 889802545 11192793 48031521 153703853 779686635 90183039 561957563 39062119 805555775 373517665 807953419 454762737 419464065 284893011 747512633 10123029 516717545 104655437 550362063 157825599 738872983 800725367 873048515 680133253 367923605 653820697 256430197 150076843 286992597 864827815 314813863 940530709 421224753 983892669 747779207 205907925 241178473 2037279 491962027 558070685 306553125 37269685 978063633 970488273 943493113 366713749 782994717 924904823 422799451 581283577 727009179 245285695 880746671 935834437 306852291 129673341 169515581 422935043 690714673 721013813 653564473 681846503 720973801 799980555 625385143 821082317 643393371 460841293 779033533 773950137 628304729 416484343 782319153 965154003 420879395 315141029 375801061 280023409 565706335 202168989 991977365 287564813 157053463 307279057 89909215 442848843 763478977 620544217 911666765 958611191 616017211 315790065 281887569 63456001 338154699 149511681 542265923 682613385 169549341 979383963 621617767 462016973 329429831 378466803 495920099 73903677 383527877 267085545 760440521 812444009 344583551 350561541 512872981 595509261 459114943 871035255 247220389 548309773 467750461 156757525 104506947 92095605 445424661 599680095 581122209 115594871 973222091 767747195 510663767 740350573 506158413 338411577 243876839 227262941 851733235 337555985 467841723 871914865 609871479 618223649 526312997 84962299 485288701 797084465 636452955 630433143 607204631 484202415 319069057 446581771 492073399 200361653 154498207 97349887 351293243 291693311 678712485 499378117 356637289 28083703 79364465 498211069 854276973 315301035 794084543 625623399 144408797 18425041 716023099 667066607 192660661 853496267 679955317 490456487 38007131 394945951 828317415 989632205 456411805 349644795 666010867 973404097 578667185 641943863 341752801 173636881 510010161 836544339 254053345 771270511 558117413 646394613 972544529 57089719 576448251 201534575 959895405 247737579 166713733 461384885 816464865 305110327 788437763 480922727 691040061 728626415 307369239 384890575 488363579 175393931 539189459 992141015 294166395 888339635 792198569 660553243 286631561 636771119 950514807 639795161 716832981 290868211 960865921 115958775 612855991 97135643 510888055 467004421 696704625 932726505 944024427 191450171 813650733 952361163 532067293 652975735 741514235 105496655 513638067 379392321 132826837 660471605 929691703 724475591 850547611 578452319 575218463 184721379 188271385 970551255 377831817 18223377 637547005 513757651 877302779 415112571 526132195 107413419 251644513 734966767 603182155 244955107 402733841 663677923 889609631 627992103 119972297 527634041 821982255 26613835 125522603 694886261 194257205 872754505 439848777 215608393 417076177 370882117 628867475 938279691 491253775 536529803 433783019 644959611 979180509 766742411 340413203 199931905 373066775 154284517 715842875 74557609 227516797 246731351 977078005 743770157 73379769 639037393 123566913 536044269 701559385 788842851 54060419 458591213 515097051 92923209 323148937 526499807 125970591 257610727 398579079 125551127 325089771 798402249 988712731 520056729 907661555 331594143 543508555 694766089 684419025 957074761 941477251 946507959 856028293 600266949 132496791 150399899 152317431 415185475 664552649 575754835 565987579 973260819 771185081 247140135 176896329 964902323 321857655 997080069 642227841 296640195 976760697 926396807 48258861 259847695 542017689 446640617 961165761 890667149 319151135 273896981 484752785 897815127 434735033 636364951 379219939 6513583 265921401 67481259 480977117 710573567 398738655 179849003 524083859 114323679 556061133 844827555 281326077 416378629 990860181 801481023 979967995 437061977 174531561 879796183 358081623 68857315 765156839 99120875 282685635 820644567 319480083 82712739 545273817 656717711 828857949 289697995 128592407 875082641 38102809 837779933 92490475 39678343 369081859 817745399 856879009 285567045 62880833 314280929 193358967 368436677 612325985 247196171 834285451 688681 127930199 620253067 957388263 497307839 532167041 682223393 887863933 506485497 345393061 496737331 748133671 681070963 910004721 324231633 951804323 568149231 800569079 803254193 375778973 89105753 300156597 684391733 986583719 728721605 726867347 32218723 190615351 985689197 924478811 258897129 188485553 707193269 299124293 10091297 592975965 543164711 132173291 577972487 439295853 56399735 905924183 164920133 239851003 402850433 887134961 836840489 872629509 948629575 271741843 959501481 498469495 893159415 223123831 63442791 622060579 607232737 283869763 518762407 144960703 877318529 340885253 108747355 35800303 194904697 991352625 197322521 239909435 250387353 228489125 52037921 392620053 987583695 629653413 770276953 824854229 825993017 337418721 925303891 975972541 781978651 302543725 714758979 174485239 787363293 717748423 173693705 680475795 306650901 103176401 816982573 724396941 335156605 982610907 58999519 425929153 486138617 499878043 408404469 14335997 973369493 193756459 935981037 721731825 67724675 290502163 29765105 500616757 773246493 957601089 143502543 3673933 835138279 582640903 676904959 687171743 691596687 539493669 604560543 940478077 498800613 840551871 650935927 532927009 306655463 217196129 301417205 336497837 999398837 349418755 3096113 584969767 804411035 988592897 349552109 155252357 592796687 222155297 396797579 898514077 485494187 456072077 75344927 103958321 881207087 445214431 220539741 313987051 564060555 618404625 140538023 216022107 62231503 169065353 273403649 553805563 31869497 678761749 492305693 621070381 283180841 492415723 160536657 74743609 688415277 313849765 744800157 299756879 248765687 83534411 280151209 350766731 958095459 767636297 509791425 366636781 844815731 994431349 363477983 822957919 525631569 49840909 397637537 560318129 194589013 750927539 745670735 157736093 695851511 579801209 201415129 149968067 897393113 277103825 313152725 396978095 871449033 781833111 607282049 119377871 208278201 81300245 48979655 330059391 477832901 275195123 552262965 98337535 607613999 300080459 876449795 155917689 103833187 242215831 738223119 454718461 114032373 572078525 354997983 388227973 247629471 138339083 185761703 977314545 440621635 777446709 950229049 333002765 874734575 40210265 300102167 46095495 593464279 98076925 77877609 988926715 13479761 561111309 143453181 793999849 556798951 264721117 847169097 684490425 396353599 195164975 706492013 698117823 192693551 11666211 684406067 957743155 451504817 3315019 458591495 193531701 957333735 219475095 755342081 867087057 853718817 828751721 767246817 531643381 781734093 842651779 344840973 867845245 89622665 612940819 568752021 488307239 995599641 497744559 641178929 305519521 473797733 821129301 904146751 763658617 816876163 625863529 358872521 793375527 754230957 38468025 404420729 440072719 157949511 691160953 148721067 109531259 250603483 506390599 264919387 385869977 28249119 8325671 275373619 202297733 406187243 742616201 315708033 235775549 234425413 152396609 34766141 694039215 726086997 31604107 465039621 667042983 260192113 537921293 607408927 325571299 99202837 708556501 67032703 654351361 145732833 880292441 644602039 587295627 465838241 97688691 186617097 399172339 183909451 725611627 550442845 334391443 636945655 343836397 116147009 87384745 132130795 802851599 247221995 60940387 73291665 688707919 472577595 625736909 615175803 713391247 978244539 340207077 993705575 644209441 174139799 93956489 155382069 422484407 302323367 547917955 789048819 858172525 723050857 942954373 324737489 546741197 920460041 809927207 55067439 969143743 151322193 56047597 295617677 766615709 873686715 144732477 503062935 940941345 782054757 804652651 944818719 319165553 718908951 578846893 689754915 597880091 317813825 229549863 231719363 769833491 225272311 851240417 689703501 793242295 59010813 408291533 52887347 371693261 813166007 256435395 301500945 288271233 686092853 474068103 102580905 104230505 665238317 350035903 740619751 786666113 869210881 456833533 826093789 158368049 784876727 431152059 184181193 738449731 796266237 141756763 306044173 980007407 571789099 681267237 640474675 221382607 891693635 399336267 473716463 932256747 808074215 433817829 893919773 186307761 672976747 431053045 18602175 722643187 345132739 409731685 294775041 57038065 313026447 529318407 829327671 289716047 778571289 805385617 739007195 715635227 175105101 52200103 67629455 803045833 143604419 370726865 635976227 65000501 648656313 861333375 817369477 894916009 523641371 851174157 992091603 879939023 655688819 298301885 211955535 492401853 506384379 520441267 762158951 502256111 643043217 824027399 322934699 602229579 964922045 559612589 140967127 888315423 739250861 122656647 9061839 721734177 187635515 880608097 916709021 991520363 815111141 832946667 127526773 108692101 53434063 436617149 286763957 46626139 34543565 728301401 952041691 302824003 508459349 588585513 529457045 934163451 423256965 181510525 563812025 944961959 204343075 463469967 362589757 275346899 665216163 72218751 996126279 547885943 142317335 295109977 457672225 315244783 932846401 176259341 429508417 336239359 710819465 775047027 906625599 422327255 308643835 609381965 50349537 678748169 975953745 344776259 688656401 479427989 718611435 774388201 788622049 661657825 647715789 538101431 931058573 445240245 281989289 839995919 213730169 372338253 632205525 782658615 543452977 159537729 897395281 506844517 642306407 62382489 436780483 798167727 27907061 38242753 583529851 333685015 791585505 833577103 923357809 937563269 220764501 665791295 730549059 199834317 898022051 290217337 947765561 449080999 59963209 377484871 322879809 711758003 628221415 533023007 242659061 969114749 714217547 807027425 125662611 404359027 66375783 304778959 343649023 812265969 778329431 789298073 580159181 74168375 653920349 740396625 915971379 870969197 318108131 363712375 182164493 582871719 757054593 587872751 633469927 416081373 436024815 211520007 148125421 510193903 981514255 672529011 33849849 969318569 233234415 132036945 315611527 4851129 363718849 701741349 244663487 365971385 517979873 382565855 384802419 260794413 200067281 242258387 113327639 816382333 759971901 432425149 891377867 449822199 277392121 439760579 274120793 524457177 524691455 77933427 884033067 304576833 471553137 667009219 147626589 980217657 652926111 792006157 210737325 978145461 116204279 404240153 674932097 801692809 925254935 203109653 8793833 716830075 648672961 212789651 459347357 649507633 496106721 101773713 670707707 690009407 328750219 624663159 123092747 887085083 214383609 748903697 407589757 939673129 929320335 474634899 299548837 853257395 149837527 99226521 542635911 191566055 987645831 243291949 723489223 691337439 95741559 573055417 384573619 267589791 582513835 567947281 218055751 905533709 419496017 579105909 358711327 41118971 252285881 923650953 978519169 445578277 411299935 217227099 856505183 604702249 178725351 444442207 955484497 77373329 693560091 860324469 764464275 118474959 930182897 191695839 843376141 436836155 546819969 449616459 89357393 214498329 43544337 355212239 22144147 992940431 192110857 769758695 338931123 739364783 921753855 155184251 472109369 130001269 985274287 796876501 741239381 793399231 363355641 853249709 586535133 339331159 240107499 941597469 691897425 430579951 675084213 791743917 23234775 408501791 490388663 332226379 80856127 195118185 888267375 776506697 37785345 987316023 246634381 614591591 620423995 186843611 654919905 65609673 567073717 450976395 334455401 455881725 236012253 432783211 115333701 526041591 852545997 979161987 230452163 805998613 769283905 25646533 343168597 886317853 258738339 73111561 654585493 689429307 837923585 687338513 954197833 127645443 315694097 470363271 171138139 890925175 59346741 188623355 816450015 821641719 765600371 832355303 781280525 871699283 762386809 463280557 21885773 472301249 577746079 300105109 266268967 998906843 58290661 341407697 103427407 666660009 70985713 862905209 766507935 980491927 679298325 687408015 215162909 801052029 575115845 730769405 294715891 939051667 409359393 471241875 819701877 862582659 439848945 619416075 165506589 905685335 467947685 816862983 378108303 175894919 356373971 822198541 946234517 386863343 686053051 713775507 951264035 935277781 862214979 724895983 796050005 286263779 643041531 225287011 285528429 33290547 843210267 11152409 967605975 203738431 858647169 443452449 717563687 772743405 838469813 133136757 322411543 711805067 521561317 156838901 268459403 783063245 834716651 84514925 812018317 309478867 702152259 18588557 70642769 161514527 232353047 518313195 366319923 264511903 795003187 165309965 920174519 859580073 959754771 591439195 918754181 271387897 636232401 438449957 496819315 292444343 106061113 68256933 603522939 986047341 740910263 167528187 961912257 859609875 369187683 748121651 845044623 931761925 787974909 751425595 411370843 294337287 922538477 155085807 788369085 331551815 889226815 327422479 225260921 771835485 707933869 707086917 96631933 980387395 777067415 348974113 427627737 801459039 80580097 217938971 527775945 558389373 868439707 553488537 784338609 802176725 168548031 86780127 452534813 586171141 433377643 299338787 279318207 400929805 65393733 165991033 671679857 494952543 55467677 229716967 666796857 532476623 349168747 560158549 116290111 419105177 135399245 209073041 977061593 760281445 794280843 601582169 369406595 252346941 568906003 308989259 391032541 842466455 700699775 872647411 44722357 510557267 813865483 759457727 745880829 915421107 526562977 562739979 699459535 256769637 140797645 9599509 285306225 460680319 501734859 515942155 9798989 135656319 374033525 466455545 819936501 643686217 909261911 878834653 939889959 233805099 95187613 644935061 351658179 640512215 145556255 904364779 819937751 515040623 542127965 462007185 438270613 509800055 544848765 262533665 19207769 84386523 375147857 855676187 382935717 660154863 835259725 638570983 63166501 884614259 385639313 428687319 902980011 780010893 658595557 268299559 478332213 234206661 435576761 183911925 392647397 968325655 840999715 564034379 911557125 458743515 141177313 118523419 955891209 773797593 384399197 161031231 255119243 768114749 434515623 391437685 837536083 62258077 232876401 165153385 536652103 751536375 610737951 122465197 442723195 766196909 182459319 340598967 988079405 586958993 110370535 492108523 569069503 171499219 218119433 615555217 594315707 865102613 115571737 494615003 585312727 221368665 894391489 917882339 612102633 616649999 376754509 123095975 709317115 513066505 303726777 320678163 813221683 455233415 632851871 968771577 232803559 28673837 38998859 308868879 622765969 282803721 377289385 114693881 399462357 445801359 534605137 379885887 461382525 579708573 727939715 827539283 653382783 765717113 131093029 976355725 267235315 357292495 563188681 296599087 505839901 110841781 463774627 282663011 277642347 211085479 83415443 164918587 620768365 65443725 371753505 160473261 910218975 174929585 680380285 222217885 920210341 346980553 359868541 127215059 149193161 705305589 477256095 630630655 452196481 604035255 118502413 112650175 973338661 342566141 385294997 913426831 538274619 818882335 759845551 547717851 134437739 778127061 326414713 559772659 734037133 147670601 17366203 216859153 707352983 491721991 995253219 670089815 144849839 557879043 851944201 87418061 184912161 359934363 706660335 551068515 954958431 689516179 149836023 434434805 610988291 567930651 27536437 438749763 437677267 713498823 570500701 634096375 968182969 850807443 205404625 163215521 298811335 733834213 505190293 926620603 306582585 197644171 345149019 49019047 521600117 608232121 178459001 204091053 82167299 291357199 522811375 761227517 557183637 70460559 227594597 378502067 650496779 120647335 361862951 778061007 959589477 489299245 220081455 18880315 770567887 853016669 867966747 253690311 955527835 419240671 927003443 703751725 319301959 221563581 489963879 663153167 773495413 491151471 874873421 618337779 218638063 47391697 529348131 298813519 104983465 290873639 976072659 740321401 175479485 475001889 500549611 562332081 720235633 105179345 898616227 331049509 221406767 292456631 372021209 755995107 646614923 249872823 621714451 903592421 923002687 658852127 148856197 679934731 942837807 192779427 756856833 36839201 569926245 947061603 551312137 118676437 126785045 17007839 170916037 743107523 925383323 903780873 864541443 206872427 182229881 379985973 116196921 787335221 534594395 975895583 388542087 840234869 901819669 964474607 839332535 718320995 254234785 910221615 692283701 649972255 224416803 310897623 777197849 320194229 649521893 401560897 117323555 302166035 379249245 501224501 230402745 105650709 457983267 521322721 460906219 917199995 960506875 769287639 894020465 348788205 150419153 940536087 381853609 748844287 938528185 445743365 312969627 343932199 214645741 212548973 864166647 354398155 229882577 221830279 808286739 479200559 581324017 48436207 950794989 88743815 810517245 528223659 447639599 921240045 580888277 56857895 134061095 616233311 607958647 718791223 238078925 801144267 981308691 180525597 839015359 125292285 64584697 202886265 824280899 735024563 166440357 270004827 899940685 217173131 517579451 191345975 389684591 422863631 368331527 849267181 735643371 514717875 126329465 387499967 170306473 257301451 886713905 57228123 214126901 869708957 180800367 573667287 558271947 95161423 783568541 289114031 481131845 102314483 789774931 134349259 726378031 493380485 197574215 2137207 634684595 481169123 629735519 810033765 619059631 76419799 208297895 765581751 287816603 825681427 492949841 219362031 372390309 731822129 52033463 287550461 465655959 166199471 934716255 251653941 556062187 457111545 662562803 694645843 503900863 28632673 87939909 589144957 635799259 841786653 385172563 836350015 677525423 660524881 472553023 433817235 151928143 717154565 810623825 304878545 317992831 436709419 12906497 938299329 895419555 894842779 803704297 297574799 808288971 839518233 90295499 660976337 750267053 928300363 415213971 991180931 366807211 979303107 598837589 568885771 719201227 671395067 3484233 607504441 619182267 437443669 451926743 741960253 821456083 814027801 441764487 338134713 734774547 32373113 118153997 530799791 137689891 724428941 289234245 510811279 902731857 840143193 689733681 233632555 275223187 183872707 56271869 357368515 405459849 452309917 389812989 690583035 492895613 157930401 255492779 76693727 730028635 683395185 114743979 714175975 277223611 502422677 33014215 316216047 967196379 607389821 535445235 294153277 128567207 498681735 879189067 690584445 524612009 568130799 749471251 354476227 359263771 254327009 379846579 106101137 659062235 226601325 239000257 819833799 650386545 97374093 201585143 64053429 464109835 496618531 732944953 891271695 966890371 694905589 383807377 15082229 228755287 307202489 460460597 888122601 656130219 390237957 591785853 779650777 889245523 262825819 350991085 574815259 708917701 765549093 684860211 320647021 555052063 19519155 725717791 638617585 363238183 202484543 581541037 16625209 998424399 83506155 427190785 100973367 523675567 245325757 342692967 4368711 639848195 728951723 273669967 603873075 440889523 419621259 813072729 685940005 912788945 406396191 201397059 858612657 179306513 796781329 316378877 117755607 425034965 347847665 603161239 493616379 806113313 39578935 772440399 700088299 886684583 345990217 328808069 288304091 298793917 838767469 339360453 781569129 488789603 892835539 170954437 70968219 584891967 618588567 590742111 492186845 392401313 935798969 103263637 558976517 769366401 352977953 873432465 493785169 698018429 481716643 141857707 832343907 538094045 543199223 521161817 69122123 329237647 322735037 74358339 363150975 547978285 887176833 304404783 321070299 628747251 148966321 283508501 332254371 543594955 944317353 528154383 102741637 213168963 523685545 127124575 704412057 800839315 192648153 558426993 583908441 710693783 266486349 857309911 560947115 269967067 572954621 121323087 315863515 737335435 235677897 767512507 779359137 515573633 989047677 121786405 478582041 215989817 953798343 657036993 478553801 237208027 283971139 83289065 500516509 398374713 770166639 649281573 252822251 653172679 160393401 175856411 83111791 376125605 756963437 137873567 380919375 122914715 781900745 746877359 683029785 631266841 43925995 144008045 610369475 359850037 503586527 30076963 108131239 786248111 524812947 990830661 71237261 711030509 896443873 595323247 336556449 9136639 545207693 476978533 629931641 774691741 583596861 680897807 802761747 355897381 990196869 551172995 785038291 537392799 888958939 599814907 30895237 404697531 436957605 563649497 292231521 875232973 801290535 514223533 538794243 96629465 905269141 508509221 949873775 446863233 137640199 843905055 37242389 952430617 289735041 293263007 422591177 244542615 864395753 47343053 530908359 460328087 848652051 210768895 507670709 671639653 866982581 221783727 720942241 715095533 750382707 812514689 217760511 932235721 260228309 294603585 72517549 928368181 202798157 404523231 113957617 524677145 582532661 814522491 870205047 321807879 189325259 733958739 307066453 615158579 589822267 299449303 591864329 816717949 921610391 624306839 918725493 409082733 559851733 621590351 582627307 876282163 349008601 379378403 757948187 26732965 162904683 632754527 447912487 238501955 51281725 828488949 251272849 851797299 472044007 818472703 405241161 243694149 463260907 33484547 293113249 615795697 120763317 177138601 72271961 913726549 782308753 177676745 172347029 769785401 337844411 659123033 116719329 919245323 862287701 735148673 517469751 168235237 663302759 527762055 598398191 496204675 538797283 379004643 907056079 56098639 241269921 698422319 729083143 811054423 578271075 918945069 811046699 742827345 841919443 557712841 604853303 937437343 265429633 916883989 243254931 854588741 241401063 252418383 63163401 194685687 67826791 679818455 95772367 303520263 617471305 840882491 369055365 80609399 741798847 128036653 854467373 624811757 740064993 97232521 355544629 737772475 590039473 456907089 216139123 984368085 593758233 861618353 693005861 135422939 875020777 738747899 935619567 507842837 193291739 759459245 824339421 62041203 695681169 942476393 953604967 921371531 676209043 366288889 722223977 969079709 211983441 706795601 394533159 638937743 260821799 215177357 411051345 101283313 244240469 419933167 656656123 408442875 388003589 945716451 312558241 55168139 725109831 484309501 626828073 983150633 857957397 436525815 720501985 246774019 194372177 645750197 272635517 247251443 897506241 541728065 83455515 686690677 481233179 318072017 74305089 619480243 405343733 228511933 744856795 579974777 509079505 660915081 157025855 281726019 893816087 677754081 538864683 254048555 824107035 680300697 379139265 183983357 662644757 440054187 365724563 784579365 311897639 599418683 902433939 579567035 518654551 199579541 431393565 650712191 467141275 663331625 699367161 613798873 747747783 33752981 93484885 612797909 287351969 159032989 446711235 125015341 561222353 518097705 518574915 652232767 284780007 919987791 262221113 769615893 880918619 65954379 12830323 500414809 282977939 514457981 20906533 11012967 239076307 570086257 699191021 71000893 68332369 824270813 998654929 741117057 587745569 550529945 443117373 358270595 116802377 926783915 354028551 880172859 965702833 46002237 753827947 659638855 782500391 898101665 453642511 477082607 230793577 20829011 198696449 563732001 942761493 583202041 630274999 767849847 723074231 680474969 134638091 127552045 590189501 329729899 630050119 169534253 164316803 453815113 282640147 394933507 534495303 583498035 42959751 950535915 566744887 972498585 7744545 469822399 753168223 678089485 964563653 786033931 588232125 668203847 999694015 15707643 999311151 286336047 847496647 790541927 691628415 138266573 575937273 338196431 900870241 408150099 183849947 641332825 471367785 206527265 434222935 687266263 645507101 803212727 257227975 664331453 477559011 544032961 926383845 117292331 899660303 550188307 507018967 980369897 896813015 504954533 835773227 866208103 891237983 362921375 421331669 42909371 35281583 330326345 697352245 756353187 236972985 573893399 628553229 788640393 127616855 361495461 189761163 989669755 38067527 99071413 29552709 293998897 73888823 285994291 854744887 39871753 733542579 106757171 60826569 364754699 601056825 884767215 87766981 198904549 468127781 185348041 521432419 730902257 645613767 116683345 546192447 728591147 877185099 890862645 344455773 190544445 494751691 605225811 160769325 919948915 101854281 719539629 504496769 342747849 886356911 238534767 659680665 889867225 138758095 190728941 360931865 664013039 973959519 644308385 461284623 870222583 878300931 562428207 245134831 144447881 950243395 520099171 920129431 864310757 11213969 536845869 309114189 28292081 46871109 740178091 722108861 794448703 842831267 513256993 215680509 64324611 829335505 287019255 833335433 71090717 943465441 111647683 715601479 781377557 612695501 888175679 541638023 994396699 721681783 443073615 100148985 195911939 101027751 58023679 62075071 30414161 511963919 867953535 851656027 61064233 228320071 716482095 34838203 851279963 163266513 27097997 451248949 404894559 799831319 819961673 318184071 892929619 794376041 42462515 191268053 288263421 675772929 211914823 460234155 330883281 132490753 836880811 56096001 29624289 801637745 494541221 589155891 563233775 903883329 483406509 296510727 703291235 862295373 566012507 348348073 935712331 314706775 468665461 740193965 577035613 678285315 448451557 871678995 607812347 289288423 547988925 41747009 700147753 846929021 421580347 179253761 569344921 276789025 382241215 150715529 682969761 894660641 810462679 654896247 992954945 86052523 949548597 210012881 499983391 960478939 823082419 413963269 172629389 838458033 5308759 478143717 980532351 760526103 874085707 187763119 484825237 530851037 19979235 964496651 217628695 624737725 624197783 316824835 69889269 344792409 923138319 930379791 895096771 39431735 625659411 341597707 263344325 640068301 135769239 542802235 791855839 751704177 899596983 917858127 621795489 118863461 936612533 52708441 985477443 832997585 740062205 332932057 756799905 997886921 645775393 647326643 673579847 814949445 45853151 61687093 495741283 745917221 568663577 375988243 757732297 499207221 660561113 100920171 969904635 52688163 225951827 726683843 953550369 128838283 954088931 301711111 842744327 643471085 432719115 9228173 704209961 317276595 606678649 640563473 733094049 10552875 873505531 796587195 902420539 70495891 254709905 760369429 293159779 71855369 972452701 424822037 271718705 217898137 266056363 955228955 285254757 265961521 987231723 87275497 46709861 740713389 919184315 319137199 666650177 747344077 848409821 788028671 974486961 237733945 413449023 392238553 878346259 502248069 170741489 543172255 717396335 584787241 68589359 50887459 574506869 782138757 886619997 723482007 152709755 250517475 546340357 553369 151744639 67692661 429506013 560041263 968709163 726444629 908120253 903656899 12500941 751486083 850404523 809716015 409819741 372077287 355185871 356232877 964420729 232601429 580073599 611413987 522095975 389470339 817151541 97095135 219112475 778237205 905486999 543858199 35768871 265042581 89772907 425939301 834159309 90801265 974775465 843503889 946948597 759159555 533897065 327113671 911141163 17800847 470233329 969298591 173537451 580875835 33467819 45834769 109998159 761224987 28538921 252643079 704709793 648823589 739994151 57132491 136283089 998744637 878811531 413438229 936389813 975874859 130890075 557253377 441058765 506284193 18125519 535619603 716823617 580246073 876491841 46554683 967731933 459306353 765118515 74307531 801052443 697780917 772913231 929111171 210918425 689940055 529482861 817236103 790392223 979490701 218707333 375016805 985339675 709941115 984241337 610048273 472283303 837621801 439155799 626138347 431054849 420590985 563485905 147172531 594789775 380844659 397970371 602325915 747657569 642408875 56740591 890576695 390014509 829811927 152587073 597735045 590794325 376208265 127111115 87078119 916860639 731937853 35154635 868263725 598294649 956373839 872070305 895828109 331310203 723815949 194425053 594784163 582493157 990701479 318193965 877173107 37159007 48660533 595151471 486041195 491157301 387495355 963021733 475809121 246606947 626628895 641961723 245224083 520845187 896959795 915469509 997353125 505277153 801593265 343205501 912799141 300987495 498593339 476482501 539529223 420965553 513130329 974224237 544056745 478641661 809450877 257338979 405444815 55178033 579581951 551967941 247785257 274173663 113454113 40932053 799341259 901856827 500365325 402571263 968322865 661402661 270618579 501515223 67535425 148038181 829851245 347357463 927707979 314673513 773215933 839733923 319849983 39838155 659643531 128770695 736265085 378843847 460798855 848218355 441726283 970531463 441984077 640332613 744909399 136949465 306599773 952953089 603266547 451532341 497773089 5312719 652294365 72262839 110281193 658333061 245809725 345933611 915795695 674258207 189244573 518238205 72019285 526268861 841194741 485361735 85453859 208444587 328115105 272553669 696046665 254592863 114217831 910873311 119127459 546716785 868407921 265077159 254171121 362055847 102652761 981280465 746351581 329741801 814034969 950665661 266970615 545072719 960123159 587855989 496629689 970874639 540639777 629865637 310972547 544543119 132968811 776045221 214349473 198990427 550968467 711324787 898728001 991409189 760042911 959445179 116736127 659705031 292157435 764382663 585558619 827916871 628519805 303651985 347580863 371752399 286408545 276770743 43510905 170020017 738434383 260916353 270281543 797897579 740931665 257575901 290672329 279659677 686052319 478256997 843334277 370217493 190587603 764316757 631727599 969386949 755760759 555978903 60953953 67334855 178205043 505099193 984714011 893815905 145175263 316961779 544652871 625240317 912505657 267213601 296048115 313173295 584590693 865720783 873989661 604486831 505272241 862747689 323780259 280511845 765546705 499870471 284751953 388571737 152471779 155795691 869850581 968634047 174385773 616188663 887029963 975664883 168254297 847662079 640999601 740605303 15821825 851655031 314093045 167293431 430047775 322193023 718452965 276750407 486759899 6939359 229024441 545473377 898059967 129455623 286350997 437678183 43208385 844745741 129357955 947690407 470046529 965456049 540028529 455162773 278137345 46265433 470857019 845045193 368238639 843608341 932359071 491753479 268608353 408219549 895355209 10616635 33979029 141264463 393958347 427825785 462807855 81025587 268362141 854119419 498888699 318744569 796040479 869981733 682124337 359060725 897925019 790595713 728407149 943665195 50362435 92781765 565323699 310711101 602523953 319054281 437448819 793552767 564630115 493400209 410439039 563360487 489122501 509296457 692024087 326639377 100650281 490570309 499884001 896771145 660458821 888278785 586572261 248102523 541831869 786948381 579281311 585208895 46561817 29600101 964054247 770706389 542893003 428831951 522526725 175791141 559727405 851287923 525791909 487251387 257727869 693827991 377587933 568094675 39961319 920333987 267088425 210655559 261120381 247669293 118318193 469704609 789095989 846057713 855864063 924132881 442042867 322026447 978685835 554557549 43446911 580690643 377847599 785101365 683853195 929735731 61350261 767887247 513364911 32311111 692531013 30937675 231758191 414923157 545327609 294770913 853281841 479797191 452876873 599781743 139502919 853650607 921341791 475714749 814917355 869214795 792513991 824526137 26503999 485423291 366245493 396973565 368122187 370729805 14821319 190400965 741707265 133150579 411310211 857795579 559213881 759067079 762203861 550791085 863962293 683445519 749958995 695346321 458445087 944152885 87326201 990217 549767943 574579275 1090861 724874777 437128681 720545167 37162173 698550899 712057633 8488035 410726623 660251503 208287485 783002959 207777581 323465993 910985645 363831051 56139183 618355177 332632649 931843441 354385363 96475745 237207507 110943363 959789931 86169445 255849525 37320557 906229175 796915093 174500671 662081411 166865497 644304441 883619243 446201663 722119267 519413313 385693723 874432323 190022471 119709507 695315479 194031453 467097059 653037183 830515471 658598785 606475643 48564187 1075551 229566149 889349311 193978599 144619847 774906483 944339137 438437851 428239857 560850673 416475649 501463701 902293101 643809493 819325285 381980059 743189685 724354009 777133367 997312289 881006251 995781599 101097517 948761593 236170005 919563767 664010341 727441575 406811817 469266767 636752485 692044365 130965757 791702597 459050009 614468031 607948691 898611035 7692247 292967027 521516243 511366207 703016285 803307397 955491089 337284289 932602061 899732161 815855493 96356317 51037111 607114131 709297489 612541111 637026321 917490707 694694011 292234137 958684983 920990721 679996153 489080569 647377133 160573381 805852577 741383791 820733539 762325867 142521651 933230015 637504811 369447853 242451293 691184599 478960197 55589097 759393709 69832135 635034389 729367593 44490909 404897227 731993705 265326615 387178637 589707847 857633653 873870351 315587785 956128967 276957911 574493967 13439 164610299 112502677 2292413 956689355 667237315 998559259 304188009 6249131 257879069 986186557 990696971 240456717 565436985 383944509 965700929 58837183 251348071 853517499 201234513 717070969 507535397 788831175 637058863 438808801 7356179 734492375 631688301 476317819 904394239 826231749 359942735 411069883 303158747 949914841 365056439 399537659 886187201 837019585 139998521 485667451 70694647 343047823 234534411 796846435 431611367 22181569 55752969 338164935 367049507 222962751 373301183 225358749 412350825 498854997 740692825 280642249 556678553 292838583 652725679 478540309 334497729 541193859 442999361 259003695 674144275 341619517 526879029 693402289 116319211 384415701 840130653 321799967 477856971 502779295 327020589 64870367 8199005 203588951 994737861 506657861 307992697 641156643 161192173 168618631 952316439 610784401 308182805 776212681 920075865 566705045 373984851 412714517 475841165 363491213 425565541 485344601 767139365 12697407 446578101 632302703 60255165 65450713 314829393 178194715 806784023 129144557 920863473 968972803 855522081 422028153 766425843 860237241 794092777 549121765 171751007 243083705 2289839 622167803 567470819 980175201 437445589 601018355 150190809 888036091 184700133 463278439 118406717 812568761 302875283 200747361 543730617 528236467 605575355 771244361 954858905 276780779 15728993 613978361 54489305 687072845 320218541 401946027 391393811 635227557 256298229 313019141 568854163 813861295 491147699 363547667 512407877 371628813 976790667 34943567 560818113 456858951 972793671 521018001 44416327 631992783 730071003 417109023 543666621 586646269 419356005 256984489 279856821 126228245 414027043 738240067 426549857 76492605 789138307 441933419 566475943 230381703 136981273 967914243 605362185 46647021 930314145 904087131 807798969 371862097 930119931 936162601 862073739 945726331 519996467 399144839 51571971 226417949 408600191 3228157 512608325 809444047 870193719 510339705 75081761 496454675 23491041 3454797 455296527 518988627 183711525 419633721 845947181 551535839 244555225 938329441 135220545 457654769 115245817 765720657 817077695 762682795 53930917 893700353 234909881 209404949 845388331 222909133 316643313 707113249 554662139 664695675 644537295 16764839 560365493 556163637 855647841 407307369 978971161 331930773 204512349 154760465 792616209 173578133 472006181 383377711 922197429 931753115 711244477 256213309 23974459 660074613 776711383 317755291 255115019 411124313 996534729 30762389 88439211 833007841 66602131 640499803 614981075 886020373 557543131 214283269 679006813 749592417 751100403 165447317 98858571 239419547 182563791 928439539 607365577 418603265 954861071 993536499 193358633 158748469 453945595 513869645 189866985 92482377 416822915 910280867 70463913 390122415 48495419 947103867 300119351 675395139 312082791 981233995 141449093 494794063 838444011 773748329 844921007 817857659 837095767 779047191 126864119 883021281 257169633 424195453 713896905 199988987 702254955 843888559 80229049 127933871 597658747 758270117 837276801 838582603 583937855 293190977 804513283 123913091 808903569 598391625 646200143 325329269 400973549 969139315 244891283 927608487 161391485 718959443 748080429 422744069 42839821 877183599 60275359 655073507 944971289 849347375 728462229 607918595 551349947 966576355 778486499 384610949 174361535 882828739 956942979 107255545 30312337 988681717 629109913 701257301 718645065 182680189 434585711 605253877 860330919 706451023 431432057 413393821 830365713 697193285 602571347 504901243 502081431 564726559 403785665 800790053 987651569 480493189 721024939 48734873 958061181 73329163 586785319 906842683 455247171 188063017 61702255 859327705 57768435 6029631 719130087 747696807 894320355 757021335 621112603 351091523 449527313 478989157 924592827 918761137 328933927 414922941 201173157 764960865 490677107 920503205 348008157 443303463 518875373 428087811 708390027 842795839 508739889 431925675 462331143 403889999 166351755 31827283 429706951 668009317 958446823 672999327 302957681 472840439 526887647 910157849 688025553 47757023 304664239 746481199 710766295 891149413 832619585 980146235 794319011 217843765 167448865 503612033 540936819 469776741 653346185 950904871 846960823 226370675 788932953 927312961 698198015 461005377 961140501 942951109 401869833 750163233 177161455 923392919 179029173 949084613 891328957 555721599 256456465 266725961 468062719 24430895 583803471 336722743 138600155 667717185 745772745 413554807 310791459 370105907 988062469 476879971 272032843 241703283 671572141 784689333 205715315 815439437 89926035 29789075 43187811 69627901 963732149 805654155 142016649 48004517 805475635 117961105 995690495 924614477 857333595 303673347 675950723 263418087 491212191 610831783 268454523 130006861 534219163 661877673 140870645 908918589 135370513 548448159 710642093 942646371 731451117 158252165 374968831 625592911 343478339 842342851 221785587 144197501 165538123 737080867 216766519 361221707 7700077 373130973 83041827 55707651 352828209 820899467 166351543 239561685 733274443 456747061 726585755 754294751 475218327 34136649 306627611 732018205 186434839 137693081 806054963 738161531 292455415 666024549 246213501 525256393 630815883 410220369 2815555 39101377 221734989 151362665 902333557 384020997 886024929 903607845 318792873 450459677 727464721 349401185 916000543 646383739 45022673 416181091 765205693 793863799 205163837 175700695 885721109 825770323 956457369 157285075 245261913 892334905 824178253 967444691 349181039 380339769 498298095 160182973 245455321 333650253 380276793 689607135 828331975 480443223 234946319 675654127 82657811 353620511 180842363 559508999 999891513 653978453 354278323 958399919 630707299 883285397 201392399 669608915 972629599 503468897 390319379 172214217 900122277 351252509 357511277 800097359 786091345 630404383 631365613 523528329 932476207 240880799 85389199 867346691 455029931 28538559 11477367 429203637 576406239 138489479 316760305 863261691 488656007 729741543 188989805 440628633 738270987 959519163 988631435 639079359 870513021 38180035 695906313 76794111 777397137 521754281 127517911 679998297 731285159 761085437 705701381 700057393 986617545 171310649 193673935 452608085 204690851 197547197 760427675 98174715 605458317 114289109 487223791 755571389 865349253 390346159 622403459 55168419 460857143 559939431 117375793 228626201 257199085 981036541 702490873 590021877 734335393 771790171 106965515 899590259 622683377 987396945 809012663 879070523 872178469 603442839 209176187 461029975 152372523 70642643 818524407 566420797 747331741 624874633 969518841 635631309 764935863 190290991 225146995 23010889 812406627 251141913 40723073 780552801 756984367 438243213 973856869 884380199 605563217 728580787 81239691 96359963 401097387 586336155 952654725 992171297 49528515 575218237 708597009 540844935 151243207 940631679 686352143 868123137 932279439 645225253 23669901 477693101 521855899 544404195 212245183 699736079 865931795 607283027 292820475 733046807 376868035 837713397 204958921 465036569 851505447 292705585 110461139 793454289 570908249 951090011 334631917 484146021 77143075 713300905 804431633 886656611 758714869 582440769 220423523 845212609 402628581 749373479 637473581 604272857 385853363 697077839 415404259 398225267 567497157 719339667 354536993 937378493 558946347 544724401 578180265 534423113 776540573 472858455 324227433 937283861 330923129 621140753 310375791 377304201 187856327 847160157 93839099 788340593 222828597 748886169 289542255 866281729 912591645 207340047 493578071 916736981 943900027 342927089 639135587 565974263 493847801 802547033 894287729 396327631 306884325 811435845 479679619 450207287 772494647 180902817 396667591 196779881 134610827 629933375 196591757 321643275 670181933 538799573 339926353 442042155 820578569 754696967 425140919 513245245 537862327 82956127 165520779 955943969 204356471 677365067 954501821 485176599 438319153 607129637 502038635 741050067 797231473 140373295 921926361 556289381 521733233 105791125 758161775 913188427 399729681 343061603 359528901 868297069 842580949 43639701 289837713 518390805 652377839 960234765 797331129 73068539 316505397 721549971 873925193 615198265 117424679 799116249 512620401 273180247 746349547 105304951 960256913 630854467 56664145 504194033 724339753 445840975 247567825 580922541 440410083 686763067 840492169 375668989 362614679 949966891 566449985 151783707 247585083 96127661 131012711 326277929 383760629 442574005 506894613 425653295 762991633 760700577 389948935 577022239 242449921 382500663 990880935 720907217 238238049 987822241 843548675 429885447 273586931 20373369 808006609 657245291 890137249 740524475 45525363 851863439 342160515 955187145 771159789 280567529 281114575 758764403 906888689 618456029 17966061 189903085 599504087 106606769 876614501 374768087 368619419 364979099 619991787 717881907 80687845 446657457 83630683 758447983 773525765 788264437 914217399 690398563 789154549 807582801 213063723 862791495 130609999 541151381 143833353 408826565 305693533 953961851 954804943 538486503 354859535 521842597 928244255 949841189 75289851 556226203 376746179 833384027 260938593 257720269 308837039 309266383 693531431 795389335 644974847 665891371 872348637 848049723 370310901 718033545 433270713 454103261 546531581 492542819 97607837 668622995 143690667 605275039 373307151 864996181 838145721 471966603 100570943 14095621 774841867 505480667 525935105 299365483 295343275 913850543 630334937 595758647 788662733 588524169 524306409 726286853 914371021 335255895 781920517 376010581 945079599 225741679 366404771 250529937 795768731 913232525 706233823 329784329 168631527 569117401 754956421 195492597 106568205 975421405 647994881 29933691 569653297 523083153 72694379 578146975 405929885 769839441 637330307 3023703 794821319 561979105 620553647 454517625 881826119 263099247 983520513 29689287 552651491 49305747 396561453 109167081 795632259 805456711 632026003 91634547 109210941 929679601 402738235 120455901 661146445 411588189 65441493 478438023 340734227 423747267 148875959 260876733 175613979 337947329 923630817 170201517 549709339 586694487 617669369 620604531 464190443 802006775 411781199 847414287 657350289 937601653 98857179 744319849 274943541 853847053 119971899 409623381 132664623 160100455 983004853 54617481 519432949 531059085 162976829 42208683 576544045 959490037 856308581 778960447 103955619 835516287 645073521 580835257 318073929 873498733 685440579 88008563 661628985 894767725 57853807 54100653 916501689 631867797 293997353 268166543 380982579 587173219 231969363 285967917 693738297 303022011 970248819 597016957 923996553 171812331 217598647 676147299 888334083 482929573 707772663 14730409 847940021 405185035 282527411 297677821 761011153 342836897 425491473 201991417 97581235 132489299 866921699 358456353 218242013 950648949 636445597 35790043 912295931 6324679 470326879 76474491 856166367 358517103 801240049 191511351 444935047 172102133 991873219 719037237 662610709 544454741 134097387 438431609 600896979 153555175 677852711 27442423 292089653 389005939 394815713 69566343 232472023 193186597 67754791 517423341 106178683 326445459 380336817 648990159 813952269 155052987 424126685 31363775 296588705 800671743 178018739 357905209 546680177 265809457 558527201 320023707 155564511 662351489 67811009 676361519 273826169 125354641 184339279 226842407 930018035 65618531 273470261 105796507 606310437 869770599 431199423 327872399 35344659 970222959 656109801 762151145 150028009 76678587 464140365 799593851 684156155 575648239 680299575 272006655 422037443 638606105 339285395 160329495 405855717 829594285 78449145 216702539 808039211 363192201 261587113 548168461 624642443 647993587 689719177 265544117 811041309 555952535 200830505 537844871 757695013 449000075 991161025 918235305 337653265 885276747 598299953 530381101 824265329 376908223 11225085 8807949 348108545 442478897 28878677 620300075 657768357 32687959 585303571 40039247 525191017 579222097 355697333 223726379 278319997 730016417 307274337 808801879 52831295 415824437 820520935 877411413 839270963 418317157 293016255 310348687 892313859 342445033 308206085 388686421 100541569 235335659 359372677 691387873 190718889 170786551 124400301 221834069 134177695 890126593 867088273 502047417 220001455 816883559 295857139 44109311 545246539 337299949 159920699 142577663 34929421 531113411 714463351 24140667 272880059 423995005 809288541 721401373 889968191 419007767 503127885 225582453 54514603 123184887 622532433 284862973 580120125 575049451 690532885 23499285 761315925 611426855 109882097 556958473 250851713 373849931 13975269 919492105 102339955 634180441 49406359 257500973 411499269 579356351 256098905 59086455 417376061 281777747 773974303 283547857 561718853 260760657 275170697 64501003 691146865 243479393 841129439 424715485 834871609 757357965 305882641 904182253 658203717 913984845 838910643 388964033 859689565 990438013 339281929 330346441 594060405 974501217 278082807 796891233 787971241 799159721 247414797 254512585 460596027 858003303 824791169 148487211 436242327 481702427 87372085 349484439 577028431 686412201 983584687 900095237 749453089 909418335 591097629 919040347 905717743 293646065 397642585 964405341 256600515 324215165 860444127 518720961 7847633 560406665 539088089 615993885 324617845 892545281 267812371 22173169 637038129 461296699 660637193 428897963 467155633 168056051 825343189 244651417 416152777 485535825 306547521 783759091 685964915 563741919 724048317 571100895 83336659 339577237 376558945 666190433 167783987 628927181 209796839 746149487 339655945 412672847 719515069 130333917 499797229 388224841 813867245 835717489 362073763 72469837 448652849 225464017 292050457 21757275 185434855 691415953 858901343 466082263 990513431 254022953 561810865 423069325 946857585 718871289 848063603 247082933 394748235 852896075 170521647 88400107 84239267 437616723 404445083 589310005 958413347 544452389 462243983 832269055 586707225 872571591 308032783 688013085 842656637 8501023 141713993 906208719 508233195 424417281 495684493 842885819 503956399 745789475 544270679 341312235 743318453 176663083 293428299 812790229 567839639 965627805 640055861 46238809 730423441 589209581 845503239 628336057 609625741 180058997 543028187 793769123 454915863 77935731 721297399 76664877 378156649 288256531 427888067 927390931 247178851 994712935 737341399 664662909 414915977 751411813 195189225 551879799 84714509 394131185 405779935 884200563 429416133 305267669 875450053 678378899 824945201 761452479 975064013 722077273 412494711 656566857 338486099 924725429 549103465 231794423 726458327 153916667 821285755 274934319 93568777 991666919 629105869 962565187 418916539 124499103 15451943 531529839 95021029 352146863 57354231 414211023 795078063 657373201 840026455 49843315 706929761 662976797 620882693 467644997 472092783 761926811 33470309 506680869 293594483 815966135 624600203 185870543 801302323 441221639 676517677 445327855 750648985 96001159 14407081 798004503 941269177 213236893 547196677 448628925 211690445 268515609 667312629 264334661 309079095 96351019 417192395 703050743 251728773 154573173 576702857 965352453 432898923 694639865 145551063 848338311 542654655 496340005 628470017 72227967 776344203 27421649 601879553 279397847 249251061 344031287 988726647 229384287 631715921 931433979 720368551 684788691 359830045 701719855 189567619 764624847 477578747 380587077 594163873 380096225 559706805 973389595 541963841 956280185 849889089 624331767 121409609 71712495 154016695 799003781 399966539 896064133 375204443 809810137 518653049 902220901 7288985 640327283 421513913 620287135 736784389 641139513 361440141 424611373 991756633 251554933 473185317 685902321 754809721 764561885 651911259 816914867 910928497 787712657 918916523 58076965 512436337 309478419 81820223 636795615 872234711 350246225 199270373 88100707 764911911 434470817 636722451 961272345 857311753 63188929 918692331 697131607 255298643 767483603 4454195 46300753 28498431 672831337 868340569 542816809 190867761 773925493 345839479 574672107 790893365 315241043 296548937 353578885 303638909 115171277 959685943 515143123 198872227 607050507 506473811 454989205 758518637 336383143 373243473 570873717 398041027 579105947 639853969 469585923 158316475 283008333 56323869 864399033 297057937 331772043 253104289 108580087 848840613 726464649 29045877 282191113 218240901 75203301 951725207 63570205 582670049 60888485 178451889 35658319 187109785 64951349 50761747 572033439 873996717 563156587 219210415 15631607 340770887 847596421 873558059 765367847 962779839 466496805 537891785 797208553 234909579 297533531 519385209 48428765 163810131 658884765 119366101 907618957 459658207 987719879 384701209 623584365 732821283 171652125 676081199 535444691 484273721 674649421 800428709 155710975 806213223 581927279 346588337 458663711 720200215 513551101 141073973 642064193 552549853 518084315 569804727 642223709 754165617 672073563 511113573 635314777 569976507 135212847 210581527 670354425 146702531 418494581 788362829 367827953 71409341 904851379 281856815 226678747 782655749 251713237 869430153 394018103 935056413 944311343 495968469 581772909 321285553 962982787 314299955 841477585 961165205 219558641 74408807 183744155 298012353 411424777 719290851 962139627 770169437 476078273 561440701 435343819 662871217 57461875 435773109 198928941 838010931 564664551 41968945 706757099 974746233 212880713 690281281 989379011 860675405 234006831 844022685 195144547 340190101 115814295 459183779 820619351 712283751 837794277 881684827 746704669 615385085 415090405 728767603 608355859 272594107 246541263 576880965 323397251 538822187 822773055 948453069 338138015 396943361 796046905 157012661 855295361 482311449 374738221 950734411 458864679 839303799 119836911 340388229 599122559 660506179 170464699 291404293 47275349 724183251 454553143 598074897 435955815 626372001 615790705 327258519 753672531 451234385 533575389 354289455 246189731 790354863 879261529 482971417 973988553 762094251 419493931 764955197 825755933 303172965 259755775 463291687 839339235 578821659 224673259 305762065 831155777 936320061 537342573 783570651 10797897 577900379 343248999 246000137 28743925 695558193 780535593 427575757 500868647 650557861 367618665 578690045 964919463 131636157 273956163 310762007 928144935 221518001 886752571 121767495 470004033 730149337 307156801 524885591 804797043 4191419 368624295 756735167 169166633 875346945 64025645 498274211 487545523 494921341 434315511 932617155 985920845 870105643 401188241 179656597 351362323 148277553 895502069 337477163 757863699 675932375 53075323 983625289 969312317 942718607 762758633 482920275 641472105 846177529 886379631 475742295 152475995 673080533 587701665 946647313 467101113 623607311 847011707 584264925 401044501 712000185 334357605 236276673 572494825 362205201 533814313 222409071 240588439 119351671 865265405 363290685 636930663 887625593 977993345 345586733 329341833 525830857 534173879 31843809 49982233 255305027 759231757 428189099 121152025 723291881 356807513 370734211 979759213 69650151 828687065 402964233 827993581 540189841 232598321 247956097 377434445 945050207 60147053 783689181 729144623 926583033 238390021 202462899 815145247 322109479 442164437 145852993 950862989 878263261 130487329 5445233 903560657 746517303 805028249 916783315 215902509 636074359 748218961 482951577 249115593 406085899 688643269 102525607 938878649 461262465 497914331 995994755 188960245 89375129 45455841 354262365 631116127 148770869 603199371 34890249 97044927 539529055 87673079 980142347 78704069 189995085 250184363 301106565 673769229 104295767 148883091 16984139 897302295 103100161 864570629 345283793 686016077 367532279 19417023 693576761 743655167 533541133 15549155 790025289 511336039 885211711 892444675 167720047 64516517 48166827 670487311 154016963 360341189 232766371 591377769 598129413 929640373 427392661 875822803 820347803 118346577 315065377 478907517 913053847 795164249 321583109 488744953 332517549 749959285 29255985 229857351 275592253 241470777 970688181 464461515 693910607 649268509 541178573 36883539 683408787 459551873 447996381 701981715 518233951 959253169 923034481 421279401 849913523 244650715 58109241 897562907 457538869 176432411 724553237 66047445 609676853 248879473 11886339 845579693 451938217 357836485 526599219 698889951 939679027 727043563 467083765 666088977 847699737 776356507 455980487 53305169 907565899 58290805 254141769 810153237 936514141 217332227 546130249 44780855 835569811 167773623 625354423 998257665 472801487 929718507 795894195 139408667 599276965 651938015 700590205 473757 539509321 725063099 354065023 239580165 988036509 951547795 866105169 978300727 945351973 108981597 705647529 399725439 624076821 483624447 707464815 975375509 742441023 759380285 348985771 581388693 111939877 437387467 621649809 768388611 482846445 108695875 877124987 295071439 621838183 759060259 947207919 393911117 405724939 255799257 311927447 444816953 825579001 186745521 685575495 6024889 662484725 124500457 597402361 782775131 557717105 9978271 308642767 143889171 932529537 154017501 547336471 644321857 411029225 566678165 555391555 690572199 721170957 124333727 818584559 463475571 753450493 513085631 750770397 808025659 316212337 971890587 859543801 617793531 277924551 586829767 867383383 684551963 446521607 626681529 125886001 914470757 804979935 770408405 400990699 68105489 205130919 335091555 278624783 691601851 738344033 345568661 991537489 394313575 699283631 204312451 720207245 998547845 486705125 13453873 515332293 51755495 5916919 132841349 298186279 839293389 374563463 734036817 830488835 660549851 813660123 842155089 276627925 183745055 45519841 528644385 552677183 403332365 60476977 546744145 572092177 717918339 919219211 38024267 560930105 928836039 68886869 232782959 790282453 683363717 799039391 939053561 273675049 178692307 548682017 147123221 25825437 730352173 296832955 647663571 641771463 686016633 508146673 755210029 904387681 926949893 874451443 435181573 501410385 446887303 652803227 223087395 303808157 866041627 279289959 466116921 41034877 10922309 510285437 658528735 901715529 389008371 31287213 749912215 896834183 99933051 991494509 770032587 962208479 526456219 480772831 452309451 610769191 928767607 530771401 915920851 793491035 138550683 863162777 839375103 56060315 565323007 34998377 861855069 721432883 97599999 479142901 417325789 241746329 217290849 417712295 655299671 370334311 322485073 567934093 790357645 64743261 2886755 236115037 385900841 818705771 450339991 534974071 605039547 176990625 404664659 697045477 164808893 676876861 559634785 452309843 407395985 51620767 255002103 705216025 776662141 42520405 816542643 805810487 989811127 490166545 640377243 785611859 36886613 462948271 714815003 386055357 477770329 257615409 233486347 292497005 305367725 987681473 429458851 442850563 534387745 327797175 880163213 386410691 650964591 719436427 469059027 692055453 512209207 410499807 947487469 830435883 430697733 341144961 477539511 787501739 696328775 34930531 160276341 342307843 760355929 923483297 776371927 474361539 137271931 517479293 77746415 457777697 768306391 730999651 5381437 602230015 468617597 113926631 215937957 729515235 585947495 114057155 185036149 54610683 741394293 187859929 502157921 80511265 765981553 871706167 511055751 483858641 881806607 458682129 154750573 831288885 341567717 512054205 318704639 541804825 82023797 205464517 220971923 553746935 391727143 477334991 311584741 306910959 602282575 567818929 805137437 129352389 941334053 245274725 33138885 834936299 818931145 643184397 419538643 495004535 9499717 718446585 612064423 521915433 908599437 247205527 377057027 631144297 254743669 260852101 638456341 217591363 77013955 296919943 670021237 43460721 699372319 165559941 114513949 424389969 175771415 60358805 209583473 86672619 754275625 125648625 928339523 584232175 92819635 334706429 703931077 674847665 922895361 499196227 892304533 646677301 169137985 387795577 427959737 296284703 801465229 205136503 177463707 139727039 706791401 278517059 312818197 708901387 14949435 506791429 240606817 220319397 422835287 925740563 969814565 829576147 384854773 299979241 133906031 489550467 863918261 930653223 158083765 931826255 167525665 713278617 803230161 694702195 537531307 710318389 32459019 880404183 438826157 876231443 529305871 544894221 422275173 321625977 560442611 848044361 726265857 99707089 877675829 624043885 348521613 393082285 196983481 233553917 740302855 362136523 112801739 836523819 577090125 895735051 336200483 538366925 363120169 217184379 654919389 907570787 808231501 584997707 652509053 723347475 918678097 402531803 337399539 335909295 128409017 591609515 167851921 641868969 231801579 345791335 399947543 193763367 867733561 37446625 546819497 28964331 23762143 667357463 657482965 701402469 419401723 240011817 167336079 625736879 814701463 611641189 780382773 124501381 407071141 292714301 913490317 357594193 106301693 126016333 703813571 554107681 89377889 469400919 273986669 353550509 405801339 168761927 262391945 342905683 682579933 682216239 149288825 506828313 467097597 819835981 499052045 921489331 798704703 507880963 937643387 76218227 660734443 516329947 904729183 733956187 842865715 675477897 776735677 643701267 157928751 999727593 85238787 214479847 246902497 319952381 944094215 761748433 200172083 693594609 284916231 634901873 441135605 552753689 452663975 264139019 271578595 96697327 320450549 57424529 184968601 164193047 175865957 392068761 469266853 148874331 307348949 969922915 106914423 213265583 327866505 175456213 122154855 755055663 451405361 318901887 676226487 586395933 617774305 243194009 283419025 706514663 404214293 278031617 465048325 14858013 744356787 864467775 508509455 163658875 653048073 25857667 37204619 834524133 844692941 833842851 517745991 467889509 235381529 690564381 503654643 557002031 494951541 68518939 694458407 140437153 283832015 430949227 303313253 828739385 584138105 834189699 492800023 80962469 491542833 391847045 547322765 90288315 554796319 862559031 721261057 538168433 209522637 398607879 785503635 363453677 15369267 752757261 306931535 593190777 80961709 414177803 321297445 244421515 821779967 602683747 590542315 768064443 261800537 549309225 970968679 474239183 247859279 873892625 931528769 710915249 742707165 522219131 621800457 865608051 467472233 389621105 846989625 948339281 143200449 937694621 506675507 939470511 560381465 707923803 922939965 227240217 207765263 270801065 554028173 381903937 873596329 362459693 221287223 161552385 591604563 223440441 236491073 779893855 745038307 265884095 510420115 763895941 875776661 885785955 659472637 757311429 71808785 843170923 234758969 493589661 318558817 103605703 269038055 18570669 797941757 128327437 129041555 137732803 47802047 856177531 859190443 823741905 649397233 988673787 113407627 273035251 933883451 526401307 58741875 820812907 649445045 920495633 766695307 856541603 30552029 317927359 147815143 51447859 16342167 174963883 621486207 213573075 890253105 449622787 864408627 797738597 283202655 750633375 558998733 747749111 247648831 932077823 661200641 630693051 819847511 168420939 177352291 63528461 371007377 858972751 753689209 62845807 46650183 987139717 496005545 175944845 788536883 94210061 767180871 267277115 369534589 90320043 478789003 380485235 286183855 331046865 985074325 125607257 755239871 301366165 899241327 435459639 385303053 383931319 709829643 800017793 399011931 937437853 267778371 95340755 4798935 164733527 531735511 823393775 413224471 266509725 549261679 136702913 471307289 240225997 712241055 156048221 162582849 785283311 917515997 936326909 544277083 790042289 327572365 260362501 805637279 333619053 10789623 261082879 704224937 107929631 701749327 735194785 31360381 598637681 408037289 395971779 175202699 63795121 816012043 449923689 927978917 104260565 324839771 712254401 627788299 503667839 595561323 408442651 200349027 876587509 355168503 206439411 35229109 13577765 434022813 718025709 136119165 119228327 2975719 940877267 855530131 869242043 501051463 93450395 803317567 497814089 44250133 689547869 876899629 816592605 955675797 253222751 593410675 330765745 978488813 158205705 257308301 941677989 319813679 290602225 26284899 748951101 841659479 984828883 562178111 888658091 891425089 778186383 419942105 648514245 694016701 254412083 767599179 500655625 320602741 590224367 491991583 519172769 889854217 999510051 227486525 828521053 487851765 126103885 876555519 995129775 492533157 360856093 293862941 854647483 182309993 340409187 780677057 575421511 356721021 900013853 910492279 320447171 981958399 667922283 214851891 78013251 235506681 942356891 948078675 99440779 870261083 41631519 245056157 370516991 66086659 113258641 665944637 353404077 428813997 916851895 408317897 506789969 225317637 773532027 808968509 762542149 956321947 347302129 127294719 113899157 703622377 759784529 437959901 807700717 759648593 493547779 628655885 493110181 722733083 830216591 586699561 365809341 730150263 489501865 131090745 261660893 820001411 850091051 129132715 369031761 915867195 856009243 506831697 808833043 392600715 588255653 498051177 461331139 855796547 515861015 559976859 756720549 708048669 735943153 756244979 850380203 232476345 923203029 949531365 154813035 259360163 447722893 154639183 540345123 708871499 48910093 637468277 937443261 705004041 229372785 490727687 679531463 339746847 191031803 865627159 28191097 135518903 753419543 391894565 356038833 927325409 14469465 351255575 998457335 141944983 429778043 668765237 85781371 470057401 992960097 921733435 292511249 537619219 891359765 338633537 343559739 416848211 766868171 471979727 437481249 695996437 109376735 837133777 571872657 325150937 394041557 337313949 21634305 14030345 791742037 161921777 298140307 694285813 72622389 417864431 36270093 131503063 556360303 864198183 605769949 192803535 377221415 488607887 560745755 523052777 995412903 799120259 850945671 432618003 703063653 500913351 698030471 862204713 831796985 508408203 897149485 55059691 834758951 1687393 842197805 651876097 990898653 714151241 700467431 878422271 57145387 958712487 635722339 572411229 272114765 533784649 192326225 112811643 823037095 144501603 382737927 4578725 583472325 955495059 503947397 119311369 349248089 769712351 171033457 561889731 351993917 532951217 937080859 49422547 318755191 569472227 108317817 261037089 801136175 343848369 131470381 143403649 69058749 382770109 162287997 696621995 16123031 393559831 654981721 681805631 662750051 561170997 445436245 548594631 618393581 704203505 544822963 839145399 577420583 212095891 479319387 744273507 64615211 545802185 36063707 999846673 712182847 949985189 620888937 349072871 344703949 977542821 382809319 579295993 682034023 63647409 256133081 756962111 218521035 512539413 87452017 530554265 329653721 387147141 13806471 761606097 157326751 183796511 417479575 559019929 190883663 908712807 862695881 926103947 274265669 549041997 428509165 227709477 946445827 625639973 157528699 60696789 253659445 108647083 632462227 254200039 886058669 579904005 455683065 596025497 863404137 576309953 65255455 58919433 636541067 564382163 258059545 310608449 277506653 541223833 983302059 976407603 322543443 729985241 512574265 891596217 118769673 255217599 149293779 161234065 296129345 428717793 585291313 274979175 381144295 811402813 11872945 46411981 879232269 959258679 740737115 320507449 655491825 652837531 419090653 84381967 174757877 660309409 693584015 308344727 683593891 740304099 380255603 274693123 715718065 232011371 550756395 91113325 640938743 759140769 840894731 911980755 303216761 286773855 312031495 599234593 446382947 494504927 670530241 70418727 659492617 249398727 75582333 377804449 484504037 947463971 966037549 632160045 881074843 521365357 732344937 63439957 663591157 326780285 130260333 729656715 921480425 817928345 993158433 268804903 282454927 413120369 375517973 661544299 452147243 159076121 189122945 785912193 168074539 954211855 921000003 377391225 426547487 219569461 374223845 251436623 800046531 409047259 552295057 743403231 507268859 235922871 10111779 164047607 34834385 403721187 346869273 173126983 20545403 157472231 126612633 311404391 616100945 196262321 180752755 438115547 507997913 691633555 393975837 383582215 479125181 531122509 606003129 9390915 245016015 524330755 561131021 798857155 107000587 482832449 533097607 165894825 157756309 328658687 248506689 300286465 521137593 731327129 853806071 901075899 20682729 207635669 894706963 808703151 306948543 569500893 52732065 482977695 829677825 123508811 140835677 216203829 878185625 280778265 51528097 781203457 393020825 615141805 437938809 906823549 131300413 69417941 425588369 21540619 276806379 162790855 764226881 745014771 678583083 179561501 592713097 936314213 847964335 809084383 705740559 259960701 377283671 17855353 180175651 620015163 907292963 962934721 746182589 275470985 177078591 759538421 874100349 286343479 728855805 490152375 184385447 306437119 772702683 616276505 649945387 868860033 360018299 115132557 407295395 359148873 242540199 78353647 619946829 87216837 535069267 239509897 124074767 64645201 857145497 373653507 139544953 677674797 176671167 923753079 737545153 746600323 301565743 888783455 535879881 146193251 308938365 891098017 553738775 101984711 563137635 875764105 271745753 357537167 957484997 307054545 123623145 52236423 511722669 470160273 287142339 469853277 951321423 360816721 372577167 58455981 848294151 378102013 248698399 821085431 166862679 128200937 727867367 82671523 206593771 448216791 858469641 395946757 622809751 809957351 404747337 564889941 19268181 8691369 12451865 312887475 727283785 790702099 922498447 364771883 398733757 80228993 505594219 657091243 380858919 460798135 191791379 225666063 476361247 155140323 610248089 54472213 772932201 858342299 577662129 631512939 99177201 379372253 230325179 566816927 572950987 416487181 336370879 669467433 729052209 750272505 722415469 544365 299709319 969308117 206827545 821203125 972017241 341088831 437189831 590591535 794404695 369310011 722320411 273421303 192813665 282492473 48237157 891038987 595379061 45402893 385982619 76692825 494349763 1405171 501389663 178658989 527788699 535640977 770502135 323165637 365651577 165121525 720976209 480286015 37303297 693919123 614094599 303138981 675108607 599035211 10962005 689860457 286730597 542193247 846364451 315731429 788594253 788290941 98156803 987937367 891467517 632224699 913785385 647427053 246127581 473380759 468901495 433200563 433178501 612493299 566496369 635973543 923737515 903579425 50432585 611286951 763520053 422498771 634037973 688904317 281664047 40978981 120841877 195398363 617788107 338003105 486194863 586699865 736136803 528527151 135543283 683594363 296360829 42399785 166961625 178743719 513969603 209248073 621398911 498444335 595163401 433679541 133131951 684245839 583656519 774715899 394024659 443334181 759864997 688442639 941016071 111030459 332857449 792477519 174112263 284664579 739663371 378555009 598004029 412837845 822180133 374707665 446448055 765236211 743438201 263439573 876939821 131245833 823866867 80693385 535923965 358904483 960163239 29055573 714414893 30506813 337600207 654081283 872525167 986744633 173985741 819490251 92136731 882358751 71321135 140170055 309361453 528817761 650131879 718087295 621009743 800651991 160170769 432523745 274694349 265651011 404461935 704885823 523908513 791093903 696152815 33071577 1966443 582377357 79727583 284683603 830264431 323356659 892047807 686694073 931208863 420699493 618795569 564133507 925900433 774619241 351873023 702998669 863596165 986705269 316741149 423727389 380039521 935628255 623006887 517830623 683239349 537111275 340534241 201914089 68703417 908942013 694542131 437115319 558485835 748949357 130402867 644421679 882892019 982081519 57714587 984797599 544383713 601952037 960503887 422438845 586042091 205743835 112052313 615479715 920694927 231337153 841902063 164995801 335452151 39179631 645445737 497059403 581229809 733587303 333810507 4224847 596090867 572082707 374515523 136020131 837775647 58099395 46304033 651494251 388378939 74070449 408860385 560600115 575690421 696165117 546838183 532777971 756255397 86404019 454916031 746239239 670067147 45860547 127536537 852399155 814446991 161091077 226581205 802360231 434733821 812367163 227806769 297278965 674866129 521921293 173577629 504579869 361920357 967702031 319948585 532589955 630369731 99728825 593672211 602802933 361685659 674568557 913734075 91253673 474039363 489692017 339495085 492307257 643569851 787796475 248389535 897321901 221821609 683641377 563545195 281495665 964184157 64471781 166165779 665406299 552794831 175863855 227974337 558649255 506720413 831256019 557831373 846998781 825372431 769591945 764614573 121904743 9764117 426777329 966242825 638220123 368435269 255411863 471671207 257975481 352564701 696037097 599044735 194407363 233004487 424697411 93149099 913053993 886123409 358521573 627453037 147861501 7229809 316580343 412693809 85694655 789555017 257602189 396975753 401209427 313934239 769037471 278676531 435837701 63969441 186033677 245029905 249637775 889963815 330148257 476113709 809787401 648351665 404825615 803831483 355223289 710464359 112597227 182824727 557813839 399764757 590698427 600658115 525963359 168263733 811393767 391392619 403173 452480487 344999101 902614753 600685575 805507567 727318651 936689699 393155923 34350527 82216767 145559123 382514879 150347117 332393747 638300603 613803429 397502649 441785835 686983887 615327693 260381193 527520923 267781931 482037861 148657517 188934633 881200275 657548543 589266333 722771835 603057135 906387097 559060727 145394917 864681557 71002267 512386179 780432029 763141119 811357137 608405231 117855495 403624271 705285997 164496277 453313389 524797397 450913297 512682865 30225149 322365759 697032897 39714349 168293329 838423147 429411815 745524503 21141997 317845085 793349725 182741541 708916279 802448189 924235869 768497913 526714241 54785377 279869581 941091289 939940231 719708739 909179131 184336563 220694503 958694791 305117211 926454815 700410155 824694265 776076749 386625117 617290181 600476809 934617169 619272277 133432589 907113303 225678683 368163987 611077703 114735265 633938683 357142097 420802969 358299095 190843055 633420399 634117397 714621577 502057055 369208433 187647415 499250035 244477781 521800585 310085213 725995897 26878791 852343693 487640273 561944743 800053589 993479163 138787525 972666159 149139201 392765693 766864593 357458027 819564347 171582563 676559223 952665057 753670997 775870111 647586849 542475835 366883855 191131605 927018529 979878987 335976077 855806667 892623789 12153869 527350109 792794609 798781161 660811687 180894067 747850843 361446621 524612191 671787821 164892365 24569465 604173229 582617425 681236649 98780059 159789099 696379401 852883715 614690303 159443611 968278511 533255569 379779153 908628201 199406845 324662703 627407137 620821799 613139355 466990953 525941737 381286547 256400787 894642283 859399179 731522701 732168987 940526861 389029327 949651363 889749971 610018639 792967015 430765191 972914621 619341785 24044011 861147925 940033095 435189495 230220893 49315151 909444423 611058083 785946279 210448481 846429691 572167293 307636889 145622431 252506119 468315849 29498605 816433537 113999991 650624889 708068933 621158063 388080323 867335203 915392551 170300657 421943751 18642437 220094473 451595835 268884169 741262089 749965377 890261929 967209587 342010557 150245137 165624957 302017503 859513177 836582819 911990051 459731847 177324731 19059975 571069487 19311185 248726379 689533751 401024859 701965963 793354135 508143123 583828619 527282921 705616921 400844391 811232457 930466699 886255469 940307681 603848523 463895283 7691453 335682845 18289257 977471759 901882583 454032539 240300199 167685685 538187057 258834885 315034033 600715809 711953133 379372267 315905371 153113851 54704591 184876871 534535839 114566733 103025995 735187449 244807841 617010191 512298867 548057869 745707437 299456923 74560521 705886833 178224691 331180219 850013555 110695681 462837713 880244375 692096451 56712573 806530123 464053961 880932269 113058703 339655305 561990219 611793297 321308357 121277345 311634051 72104055 900656541 740300751 127682621 204011791 930947703 35736435 213396657 834657455 50967193 731803673 779200635 566020181 930255159 382050167 508644001 328957867 313665643 548779621 433381263 212040705 558138933 755093993 327481883 76046665 214848893 279800365 384328833 982890791 730757399 324901763 501300073 481758177 528206523 898805607 60131037 470790503 268409865 526510975 837045587 877878349 829395341 638931089 516204203 855654613 354714549 425151381 112469287 747622887 761344987 663414949 738107509 528543249 989325123 120885249 341259947 128589961 594105365 296417561 107725639 516431921 233734751 828829567 632107565 851964045 176929567 794292203 711544489 485889743 704669491 480549189 165271155 488496335 780075621 182589333 925372583 864371209 493135463 412573965 943668427 480519845 236093907 15814925 450776523 200498291 767988009 78543637 199675643 294909931 795319249 673478609 518106395 873009965 45380381 837902869 666313039 661395709 474647369 627336153 935372325 864477643 36510323 295132485 416260243 249652401 411068837 504595361 651235059 882420333 379145681 581089377 559955469 566394981 646214353 663400481 767443469 460802985 457921123 196284323 255475081 121815537 476457779 367461075 129023615 480856731 348990419 234573253 664698705 54338989 240160185 452997043 957585361 563448027 74361929 897003009 630805551 5379191 510557131 964193593 370390029 931067013 179526257 911740943 153573229 318240167 853658965 370701919 923945407 392268849 293384565 435429931 153802965 851864343 11749053 155803297 206766063 328048891 320984831 937419023 973542577 161760033 552583409 124550133 818010153 726213243 746080055 794616309 787994571 226992801 83759961 919240923 990726773 837714125 841096905 106915479 942852461 654905581 932893663 743503943 390469983 351805067 506437341 671825199 630948705 62746081 447292653 977278903 524870127 900557517 643381025 236799605 711962097 357871065 43967855 507465507 248842161 560635695 42833339 370866085 706116069 764561835 582423757 358535943 866060973 595448779 546218325 600904313 909333643 940068533 848863471 362990683 14022509 83952441 35096349 275027755 316105131 62294221 765194309 169055385 197309693 815673491 147047609 233825909 149916557 191334481 169593779 306535355 376302311 334451061 350954581 417704849 229764351 326003737 598603941 542298685 34520371 979011065 997813913 267614775 40470343 178278783 838484743 45532951 321448555 994436279 188431537 401651875 62809651 958135901 510451521 446092229 171797915 278576331 63855687 54272399 63883273 569526029 461427261 829736511 910686795 282438607 59177349 878097973 727592853 917904489 175495015 903859967 2026631 345419227 715203859 134657615 855868451 979569611 163926181 716510975 470868695 276638089 435178013 843032085 98390905 313025805 443178085 491025339 966222917 146913269 871777357 999224389 375182307 182032011 624570255 693615403 356617821 655184057 689529803 940452885 991095339 663265051 401796493 600650187 803824425 330391535 460719429 36831553 219723163 555432987 8720457 244973203 385995057 463546413 348116447 718356483 316246013 613398369 136250927 971841789 729021311 467821203 566350665 849368341 535778715 525244235 554495527 608238851 302509471 360789687 655201705 59858351 795624255 424315569 872286107 966659361 444175257 636033717 582851499 429626765 759491635 317667051 398863989 751625295 97430521 712122149 473138297 854138091 335796289 115733975 657660703 890404873 397729735 291221283 623269819 661926013 667050931 322844621 642604677 42527813 992682127 897032775 172405149 643686275 823272787 138781095 243909135 401188739 900647001 297881773 814653641 676945845 435196009 659218111 967261095 676697783 727242161 368187119 345041513 705419083 413937859 755302641 68742583 892702559 38643615 467163173 102918693 760395523 606055593 494047891 381272361 99586419 494198701 354052075 835359785 633526803 396849891 822635137 761741673 594127213 542719463 157152857 936577821 32426039 98801343 486750743 398480991 887864905 219237591 501186571 875115053 516209065 654740483 860862763 214980725 956022655 873701251 79180313 794068227 137370401 102422781 911848987 243388565 760807179 742309243 353418783 711035337 667132893 724224115 977780671 518606377 113091427 585303237 561954359 84358951 786454931 674541489 630588271 771086109 966258053 215971819 56887033 816163915 630553727 352939139 255324425 484561369 10737899 152837623 621573505 822753497 685640027 535008559 461644005 694455623 232755595 694349429 943256423 893048577 755871585 499743873 53958109 592058577 58968547 280161647 801258183 493191017 756974153 628806083 894914891 322963555 616883437 324731245 71564345 922022717 152529489 181657281 769490697 720919651 324095009 329724283 453854425 651365927 622096943 581233089 760313713 51929535 599215481 876516127 515336257 806401103 632562975 109417359 295730527 720092639 32995695 844885097 218300553 654093921 369330395 889256821 351111721 841855149 822968063 467870687 647844941 751230855 209110429 754931517 492464045 800185493 255441825 983212171 546875557 316628841 716711965 981934895 22924865 269246077 530824527 78611449 303069485 551381043 748618649 673411609 45610691 662299091 362036357 289436721 163075583 928196751 615271367 533747523 546739849 423776383 516699707 879437245 267422643 856672167 326627043 989278839 836158321 932707565 848237035 303720875 796568421 785415459 137670055 429742077 845078483 253429251 264957329 838440831 115720877 306829615 335332171 469378211 870331529 882483503 265729957 470768967 965029799 134258291 291577741 610911665 77274349 861421145 943568161 32504205 174840043 420544029 336907427 952769775 696214233 11540971 725982591 796535639 782123925 647091667 590854473 995276459 485701799 370719439 5598907 448093749 856601919 797559745 678528185 875536299 294239537 930024559 683753295 41998893 325747201 122011791 490866861 20114749 37333971 893099191 823623729 76873673 623927927 262889833 962843999 368188199 974778467 663574031 374471391 235501589 768193977 936638969 93567367 634698165 951895359 383355233 384708435 638411929 860156771 924806249 159651939 516487603 725495101 655187991 29892099 127085407 252479885 990558561 880275881 140122215 392345019 621266973 455496173 8657139 308901075 325937677 653119381 920371613 881237137 89421785 765697673 96073311 723394127 206936597 64924897 937371551 182308887 123907641 19986387 666610475 987152281 894994343 662085829 861624119 278956843 297910949 509820995 677057377 780445389 580372329 691821823 868720047 67020069 800629001 266630355 916058509 531231875 113786503 51168709 291178705 877998047 623146955 252902143 101956281 412883415 963794601 849180627 543031527 839414707 784887769 357952191 766649963 162721379 258129915 470646371 714731195 723470203 193634459 708243597 599058099 457127999 942090023 860379439 963946903 140165267 139176955 939280739 377025557 351460871 686226263 665099375 907908421 978211537 840626275 583459517 766610337 976675539 656008243 126695137 116633101 444681873 50460863 20828821 779477723 672510527 748244967 68652475 271549629 753981103 883176055 672576353 78196689 812404323 329847069 564811961 361225373 982248067 883651957 229219871 868951821 435495899 229204221 860310549 214488949 412267493 243675683 62396487 448485271 991205313 251983667 217339017 939361683 550788915 887384939 329933269 956225785 678747565 873445865 407436621 587403199 498633029 806511801 682970431 519810879 445716921 178662345 986009631 945747777 478556021 730719219 762120581 283819761 877697667 286641147 628828981 422909413 58070941 774582151 817451035 963939611 539932961 609731627 70233931 462254071 206410263 157318237 502818047 22618437 667019565 923290241 853156251 108090941 751716797 535278561 15421097 841192315 373570243 878740395 227959775 389014019 479188457 963201017 592829461 769056325 924549245 613546191 30270543 703955733 532667509 640934163 522398907 254386351 82990963 852535705 58561447 165681593 688237501 184474135 505386645 275631169 264839489 829082673 196869923 964558011 340062359 224309359 179094557 1658629 178194431 690478915 234566265 111362405 180996191 442591751 501305423 211662727 209932361 526212089 443544037 146862977 975344881 800914757 9800867 54676689 788110647 898614269 938290719 184386393 405957285 583061783 570496789 968472681 965934695 293881207 399503973 865651639 96553555 694392549 143729691 194862687 514709485 632362771 902639213 849147365 888222553 613623449 350935731 760270137 458595943 955400185 645949043 382979501 211560847 918912157 876837463 692800513 890787567 958531031 793617713 386884953 74464079 581807069 189893887 44492865 647202079 220752083 135511009 242161585 135254387 6436801 734858533 810018311 589401359 264304025 27953213 537704451 742131029 825505843 986459587 697359319 470147929 636867409 555398269 113378327 601434833 549201309 727154773 10441919 774810905 463759271 24931677 20705335 989739581 139716329 252874963 175364169 526205417 122061509 133796377 718347563 426908789 669872515 550558647 55363197 498180065 33803093 987970663 325982785 5303509 519373651 520868861 973366757 824649117 573378687 869323905 402908991 455847731 241297603 447086877 738789261 352629815 644545519 965529381 471216243 138687981 195282109 206040851 192490749 519349575 739649999 193819529 618730659 353352153 989633195 18023509 925409857 993178855 522693831 178418539 951803163 908759637 298242169 903719395 939086305 864479667 29414403 178688769 897159591 776479545 135829135 85637937 629973225 226335941 547964717 668624135 296728717 666047711 497823703 425168957 496091361 873665461 893428333 796767925 827710617 390577697 115775931 768582015 417355731 423197343 30413425 794540489 776691477 726259801 674263079 408101873 396520011 660255261 487601247 654207097 708568523 668896609 486868353 783904015 485188947 6539591 194555361 784382339 887909125 65567123 629509303 353877201 106669171 98968503 841229603 279552029 575642509 417001419 737263409 816898481 758656437 136662411 132284113 639462403 38507181 744054111 988936921 298369195 44731301 413922135 245404687 241696109 221195823 404050989 491900443 93472055 34849611 133814843 820545677 446348569 542044765 386593931 755356125 873371471 154547763 91049421 46952049 407702589 660317697 94916951 93307789 343044975 731002469 776671783 582470247 55187605 419859045 520192487 429729043 338195599 389990509 354145253 793675671 27722331 927745875 12474905 689750747 733772329 484340563 790522913 800392621 578748489 323414291 112826949 495509451 204000825 270878369 130110067 602788563 988669849 612979827 387868485 346578257 944003895 910830179 791521527 381741491 59687429 287795899 969640051 561304917 77477405 630932259 459090503 451619701 206882245 205099955 113458601 402463297 673368679 568016873 387507067 278872517 214954901 268333481 451133249 235938559 65009677 506554943 185948717 713833677 466696367 97549667 142175765 444801785 34913673 980360753 768026233 120621367 940133581 163693613 790518657 841702427 450770391 377668679 842331385 554311211 924678697 19671507 340538715 205530829 857184879 262776205 238807237 497660245 630946683 312690331 341080065 859123193 43397963 763272587 185756025 242055389 772337663 719028049 96600137 625638153 610052837 560171085 936908591 588883311 797041521 643258689 910198673 73114089 563746873 309763163 884458623 570030645 195712517 253709361 492137905 314659073 797276353 562771135 429181571 834472665 66927739 909181549 860356353 537117497 895265907 434044677 760379097 792887171 329525771 821622975 981501535 865202689 604921805 160143671 391640469 166013663 679235693 195140209 850937635 349212989 132852167 163816413 329776471 35607063 759496671 491106125 833536295 281055065 527240157 242071041 844659509 997980373 628464407 694525341 8008389 749672257 925837319 983117103 951421641 915411777 65645393 88044587 778901719 814094941 636138687 981024111 675172911 761207303 149081157 451834945 956051641 365229719 569122561 799380301 618869761 104908879 12823601 254210473 660589121 734917209 477409859 889696721 964748119 360412103 20154827 436310187 497951179 388835471 517987973 216471173 825840589 841265301 847976529 196039701 442589235 377588897 854926907 286599543 959613309 975759715 875715961 587070767 536520913 574386297 940611683 659874091 43427071 155461471 620320127 17706433 180469629 391372929 408177269 904603823 831495021 892144175 107228955 721295897 281881749 456500131 345337453 51882891 356890211 595330047 293700491 968457469 76842225 939097419 366436547 92551627 611867131 380825463 350025861 259023803 35671019 878799711 625942129 507998713 849849549 573159365 255782471 166140441 163990365 336588877 821782257 546667803 529270773 302385293 964654471 650090597 124644769 360037117 819437119 838514881 35706125 482466815 6272385 880928101 848453009 132282075 643040467 712478959 274786349 812364993 719236077 205847653 776876167 156817357 734111657 235228211 595031535 412223487 771652361 148505905 120694365 389547073 820319289 893390743 387040623 473322339 234766731 726409231 464908653 719184159 360988797 788325539 602506311 869482775 594535087 190840267 683082899 564073937 913529583 485026659 711209103 355442115 500647983 99399599 798628133 522766915 521823371 266724447 247844067 168750227 611627077 696979845 196435713 400205531 735673033 353404065 977553501 383546671 943165867 393856919 661806207 759320199 940774309 966048693 388814997 752316867 981394329 474258607 428571255 86339759 675825047 307858339 145430439 222192889 427393997 350765079 1141831 645183805 349886873 93317879 905891883 922149371 848468093 217728921 120399815 162045085 814568229 450218681 467582269 870924913 775006309 663090559 355167057 572721589 229131831 768804469 838668405 457554567 990891711 16110737 992369087 927730163 37971783 188816435 718264815 135025383 362244419 574119453 830793835 344323903 452486991 373923453 987375173 764905147 778605615 302219755 372931377 749393923 533956043 964826207 699340431 704881067 4485689 766981187 562415207 870336809 323667123 816662883 231665255 658842595 337192605 837623283 482872553 188629533 29893251 946825617 636597227 133173259 141237013 661612609 678899731 683207367 53253169 289777523 747776433 467671377 367887323 389159675 512494011 349521297 992602941 21947925 929699539 80794459 538812841 11059303 300011071 400048997 854778779 933585663 311739117 610211411 223709623 963879251 27169397 310767023 564445641 853431357 930944537 999310055 310627265 397861125 724933563 64687701 694336703 525998679 611540207 699037245 387915777 373448521 843054569 550873029 716995575 773481561 401237131 252090369 217710897 118027883 957859673 991911655 900151149 716528075 542903941 511065179 748181131 215032625 923535589 801124645 78784921 755819193 353722105 842819063 787636169 545996007 834861543 149538923 22867829 602961835 317858431 936769023 881998115 827927895 301738553 343871263 323177085 21345195 113354803 233745949 758856533 236988619 950878773 375313455 488294569 186768453 376162735 538546809 725965721 590470157 508270775 934757123 405042803 774705537 525782283 538458047 788432809 49076839 195253525 228022661 808496343 912973291 214073571 971999001 999871935 214317987 574556459 480565281 891498317 752068237 260771407 934824495 465323157 317193739 336541013 124797887 276816847 809126637 705323243 754260781 852874083 191693417 328395883 355183047 612651225 371004697 556283089 587139773 930848229 709086727 60986309 324757031 392085859 48632219 891095193 858743817 554033237 135092909 236230977 565809481 211476199 42283899 896187231 712238265 531996525 779509417 923821879 175616531 794753889 523232837 386078395 268305657 166599783 396485315 199520897 139955699 909144393 22631425 228390601 737478515 618850555 846613571 839471737 479905489 502296985 919071545 124864545 517509455 44607335 542292215 655928057 874294039 863971277 79588089 118379999 703352889 74479713 740424485 391185499 780711855 49425885 372881609 149201821 741956699 894114597 881208219 805445497 739704325 982039619 398734517 990049139 296687197 677953901 650232735 269513647 838095359 494286331 930350919 583186429 714935659 476886385 939419903 963240147 803586571 956564605 960465285 45518419 359549231 722944495 680501249 664892739 47358737 789856195 927165181 21099537 282338259 390329373 825096561 499955157 944288891 459447881 390212537 998978383 388485631 268137911 677407385 73495015 955482165 924930311 79722049 478870697 388115679 305747191 902679877 888527183 252745895 765543799 90199457 931842873 688449565 422078103 21210043 808916075 660938427 254332819 649505121 516290711 49660385 595624913 123587271 544558099 980622299 632781271 801579403 862159071 977449175 530419805 842007475 807509921 839579121 793649469 567175339 523597993 543787561 411082359 562160201 228456175 301660007 861144379 260085193 101815057 697988479 176452313 491768531 161888343 244723497 62038479 629434993 478300593 346823431 824769725 981589531 778613939 150100127 845060977 641802411 692880545 635511141 118947293 286111595 483424607 217157555 907637021 219317507 993251963 193676745 64193651 580448395 812871729 942485713 701334091 939772033 27634781 27616217 307850039 16625609 606069637 892619487 332400885 862141105 81996253 7621569 443484005 585969645 629887031 416941387 806571925 496480667 110548757 707016747 707752633 278035007 808873885 733744637 890361639 951175113 729986721 412468287 444068711 216837773 972460949 167813983 606423845 512369223 252226459 104933803 31928367 762613535 947430007 908001883 855120773 737998495 644353435 148584595 650444873 419535549 574679837 623502429 542979269 129332441 986197179 884193191 253485421 883174069 478822625 122107723 138855901 339815295 578460569 191809037 780630999 465610957 637291419 712385427 788792905 76271517 606573899 594901873 585652289 945091409 481089963 298181151 571385855 343199931 637955435 365261821 939604453 945572109 726270437 730929749 717008255 183985893 361841685 852797017 120452733 721328967 676771749 320411681 392027581 645957795 939561443 672123825 464851011 877999563 802350789 591372271 523670071 273211135 743729645 414883247 344803311 878109925 143332255 912141991 442287333 352444805 850335183 154451579 165731005 970027355 334209807 32348595 801619011 833668159 387023777 489419457 656663143 230495353 105997419 261651199 317046599 638880181 382609919 583539627 118806311 112658441 125641105 401902321 466294639 966566641 284734465 887378147 349428151 727215189 937224409 314060407 360300213 654042495 887105347 20994193 814807375 313997351 117574939 764417273 19972497 835821927 319505887 452019553 734070187 771875017 939099061 422074465 218361597 375783221 492545645 37510269 487646983 437938181 935451263 52373275 180310643 971773425 594873353 103641997 581015577 109496867 112981971 112962573 988461039 365230887 533145165 529099965 519688731 999055857 780216459 502510245 646022121 349613279 99950927 113007287 548787403 803289271 281279489 530162379 123643229 338232741 982573999 261201571 259258465 509542975 987232271 70889193 498342337 934702721 447227011 865538093 402704789 739712721 625491729 516554731 171404563 980049661 515165543 10239871 401916323 69482299 544081885 898801975 407884749 182467877 731669619 387772739 440617029 825408707 448617937 513067195 993244391 821660547 307256387 985075873 334391733 355171127 731192003 318624479 449290715 159713565 470202863 669216069 460422827 838417117 463530769 998644877 154480803 658806147 971349779 363189081 814558821 996624515 667475857 799052081 287988667 645855417 517537225 14569861 330514073 654582639 623269793 19697329 485569051 60643151 599187625 428561653 480281987 702943597 330380057 475116923 478203709 109867081 831287503 198622547 955274205 747072201 417939027 703229559 43880733 821278005 944558547 663388873 387552481 60047945 693960233 761656079 813740083 772587037 530119121 897665023 722996807 30418745 538792437 134834479 777555321 680780169 320362851 339950113 537514061 663545699 676110737 303289661 334408811 476337795 83479969 508362455 837252009 948086545 800702807 303835175 728392449 483493527 973712933 61518927 349313943 474387725 964589091 572445525 970375607 432922063 305967373 324843311 172849617 996179105 87143243 151728305 898890627 530512051 408850157 818145953 34477201 79743895 657332395 505645735 321509347 675615309 570646245 575336531 204157071 668763193 432160415 907161119 566710481 839771177 516471435 303368299 328946441 878064465 316038143 204817537 812203203 119824463 807152121 971906965 917519285 698279465 384832035 856834491 683274935 34469705 411638219 295324409 604225743 468849801 335718633 275838519 643784231 239490085 380631835 894680645 336528145 970979007 431500969 721388763 220588297 174371431 997992833 519953821 782406579 992831379 299378749 46211861 441732059 599539229 905562905 578448817 783122035 335531597 667354879 83376333 912490901 557987281 158866045 978742695 738751879 812428475 815248073 937607789 538692531 955529353 276048069 360128301 527714731 976080675 832181237 168932575 362348589 218478037 946177419 565396583 133360665 510505043 752565085 334583183 504309117 812565947 75079915 562486277 717423755 629030289 237854813 854490211 476775071 416663749 627310463 410393901 227821883 238440105 287402699 336681929 321661707 743330815 62587999 138347915 756056289 814746087 325110021 967827113 196499131 672872689 789145383 76400455 786273467 441863185 818250721 986863215 486936107 263912869 565225969 188527887 86598783 143184499 460971709 976838401 530051155 662104231 87058773 613232137 149470313 89346263 450631023 417336525 778914477 395208961 130835565 441738719 287771443 921521033 622780501 12156603 838518069 457349691 52855511 52375231 191949333 185369935 863963719 516913717 790790243 88876639 62324391 750166351 776169165 521508213 229135007 665235237 100417841 481346041 22235773 118131385 602297233 957077445 824906551 326860791 2261785 884489747 597397871 152370859 978235677 154273929 600469609 113017233 847632919 391284275 455944471 235489611 978112683 435882123 802422031 280966497 462082211 449321577 115322769 237701445 909879285 502140179 319164549 645741391 574107065 413753657 537998711 428910531 144304435 141003759 372148385 560962503 462242513 726257587 842814433 213067373 314174755 67644263 722747839 251622831 723097573 773546843 846135915 816436591 924570875 951763013 271143611 457953909 344142705 458754111 485414189 492381555 519481463 220799441 929978603 159342081 797377645 720318697 173697731 653051809 565243857 98993113 310336045 867276989 212930643 682777697 665627207 802114981 805320643 84949667 334421721 138272659 458059549 263141425 681044305 688844201 524948357 184303357 960561609 513094639 387051847 922390117 131669501 654106197 764054229 655684141 473360981 464830905 248936905 768373637 255643875 372891351 516486121 539618305 303663707 582691673 373902367 256797853 628370207 635742421 356217213 692068543 7477811 313939391 286234177 488358709 237844041 604270201 701527243 306044725 247114425 970003535 931393193 149524825 171681405 603103345 389792653 634840745 267437379 484874999 683567185 352690065 653917269 99481059 570804731 981669095 587304365 884543005 226589365 247227625 352344809 52452985 950449875 136016953 49283665 713136815 985374669 829773033 626768341 63861857 636341579 818225001 330328587 184039445 217953301 423352731 76304689 69869121 988490527 245798851 76158001 716838971 643197573 691215243 114046873 662298437 726602377 396242701 836989601 411476871 836063895 170137539 703941159 842172693 978149441 870115731 562096051 412681959 533568069 786261449 123407987 246167007 276909957 601077279 803531327 231906755 19163659 474687405 822219929 568250951 298549771 604944379 868164003 199424517 881497313 452709365 153636657 471188861 712954383 96755439 564021175 231109657 85901891 15395755 139389783 965706537 752403019 154038601 922023125 34894565 913148967 770051161 777282723 278733171 196568569 919290321 23254999 509033943 271429899 641132045 673595697 441235205 373084371 759447505 853701143 332228823 564298217 755494731 254227353 960302349 326903569 479562001 945686895 181603407 421710393 150035233 790779641 21135665 378490737 768339423 475781691 407755563 658541557 622481689 697712869 564820893 591609641 64367363 899870033 135919825 455289239 951822139 466319741 226071289 109887989 102922693 138932239 275312431 612847643 745863697 396058965 307415667 587873293 496989171 558035019 501564077 455724281 241821863 490235277 371213745 797853743 293925843 100999779 356196405 77151275 97515653 221311931 554559197 479377297 768026673 526424365 996590899 616716845 854555063 931394041 882941093 70962673 459351129 731837447 46268301 188654071 663105221 943533797 977285167 593481605 704353809 578078921 638921649 748610307 842047163 947200403 525411111 557914889 386395045 513109453 83859591 697790797 859868961 237022115 382308277 606802359 566162401 350103021 95858553 31706445 321620993 464546603 395417221 222481735 718661131 670744195 839336563 932186111 9972711 818115269 51991745 907163125 735121903 366828393 62822875 66375897 134014429 501480333 332701203 535472253 616203223 35644665 603411615 904649689 58012523 75208989 19528867 779278357 601222285 387989519 955389479 850649977 727562907 83862925 910528797 553361017 880599387 316775937 995944031 749329583 759303161 892385145 785456811 590839777 387977739 949892267 60460973 100683001 699951245 511408121 293076725 848112395 353136871 688100969 18000127 512249937 780569571 451870377 489141801 167211309 476687033 442827283 264423869 858434349 214442499 529010083 521214187 974889989 669223113 453143297 450348497 449876107 691416441 774852479 281475179 913117129 301165797 552307985 990047141 856537061 562956621 306957145 255030351 487225651 525141845 553080475 203738659 513329 539826441 107333833 610457283 255843713 620143841 896665209 13748919 208312045 489147065 976621547 334971505 830849131 78102231 8746501 20752713 484891155 83102439 753894231 539636865 453370409 780124927 187598105 550083139 572671001 993964699 86501417 272703647 798265719 824256417 796986895 378599567 110805245 379554655 770666491 622361845 153042319 535780747 496352705 384413081 317565241 209743679 390805733 935736875 936959019 935722499 425939339 87270215 674693571 674118851 552438147 273177965 439039365 31638741 674080579 627405319 347230233 831202551 840689389 554652261 733825621 955958861 298380101 984968897 838755379 638694243 759208639 358513981 367052759 819772209 338217581 815422177 996378765 941566995 738087185 763184285 278666695 747161293 5079571 249690189 995312671 505034127 740095615 524636081 349270619 320194795 912388623 759264115 990991971 479073505 500488739 342083107 524929613 362732501 573155007 331729211 673575765 217069461 102651797 412263963 194740443 59947607 461641467 562841359 192873837 854222773 419255537 84972613 103047099 92559287 993007645 896989401 137761701 246476233 600549071 453575115 743618347 735717313 582093823 113035525 273110905 8581851 959588939 956148309 195318753 374884541 258290939 2596985 776775903 589469303 180848895 369089041 321601305 84385657 606554091 441778851 709790295 657474725 933536003 464649125 56780941 309127997 574771243 927474539 283331797 794728945 762717937 152310843 443570805 816344019 481603473 534335293 781251031 453577059 662637543 107336063 588581263 725003141 136446585 790779135 404362581 573581445 320335225 812732315 56008977 429929243 974827455 121265695 928432075 28887909 708453319 456385849 326257847 606085603 965116601 514113669 734280753 271368327 47057767 104910723 603497659 885892517 820743493 709612187 998625281 922341625 247703411 580900897 286478295 156156073 326248379 627604299 746904885 381462083 541479817 817960255 41930051 459112381 367709429 265141761 339455049 288505969 587145661 580485 395614909 270321703 318872651 126290085 368552501 699312141 297683631 400934431 521275003 951135157 863154587 23229857 885729397 495820317 164639091 779463351 44014393 349425837 130028861 315334623 195965697 699006513 123993001 867210615 514259505 430660059 779399181 694380745 605462611 617386573 457271143 199045895 69348123 990441099 502755169 956483659 899564391 572189951 719187785 855783571 627892277 704515203 999842069 21671627 807638451 405485393 867427431 105941445 428478005 709852175 382896003 245801783 40448821 767545035 135044699 151430341 8523351 245513721 232869255 190213369 720004711 393628537 976317763 861241407 638291031 170882443 676138615 520796151 771118145 251107299 507805621 33409885 10641513 732958351 218615345 157030557 311560253 514587923 693753547 135248841 165021005 244878159 501429005 726165975 850522197 981832853 334309409 498773931 697554491 878307477 522296803 46316813 390747909 956540017 714242001 649476527 701268715 797694891 691071505 175123497 967957829 163114291 588022899 917435647 110150553 412135003 359632239 563638167 738695313 493897699 405039395 939986755 123387135 970353391 161472599 285361213 382185697 802939917 201640825 723643047 292227671 891072049 351384483 891251593 689880239 696519097 115000209 734483413 213584729 842147691 634771629 307741027 982096117 527582065 715297285 364128245 425566787 352380517 145534287 273110069 40066863 374369857 196795885 301306037 656579019 708526957 966893541 747682539 154001237 865722291 793915109 216734777 725823277 217536841 303862597 690767595 116706785 959927247 140518149 601083185 837119523 345539911 849702091 272453667 920733135 565834527 371446505 642740419 891015911 415587117 424053331 638148859 727918231 384234671 80763817 603445403 295012915 634755913 669107765 293084765 510441525 392155655 931486433 674020579 596495167 65811041 823029065 370170805 637031711 435443507 524796075 434398275 119597511 594739139 205819117 63549161 391242323 276613819 736589727 798993895 389753351 960166709 611224825 637967975 532761931 227166123 412898009 705943417 88198323 224354051 653842375 271334679 388765181 148176267 213811185 795248419 632601355 871391735 902966321 477091939 596010727 730212967 663137539 752562061 302952647 255192925 279429009 798831671 174035715 477006023 996726441 574471651 312617503 966396667 112625601 603706107 462343625 202907573 655447547 66247629 705058255 530827549 590929179 746803095 302799667 7644861 927505555 425999737 432532755 252297357 673966203 954483577 248938939 758326247 40098447 247298445 445355935 636845717 646524215 733225099 645032029 916556735 723617923 560993589 70055859 445301503 75461931 393070899 512030865 916593999 456597903 964752409 88032775 1056277 702920883 947740767 448466513 49005597 382544201 312543845 591393747 558922911 129010855 850703223 413781017 894852151 697487307 824571587 628483283 358958059 802205279 3016293 136985313 408575015 894043057 671666779 490910017 459444673 933324217 503843219 891595811 304748789 921145365 265544411 583525335 114505835 582703373 319664619 758092251 578404397 149042831 25749097 50966479 771933873 766437173 95523033 49273473 523985367 930787131 423189935 896661217 853132257 113592203 317996613 243574031 314263165 848451249 701426651 697192779 844234177 644542953 662486169 66103553 678468907 291236877 551062163 274544579 819356831 123461801 372648639 437974605 938024809 313003753 856642561 676508037 731546945 585777829 378918947 320532851 195204419 400429917 768907475 679267915 220051189 447559993 667428523 161416039 4520259 169512965 810137647 159085133 939504001 478302779 234122949 942643623 79033967 865105913 144051137 482939465 749601073 965391367 558740825 249877037 627735125 614569685 309167537 345505141 134840017 493316985 826777043 37340015 159368959 194869427 701621933 86604685 61228967 895579113 42313241 392172651 622469877 274121771 634792411 802034891 838376831 333451567 232374425 471026841 318966083 560320599 861396709 440691177 971820195 814640553 466054715 360131573 923279217 553138899 605878777 775755809 384206301 784199215 970060905 587193591 734872969 354046393 687229373 892105515 698500727 891969563 658989325 206305945 657968151 838464931 119413085 700777283 910624827 624030535 50798739 91726423 109568035 442655145 57167489 172087589 103753075 285024269 726312417 319521833 230245177 455091045 870937941 525520391 306266345 771268935 681727589 394682505 85988705 672138995 368993411 549810595 11798503 936616017 743777799 624468081 588389159 581057773 929749301 556447799 361294391 458265345 939146547 75365213 601539475 194709099 415612179 186103417 699210787 130488755 469258447 605099847 579626545 829299465 825953865 766488999 500765811 256016195 722891849 115749029 116577033 158650591 657283969 445935991 660766325 604768007 855996809 150618741 842110117 948136585 681194467 412578341 903810033 705203421 498579193 79110703 82248721 740294945 493759259 558644841 967741743 679771933 532701571 829027279 362617559 336328255 131758931 389373825 167054077 555431071 802371731 595730381 960108287 996041215 499979573 476155683 243997857 540002497 841312785 825717027 151861011 567080697 194702825 958366091 588846569 811841371 555938919 120398667 836036127 50820169 784661275 41907573 19728667 960414407 974168191 448211009 786123179 381053319 447000307 815153173 233948931 505644511 692586435 693607549 32153539 785682127 573303839 976596779 867452141 501413375 146067999 126883067 215710959 91473595 506559941 237757167 636213919 780271357 799672313 310184755 982191161 689221731 681223055 71306265 734909541 430780725 720248383 864690463 228502317 913153379 467417515 918669285 147938569 698777987 446995547 131593017 449877461 978817491 32026815 742200333 486573013 199567677 590411827 735428733 702729913 983249999 319231991 472122059 95023251 954682433 402816053 856794211 15568611 167118833 587647739 171306201 267796877 115233509 740486471 677006055 964437983 451771985 664746489 842884975 272406413 934926343 869710039 16880767 477757365 631113097 271716759 977917515 402402269 543765247 164109005 773782057 82681073 359882295 405251327 909157283 706585159 550164903 730335637 400271199 673804443 108808047 665119199 683954739 426567445 375318617 26339349 709171225 259470911 472930513 926207581 440113461 612568337 609637871 858573755 823788753 834371557 692912755 675928869 825664609 34852739 234860995 436032623 492177537 370472985 664710383 447930207 504855541 201824825 758511535 932872347 5065381 987413475 296879459 751328439 255166119 949523323 527307279 494819627 550363957 106920141 94652771 435002199 517428659 448793617 845322681 988366213 773916333 246572259 347696399 791535081 576728787 398620489 956172297 971807639 748714499 778995375 985683707 493448085 212598849 226557673 565344987 291331017 565796533 817392951 907627079 767505927 750034613 342248767 70761095 785459461 806295229 131384331 896418953 127806313 128151917 381229329 180344293 312151223 37319825 979557679 35988955 133152355 168597023 187107243 843671635 95242437 204641585 991128371 174920411 922345505 857048327 107096793 619697577 352359837 539618833 267183899 218902173 737364045 72982239 784057057 166256193 516779559 928110895 885470837 823323329 424636687 617192161 909781647 450030837 794736591 46392579 831236427 8951645 481102101 436525765 577944877 937216287 534043259 433513607 192517669 336155403 121531779 10159305 786691719 697425561 773381785 630383415 637252621 570138343 44386313 302104995 736189155 746456509 173631247 262802699 243815567 983552651 40057549 369912463 601369869 924108645 254728011 472869501 959660469 751193103 83853435 160253255 526025807 593501421 800419127 86349961 355634183 688227855 107203645 396878853 501644913 702456363 847051577 362221735 959681679 593862051 291101629 968475009 809096641 990825341 770718271 413917905 628396761 615808615 8633123 22276345 450874631 789698489 445162929 724588931 77459693 342441077 866491673 697283107 719657869 773370941 918136697 243038133 909798229 547834981 323382477 161912635 115765533 621608673 256796161 784796385 401093407 726488401 84817893 99221243 677926399 278804991 460653619 461563651 635763663 644539607 168296589 917140637 935687425 747016305 270062459 190970003 991839091 352796429 294511471 289031641 364113259 747344273 594017217 206590603 628111509 674500237 198555571 23250667 158349573 402322745 211407215 214703207 657422907 445856883 539283205 560096399 250527773 292739523 629522287 531337247 729655285 788068441 556704143 651277307 917504377 743653897 32884013 79311917 187990473 792214103 570234873 92126441 936825959 721577319 932053647 423394701 104674369 145760519 222611313 900797847 797657261 920418227 120128515 422202807 146846313 426188679 767845787 96432317 756781207 452535113 244615793 145997989 257206217 654669677 33534631 278256531 478729969 899891973 301134661 63424209 297674347 478200019 167879483 557743573 872411905 214664255 787789413 837278007 483624155 579504725 492317315 519129021 9673363 647829199 347309119 292169553 245772835 754534157 397165609 156300293 241079793 58634003 296795579 544000277 965596107 277600403 154960981 160979941 111706597 32985571 968042051 366072577 233402333 743045379 68253107 99267867 656516537 122902681 231151041 531360269 496160997 250520309 721090925 435021789 760692535 137993999 686533281 520304565 631516141 124006789 250519341 390620903 413661865 175016863 851753929 401179633 894738555 425423437 669420315 424960883 276720345 202537763 95192231 129211195 617855135 771397477 348048867 714764091 79681297 136259317 520887589 872123535 467096797 131724647 432538797 233158777 626196251 65379057 929379241 805892453 285077571 431057265 998853927 206964197 95778111 903844205 171802911 419533239 854766683 365109015 320670071 961488059 151039051 384528199 314625267 217143295 538125613 891403385 779416135 334062773 905175431 345368021 878052621 439587129 476285253 510267949 459858629 411180557 44853435 620490485 833967575 665506013 938371499 699347277 177067159 921084285 317170741 248257791 884627003 728331495 230118377 930111349 321582569 731162687 465316029 687074507 742888357 935328719 543983115 346447039 961875811 788919307 539840411 295631799 688514557 712223375 301018777 681076675 589495345 565112093 985599131 810607515 876601773 707103393 654892703 227794333 54094333 967818799 882982921 826326225 48719775 253865473 725494693 497716199 271680241 847515259 555126955 473690163 839623997 545221415 970962871 690846905 2344373 623504827 920954829 306785053 809133683 677445391 179443549 12185773 773107061 807110695 701191483 602622309 120900521 334391601 656881059 331563745 177633243 115000957 561616187 952879463 999787463 178685319 319688209 64917225 595666191 158940659 586350745 480517119 155578941 560961163 102549169 379598565 685325759 11225669 239531167 53665411 518988015 947676473 843334671 276418411 237638927 707758509 808368407 314151633 538284619 79050505 945152821 13770645 236431023 473401571 510934603 757494591 276367671 843155447 682816425 383657215 144635589 473907493 825739525 157729451 999272737 165682299 850877819 954077123 354780157 748096041 217045135 188274797 94910451 547694479 319787825 428395129 598760321 615281707 868447923 468053599 617674259 898043565 378437077 303319101 593846009 399991781 956640699 802037979 686153327 764501457 330220273 482033831 864451729 171244689 408032367 807854267 914759277 119228275 137065107 642942931 951761139 138544105 296924701 830173017 843167739 562508941 455400255 215498843 752792905 798800421 368068749 651731599 783617409 501941915 902455299 707571031 700905275 48730627 496737287 588515513 703166955 707071381 608543849 114977379 323767541 106550969 944288089 247749805 379308703 631840247 966025337 486353815 369614623 277107715 152713675 528076231 355310475 185915063 568219325 975972239 226369253 276142107 431458085 443066339 700475671 14986069 687384641 322114403 959478769 5354937 302673333 331495767 42678831 643255749 589310605 135713455 16638061 302934555 951236161 865585921 609893945 353212037 284029869 897706893 180079363 356356343 749667861 369423929 800174371 956180109 770966057 218869397 121700571 926965385 799046909 478827737 527521107 923470679 779053325 230092515 53996447 425088907 232773439 421658427 868236215 291941087 827819489 418883599 317444989 116857655 789221799 963135033 512157113 395921821 383136943 38247989 386500891 208909125 591709055 252626733 969734975 506349195 132465155 162718189 45006757 291334643 260452497 60919793 583211191 364017445 146025703 264284245 6542021 28410359 72547623 587194591 497361673 560910691 22624995 160592641 665130147 567899789 19254283 764550865 65667487 875257791 991072257 317323279 983000555 953119599 393156743 189440291 559058531 567610165 893301965 404962841 670957511 182400215 663219813 134414251 871420351 673944893 190092367 266615353 358826975 330025853 848190959 461909191 827615391 414023121 187511315 292047879 207470687 585055389 754030063 695394637 924312683 542785389 903729697 298796445 566096881 266620915 817975215 52668571 404963597 72425225 434445573 439538071 351415231 975491509 887536889 693725321 783991535 137808415 284761031 938842383 505682289 364389535 276888597 864113009 703643389 695326891 110902257 58891677 434541875 997847017 464210385 173268013 260711069 503916837 575495567 710781789 745018797 531566929 839081331 539887639 794323389 786994311 523919147 329324263 921235469 260848397 921253577 601862409 339531973 199119949 863630797 782376791 386513913 663393753 502431259 813067101 842796191 503945839 105719551 455041607 995948957 941403887 787711537 788310509 746542263 863528807 532716237 170066895 911220641 69013513 756876887 993451539 272461045 393298481 527669695 382502539 167191857 691635553 436581977 25843627 353269697 955603525 149915361 389160339 751629815 422079407 883283069 452036363 541714443 698506653 360338875 122597507 460819485 348018737 997332367 260763921 606067511 863873205 242420313 124681077 250680395 913258141 731513051 11390229 433819953 141764229 671301443 522511105 750380973 427565871 346595879 595485935 387526245 92516999 616606083 572521537 972074477 428124833 938192319 309993213 640224187 86129845 197929637 13752529 916002099 81978923 609974381 103837719 668762781 598246795 197061299 567154891 963531307 545777547 370269051 979092375 238065909 443675651 645947957 266899145 968608255 312527095 489497779 217870679 312324911 827136915 901889589 347401697 574428759 45561643 404506719 227683761 152607283 710836793 568116287 693853107 157212511 180726113 234208585 980175743 752451433 270644333 42674779 117793877 843431873 221225299 958205115 120394779 209584833 825450283 797702933 998754403 477835431 798798649 446327935 889333089 662028959 589908459 663425909 49160949 292891065 574530001 655339741 230354343 7325679 525796007 276192005 282595239 206779171 419953745 780593315 324670411 772289565 109498329 523803089 965121681 381480335 449197685 937087257 326626083 497513233 739197053 672002147 10947151 384178725 593757815 365936647 618381709 70307637 903540237 662472131 896826363 763745425 307297041 456274363 289011553 879249269 692893311 813430139 403371309 303831805 635219835 85957371 731055479 518901047 104562257 581526423 302866945 702310419 392533875 166166293 541559085 252979817 685698171 297683105 181597967 705033979 825455919 240073167 865011803 195620723 720366201 135792543 40482675 957381985 954289515 302076279 998216539 761561407 610816577 777330209 68114117 263266159 788375393 877571283 15799047 774275383 674503763 908523051 779000609 798785997 387358411 89565999 67684539 377599303 197923747 985664075 827289377 361658791 958684641 920277589 527776845 913937879 603051951 813504907 984702429 141237927 702237535 295139985 445798937 854339025 98908783 492821363 937293041 675927797 165660289 795445417 573682939 691000479 571606623 96189455 271372917 720268605 722207997 590009321 391354953 663605291 643439221 916389863 66996997 671311017 898174733 474310171 951060961 947749601 31830577 178286085 886333883 693531875 901416815 650908041 928927769 909274535 753977735 710906357 672063023 785208851 515546971 985599741 190411215 57903595 869051125 311442879 998100603 273729765 8330889 33576897 191697499 641760151 855094131 599860719 327613245 27406977 308702517 250357663 191435671 585456401 873532027 835156877 837225865 915574421 650462233 57797857 315231197 46840647 831650313 960504869 865535743 280179015 559260271 355570767 120678919 598831007 767974549 473967551 374544309 883293507 356828657 282214199 232035183 349699079 287142683 528468197 825370181 403710385 287134935 365130081 616992239 801785577 332093201 648945315 201179595 175114813 306753501 299225365 600086499 702109995 76512375 746653827 235260385 22439185 586000957 823893281 570280993 309704251 341617601 589229197 178847 704426711 461519793 893371083 680336389 40022015 384722925 281185611 834254497 604224183 380037235 56390113 622927723 339044069 234705523 904076233 849359105 611084893 589748029 967244969 674792617 481083863 232561485 94270351 662948695 545791475 223787847 347536369 531934365 745249339 3734775 790153897 58190781 369002529 105693775 28842239 492041887 761855999 77740137 684998047 496155343 686039059 617581707 232540063 48882825 423495049 183282461 855112573 236033447 392662899 701502135 644381725 485845173 136637895 141819663 734301643 338754015 376040041 834611211 892987199 159820285 497645603 403371191 838848661 972736397 310373283 352541253 974093905 409052603 895990403 993339663 27546723 926247761 699743815 442551707 36033821 956905417 670641493 921060243 961860159 621936705 267011071 879233227 143941101 243300481 615883137 506957883 686651829 130608633 800021241 237073163 820412811 925980861 323586673 434118531 907070669 395461265 612100571 985630743 178771777 92159449 886182415 29356129 451767827 767956133 663931855 312209447 841305817 428727723 489178821 574443603 493248657 512761165 68736643 58461177 584274589 379093137 632958847 918493523 979026893 398890533 224568349 149742787 225645399 51213665 790748069 255421399 559428565 266798407 818408777 296185921 755826769 601511801 136155937 624025821 35982131 377903435 643374383 896660141 207160147 212062385 255638621 537238495 271917807 981046091 965130619 293015745 359729323 186553699 290377797 987429075 319352469 63261925 16957015 302773687 566590753 434284649 486188607 654659127 242165293 619606061 794965613 363894087 601588733 217510685 498660409 323410691 408454209 996684739 214932709 633405359 546861837 539855193 782493339 664296115 196757981 596076733 337417579 747790245 13956247 186666359 990469199 933145407 692876425 968993973 842781737 225047141 712639849 933079633 324167873 398064417 917784145 611227081 150358473 497382825 54560457 601590081 765416921 638032725 419541951 46520973 985922931 254432169 611446405 224923171 797424129 817982803 598519257 784049697 756634323 301630755 839958243 479263565 44673571 755204373 284983853 946892827 426835473 542571341 582240431 853625757 802749353 332482839 634284741 937262229 135151577 751249891 455682867 619235433 664771197 221320785 915036713 783513131 987725653 269351199 765696059 490370447 534055179 196504125 792478053 78546423 313221679 697983419 705196557 139409767 527746107 422339799 270219265 194687377 380617359 794863345 931986293 338809547 750922103 226810007 217915911 253494037 503553827 447880313 998161341 97612053 408879273 728370295 327859715 662460699 676518671 273452689 115610799 592670751 633337405 343779825 514499325 861525183 982767619 307451887 170158229 668012099 756271387 844189953 852593281 77520281 523020837 247967695 93604921 220149339 607179437 221439007 794209943 600823239 623358497 74415593 446511845 360260545 966745821 839509063 701799371 880661981 296760607 162371707 882026081 953694801 330242581 29425905 701774117 181753593 907397325 529729083 43215099 647639137 120891201 748751895 766281777 843198645 209172305 145891943 55620475 496004303 596906951 193354805 749208311 764815147 356924757 696116917 606447913 834982129 377313685 993414723 323258881 703568627 211535879 409130849 507882963 625011877 256618259 983244219 590231643 738934567 800680205 875841827 861942209 634210371 807953197 25015447 337020815 540176739 210040467 996068153 437450171 51679395 838004553 553269587 750939557 413200321 971047233 809919833 65015055 586408739 643450197 149470951 885698855 955246297 65080901 797324737 265054595 905297819 469100985 40664783 96374561 100153799 387800899 879564071 145477987 73137253 730267487 571178755 468186395 841260581 310635115 150400711 951006587 30067803 521287089 460974077 792872737 623239691 449091171 391146585 408305937 558124761 876330651 679665847 389857723 97882643 143255127 479129627 257062385 909190581 51013765 395754669 161724915 662917467 702012401 619852995 25585765 639354699 407536217 666521047 465967957 14042999 142302043 530032013 686330681 880480887 404196225 942160049 381439467 919809159 209829693 136925235 734411187 170627215 476860391 33306675 449786941 720122657 257669315 80276719 199746463 113282929 589508599 762610647 136784725 234350687 315699093 371939963 110036807 423709555 199608985 209482647 967321279 84145629 546825695 169000975 534030197 409603443 82466615 544850415 522247811 174553525 158369355 818413417 799719283 875871433 583444411 675345367 761917741 636777599 145320451 635432127 180847883 492937039 669897359 414472907 26065861 742063447 703107247 21312717 133872773 404659551 405058207 580056257 670513111 834892757 181540475 874856653 339245231 288590803 794487121 66357303 777711467 102238229 997934609 259995255 390274769 185497605 530920083 805320231 201101069 98762417 492538011 823950345 752215733 901345743 50295503 231525897 511074245 834437313 763981761 352942649 392522403 843769739 174747371 147227095 813844765 679393 314587055 135067715 22475113 446924821 989440597 548362251 180073761 308759081 918929677 398931425 771464269 512812227 148583667 593042337 840445019 138951221 904352521 337295181 761691933 655576435 125826867 830390289 344195537 460711197 668664649 666224449 183068703 796575355 921055743 871929173 189732627 578181757 76310519 217827573 247276065 518020793 134677693 383813609 43777573 330114159 760092609 833402405 447464553 605942149 899435867 636327621 18115991 526930315 838950861 411266827 160895171 714674873 286149185 503469925 802833005 541796077 457046983 793955937 36408187 469801647 749965913 594565055 220278837 426778157 326819287 997123425 760121175 272247361 5458701 333094993 46308089 10025831 899401897 944536005 369569187 403991753 139044423 941498901 293911361 172093235 776227687 195548101 258334249 184368673 547477619 535225473 344502807 221635757 65661883 226759197 419727667 120316579 402983545 267060627 171421959 62127471 458153933 913723399 4758411 234602793 797838787 421814725 857680923 406357905 854534729 72661821 168079483 183648527 873963067 166872077 749269467 577950127 593319513 966244345 830578125 89005611 238835275 765832681 329444689 535008993 366827941 853662451 938537419 912794331 377688287 681463635 411389449 387370179 130178649 931025769 736568639 47206901 600404319 354101953 155894795 581815663 332554527 610987281 270252913 75802839 299879349 812366129 43258337 976749949 173347617 944658983 381394479 274272089 57079883 264181789 714881177 910174729 286120455 74470757 538704321 900008405 97724429 251881851 690238391 802143403 281858045 586424325 335312113 314160933 709002849 603203017 704761673 388620671 150943661 339745727 660638471 629131427 622411061 88187905 511628247 513542429 939733055 709903569 314409937 857669673 431692529 931586969 628772461 858649761 751136607 82080753 909442453 490630673 95729281 611414159 812273301 909681061 580600119 525041755 646670113 86669109 896634699 273119581 358196311 639150145 819986031 531035593 889683899 970878703 772110653 240009465 893188157 179842833 895205939 466902643 352804143 213461275 439986367 808134881 766714707 616784685 78326829 843183895 792912841 376184847 503898299 576970509 244311841 442059825 411557511 502893291 169349199 10397353 947216027 638434297 799396273 482671669 879890409 613468075 146494989 716353599 57442889 728302237 417695119 148324309 126881663 60988817 399546061 222190255 211059249 802036339 280244165 321809451 473417971 392631639 749965019 991933009 625890619 623573367 596183003 657537231 205228141 881456183 175020797 364378111 826941649 889344545 463791067 522642909 744382617 366497257 393085055 451172627 739083997 805686123 46850129 786935789 294499489 473978537 352090411 395444583 612044235 249033937 826934855 809177627 995241517 382985009 88910155 474842453 475595907 750648905 173527875 267922945 189647723 527166651 464271785 672661431 989977199 78540883 410776917 265748919 519309567 965007105 959904141 652807143 302959993 273260515 695980289 562440665 626017305 900257341 517284549 45810113 752365579 260039799 589482837 245991807 828973151 17016103 969912729 189862299 531921681 206725639 633379803 943483461 337163773 290039035 917697747 303028307 215071729 905404687 944167067 190112835 585021853 93188467 960261051 220140863 755260569 960311943 967327777 715884565 615845479 411561673 197994015 841901117 478069617 891566057 973865333 967511765 579573257 581307319 106580037 382378917 426415973 883282735 429398561 681392155 225969319 711243127 221727483 476656719 153496539 476992213 623744561 500731907 464066801 360027585 624642951 355853209 124435649 440593877 665193005 684653349 639614989 883321041 308966839 897860443 518467711 182713253 288887585 601985693 754134439 25927009 617294801 743656431 917087743 172003395 507501717 81675779 656377321 71456939 818618531 699016239 689314987 388705831 317753493 491149171 825686907 452346985 316235123 426476405 6606447 979339341 884174761 909608327 383938441 730855123 702249485 777619357 688780723 226184747 465430237 116266327 85448125 349172903 827995323 27389 348845921 267357631 951168953 73277567 644021823 119532315 454537799 348305523 511422179 975796611 373232711 97044759 912434107 690999275 153563645 104213845 756025379 322730607 546288915 876317627 319585627 584431441 35222947 74916225 108197261 355018237 485599015 441085829 634412745 975403015 14166917 601850189 564055049 755382823 646060041 782063629 315417645 909965125 708328557 836099479 136051969 485301097 679670217 939107693 524467251 34164935 567748003 257123255 34387039 133655739 800745195 440710721 451819013 654560969 691978485 420568967 551373965 372381081 909165183 716742051 834315083 331698689 523309227 623349089 384062583 314281467 255818761 5601581 750531121 742443433 937606031 686305311 190493573 826212955 666380185 85735159 886357857 612457855 775400683 471761691 348088737 10136499 308894131 582874011 404592131 888536505 704693383 326715951 355844405 31762815 647390565 828882485 692654531 196456725 276455601 867662261 300721451 683141047 916816953 461993567 139549387 97846473 860864049 906692233 723921647 762507989 308917815 415591473 181270981 172414609 332867151 511327745 157349993 113004501 324316649 412130887 568900057 66368167 534301401 127811067 85056003 92926511 887482971 232074683 824261299 853049283 730972181 779619533 467398823 964516831 763841813 745248293 23466109 298507555 22089935 516189525 511313855 172797275 447030819 401395615 108008927 402492029 252399699 689450731 715971895 443764129 398999565 678590661 19159045 305009677 91284583 15896937 225783671 413124139 454230495 137902257 115638425 810204813 521895255 400160041 310045545 461484271 475984161 281540347 743424453 235992375 223128047 586803973 283827831 332843115 608192477 521569215 555010097 815860675 707027829 570579543 758340747 691301785 42196639 831568279 709758729 806605935 6862261 817681145 240143889 724649969 367806065 207755163 686664693 617017841 644650745 437890885 597770737 111889261 849640155 7071591 509233443 248620421 548103179 32127509 873937813 966104199 816958951 575831827 407789881 406014693 741804597 100637893 668799719 899613243 977374753 468755771 421567841 641117259 162377025 143401259 704087121 635677697 613341841 811453687 64418121 751148655 697489273 766124965 426587327 612836307 177468099 993830883 389556503 119490703 603864487 38231817 185489305 76134957 909020863 623518743 452785015 610905697 792782611 996763829 350646985 666451463 821275921 834833457 260097937 114627617 33673611 442299009 747501753 824791771 309756609 828492613 866480915 173510793 232024407 583043271 456918101 866989221 98900825 147656433 221646883 136884945 778505023 52246113 428326659 456285149 960621285 911086415 973911915 587726007 199077521 761360553 955315889 979759997 928672751 632505081 590845975 153953905 557360405 301228409 444878279 975547137 319661951 116660487 22077395 159231163 888101139 556794155 986832177 187512415 240312095 551346963 667813571 779869391 708989271 902602393 417960021 363318295 632733403 582359353 847443351 506654823 358205741 520177949 399434529 676643101 534835515 278862355 857145205 841885629 266080347 691162259 294577149 880622319 604971339 486240443 638260745 439259529 492162351 89322321 364282323 870901127 35402899 276315847 999514491 767534857 210060399 748449333 421215757 406163291 647792927 833219159 119253113 256795123 660263783 135779477 865047703 788393321 468620151 147573761 306399785 574610563 125533665 135020111 168414167 563160873 111304357 216831201 789897269 223248243 94475815 878446011 115806395 155776151 326203957 855595151 851323595 277293563 422180611 791957427 595721387 669649451 966944305 541398311 436568209 667617241 273251777 236656017 517633939 490867423 993323809 795123009 137547953 645156163 528156197 214497071 684249049 134777903 522498063 908918265 305400025 601484021 104889983 22905063 869133419 765587987 112046727 1748199 205094191 553927721 300246935 603421587 414327473 693636357 347226257 723668007 978926687 47964313 447266999 849212045 934912149 581181439 572225209 951713363 786217875 251072125 603472297 697840561 750643329 724981885 151036423 934417539 637166195 85399699 11261111 415732053 654841697 814071929 479290885 363409491 105649451 655443473 892311721 15560791 756904603 146632297 874656447 485319133 108962917 925127859 219374285 37902349 144545821 664308043 348463807 160584121 504231753 789548723 217798379 216272469 463106127 558214295 658535693 608820993 137829251 671743179 47016779 215951237 175765533 240385609 464774451 751791441 222829885 174823987 595976891 570363003 23228653 355694809 336409917 544514755 51193631 835137705 398112385 778577551 825766061 941308225 811164085 286546927 272972887 51881059 724787307 102555547 569186245 476218619 552058785 896924657 569719947 711814173 975860415 885223929 490367263 554895875 152472721 47854691 877833189 103375121 310584905 540801667 923166247 507606225 392040073 225185629 205040403 792477433 347930197 656747667 814380739 228997217 954740247 434587513 805005627 641217037 470713513 576897029 180948833 942777387 754857541 38454227 41581063 757487371 822599569 287758639 472289001 792835625 825271451 748502021 285574565 675108137 340787159 807946991 103292101 71207637 761888037 560154153 922144443 676334115 133361349 479718043 393888479 222744363 284557929 50461909 464354933 7353395 117763621 855762449 483201443 305758883 745961335 934993193 737061499 778137105 45940289 988166055 593140729 631879481 336123861 802333371 12180219 499445499 620150243 415377467 45528395 847944035 375090061 682044839 471701147 266147495 836155477 797996325 923117443 589328927 576449323 998079109 611027077 862358353 552474465 367018047 646040843 104352999 436430775 113371249 333799015 547506099 79170385 790673379 720702159 33376691 206484157 499627779 734979687 292011783 124205807 273334507 101702199 784062717 913825349 330448471 926228783 924333319 935674243 856965809 936306989 720258495 83332313 151503111 980443629 775176171 461195483 289898255 110963227 148236149 602407301 31252011 360125511 831391343 316172095 145433183 433518571 381902359 147207635 904058205 951283817 812407247 473996151 733334909 564254217 60322337 470804939 309109947 294721787 601706433 177680593 524457919 919602269 443798153 215159799 280415963 545594155 110907007 355131155 150087427 55069009 606661325 39764835 523776727 943762079 642845383 727420555 640423327 790751183 556756711 390193047 413948491 718176129 224097231 139128831 134431857 261492033 615868237 985952927 704769361 802534527 361423189 606159549 637427921 801000339 946994943 381900547 22059137 821155007 392202639 516704907 708262553 697373997 946917745 266519503 718400247 120322541 962557241 259074485 837134881 343386873 829269665 796204683 965917259 441743921 448276363 491438853 775842375 856369761 107161351 402564419 264784025 783175223 603437635 199785927 337467493 738895183 448543133 18163839 489185913 41078569 447654295 884783553 35768401 691598895 692921311 459335497 479409415 40275633 51293253 368521535 931178087 403644905 306088901 797537581 942935517 706360567 337863555 429271819 474371457 752390631 120316873 204290099 174890771 825634983 470952205 274646639 45691643 812093971 302803175 4064487 989830981 575416555 306770715 652465973 655332011 33578201 506154135 6191699 685510027 248209771 890992747 51680167 378862319 419824927 547199187 655582717 980842881 803594325 780081715 728507021 55558813 652708947 353316887 900019187 816767297 28932685 210441263 730843957 460488467 685732445 20354907 857666239 15202147 326942339 276063387 740116839 323276841 32821159 640868889 139501417 242304259 969361053 219698219 492136813 578003001 214700317 7085133 234786173 624233401 462961863 439299103 428844559 462760987 907111463 374869103 213176067 226994593 880083883 392207407 145455771 313372973 92183213 992077177 201035909 441817939 178100337 923515539 114757335 711970121 572746525 796957415 681585935 500582891 479256261 627975687 224015121 243217093 537222753 83016881 268014121 683742467 438076625 862621637 404748815 798181501 758695391 519183697 965505503 524118707 966025533 308681607 789293343 474303435 568386437 590154179 307637945 55994263 758529845 877156743 711440903 683442827 429044155 564879231 638630339 128984775 291712099 647184509 654583571 29490451 945077099 398319231 602067589 323973599 931003633 528245669 850264335 180668481 11424255 74211133 236243211 696338167 531897735 303433403 658371393 396885867 496566627 32860341 530999261 527911083 350281553 856846325 64180597 318637679 150857725 408423009 2509319 672107029 824951801 937163277 215961589 914385829 223831227 879896119 954453265 536502477 116030375 4389953 861122443 807833063 589229829 355050165 984691461 401241839 16111879 462932039 341810049 277030031 69634247 114665171 932556911 476944659 735794499 502974045 677441441 553780087 270692455 568789517 988904535 214056533 62047237 429964601 617479733 312128761 429159123 398225499 533699657 811713103 132867957 558344215 241018887 83207151 830891891 484245559 821299789 989717785 84975167 172740273 473646177 665972659 403317809 732368029 877254383 453534031 244705163 470620991 635092237 17706529 703229815 469468933 417014583 214958089 58254599 290357375 257708117 928258447 889012785 9689961 531905713 379480291 254583513 542584743 259689729 298422489 549583813 323603523 231338341 999292405 358791083 821325939 170468959 479190363 52336161 312704143 964775389 716190171 819970219 477293341 333761591 219006189 737089455 649562565 575883557 263996847 968107391 140901983 55588049 281653735 841805141 814717409 92744903 361599241 347219027 604920689 812902139 541335335 768831103 944727387 121807563 747772931 458534351 874775055 43039739 929997317 281311513 599689005 773995963 892788027 315072799 145798773 311710111 865717339 412555659 876086481 428141731 150022599 24307693 360215385 805220909 930085507 972164287 487547459 82411787 384256833 477915235 405109239 799703665 7304023 501884449 101678587 568768767 302929349 969060137 79272455 382643127 337500721 860226967 84349685 833382151 847953901 412176747 132433351 11425221 837335789 304231311 430119081 763769901 209664721 475328211 937144813 934697191 589089761 907523825 889112849 231470077 497252365 856898441 213979061 510483943 586739177 955870503 911507623 992465025 179803577 557194299 489387737 295336463 680259169 567661083 498608231 507034689 742372465 565619725 410049427 168301865 248439585 338068537 659296201 244171847 530491213 945130159 601214109 951263615 202989697 981948009 363597001 971189279 738267115 82853447 452301615 126853595 838618463 973402133 65705439 295403473 179611231 785199489 699794695 696381319 655522579 624381735 677053957 763241961 723317575 562454407 638489179 414456397 940104055 194083337 542356661 6055279 789642173 588911105 218530279 400222327 600363749 136762279 191647211 758274543 12921179 807399707 117845221 28365519 975164471 546491241 550785567 697938801 185579577 148412287 990161677 576160413 571540679 816641337 430766155 791164545 962871025 746114133 993285277 407084975 992755823 812736897 442594795 265312807 983658655 132248395 416648267 810541645 674408841 82393387 747114231 222739949 707244765 838871685 353485139 41996607 396055281 845968291 212561387 744688095 723451331 217434291 219108207 702035411 768666621 591120593 447363005 980270727 576524269 306706683 359237849 489517007 168498827 29971743 582027757 641617643 441847413 689084169 914200139 794460545 141187825 837136247 321166959 917766811 178757875 605837575 696513789 59518383 376628749 37893955 422501313 332033947 718158721 38520221 851603627 955679141 688522039 217387631 757771483 907035259 784026811 303722489 529129359 744258351 840946249 901598563 313367351 631524415 653751227 300425151 927614051 920796819 247549851 712137481 248905937 281682549 748880921 444648735 406278753 247814813 556903947 881824971 714308641 292423463 51314673 545129151 159322435 626993303 717216499 681884307 694403105 2838237 405872093 235613643 114652993 231928907 652679721 78010061 467657805 303966369 920649973 501043181 635423511 75761157 960531465 538625633 850969757 956665343 882477779 188600653 682479615 133557899 522218861 267940537 341822859 544500993 689675669 254786199 618057139 887008041 505797041 991977919 906919955 871163439 735822799 696738549 798467181 631227815 862059179 260235231 914570669 572398739 75464353 408945679 158970599 47942227 184758457 982507007 843684435 679307705 473727393 807420945 663193689 987369461 723405489 394079629 401867393 964842921 622572265 845439909 540114559 136026583 128904177 499326577 283021103 487304941 376934165 72583155 813083027 223573955 739472465 612929813 299019735 930347153 804644671 851884713 246635599 126229505 793066027 22880357 319833717 422464543 672840959 267565037 742588909 85353311 164994135 33507273 154154881 379309471 370311281 830348393 321985573 343970085 541139507 373524265 2485237 693309339 913121839 457027915 583670581 170320155 746326425 362023157 211591501 33313055 706724689 367336505 421471699 876717967 231990495 15348241 686365569 522038197 602199921 559794013 451457851 293327175 337438945 953311209 995279115 746316133 652246187 372432741 534121255 548265361 102372601 526563945 137382631 648079545 226665881 121272695 235297743 435016243 850843395 887134201 366238861 566876861 104728915 589332799 889605617 179935097 173337429 721302403 237222391 292156665 103507317 50876133 72291523 921302063 654037709 249332849 596625825 34593655 584529945 652764439 839877633 957968283 432123585 64507055 548224131 43919043 449063895 905671931 359253477 473701257 617561359 58008739 790912535 365198311 443376585 56520763 395298601 927292483 859351055 41622843 121173591 319777387 593743757 140263173 728921351 185084563 53545115 656110047 469537215 878902361 427751223 502924287 977725239 347097539 389237261 414678651 162711369 794631741 726877031 553979477 457909237 647685021 331210815 58462581 753970283 819965217 413025587 919568815 637941243 840167019 286090123 274034107 424127267 570384011 293799477 461161529 926277763 30630135 766704843 13475509 672956393 77852811 124224649 33812125 745583943 829145739 214588761 275118669 322002361 142725029 825782473 61769221 638739585 731845873 977761041 102758125 856279563 10944231 528870925 692874265 821603049 263993969 956537417 268920193 37546713 653351387 732491761 158156549 185664955 796602841 580212701 514122097 307176605 938970761 637686927 527440755 396110515 294714993 839482665 551632037 549980243 129363837 935583357 200824971 803999237 997799937 647582213 759103885 706342261 2225087 800521435 266593273 667987057 958996695 333335753 6368013 728711673 956881113 175267135 500474343 835803951 290013113 342926419 199440017 574311517 146532055 829237189 345918207 241094135 262230517 819250683 480196613 938682777 707598913 791005957 50442857 103384325 871941969 477327771 474998737 391449385 974896675 451903515 790015953 567964435 153714715 184844685 860436191 22072579 823875589 199634081 644986719 617981275 445764889 996619947 929571483 370573223 726688243 827159215 944984001 735207319 164945815 542234703 740869867 527706633 676613237 950927071 366940189 880575489 159319905 963605589 972146749 566771111 852016279 754756685 277430815 623767889 134775997 564546323 598314361 67667065 905906657 52449939 851458031 617797315 764157047 536560485 599962633 984878843 725156445 153258953 471454777 981872657 144416729 262800551 499743703 121677859 852189847 488017547 89969703 359107957 63539373 952174769 682310479 172658033 360757657 925393907 265554273 660708265 92204349 160114651 162223961 801759449 999552233 596255129 658628117 80310245 531126355 671361283 117443423 275037913 942499479 911579545 475149033 505477093 616791865 280194945 626517835 896839785 490589479 425863307 940099335 458134501 836654009 493349679 121137543 364062979 190075305 588182923 13229597 178989723 79205917 731088487 270562559 458531491 541957537 346872881 45232209 260443969 953250093 20667395 48820507 413673409 942315293 925901977 969737807 418588565 225067575 932395357 974450629 119107417 172469927 860649821 92945215 687403471 750868227 742593103 293887847 590593249 749466439 152899989 488468685 386514599 265416665 317235507 160640747 497513049 384794249 937375451 516592931 439089497 80628103 938927333 9147837 343694389 356250741 197820237 722553579 814230943 946223957 352851131 465377733 251986291 123096981 538101121 129577293 324885427 759590667 323627155 698358637 453629835 758676213 777767569 596502517 300441677 907852023 618985667 726421407 435847287 659835933 328640537 277690637 204666539 930722271 9552425 196727749 697173683 501439257 15003187 995753789 451619971 203148047 536635933 294347723 763230519 507567217 65542519 630199217 189121553 467011667 429983863 963820569 106954109 147164977 958577919 848023059 58389007 934653937 272072597 443251097 136697729 496564961 843051113 409246347 336670135 40337077 871701071 263749557 828704699 596023691 378256331 257358279 979732161 462288361 878155775 12515417 305064229 891724219 947106751 274297069 949405035 382103895 167915137 791565291 102703931 110231163 229633889 778266023 331528811 55858505 641045035 56370009 331751413 253511507 773066827 379442209 879011581 1649801 831929817 120650763 423629775 996654669 720806549 279138565 653166811 855059553 542812903 19213291 526864831 706974709 876249819 352978813 217816639 764682907 617892139 562828133 554004291 943088467 303643189 492623155 545412065 436633985 473847555 494480223 247388757 956575219 855115327 360709711 283000063 541748189 522271557 845919559 704353643 564643805 325088019 21499261 134486351 685118713 657913167 799725829 548845443 509360029 423269193 770594277 386075917 541644959 267893497 352525573 260208663 154228283 342392829 337009459 324076787 678155543 932440731 288008237 779498781 791573825 539513543 112351633 981127225 190328111 823423251 621236203 35559187 222261947 249360323 300213673 930793117 881951277 164923321 133825063 744612081 506749747 805049737 937901219 771803733 122901471 805544551 54809931 669459507 738801073 296713525 745974315 509027871 560483981 10273145 564013633 969905873 203914687 895512673 746559595 269726513 619553535 9092037 201971315 151609157 938953065 960514853 709581835 46326597 275825793 718692007 54259661 810805899 378608951 993810461 871326777 674406553 476397791 838841339 476372663 673430043 765308981 608307809 227617947 103789027 934836831 192000023 562980379 418293743 917813227 118328205 539620699 31613537 709769165 431186905 310594403 552653955 249355877 765036473 960441125 629035465 840497269 440290967 427079291 995877071 620310059 157238145 527212323 969680983 75715101 861246511 424609737 79366221 65965127 888364543 546452735 24409797 855444241 259932409 585523771 651065593 117304901 984068299 870891745 922131531 441018395 275187663 169549625 60758347 577280559 622917121 243515765 763880103 552071301 656567819 967363247 764799549 785015949 415295545 861911013 965627919 73617945 80867207 908491523 407841097 423596649 699840143 287091163 961789759 142207777 794974877 507056419 493216875 827327311 250084509 142459775 738078577 338695271 455331879 772034679 66266139 595836743 112199803 57945981 646074463 938106165 352263039 650838761 529175893 585745117 623255747 375140605 759948355 340034387 775415423 947442915 541653393 763334937 104405651 656280493 333142997 791841551 133705091 334630737 126546121 622289285 328045953 816645043 334392913 923983665 546840417 666161051 653660537 238986285 78973351 203735993 368363377 708406019 279576951 170688427 134208153 960398235 66132897 850393837 913863023 416570445 532689309 33422827 963773347 608878807 88889481 905885429 396494085 509517661 547849771 835196741 21336209 146970987 243211255 98552829 55457643 789495033 623864831 376363301 670184927 732946275 612192261 179129517 432914527 743427183 671496305 977379697 594827909 792996681 852739409 868165169 617688599 653906309 313847131 526726295 818431999 695413283 698259185 967104051 898756431 234486409 761172759 638077311 315139653 957647745 878123647 151320285 350174529 402533441 281203839 215910805 388298193 29857639 945843223 185108183 107442087 954029561 90151661 756560575 415735709 165490787 870438995 935338317 59145913 135297403 585434685 521216875 506680101 133299071 842890827 912614377 870541109 797363987 749898949 943679105 543502433 551584323 763176859 559635157 173142609 767655303 553591137 80993131 465841613 784961211 782340187 722837177 589410761 972522019 520970605 508053013 707470433 132338029 347022631 240659649 65278935 964601009 720422079 690245349 348575127 272275817 144114967 280140949 166668595 55888251 980317109 978793673 150416745 315725365 8773575 265697377 748587803 139556171 874147111 909518633 229442131 862568923 384835921 886486735 248567621 299849579 850133615 334397935 373893965 343212775 969380429 952831753 311982061 201827749 554121575 328738693 130538451 185726049 867128279 835325623 409833421 864630337 17284201 284079831 848143323 952079317 177231753 151116805 873900063 587989005 245838415 537577293 484048867 854972747 631256953 202037149 554924701 847782993 558937715 559899857 139656933 293927245 452290119 705739433 516689791 437716695 10633391 201244109 13688921 794313447 700262153 653934801 750148995 710306791 912458589 27772203 705548345 740070819 13985627 633337409 764016095 380151375 280382809 419448919 655631103 294954889 915582805 678740897 239950415 336503125 62321657 309176633 680443815 730995491 917411219 575968799 345405195 990496455 432467227 904592443 802802089 851577725 496861997 67611999 129386705 609188587 515443477 554373191 252741375 615123999 948590527 268623249 710794967 884253839 527602373 240932039 819747877 15915797 932520803 309277533 554164443 526141177 441506179 525900711 655576595 683521255 353619633 74219 839485715 132772341 784872231 234461519 737152069 64560289 332953797 152250597 1356859 404650447 416690703 479328425 704979633 211981771 658105143 747384953 391693197 213116749 887004435 11140895 188034005 855790193 547771939 671099213 647362241 284750779 153420685 790232221 621001387 376356123 703428131 481849997 88575509 645013219 305145689 88885129 825748137 721786067 311500879 216366563 694676543 873687823 72749773 106051281 609038797 479884069 367138881 927432055 457725051 87687433 505093829 816539613 673364625 935834649 74998807 416309749 887700099 688180763 784431771 211030679 372541419 293000763 795763813 925687943 259376271 293723151 540031531 345185131 120544601 392660627 728524363 720624853 504939357 474582831 949241803 841172799 377766613 590319789 920715615 219163915 940666403 598128709 327659097 190249857 97055957 565501073 64751035 72192979 513054367 390546075 868223789 469584409 666964055 836591307 932832251 739738711 759098119 986025977 461446689 211822451 141168341 268016227 77430073 702947391 326843413 224463021 233917837 692019317 105159749 97837797 814960909 699275191 553579271 992020863 267332175 588574349 134856485 509173849 149392275 501853031 227617173 223656887 189410751 982956963 535994991 326523209 640013157 175294589 502226423 476795171 695799223 467192865 136078233 155982529 236217243 198483103 503227113 154393609 400861331 191343857 1501345 919214153 479073743 996390393 555395493 142876471 15309609 98954621 383442433 142327789 316168221 435382579 762877413 795560435 212439765 668431281 378286767 375901749 623626015 790927225 297256419 791711243 687916403 210380277 30949929 364265517 220520941 547224181 152573015 79369669 912383321 94873907 648629351 557527901 967363619 391831633 654313599 376618989 709355877 747788501 976796645 200633297 19719131 849162677 607658513 212599757 605123309 957113031 731700123 839964177 713632685 601725389 298467145 287217457 103319503 180405617 568092931 366405929 912553651 982682179 5993183 603291743 255667811 396421051 764686361 446204577 580759691 239722815 920584209 412540451 75136899 547037973 922064213 642653315 802835785 398502253 486871703 264877511 45707401 307090275 206491569 393600347 347185549 504268791 867760809 952722197 391054159 777227537 703177385 612642865 921714285 148612229 491599107 767215703 213513263 524985099 949906483 176104593 998152067 985529667 948454623 939382871 243966467 431145145 686692559 308570243 214927083 605018331 549820919 440888413 49789989 247162885 517917041 178163347 744538943 505431671 644722819 28588599 293531759 990239577 277346199 438418889 813973399 288786879 215648577 895547437 129048893 800055201 80463673 750075825 867774863 44431071 782779239 286935817 186713445 776970309 554488019 205886035 498166079 11764865 322286257 742968851 424563269 431735087 98845021 22264377 501938499 146118605 115000153 371601689 291868085 639191241 513357905 642034799 855877813 513323119 975500313 444362851 718209037 949288445 374833065 746777215 900270893 602600593 427764777 809310905 367629355 258480183 482116065 257640049 15439047 58189021 113861959 449757545 235550055 22307677 531262451 624291023 515360795 723155579 366699433 121159737 455262107 374100445 495779157 207260325 359652933 898077975 500195851 116962677 405864737 371891359 978671621 698748283 79248093 514891483 554547623 279028713 609409235 305195791 914312315 396189533 100410367 555834479 878774325 754788571 84876811 773383955 179976115 486653651 976555589 248733439 194472947 642625559 487432357 604637977 748468003 997593319 629052103 301746229 434175383 272888295 605603063 28087305 788932811 45350181 811583777 735216697 501344863 231129367 570162653 190089549 881742111 42067351 423094123 815469495 13971457 954967789 152437939 494415057 386122525 306524357 534781505 735563737 834828471 598445365 342786895 530166011 135994941 98931129 144790717 145568841 946192191 833481273 427647503 722698937 820601465 278513663 413366391 74415919 337757393 473863875 853733835 877010291 26206797 108271519 109279115 109852471 9945893 82253341 67115997 976037651 356940977 300835109 13563025 665803659 465217655 407357455 864919583 311369221 608944929 935945625 319363237 88838099 296050561 190455527 287362283 914162479 359533461 769150599 795907423 702050875 968587645 496069485 370068251 386978303 908498567 739445239 717123291 472135021 618838565 122258155 88651273 109118557 11595505 146900085 21655473 125581457 305109425 996711209 954438031 226822835 307183183 944366857 293500159 309049683 681516253 100293749 172981255 336760301 350278809 551038269 33023577 703314909 486465763 615110039 724817997 367212401 62845513 175461149 155621343 8884441 845686141 592590807 437129143 224070445 720317531 106456371 451656229 534243695 545344741 453595395 674764835 376431497 923443271 656344709 659971659 378365259 594171861 535580001 607825383 701181295 579047433 366263971 67249639 969805463 853551493 37450687 907546081 257354827 805210135 451437457 373763347 78426107 606156209 386656611 136199529 810106883 181241199 989149151 18667117 307325091 821886101 773257241 550745687 108244741 657737099 892139153 871954697 554927673 558760677 27738155 52711689 587000889 339930209 202075445 376536711 317129447 238210017 344361061 95297111 827484937 86776943 420103125 156372733 523412821 747920705 427313677 390765979 221208929 18840751 732177657 600124677 928696495 3579709 684074735 773866673 982218151 720760985 86841259 304599483 725600925 7561361 618667861 400865775 891069641 938439207 292910967 872384697 216894797 635223673 361457673 586948145 555226671 853908947 251743847 552942615 819041125 277237417 812285525 732703953 219410883 109107865 497222403 694009457 652698639 704181601 973859843 222464427 415174641 927329265 572441685 522691295 179653369 459035993 172469597 341166869 133071265 659340245 839244265 792836861 3806793 881006025 988195117 249166317 183963195 622350017 578309575 86551781 856391339 51598445 258709179 556443531 358417837 471450029 929516665 189829935 403333447 152347519 414246869 456948169 786158177 372737043 713519371 806509301 931437001 303601081 168299715 560486655 311851325 549478383 449806087 83867605 235870811 364191829 543751247 430558731 608538543 23075769 862580341 299305445 770069415 26512651 237384641 115831877 866428831 71097963 933311967 925360575 640316629 133925401 310279399 147949959 930764663 911714689 208623697 236606591 394654609 232672821 162725895 750208557 590914593 484139249 10172245 902512575 812884997 172518555 318120431 985514253 985130249 140274491 521185523 383367063 761598171 687831813 298943973 448693123 341291029 901149011 902598069 717948065 126601531 430791595 501001141 902840683 37387699 378298039 427807911 806590971 53614289 3349835 330410411 745301787 336748235 390066017 283766097 884664635 527675333 312010523 297938061 610469233 406955719 786950599 535129021 645945979 288035523 397949143 685330855 694265283 363075475 327594727 875620471 703103575 833595637 143969977 920206019 784258543 890264983 554414137 282857609 124953065 867249157 326612859 357619245 722760269 811231677 493815225 741282683 1917129 103247901 755331671 346672299 828585399 12019567 311097823 101252951 709175571 233053669 378008837 188664713 199754629 348899479 348220837 385661097 371834207 780987015 589848001 728696465 835013525 256242591 507243143 645277307 422405833 772553137 523553607 114572813 550671937 571823475 884311165 302396499 88794859 83561353 778461389 172695237 903899743 130375547 71372801 74944065 686777821 57280699 306276365 800996871 433732427 715385761 128667149 286830793 133406265 809406065 677522757 573421979 289329887 268526673 680433693 255682809 924987677 436288595 682934571 896643019 434999671 825321073 38712363 965115483 287406621 291020429 250406653 976779617 455100905 883279727 125776557 820780279 423992665 330356169 177718385 194122661 405113235 542452531 642154145 882360665 409916263 441340207 742639555 150003813 806064203 451584039 850638207 213203081 403134817 710220395 698244523 195232743 101719151 954577205 507595587 115447825 526474469 629532071 520648551 671454457 713467095 167420873 465968741 483167741 191874567 418754955 581798573 329286369 467210461 448336841 115164639 942314197 210217319 444687685 893724603 381420397 308159067 287775651 668844843 633588133 951837209 72174203 565076295 394227427 380335019 164833345 600490565 478217717 226308541 998491479 228261003 549590033 493368231 186021641 52749733 599878609 399664745 549650565 196293957 156026429 614972329 822231015 586717255 811677633 315755705 22397233 208774573 992582451 449069963 519767879 706403747 408858321 722592709 820060927 355804795 956965181 157947817 690748945 40050611 539436681 346682663 467627039 739240683 850554149 282385113 473120175 206143217 171730675 47728381 67585335 831881911 303220791 429742713 627003405 503791193 917703323 141045725 526652275 609146393 805622841 662214239 46778257 246756195 876575371 451391201 703967355 469650379 802113911 302307561 960366889 627386379 171406921 831486885 170785403 644089093 612566203 310340335 2555453 287165127 785606629 451089987 709216285 914793349 156984141 687146443 455865527 591249047 627602915 981883731 27562635 357758337 326522107 503881045 120307459 492016367 908216659 102065137 391315309 977371061 374037005 645119467 343875591 147520973 639002041 318840245 781500657 19173211 405784909 157936743 85719345 878798249 543428387 422123195 861223355 114421803 582726661 171069983 32594025 658144125 887558171 726967197 579006715 562078307 342897149 365804783 568222745 562921157 917983657 953194867 657873495 749583545 905078659 566447409 117504301 345373049 364588377 904543193 165420027 100276841 366656863 630856129 68351243 506925077 358133041 472203495 851005583 334570797 991000793 121878517 527632801 335088527 767990209 513161529 125973313 522581823 585054655 897640873 218560855 316434789 82843663 783192039 951445431 163319127 207531607 957818681 882672919 907414417 343133093 509289613 176447515 334853299 851438445 503077757 727846477 832465545 359877263 226719557 498050331 611310345 291881549 739747279 610860255 62554957 493322069 688403623 840931805 854913685 387044541 707488775 366745403 68187985 491156227 15331791 184866317 98677265 117916937 126314627 748033097 592534163 507335969 37121621 799688147 178206391 817345021 103541275 221335411 223454091 151962041 66030165 604699611 603780673 779706079 773583913 865332901 808931123 99952471 197608553 541542735 920573671 659250043 447492231 758310981 225426183 189758213 802532777 210200025 205189989 125032987 695297937 719379265 330300671 53246539 370852783 926503329 262347509 238964105 499656733 702024961 413595029 708442931 410582679 625011027 291978577 877458703 284682119 41010033 796724677 61978185 695316219 945687577 567364275 375597175 13031339 436947191 511666951 847209621 185327093 659937691 12067283 876612619 382861023 414384769 561821013 956026275 117444893 748739589 563965423 358624403 422617601 868375413 966773035 19919227 450473613 918415361 128911037 861842269 683986025 199137219 551117185 731021993 721602785 340463801 659492473 898970673 436403183 715172303 131455953 567669813 592730931 671591893 749232093 427432793 700708593 278668933 152108567 573076393 717910299 403003777 132204579 473710493 632905287 859727185 76313803 480775441 262748341 56713831 76144387 836621387 688550731 73537563 936818407 452473591 144339609 807088559 660123833 687456555 569269207 753017165 512656359 104914019 113806307 528825093 621484545 314818181 141433413 621107665 934912451 642168031 60133933 924700307 218358289 934860069 202327921 894968595 257565429 344825463 529798543 747236097 598064291 160332887 355794097 688325369 117129337 805247411 33493157 750075771 198873589 239818721 844668385 600114161 810742215 936531871 97060487 638215595 898897087 177652241 77469021 473174755 849256153 734826947 208836305 381937595 812614713 484936621 993116667 359194939 158322217 132754987 746152861 171738195 496467487 485906433 212026649 637856991 519381171 465851743 87433603 40799391 316597931 301297879 987816079 924124221 592961009 397490793 709443485 567513673 428087447 931296889 240939191 41230397 753627097 661516501 329932167 722886009 972932891 176773553 988166249 12109897 581018345 656612013 487645019 698677979 533920245 191387593 935652099 932515403 975105561 981728889 144483763 976936857 12684123 470438027 491568733 161279663 22939877 64983875 410992551 813299547 527681545 397766721 270672083 885549659 901165381 227521175 219536081 224233551 913446713 262030261 269687611 164175549 442894771 259430525 579040589 602052379 501558949 919114801 675842289 811356093 384749355 152956289 308503477 457933033 408501383 504301439 905994191 615712711 541835557 410512555 509929761 639169381 685480855 759933929 571101745 94213057 954810779 129535365 857419565 981818041 851860241 839576119 481115885 25719065 528832775 238623259 61593585 583527823 378156207 423420343 807152993 46158775 528232549 374433015 393273865 963757329 84695723 683048497 701926243 989937669 696214829 247999265 607180431 555070183 243930047 939530733 821005649 142447853 832505691 187002403 716983579 140049723 228631845 673818553 564403715 801742299 71581543 285675529 201005001 681422523 940541589 794370779 265036499 115936951 569994827 490911069 105321265 427868813 436560459 808753953 692202395 334436329 47275393 561839397 915249263 32856157 501324545 875385041 281635509 745056865 942262533 532164337 768832283 150221909 473916401 502662327 241242875 533321603 473578319 178898117 315161425 592766749 652420309 132511263 343871943 328995133 388072795 656813871 919455147 298201057 59532773 678440655 575531251 958966773 259048609 906812217 778053953 537281611 122780127 529634067 17131739 165876377 347053851 461461611 160759727 601031299 948351481 836523957 472846933 400638097 98058563 14013137 332864269 22476597 14471663 452918783 610362047 308087753 450935317 322935025 821400567 2187147 74438139 642704315 557800431 609332391 69997833 677211611 522496391 851692847 132986581 683591987 98987587 961751065 140584987 793401621 320739669 976445001 697949115 236164913 219570835 663793543 720628675 106014889 620411 325988741 603798115 762212095 322511417 493303003 576827131 623813923 84807319 372620813 165298953 177276007 414463245 971637889 996143933 724902795 118114237 507036041 988527207 999077811 179289453 49745247 591095941 491887469 187682957 55954469 715456439 431393197 580119089 448208611 990763851 121226961 721543965 376066187 231216819 218676637 123102901 725750517 928095881 546428993 121448967 765880803 312519059 565163857 21468367 357652479 226461115 879737545 607423593 350683099 679086357 759168785 66082523 343551213 308026073 302484467 353591255 974054039 374673007 799853989 632505779 253397797 222918239 847495623 3506287 208445639 915318621 802221659 797326003 112308885 252016451 757764815 99451083 329011089 680061977 155791609 480911281 299444133 706829061 717354007 547424773 972426913 179708251 1830861 833206027 858977087 715428249 688172839 554636725 19397153 53675105 413428637 661866393 879960271 946626429 397662219 774380533 158003385 806550753 964136375 937014451 847309371 486140841 600548683 472915811 944101269 310358807 676238817 460044343 734299121 452406679 999138803 708417811 164853343 402261437 342012519 278167165 219575001 579609923 862741899 663572645 792803649 318735885 820411411 853449311 746435165 341775141 788724255 654222383 971707619 121224639 175304751 470203703 198138473 38286391 305894967 511546443 139528305 451677969 904344711 705905375 39547747 693074421 529517789 255185941 550293907 720000185 562655073 541457843 45664825 70356567 268275613 740621607 829559415 525574131 729157513 548779145 777128531 274085335 935312511 179249049 127666115 728723065 989039689 322355901 357935005 430162289 714543631 969202695 201268385 70151301 985086315 424378923 68628093 575672477 437137237 338244489 98437311 154363087 98136375 184489257 465987553 129791829 759177181 576656827 515177027 24362643 460647547 217933461 30505265 852126229 360519599 542212279 378344921 450384269 56602751 906753479 589973591 820491733 860406103 363128085 944320681 761053171 157021965 907529367 333880253 689382415 532598237 442843119 54893665 853107329 264304751 367829859 819152973 15968959 367090381 152030435 147886887 612121199 284447597 18204931 45283187 724894301 725972015 229455367 657425317 220693371 739921749 447961297 989983511 337101795 104881805 723845621 586910473 589551579 477496813 490546343 244454819 688399565 918362867 19378633 480781561 477177419 444561795 771246303 715176449 496999699 7694057 301497117 165047199 296646149 647989981 214720085 857802141 915450671 407091323 99048969 703475625 766993091 439534409 588824671 121938013 818191389 205784625 612288295 48582717 188768959 808521357 167914713 337308847 537142101 745390871 115933077 886944007 546284721 197266677 280535583 664623995 928228049 132918965 853355241 955237935 788067287 113631053 488704263 120934445 739448077 89443607 407712573 738737251 265093607 125965531 665729775 459798699 258900225 795447493 481604909 436315337 354386717 383196011 363578287 346408291 941891111 406067915 475991507 426734859 327107123 771431239 246216097 282628925 135709817 321137841 863216839 104871767 864762465 650309433 599459741 740627363 770435699 955023489 550300197 800222803 635144037 116899979 226110721 62468735 797836047 506888391 424930437 832244011 702514549 591519495 554022309 524102205 967788483 399296139 749751555 859847047 10162509 866436343 283951589 698116547 530775693 257219929 962256697 530862483 843826215 697133349 672429719 231922303 787624933 640467257 526913343 890945017 544930237 689900251 282621719 566307929 336600263 173516983 764375471 478163939 952758343 576052195 939908415 398788541 328884395 562586331 465311655 833702649 697424515 16059527 170491243 916601745 758176651 31034673 474377915 595568487 456465831 706323343 549639793 100312899 319965665 650520513 900532491 709917143 813312879 777351753 971349423 120408251 985469609 796519701 930464045 746136433 155823125 177392765 360843515 288207971 985821533 477994041 919406139 348612065 866631763 139083379 274079411 858512165 807634419 170845879 411635153 490745681 859315553 748532473 329046447 324293741 204047593 748292247 345470473 551210091 817565437 942818645 84383049 708721187 712160567 870208611 191828347 181398103 688257885 480752469 693403995 344545457 735719513 674972967 624936259 9038017 881673533 593710911 811372095 784363265 921421893 270540395 151208699 442869201 609248727 462841823 35552975 596013181 250806139 937568827 695382203 848058421 244500197 713238145 910908517 174824209 970392815 514212639 402979101 162318099 348391071 391417579 546871515 479914787 141245983 195092001 375549247 329086485 207389121 775488361 359187085 262553505 377188611 403848909 732439221 365559145 935901575 504187077 627662929 778833909 980280343 274296621 999424927 839595957 988324775 995467849 987924357 274688005 543585873 205879241 925919891 964395557 31388251 90945471 953830911 921828925 527553841 285407147 441884843 871066209 727146593 184658289 767632413 742507913 546171563 748562015 273479555 206494871 35285233 633172009 122863287 702656337 618818365 76966893 744111925 784462189 351884739 839633713 390565157 262138751 918238175 403871457 775932505 89717261 998144275 162510419 63780677 895550591 493487115 233425987 75458571 313870885 20019611 933704153 604691823 594775863 584755133 422866847 898315235 988817883 681846933 151444621 371069053 642567445 756745581 869765885 985675261 888747481 614020539 124150199 145054667 739780609 705507863 890705129 803513587 652416845 745273157 318234405 393539375 532388453 659008305 218373227 597341661 202561501 197772783 272970527 989787397 613646637 702677179 351809805 20861527 127920053 72852725 364186733 168843303 407625151 131324201 93403355 43475065 600052607 141319179 51482717 967371249 565032457 994390905 163137119 552724191 474923619 456882033 751716533 481692217 112743539 394550051 610447519 618508449 493091341 971155935 460071363 445417821 205215719 235415585 169910571 366612827 374317733 742060173 325252173 947601461 525158865 527555311 455315463 114730279 463131353 764438841 290547615 586710041 432577559 144203397 700274627 329534621 226387919 586237977 858451333 399319783 381458215 39998045 888364387 840193241 723116851 457650665 274347077 424322295 303965673 522529907 48460917 863511923 348585773 931658209 946830507 732950307 651015623 170386751 744160003 702467719 205729385 2565055 953068033 232863941 749386925 756933051 350063509 302420653 738850321 152660921 208418833 42580919 802025731 342356323 839196981 106418947 389791183 927190157 795894567 859507285 37175217 728763439 439357807 93865757 565572043 135038321 697270793 905194869 115724325 323903643 247183949 974181145 135072433 207413793 887491587 243221619 726650441 919838109 47514199 370638225 91440043 487996629 572901597 475622699 833662595 216463027 257773207 160052127 135638113 621956171 862784741 629032947 943111617 572641751 821949081 436499163 948243201 632653241 551077091 810102185 82570091 165904255 696386149 511242079 220692527 236029659 564967969 36416421 524160363 308578985 101773957 782451655 243218715 391917035 180610665 612140479 303009835 852156111 834979845 988792621 650002795 79983011 857005059 910220373 905687189 40008167 946422895 387003177 812735307 382476093 44345277 355489343 903613461 15301743 706085835 383135703 973284197 289277555 190384863 799777495 755320467 819681633 575702691 117000143 423777505 236006269 363675953 358217719 452247161 515040307 887285763 209439789 64033643 164062487 832064769 171995129 410928305 648329955 11807093 772191371 822391085 645350011 576697109 865121209 399507111 108171241 947156225 18614017 958684367 812711779 762189499 216832141 398320705 772197953 672361265 70344747 403329919 802737161 522085817 23638609 221303277 572312419 334536975 434970401 730390753 927968037 830745179 79865185 954962067 43629385 436915753 477400959 541656869 675377139 685750123 934733459 14557599 804063343 716260483 592355679 263650545 742120493 461822517 349689157 791664887 671836621 581892267 587077977 449142641 388319245 702512767 905806671 856665865 425195741 450568107 168286343 851436623 615233613 960252565 578642699 67276477 644729243 690660619 363588229 471460275 357318695 909747521 444711249 965761917 562121343 379445461 483041133 99331657 808435027 572834253 848909183 788479283 512039555 741478805 957907417 601653563 629624847 670319619 20744557 130327115 924629793 452020309 87952095 425876019 581730065 593364013 614540149 858525099 818068053 972619419 283840031 51449177 285073813 252173077 87387251 649153729 358277273 851886711 90278831 542431577 582316883 292434437 985631165 56664437 387482339 430940781 459859499 481159515 830320777 519398599 85027631 301419571 153074353 775622539 765085867 129118477 998857709 830782883 321558821 116977121 312837627 561866587 28820683 177737365 439130813 42255719 750621813 698461677 109711165 181300197 714796195 513481373 67390127 767212891 52475005 48196671 577004911 542175157 253792975 37264467 905286143 54826823 140104467 425539905 640129035 969508307 776140393 598568285 814399333 941167993 262991509 244411869 106185995 740675529 415586057 672448487 986648095 52783799 751640027 891899263 744359147 486841763 424454859 8521369 696626659 327692367 614701119 886201871 25444515 365784553 607624775 130508959 736870127 921224711 152516507 654147575 54846383 410688423 251975321 624636323 324045305 37734957 716339785 511349793 499704839 959580261 751549785 334156751 997182013 338634119 813559075 198772727 853443621 264120879 92335267 361796555 774948211 193549665 309128067 345420133 765216515 579550605 938448657 405335235 182574553 5612423 396859203 505611985 570207261 4448139 849045435 885259361 75894309 515272767 824438463 245118761 30909803 773128113 994712637 104932045 503090067 204843093 448968397 928517591 251499881 62003209 504998575 451212469 754896861 756370195 679201483 120106177 972131599 825067295 849866669 131151677 896842045 287370307 708313743 443009109 508119511 623421949 638010449 38383125 908396141 996992559 362740855 704258425 973768123 634927145 196540467 662513507 66402981 384673185 145565019 347040155 668957495 520038835 601528685 474762707 350512035 417423843 72440467 571285155 794916675 537433375 313925789 654069391 10900893 290184383 664650749 967424765 110946139 496341373 846852311 25327935 46772047 791745151 869354993 776067983 247166325 622516305 991805883 747022863 638270451 9809387 720494921 393713095 742433295 83541417 758650719 495522217 892566849 848443985 592998241 329403277 689430051 220274191 946445405 79185717 744557943 421638009 818561039 194513227 507078441 248207499 129424337 723080289 171083595 931248043 170082223 281276909 406843675 714780841 711853909 731162451 104744953 126188469 314068763 701757145 898345075 540572783 161440513 8079541 251412795 329847007 752961967 457674237 549793837 157942381 379986289 682269619 696179019 644190449 420504897 317814721 364972481 917249961 356770239 609522167 431312611 228400695 691335215 702606095 94705449 882586029 895531907 931865515 978408763 3732861 977312081 860869459 119920865 620417669 390054615 742965111 213304335 203430921 532479999 845621875 483687905 576947897 559379031 581769353 204084633 596622761 119235095 754160349 165120933 795916629 796182301 242765957 716387475 321424035 226535921 117649785 97921059 239663073 211422915 214520219 863704631 415071171 483686503 629524915 123386329 785752679 267669855 103190641 184210495 616760403 600795347 905121649 461114305 789312371 735640977 479222835 605517027 456048669 627406607 748582177 856214865 177585167 84514927 348499595 408940767 434814827 684087159 888272809 851576967 523107267 48341397 297707425 127474541 813604615 125747937 678197881 325931485 303563929 467414299 689392161 794210375 758606907 79012009 979006325 640461897 117777693 338501533 854035253 610973607 835189457 649283243 710750473 46662473 969481815 174033971 328560261 554919495 822387475 446717757 905029153 425472215 932727251 288710777 558382141 154295135 1204683 939945789 260817957 489203049 579048857 72871049 894263047 870664875 683786819 468554755 31082239 259517437 814102069 862752507 941885453 200423013 467528259 678014823 226936601 41577485 326688431 437397737 258788599 888590151 677971481 670224839 624247133 587467151 51734673 698989041 674374129 458095243 806723213 449941499 808248631 698434305 873708007 3014695 321017763 275821033 756822247 904453981 24608911 677994333 936066875 121600043 788798267 308287903 835224821 133339079 57800143 62649369 55066005 805425939 778429023 749977187 990643965 381609363 462191073 100928307 996742783 210753145 870648123 248140657 115553741 552757661 749486129 866119461 309634565 772785275 485391479 637737091 107652267 814445371 498723495 860603621 776141487 419563437 991554879 939581393 551770981 386929737 831551915 385435121 828283785 108302127 84084029 2301465 813040193 278262051 944850987 67362369 719282715 664837781 52322971 657256081 817501707 333511839 715273617 251989073 198628977 297964031 194939905 448209141 35242511 202380827 931857347 679905049 869270291 689222659 442003099 935342975 600928275 233961327 249961775 511027731 657907467 275720125 44172817 988582633 265441891 413908211 270810301 492333883 333545957 979715269 859012241 71588461 723641289 539374981 560257495 734362889 597259179 147153207 101295809 823822275 962852751 755670141 674886247 987187319 40710885 63019435 704716749 980321063 910415743 695173557 861974745 51176193 370750621 898006845 770769757 137540947 88510947 741721991 329368083 272260765 649334879 905910149 169632157 107544449 976703365 585337551 684093315 281923531 863158835 45040289 67418423 873237355 172146095 321498851 753851155 438089087 181499557 458346789 353365845 15583051 879170601 398057887 831301929 161163575 550518461 805320751 132077983 914174425 474421057 798145887 274569905 117057771 60500997 96737625 117578305 818924113 998945727 347855097 216633623 475466519 581876361 904457405 672535525 479330413 479171309 762098123 746756163 381484723 50142931 742297331 729202611 395940967 142068371 621168555 157491359 915445561 13921259 359414549 327280471 670919929 657868031 215878903 795501847 746039971 546087771 578294975 712137979 529253213 899528439 570403975 337795857 627735405 144261423 410985995 189528393 226287947 897056713 290257333 532949627 766445713 616929777 553861521 514540393 596022527 357505851 715360347 414280125 88216453 72005287 132249709 557794567 371046707 561307035 847887571 797887937 924158023 970072289 504763449 626483275 814745889 424509359 608037879 620643825 786652495 761917603 393666317 156151267 210985091 691931843 737671969 871673913 419216281 494721147 171315075 373747957 304432017 310771361 536189483 453033217 951163547 257550707 568660665 871483181 350326537 264220565 439175025 772912947 654889045 892363027 396078147 199022771 606884385 763121765 973648841 284978233 885280059 103603045 600634433 46904883 591028885 296905821 947695761 500909053 22477387 372753141 913188681 855453399 911675551 312650567 305342879 727130347 664168701 505949389 814712437 555511369 617424121 977080685 974963025 721953769 118830411 787201141 982720865 89727153 57890011 108792729 978857087 768489061 73776049 251668983 58668583 361887931 904730625 57339669 705038465 94974537 132000039 288646111 633866591 723776399 44513447 203380651 175593781 828473339 660871977 391196981 469855781 549403867 909028227 591070115 667010291 425986153 613531567 916535685 454553105 772886725 349841871 84594123 33238165 540154617 310434099 710249175 449923903 218217465 861395785 754960235 98391925 785488793 93531823 972716469 238148169 392339871 520303143 209523277 378779503 541625523 401236895 798176555 796111431 807775587 467472167 84085433 365059289 736079661 154324987 827710147 696360661 103058799 973225855 505218429 836870799 180875381 4288573 779563653 801091083 741379181 59311339 332931551 98189293 927938673 471640929 98897659 294338181 252489605 876213669 209128365 452994249 87745423 717950175 128524593 158688603 684150371 328186469 698669357 743224705 486078649 965815987 274152111 154972713 367633713 225404009 140192557 694627053 429194581 783011155 43814273 659173641 482803863 285517159 379917555 483290213 250850129 526411197 479308847 158943891 69029313 181975963 488303691 240823751 292317971 736805739 933750725 126715363 742033497 145521087 317887873 460155755 403157897 557281875 895941579 874736273 362263687 527440141 308922203 62433323 490002973 899294453 776501837 861987001 35388665 227768125 834952485 65914209 575043253 341561925 354339795 601815795 517548245 387102861 525785257 163852519 295505855 192978369 939109223 363973723 31163845 980641715 493519409 195681561 897873955 39079777 281205909 916293259 464517109 353722859 212752007 941126349 949479243 147604383 569026917 214379419 748434447 839695599 321760501 607162719 812172577 532577143 658634851 287570471 900730685 35110649 401818949 53967019 193210895 483962465 457685655 537710407 988077353 138515137 742366145 71295751 557742849 47415383 113993101 10341015 900339707 348721029 987389747 701999441 127209311 209073621 194274125 107213361 3629663 313979131 395358949 984712929 553201939 262120915 161434723 933426349 337995645 552612191 749662367 226905487 35748487 553804747 494721495 921048871 300168449 73297259 465101999 777180089 686894247 287934393 956381493 67674935 934313237 148152919 208810461 400205367 887460057 449874965 606114437 63693561 790169699 48605665 352720753 736551011 557463307 960217049 320369745 999734533 976224787 39740991 895993657 652211223 847960997 676682881 330406821 512682615 877668817 338910253 820468091 492245421 846963601 833167365 828393993 202963177 687774663 672598245 635031301 970316801 182330939 554437855 473377161 28736115 830997663 231064097 951820573 10520169 200426379 881397257 354636973 357296049 344208257 270921243 832614289 738459329 700194793 961198847 617292417 686601659 539964953 21100427 735386279 690580837 228927557 975883195 627356813 233626157 751190671 431035311 349264683 22984491 165526531 456376499 467675357 156655903 537863055 571395645 902610023 976386417 693397263 369626341 96668153 998980909 703190595 967659889 456273959 662878223 195718613 882673097 508715245 563070321 773331029 68841989 439617201 741807453 865271101 404791643 199219521 314634115 468694509 784326961 384201425 695822393 442047153 820188691 790465279 679307135 116474295 68382899 864461777 44746747 151348763 289808107 44218547 805574141 306687709 455528641 920312699 486188669 295554023 849815391 458849637 449245721 728783113 429034007 625616921 420166681 468240637 668919655 718749857 115924845 143407715 475941359 264953461 221994923 92470469 670572413 407532143 571141137 234121623 3809795 948307927 991659145 413716783 32388251 486532955 978996897 846548941 878829195 125770253 911604367 531395743 314903101 100735597 419263541 382964915 103406149 492676447 948965401 534444545 175570013 688551217 889242217 960113263 120496231 542071447 760901117 455337153 407706993 417268655 512863061 131742123 774040749 864714493 575565721 468956359 752940663 573272177 257381781 100863893 598140241 600585311 380357315 422502013 651988711 356979331 374917187 721896403 815910669 586203909 785049561 683549903 730012861 341233007 435558647 340320401 150570265 116341687 209008563 839895843 893949553 997724989 963542477 823350391 749600563 653203395 761338795 458219879 167662333 469030519 548364125 618020529 742745489 693343983 372431259 401179139 6755803 66497065 895103683 172106985 80791279 503213959 922684381 321804257 887157511 316966363 810049943 328342857 984672903 299360855 17599819 775793771 319373049 319632793 702154229 118612601 795216915 952956581 740356927 949282701 804122797 186040811 132994167 828017061 851314635 731764285 669018515 894921647 162676123 125341659 78357045 708181623 518036589 112436585 514109091 969569211 60090301 907760885 379008715 21678873 488675119 910262005 353068869 129861915 959737741 187943747 193150033 289582131 477088205 232581671 931267287 160141753 675016711 847145805 250826595 894338801 642477185 683749579 624014639 23825921 34139811 825123357 780384027 249517307 70304771 76924715 518092459 346958041 781368157 833549119 458541841 729905789 869281169 707190801 188278307 865287087 550623403 63307451 757097823 506351649 774845665 227747527 250458863 201927789 19431821 77424413 434612897 923798801 283714607 239670549 898918125 224463225 359655799 130291053 667480049 470508277 731455029 915382089 667288181 491374017 362327143 235178807 148200169 544878073 625977901 140243499 49777761 845973163 56563925 203166339 145361313 593279687 419601361 303504645 176089611 494423589 296288699 888111069 702163123 872641673 636151641 642124703 501116239 5420185 957873301 41891917 953621307 586279655 111160193 365989959 547944067 591863533 843726683 512874845 40203987 137758221 857584517 956787141 311005827 746343567 274137737 644069657 920734611 282648227 663149851 801542497 93874859 877308773 307322645 199002123 362593815 573502423 510510717 987251433 300638929 932148189 289114749 950167865 644913017 732606287 295105641 957216419 938158931 666462945 565567163 67947059 715309905 342152501 211189269 582608733 507467529 397435351 271490119 91483901 214116281 42304567 978767167 81935453 124005707 875934893 458996251 811866151 459474253 671636347 121898525 415467887 798197239 481032649 649019825 969076405 376097575 823061677 277934443 930564317 646232421 717126169 316916997 513040949 637930719 919241205 329404513 766399347 701351535 786192647 421689999 564343985 572448913 418809855 30482621 81282679 197577327 594424441 855355209 15025 626163415 672966133 648259253 512200117 681101119 414994141 295912111 692039999 813783753 437531009 194347783 731814775 99319097 538738971 286556857 110459367 115407363 540703947 599233257 954878087 827721017 740210845 52247521 672953523 976602781 716225151 850220567 263188527 179980949 908256077 120636707 226529835 857681203 328653767 220868809 229258809 382189867 819552149 59646455 11847513 154304733 949607499 482689981 244424431 621969745 101230177 893119575 594323401 2096439 215199799 721066537 781507867 696379877 768249113 808083135 243335043 299450969 428750901 100533195 146276357 830727741 799329703 230915623 832360721 617329889 295057775 767211225 554930555 15689271 585105525 840764425 230116735 787269603 315689357 934054413 600456133 894005291 439926383 244328545 841215575 619478269 539765435 335807653 325014955 400441075 424400123 630657447 906666913 113757769 248237987 742260825 996121211 126910953 969780231 519594709 350512615 219588193 77226349 989422433 944835069 316081383 534261755 798113127 966686773 712968285 531988421 148442233 984597113 880482887 408564675 457656149 708291093 217997783 867747541 752650459 388996797 76833509 948532421 123065625 932741519 420501227 228354373 944438849 653987855 349559319 574170351 976355759 410165549 104551475 488784449 135751397 395169339 433256377 975532713 89360015 266067961 65217737 692987251 571817855 63375757 39172647 566634717 610967987 664757121 378653251 998617861 38721355 678213835 975332919 1361653 876855189 969145289 435673281 940951967 473560069 525237057 50373447 644046555 821496113 877016415 591727321 916001389 741895139 939842233 551695151 339258107 379186177 210360653 789089191 170049817 983281055 699688829 108931143 756422205 581700603 982809883 504963267 357956043 266264183 109210713 70212973 924066315 867246493 246505683 210148425 841190703 692972577 10935955 808466937 393228879 849181663 68048641 355433169 267309167 920979163 523648503 346971077 351361909 448133693 954289839 124590455 8528691 800595291 283489487 979415339 968375397 247902895 67502435 314933715 335326121 162090717 136351203 996721413 103344777 321683375 14285101 824423937 804732021 92847387 395960961 862352559 657429963 939405881 913849489 405775515 706449607 595411021 723574385 53274623 879271061 910794181 897045149 24070841 237155909 511007537 305609213 467405651 35640275 546446925 934230235 952198135 714656539 213172989 442378735 975155073 841166571 462741579 468517203 610473583 9607667 559823725 509566351 953161703 973248459 748930747 409601169 28339897 604118005 245127867 337548459 259452507 245489883 486006037 910122397 854936559 433856207 512484257 307619209 958448955 894429447 336306517 814871553 337279405 733718693 508900695 405156599 665995615 800282549 268225523 738371529 195857421 896416295 594552729 394454075 372721185 636074195 437491689 821699965 642540455 350676091 921304227 177162531 919292763 735755977 624664753 547440169 897508759 516618573 846142763 306796533 52401511 275544705 905110087 511756117 470649719 682325703 115146349 66626431 704120095 153261413 935678755 91400461 875318623 430131601 54672929 526263559 555488221 689590625 776603713 974828505 729259497 905530071 424865925 268332633 954756987 918639837 538560793 491327173 8575025 809753155 880480847 134962623 815207509 344685251 42414501 812773209 592072657 982899197 75303611 21664259 183922497 338649213 68496479 900790175 293916899 818052273 130107267 744738417 462264731 424758773 126163523 871652899 733498877 390810505 9548513 861278415 827848511 686395799 420249801 245894127 969504319 702208047 348432271 3267433 942073989 304479307 626711021 668483721 966031167 408728779 737038021 896520457 144435269 359748987 502299687 22676993 751460633 903277577 406613057 870343927 485794269 826699537 711074417 198040795 280342629 343389459 129257529 12010753 62504229 955388279 160353861 261559335 37093951 145867153 443787113 932293487 713663095 945301401 618246047 83571049 208888383 184739759 851854091 874924811 504567469 999934685 22855415 470824623 113711233 82727447 211980503 827353375 657619745 435541297 242009927 443202179 346968479 315472881 751262475 973137779 7495087 813622015 657809931 538929645 814454449 403357929 931437149 977302613 566319789 336794925 837946683 466909817 863433041 664019753 691850761 691145867 5606135 712603433 909802323 524580397 694699421 90482523 17345481 110722403 534366697 883680473 469549387 946640281 627466283 267323047 637139415 735301285 499023193 173853867 677876381 202555331 361665045 156484793 779503853 75317913 188082085 168694153 887051587 433525813 380126967 500889019 658769987 941850123 859018659 577054425 255668665 225808635 673511147 475612757 685746581 187573319 432952497 915410057 264095991 493747869 837404297 179014067 72055581 116371219 911945383 310987521 601685623 664619559 834337005 464919423 870681493 922682555 401332703 481510699 8264245 700297505 458441647 177683939 131392055 21034505 148108595 56773745 649415849 332853141 881087723 184560007 483573437 165026889 47509501 13671101 642455245 298255375 629418297 141542807 645268319 724997953 373141015 253975675 563535901 219781529 877804981 562210235 305640153 133678397 965348315 259527315 565192337 512227259 337867769 644245025 666644069 964580615 596673061 505196655 996787363 930175103 639127581 60054895 855793597 792784361 254327883 123207673 494927183 174824049 143037117 809803471 914019611 797634989 2880555 523284891 742176781 298356889 681780977 245626351 503345977 944240797 972683291 490209345 582039255 177166467 571292757 677768949 282048847 709661569 678972153 186089299 832063529 471806519 799058179 923943053 740786969 778133415 818269723 822951099 604972283 841181249 803667347 652479455 429294289 474515159 7338335 494446307 237778631 681221545 847875873 583563417 825038641 202758491 898752797 855727287 475215241 410746361 654660421 192684255 171452787 532243451 279932463 987531677 826873785 302384445 217299483 985723745 485390671 741215749 80220143 290534275 664626769 301596159 183955515 526760261 830868227 605659967 451768887 873423569 401494733 842483015 132716737 144832055 243397957 53587447 189248865 864670835 701482789 532453023 418631 528200801 316199761 607216371 304672839 762873807 676822995 516835347 875576293 904287853 796982497 729215873 601123909 726847699 982631891 349085227 388807479 686873987 765499949 844861287 691669809 501242343 23967389 545210867 833987669 354125135 157553651 948051699 390176617 103379957 150030379 619525875 7370459 190226425 207771497 674854123 387796931 554200167 257477881 963777335 797260513 568245295 211071051 570530971 308591005 147597095 852675071 499658567 819109123 269313303 379993811 228507085 124869839 380128929 534109879 974112813 748680283 152459867 742564795 948017867 424620977 706309053 890033947 373420405 944630913 177193001 554477629 151715935 983512353 64953317 249783719 997637929 606987665 205864743 883710993 350683091 13516407 689480453 531766613 781961169 346750499 611129983 637406579 939063537 275891085 106350979 608841115 249924727 402478931 713621471 734303519 715807747 443497661 217493581 173753463 995308711 940137659 144088941 650382921 544934355 396384993 511609547 676877409 557371497 305406579 296181205 576725169 394700203 185784149 851862247 904067157 264466505 808099095 304894529 334655119 343055189 185286127 448014091 760844747 63417679 902219199 794843225 946753179 309178651 791670539 483030051 494743741 869660421 56527367 366421577 61796371 396185541 89603973 315335573 541554599 971029367 851658759 819641019 1777837 395340449 40620725 371796815 513491327 533581103 757795419 307882711 175589029 664168823 394584179 996048313 518037445 440185141 535287325 320695369 299138739 730157199 418511133 818941375 118508141 751279891 327848165 173609787 588258325 213609143 275544459 837059783 221490165 784080085 497049293 918812245 305153153 203553589 873220375 196342463 958175061 969553669 863697523 556843717 458986035 632256471 16828315 463606799 792294921 191768233 619066093 275498033 695088613 520836835 864216945 597258145 691480071 239779153 146085333 146155203 578128081 676100901 835055475 38115551 275411407 764936961 525419847 238520617 82216113 416746985 577139451 548617141 408459861 928106055 141269981 456238729 832824767 425799413 938780131 127057035 807635735 394781741 163599023 967522957 664687795 452029589 512477319 872151115 903344141 894312507 798317401 306788195 48351945 158179731 398541245 52280927 729864627 342526587 950457843 375677361 841990075 999653689 828291297 948314289 395475199 713843577 645889305 242611875 310117827 162130257 245170127 814730157 1642353 819176511 229630435 950645217 826661787 627657765 882303199 705690171 74929405 479978581 2984941 997064601 541783675 9595519 844020457 668678085 205962785 550326213 303383889 771960431 410594849 73555881 412308299 778202165 317959637 330732315 420684455 356224403 735748803 408743277 759552477 497655285 608969619 27426143 861517067 199053995 781714205 75764245 634546425 584868849 850656599 242223133 707368983 149852133 277078631 253152875 227577209 146059665 835250585 296113501 300134883 782815717 577818719 456699831 668859063 315802815 868979541 219287977 465465609 732235739 560945981 362867143 234459279 597996005 147562497 543354381 114768549 59030381 282137017 821890787 13472599 195705325 535146909 362349075 971547729 955931847 224160015 23099859 344685035 11144771 5625501 445821891 991802405 18480273 369776377 731917285 660229543 108859087 346930687 533723047 416091837 461548025 680133553 784003807 209817185 582797307 339927355 851905739 669271859 333279909 555414511 289056015 99426935 253344945 967663691 73138359 348897055 935527103 335453425 454871355 486813887 635796571 699318699 552444791 359513243 693156085 434271341 868380849 834673303 677401317 98207315 369654163 944553539 895205485 784176799 433823543 407071703 407989431 168196029 367015447 476892465 820519635 726005313 272604953 986184921 684101307 487819749 333395083 270490877 55021647 591227021 291296545 904225399 825363035 766373187 379195131 554358723 718999437 454159163 15001 744876043 808761217 609170641 524504559 716738077 583636919 130955913 767344461 769598319 524325529 618540555 931823729 984834339 674308727 426382125 599622019 288802557 254601355 609948905 263254541 851617391 109137909 500186211 972412423 763537297 855008961 504871399 709749963 873989151 52282077 683340261 755565091 512123009 279839525 730672123 790601527 462899911 360854105 314701805 683476897 48746411 283108899 153215139 226737241 873619335 741678097 160686899 793131209 973279077 65363105 829145049 600580541 29145589 208556593 866415861 843656297 989570701 907426317 913325075 901536107 611791403 228459363 89875689 758610377 743946361 602236495 508812367 256424431 555486917 543129297 348106571 116786867 39182599 529052625 457096199 478751313 309685981 597135907 85363925 923428721 825243279 610207103 805115185 234803229 158933515 519708037 978438335 703946443 553414123 480067775 959366219 245858139 943992427 858074529 681984711 755788303 687643253 465234303 107852879 963340437 929867415 224076191 682943779 606933251 970002439 726721575 658439859 950851799 902401959 216047403 581035665 310559733 755959035 899819939 788279157 942601641 570172725 53116015 945889351 564645291 642995755 264823129 656167693 689890071 767673693 522803219 810828799 378017139 229263603 340222263 182707831 434036137 580816057 714686787 349418487 661473043 539116329 694984613 704520491 459417707 148582497 549485993 45186279 414814935 325238571 38797709 294141219 453549285 934725617 75351407 830449159 65972619 382301135 250979417 327234267 277256483 538785667 859167037 987027731 409425525 408104563 511488501 684364107 137333677 86113199 75521087 228072005 604583777 951535343 233012935 106045421 456570255 170469775 632666655 504088663 251771545 385210779 941269437 670095037 335539793 141157057 654242053 449823361 289308391 673220437 737452095 464677427 771495421 150213465 236432285 51776129 536524693 302993781 365208633 146782025 651746079 790606839 688411409 791116941 610256493 726573525 322037265 309780857 14880447 396472753 803958537 544418657 31505337 752977615 169150133 416969407 178811497 823739937 602634163 111546423 830705219 910866237 106132877 264253845 245495333 328712547 320916917 5409993 279375189 687489147 707673219 895468273 605748863 958910481 468077625 421656401 469677753 465886303 565451777 191682129 750049919 731187523 782305003 205354631 773701817 345788229 455844595 399107501 773059505 958088853 304662005 95500711 93784605 948937737 873284799 341160321 274691613 585276959 521567745 558462571 538914355 558548993 752664915 125268677 512610381 723243645 454919737 254435085 227294913 538043147 447810839 243625203 597397837 8066249 584624709 160588871 875452949 832607103 583664375 513600517 800054439 487807131 405562959 426883923 503954679 305557047 903081561 688962679 266181219 139632143 685934853 179263977 978239663 928186509 553277739 276759873 243358475 573892541 766310797 668902469 696026377 790213721 555899861 533841887 63266731 805724353 246505875 940039457 28867153 619545083 919582017 852165193 932075979 960171701 632809281 251161527 901609805 24079431 958558939 972387577 294306167 880879025 865435967 144553409 922762057 714003609 676870281 116167401 397318455 535121487 366246073 826577783 473266193 40820939 457792697 153973653 30748181 802967979 36080985 902753687 578870763 521628471 501755987 878971637 194032029 796054367 612452679 74339159 255017379 282969785 526176961 917405061 667764185 623373699 930877743 18232435 217832067 292849319 327122925 469370429 617186129 478777011 802740795 314743589 127369301 470652639 262572611 849894551 632036623 255563785 845996053 317027365 207609187 848533433 596373163 51675277 12803231 521566493 170849509 379274417 903774327 696804365 4907663 573894299 273786377 727834123 358808407 501907071 859533019 187032889 559836633 13496761 209962969 689176427 132009621 944133067 372437081 307434261 501514995 628433251 364804375 878823513 349158471 705097039 244046651 524697083 131861705 43546511 656451919 460096109 463429273 376318021 422324299 863769797 3240131 685525179 437821577 404534211 535502389 892552807 324750033 260369101 674350283 561698273 381576017 215875829 68055107 993721325 214751387 324507117 206327627 647630969 534289071 216807195 628702321 261909397 240800753 177177217 806504237 139444349 746084397 864536527 512641251 529247381 353932699 506996575 216731613 442942567 717830615 75862831 273952841 234668201 250164967 5489125 400100675 91854643 307929655 630478289 568197065 356987913 279077787 7769065 281739209 15383129 808085587 83828943 122853647 390845811 870664197 955039177 165924953 9604051 306082747 266422725 40249413 634632735 573760235 274229851 765063773 533073437 152947827 450559693 69654547 766776773 861741465 747685629 215737281 983147055 798904587 426716287 588545957 866273953 384478683 553909127 741633261 428412805 168602247 273197557 797515941 520506733 63247863 876650579 196083403 117661205 342244469 531957453 882649405 19933027 550395065 396794939 541149381 581661789 156304095 984803101 393425429 863585339 374434667 362490009 598947013 826616151 109974605 559114111 934992473 520385075 158939607 214204743 162977079 180020345 761313737 899306255 959467953 952860161 853300807 789773471 541466883 541753793 305092319 558835559 74447947 232110305 702901125 989711741 34456467 443935145 476252569 56749215 51743437 512611981 852829915 960998199 793910993 358349607 525752447 402878803 734257763 728495421 746849811 748010921 592343337 530583993 613121179 357657755 748636341 520357807 367610231 647443759 161348993 104148313 637887865 12582931 302943727 754244889 880496081 243355297 613837639 968601213 718290209 27830229 946873019 346722617 489110123 988274519 450993763 950352931 2900509 321801337 136027201 728782917 803567887 2778927 158619967 265192901 339899769 305090331 383334447 440108793 551579141 758401 115941063 701823321 347507903 393395027 12795051 766452365 348698139 549726247 140858979 54418269 105326071 507671869 637272159 781221567 243774105 693544315 364073979 307515595 152578987 120440689 325733497 778993605 63084359 167475287 701133821 513377049 730178791 128397067 289783967 265344091 825626739 672769813 270852435 415007301 804629813 522078629 351019259 601289147 760409827 14685839 19420515 205083849 311139483 575059799 349890619 154842015 85327333 203609633 320228891 494189467 391950761 668377277 204714885 858612801 651387199 935622561 780375523 816221753 228518243 39031023 880048773 537745497 54900029 60240749 856945573 10718875 915705689 148623241 678713187 313637157 802527401 407369819 102546123 450237757 730129807 882301603 947629773 597476443 449005775 673354697 719573313 112635671 399959699 833877721 553628649 19097655 275072373 106406285 747201901 188344227 719258991 409169733 738796129 718709105 654016231 980495365 972064317 357703389 878845867 176933247 699821667 258739015 284516335 729662985 569047321 35918141 160144209 266944931 362869397 302834545 247508439 664673011 379754989 940625853 616523501 770385481 143762979 202652711 384966249 957711005 464350495 643275225 501305225 324687501 122832565 862762533 315415023 21375841 360809373 291836807 409132715 672301577 849341047 990807717 627127091 955617817 121999567 315438407 392801891 175826645 246127635 93674849 79324031 879994913 451029151 218342925 768839989 547686795 828147891 756381329 813078173 47297359 134282615 284674391 521103919 353260873 689597951 476525811 134301909 598088703 928316995 982860573 395975387 217809317 783951395 958553533 320984821 673231629 596933225 322351579 824906561 606403257 78126025 544719531 670617157 982293455 898404823 767463049 770369517 878592801 682993177 350477303 368263821 316477987 931206903 673818273 828908007 389027317 412791999 84562011 450592283 613810785 78955695 805810719 904252601 711804115 142008805 158534415 864534453 239955811 766194795 710416249 572427887 892663759 558127157 30254033 471644841 136692353 225687063 556454319 87473041 719979401 973157079 899429079 562668733 630972313 439057947 79596597 689126187 667724567 83684727 578856669 759608895 35054851 749511521 849345289 953409733 422688275 929623613 527296797 501915637 477812635 459982677 876444323 28574315 3185817 617470935 304421711 489394475 919962807 90178013 481008639 608268453 712033603 727750507 833924529 126051245 845418547 962945383 276266643 117926527 401354025 555467939 911197945 896039361 734270057 647581403 190326367 250128769 318204903 444571565 505235045 342902323 739413557 581590947 999683031 827144117 919995797 367720751 920612267 125359693 293285101 484098985 98046457 229189031 716915919 357917781 769883397 514080217 682878575 338921305 883827773 894170207 565249197 805261511 864771889 3647777 634941203 66612635 126762141 895122793 468801227 360760499 980390247 250520815 259287985 515880921 314405781 873928399 375929155 622793919 321237855 655352461 12189095 121220605 998208541 84816151 595769517 775061013 639656789 470859717 359158477 122799729 914491313 307010385 111510565 848852579 629050883 730395361 772334973 934151201 456288841 546959617 908722499 142660047 129820323 847397545 982792849 745622645 160457311 648712245 231365155 937486083 354762991 360739947 458610531 777953111 818258669 122387319 732319583 124337965 664445727 369407983 234242509 710573361 184470383 35158479 706984975 771688435 475872751 458474365 510014507 953831661 88164829 739879113 557894607 108680065 915056793 618510307 6932307 410596855 217567921 805524075 375506103 150689921 300090583 935954025 71032483 949336631 251711719 772707653 738467171 334927387 941993187 932075735 425450481 69853207 19230711 546795101 696303339 342891515 158359927 616033145 981412251 607198337 969813981 385379645 421668075 167062091 644189643 95279899 158870135 482857695 930700047 923866097 409510781 84382131 680952731 659779331 865892323 39501085 686434955 305624833 375903545 293718367 920333603 12103933 796634551 557786531 985854923 966785913 58005819 219208953 607199513 312137557 294294093 274606939 323131077 51758817 676619547 599085225 225077431 636859601 447912575 116726703 437963769 93013315 379067637 624324381 548844475 232241853 307914663 509949577 880525915 479852331 181250915 645972857 245807195 53719779 26591135 91800661 610343785 447353763 900274557 196276589 36101459 175165837 702972097 874294779 535761179 854677043 517469917 853084447 467997151 976090501 452101097 923471589 17051627 559577317 428289441 130727227 969576883 489404437 953260653 338491133 432094933 158766661 81278045 207011051 786692879 833643271 313834537 579431087 285949777 926840667 37119537 203460569 401857195 478288549 584697721 858527457 341052761 176889779 742442163 31182893 40606143 990515129 510760245 682276609 369879913 682706773 741394429 668694161 626785287 706673037 87539381 87070967 425016953 589329101 306364075 414298675 530311613 952196585 295265751 469004589 652715523 796853539 301229527 765116601 968064923 768755483 899310323 18713231 849155075 869460449 912603417 388961871 409615579 148916715 113215715 142478469 482101489 422870291 807623821 859077023 46385461 513662369 338831105 501408503 587177415 398709571 293149901 470659537 378588391 732704267 805173031 98126933 407278593 724290937 372329713 365445777 34548391 382352751 196643759 401983875 955042199 20581695 915247251 604934665 724337073 729787547 448067955 687222253 314799875 695071905 650358735 609363681 899007 270692053 18337743 899402111 828657471 225146919 642303807 672845895 42142985 674325995 517628057 855388833 858379207 527596765 630878203 411084767 982562893 444478499 146702895 828873277 620894869 408072779 913240479 291379673 750556353 470600265 914539879 275515325 95155743 528908925 505115717 473127643 805324833 500396969 312177567 988912909 918499171 310532603 668347013 386932241 428799143 312292873 829003437 568017555 799929817 568520655 513980793 242248485 513695501 662110645 945972463 575802173 23802237 766869893 350371519 260801599 213234317 285832567 889896253 453571187 601088199 151540007 677762155 751817227 8900319 345563801 430116081 678285345 633026225 282788667 327293213 657058227 327680065 607475429 392802277 504801965 437424311 237619921 159979499 669304545 734234985 475512997 48551027 485703941 328662225 42340719 348151919 537208253 428769171 13879971 571290997 599362193 107245945 537607455 490984645 534518003 122126455 389718569 629541959 993547067 641717161 441165421 778524551 840397739 924247123 238660863 126930623 272338285 216705757 556902497 296175053 332491155 175038941 502515059 942474041 910831635 995551503 107004037 732252979 684949201 870981203 899746381 676021905 802295957 161054389 453041381 524218321 418915343 149748075 367134935 763100189 747336923 258398413 715475979 770698307 315317883 607024993 404311769 230895035 249996117 453902031 925651199 480262563 447599547 25646829 507336353 579236291 931837671 581864631 264241483 230124425 158642683 971193677 296767733 487347983 828482815 301523197 274342139 349232657 120790499 66494519 551380771 133961975 238846339 784497307 221641367 394655187 266978463 433551337 780093169 44219225 293357281 304011531 342240043 391206891 955696601 594338585 446851245 992221325 980006401 300968521 285591617 336875505 500346811 253951233 921231645 70250863 920846415 582234317 670520799 150887425 247435501 849616223 965770125 322743125 550071217 769716627 873237139 278293685 585635995 986190955 913578439 742179867 720839829 798778899 530785127 368039205 811427439 752242909 487614999 625920539 947879907 633309255 664064483 672561901 332760721 157301745 87683395 424818737 84078341 989425321 125020689 621499429 444631471 856096609 203063447 72012723 737159143 708113461 523960445 890249065 581715181 706418023 902491101 635302015 628159727 716751971 782134321 192138195 290631675 431672509 303413087 481919725 302896395 666033455 440553141 237043963 383439103 710247579 697198055 192526293 273725859 548886799 238605843 63079165 379171493 433960127 914317503 613655189 696394913 757040899 650591959 594062449 904313879 232110943 377220017 253184773 451951727 530779263 170896393 447395443 977034493 782796599 582805765 801831295 973844985 102997377 718357813 429510811 779604867 51415937 756222345 839744733 61973159 11631233 427251811 740851973 690019411 719825397 829543045 344270969 596907107 172904569 277317149 32312905 466269847 881577681 250476483 76037677 227878807 828837605 75856239 977671557 713137143 942223563 324552075 551043669 416302381 615551421 450433507 811932749 102489759 896514847 146700971 762923975 427826833 669103997 407915905 184677569 517352759 110395271 95924329 121525215 163631531 640239899 545096403 82257781 733567211 182770237 678721171 777287289 561305829 651394069 938736869 472019849 984922981 946539513 886887279 910621165 792548649 301778533 190135615 849300115 560404687 26877433 391065035 704424211 130323425 562509443 96498157 684163757 252764115 159426035 969751789 38964553 292012281 438995817 988812151 587652725 158997401 413662243 713292449 786407527 86366425 950510225 593582313 121325311 843509195 632558403 832830259 634523847 931562603 316563959 62236619 602547691 95532695 658389133 903839081 334928195 851540761 764439571 91486249 928736079 633250467 871473595 382712463 24864565 182109391 692271583 855354507 924527557 281420571 563504389 941258863 589653111 217603571 718096087 63796219 731085417 310053801 42266407 789315923 8812387 291679091 682772211 593237509 369377493 494621813 908943707 956699653 621071061 668334263 831334061 753910961 94811425 97299499 135457627 875182031 125640739 470044585 512512257 231025291 823384553 451112949 773785953 184749179 184436009 587948213 277195623 133771419 689585733 516440443 541217829 31293011 598732355 521682113 90022873 140651629 946029521 678659817 35703013 841478689 376839241 4315963 354469075 831696393 773303463 968369897 39496023 252893487 562963091 974019083 81426765 628983803 527034207 987155109 218149815 494630725 349932799 79645085 526845121 955783499 580237075 960442309 433474751 522850993 698437605 700972759 556124459 394591109 478099809 699975285 76396969 522798139 893297183 343837479 648638723 366658737 257753695 573868893 186977325 38748459 918638343 68006005 904637251 668308825 80985767 674708395 873853575 359320911 39083639 204104491 15212903 111251593 890316117 197177605 732314995 200593645 29872841 831021619 365668199 375897033 424950275 983710615 133897767 591965395 477048535 812180215 749360573 30533413 792411337 408431625 958055517 969817671 263139837 903223651 543909221 860627237 579886657 311380359 712333907 916611351 44202001 643196895 85041623 76926677 693830537 474212795 242476737 333565833 711016303 588381525 241830669 829271997 7373879 677748943 637580511 231144553 331247347 151635247 886423937 523379689 359920741 959437675 547324521 410875649 508308469 923420505 98984495 757368289 419636399 13468859 800279961 372474653 113588301 334756411 4027537 556399793 989358127 351602791 780095785 597519107 2076761 233117885 74085021 850508769 533868157 798671005 778527825 735210879 125072625 278830671 953538257 966847355 660041141 333695491 134934735 839350747 847419247 79435989 919610405 439918603 35231855 833742789 7829721 856162785 329703853 289260731 874041365 86995609 551617991 358082443 60017963 106113499 148981253 461237485 572371609 429365937 827212119 304171393 490717951 875711635 433660753 641638099 892390443 484575835 885283639 292954193 365346319 859957585 86793965 650884183 730646983 833807907 729878017 577167653 864384149 596767203 297199791 612957155 209849573 621677841 321762003 571942821 930799433 172759185 407082739 117299299 301207935 798398641 691445057 241140733 737373543 244976677 337706133 79886143 929084431 934110987 583026539 827248343 77366953 319632871 55741675 411625569 562241937 750522025 913276903 199653211 853725513 937098149 938068947 123585075 85443965 313686679 358362063 265172277 112275969 893476263 582149029 302027679 95863247 963783775 257990337 446293135 729258507 478486709 911595323 528180241 52827391 798840839 308522705 174459411 600910623 890126877 19511789 671371119 453709319 291179551 44330143 12756201 769387897 581660069 870707097 805542951 877569121 930625453 45707071 726579389 484790227 169058713 468035735 438636321 648126473 203893819 832573521 102188473 683469671 469091013 337627075 216153545 38123383 539085781 875992043 801600645 821785583 476400239 127511155 161868805 54092199 977835779 534677673 771778637 561433507 521039971 226153091 873065539 749814801 659299023 88204707 14387899 182599489 575369963 366586957 948400491 799851183 13200069 193144435 501124599 412635135 559249619 870489261 474953447 985837051 362291951 715155255 854644909 535692697 617220961 907597561 988129443 609577201 598238165 804104837 841306631 310996553 310008929 176893199 589029125 435307273 706582145 785843063 458785199 392584391 208650269 264098631 245565691 918728255 588796031 333128617 229370829 30366289 645909855 511287417 866077165 15774987 258684887 580593461 718581005 450635933 33379185 564553731 914402757 469428327 776434453 53300915 773827223 456998887 389925403 91751357 674929389 322786765 968690497 288914751 656763929 602537705 645303211 851662849 458109009 563619641 942119399 802763889 822606265 672123613 293182697 504716713 566629721 745371939 256843535 887193701 470254115 806380925 999045407 982974991 266314223 384050823 197467461 699205557 745514623 810745089 147803669 75856653 90522749 637313755 619998609 765024633 372685433 535440423 384050201 911626495 837851117 709700637 849767805 22085453 828410939 811691557 64402931 899498683 798883755 164266695 421077269 782259529 125998191 443142839 859859179 936252317 785687455 245021137 278286561 689500169 62544445 33035287 790375119 745594241 414565427 367565493 190250989 52716197 674713937 358586621 919308773 519930047 221782609 292051309 183366595 628287673 311961045 11283111 338331899 108817967 555074915 92787317 537266281 477056607 134527601 520461003 903843671 700482863 512480085 738989253 693166703 414297135 548678225 969334693 91620037 937278871 543114383 776154583 916271321 438614853 53525791 569657839 83043727 199357377 744674811 193690023 728717109 3842361 879356163 687244003 159736961 29680263 679273731 565121197 849916301 451478055 806564011 108656697 859293409 421346627 240703891 57582563 862625385 963391657 722852669 825274927 5619323 834044367 722578449 587247813 968916691 811497943 860355171 562573691 545048473 672645253 227216235 8197963 998032471 22762827 682870859 600722265 785346821 472568895 8271625 230560751 649470207 327322913 514267035 785965443 846141961 680702553 319907541 794442157 380312913 768590835 303368573 761258547 555678831 423232681 306146107 766244861 664081501 778088155 184343967 258381857 208135809 608680333 491495713 254936281 668259239 104504689 55304743 394414219 803791113 61769691 746913781 273268413 895770943 958482383 55471041 960634663 715068751 920704753 670905247 53141665 471803305 98074257 98044309 601542705 279362337 13147815 755823243 198802943 19263987 348931281 2264399 986545251 217013447 312343895 18498975 185972435 73626023 15344167 222660377 781622517 703531273 233873883 177831497 645703573 739095757 497025199 388823453 786855845 867199285 533168525 77778033 613583679 751096815 991296769 828091907 254999721 482492179 881477191 111425153 398212941 814827033 812830265 634640375 7378109 554432235 40442467 131924323 59424183 332428501 140424689 760749475 933259035 561646475 339060411 264845953 478906103 832082473 794033217 719623601 48445309 982189113 931748011 243653575 811847689 630321829 322195397 186976585 366961181 747446977 891461641 801581981 25643109 641083213 203689877 805091863 584365491 738525039 274574641 445683949 454980101 21572529 604822349 517866051 807608189 451208969 540182783 346750241 963097445 540114389 573253383 896310905 155229489 731244763 610288843 470797349 994909565 604681799 244460891 616091107 728815371 558063791 759490157 492670049 29556167 469037073 444310883 458319915 384857029 398753999 324497475 460797629 720200253 402775227 765512891 529659769 156503191 290625543 732056869 687373481 461490523 674475087 494170493 664122491 493143359 722466205 449101933 899274249 70877211 143637849 564506691 512471125 848510963 984792413 742685173 639494985 691735539 487474913 142847013 227391159 735268207 665963409 92399127 420834133 412566241 845823603 522582205 713738183 577578733 921400577 912990637 609554325 387878237 982018585 74374695 133883953 954198055 645021435 69789713 475362803 334611555 74384473 345521405 634455325 722018133 381900103 306286879 423714009 890219371 524851265 218079831 622624313 248070453 525930543 535559981 947081523 278476911 347349339 961823697 183442347 286351101 977678461 802460441 176872553 152624619 958777263 413096835 382467613 956967017 844474745 161720889 269782629 647060693 194634185 464206857 509470909 144397235 622509297 899842155 376821649 243855533 454337713 984198781 648617777 748267413 930133291 409537031 76870359 75237735 251448305 234795127 151557029 770455879 252329717 541365733 477365667 788968833 618029973 153627155 514530497 162448007 25882517 637673827 817897435 701072371 276153893 861117417 510081459 929601931 14835417 756256345 775951853 824464953 517180589 958070549 894607391 202883855 289118983 374099233 578169539 68575819 79104693 92962095 827995701 274292301 928357101 713745557 104303043 749273251 187305545 66145363 822781083 948916479 900536785 21801489 956461785 220929083 854406129 527664411 291898493 601487197 97920383 656819051 297877105 133577871 766913721 761137311 608873861 533850147 572996161 862941439 206942579 225530775 740216361 226909307 338573789 937754253 93837537 583628201 179580233 261967311 804148299 541947079 616508461 65410129 408467625 372065983 884538847 977763373 396004267 658813983 669559201 764242859 167118693 681166879 836039067 793508913 993813841 59240861 41272289 379672403 985910619 671100447 640916843 280816079 332892873 769470681 454874905 865671303 364079957 17331613 805254327 157034373 911510045 243438573 606020083 257212669 205518497 620889073 748962665 889676875 16938451 88433527 733176217 164303089 280713479 482678005 22880237 213443995 209164539 554011787 616168371 467238173 235243217 25626371 689625385 531694961 463047449 656028873 833598573 65582267 186571977 92101877 918232203 83137605 605827643 660740679 719120497 339679621 394442809 416246309 187623931 16067347 628942571 591732639 87066345 679953331 865855721 606393965 35711459 710781777 556773937 431287789 296056189 234555905 987052839 160948265 847349551 113449727 185287575 868210379 605721177 564490667 851227577 664700463 679428421 773298321 103830313 22005841 755796517 282876517 914337773 501481435 842629651 329022725 730022769 52136731 33365007 671562863 2690953 495054089 513158657 617412051 740886391 963525699 314302909 572574849 925278939 400708625 81044985 193159925 333670085 643554657 516427609 418940883 338841257 854400459 759607143 341587687 327725927 966626447 173682577 426109987 19569217 379543957 694480945 437400737 487559653 91565675 461292427 614465959 163740521 169768263 478522053 961752989 916611915 269756425 927743731 444911899 26077293 533946171 704745995 966773719 330924321 398634761 682978289 622665655 138528791 369327179 587834733 239043015 231303025 989134209 524600113 181739321 330555315 800370129 536068823 687835241 582176455 79413771 504985565 257274839 305221383 522599847 424041647 595230515 446562861 504918979 521215391 513954383 447429215 644758567 869243363 522386467 429716267 89356867 446317727 565004247 126307461 18693163 469502939 791718835 899736523 82282403 219821961 271683115 522686659 814984975 585249921 808362713 759033497 221095551 756351367 354176899 37581027 147868841 107726913 760723731 813258909 511361519 808493121 968807581 244556079 559900503 393074179 886401115 12390243 34664847 767077859 867134639 515091567 180731375 241834287 213842727 1331955 587110777 654187799 768993653 785050097 412626383 800061363 740068469 761187289 117796421 625537799 894662953 576999293 287046863 557169145 674298815 183844125 559833357 677389147 721131141 888627037 768824649 203997927 667773691 350752329 974340975 859040831 244531907 379559513 814486551 63180267 38299815 977709417 550366591 683932765 234947485 552763327 627299475 341553389 701941693 883010311 516368349 165697245 285053771 995489109 997823127 195983447 21351859 513524267 827142047 111404395 912512137 292822889 260256893 881663251 424748167 46517343 476619871 194390577 160318609 898723009 188070687 550007437 108700337 908625839 133490747 620022743 440932637 673125035 353531863 296944299 669695789 371742371 446964679 411481993 78671975 323028717 249629825 664739291 775451507 500148295 370354211 894121713 661072167 849563091 814026099 285865733 817696125 33338915 224060133 306768953 197204633 31424553 118525323 563182995 398841287 159538755 948063271 127211529 416048247 398271797 841017889 324447601 402346825 180980527 182931077 474055053 297186555 76060355 251489037 351442695 789997949 358033393 353168153 630273647 769797855 647601949 423674029 170629951 996939871 543926293 357893499 55962327 533981021 55380237 172519897 827328899 777590375 406096805 496690119 343905649 189192749 272930269 752620523 286048701 461879439 623514919 629724821 669590375 80331661 251168599 779859645 431499863 213025361 512224171 41202945 641167969 810910771 719250885 163156649 192406589 453980585 423611063 739795621 963652749 23998811 415633905 954415753 866850519 935914257 984342613 828135833 954178191 603454653 654631205 699066807 821804047 357316991 634300177 545128055 293709207 277498519 704723243 896348687 487690321 740210801 461808627 126899805 135498571 786883487 988114509 86684135 725111939 761259999 966683781 993736415 185530839 922947347 824295763 899911709 73632787 412084805 451798227 827579933 448338917 402876073 483082635 265936391 933528809 986503323 1175399 976368813 592086685 578047645 612975293 512667011 468790127 179419739 684172617 754937257 84570029 322376103 495224625 884539625 847236751 223318399 171833859 405887149 466220345 929056517 805610421 99815697 194726837 360813699 539653025 722893779 911412209 94157933 891649423 818604377 487680711 689794655 800792235 961814963 692781819 553017373 744133261 990848921 41072179 674476175 459151917 458155369 643505667 516284619 136781045 366828587 76432611 614430987 216622511 867942031 985748787 77806515 689016211 105740777 610041405 394689613 135077693 414060861 686860083 302783629 802882483 70075439 240126509 81705807 548881759 67511309 897418543 72871831 418902811 28782291 507765535 709012365 33608993 921761309 125888209 583794055 971626007 844799537 68297723 131377407 982282763 317870849 910431809 674563481 312106865 475478821 908633131 596446753 880586279 8692441 93644843 767278983 183272563 713857285 468918683 664410603 154701825 118999611 934090169 103062923 51035879 727733167 498318513 309150679 434421923 581490753 275224725 207983199 536869143 488063865 639286363 732175839 881905557 133357191 610245351 707808571 633751501 976711489 648765953 980462719 708008161 582601511 700974939 323547101 797560403 924630111 559757709 398178479 911635731 697804473 526938395 349849211 668566131 899104429 960160619 889459691 703589171 965697625 799395791 962844625 226777207 882773125 135882369 557044777 621461197 619865503 300088227 502488345 559685929 51930817 880861757 671958503 517415913 455883431 24279361 159450635 424326609 569004219 465812103 447429663 3297553 32921611 591818193 334255845 424231997 804122701 656046025 314930761 469859153 152810211 962694911 63791709 998263477 691337683 648540911 15852639 878242355 296512715 628055797 43752879 843068417 93565475 979862367 141312731 981344703 332541915 239257693 137796757 898624879 746240665 466137351 909952697 122342015 347560623 923368543 91233097 667482821 857724689 946707535 6369137 356791679 585863775 850030247 931383941 350875217 880991713 720399393 722811645 244767303 4195975 534848351 29208449 719038681 229475815 459866601 183191513 484042467 615733569 951044399 874062841 219117995 60499067 766201229 831432445 297144283 531600165 521457475 241490983 913169037 508949367 377691003 982169573 492010043 748989775 298501445 680624325 499588043 269920053 350336667 282315911 544471947 520189271 163506527 972735245 738108975 175964303 121928791 128887137 733769687 628734297 485255737 517648569 560584963 449881311 843224731 648119149 319577511 237046253 838948607 181176321 155794963 744754175 73032141 455113249 876098565 910533169 582829913 346921889 675367845 339732553 271417563 921136507 686122109 687359417 978254709 817435859 859877509 864489623 530933037 307815925 654735127 429740195 396831737 218578769 309641725 880795205 657730223 488792197 384910943 50931081 146422799 303450453 185896919 41822505 941264327 253195433 571280221 502180741 104688997 133142425 291939931 59988897 196198755 448103515 701107613 427664943 884231713 958999893 616031831 624289411 395713257 77862417 498951975 114174369 354030319 580030533 789812499 814247213 180876873 826537161 236051591 969823351 843209463 867591843 496355929 559730551 159473639 285642237 151654597 159439307 569540071 646734121 90582641 80612283 193702063 394895267 355607917 891573045 556329443 519115025 283628073 119743699 642774541 657778745 735160967 616550097 515601819 264854035 644051145 912256537 424014313 202825401 174343837 475085623 777806389 292876397 57930265 79817063 529049773 215022745 400469691 213468547 797705055 716511957 420488295 646792471 914519363 963669975 609114729 893674319 408293181 768621191 437958777 402217475 927193367 168691949 514399667 863921843 333442687 597842749 922563485 543311749 885564943 490313937 916375329 585268811 21428811 605564207 563330969 63670137 159811225 543326465 29719999 28920111 87984205 60049691 943365305 710059061 868369821 761689461 377228053 188629243 464180397 309656119 378003913 98708631 976586375 243219625 887650607 461144007 711624217 92688447 393913359 518910967 462198589 973650837 910288021 71187505 980208567 52467053 298270551 488330285 925172269 313314227 740169299 55578957 100143921 370711675 441356267 35104151 567864383 675760895 208324591 729039033 854130869 271625891 956809365 671911181 362332893 530382321 319612281 498759311 138658537 723751837 523503775 559854569 705569777 393241987 605662071 580617065 763815671 329789349 469891539 454660613 517169639 454917937 449542899 321083485 119118477 912742261 344783483 580215739 708421541 47052019 477507449 562340107 997362129 261028935 917447009 769418725 43613849 693696323 29864209 191830409 866728303 593722837 903061967 840865757 122469547 88433947 90401351 12149875 61436049 235859545 439678863 384413567 222203975 945745911 391714339 866406113 756390623 372076171 278857449 163908897 410560595 89040335 264231985 384261231 367299717 806936487 855060651 34558369 546574397 314988319 954092665 717067061 733303341 544041321 992011805 529185877 221567469 338641631 587800965 217776591 830967551 349200389 115153159 388129051 604277709 998701705 913743969 421455191 445627559 678611515 460642231 294588491 548673223 117793305 823766167 531234149 515791695 393044291 540775669 875935421 32020039 263389701 424793133 830569493 540440479 724028629 355039241 436761551 125100085 407115085 285352371 208923647 231349957 632171309 616949439 651458905 661563131 882952037 849563695 741139519 382057575 407790853 745320291 618147253 245488515 622229579 957109547 190949997 228103343 582578583 974123195 576515517 512855863 158959735 554611891 777258149 86395467 700864669 502880787 690507469 894010883 83024613 852899151 571598721 973998177 858641489 364111671 381836475 949831757 40130315 513722377 799489561 90408603 343439211 436235885 659024867 401801987 124385001 451440237 593952777 455866151 148876583 478878849 673304865 698498957 582898931 416604805 827276649 924862123 7631167 721948861 645703115 349634007 524270119 677607641 525697749 667322963 948272109 422371563 309280191 930054727 125224957 384832627 436371303 102187975 78527979 918081877 194616147 196078539 348202607 839898335 886432951 281927477 331959921 401773765 829323621 468740043 188346361 595397669 524071647 699083075 95395131 733125765 662934861 999931953 9561491 925630161 376301693 543852827 13362821 875991647 748780261 678754153 722993337 589834731 121341093 383802987 728643333 667900573 377156743 548791385 833652067 392803583 600218871 805097817 136933877 272485385 409105677 913088111 92587531 789560853 642911625 26731151 859276563 482225131 333029329 541492115 152129451 36510649 560933109 405852475 842877079 957010961 191480493 658606639 871218111 149026547 552157783 307301635 622241081 797892291 701078523 190871343 599938111 616229197 846144841 834753043 653825589 899476169 814077079 996551673 949575077 973792467 708326883 915360531 971358533 349556593 455840215 123527291 340269293 54208013 328036545 55083825 30629027 199829633 839507865 868098845 834360719 908669447 705186045 683490835 463344391 87504455 1378355 645677769 343529351 214868043 274561071 183521763 804325295 961138057 557612163 978922731 407526731 417383647 581726833 520758607 317263953 279037331 721674209 512109417 493671897 819890259 410320991 237186429 608164649 386685489 84449831 1108145 486112427 405191595 986453779 734802457 24811249 206553001 622818223 1861547 370726839 798827125 197286439 613172043 779116259 781944007 436493139 239338945 774393213 190189755 861348273 38739903 298052279 658144469 703015533 272829663 440702705 766362885 197658705 49462943 733644459 64989597 805075159 866805611 496125841 520283229 62135069 979555733 308019573 964569961 857598187 2015315 475118421 158030415 688823729 968517833 649048657 851289859 171799939 748907263 376927415 879484133 826598437 562914023 707875065 177666485 95760379 84775259 806400179 449513125 942235413 316413209 474467751 591331657 773508649 920138189 460394177 83890335 118061465 413931271 726653203 436283401 674365035 495849283 80142555 307663447 360624461 171507423 689764987 363424447 866918295 980506405 282504573 775354845 509278281 789697861 203691413 981015733 117106955 576388957 580787103 150818741 252910891 189439337 465141917 858810805 462433439 232502357 8416955 448856813 651041031 16294129 117531213 770773511 176973485 259481335 795968205 673085199 357750141 435582985 593971677 603736697 987966991 235917999 320428621 769552931 879284897 224658779 705693451 844554323 332473887 995284325 244865077 10777267 518514963 339497999 772134413 652577629 163829943 88503683 944742401 534109643 518374377 977369553 313371039 576387557 672144945 828552179 804305321 26818805 25570493 690922699 176003835 238288561 584697191 631831585 593757095 948829239 553971117 856513445 547334619 305818381 390265779 65193459 879771381 541923873 473623373 568855947 939831929 244610245 254445297 300418519 164213519 78726583 649607869 667083815 874332557 180012575 669961591 48155317 413159407 841282185 567774609 445974435 111653973 61965799 728299555 259156985 949836811 335001755 774739945 163400871 11322503 394614633 298020939 727197577 544057953 980406395 209663067 102271071 945770591 581437547 215116237 254182867 534075497 107237171 765550083 504650869 889739415 92443449 59091713 585377727 281973791 555391051 871850105 565523729 706001511 317249693 952223937 119940279 222768635 457204173 367688665 208997087 813510029 312015329 409348711 856856741 270143735 759839301 742813371 930275081 567169599 458574031 995654605 861990389 254095 522340539 940281915 714530617 950982457 486688689 828885837 937496973 296958651 169536187 445492209 42736535 883638709 901522257 752363969 943775451 153172469 693050959 306237947 618662095 609649517 440740089 627774595 343203271 982439223 944219133 235106541 249210377 536231577 197874291 824174959 670658749 908767229 779314387 18561509 995558131 462722551 794118663 265690331 7786659 425331777 132247131 733488765 303897011 441880765 176356483 176732581 187097831 821684345 941189277 445479631 741831923 135495847 891596079 806755619 536511345 27381155 818382885 361371507 13620705 535774703 210057683 712685363 982046379 921858359 380204027 120594819 778232867 945406287 863084221 851800109 442438527 312249649 281970089 826058395 932248549 855984639 725592243 913455849 657676121 206857737 230936891 584362197 382019023 715685821 379179779 121344197 389667873 345854137 375150393 629750473 859543309 374734015 216457587 117559193 333207617 949543611 6498479 38352275 324114249 905390017 783135825 284915647 903869091 634604555 746669349 311443149 713296557 160570365 674108003 173909521 586208433 981411617 475287207 468511375 358106593 825957165 834594549 687236587 203302999 296686329 363162557 119544179 943448081 775572873 508159955 261356835 867206651 625553675 536976755 608671895 372088039 740327887 87056707 475624469 121093259 284877649 904918865 48398735 788915851 853368629 885200913 938606493 930239857 158735429 402008929 644194939 733905323 967791479 481222535 574823697 437548691 328627427 522739247 983722993 647383915 16201935 418149743 805347919 529736797 499203235 904998595 941757195 498971515 117890037 171929107 905508269 482718139 659545985 275227817 756690277 981051393 328300071 241081917 221159945 852811285 348291571 635376107 278261529 520153001 593384219 528782647 837066939 459294549 783643385 568327439 442843839 858109341 480281869 270687435 654588317 843974631 661075975 810839333 713827187 693477253 910389431 821741891 217571593 955649201 770632987 87267761 539185357 925624717 159162195 307560807 463913945 89641761 842311853 725796545 475510505 652786783 649788059 928528005 363880807 70410527 358899127 370132191 349051489 420067107 90034375 984235621 694945165 145475861 375972789 507565331 545357389 10279303 203485845 990320463 22690981 656995823 324120223 490885351 723634249 679770543 253423419 616666641 421079947 798678803 103521521 55572583 907598445 236675659 312850549 277299185 879882645 967566959 478899617 606952477 901597525 376238209 153018491 461027005 850345633 987015275 147013677 141580049 852651033 500702717 241975819 251631803 530094853 6873585 161997455 227632845 183805525 691824361 981916251 421711033 516090783 113175149 149196607 924881757 58106403 682673645 723277097 472418301 667995079 650396613 59971383 891459913 679033883 843232309 466216619 307482707 712235351 33945191 688123377 362530205 547541849 988532075 468622749 125334535 254396585 347624251 779978601 149542881 82737525 719208377 828287799 258306527 293583511 754130347 69014039 778112031 615224971 161347527 980003639 537063719 988424315 569778083 690483957 197976291 416222003 377784001 915776979 327446953 242226735 577489291 700697471 18802999 149287561 561396817 218662345 763305391 44089357 255398987 919294893 32251555 181823527 59628703 695549519 369817603 916571375 272718161 471486457 882789681 483612709 981389399 934386465 492422639 21295665 997721223 665578847 521334637 94653215 103127715 947750519 360097085 295765417 962796115 584878423 191322719 112483885 113370923 659216655 748519479 561395637 812577699 976844251 210377619 84506859 249928219 4757023 948691879 419243819 692854239 588734311 621304593 368113523 400957469 734345573 125826263 827364713 435085553 127339763 804213093 140686429 967927385 496558359 402276751 943064647 261013827 205058553 328352151 430363845 350090365 173150191 461002269 810318367 777759679 114616437 753396529 367622211 704336559 364310827 752943433 634404811 114599889 135998687 2906687 908244723 717765529 841838211 82822747 748919973 240106337 720469553 53375819 135929197 561114729 551244847 969175841 160590471 394844889 801226215 137696605 752716493 209610437 250282219 804407265 443533771 26888995 769258489 351416831 421937837 144850135 485754353 865116009 373970251 543511467 473652961 266080573 936202021 571829581 892438779 442505471 58957409 517593687 581830043 110000543 764190929 179786573 219512387 376331889 437306601 214661013 757481375 873023025 388088521 607200899 960733825 575867909 814099769 905239629 524391143 497966715 595547305 711037719 555713777 220162695 369344047 616673771 128065517 567398537 296798345 332030903 614283599 762271553 356057889 237977173 445348269 725868259 464624389 364757897 673913809 498324991 590914541 612894713 100303777 954929299 382539063 807114295 493314353 548413703 320625387 988228031 207096255 959679781 524042935 106884591 38991533 135450917 259995893 913530129 693289093 955684003 503483809 281370967 99841531 802893219 962277221 774566361 183214315 261388179 735404685 878968219 388843865 541297739 155952661 168113283 297194605 988790533 832490647 916983907 811750269 783582567 328199007 432160245 242601219 185377919 982221145 663283675 772108195 836516801 84608029 227548573 911732007 952410635 246747883 531978925 671519109 431683747 605459369 664982371 179260373 152539189 558799849 453029891 204223323 943242709 212086751 690564019 66481285 724478469 551293291 349083013 24365539 504728997 875421461 676917619 139743537 328302341 87726349 384576351 128259667 298606811 590227497 630905361 698477139 693684545 831993575 972370491 405602919 549413569 580017777 205657973 250985191 251281731 504779669 493387073 182551129 885312799 888813515 247074825 25328741 794035219 743939121 164979741 936643811 424699459 274759821 724401335 234632393 205079867 790005331 580777209 116884285 211736307 180792725 93839083 6819979 549807303 358327319 991423103 127757605 621687421 537702459 405188749 343507621 349738815 775259669 337345495 84779217 231272615 505287769 547818503 69277841 643041199 514845545 668463789 22006525 834273725 218482761 812866627 428285003 665641887 233619371 243727145 90352867 331712651 640251109 390553259 786310219 500466971 725279479 114098169 764898875 377789527 968955783 899407659 848718733 320537771 568919527 991357507 455435587 751373037 916245003 856734249 589102985 546686811 608847251 927057843 106042545 969004185 210308295 355829907 259013177 605530291 958875543 409070705 343979457 756730401 958455961 98509779 468350487 92951229 911010315 608811817 44217901 621346001 654142167 71667663 662873631 753695749 873275275 346887941 547728431 468855411 639778143 911874293 194138569 81985941 912066863 307704749 86889089 94644561 950624391 484735531 490316561 52280565 645965461 862908751 73995869 77436981 313719085 612785375 372579951 814325807 920903633 9565329 712499579 257895017 484441257 261377273 64664797 574191567 841548161 528834717 531298839 135997879 634413781 455886053 695927765 893450461 661099199 926863649 767429867 466936423 37496843 958624137 462554451 821001957 492453157 984369219 684101425 683653959 920683301 198704723 232524239 974332399 234478795 265048751 334562977 76310431 2568573 753503019 51211845 579435141 965563467 229773709 114826105 549606201 756501229 23804027 520012331 955308467 24335041 566136457 77006959 925632093 234398159 727000367 631750015 929485571 198773191 132572621 635870911 773737433 982748927 12222125 673394363 116731005 14306677 512055811 985022499 667918067 423738835 854550243 7914199 119216811 269737575 359103571 526596821 117438329 207676457 246348345 923677517 717118105 663971255 433900649 154903439 645173169 348959319 869627289 901061143 311911375 847049469 136376943 365439881 912583785 758092091 515305583 757937585 747316825 932861011 101957901 514920575 486317287 728044589 414760611 953175315 409893055 794626133 168182639 833724077 93242103 381228295 386432157 616849847 506691085 401687581 188502335 200266439 518718181 940002851 668875595 70093721 346660811 35449155 513524389 712684045 370602359 943244891 944660503 830887217 471115269 531177443 805272655 304978999 985530361 618154761 584405735 579156857 45629763 923465879 178759009 304430461 282997813 980837383 552081961 137735661 544926351 295276151 592322443 65071259 367088245 559045551 339522755 665041541 250336629 368024351 791680243 618871499 250567555 299809499 578257957 339311547 129226237 246662311 559739973 419527111 383350441 785537255 93738035 596806283 642200243 333027755 738373803 148495817 182314417 426750889 913257817 163956845 488551583 813799747 522919375 346291083 395097317 145794943 181555331 607919963 542310733 526688523 734492121 244305477 838641935 896445759 924773145 784630225 282819781 800990491 31616373 712578995 736226169 316499527 899943173 755522759 130082707 151452689 987955147 987106831 618520043 303246447 585161393 180763063 876110527 560508161 938631815 428090387 369484467 589339153 580215559 869849245 860859861 182286729 624352211 848858361 889121945 977831941 747866995 941865457 573264093 327330243 665362521 541570169 921642725 726089643 618608605 788395181 256665697 418586185 378057537 154000593 721126757 657240279 105378479 309799501 316781 133447219 688763959 442327223 354529375 753629157 367911635 546453705 928157065 557977883 309825381 726732647 997436577 453686191 577086389 704091803 855069889 659712285 957501811 811057307 817560433 707924879 29083453 822619839 458117021 453809363 136899471 167439499 884495515 982346081 475967955 657631917 632439081 684456277 329445213 972096501 911072875 229700987 563941989 481906271 455898349 849786431 685118221 868849167 103038887 829217467 281141853 851570769 635584245 429241259 51940677 979028629 682810779 906883191 696979361 943911803 414928841 696312881 65000753 29229505 905232401 399991437 661692575 215929687 95612531 380874989 204062843 922741325 861371221 270779733 748455999 886947807 260037247 537812855 269314891 586071411 883492909 176514985 900269547 124271503 818070519 803581419 265111629 397964523 693260773 316993251 178806157 277310305 630325603 333250273 74635435 495737585 906576967 894761181 140702097 967744203 511993805 105246069 569771023 255522369 90101661 422759409 130903263 249480139 136285377 228901183 56747681 952560657 107622065 71024377 659700447 781897433 942219335 603369051 444184845 485066779 255931595 175868239 244683137 693182705 947532523 391296355 604529787 849352861 727082937 281267919 475066665 500256139 841695669 315924335 956321433 726074445 145297859 222198223 802251971 485280417 475290673 7900699 624677261 280144489 358321075 284539179 619140539 516738735 956467303 901880193 28806145 429082791 755158225 563553343 182390777 363485355 429795041 191843897 318096163 568406339 662124779 81882339 738830311 149330453 661749931 168008029 613146777 220948213 322891337 805710191 156264049 777178849 227628879 608171145 173808271 138668795 297100723 871420097 218935037 403563405 308764883 990812631 789247917 12846859 375302263 284909105 741684089 572321553 943924679 993332703 658836255 119720289 44498011 625271193 680604237 191035113 995934001 671308733 668121231 465053369 537007019 425965907 461400675 55385357 420453019 826109195 127375399 193117255 466465587 643440697 849095461 133044215 159086607 10079713 771542671 50744267 406720057 789033381 707704447 901300897 52368923 849599193 218962675 855711613 117593225 811423091 11802329 980170887 542963139 445519119 705424125 637485589 52566125 464237049 630672669 558269345 579864725 869397533 160495831 263127247 893996209 234031123 135141557 999926379 928466075 764736541 553265961 88622949 748788379 722032413 303560075 207915995 497341021 89173925 453583135 229057041 211956215 401218799 265848331 248469361 826004197 745628117 14678625 501085581 408034063 4524001 52981019 991224609 89670079 731480131 878821147 608451345 444610221 202222289 707198505 388626281 744714995 803115787 826806263 204008539 406904859 336961303 125601567 873279297 72688909 672300229 950793247 120950177 689877281 111069325 790825059 573622307 810732309 105271437 976895803 124945311 16355853 686432141 315652835 528527883 233811607 81544187 109099383 941158799 925088167 109827313 345133573 739423601 278893979 544403243 169767293 94105897 854808377 575039507 875614647 8570705 976357549 434010295 755996279 352240299 903805579 853397197 306182755 748895009 785484501 806588855 625149965 267026123 238334443 489294713 134310639 310853857 173410205 526290885 736607851 980457157 637292065 833606387 68227785 475138821 751727377 627908351 343814713 957354579 271257205 7399057 676922327 235469451 393934777 429980667 400636579 74954159 709784757 701381681 565776007 240105195 289965729 529599955 429424979 535969169 64019239 624213033 644254659 688493087 20210515 672874019 67130483 42777911 870781079 212181847 831970545 988413603 541115861 968337157 607698605 689884247 872223313 895211795 134415359 299654511 360595127 448081169 195505961 782991149 36002843 107464503 354763603 337090557 804370173 674092899 927817617 881280115 104744001 491136027 402634715 878535241 595477045 79134099 763806739 539358563 247809423 28590749 364672257 564488395 66808937 277132221 626235733 179260853 938462539 230853655 262564523 282390143 144575521 974291065 373068931 41407911 445316929 59127391 11940167 639926491 717251175 249472227 772593479 408338927 245276603 107495377 308043709 7129565 619156679 305373845 777067977 794399177 373835651 438166855 595786103 593541119 718491979 176759719 830646453 318947567 536686051 980026397 764484191 825049143 419768441 416812213 499148085 588379035 663751845 260008489 549265631 600258051 666067297 134270167 229722865 658589317 887141395 726634953 982628835 898335581 532039559 677810601 695451669 443228395 194570999 9220051 522646739 370835131 691369723 972446533 630923083 792569475 438676633 539899813 150089625 269283099 927595585 719159363 712003517 485710217 514813639 521014039 539960479 797522423 84711015 278418367 604876051 661657271 49110985 407151235 893529809 685229893 894916855 937198929 962973561 631286599 796231783 982212289 539376021 997521283 783473145 745379093 123854743 59135729 20204015 94825263 755725529 481756075 721903607 304988067 69515419 429906929 777600553 124316583 881309445 620986163 614582781 821166615 824299563 996507395 650579805 679524479 994425091 47986201 659083669 193315339 788863091 271586653 110275673 271273107 872468031 114508501 90537669 376612247 315671579 166543033 661621859 642436925 541748897 624300643 708208157 943356759 366147663 661328213 979523911 244592729 182313105 543842363 101349025 844125283 309153465 495873513 581929809 587902013 954536703 7863895 347351009 414799959 258256259 973449645 467507527 901119431 718662479 699599155 985304545 968993099 211783509 176989277 488002165 568398413 782545261 230823367 950967087 510672859 116492123 328594995 934731941 582381485 764487621 318979981 515497685 809758497 509073215 895224297 469384737 474221119 882404159 221640321 561657435 142281909 50011433 288802487 189223861 28772061 973990725 614577947 391170507 808692403 27374021 669827675 126458023 685441761 664041409 373701205 191736241 406725555 897664061 463133963 438301891 704868901 922099487 900255145 679736085 243011281 483045945 617646979 904156753 32042755 855613511 377584403 447616899 817665447 756510181 865084669 213621279 862843477 59225249 570166029 20924165 711813197 527536107 459554099 628272501 495690101 592895005 412849293 726176289 637206367 260543861 646971999 543454237 408998975 31419167 386976017 610775013 241218037 504387627 622883129 237426785 119025929 993146515 391360145 890593755 399613867 973261881 586991869 896048905 304427695 338276325 242843529 740773899 34123929 669907017 164938597 136730467 499056781 294450941 122953457 651961089 259867995 461149571 7481003 276833079 664243323 371651653 819531843 834535877 553744651 184239507 872525193 959234253 851699921 903769257 738735481 38377441 40523585 307167907 980667193 84646131 564776557 24981903 122311951 539724129 715168279 360894813 579324787 258476783 178057383 783280869 309983229 347769549 86218283 494508265 52991091 134753423 563521369 613242131 470678463 979219249 403433619 552000755 687646451 275311641 318522589 811720963 253470797 540672021 422722793 16896933 657943597 522580057 596194317 441836063 325817889 974056325 180431689 682222503 920074203 650895003 266157635 799789651 840782901 769395721 328636493 252044325 868492853 417654949 216880987 779511815 662255621 640395437 467717389 1968329 217010169 592653507 712929195 763743269 499191689 240476921 96795429 93451707 726560349 902595007 832343567 735746583 937021245 544645367 166418093 565814183 827076893 934311139 730460131 160694215 288823321 957979443 161361985 769696695 851834483 867941881 22993151 295659425 164926359 792965813 885957881 312279445 151425303 519354187 537796539 203111051 348244401 290946825 585458289 734850921 578193479 478357923 137659125 687534067 799230691 862155321 680056003 778092511 932770233 79302219 120505349 815690691 293405221 58605771 918381191 152985631 589736873 434703117 72314053 989560929 837150451 829210063 44740313 302341079 673436369 98892339 7851919 598777531 503311683 830822089 392272723 481810221 485453931 200348295 585930557 697049655 815107987 146985415 554415117 478260429 582251569 528895315 572046633 987937987 594388189 456746835 882487201 144817119 51370587 420146271 577360685 49505481 594657433 967734901 583087403 122019855 372636583 419216889 634963875 127858991 475170497 29873335 47394885 311597447 930763595 136171239 892084071 41903459 719702479 110929957 461452039 480996593 722984195 624152695 305594319 542261579 103958207 167762761 194843661 823366005 596925705 524490351 807680697 148512085 806286089 261395243 696272495 188356799 12475925 169380637 438631547 426522219 405919399 812533589 106011595 120514297 676683621 548320583 690321395 275660275 340104213 888277971 22397493 365507787 820729519 688094267 129747065 833063387 561417291 142049581 425898571 415139681 601455151 53889983 970244583 828081289 198067397 898676335 64831271 374453861 448586911 176323615 533400725 261306093 316096377 915393313 701797473 61772801 879657273 132497445 5952865 372976235 938212069 278449485 754224661 726173917 305161653 333791005 209983395 364211951 721555459 776282495 89945821 926583845 272412241 543212237 841916727 264898789 15855177 789499073 746184145 446632321 905074115 852165505 199535219 729238325 216229301 930519707 626691211 175945503 42846535 14920195 391943731 669527369 721671361 785549079 559975721 183071653 713870487 452771229 531941843 856872715 620463203 566251713 210013759 877580349 551891949 635235865 62925609 574133989 580833817 759035553 132886765 984846485 751247361 540843969 997990035 871030211 936975837 462367811 495375561 187996371 391084559 633029981 1844967 138813709 875105317 652781487 732469741 764286883 74711507 185351227 189619075 298375341 927822319 800987505 742048501 859863085 876928899 783881251 457798207 786138893 492200117 890380433 985844987 336586781 458224091 977457503 321676147 690086169 468744813 551039129 43199383 550808989 571540499 731562679 587408893 646637111 110216597 980683669 627511013 963752791 813587433 791549817 150261557 851263061 348285735 954386447 727611775 2042995 181154707 992704363 8255733 119620571 409854617 619837711 71990909 780427421 97264589 682218203 103380889 905516469 692420073 260346399 892642681 519728127 418536401 203203215 651085815 964570441 459910033 331274059 295808143 274192707 286541145 199303125 871288683 991650949 225052807 437463323 600572505 769383313 94400159 386459251 255488465 527186385 951572041 750867099 456932847 758327445 744716379 509285557 314580351 521917463 818397903 960366931 249253613 715494519 306524107 414269799 141140819 80787649 296586389 167746383 758167405 795728867 845430949 615056847 404721827 628270521 722216083 213261079 728781831 187465219 753320229 243052985 722280781 731407723 823380547 126367669 883196373 658351745 2324995 344105327 522729385 41538751 377633185 553643701 869070965 90332549 184262269 305690555 907536529 902883615 196793125 57942049 805230587 737811901 461289035 701079527 725784415 219739765 647369673 896790655 290498311 791706189 722598309 954085309 515356141 468753709 216288521 346150623 673897135 949330661 389240647 460323719 290657941 865357359 851709149 401012935 835014285 690955179 104649835 449327631 435326513 41147109 238803391 942861889 302794429 409543499 740907723 428301471 945784859 606171961 783699113 879422425 554853337 331619055 466921119 123080961 298272813 103539093 957752087 326518423 388492537 342633023 114500773 485599103 174939843 373577445 422524161 56399365 443853241 125095271 723195411 667473121 569898163 679199375 777775843 761367087 293159985 289564945 897885861 624529525 131235163 884199041 562846645 191717279 231606525 940250725 158591125 211480067 2222739 634749219 836986609 259096925 627925815 915662607 199676573 131192275 676059827 707531105 152244883 361349875 72088695 442002233 345482741 441111731 253378713 69831329 523413265 729854061 100381913 686767499 191330907 13180393 76542365 959295185 459378539 736271955 680195829 107801395 92261893 154502467 169828761 921010777 587728149 679895985 481269735 354084311 537904047 776951559 113265383 41210403 754081293 582981647 613692743 130781089 96027795 109075457 16669281 52816281 774276811 324568441 779305779 413053245 346134633 534311805 614532961 751299751 209283147 248191607 836489791 452160983 601004399 825143617 687031747 112545205 544044547 347688469 249530249 796922643 610365019 820076441 707288541 129959341 752038899 464213979 445405867 321463585 346570859 433312591 455528587 41265657 917560463 701097939 693260221 799883943 380652373 344191917 547925289 596110467 967329493 702666377 886130011 603037393 722326867 933574781 644519821 639918007 311560253 24747783 572603039 476802887 284108579 9705481 784810005 755849853 810614977 424981205 534864673 891801141 573396989 511493915 6142873 371622975 351868637 449502717 232454397 382204997 799795097 602748157 177999731 550622439 794925449 921730827 9288907 209601697 442966067 78948217 381152125 426959071 203347009 472718599 532129191 826259185 687313029 387739865 940746769 724715795 865311997 682992509 896417577 260395873 45950409 72921575 538701321 808538857 265388599 762523765 500124013 637483675 129247673 776522731 349662911 336154191 627331305 11966585 74213133 236807113 745733773 28736691 264934925 646303151 182283407 406311061 911006497 737149075 97485569 782212231 154112589 171710959 352917793 650764371 46940483 21050661 106270799 567104559 872643675 514038397 201942297 639055291 793820049 76685863 820237873 626191609 858375565 972111679 882372979 384339799 591976609 464440007 465330913 362598571 217926081 183594659 377398695 196597811 524316045 567545515 187625753 658619283 218778445 596619667 441435057 981065175 105814001 106801661 504781841 301773943 441650959 642774389 947612679 184907855 468411367 824533355 464954759 686376611 45100127 879082551 475857319 829152803 89449479 730099227 211677105 109330403 665029909 542771265 423360011 845796447 148333931 211006393 285326667 241501821 138618255 241717373 349852459 951897227 897025969 504721517 981339021 713452861 197870245 553441365 546024833 633398963 190189807 90419939 319603765 495411053 583167921 993980851 401933831 925746015 965522367 439410245 989503353 51194585 568383119 682057475 648978489 761094553 333825853 824181309 966626327 37052359 570319765 387403565 428331023 970208493 659284227 861030643 871265605 972776707 837601183 631212443 777032195 879325027 367831849 249112339 269427901 866043863 353399303 912305207 587954449 428986247 962604107 590858695 820070077 613043725 779302569 897272683 718308017 17755233 162102145 413713079 54786557 837203437 998609883 896993827 678932701 301549949 50477671 833149455 844294069 165572165 615142523 949269959 938788881 957819107 386302743 581026425 833243553 42902621 891433441 383222849 745082693 818786591 163551273 863888671 431287803 812935167 831311847 47689211 764924403 435440953 180054713 986847657 37287805 267223411 186865381 55860193 865045527 698542269 776448607 176290371 463287649 978630535 427773369 203946841 270083625 207421363 441858359 741905303 978718559 44612995 992601019 380412497 561803555 94534821 74188761 14637773 397954485 984323887 740431045 451390769 446989441 538820255 716907873 996743057 872688409 253209817 12800819 213864677 601845819 373667113 565327721 946654221 561318087 551174471 240622555 663693011 890305739 401248847 910629385 685977321 774082169 41182151 148978201 60553449 916396331 618074265 146909149 293647697 203664999 165981215 289609161 108117903 829358295 4793107 798167037 421663983 746269519 829120155 512026433 585335727 485924297 657859909 937011717 396102637 751298151 80178183 243065183 504006323 671008375 718146363 24842253 473396979 196490603 434908585 884011897 481342599 450383839 955446653 696261809 871725357 590156437 162837837 328570221 947452305 717928825 294372629 791094539 734835269 649710751 663279421 840265619 452197567 515360577 790419343 396531379 606508131 192923843 890867267 409159365 859178361 709456815 494804213 244415941 593192499 123274425 539377065 859961437 880557995 18113981 459550671 193594073 338106591 699670719 127822137 899464757 90826171 534836455 318056231 570830091 218970639 875525515 277601597 857758375 242344599 881586469 862023305 583468533 662824433 542498393 523519615 748671629 864651687 675647217 506671101 280870831 891561771 879094497 580802633 533098305 465491157 664249159 474635791 608656083 875032807 113650529 481110629 825926301 848422027 419594653 378356679 545805951 607401169 815769743 330963227 643136765 804186037 666971123 20729009 7056969 820131603 588207017 943783225 865388343 268574137 118036157 59609301 318295115 266608727 86484069 714788359 180694697 449763973 171876601 316975805 665965345 588095943 485620479 522979661 557663019 292718721 697237023 466046325 512330723 300075275 16285743 970979673 766291733 754380441 855717419 316460167 543287343 434459725 852252979 269388019 956856645 956524083 481834389 531129849 239098393 22655035 36148161 287991651 765331219 94045501 447937879 388984411 197574721 318951419 370775063 672743029 80975961 165013023 266893547 580852915 531148733 923346745 918171371 386738805 301804913 372441027 324908109 807591051 531871783 330791455 846193015 649076777 536614709 730883475 222816757 993855469 993833883 756008789 535380345 517119197 922721535 413256571 132829407 540715367 189441715 295350279 795595049 940898397 521991339 308260323 920189571 219623421 271655047 166035423 310926143 669171439 482642063 868017077 363996379 574139709 372764851 754086661 259995383 720844127 850023303 486987867 795489889 483145009 796825935 334474789 316638731 728617719 156519663 787020223 888190481 205066337 62781175 426220137 611092661 420236673 579061405 553395277 571041123 925978071 928506051 565115 540338095 965770055 964869359 876596973 253661267 356159775 182049359 255804291 689818161 811441939 447640253 41588489 778952535 852877889 826491829 475486509 700068345 68682287 495645025 885012107 302977391 106079689 589654413 769702819 461330237 975246949 645403317 444746205 133862415 797787839 835194611 747095181 826949817 260506111 768782611 577046507 409609525 35125935 59732351 177622039 788790695 381680581 663429461 868810781 802685785 303400865 611114317 609011947 948737471 832438021 548384469 40302173 21583221 567990305 397605623 497735729 406025535 944108423 878749037 593660693 663870213 759317815 682272149 84663189 890923229 557787541 265225591 784159023 387446785 693554285 15878339 244497217 9854933 529320439 723843023 419134999 983062757 816083919 769214617 38707679 943210465 673504763 600796107 633859509 962335911 391345125 343518131 316775063 978561339 369828199 497828169 724494451 223240901 586336699 119760681 58076949 820389021 872371337 316789407 280439611 407306041 374785755 557205143 821202819 330531135 882715175 768650411 585994615 41058427 991916363 14498327 589691529 745892061 613491597 700050117 445918483 364277637 80710555 255359553 429364563 640772017 799874695 531443397 819128951 212447185 438582479 884996657 926025611 298296437 33381723 962519305 616081549 120722779 984712821 823212415 115523931 445875811 604146901 561118313 534238399 496512667 935292055 635906119 81233259 374128949 562210879 423220287 813299959 915284619 724691901 571498275 556843751 778575651 18646371 522006119 310928801 617241767 975250161 666252587 929088375 878702825 95451275 400333111 559013 653782759 551119295 485201401 741192521 660178881 23147137 86723979 384874605 336610757 694590513 685441451 396643075 737230181 297933967 931386045 328465379 258000957 270955213 449099477 460725199 108558863 637109887 227297449 191870067 969092551 848293539 669885079 528597339 464020599 892341915 853722533 275560195 713534557 592711991 869465735 545395149 861775835 558491565 763778703 806424321 359002235 433397913 744769727 874621905 838947825 813761279 606756543 718440021 830522649 324906317 543259611 413744783 602193653 444442203 53756431 425530729 603329457 326507105 523120373 752530357 132964769 195914249 210383575 412464937 692627519 362510175 296502693 639900009 965515567 644981975 191884277 809006843 443153723 241989711 623414791 68500565 653007191 222562829 177300673 393236685 580552095 198416315 247069877 333149095 23202391 157336947 567208725 483598087 487912167 100364463 623056583 316882181 666001637 92891991 730136909 957720725 583804683 44807861 216254423 738046105 566998077 473446527 783785023 133848285 540641925 680340435 588763137 157790993 217133593 331419191 214940487 534774221 615937105 976973465 288756191 870919059 711956657 543575627 66860097 738658253 571955175 544236555 368174217 70973387 862927555 141705985 986057091 439942087 986899265 967549881 406613915 725828577 14140805 75415333 562913259 580061989 477426907 627882919 170939695 858055811 427242163 474259459 819102415 325614035 400306091 35713635 674381789 807379671 221371015 670890337 886029837 671978551 575331633 191617783 307268287 216462983 450031547 479011211 698035197 35206975 421342561 511858411 507568499 790667201 501607817 126385483 695825273 641190995 805214393 755102793 262919181 733043499 932281769 380650475 15494617 956538207 621752881 570864541 992413485 240839665 685211223 678596405 475625725 885470409 897006917 419460079 212177897 955389371 7809613 159412595 308144441 104936319 242782189 732349131 769589211 930114229 513277637 880753519 268658537 704571625 231940259 736048697 517461791 32255369 588887417 815627891 249513191 97532657 59746915 923856581 317260367 471719777 298219683 207562313 904947597 159728641 664964773 501283191 555443331 429010405 395759355 438838585 572843447 968756997 548537187 526092763 129507159 842626881 116742589 160974865 320011323 676712803 134482711 500006393 494538979 144673311 45574819 948929049 113744503 423884553 13626557 571034205 124862915 742963111 147828711 552668953 137081923 565410399 821397453 141765645 443217681 943728517 1556035 665037663 544507383 635188305 441904195 256831129 588888677 185877987 634734833 336798129 578236017 692141125 208179863 930276871 780758491 978059627 627659177 495267677 313814281 287235625 447907267 331162337 635535883 942168901 6709927 721878057 586944921 591802469 328400195 200242739 882928657 42485533 526823589 42432611 490230907 12921827 257299725 160160133 456843141 275608859 430144221 772691665 874258057 90718735 350443425 220404451 926794883 538327021 790669577 292674751 734540061 981357263 593731571 573283541 948590501 62717625 8719201 959592951 126429715 648951953 968738177 85479527 78053891 529730345 54316195 520491717 640150465 322708029 745000515 237105953 841989945 525934443 827841541 786876911 987323139 944493885 238860979 730848525 683418975 952112677 905851715 984506049 984551733 895571835 562369485 882491575 56452369 577179779 84720279 853928709 176031789 114893155 871228169 807893799 822312297 600053293 845739707 690250501 153561673 116716509 878420579 302582249 524364799 727854929 948785383 639600523 719166049 485135443 207897171 43600135 352006381 16909461 624091351 415788513 685727695 307197615 556804051 322015495 238718673 937604899 599365831 341553617 457824363 797727067 486236765 547285753 156303041 658296489 806948205 701921701 871141523 341847363 165381101 808438369 153925719 140098381 182616067 130304037 119697185 991759823 612750075 283146061 461645743 690057657 991029319 686129311 194671979 666637545 925423235 265924679 56075105 798299931 425057391 435019995 555276109 314235131 895041531 481777239 483298955 105287449 777171257 491029281 301266721 459394799 67297633 169427207 918489281 585637855 521318875 68263999 489756099 769136177 298112303 586288739 816261155 70917143 300616209 806384507 632715401 419950249 532386397 230946549 696151365 957197033 300328469 967283363 78417231 280824001 829631077 726442949 103255879 546926593 553131679 777358845 479802481 717466467 670539073 7481949 988383167 505144711 241813229 788421207 259110087 42425849 904787821 436048073 722491079 610573865 670269109 482207991 668882859 153233519 344011233 301231505 664939261 727487757 781174835 297945001 474941685 492069165 159810071 873926593 109572981 752877535 619351585 209751225 235706115 530969373 795852811 99519201 683938767 740194503 610517433 822978285 208240813 638913961 593637429 32065275 49748513 354334321 785085107 417894289 419114317 896676027 27211151 298820763 453222661 669882887 362328909 249690735 262537917 193000127 43779477 880619723 13480343 812314931 22527037 386141137 574473049 32427165 477804095 428908819 342259569 760564253 485484735 405178497 325254647 741156287 423610887 630529917 44134571 628662129 752283277 272884169 318723059 266815503 155055593 298789525 69214689 284821081 647623137 663903091 799939881 295920633 316712797 309917027 29776427 924796029 669793139 977262537 281503215 206706787 375812701 564430707 523877669 505565195 59244673 673598357 808636195 976650939 917798757 729576653 271894249 635611047 515805889 124388385 991490589 312323305 988089197 408963069 683899407 672426113 920493679 514843957 402653365 964230487 468379631 915896331 952500145 397227583 404943429 366747935 575794505 687095025 994157287 672580737 849396077 59682061 303045499 514576551 954284721 985090847 170329805 276657515 550821721 410008981 261531087 223823125 604492871 514670025 147197083 376325459 193795087 817662719 325506935 800016951 180284389 337839965 153464269 857335105 300850347 90949367 566129967 325604435 512351719 800534213 302120027 594916031 15112903 317049255 790148657 804783159 838580515 146171751 821250239 602654169 83861115 863120311 658917431 650466089 503099125 766464817 525704181 636095767 648150113 837215829 317120891 79478519 813615415 157042827 969119093 463384965 2050967 711274789 391695029 23214567 587678277 725562463 342968121 102607531 41854387 4778071 307889955 326838469 944211703 714803735 714191805 171870357 463701711 349965457 309631099 305000667 228922533 138912159 224337401 57954763 217871751 977210623 373906681 139016693 284367149 669925213 815540071 103800151 181432053 524821835 539594583 708724825 831535847 567675455 815821825 131678917 329762993 8782749 351361741 271317203 283432109 492566957 522675779 955448351 982347991 913940641 388979993 787343021 985225687 862276499 579042087 555816939 165342207 539517313 134886001 729532337 607085635 123683927 182114339 478269241 381889861 457134055 241058193 355395625 851740235 975533799 4323125 967031183 494939715 726719995 977720755 900195551 395676869 670349483 175459541 980403959 66868497 12918377 31276177 617369885 80887053 123465101 439732223 863295997 654566473 628186713 504504419 877392043 433261821 344197623 179270699 704789417 714944265 692519801 379821031 109668311 896682225 767095509 697153875 770255237 527898853 253109743 178127955 619476329 928200127 620658063 263807475 393280925 431072253 443292773 964357475 673441449 510285509 984115213 436102913 832827515 547144423 87805449 689552721 36887397 531934169 606397119 735136253 658087207 692108989 719220865 8534743 195837413 289100633 225248905 718689499 152633643 908608285 693110777 470846765 815592689 346254877 960176343 308056601 489779347 728516123 778644249 174235153 613199319 776318847 992282517 147039407 752867303 156066391 357498125 103182777 660910173 483299161 441907499 356252185 580762675 722749669 931377023 236079841 477822159 961046021 325930115 58625103 221472511 413005669 557636761 276195523 223619577 682436701 142005513 521613259 108022359 25642989 521855747 869227801 991514913 288293819 156880547 867760519 847084227 190541079 20305385 422917147 410651155 659757561 802879423 954216191 589528911 718270465 892340469 603271303 739527451 655332211 782471493 732241451 755088259 561901631 876174415 857333651 6811391 224888063 818946719 481558919 859141993 774476273 282567845 865323771 302235403 564883963 419551159 536093705 119115661 627282861 908470555 234342649 156541705 419081277 848542969 115879729 907304185 747865741 677205345 461576773 308992835 130000419 901930317 359260403 158761269 203324973 543697821 5863453 933781123 140999813 134130205 520858061 499457611 495753383 342372987 77872183 405894163 465088189 751733587 741865143 94006983 759893651 442822437 197573839 610955709 816099491 567306073 162311979 798830513 613467917 318116675 317808799 298702281 791811733 582122779 676422949 807541397 905073581 961043713 782546145 307407621 932406635 746534913 327548701 849525115 422007951 471294217 430602575 440676537 369213057 185456117 923422223 702130925 587782221 104712835 743398945 86904495 236057005 984536929 117385587 732237815 416008191 913591069 885005331 90802479 519884619 966995247 515246915 705728035 455719233 983810813 583730273 624382727 199393845 468418251 238421497 340159353 228905003 820817101 35779265 271218557 448995271 917317661 55561873 391528579 803168601 528365497 288832365 791201375 785725911 175414159 795979395 197170765 610957795 845754731 824249635 34792435 329313475 703980555 574040009 177363551 544594277 283449869 200867609 390526727 826532707 934109947 918663391 39049925 31149049 402605639 801609485 539390689 690690319 914150987 877066429 290226695 874491959 63191879 800705845 161928013 505535397 322078819 914156765 393910065 112070971 338893489 996508237 943904919 574745469 818402349 255839547 196101067 197406365 892122805 397310349 313030533 716073841 336857875 215345231 646012895 42403961 191529465 24588467 871737187 323088603 354767103 368636693 229087739 21364585 803762601 416148469 293266427 103584149 295330909 557307651 371186467 828406917 237386607 525025297 884061591 312387579 812050453 581130775 865702629 503539559 858141043 48280125 565000449 544203491 744796049 585780939 702488393 250626603 223553121 805875253 641936771 742075305 103951035 369404949 925215451 686956907 624566115 3165233 943353063 165644841 843448831 628089715 488118435 249553473 114140193 707623151 767895927 146857657 46179395 814904031 499509805 910963781 59297479 516707749 127443453 864451127 282232565 91720399 933592961 108112785 327861759 784343055 217405889 147754491 158106109 956339265 94295851 594291905 778826483 570234471 417377937 739433437 444133317 96424623 899714099 869944559 558002507 557214055 326590133 751085115 741555001 249480207 513132581 726352307 376824115 284608073 604582647 474968557 710727105 857834719 949022985 48049961 577576275 531866823 222203039 329190989 354583877 920051225 433045353 17672681 672939737 678917913 126209403 625066805 360772149 118714163 978757713 596339983 243033451 66039291 650558417 121989375 930299253 133179435 791355721 586847797 382194483 8345255 844240495 878663303 834549873 786623865 827353693 674119539 558473951 247209687 103319195 73463587 581106965 713046553 582695957 551541093 154642325 592248517 849432609 340158639 36116937 975412611 12194173 870531363 443990785 126120233 104044365 143795079 177538935 671292337 261140509 142174281 407414605 599236927 875783909 934013569 530101129 886121759 11874817 565372657 762464033 70857411 603577397 477076731 354318827 458227909 200934321 268313523 339899817 639138793 34539271 867656909 230775555 510817309 873412663 337144233 578042509 99896177 545229735 961202257 820686271 164743971 329946399 975632495 832923131 308945555 947485403 73842271 960337799 954677839 298929779 288088607 6051481 329675527 477666287 735840341 476661319 475029659 485195451 627944787 889912211 9942795 909335725 582663179 2036325 811206017 887337217 157376291 818781841 186004821 228781407 401996253 822755023 681452797 318027473 786655529 109680575 1114913 466593487 925118625 966943981 468470665 703625267 950253441 50996167 420590119 746006597 168845747 448880297 267719707 264802739 519159493 886204371 482728101 50492815 242516717 965877357 64968753 403294297 836467725 258887563 107411795 329346293 993492139 143308581 395952067 645469617 802322677 805710107 856822121 485923137 480417731 280857657 47256397 35092419 782264725 86041389 846136995 219752379 986369939 233582483 583342023 504947993 635433609 340840169 838898491 158191153 39256049 255589789 359124139 860173503 105398507 433760763 566682089 300590825 802122555 16904513 299912691 326864447 487472211 126855821 464219627 153407665 774961737 387771371 791111707 346105759 181041373 755513161 988801271 134596815 63454325 859660673 628089371 948714863 906090273 118827351 457798475 202555153 840987545 51372657 311380335 279729333 290978875 342592611 774441373 352268733 461045263 488848803 861451791 787444987 248788931 694850709 346243369 20945313 718542001 248140419 966102645 565583947 423283157 162931355 43787175 217506307 917804249 515462903 497034651 958821683 695424779 778831259 555479381 98882223 966836321 82463597 84797181 471559863 876972157 754742593 894371561 745995759 279091109 32290509 876360851 175765093 244332999 139490229 149670815 450536589 504087419 311539329 401630425 848792647 997903617 368688547 615613745 848083413 894671169 841681013 299238087 712190181 460984007 608284213 776291289 64072077 816404685 273338127 682084311 284161865 603937843 798765333 283349073 333807617 709450365 532318013 226830339 522735871 57501405 103883883 451227089 805639163 478750505 506917479 985955271 640998927 997827807 611806947 201655319 136464069 424924715 27532407 807398939 471067397 283190999 719283621 51709785 151150631 453690715 358544855 588474491 94332649 259312601 529998431 744520787 955125359 68756247 94973299 702551773 223011143 374889349 277707575 368758847 766926949 401845303 756511923 683602881 246707239 326782961 39938777 196677333 935824723 957763095 141925249 133733403 637776405 285628343 787227757 954819155 899160321 718914701 176966215 45820777 465277977 207519731 129724831 88904047 832833469 694234613 959932911 360540067 44280765 962750527 593487513 636700517 802930255 636507945 978153445 8912707 282290957 106159283 142005765 917222383 78173183 589686661 988280849 699313477 535319697 581640683 47297803 197275463 2364059 670845151 477685981 287529761 94281045 413259009 350131031 297197095 871716457 872782741 210106163 514941649 458025699 954994061 307166995 846346695 865734197 378395775 757960317 627353809 376895809 843524009 414934759 996897763 357616971 309632245 917179559 410388505 131630335 535837171 629940735 211860661 423540593 798041301 234450969 980477477 455747361 697118079 657117189 830981879 923756787 650431095 355591101 168272107 569245493 127005677 558028577 293247459 292772509 766007477 810911485 946564841 355711301 841607507 799309825 669309235 256672693 743663849 522402245 435804441 90422745 671530059 798710731 582280991 803753479 574770925 210179195 430703857 335795707 830277617 824111145 917164131 498762205 459810589 371997709 809304687 347797303 545508319 726771527 684785721 771886081 309452367 937076195 816198669 399141271 174897709 453674447 853586523 189856701 933689311 962170343 976272577 377952161 792419191 717793003 665772291 282185435 277250473 403089029 575212043 573831781 151986389 192370245 17069803 146268069 308666371 853250211 635199967 956138343 871622115 136139269 119240011 111449317 621718475 668968879 172302011 545762487 968733371 681589463 209246175 808765923 180679769 704276369 850756503 30329561 627933685 856776675 241044193 719125613 191874949 170128565 388620269 660403931 772720299 378387157 390170379 888654027 69562285 191502849 411771831 864060487 512055931 508412887 874702231 28572101 757063593 999707875 725996913 822256421 634446201 196453779 448900669 385486505 802298067 978104131 552289301 610537983 46181957 789191985 501786939 385023807 503760645 823735179 974377241 867753953 691213813 162402909 284781383 632285135 486400153 450656933 950801531 524120661 71023139 206884161 145006493 617614631 672035947 308768251 406902965 288100705 92101869 87726215 764910071 600042637 329831377 61492089 50380989 968834965 770708711 709987671 855245965 213603789 91009703 254821255 710204433 416519157 138324273 4780381 632567837 810623795 175801161 824674575 433708715 695483409 660214113 203717825 541211101 278207365 193851021 392639355 431758081 42871277 123133841 5293103 743188873 31371791 331209681 620049079 553374737 628353559 341273181 548617425 774136155 349324955 615097581 679276843 590595923 106726809 254759135 997782097 237117453 465758579 501957691 20577215 918991555 370635771 353724591 769766615 175215321 923443553 962892947 908209635 649311961 461966151 442453993 915694863 695228791 855282609 680240979 415246203 109896847 662996489 990274341 600996387 906753059 551126057 445917779 991595251 403274081 435407177 643160959 9267645 908637591 178951955 659355117 609192759 304034119 950374035 476939919 753082885 574319373 288725821 927761149 383223215 238045371 413902831 243006067 938805671 537879615 365556207 160596697 955269189 623384759 375610857 435710399 201508811 557985639 912843507 731081053 831950179 58751671 746994569 187427219 563943455 843560765 897872019 227049189 967075317 724092595 909309019 289534339 949933769 52276989 570225047 300709447 413518179 960685351 116102759 777357743 811486323 11780195 973515597 672669409 379966871 833476363 726652985 667225773 454380619 760263587 452849533 780114569 807266555 659220953 970113751 164603799 819241463 789367677 61185135 511710109 35192441 442687373 719568337 935705097 933196195 823925545 722563825 132258549 808163197 472947357 851745069 931492893 403689463 190237791 777328713 678777323 312660973 848169993 959023477 897851499 345878559 494247771 85754949 665568857 861683767 927531845 120806837 752668175 415555525 163870423 148277035 260680857 904119107 562125903 998669685 78970019 600228627 98727949 468176839 15350661 739381373 137858975 146125505 126978111 654555313 401185463 670031717 771885687 387481547 308095537 439810081 329851261 565173707 448240911 874284491 287529801 724810139 245067643 875400865 924277115 82105867 79330253 875260741 427137111 911375061 823516541 770985929 738809805 704792475 661820461 163840669 221545079 378205411 792769195 674542499 523853459 588960547 724010985 662685469 417284871 929107377 957838339 614735035 237241955 158273487 71059259 117584015 82292189 233984421 332894973 145149977 213984855 756535623 132128477 381946685 221795671 274820525 66006931 28696393 997768203 435049911 671080967 342729201 193402957 714789169 335601217 915886165 814345113 909825993 890425973 270796789 192586775 218891803 208225279 528436163 223045529 56311463 361569379 15286547 158286995 992525525 277589065 242050211 951528231 722583033 517262471 799639445 677116953 712763467 47886103 470482041 508482011 232921067 765733915 57286213 232340867 261227493 762109155 772201299 405555153 947500839 493859037 825424493 891266605 527429005 650409127 639096251 478666147 842183895 388864773 95356885 275002349 149373869 242509791 579123897 929628777 838131875 547769163 186823371 51839263 67079471 645500547 552107991 409889215 332917943 653423339 784031765 560749213 343423359 260725005 372019489 371067837 762439099 228975007 983117569 870225859 369516677 606991481 710512929 753706239 96845021 204432289 267134805 239233127 831044779 445425215 548798687 316703389 302869443 269664681 689019231 462345959 71287515 806023771 288383461 44254259 312141463 871129845 726383589 38197275 56079489 150399299 711010367 56642523 722795015 789531451 973756469 764356955 96530819 675345909 954565749 114900013 776966457 981502135 380847125 683044485 189742671 567288811 442225041 594913861 426295255 900914723 292475345 819007473 414748621 503238429 439311649 331643323 179886095 899800761 316310579 6293113 680207719 785303045 793963817 79134379 848458887 341106737 822168199 393914743 360496393 530025373 244747831 964131245 410602091 206499529 719955091 729381573 293581593 442427233 408108373 193592287 877747045 475612983 244346531 967029951 711699077 53056841 226809355 591503573 856221597 655906999 160428417 522520635 632095413 162168783 65445987 473920173 337087423 356579075 917429367 970486933 838129555 625753583 339086057 39613441 805347061 60641365 720334671 542849449 297329035 165706017 511844517 765940715 821060327 13591397 57669715 491129805 13791107 596860255 588021539 923163649 231471553 96591729 741723211 405169631 279717097 477304613 812103787 263552611 900339757 869821487 941020293 461745463 974193573 619005803 270529289 123258279 84334421 377291739 382170825 352048557 842107939 931573163 34776581 732965609 935636193 236901167 680258401 139918239 329896777 119658465 40896745 287735233 416724221 851932515 124287765 120372197 399407749 91548293 43437505 44490315 448688721 701045301 208057139 878757337 144845247 612733073 453264151 831860511 622465035 18420699 870758785 421583189 923641697 955330433 433027059 221527385 512824273 975644433 529804365 877609651 219989077 391696205 410831839 541812883 929840591 648095505 393835613 21965007 124829189 287351407 784764135 576840421 827446445 910565269 505955071 892020479 413041245 754799585 452155283 592939243 615099287 68181207 747291129 197026591 755361221 807482655 845862639 535972285 285070903 734712207 153290647 369896331 662633767 16738851 753486979 635092727 469622455 70377723 75001509 402444569 83068909 535344995 606051419 9224881 331982271 3054801 995468905 705696551 928993283 66616285 668719871 587440521 182105723 280783181 999925423 891852173 445617617 148227339 445278073 417643667 22745749 863394601 411836353 904876707 669071425 694253283 493621077 16748397 730031669 427440029 491402345 292638023 373732541 899485155 267707037 300704305 363295239 462651495 267502065 976145617 517755695 619462403 70516695 446293367 248089397 244831677 604183587 575159067 139187201 110005695 434879507 356845659 452780903 759367771 709843273 267907199 572825119 827502095 816099031 682419319 324988619 912364411 921728045 109505497 444720369 305743981 535961133 355266019 744049157 37665495 966636569 236929663 859760225 162161621 137442975 42481979 846510661 40308903 63501015 990924877 305507033 532435901 530248507 900556183 208323377 487533481 540817073 946066335 973394757 515477029 594731909 439881363 521251061 699208467 649153135 628767563 220175629 575466369 151004555 741108807 103010363 794204321 706349407 754082479 266072603 660154575 50277847 6494543 237022251 843103885 612012873 791223713 481277657 176158087 264224113 156310213 353259123 535664017 4836981 189788287 272011313 320661413 854699491 438403137 833600311 102824677 410888625 832777761 818367375 503915937 643609401 108666847 623123751 360830023 363817539 92705761 621818585 150358645 228151803 308400183 843824489 450327021 993099257 58118041 777731709 905315227 990924085 309020773 513860009 393190547 495082265 358032291 889829221 383593231 510358127 661600257 291302417 875485043 494908015 240763097 888746743 186205513 608778677 829441319 833003337 773963335 213280071 34616469 779726623 992804677 36496783 715170929 430241917 648618311 161727847 266629297 183045193 723654267 460387081 814212855 64657751 645498161 97810203 410182537 73040733 495251685 668882347 17487445 227339263 455303995 647766317 989018099 190011845 502895869 466901887 369722531 716871969 461331233 942445287 800267597 433913197 552540095 55155473 961455229 596887015 676197149 484227603 805391725 749031611 696684707 870795627 266782973 377582587 813923815 704898299 931530417 698877597 787379109 295770133 491795387 788003717 105856701 806449769 260561393 605702267 586631483 945625369 305460945 707009329 305516885 525530535 320108677 994018879 974035557 695065859 927614685 968287273 372137451 61579391 2000459 744697429 326429847 224085211 413125875 198869525 290383161 604854587 714665371 672785315 451154383 300338733 918335667 724256033 612943993 62547109 344241487 734314391 850359429 529471233 633611827 260996599 392073061 98963973 675539649 857008665 142373299 617000929 429670925 199643071 489561653 865924905 851886029 503398803 153010901 468545497 938553693 159406629 405439399 667662425 216110793 73074929 559182307 641421427 632761277 276120403 633318641 313646173 25229457 645460889 749551449 835028407 143732037 335645171 889302991 966091907 219640961 653984121 445603373 959276079 676627601 484029229 303182969 596552337 802303087 684850937 893176797 635396327 711744187 429151917 374980525 983105237 554692793 517971203 933910115 400812903 220955995 488585885 602332833 68724245 33989175 295254787 882725431 758072763 423813259 685843365 66621203 580447133 928636481 610587359 669654611 684186219 183046887 188251377 942700345 436465977 424852661 673055493 859006513 849721475 50277257 829466667 867844559 417400111 191459819 432894045 598715341 831726475 544583691 414802813 324023823 350829131 328316093 88424017 475269535 218772365 431948931 755463055 766394289 41862103 32105093 823939277 716389025 997632789 384265105 560117645 371242227 306386845 177495325 158884407 305546831 976526125 206442571 57265951 180567691 110817257 958177505 774232445 17223841 899544413 888379981 789596787 447607733 431054209 599547047 290682887 646895121 150913967 688061871 696921135 240307243 340059569 204775371 533552575 722683803 596144815 478441229 565252477 298420261 513755713 55985193 936022289 691621047 642833765 713229183 475890187 858349153 653486975 403385367 847396581 744467807 812643165 876360353 346256895 474543125 230775859 925500531 200982179 797819407 254020767 738004619 983688197 291591935 590443431 817685141 856537145 706183103 24128439 394598363 615456581 689693525 233917349 207027285 435348497 296826857 84701101 167494053 532062571 687804881 544742517 974885393 802520849 586637961 182317069 659163017 58008737 210923953 385240805 528858273 953745063 25074199 265227487 297085339 459976081 12864685 887824957 509028191 180255419 553599885 301714605 261996155 631817059 386848509 51556933 241061413 372023735 682415207 568217219 757946175 874598339 826526557 877521227 303421261 381100677 119686813 781674473 99617153 794340059 881222407 597601813 186971571 781495441 957917865 871066347 891024735 890869077 326369717 60732913 193954477 757709761 438396807 633947153 9045357 795930201 399217569 361431205 243434519 266934403 227835055 34673767 78441163 649619859 439109507 588599421 987151949 220663231 442028059 938770293 151118093 43954475 989509271 23079493 831461925 288649439 135867463 617478471 601466963 262408655 322914457 896928579 517925117 139361743 668382761 455608421 792629043 752829603 5639615 58660675 946479277 4288247 732317505 115398617 865960649 194137431 115034819 291849359 615008653 81997633 261986179 403068719 621967021 61615635 725770467 389789169 809171579 840673303 983928685 182576241 745213179 524531583 432098773 968243891 776134351 498272099 543585271 442906151 156825675 571316933 581386199 901184159 393885795 544978319 409687709 54436699 791931321 387616659 303739807 190711295 676810641 816950151 320883543 400812953 864395485 777882639 95600233 753804189 639657781 500112051 349408927 78434025 512165843 758599909 790489071 683139779 494281381 912176893 892310385 246762455 13888309 46306111 404535913 598065979 689777085 43987153 492074309 592603499 93525019 606768837 864167573 968689997 373614297 420923157 289457685 908540721 269544993 648593315 256876969 263257031 398772943 426910519 747394651 971164977 342950753 770595971 202739553 235061233 681855229 69454111 521962259 584953845 670412915 601914509 111111671 423234963 744421177 491448119 145155509 533440137 531909233 806870893 769197605 892859131 414237153 252842089 331653693 241149047 815786231 594725709 950180643 920315119 653902797 811429409 199175971 753613253 236361759 699731157 760163503 282319549 949501527 180298311 342025057 356226819 649536641 711298867 609021695 882563115 343881049 321455427 648865395 743871287 155214649 396102669 334620879 716408199 344126253 937911301 422270031 484190699 21965793 420727693 584184153 374520727 397429933 526938097 415346549 536705833 568061585 930440801 389663829 867208615 124171059 282897653 707315929 830966655 466708963 349629871 348189697 900701571 413358745 254082935 554886649 211566065 886771443 457572129 364649235 78620529 293680443 497202789 507598029 60850701 678607195 835718885 107149513 277713981 343835631 861673255 175961039 940290525 17199925 801296289 664223961 287806769 166416403 554398121 809439739 316083689 633884441 256034433 811492733 915062295 499923325 172666961 506380489 56759099 316428321 363330349 820194675 419470649 428861067 631238669 355762741 637572959 111806953 398490067 701567475 835126113 41794581 542233157 312677559 276407389 217295499 768284439 782104757 773959129 294134643 287468259 179710281 846125761 131907743 544463913 534494197 792406635 203673731 175820371 226773349 417542035 121857345 657746607 344318061 229859169 716351901 247594875 737563399 217706591 399816201 463389911 755957079 181390723 112262555 565052361 409489575 247179565 390280467 621426501 245667947 440419871 911914455 161212197 793169217 167851657 326990073 706201385 616582631 165073661 391106605 826504185 428977739 582539643 796608211 557931561 551456385 714925669 34632435 466085681 514810307 8855949 691163709 473012337 109388661 960875813 58959621 428903987 55115811 780396747 256817487 259967657 331978877 743801477 773942719 548233965 28887139 69479869 273500837 531379199 52241363 926340173 365956855 712635847 92502013 625804143 84350807 831087129 641475121 996081867 471832843 235858347 301758699 784999787 630345473 242733345 343857871 904652485 288312019 158294021 93615529 159446967 683281853 648673733 101242217 184432519 352655783 363434683 274426159 898844385 756973603 662256939 912575035 218073821 564046181 555455547 24983287 620831731 173347151 273841407 369208313 172339469 914037349 951600493 44851453 355826293 843766489 435392873 418673123 620822243 129043329 873726395 155176377 642879603 501700317 741876501 417288113 734068137 230604307 843519761 616780837 340098165 402852851 341782317 751894427 642557225 592456181 311867349 648778685 175153541 184033591 937286491 269533789 432852397 994563969 418322677 672989817 567875887 68956739 465892295 350919475 448996351 711411091 417969625 638256851 39666557 333589807 230662429 705610705 317827433 674312577 485287021 177480647 151789301 553806487 849377415 765142135 22957493 904175913 261717271 950588109 351778471 753357203 438494637 595899869 900098861 209824993 9298629 637224927 313834519 287687103 715553979 632587579 913747611 597820807 854019293 781219705 87405909 771759925 86978651 874438221 59909449 299403377 754605903 491106963 775745765 750261389 528784823 781399373 676640513 719783293 970316415 810665639 856983509 818831587 556457591 396544757 849102859 102702851 171693401 711658929 44045231 866348495 364416199 400668799 589365557 512319453 641248073 642349097 655794299 575940461 801340241 812449187 128281541 578179941 874075191 503520009 712400579 439897173 303419709 510802591 81011593 597538677 105471629 171475405 520677779 137483171 10907703 201738793 144450761 5734503 942116661 981478509 404012661 788483825 208465001 912411005 278810189 590382871 164381595 63030115 136881007 132981847 324951163 151061589 189503329 124811483 432586149 168521643 201979153 506383473 735229337 130997481 550869969 860647823 171937729 225310397 173543519 936464983 250176877 248859639 986182627 144921487 763787479 6606995 638348009 816255397 382587937 436128437 223142499 858012081 870484563 387443625 807321267 571142259 439966301 459650271 522775197 242079059 504367131 295451895 458231883 307598685 689788237 10398383 643039831 354137165 644771997 355764727 608880827 933333885 139639451 993665247 418224093 472405239 381139649 327369893 488595851 982411883 824980079 337480361 830361593 303776815 496325105 525161847 469914821 182011459 149954421 260007877 385271285 576575309 816580631 167827309 569541877 46473629 834461911 126823535 831599515 490402859 216631199 304264187 46670627 77042581 378669629 622804835 574721333 961309475 438840687 709487391 405259483 980713925 220018133 659631575 20402573 595020561 634739957 331305809 265088549 144933445 559641669 361380229 155426797 655174475 769839129 788952461 615165837 838449073 103431863 400890027 427131933 830116781 320990535 630057803 629001755 877978913 500621015 603368447 167384683 708662931 894916453 29679237 614333787 779643441 616660175 219806911 998275487 940796115 94553569 598612919 761664341 347832569 507621193 402484385 609667331 901208523 483172515 632225751 793525395 292314645 926499183 992906721 967530591 826164049 437567509 67780709 203821089 18177695 798378217 438531895 453425665 448387523 538429729 29251413 372745097 641927727 617466337 888727521 809058479 860523001 405453107 329140517 258860243 302668513 434046213 820780437 205514167 279391053 408378419 95858893 928312457 718371661 373535099 468450447 208665311 133414297 778572427 828664777 236451255 351747727 165555439 16148875 890719349 85374775 576448805 350331409 434673637 477926463 27124619 587749309 296931135 652807937 486782315 525376031 248847135 475743865 923848695 640636133 465880201 554240081 882696521 113364717 18896365 936455639 925017439 764759355 956267037 153476353 540792613 476620791 467698521 126106481 121464173 403559799 467605063 349179245 567816685 231328053 53934321 236057315 574166601 648752341 644217293 526853227 765213961 690011427 895606457 522846277 645847711 924079375 865047547 803334489 72771173 38543031 886247231 299092019 554103705 774174303 966215323 433960461 603893351 609388401 694590347 500926405 340775137 816244607 217343479 538090213 842300925 301807429 942592297 184767641 427825823 928770983 19769049 252384439 411502735 210000561 790060579 230578883 833590655 460434069 53295243 705862881 318217735 885066925 371404543 265422561 568582827 132788351 575465687 505806651 411600593 105519795 55807181 480159245 671573451 944439329 417137159 810074143 644358099 675967679 182965521 424702433 898665227 513671349 686855907 316046951 667265659 535759177 237898201 510143093 766194453 393929203 48388281 666015597 796299953 592295245 992563631 984169571 732112145 773762073 812332369 469328653 570585823 785328707 64591771 770519751 124175021 979915741 574143219 220307357 770429425 450154021 156114215 860913979 557420557 811693179 91740269 846718969 924728653 364264813 403681887 869589463 868360161 325525421 446029573 432033149 94454497 524293911 694314957 110696247 366491471 55510445 818307721 31612415 633120021 747365019 444951673 855102581 595720707 852219699 263517503 991030237 15204051 656515571 724090861 411643689 504474151 683143037 171636725 59343853 671793031 737803675 670976053 857717101 231265379 860958273 8476657 479033229 723450647 517502603 613184473 78434269 493988323 403621819 867966719 215189653 591404529 759116349 802704867 8872339 903294545 797183653 954759019 247468383 438013181 628852909 657098721 333357607 338955223 859648569 353796603 490892485 850180005 418990163 414665687 815609781 313676573 870458417 393512955 298446881 643487701 616864811 257139283 125052119 227047759 630964421 801949493 734086477 934723059 864617387 62779999 564200101 17999381 162898609 239618547 580260515 257435373 746279633 598483331 340924603 978984349 112128303 363910911 894312191 394331691 728304151 911855049 801128753 971435661 118135289 925946275 300252087 225696665 74405491 2655165 824204963 904592401 430749513 174282665 501539497 253113757 674848099 68846695 538263593 735324113 767344087 808186203 179394603 549731621 640288993 649784659 919714143 379489273 566379233 903733123 402186523 466038681 248722787 683920009 849930333 428819763 712729629 475435883 2993871 416373987 278168039 483330197 433164735 17439911 743065031 867356379 916553509 401200493 784310759 613563007 133917855 691073539 513327769 406552609 206490741 223903777 148410713 435144657 365321365 612771693 155469773 89467909 414658969 484746859 634019003 317028503 921046973 568350095 794236699 567528399 306032107 641243699 345864455 64976731 343229617 356653463 979465919 379063629 212836677 505905123 971937203 795071781 490612361 762375467 579183989 424806597 911899649 186547301 790637757 458288511 688612063 26514549 194762355 541584645 50528505 323021093 863276701 465542773 206106575 862987811 287157619 392265043 139603337 838023689 108039247 427929231 986275315 209206619 991492787 786352509 314204551 828667263 448959819 428074713 684818019 702783945 11737835 832720841 493253457 491640943 932191115 325713115 274621115 345437077 721601875 521594627 705561021 435380805 198932363 421255327 736263445 944340845 95716775 894129269 936251433 442028263 279603779 849329331 238737417 466282615 752642081 804294635 33772141 982264515 818459437 121930779 289024691 352254045 956167547 747548587 763334881 732583105 221669957 714691173 75920555 346934093 833229549 931486337 363766883 913945675 301472259 506655643 592001547 855434221 357556789 811667383 781333067 387721035 172752737 796596803 734328177 438999913 946945417 138614551 548531315 814120493 122278873 730006893 855423475 514491753 902167973 261255403 540435765 571920855 903559527 985436831 872615723 265229849 834551747 10311165 115661163 457602999 267927173 544750051 158126901 169687587 890240413 17833367 265274993 852958133 61305385 780335555 750386859 613885617 363503981 574884225 160125981 173895741 683079121 509116749 991648933 154878315 89782251 526835209 904922827 504287797 405237109 298852869 905904831 805667453 487450195 585790455 739788631 389376779 194911633 922716153 994033427 402466449 441932895 197745811 722683161 595291303 479656733 934866867 440143417 683734223 652886601 241561515 498294761 854035315 499828115 506494011 36381003 179291363 827867851 7657863 788779045 606053465 440371949 779467035 877752805 228288247 417985823 518729455 900409509 562330309 529542567 41521759 981128737 860699573 670598909 261335345 995996355 839928991 368972985 284213391 466897047 189489221 571921057 678096403 72538201 350447185 349291935 292328119 644568675 191837779 860764357 311613409 834154433 557696197 875216465 313492063 24642335 322957319 644106915 155581799 279795157 158789477 970241353 118369683 379881699 425331727 904166389 178995179 703834095 900462621 917875585 62310107 290506825 572190097 530096883 588487993 95622121 861176659 253826165 833892675 902336109 910923831 273681499 480510875 791875103 534157813 13113373 851579987 446860009 702938159 926500707 562868189 335722343 505867117 428675317 187974677 158355415 278311455 517738439 475568965 684075805 695926177 816203253 727703829 37791693 553644339 334800321 939516831 792110877 837089533 879340695 939758173 344247275 861597971 443276297 365068085 179036607 137725549 210389717 845018485 133158343 851433453 703354333 968577745 472932827 545961305 591909675 934247015 130595197 448822375 406321395 155492285 412839119 50948011 724794513 124983231 921575845 980153771 468356999 394614723 875957363 572606415 655403139 845597317 226105691 839822695 350093907 175520043 390077217 584860331 70485751 21815365 339130935 472399297 171846289 768515779 240819123 579977133 651140205 320667911 803680853 366426979 41462267 987672531 458722179 352628413 172523993 717624149 858916943 393331579 760964297 731784229 578863725 53746757 664609465 444151867 752214333 942580143 969336249 14502401 761424071 734594865 799526661 390853955 642000569 558174251 833042945 706495541 346103149 168978663 166343991 544602741 126250209 359096217 683654493 238710791 479666107 549967189 895304779 711143003 261053003 290806561 150102023 427211589 254400903 739895523 588843449 993667585 950160401 163811439 894839479 997393461 994103087 281387131 80764283 255973615 988494799 649915309 783385259 690540965 230461321 787919753 225278477 254598449 14976927 808338307 68073881 499514587 237893107 564594675 130252391 956329807 973092377 751267101 442955709 803826083 708868165 31907879 670949893 17361493 756482649 625479717 229398993 497761863 248511193 694027533 782087389 895650763 351619063 387594947 939898127 693793171 430891145 406721553 785362285 926812603 295900943 602926501 747764527 928001229 838128303 885271833 957699759 470416561 751536697 41078767 884794991 654076865 946117925 554319507 312418841 812673975 221955729 613700945 137331589 536181433 545937989 590486885 666544553 52534869 896911281 237742065 582074285 720456319 809648363 994260221 245752281 941605525 517454769 287115387 528977569 985332317 150477933 460989253 234384801 942295299 584797485 962704921 831018651 358366237 495402665 813596323 872027259 379974823 806365501 336476789 387112531 903936521 36294645 564119045 642474593 893302029 778145661 243509175 95602949 565998827 424095023 778869971 697958863 589067837 783340039 433915529 466669165 999191563 69739437 155649271 416058813 131056835 2900339 70572569 608993985 169176375 790436173 308275419 394303397 320792487 5021917 483482637 542074045 314728119 775324263 90316649 715388803 90250869 716665309 115164305 364510617 513739093 35034581 313026573 846498253 87485749 665857167 652604495 937088275 110014553 188676849 891562159 128810371 185314417 404026763 726919279 846313825 249049489 153452437 189340089 420218905 719205685 923706861 862058141 362337087 857991491 404521499 792905237 654192013 391291657 625016655 216379651 236491751 116134973 550544221 702837039 493603929 707247609 768534473 582062153 322625299 153953733 97382071 41750765 483079539 38729869 85820407 30223261 233219837 823047079 204392959 400486845 583985753 976807889 173659889 207392419 569494109 839065647 179627411 579757191 845423365 118520141 335137875 957222283 124157553 929646115 140194889 814315703 164643309 620603149 199266357 909444859 547804911 828141263 523855231 175431731 896266255 358435737 915716915 670092831 153358355 339359741 60098829 276122985 462912227 466915323 517941351 88762017 153911959 442506233 357975371 518434113 560575077 800584127 975846761 229672105 630034867 336074633 49785111 601402661 136336653 654668527 172106325 471974627 120860453 815900665 737032649 171034879 523348949 464218643 806341571 568260729 512481059 720295187 896253755 674721083 425484345 587677237 345189583 518758677 611857513 754249505 639176647 983851199 687703601 863176929 7427859 171514079 706736177 117759211 266331719 383655161 791926327 991442463 432203431 186122371 82804789 410276799 316465687 259045329 663402309 573415035 88478247 38985001 302923437 151986533 841064717 795849651 31992535 547951357 387399339 50559615 692992087 473126951 320144773 573970821 70163685 584991025 209255887 940506283 584457321 470835407 404218971 102850741 927793643 370040607 597273003 989728855 635926687 369887397 322139877 897914155 657520865 851762001 256714459 801832113 480507187 167561591 747200257 310515025 631328577 238419667 232842873 786944863 215381215 253603723 728868615 465687569 148728583 514951471 597778461 448146061 800367323 167351727 667550161 750421719 369837737 448061547 930221025 510865635 463763173 562653993 629987513 754523019 504444711 978867479 72162915 844716941 337099059 74987463 82458521 2222743 30972405 388365369 833853113 257647157 165814913 968063951 196554955 969545445 348525841 246175067 480416893 95561477 95092745 939431439 526301481 516491743 428948211 854078087 153057739 331417765 722346885 690873293 936900621 651510129 222775447 67393611 278867773 392384065 191618861 461468373 165110609 207081475 294746483 508203947 459936235 476571011 983009725 686798193 522414927 40503933 253852551 539742773 265095025 5946515 292364401 953812587 91751651 494820943 350452551 666494963 719965671 933455391 716016895 84691215 536435043 697477981 302683057 359307117 394989545 592591179 649893793 720706339 52443309 1384469 543582781 753686445 715036303 223182791 507298581 464833267 427287321 548232029 402163941 374044223 724135285 90952121 936066707 532885321 609753983 93052067 475240485 459127595 268462261 162886605 909754323 429299565 437415229 683548625 548715253 236328189 739860711 523754285 85671185 476845869 77713963 404604749 912945361 580107453 562063143 825231745 86976263 798262481 425477795 527552003 650808241 14323191 534427407 82163957 79506159 489413923 866292095 186884959 821766159 658317491 255218871 18822707 138575491 426742637 436111897 935173449 373610725 664009085 855156409 851005029 842345979 3280759 556698699 997242923 341546927 65662813 918041137 962910003 424322579 781089679 401011825 32642801 470571621 664007133 579601081 549291721 882409477 970203773 702727521 610775809 387877761 267049225 164976745 445068751 265267083 682782089 546383481 987086409 398861823 922897769 81833437 752495473 900755167 805379713 165866383 832135985 411279703 687399945 580108333 661568857 103176379 284048811 527675649 965367971 52090757 94948467 751404277 339586993 381765719 598903763 799520165 213582859 780134143 566741165 27987023 859166497 10727281 859222085 503007449 105501521 529494723 623237445 62641363 178327767 503908415 488522439 250024565 131870941 244385867 812394309 421762973 443566711 737457533 749584293 156805843 37045661 680738191 396395573 811684421 8223281 65961571 9023915 181200077 516197115 468320009 797060641 858772199 564832939 75105967 161871903 17977789 643378909 55075763 515696017 597459485 704556305 664226967 823193293 916957565 613171633 124355337 34395535 625261311 793428237 274569945 911516159 297138791 180685917 599900931 326836135 393836839 665653959 656786603 219059327 823231319 858453585 632908315 228616163 843066547 360569067 154040265 900811159 286848931 463206257 472319821 117088457 115681847 411290787 777111147 660331793 859691815 362056233 363857425 275139433 50820819 999042967 915852623 518605111 79597119 961989989 798943841 342253383 484846621 258249203 545525163 352289491 153083843 109214349 330084537 443870323 856143407 281710689 961265979 478796077 975673099 681241995 358913041 398476657 262194085 961756683 98940473 418542099 157672949 777397449 802121699 381316431 848957337 646063257 381706079 66268109 591739609 398640435 856287275 899767703 286031779 708227639 31454183 355690275 918306961 179043375 230755169 398668881 939853279 589863821 265054089 183846243 116321399 950478763 415154303 413904391 40146151 274302921 440206979 569177173 419605605 628074511 256779009 956523461 178263507 710387345 759740811 978410561 560693429 374313029 655067871 704038677 776425533 671523345 221340125 187038195 229334081 272909753 963315859 185521661 463338049 715025649 300686643 295142583 611940453 994891347 896699161 266895117 786793593 833783901 614276551 571890259 176690423 395435643 719630823 895854921 178722301 700618751 739777617 590426389 875180117 907196193 288593661 349556801 431926889 107983873 865671181 443444163 185309525 763838889 223561423 620914169 526879191 624959243 177794741 546001833 793623381 152722431 216897115 298995455 705247455 95094345 349555331 200938129 32376363 941472911 657859867 699335261 378836123 692422499 313140273 710969541 111441461 943942209 534645509 971085723 519322793 429101703 88560889 201657103 578243147 162079871 667337367 132105411 873102109 355123803 751101587 131245753 6319559 760987443 220754633 196978273 321796247 72949259 389675837 750979981 477713539 299626697 692167447 318046589 219711021 620727615 668118445 722445781 596111065 957798953 301777785 763324323 896779129 301421091 955507487 422426715 959028643 752535227 470566505 84117211 593323159 730875233 48848715 817349737 794604093 438437999 825549027 921063857 416558113 295302179 164303983 203712457 351754877 14235561 254709853 824287021 191938351 593368593 57966401 836385477 458810047 473200981 433232087 670512859 295812445 970238807 89705727 304539173 449164767 490738399 242988741 824425667 836021955 327662751 2833759 882647351 270441779 38913071 804272933 952828271 99976189 373811473 388881565 542122435 184466073 200700847 748716399 250785771 879085605 203488857 965726065 542510609 205387369 753392203 372271007 378537921 972037843 573379745 685135641 456858351 570552189 132576617 635502125 91290873 263678499 969945747 588513611 617343395 765374253 536287479 309643795 501822493 576539309 917207383 977679941 177444347 28028759 785520477 867775691 788418617 225358221 472280729 674864829 12963389 164630611 294890885 327955537 523057877 49518171 928302723 548890095 742880053 524519677 219759321 146336029 909592573 242726197 514533821 613169043 30509615 671614123 956734789 483704363 765531193 678657199 11380083 761034215 275463409 291156281 726121777 343262963 646511251 848450535 813700943 312356257 152470983 716830977 665742727 509325167 471612569 118172279 312293753 442988541 3543931 221691103 478013873 988714521 847642191 919562359 498359453 355564213 643558743 602826281 53680537 933630445 764203075 130824835 412919269 810587651 581487909 78991037 160517035 35555427 31521661 287006645 606309115 799257249 633447215 241825011 319673037 21815159 732706185 590174629 681612807 402089927 949989439 983127459 714837613 143176095 662621297 279721071 491551669 296871731 226479007 804955691 30957173 731195867 990674107 924716715 878571821 25745691 725564185 467611747 698551627 430175135 406245751 606045045 496633373 444559419 623808247 759750309 523830749 960731369 135931945 146733157 140150443 911387597 598931971 277620171 57138065 499735089 458864863 534533015 715082627 278851465 519892869 88937775 505193045 498715761 248210467 630665637 840262093 87131565 691610443 934309035 868920467 348177701 27420925 190052263 110826805 63585007 664180637 696205467 553767217 756896837 953619191 194792247 999793637 244523147 503181635 254127061 307252125 719169101 72090141 689779827 994939015 563500603 213538187 297878455 932493757 148189235 237067001 555498479 833965635 764642361 248273979 181976087 643624959 625176949 457103507 581616331 421297861 685430079 255011745 204205907 471437133 802821645 829673589 273759389 509404727 782186629 738677379 278995521 511085837 132933747 488889515 524413825 9754433 81610695 666201647 252702271 669359917 877751713 832521661 424029199 504341775 882955071 369863275 378351909 112173075 939225361 79184053 4272993 755727691 548730791 3137923 759750477 889023661 486812863 939500833 132268821 612688413 919764025 533020737 318655377 187604069 316127011 619049221 747021633 1846835 725626543 553700337 290747723 438532385 770112311 973932783 774003327 542201523 216504641 807910489 352200789 317572943 399460471 760507881 619004395 593079623 129681067 700300741 352997129 767140311 756766939 332812155 404268319 321332253 917745191 24439039 216519747 372425763 847586013 737017775 294231091 589797339 784097647 942528337 756160857 309456925 408179577 820143889 170286019 512283563 843967165 431650437 271859751 131490351 8221735 909123241 159789799 714209083 209214153 378449635 174207753 99090245 139216609 380983811 6357307 8581297 406218449 989735225 284785879 938579143 202538531 164733735 388646105 136586937 596400779 354816207 822913769 285871775 775997669 69694625 219867225 309241467 627147315 188560239 511805725 137556791 154180769 731361657 998184663 387737507 77876867 908552035 824237515 19717499 949410131 158139193 433934315 204494427 186189493 573124979 363190221 881456337 902564211 759521261 986996657 421470029 906738305 741674221 563969661 547481895 333526523 316295711 474513089 194527649 784494629 774450583 448694709 407998181 276302951 565471447 450146359 660480259 435192407 75209663 852511183 468578037 331446447 582996895 648166317 440289693 926882899 283546667 159524773 678732483 18381645 609855619 619040571 479666713 249500627 980192809 153353363 633506359 125798717 569997323 945327485 282506655 946987791 527727999 571062895 7003579 930074615 554788675 289842571 462867419 85940421 528294521 125406103 799234617 157705077 687248307 942757121 262633717 903796267 44072931 387957985 75763995 529804851 323188581 791411703 674025881 33017085 604539139 348394411 336664651 58657063 559324391 317827337 999454961 983822709 925642149 294679499 437741621 697611217 191365949 966098769 389890215 426441805 754785811 34616223 771152833 720406053 915299317 339510887 697160419 425754303 850570519 261068799 364167257 97890465 920896791 742168679 255432275 84586627 185465851 486589509 317877735 969634877 65663279 495742953 207810587 19132885 928664713 881215563 415089367 394589813 443510599 427743241 504910315 91749743 520037131 246361707 171933713 790708033 967519463 687422049 763204073 346666635 518613067 297667967 778239743 266113307 456606745 381238025 841522369 233785059 588964755 832278243 177110923 651521791 205196135 43276955 284346267 347168433 879889581 994161773 52326431 172276837 973701087 388256309 653301285 704031405 782373859 528926329 967103397 588666183 447671557 56113517 769499269 78616595 902836733 554509795 144440201 271677471 634087 65163869 990029157 707752605 837256265 602744321 1797555 124201449 811489295 552935329 887693299 27787909 206137487 286997681 414830733 72148509 208885637 701886033 475365845 506821253 21655831 362049099 901257475 733876407 864054483 215753227 945518391 765856215 945464495 362698153 95815291 797462575 347799557 80171235 517829825 357775411 277952157 202186787 204473059 867325311 19039139 66698105 172969377 651006933 808762031 980197783 575992483 239735843 169421497 289647329 169206651 655135607 225290027 604793437 771367589 605297681 940057295 161272507 458773631 377460819 704629469 552485713 272250451 291929033 553526257 482305821 131530067 678533667 202798353 651861449 442987417 62911551 403613863 260968611 261054243 636016415 15151501 839265185 251363039 8576753 416743933 462098021 722676633 9394181 707311773 425513267 494343439 201518039 754232699 879718399 247111903 700216843 371885835 777489243 435480467 221507947 311156011 104154505 947469213 437836013 617935393 871366511 717574229 189882537 149708697 460691359 912371967 943278821 257857961 191041869 994386881 493113097 584944591 599191385 568683181 975418029 801823725 787727693 333024957 10058375 510005589 117605971 314414803 562943869 621993911 709362759 699466423 872874395 956238901 665232551 824943643 588301073 234430033 268452249 611637657 332053823 667230459 25258733 828347823 93373861 328597893 539878683 469574089 154123501 386567343 410674753 306769719 807832559 95155101 741950759 600993333 59558049 637469917 307051579 864505055 738116905 370108771 424390295 454373955 601437395 906227085 886270711 132358481 562341649 636550687 72758981 78172129 246889087 530881865 239111951 372505015 89090013 215274911 629134731 411123577 390382363 344256797 475236763 895902137 171667531 268156459 530739525 241389041 296785573 650813587 11663415 124403587 607267217 320748171 775015625 147720887 356102551 524059059 269990139 222043581 116681579 11976717 992791413 9274289 711765737 426458375 69436547 732103573 866311187 326741623 3120415 422765389 695265301 457904027 434628583 659586225 663905857 966495255 330640421 51129461 550220565 272978167 455547075 149510971 162020659 705667507 977392477 528042639 247449189 536765223 227439921 778540001 608026271 981423767 201968677 726089097 511389437 958565043 607534025 922772937 83553473 889630863 328919125 197593545 868468823 35711143 189023143 894744735 755910227 946336737 548269639 366406207 706106991 110201995 786314339 879186059 228419727 373673305 105543893 174755407 332815293 100009577 137169945 830010937 464903469 77568577 794641241 665813477 898538811 240187597 95877475 795269843 312529515 193318499 389483949 499902829 50873445 331210945 111337305 171183107 575294207 152860171 149181483 672867279 632871219 317525453 76531605 68456945 120273957 516447743 965460911 155786869 472797727 477017595 31376949 357737801 314477975 946463115 461491599 310946633 6608421 518414807 468899277 512553781 522173839 607702647 675706791 211177653 887174333 113121897 75659645 107397981 997204677 614655249 8175699 325140389 857618913 986785597 474024155 415014893 272309367 789375521 99630699 433922433 16921101 602674267 506221569 318694287 876508251 795446001 306527559 708474931 561637945 42407503 220378507 347436909 54074029 875480907 228884677 624352805 941571039 213764129 429325971 570626863 798869031 364344695 216190269 910868547 49474299 845260125 786346673 239640833 272570881 338979907 834091913 93282291 962636805 41737227 966895617 182739853 556578809 343272183 221758723 157762851 656718839 673170613 34606877 796908539 767845957 302886235 621766021 971283003 539823693 59750503 220529949 142894583 746977697 832537021 87708009 649658919 805418239 900084393 909485467 966912427 276538695 270550243 219698057 209960013 928427655 743967111 618392243 618318271 891714801 769355291 825932097 339873435 222664161 638817673 504033023 263180639 729129177 981436203 182730855 892972921 915582597 958305723 782308759 400628789 584412599 857940063 323044183 985189329 665435245 913611685 511745047 391665259 139834057 868384897 930317037 545804557 701784085 322915155 110362777 606647977 205991877 545518301 126644353 845790999 471915637 3637581 329274805 105634843 351949543 265217337 227234283 919732315 810197767 249792669 879700613 563588203 788904681 521505249 832871305 226403777 868225479 187648207 123800231 660143553 672667395 281564575 284547635 379894963 386152747 508554733 589377071 318452937 951596787 271644093 770614083 585914139 860619315 135036031 57851837 452648109 817354479 747375109 680001683 31784293 100529235 102625679 612530279 619597077 957777331 845891777 949595773 298399865 654674825 922208937 801494471 350566959 170559097 345292987 404241371 531047361 15190093 668315605 511599097 429997727 777515259 409784637 265602569 57068839 461117339 262980511 83240343 302628757 236863857 605730833 815953629 587762453 701255403 625745679 833701305 846056631 835964057 701026175 484204211 874142839 684916791 674040241 536466427 898372657 750128041 357048405 454364775 519789235 70612475 649579917 214453877 936553645 499691101 729947099 629588303 823416759 644738349 986105645 704180163 876687699 160596207 977286617 295479113 606921195 267998541 514677661 592827135 615879633 532933145 3122845 575776429 524255291 362003535 390901351 119018433 950392907 900900627 545098477 183235157 833113101 30172337 689693585 942661669 241521 599980443 782993431 255074713 283912015 724536683 819107755 144817859 740762729 130584039 777172449 234972759 575003241 632328185 304711097 722342071 137147615 999934643 368959129 949289191 270847045 187477587 47830859 289308057 189886717 39245113 828701445 232910885 603195469 89478387 859560037 888097157 974380395 295726899 206608497 26456935 269813869 667321555 862769047 21066517 446612821 157886681 940596393 118591113 609845517 474760559 304393189 961445217 348536421 995640553 396236275 674750949 775581463 215823039 129770205 348044805 678666947 500372121 104626459 565835351 253864437 252591935 31778441 434856729 299532059 419542437 449484139 674848053 566884241 887026661 468843889 354723641 674143383 818525767 932029613 1344605 716475991 208991281 629676191 244850559 661986017 275956023 877663019 635000871 283369775 361835543 930067359 79610755 426060321 223936435 46518703 9323371 268809603 806813205 976549497 500729183 67808003 388579185 646133635 104553863 509887805 387005731 521105849 455921585 432209073 488351405 749160561 201820755 538754247 786562235 218751079 243708815 214851795 307487777 930686147 946193449 352170253 152434393 113553423 292229267 346844565 683660039 231751489 181761507 448185205 28200437 648613561 420399321 301515169 313268505 900884281 19033819 594280429 302117643 958641393 838716665 392858655 758664847 189833331 673094891 890740959 338847635 144592831 845389841 693027515 27088933 943101239 602454127 604762929 234102663 293444269 691996597 251436959 934797591 483411539 153698877 758160465 958855009 102936519 939230725 264403829 319418651 303397135 847586225 783273509 361596445 428685717 755851669 849891173 923256427 707146035 656289447 633980701 762687795 881078563 125558149 577071387 797574085 400284427 669180279 249440797 906553501 633581051 61186923 165695169 214147167 183045475 198078201 165406865 644248279 322493475 25054049 60887807 242988535 952337281 769324171 338555493 562803929 241070121 770556933 602984193 961987267 166020403 961993733 819006977 632622621 483865367 945447019 579364465 565279103 132414655 477580225 912237647 60436639 958026869 923175987 839625081 643727715 204705009 908706457 636391609 216905431 573258831 951440755 370295489 435440685 521664275 593433575 525371177 622049217 326569261 824007877 519122293 169419795 627772143 64014725 566524939 336408787 979138073 506956101 192735549 956481491 53101775 635979725 496269383 58692619 42657951 552040077 336541767 696109731 590444413 271060379 624176967 965913571 852937929 711476405 452255545 676660799 972765763 308931653 275424501 208149841 244688157 135851097 114226493 527376607 169058027 188877223 103475131 487696851 781595819 7165073 950763009 285217089 812774335 886598173 145629317 534441315 702784759 524775161 682482603 244893339 807952777 152545917 927008443 689965687 233906705 499049387 851709159 761277609 321705363 618124325 271897159 884657165 941939325 611199295 963952349 123575719 722798503 421625069 818060179 160964511 213979977 915033295 41789755 39564873 411665421 975262511 553071499 984013091 695766015 793273337 356839461 179782095 281446291 479983045 993119637 847321879 203489447 33133267 825524299 492922865 501099391 55211017 301702047 663104629 19952075 563413495 537491155 614567655 329165727 64681429 344010257 982731955 767167095 5852801 530948459 218188653 389795387 67991939 895554519 764907471 180418613 915967499 108703287 8719037 638137371 213120493 961314903 717820993 438052107 119528621 28194279 695679633 848079499 848467055 19927423 634583813 891764617 288916737 7270305 323796259 278117719 782813919 626772919 490012051 317198003 976598053 884685585 178485547 520410821 573397401 820463081 857530341 547329049 178009519 109733471 322330085 936628129 979500409 286348671 914705527 440640959 996233657 376868921 312896269 724810039 572430807 373505637 13511233 259928627 300345055 153282501 246268633 896981325 974045323 287063809 628578493 465823871 13073979 571838637 303627267 293428271 675870707 811418177 593792487 617941035 415862117 510180127 606055369 847102119 290219751 647840653 594834999 846883649 722229369 845507009 149274593 368314367 315597505 994755793 329012903 736206413 492533775 801884605 494303881 644784641 432250715 656930419 243083441 898240599 172056899 29238977 727191671 203945719 759969039 566137697 678281809 777365739 945557423 620992243 752794343 116826539 283248823 255080707 120253953 162043921 814536555 153938175 385774483 959334247 95497645 894412611 268620983 36139605 174711057 110953487 382656179 270741491 559287245 694073483 443658225 874265279 190689215 412532171 703730437 428493213 972842861 219766727 896660903 382577371 707863305 431563359 38955967 522273069 88935787 238312029 31296597 626731185 617687311 360170613 702528669 631824365 646451485 927471675 719915251 490292427 525694567 508241205 356631513 726589349 117969505 646121929 697128699 674674229 548045867 291533387 142368301 193997475 379260303 384088051 849403495 123294329 576481273 369723873 583764177 613018029 455833471 752578591 654815155 394146719 210142181 837776031 478310785 844310545 173297551 173794363 634420695 98115121 697500303 15694771 424011385 405526933 132662679 738657967 404498511 11926331 83496715 919567043 416674927 492309127 923824625 52052581 716544275 381973061 713208057 139173881 756461727 754241453 353312631 827275463 388821149 66180955 853327471 169808899 297289409 897091155 569413509 144518081 407899111 949696261 751132679 549675015 865023763 596284995 414186993 664760763 440506477 318607437 10071263 111703983 878063179 480180681 74742551 743669151 944100903 735394497 965624459 902478633 15554981 2294699 968290259 763457239 920849297 729954405 519000363 747139355 801695451 343646517 911009659 824011085 356156835 10266055 297675605 745719985 883299879 429490225 679443949 45847917 401497559 776439791 622311971 962443155 617459267 232070377 98465663 602454559 287221799 141701225 662448433 976908783 825499239 775410727 628417295 689927373 842211087 104937791 556432025 110714475 859038801 528928565 225033205 384876897 234267015 280739063 325628659 785433649 327008311 504692701 696381451 241793605 235358475 294964385 717579099 233430255 187808981 304039015 760698283 663952997 867509649 845136833 203143529 655572171 88003429 298118049 299250607 682148649 666288537 848853093 231823161 459512943 892005791 431036627 253709169 209708155 982624791 972081943 102320485 762982153 839368129 994623431 962541259 969663685 450224777 302554335 476860677 152479807 534453889 613970629 363930137 257697521 365912295 422377799 499558837 155425853 406403355 685916315 195016753 569617003 873054123 752995419 245744013 604716459 389463881 418540175 381225583 137898779 636034001 276879013 561940777 63640503 509254981 630722159 811747503 495547755 621786833 31495981 574540705 476679 19249097 762335361 266449737 116948549 819723941 454951293 149446801 508935877 846578701 736490899 818404117 531114771 137359817 622118305 559985683 916968607 164056525 241897707 349185393 135459265 38748981 384031777 194015935 879144635 171457347 251837013 712714805 281645751 605009509 910987271 689194929 821794501 210234153 988963357 589377467 972574943 16433487 978719969 575604353 270729957 922928313 684776201 610490589 245872547 122172529 706864307 166284619 679448519 253072301 350588005 804239605 552991981 706246853 777881611 503743657 814309013 178137661 436039163 294396381 909627177 79714753 443391475 564270003 537867001 415232293 690514453 338551279 991517503 29516131 614566899 769124355 139009819 660898719 955893629 839905285 477659289 940071973 263963157 284962741 106545063 796100453 306644861 411554171 483969825 118153471 615660261 230080867 534046151 380288689 311419359 904914471 218236227 912931691 305549163 387211815 370170659 943964221 884958957 698481767 470086117 813239139 347492659 550279065 282264553 68340033 206763377 223517457 324472949 3725667 178807365 651283923 735207101 66680185 551017653 473858435 95014107 79572067 866944301 826279281 842427087 375537439 566954625 137352085 292928385 683390941 425102067 872120205 25211333 288821485 662769955 695083425 113642323 487168973 719677729 761000895 922406347 321551389 193521507 845724289 813793719 217139369 257177539 84995619 295649163 149886055 634224265 374524303 433402523 266180977 56869219 657772369 935585837 12371465 671244899 238940325 408543335 345486233 932061961 786845797 764681053 57367993 170810679 271483933 528939015 412457759 556239935 666471161 689835333 76968627 349726675 578182353 773222625 787855485 15636753 166549797 232594573 123720369 165593469 645843997 385558243 33904297 750259207 461622661 611560033 198638571 218129923 316275671 896311925 562736417 195970605 297741617 920056939 455612191 631485867 248116315 4246657 566728671 220674315 444961733 716944085 22973315 355529025 498651781 173562993 936722777 113073835 605687131 463276615 706572499 594688527 73459117 197122097 874518669 342155675 426917003 14601197 513339721 192740321 304315819 954861607 102386931 55866591 885737071 775976305 526019999 167848189 700139741 21893953 198246535 29961221 582511267 142925563 586582799 4199983 844310043 250743527 532350913 743970069 271371073 901694263 768223569 508237505 803802303 548933381 615188379 673614491 960612579 926355791 206161057 615362685 261975203 331329025 609063313 768841633 599824033 442448621 25789371 262941101 536705057 797034697 921517979 829693359 571874837 158188601 353591763 912893723 215462931 170361541 678250547 458032335 975575387 365469151 467824297 952402447 999296979 429927903 543572563 41267595 521785613 146537223 610083957 321222743 352283965 498129025 346173303 190031089 876376643 118169949 661850607 384835131 319454375 672696727 222606231 780085381 65840793 668834059 934043219 750153349 162207471 785967751 309011247 542296661 234745383 550217915 616043869 359695485 104579947 201068351 398252343 971901163 316062089 875372439 750165313 951151089 84643833 207537705 364562729 839549263 18933721 383963463 469584575 346554665 350380785 757077547 3960577 160059147 408361647 619468279 933140751 432052973 658390315 436164273 875970357 733194795 295832103 265134159 201137641 960738955 531827205 438116263 703833285 285356855 287760089 96399227 744984457 232697289 468831063 427102069 11596069 743829819 149186017 445892901 68023977 979315955 101350779 726533381 750193747 933332927 526661335 130122103 556397187 515397333 506276171 954173891 203713223 986747599 115899351 770111769 201212625 832923829 108971043 76902805 21694845 985714419 656426875 306600759 778174413 981958751 705594329 982826729 539116523 223275831 418285787 357287803 428436015 513542173 391454921 507176615 711934993 343398691 740764051 337583629 831831347 550870203 461930959 300131897 59137635 341262017 667443131 399416729 190748307 601380223 882517569 815909257 742472671 516999837 819490287 749459785 938285705 82196021 269242365 976951555 103045117 561530817 285671753 572506311 790873551 562750759 957235545 425552783 331929785 638392245 728791393 262957115 604093853 755519263 518147891 676096663 971802761 708612739 638713425 8151633 44408241 405408103 936665315 590262789 349745771 341943991 198557879 515994675 898631233 438347207 781123651 309396035 471644121 683787609 830682023 1141641 429745161 673274509 429967277 459084349 739542219 157476341 125608641 502365311 506266689 737693313 801759739 85151579 848182715 595346579 580252699 187987391 72005287 602460397 567024263 124947335 113102755 47947709 389102159 987808881 100938099 883340697 609846059 166064939 565074431 967651967 701766777 328576067 112986461 490143443 953199171 978807601 796915399 315145827 66006067 305390937 785282977 138513763 347083429 546718981 899582069 274790769 183989141 931773539 461103609 493214353 558888877 369635471 357854213 58395187 940482363 917038727 662376095 982866475 355779383 31698489 683065583 840111029 438377023 31910769 947195979 4307063 854523801 228774637 641675567 616195455 805320761 4569419 782320699 198918211 411097521 666825237 876450107 727190429 399649091 281310909 763922469 566400213 509812951 430951325 811298321 716643479 774989819 79398131 999401029 424056825 950831333 55548397 775113003 678775161 829891957 20206999 636736341 509408249 979583541 199570415 855722113 482131403 932118353 755180243 158012047 526774177 317414817 541878029 657646221 163755415 964247459 979024207 90428331 972588087 50643075 808119601 192120393 875593577 665370891 475868727 935740647 227310471 864552117 136530631 208993585 617954379 718101151 380168501 377959161 809841627 836282513 316822711 405946685 944677317 959576059 654090353 895607069 417776125 962492145 51420779 763152103 554607073 447972151 727644823 463571213 918759735 46351153 484009421 365626155 35019563 537267951 614843089 766429443 386257747 791719719 797495625 149416833 950343851 463698491 706620615 128582071 746373787 847452465 64321989 834111459 194675181 226627767 158971045 523170407 422489049 658364965 398271663 315125965 344744697 94323837 193821973 201634505 735042645 915596641 940862959 115135799 250826843 524626469 882520895 104584985 990093789 348075709 410199023 125583003 603488027 752664265 808141521 301843473 535869113 544153747 513750427 937245941 211439301 339603975 578042865 907636969 323457459 470151101 934860379 597929149 430334303 596640243 283755849 946520927 105362963 115094933 743632407 423746797 690246521 711440173 536729095 625755561 243483047 61296629 41220413 533351169 732498457 700008139 837471185 218761349 865756341 940083511 369030327 166633201 803950281 785941095 118390993 198610729 506429451 558341685 890148843 612127543 895763349 396503071 518597557 494444367 347538159 107241033 483406023 718170831 911107845 509507207 97519011 46363957 927542573 533147471 715210675 669215023 374261797 215959743 128810055 927930259 162339089 943909789 152265113 979481687 602072701 91398237 678208969 678772641 696106337 685010961 888681955 101823163 139672601 301481339 960619735 33323803 831598953 223529987 979918461 171584857 539662209 949171381 938720919 95238715 799685875 502755659 852870605 945035179 111572927 351958309 684066483 38606779 747639883 925599303 329428161 147533223 103774303 547358307 780634969 770944211 766670903 507905487 657307329 701602763 531557739 813664395 348144431 354301761 930269699 893390141 998680505 4707599 847216491 96242229 560162145 683977531 467684217 47928427 131045391 781309679 107282281 135035517 133672343 173855613 967005411 355047859 250157233 199113059 779935473 587077883 250278397 328686913 327793929 996275695 311017223 941893861 558889483 905298893 102166845 169591361 738901817 828178041 150103291 680196721 959764803 963684231 790244481 19183799 146236219 147095853 43332855 690238845 107079073 173240135 243031409 220612955 966011225 621467233 818188775 56462857 40228017 491900071 894884409 280614761 566175837 653549811 873773875 325385353 102001275 950194113 20204419 4307611 664090511 39129145 927202499 713206779 184224649 418168109 756550775 889434411 962182845 23108113 780378887 891485143 75623655 322202117 921536705 762631635 907557933 991702739 863193315 678748185 285472285 60078053 861286027 592268747 629708461 945215831 432683971 874116409 843306295 998915303 493803135 432086737 804958083 840245499 326324627 596426289 675448511 71559075 408109509 541294875 321212541 554548119 327080635 833654907 458765755 569842485 939014153 972931429 848191969 767382917 642503717 609900563 87761851 508807479 330006387 391910121 541319293 620024223 56838973 234248561 530134723 698138561 752270001 528500577 899383703 158820161 103884265 879995793 627779939 618621805 267855593 995525893 312492283 837674561 397108887 900436459 758186655 511017817 835323845 103983763 666878707 785857275 30956079 590611577 880956933 76772633 798020979 681110337 520755785 48378955 945464347 365634485 154992543 817128653 880109209 408287435 978897481 876974983 845432389 116745883 547062773 536589067 283619939 699814763 36208825 919196301 28780313 852516003 335350289 773962989 948340345 341885401 160356325 906958259 753257855 35646921 889524607 306118159 795335433 739829587 799013527 513414103 993934049 643577477 609150535 368051339 850759353 956277135 312784919 941227601 225406249 793259473 983930101 854020345 99109555 59227849 208269875 369378555 586744513 142964007 705972881 635640949 371755685 17257915 181904179 662794799 294543509 647965827 421017255 231917207 335566517 428179359 233581537 219772615 621345293 319442013 781562687 300269947 343959439 653832239 683041671 425631261 125286675 221770159 177602277 931710907 898871899 837657507 16289773 191673867 291578897 679725557 513567393 837162607 491653829 765820089 457411425 493229805 1962481 174433063 353833981 676193587 335159031 280851623 146971307 794678169 90386463 4127169 232656133 622783007 48846235 12412201 238099731 920627051 930737283 395022009 246555713 218612687 316523993 746401399 965650023 988775487 900901255 411254157 453011645 957777243 7578461 714299215 62795501 510152811 546005525 880120375 110011905 168029791 573448273 489194217 935936881 455494861 539769239 406187823 914197529 27992821 782931805 480467709 558674239 376263357 703988729 626883439 383091597 883887541 388170669 487996359 405872669 961739285 996717987 7661681 825340265 52548539 88280811 637990913 501280343 19505967 350817663 674032689 942917429 276753055 689761087 785644773 649681591 402345189 108276983 536910119 351677181 582102141 844289879 704048171 831176841 650716305 967245813 875399245 485083465 764747757 214487127 273382417 895200147 714173453 908783333 697636639 101223715 286667275 219830767 495245645 850315297 615168947 85650607 734039957 570500119 261795953 326360133 266137883 706644733 965468765 305846973 18166313 264759343 1194807 869323781 274915125 884323697 604793703 816944889 606688215 679270897 556543225 22591065 356255187 808309063 92579495 160728527 450037783 215437933 400170705 875984107 278629811 758400201 63735931 47861285 491898083 341241639 205812309 762793955 84393995 236486847 796882873 135493481 436346039 591772719 142449573 667320813 661537433 350498423 928853439 368510851 825421451 213329417 409550679 336719409 590281107 780455865 771508837 483799263 89210329 251198403 294053511 72832603 237875635 673344719 565331973 710716515 98512541 450431719 275560653 10639509 202023991 664321665 807745913 568056701 851168591 876064637 27161669 526562185 286816983 474289181 27312155 7069205 728724713 889673231 411634567 111515743 753454539 64793449 792292293 283185813 86715111 981663657 456710575 589941955 479757775 167818419 710692561 708376551 859075905 103991765 593810519 958221023 767381533 101790401 971928089 302262133 451225713 653242521 473549207 88928603 820947567 483846881 516838647 414337835 748707187 517333637 154022923 472440677 184878847 655942361 809546567 741251441 228302783 138178717 596475083 435510945 443214981 847922935 592236895 473190705 27056463 943858799 881052531 263507775 62374463 394698753 540885533 337998293 309827743 397336581 910666779 17873893 615866339 797437251 260605655 20296521 835462309 615121895 203692385 878298047 278716845 649432711 368694123 965062643 974489313 400120609 961381977 678532215 426924117 399456791 177238065 840741569 781955911 393803579 767596193 750117429 130827033 151340221 278384643 749313819 991457365 817663039 919946323 330410405 429266353 287232451 416366651 908336365 887686403 603185337 389858823 3237873 463872597 884681971 893034675 528034461 327600333 1791921 609842393 781396675 57509313 835137687 813898693 7715097 540929963 74538675 362977379 409555011 677976879 890436473 986912843 517130185 628190231 544664519 208778941 275965213 331490905 473812707 708703647 645981335 707841805 739379065 264311939 158717561 4340599 111629983 221587357 67577325 922986501 955475153 639141581 513394693 183766855 32273143 533105819 825408183 657260793 519550811 271582519 498968039 807291135 951081651 398614903 898198621 846723171 766310687 173144025 148958921 436458587 622139169 760639879 723620041 452976447 386137255 399956303 514154969 699602325 816598537 104756393 248858213 833690373 904472831 759499443 414987965 6224231 69473715 560531765 709397019 772028849 448616369 740827549 311063969 239650569 398436077 874660355 243637079 814668731 666904773 181840425 617778477 648889401 103874301 883519601 833569279 278350365 779026117 761655023 890678413 586446637 240070577 745185879 119313537 304936019 58726077 390901003 597718891 683041953 452787023 764232207 902918597 653290579 105468981 73909781 471935473 550609359 435001507 26819699 576107831 814757533 949892409 136990249 207743687 117719151 804891385 97971423 85522109 809343525 56506449 103299553 20056345 448334015 27818519 410029865 25095877 307511401 127420551 736713301 621560465 236288885 225227337 763594157 273834551 106671457 970619239 832213793 483794265 170546127 847160409 354454343 74491517 514416521 726784763 829685341 507450393 911022979 106768273 157884237 560109443 405142999 763026379 547761317 120301563 49024715 123041211 233016733 465143215 541618121 834263777 90511123 512971437 31314533 171821345 397134989 861548527 794342745 948391881 706330431 609718357 28976521 463765645 595845371 96394155 239247103 443120269 119664451 783404447 199182319 504292169 575621183 964539597 208534965 351226803 886320061 363708853 828724691 286712095 548321331 64865215 660641525 100488265 109764033 433138239 790590959 437731929 682594609 362433389 277281979 290628057 287309039 486913897 268155773 505038273 617355283 599556415 152225151 285907051 31524701 68873181 261195319 497462431 470026291 551923487 402679357 996570763 478302629 731744453 678559317 967740609 200336235 433225079 484995691 9358145 434198755 836735433 113136275 874896495 742114325 246482225 522713095 384820247 240175281 153942293 96499243 301479537 605975821 305953209 786614155 807085849 415879463 93955921 917353687 528682517 931175849 368974071 720056303 608143057 298339553 494246825 239591633 24277793 967922119 277131093 956533421 600195143 657874681 828630983 849332947 509520355 815668669 143319485 557389759 965250309 131535623 190651861 250013205 390596897 733431401 332310937 956692385 564181271 752108837 77961853 446062163 665654825 76605731 607372501 797769547 443209477 217717743 214059239 835189705 504386753 905192389 135001561 860985399 751544793 87364223 753800381 300664109 398196533 185006249 117632911 603246689 401568033 956808301 97343533 748073913 736259663 591860905 393370977 868550209 723563745 771240917 637504989 655538987 56204633 727599391 239557435 757908177 567245735 122165073 325646585 937863609 258894367 597057509 513131907 914037645 817308797 974150649 952046891 924144159 107449575 104853845 186852135 913564781 972306665 237187945 483791515 384097177 136961661 399653961 135933327 461970923 269059835 371406777 439064053 51032539 213159979 564831261 590011557 671303939 171135801 301656965 450377315 275476773 189366715 445782695 631310037 121906989 737094829 243569637 10152845 680910895 497552757 610252869 746323717 846244963 611728611 194050677 699693471 511443505 645247015 783933389 757323427 293157153 806171619 316036941 999510851 705564391 670133017 4724893 700803479 319887455 628047929 999354635 664490915 447826059 79993877 828890765 914134605 579982743 914595565 688043203 357818983 10903511 582898533 547179511 126153643 789464261 162252681 548557845 592537531 974279173 323660753 427470261 353260831 472571489 151513625 700974357 454387271 329504461 843396775 85736225 683841169 400123237 771469095 780323427 125029177 568560749 258643373 378807317 561548395 171165005 297812411 992494869 755149879 234794395 916913457 76495083 695807895 407906321 783536991 795477189 467664749 521692563 35963385 981946493 633967487 500348459 216598047 765375377 191502211 580618255 59455315 793941029 836016655 624016023 825551491 921690125 437219749 576251207 859011333 344733631 608115631 164436173 306523543 579895641 22035325 543730169 159854939 178783649 962687817 737123527 234144995 32912649 377943861 871109979 282647329 233389225 223834695 574149377 236295281 535679293 59400053 130629417 617877917 218678317 421725845 653185651 597555919 751235211 121626473 975723933 299681435 276332043 182018715 634801303 992073473 598402575 836285115 123752817 166365285 606644379 296791361 708165481 439409301 846261089 141960595 92285919 91567557 326970039 546237431 123850079 433586067 436439197 219103389 98783903 796893701 890188217 887429281 699429753 281668743 855555675 540454147 606510063 705057007 415724923 748104619 270967595 165798523 352939447 629941869 916582533 841591501 368440919 487555585 312469107 34307317 536844361 705107719 427584925 515695209 431995687 972570891 259213769 328475141 356407341 843987323 377847535 75894029 222691141 434176691 521176105 330870831 61931517 773526259 105782457 337105539 497784461 293691747 885662987 119512195 235983057 649512727 621409201 719257877 702569301 668588039 969480809 71143045 616001605 205976083 149302037 271576459 355684475 540133383 854462143 980627523 48483443 180630161 236376219 604432179 974655317 543704397 681144579 420422727 404241907 956780473 818396799 736118229 136106433 132312131 962106037 782282137 326962655 452492599 8220537 958491065 179493397 476494291 987132873 873959363 405510099 630018357 659229895 515484077 340711727 797776745 617783485 541416145 494048233 749131357 775493663 961320695 260722279 368078059 493710473 151027531 945163449 657802711 7656895 21674339 671501719 580036807 425534121 651798077 933181791 546367311 666534493 431374141 988436761 134390245 171712277 102945583 330720117 813562607 425545011 706934603 34824647 435185585 563993671 484507693 885933843 434088287 331091455 994532569 60176123 37644305 672430905 189172671 141875923 963925451 794594553 962872755 237395601 439530867 39930215 630574321 150941137 555524573 902636761 979206687 455508703 760472767 10826441 749555019 979242919 538554813 10959579 150743785 291400387 328597855 763469787 306766039 611930735 234797591 670284473 591461723 282208659 592406335 537730453 983230497 799040705 947252757 912242349 989198655 560117549 885486789 89172849 319181363 43709367 581859169 246066545 959213279 982708199 310826719 827130217 963803797 106649837 67492899 31583293 831304965 860662943 190285045 536413177 882355025 535118973 576152327 823877327 756820219 981814957 296000753 735842841 573300467 694828799 353856309 452106589 292655755 81540075 849263423 112412995 619239555 976062351 368671323 275438755 314909183 338866355 711139013 75770739 687524747 674072005 374623903 366182363 555742241 555117535 424127729 642861857 41012249 339238845 899175085 784150717 154827833 26156233 279637419 264502089 645959857 52418577 886805933 358117767 236647957 301988683 304108893 7339875 969411169 70251993 723649355 828456175 487685117 673078207 916110065 749398889 930895539 183511729 716142001 121066545 647483577 235115777 744082387 464015829 61969839 991903921 540761481 94193927 925899671 451160679 885315051 281375139 946090975 827373685 488312827 835340715 579853917 32773583 848982435 804721739 637744719 920084757 612240051 814793941 259989337 988526991 11929061 220359623 905248903 205960749 507672539 972790211 368699217 943276677 870976029 632440979 983755411 624792023 884909083 658395691 789531537 595191305 290447409 441289639 310543611 517790891 951485087 352519241 882983397 276581877 656014479 169686653 345756875 188195781 669234961 687321303 337300115 997135011 227483679 990378769 63379339 807089853 934521243 922156815 625037927 708057325 601089611 396276187 417800005 609655727 714903781 141631659 540413099 339042349 160840959 84605911 418612357 343224115 550158875 320146403 873357097 21742141 222147233 810499707 744545877 239474277 175536357 755429747 59640363 420431223 674084383 50385349 537864765 54278879 950900593 265131157 938836093 741438645 651808481 698666543 906440775 38723769 670060133 127443203 301056355 697874259 964671697 203543215 537375999 163286159 704880875 44807415 914040493 14162727 807113307 157587651 865029485 358398329 465189553 224213801 364376739 247355023 359686757 180969061 13554461 813207827 929342941 890351319 390962703 160268385 460845661 838444043 99279895 369557879 250219803 449172919 969707067 559879163 766168107 992415411 3701991 497791805 259026323 345759749 315084017 788705077 146799675 49826775 945996949 872091521 905161457 690680955 817421433 912494185 696294259 753281389 656409259 994564571 160370527 347682387 675368865 813932657 942401345 772844531 609856309 47046759 713570695 328829765 521174961 121209511 698368909 940486755 266059453 636391869 916710545 690383245 694202993 991892709 177774785 587411507 925285451 48857849 93264937 111517159 827315759 414070661 593746375 956303201 753667945 860117429 69867641 124640137 733646769 966535009 196007945 998996071 831028259 435698697 948590635 636809261 484871237 662920147 528735091 965229627 137565441 794283665 549920359 559475729 857751473 775148215 63076461 857306203 254894351 361056357 474299097 927507949 793923649 665135203 80713185 840879807 926223317 870520609 612071337 27368697 655585471 205021109 841461049 124221411 162546527 853826269 793982339 460137713 975391351 715649539 171071585 885119679 500922421 26912821 282712465 913202703 181603119 935507755 218350529 64511693 864604513 21772355 500584317 154820877 265275699 958353797 654555203 56470025 944757871 201382047 243809647 896368419 855462733 759494123 549920593 427839211 427534697 545002853 890416149 153971727 372397255 817248183 350555349 380824173 396658391 723446573 322002067 327434759 522251115 859628739 233084729 98736137 956891587 208528147 88434329 598030279 304408451 537122665 203042153 873205691 494665145 390111409 559738957 137216649 992801753 372175491 367678669 931910141 559216833 504026655 268937819 469650951 250896823 766063467 255475023 409870277 421665639 501274617 200542189 858599547 807684327 693743101 489694555 815404689 489064627 671369559 647023787 58891421 857090993 463507599 477729751 641130073 892769329 660955605 656446657 355842473 487313123 390536701 165920305 494845849 175291369 725000587 643790041 174156633 427776965 312290723 44365393 966875977 576081509 79421717 826745371 320724455 567660575 28229977 865724065 101886691 320117937 766431629 505621555 792499213 907781695 947112311 911124491 140982369 480457813 215121035 994872139 969700613 793364715 461528795 856924667 889067583 798241117 758823465 191852555 319756935 475105137 906563805 604426327 238783349 810682963 83557637 89526689 198490319 614961047 959115095 420096397 890032511 510875197 981797429 962659249 786590359 398125483 551667875 810775175 783113813 900209323 483506515 938253419 163620633 160182899 596362651 233690283 906665585 357404577 212554363 132899445 995132943 727498555 924001177 541912549 864645837 826452911 230059079 716205819 516334001 57144271 179696249 907645601 141060325 142116313 102731215 623473575 814549181 303344757 226540177 189375431 98977457 109674413 636745903 132180131 249696361 507420153 276929213 343142593 56231085 190252853 175236351 700958871 531759217 733935525 372745305 559725947 360221649 310438137 939987291 147597487 20862223 735553859 483121469 874194523 818041751 975697923 367523035 437324435 905742075 699592477 143305153 697645647 560104953 10142175 259169565 174207599 44363635 138929149 29173955 168752831 818258803 3615381 258993717 44257517 686183469 3027757 56518555 34727317 740511997 944423601 783472321 748739383 560322917 258160759 786849827 961091389 870437907 159975739 302222299 47187701 581405141 570982949 184636085 921740445 749021867 296701887 7702813 822355 396995767 784374527 57961515 733498147 132870981 245858373 893188255 416500731 756916165 749179987 465157087 389303479 521351381 12579161 72602363 210652439 646071095 588314089 899451819 490806211 197897945 142209539 257309005 266964815 100807627 265922057 433190889 789460787 148098377 988180941 446382895 140078287 579031735 224403329 591491957 770430061 35159199 448049859 764418745 976513599 87284663 454980505 394546597 57656159 671558103 158849389 378110599 560998605 272231685 268615705 180193879 580435057 84911721 555979991 230376883 829290527 639012697 556309837 299523041 666704013 502384207 629245065 255140821 879529055 610726897 232840705 298019617 368254751 292651525 104732303 264670983 189516347 390543491 817430907 781691247 546719757 318938243 485118833 450989541 449236697 498253643 528190345 795469989 849926085 923248965 149543995 456144265 233644005 615268611 422595697 671431451 811877679 536156737 947753077 324640651 23207815 699370213 369679103 28284335 500308917 729117685 336549419 768285703 67844203 634442409 392564349 928759739 661885251 7060315 859372517 667762583 563445691 607222925 647265461 643495701 181870655 776504809 136656557 406881107 525169953 535131975 562210289 362445849 525689239 415171999 178599439 764991189 786299589 490719763 687052539 272281505 479107763 224787185 962051093 460047931 550247251 704986795 648354589 451746057 18034557 694720221 771614533 185307163 937456117 649252681 804119073 876199975 262797921 244131547 94800047 351406479 291645523 755150501 555447377 378668377 133116999 986869989 469784535 739375667 617511065 830807035 279091831 211455349 547698327 668365687 276924621 554028063 464212337 522439943 552094685 935669209 498473279 282076041 414844949 614197231 148640261 749539327 399608395 102317149 561111721 825026709 802273981 247948989 583006717 451515807 34358287 890028891 812625339 359230103 227345487 913842209 586036101 531991839 727576561 26613163 125099491 277827591 18233043 599788599 644940615 883714621 381946681 539445931 651485961 838183903 468675795 921354649 92348523 732205871 995383221 607667253 68455319 60850073 931566939 582429535 118310557 773723313 307788203 366346399 401279095 871616305 790786549 532292899 163874311 994061309 724092905 750048453 822783765 812754721 694417063 591884033 287533905 607614157 634007477 533598721 180282199 479958623 141144065 618898323 430984103 365980507 557074141 30690863 470455211 551923817 233246983 820242929 902762675 577003615 790592935 288262053 461067513 455486777 47370055 53055927 670036127 907907351 485559519 703348033 333391533 823713605 606772939 826838271 205790227 421525817 136357329 995506777 512508589 758490507 623602715 912054881 99079227 42266881 592576067 570678987 893223783 387097987 398926915 556077303 778467521 812203817 8614529 362866415 394667971 472684329 119597259 56055903 406574541 699769065 64848725 597436319 819001643 115878645 831766461 352181933 154264075 311519231 543047689 335063605 47948169 106852321 830034853 258909313 602626725 238081185 665483879 923630219 948460873 693233001 828176779 373635825 730806595 200979339 108351161 155066619 832344401 328317829 327187195 830296983 431515155 162607607 625607113 953544799 146646287 198479535 751105021 861706383 477813689 411165087 828089057 180960273 886813291 537952737 923360029 10608755 221657445 952763067 733446089 401876973 57840593 583584407 708747619 637843035 846241469 844708361 731152591 784694345 257192487 117133001 56552027 877880291 33538029 921436863 875506363 721775617 76511451 18671859 825830925 377709861 42909599 253104793 252768983 338383985 738794965 822983181 546154243 718054073 372836603 865401297 392240363 838929265 7594367 524403601 533974089 694103993 791648687 708651297 483726149 144794969 53387971 547930491 351874409 94434241 166257631 933918145 679713963 870777095 859315469 398934081 924548715 374322411 97177147 885052783 27458667 441205203 962892357 296837859 813373913 143892431 440252393 426869345 552777291 208657303 385602259 548782805 253526207 297759625 821211797 190814035 961187993 910272173 588811687 629100565 62980773 961595315 492638313 307629439 173569563 288955887 445597733 602232091 767906199 848729189 811727885 493154975 598618141 383006391 763897915 518041315 145948189 719839289 536914605 139880683 175694441 261662433 151926351 450299107 881190209 157133899 224742899 199054623 838517067 408489155 345525583 142924571 738917519 157704757 369157639 738282615 867461513 72540985 499187875 971260927 306798097 276676623 649296277 77799593 299439727 297994143 64408119 233836685 233376847 476443253 738696135 570571249 978486215 722343885 479942257 985696317 205428819 130667649 526494279 837438215 794190299 813807643 851767359 353085195 565829033 131115979 210796349 306791721 908359029 226725735 208479497 71493485 98795097 483625583 757715285 106214413 40893407 681378569 818800313 701463137 255412463 581748485 442678713 257653231 960989923 706236635 655597499 300850529 324859507 371063465 862064657 863283081 169595593 559921975 602431221 305123941 608221809 59466483 703272585 730708501 634805343 144764151 311949781 239156711 683334897 827441151 597488075 99673933 129301741 382335861 596920387 641193697 977213055 831755367 783088895 845739881 551819837 389521035 155651753 762550479 772780067 441079107 377280977 214734629 224053911 615738515 510469107 767160233 348827495 953905709 520857707 808464829 158137033 168407657 965785479 387404777 699603543 593203011 135193463 264121061 937184281 292346723 748316499 398831755 318712189 158069531 729321501 513018589 951858773 511600991 660527039 723113223 160213473 419395791 806062089 395508829 335077827 106817715 368217013 740344153 309806349 298679803 996877669 991382685 459210033 696099901 731125921 182506487 802572045 814031545 30866137 909555547 382182373 898854741 855146601 997277663 640803945 387722657 900777873 904505549 453648811 927121877 872225659 405504139 30186027 55575503 659305271 305852335 231418063 570165269 858604735 917207539 520307681 964327131 101851125 797790521 248904215 524380403 683935647 990723729 348836751 294996705 792238195 420193065 107385039 934440903 556874759 611449183 45352899 482348665 145482717 40312245 124420289 60346989 335260765 204547545 342878599 905168063 740372443 665562523 934774327 785669435 825449871 33335799 150611041 47333197 973285531 816186897 112163835 267616013 587254533 503728179 744696929 666265659 941918403 140271315 390520151 918431551 52267691 699413897 640290829 797560869 616131965 750231065 324665365 394797991 45466343 343975793 216312943 676588067 866671735 713280161 371893887 863073443 236465831 697507813 709439251 684797393 274641879 98268577 961449311 876261129 655157075 65419105 120832001 64110921 910424137 789538517 833761791 818123319 995506389 903325405 459687365 121170723 747611893 758858359 499620903 607056901 162473879 626869203 985487207 603330683 774120841 42587457 756473893 342772939 722915971 970551359 145404529 693130473 146359339 201258093 132575937 68639591 403540741 788745881 879561967 347976841 924962693 817251765 892982083 330068785 617356037 976585691 339869547 423970803 661771973 582697809 120845177 598139397 615509741 721803649 470619371 543814723 749237649 169633277 922861993 160158777 291337127 156319107 595979519 831950611 322573331 523692275 512453281 40237225 153762975 981054555 372537261 17709179 881374969 215680493 878207911 49895599 421207483 571189509 107965311 466799895 437517673 484503333 607593609 316647463 607651177 196826359 66408833 933257215 863215887 579226451 55646605 168530279 114478225 282015281 840881979 643738319 292135443 755689907 98328959 680350541 135601311 461867815 814650039 862662559 554378531 466164735 762157993 646025519 864055673 24181463 719232643 392545035 924410725 760246897 574794199 100792043 112282509 411488443 782208931 280644141 462423171 672400323 753997391 405936857 443981251 817756361 108285349 217288861 427381931 593792303 197830621 428109779 926738309 846638975 433279633 728299639 567152771 631903853 910452171 325967155 843433149 87760853 535981299 141286995 981748533 763989435 877940195 70392019 186318807 912684359 208658901 952786253 645610607 12576207 712166511 992005389 457672121 237350861 97937085 638390015 3561047 614234085 703786553 76049595 449042385 766890465 823282619 145097601 262931865 213636533 82068105 303495991 518206471 45351039 263057235 4025711 543448927 483171709 240117549 969340507 86722759 756950813 878430869 992751585 503126353 234851315 12787309 739457155 996272375 776136635 430643461 851803251 708428187 745537109 66196755 664408709 377926661 662561997 32973489 645918013 826107623 213190745 336407143 653924287 424608217 28626257 8618531 827830491 367498333 506245691 557219895 928505353 133611741 725199039 175622243 231758951 922850217 349401779 998407883 840939963 619798011 55025427 727740155 22450553 290771701 991150847 726721771 7189939 937672351 731901637 212575735 714600491 550062827 119943893 446829029 359165257 276832433 445117647 319035871 18794779 829701811 466297971 873551231 946331735 927078043 356690603 703415231 336568671 620299257 892129935 944729093 786943799 981520199 366784597 962048287 828549265 970591973 435628645 332013123 735315651 110717471 754827333 158469643 912300237 31463973 501929901 316311935 816202325 554622223 869224311 508141323 606481069 713182431 518162597 878073221 22644169 990375549 41140067 982586667 803884361 614950077 387735555 459695263 566365045 487236439 788825603 89002995 870113341 518780909 502975747 387235225 784411189 872284421 482122193 272292717 957749153 868360981 4349791 199954873 450112357 44430195 503845321 184421925 27842577 193163617 732955473 429891275 70402779 137370375 875834211 873394469 216851621 990984313 981843859 739754265 213520629 339618991 901526683 504288757 94642937 733578379 85455197 287401325 964630155 762419667 438595049 273893535 593271079 911719485 559852141 72435985 303875319 903348829 543833671 249768879 213643719 785249465 435369209 35188173 438482451 633359545 976767791 161382957 630211573 250981293 781447101 188868591 47876153 654865869 129092253 677980579 465947979 924291903 191800307 655458879 91712067 238113031 982663433 641912863 772609505 164477977 846198099 529940487 879468427 902910031 888912749 875900453 368481873 10519913 457502235 521565967 863480299 615861263 982049605 58835139 974768055 139040981 38690561 122230181 89392573 588389683 49935497 320492931 847217581 776730249 413783361 509192849 315448285 145034017 600032693 946798189 631496779 625140015 19311765 957548827 558969761 104038343 505004991 183424011 778809901 875618799 326410551 185367313 781612263 142729101 279572517 871918441 3236971 555172469 561842145 817312441 882163717 772043101 16823009 795913231 690931873 645890793 37833163 260660961 569539545 501692067 421546091 739726857 631180009 304323065 219146929 520655567 526992827 389173573 668956093 197170655 255195099 65406155 418520781 146330191 711674243 43208625 755678801 550338717 356950675 844834571 537214681 317001131 358104975 238850255 94581283 710953931 13196969 971276513 168702991 655026095 443569335 771102729 469549483 437278579 121050169 139766009 240359977 592679841 838964309 336406859 498569699 817830945 356432349 52144765 546084191 694979405 667242053 38354173 573600839 536480479 318900397 776589079 141980269 781370621 349941469 881320455 915224783 916095285 923101251 420727535 792886413 648249211 928447737 862206423 283308021 69653293 982611645 563648689 202982777 468086289 174852597 303261271 577270965 176191827 714311343 742519687 482491243 866314377 268497831 699652077 764232839 45700783 321519417 860880153 394444061 49455405 595602029 765156743 962463077 104813261 705504241 925798805 42103239 965095111 641210653 354220173 356403147 475993013 719668465 663745951 730802469 96494239 177692949 161009897 495304369 943422451 647594197 644064359 997954929 748036739 125191213 60843269 931381649 41998991 309861047 316524435 958778213 901535419 178904765 88013259 225871463 564325139 902050863 923233103 14468667 578810383 840711075 307024039 861565355 921819531 915512153 983956037 979647403 368795597 638469687 346555777 933551703 825129089 525946575 380512669 995848179 544756669 978591827 24888515 855476199 400818941 279507881 290961667 223366601 632070695 297729619 352498519 438083667 565709449 943843713 214369441 751430761 777723353 119723277 924817065 929290261 623081265 781375091 157897503 219807117 181763609 361311197 918211743 404800041 585092477 805143833 381882283 577625965 294160563 703623839 227962791 477216263 854592633 739165835 136506857 356823239 299936243 863484841 926030505 758201257 654609837 391238245 383472649 507281617 735300255 233852377 549385489 162676107 67117349 482838209 153529009 551894343 969430019 590618757 928154821 538517157 706254185 918559287 457066253 158961763 404547561 550234507 24304691 180707441 725276035 969288161 39428295 596332255 963593883 77359939 13769795 177692393 450182399 818686813 37081095 884875765 947646693 782475399 210166879 272765577 944644583 100475071 669637497 511240541 743592973 68181169 747566193 749816907 264710851 85186727 444752455 785954131 417424351 139503515 232719077 609291173 300159133 343964203 367615003 392269969 99145893 102094751 77769377 445160597 537784577 101848293 234386717 707126353 81961767 85852567 159251219 578320275 559325175 714012913 102060025 891324493 922555059 125553373 186913827 245836699 681966091 520815849 397038039 289539775 627269393 419701067 828852797 467199013 313117253 688959461 337931365 428072031 547183755 796126013 429968455 391790379 646974513 904417153 124597705 62345321 905445355 48062857 861636527 647187751 601860055 624186325 177280685 378293913 749795961 434772365 354674781 776043285 857472449 542528381 738943039 752330531 224067075 94438177 772150459 355583597 291182331 435785619 616056357 804019399 629230287 47593629 671543219 835915051 362205453 405424559 269751947 874128061 351898027 114568415 979459249 508640199 359486467 917491693 740908569 957416125 846087133 729834303 235884957 796503867 182092903 124548837 542403067 914310915 430703923 761606551 640890593 502757635 867088191 898400179 723515867 187885641 926769651 317454913 726092135 278476565 193258523 303699439 680094691 479388617 923958507 893790743 672899225 384232433 988740351 976363957 260494523 964577597 325665633 476957299 929913443 379860107 129797241 101269407 116049295 267886301 528898337 747694385 295222571 902723681 934809491 997010117 624584201 688073575 606797429 951515303 19551711 847644523 297100245 96827587 775028305 715876369 585859623 494614449 513882089 256866341 456481099 834823089 12024085 163122327 580670337 257408427 371492143 681210757 802044029 720088107 968551801 964024115 676022351 226525291 164514847 596183817 231467125 904785739 727150893 384201887 908276951 118544975 601985439 5439147 735097023 326972073 112978519 410720275 878229989 278743599 917764381 807744227 321248099 349113441 636073891 927018827 45377217 664950117 486262401 297314987 47921389 488595211 590319163 48007299 57560889 406399947 580779575 234197885 642610277 922294723 97833415 161077873 742187413 327166907 247046437 840038229 616101207 738090017 681069171 419743823 439948447 357873679 446013113 10421419 524542411 302953025 953403113 946797019 359687585 111670305 232379099 53049467 550261835 355622589 993838673 45001037 987469411 858830283 593577973 292915771 95658469 334211245 792456281 6962525 475341107 545967975 346582771 74898921 264174621 910730155 92293415 463697223 332053719 315921873 268904251 309118975 543972097 307925461 48666981 40926405 256880285 524471391 307715259 749588853 855404825 408687039 797874751 106315281 919927885 642416367 365822427 488379845 175832945 192484489 31999839 1536995 859156527 381736919 698563461 518958313 220969361 371047881 196650223 137446265 562611471 547418101 437188901 224826717 231848325 708659099 959478679 35596937 254657081 479625377 478014625 160858137 618092501 154455703 396907653 283434831 709366643 883752371 258041959 927992471 616445837 84444119 682822493 851276421 807450377 367394185 500212575 586123987 254670389 485925113 339805775 569347941 947218885 787815675 495422197 139500869 519101401 444055059 167175681 872570791 492918515 40855395 236781839 724473575 302507265 945941951 383981983 626080137 172103769 202914973 323600411 896219957 36573879 116038937 872800979 225991617 211618883 341187327 267602687 576768551 281923207 450243003 722945477 197230475 815866235 661877605 414092073 586730551 916114043 350481341 948118817 99986081 55682379 513064233 213888131 843706465 807106841 105077179 3681297 776811837 975469437 890329127 63349619 497465885 282491761 129171661 630333501 268327447 329452635 524625589 329232615 757028711 354800903 73547919 350786001 278025837 451325613 636103089 431906375 922343605 384456171 676200219 23239543 761175541 367780801 361756275 3280253 631763717 913490081 807286537 111571545 6714091 501942111 404559061 821431539 600555983 443743799 604484469 452278303 808562185 731985361 291539759 904401811 39202063 254894135 146376183 863870197 786379399 499538911 426408543 8122569 627123517 806704809 312259755 639091587 523606563 887680215 594977213 173571197 562326867 205580311 695466537 878460151 420134675 845839487 321103139 589020441 262578381 735422861 436109 272569079 32886803 859240229 556666093 616989063 680219555 251319957 157279345 843304877 40886877 645115279 58120689 335222579 957214287 281182005 525954285 179121607 791870891 834678027 901769099 613381123 54164429 164777981 675069853 719713387 112997943 998029151 546648983 249494629 892401557 272882673 124279705 188934469 607826105 99633369 753814123 74270529 615241633 591145119 969798269 244153471 255903343 102172223 806352613 561489923 455058029 50041873 355634785 822604993 860725519 150195421 28084827 263530129 82506993 828821711 796555745 89893687 375419605 674800765 859040939 385191257 653426343 795235813 72237591 912994185 181586555 25145705 693530157 300245315 383314315 549968603 637129883 182541797 104515385 651696747 406627259 563119545 612737555 823247291 299867529 346948849 621029581 365679309 663071407 474429605 231851839 692008721 431301497 851381209 690351469 508601945 503249123 178790003 441209475 561808357 869839239 314984005 256305621 219442009 224941233 924589065 712249821 242919363 972421965 76477025 692465983 848850583 272764147 377677525 200032197 377931955 14743267 56875223 134901093 944721757 923438339 104038591 309463351 507773761 834365667 638744785 436639871 760306037 309221051 761800755 951465387 271457397 562726507 526163959 659273547 934271273 49116791 227002391 953764123 22926811 351389455 392902261 441701119 343867201 216984333 253721561 879558659 782961019 212143855 915449077 638127447 548976907 260829147 586932065 215295833 210885087 989899937 879675551 388114061 308990543 358378681 67745561 540198045 81655315 697323327 103603999 916513627 838019925 572832255 374366187 818100675 944030625 662548583 219669151 462309625 428007147 251706507 787787075 805074249 926877841 207308333 365694921 15906085 212461655 308053429 104559881 568431655 472989549 204038449 607699909 694155285 121958247 551586647 237885863 792146393 598335297 468880519 479392831 231710853 291285601 383280587 66187783 700714071 507339157 840473039 692905311 637027247 163422737 476583403 91499411 334259227 72076917 607991583 979256787 417165133 176318915 4604177 660340279 136812575 622683241 810491667 430660801 801788311 118873405 596223769 153829979 958800351 603289211 666437827 368557525 461777227 5052107 389271641 871172327 55030099 836016183 956733387 547898679 663564191 120145719 860096941 529657675 529378551 974810535 329335363 138196883 690252879 93244363 671848049 543379819 201580995 898557779 912291527 678180883 175040917 467938897 534100091 136721333 179158321 354662469 987800175 247511137 6289449 646762771 197414953 184205583 510021435 161804297 100841175 225890469 228600137 987432667 69355091 806893799 770648157 487563431 857011225 566163851 63535787 422058227 62340179 972413223 446853007 653694123 270267085 66757691 726516875 521447717 77103619 827533877 325683275 35066653 605447695 340743779 291648419 48378811 642296251 250501373 272206477 218157449 772799863 966692393 260107053 797020543 378216539 565051115 484080333 350334455 498312993 545899065 584987875 712585145 740525879 606837735 497016327 486079219 861907879 408809915 147778301 23356471 317111851 316526683 646288819 41798533 31395361 682292315 419157561 902830913 593813905 734494515 374892491 577021239 255454763 415923267 11853261 177746335 549539909 292986837 195928777 881614869 206882781 154818589 992933749 970987167 453517213 775449647 443752361 762786985 279321043 947272977 10419049 732412935 579270519 703852201 110738915 823042553 242911525 518522059 512727655 522848293 328574505 543030829 69011313 353502101 953704303 764940661 234385829 428172223 552276113 229462055 631435471 510235011 554518219 640413111 332494561 761761827 205395975 624727679 234478325 173398093 282069457 923940029 205788241 300117271 624198243 797857181 91797853 110850301 348194717 861889585 595026097 525359847 403506691 774199407 511666691 931624737 759937479 508707899 211332921 948949085 364151743 215704671 789476703 8075453 934950507 284928393 438241191 626414787 172735729 206864211 219570285 490402399 251481123 346098497 57226801 455432677 631158133 397292985 801120931 866684177 851022855 23617293 283756949 440580105 389120417 322376825 58441215 638875225 31381425 587851033 439867657 489285627 348336721 168033021 200978171 548583495 986655551 972684815 631093321 473780997 31076575 280360751 409137805 134669153 944444741 481681177 199095181 542321905 48323879 300265849 820661299 252299953 47957219 806479841 891093907 588329991 584339839 173860039 290593767 861822915 404768175 886203535 5660561 976439573 686113477 480302209 521192991 241983135 493245891 973417423 699641669 788702051 601087057 686382225 161839577 435405775 498489787 878961865 669696229 753546939 716656635 174256481 370741903 408359009 289979057 49529129 227526955 195716965 729561633 374661597 198912567 861368793 67143229 379775769 445337941 262630447 364567451 75299179 611260239 402899525 311863419 240235331 859143963 42548321 314856899 588656633 171410641 516202543 44876805 881020111 349224117 177686979 141399667 73664495 848374835 892615837 433033203 448204649 381608159 594030243 998998535 784409655 310328691 318633759 797715935 617462075 690280659 344395207 877729109 689697341 460095243 236199355 169904613 752770287 250479179 2199677 141344185 32711145 825865713 543828219 513607327 994012077 492878721 34176139 886202637 45605795 396944803 460655595 88501541 361155361 434307373 495201853 675461037 584988763 269784089 848595475 687897363 569286003 267732619 940794975 595091057 913401205 373514703 194106237 32717443 135710543 739475287 280385591 322028209 533459677 473311677 855634101 856649741 781574623 360734151 631717777 961220683 903528703 833505629 253684421 513050827 429392589 729276565 550565559 94499223 835257027 490502315 96747317 656480859 615701569 418443519 512700531 313006959 343720851 369457183 640952847 792760017 640085735 207642811 315053583 178864939 73743193 220455091 657578975 813785293 816118249 507719175 729851733 391082665 340718209 410383329 746198447 649998181 762163953 35547545 965968015 854892099 376814579 562899877 914085125 37125171 748664359 935026349 69069959 252307151 908252439 294805625 973187569 496592211 54374455 209910013 917584007 548328361 585237981 929941843 311301367 723643231 760012873 965143745 789055065 461397675 749101225 260991921 209159463 767874415 518716939 438744247 980074565 5923377 152499303 155254155 912033285 783772959 217144739 557998101 307976473 501243665 495395459 610472285 461870495 773712007 724953019 876379287 535694365 158212265 934058213 158682655 171962495 692699715 798361473 781963895 294032665 566008527 560821751 370544459 203296685 803401069 132449435 225382511 182119515 99089889 459843237 324973275 547940531 649306525 311221045 928616375 51984555 291503799 579732053 340402507 171722653 691758319 644059639 668591117 919145809 133086891 431790325 23525267 186855155 703673851 750311949 954136487 61057561 755997079 644042989 75208495 44407745 809021405 162033441 470696257 346937679 661925845 778162471 646447639 649879951 319551021 47643997 681533973 479556025 941598783 771203853 544235717 96195689 419443463 36076905 943517659 472138403 802254383 722566795 101303347 472924375 214792965 959210609 826066129 641714649 233224575 169067017 168384477 626272741 906900287 827102239 875622829 4886433 690790027 186819697 653099963 812794139 452112209 771048093 667882923 580627143 642358825 129841965 587770953 116572291 258612563 571138195 587197061 912992405 852379575 452881447 785027199 433008297 810808801 48962861 262206581 771833557 602863371 812217291 693322199 404474519 65180181 68482067 213923893 536312273 795077763 967255807 65540171 963346387 162318215 772351345 649914111 837243987 812512503 666742065 5492311 424471661 967638609 391601649 759834251 180326821 87243713 700396107 171882227 46810347 328932625 869651645 985242901 84994449 474503865 850029235 907806619 572138583 82107101 713865085 848596311 80122977 411610173 273424215 125161541 974211643 350380367 118924893 322236555 460993759 863093541 448799133 439647601 551477925 483719811 209052167 851784297 838443603 541211341 691070323 449545747 264650777 410435345 506069925 110443823 739204747 635120395 416472387 927918505 741254565 793440279 198503647 158792083 880425935 56412731 815162867 759030827 111435987 695929129 602605025 567152849 951010535 739801911 97557233 764870675 164321707 436419687 96679251 823725731 810549537 176606555 249943587 146936413 858247351 828427365 912689763 172307267 22838339 283527293 585090551 21445249 669186819 625424451 401270967 408167787 334918299 98913019 266531671 285273209 177171991 458505111 861549177 575314515 333531887 432226221 605621161 416237249 252402175 891939963 368133207 137655735 84864651 948978155 308269787 37275729 536956227 589342093 121377655 398590417 830681915 817380243 7050579 761122981 21336303 243278305 244500355 570706779 628961093 957367037 228469759 128733107 327052427 349465367 685861033 821772175 58554741 434864387 344987721 543126009 962132513 521985349 460281231 873779751 787381525 253191423 632697367 410813041 246894653 258590469 299366753 909911899 139093999 301728459 612455895 680798353 85600745 123480435 378528201 196943335 907486285 348512451 769687665 915336281 464210093 933572137 460020975 566570245 99574009 434089917 204031823 888932413 856764563 761114431 71498623 272529519 28678973 769660181 394781275 828143931 616794151 842124113 483642019 829863007 673083619 165637799 158904319 806835403 205424241 250459511 955377155 402816399 426702901 854783689 349273383 167549671 294647549 1342797 171150283 870848311 612242429 241615449 145721147 564103179 429272531 176561901 604233381 622494483 356620677 991778991 787458597 210053423 697314687 595345135 480131515 796146525 950315671 898813859 363955279 553160653 206821641 872649325 20725429 84468943 815495035 945894291 645020325 768757729 423896059 129419525 208167359 246291619 810825471 990053207 222859917 504621539 812294241 663866061 694049153 689735313 872529003 78180425 67003381 353725645 897416389 662422623 48208169 372299479 379343239 571368515 741123397 263833113 726874159 818352343 257463901 508199467 820075169 22394783 967439207 270632387 340082729 484072911 220308809 222003145 99304063 507457337 618671559 477363269 961402559 506041695 961951893 608727915 414523501 663703143 797713485 353086613 984883321 742722593 100605293 26136905 992963639 107439877 204788579 110214705 53831779 497054003 859146107 684042273 503004707 730716015 657819635 114375443 379809285 489138219 398653673 425995049 336806653 132057723 861225319 236970417 454537579 341136675 241821279 289701405 602279441 650158983 985130921 461814537 950392605 435425463 655596809 802684215 967679269 716355179 194512677 239425171 416444965 481633793 491691153 225966385 427151493 695190401 494442179 249625163 345455631 503876761 962855711 318992197 948510971 466741665 544331757 731277481 585787109 850503323 164918623 511426859 483771345 148081193 400294541 695677095 277398319 842691231 279159419 663597343 354041041 435610865 950337295 674525121 171754999 627171265 498220571 394956253 507909701 291362389 687487067 727487471 117345481 197451163 53690475 545283737 382108407 565576491 650423259 989712299 494431149 225911365 467771413 555738899 286570545 827300047 982320505 717517295 459399983 653067353 347802179 499632515 609046973 983264027 418067359 602788919 235130967 400985333 691167901 270747297 954910691 611218539 135503159 955804283 191484079 777557421 977540943 720753579 368448881 865147797 872547245 896681271 99054149 238645921 993659139 252122711 505667503 27397111 894182121 205494627 478934429 218871399 327697121 688212193 646172773 170132327 734564181 222548089 237934021 884835865 605317269 843995649 273098721 874634307 423329245 194543221 952186437 45213011 161322057 541485301 126720745 783272803 598596583 860937165 206388521 625280047 362361511 384164723 94073547 870284833 332343137 349093761 492663035 575446855 209578199 767244727 585916237 610592855 120978611 196270341 328455873 673809329 380291205 28345467 447575741 885122655 75550407 12023383 991669259 173272333 837157851 379873017 646183905 980838163 940729095 339454447 945870557 229075313 52097409 109828331 202955269 368535501 566587231 860639945 31965637 241035127 887287971 193647755 237868789 548747367 569001527 194904155 18933709 388001853 665901291 551641233 121533687 421079869 44937849 117180581 969601149 441527639 644480129 755089977 201999063 708341541 380947855 405606427 428367329 894348517 398885393 250412861 191129055 80580989 747525987 7902651 67967105 915456893 843961029 516724183 889536473 275760155 506026081 201214717 246810983 669933625 741744711 357859521 543990543 2183517 756797297 657899485 483465247 694650037 838362815 130156851 515218507 609462299 470908411 364306129 938485937 706401035 658281689 721992427 222715607 896692655 344443375 697026263 72313257 677999059 177744831 305391647 450648701 455579633 999030193 673301865 250991119 799898665 544297241 381716875 616055175 559036223 97852463 972825727 530094447 807930277 999187219 721060455 869713085 876570737 516662991 658833555 126882769 488757859 904437335 80446577 460403565 965315811 476460927 475007647 632080831 159426301 701061133 101638113 759611231 365419627 741200553 58818591 202831943 811758219 946178017 495347055 177313499 110959973 208421683 380216587 4245229 603486889 570588669 853630551 2802863 835265707 718659211 77149149 51942335 311569775 892653323 347014227 941501987 158475161 168387735 250763153 489465157 838396793 115182643 480306077 748015871 730962437 294091717 260100511 205029003 506305503 522032929 36762349 815871887 975598157 123613439 789047811 840445721 488963645 691751423 373756289 390002847 780196681 287637931 878641459 618233083 438081709 816845173 113132815 269873013 128889425 282983351 300618797 358534841 892899271 467107503 999535571 829321181 323565891 726562187 725381227 89541471 679763623 848887639 855946887 491618851 675668087 144274449 808438757 780929653 362574565 612725655 932847717 958797069 16981191 32974003 98969365 773954567 256038045 483634711 31242021 874585575 995297165 414944091 668802805 823326877 176981609 889082371 281636613 862404731 88040099 735191157 484542721 977171265 536052577 242792195 891519675 326954771 639968869 977741545 448250161 998965119 589564191 367941445 9075075 900941433 940273577 117597729 508990975 424848735 450447295 331024239 75391255 379498999 87147467 784002055 750819943 705372013 802827739 471567531 974695345 878006615 880559783 542649605 942969825 437352627 945413261 387899047 698308617 190889699 949578387 480578567 267673191 76783799 500199789 401521033 633021789 535093605 627340397 580058229 258255989 712987529 725879445 49943037 498461027 643770919 85180301 21344825 715032323 633064877 616155297 683072811 881648215 284528369 423484363 261251005 623839627 916063793 595464875 264139967 173756659 99021329 558267781 367287277 857681417 386663071 884750923 910293219 557779569 763277391 982406547 887600175 973752565 873444607 111785373 191618113 584176265 120277747 730853199 368225905 157449033 875607003 160006457 485369345 842322295 514910667 207189139 87795995 974026369 225228863 152187451 424365519 755883511 967226141 949207481 503814937 659120277 250849715 631299645 679988181 955362623 340565431 700244893 576606161 24347647 127118403 893014871 243487933 754070793 446005983 208280981 45406513 391639483 624941177 299001381 561405871 564261267 800391267 981480317 549631393 956647743 871213403 969900479 813568087 309360021 432865929 15844273 587913739 604827275 122571895 293022657 167042269 607891015 181800477 755197703 877088729 468903443 283106775 793393733 975363567 819056997 942065257 636403933 372200181 613891797 151156227 213255139 649553585 212192041 419367737 318776075 987817931 495106123 685818887 341736373 826988243 412960845 467773651 536612843 249841475 857268331 955070827 732026711 125684861 711571465 12104707 730529877 963268295 1030579 789423673 729385187 342385751 928496667 841328659 797728167 883742785 323019035 900652285 822561011 115310475 29742777 330450125 656292281 183128605 957180959 441326783 609408669 127212487 615653023 49716859 289021669 394070851 170485431 173504779 971053953 659617073 848847623 412391399 977838087 429209373 106312541 614659049 202774965 604002421 177609131 551337051 51722357 341583253 686475021 64623589 911087573 162916541 469755077 929917855 377742859 602107669 177841469 844243975 894278905 123508145 524865805 994416641 342370085 381330569 718998509 903275483 843342525 698468221 864683455 311093321 958454425 176647511 848277905 259531625 411058489 256164555 370647701 230514625 573926853 139276653 428352807 255995195 941426441 105446595 95287241 116813361 216501887 39019315 166622759 111182941 219175239 128458513 331939349 108491751 560811301 846657429 899944589 962133081 325812619 320609247 84860083 479791017 210935951 731844601 176255185 317974327 145707505 889981397 95612763 260181189 118720023 85791309 777635309 996565377 167238929 680092193 551145545 669572353 446645143 43901177 155426651 328370755 854382087 797246569 381875255 351089835 658960745 875412199 140004119 658236165 911416427 378464983 774393951 942713481 13042791 334373249 228089753 219326931 619021401 34425369 269282427 232958439 127647211 199191731 825273309 926637365 749802603 726194517 521239747 92084367 246948303 824835301 728013659 670803509 63770041 314416181 396286453 445098701 61684847 679739137 548684301 33541215 588611039 12359911 216902983 365687143 79867553 523332209 941384813 468847037 562463989 984861201 411995765 833609641 14956995 589461791 910852983 211708631 480793495 110661855 44789689 877618525 791625131 766379895 40760483 722591415 900902111 974748409 714422731 211734221 22974135 463932513 506212333 50839785 704226917 615367819 49507817 983268547 965491135 905556295 214625741 531495285 954098755 435755583 129418697 796432521 102973467 273275923 42938685 859669223 306772759 95353151 641499559 126813161 613087657 909724463 428494775 693987911 71768053 66636595 716190781 69047083 113943233 20443015 254441271 405994273 955878525 906078793 275920581 137436445 209454141 361892483 18864693 349956989 907817669 408622373 750965497 798149383 228206969 247854605 301690795 319410663 21842791 795190519 196610833 173465267 284744267 72219279 535761685 1169767 613398911 345396069 752530379 308383849 730681103 297883379 846606955 727025543 942408871 974789275 410313821 737419511 580519071 656628901 358774825 668618835 799678711 734989121 541317251 753950115 88917079 423227277 293585221 989056597 606239499 712474245 447940213 448666683 352606221 929515541 362850111 325372563 916269565 126634509 861008113 752561925 304740383 635171111 408621579 776213149 845650789 86908931 897462063 905955023 594043237 852878893 53835303 725434489 296952669 55757589 136998631 799873247 729481015 596671763 22223499 461745841 934051457 705364073 970348629 348840193 228081011 731941953 288605361 572610127 312535019 858090411 812798003 720793985 88498289 479277217 77667477 618169567 762725685 407688963 421416891 8850213 52214539 782192029 901230255 651216491 924652149 762437405 517424293 251086137 576419995 397914911 49591289 935334267 603217995 35926307 793559343 959170439 549845243 97434515 155619311 929797403 239138253 865315519 518513167 48726617 908266119 230391777 763047049 160590545 407118487 205418521 253345921 483235449 983540245 378597747 563713089 942468781 475404993 35670493 145002047 212477233 455462657 720064563 282515475 588958005 115691239 722454325 803604865 233176651 765988647 990009995 341244791 938061683 455144993 331453385 648283397 92528657 697478365 947622247 345098855 445846259 421662731 467699141 617447425 906289485 794105601 390463023 95256415 384335805 715801279 199542739 442998835 626427209 947258603 995309773 831423831 451889755 174739157 871938845 594741201 353392589 918002803 670589355 444770761 238216155 994856295 431898955 504891799 308738343 630628855 67629493 28994737 50139073 297761299 133879945 904109245 742152223 724694607 224017489 739425415 17853467 665486573 268702593 686134017 675180541 232372437 937389421 666021957 800302963 365551253 412327771 608797849 282728079 109333347 525728113 489216871 272282319 996166177 948313539 803520577 279439899 36399187 347434825 148653541 363044287 999020843 50869475 673072435 552242543 124678273 343674459 220931641 236742217 683448273 240295267 430243625 617734097 969767235 547045013 895281503 175871223 164218535 182749807 975928925 265854223 982969973 228435039 196317903 49164501 923034317 50458545 598227335 741340015 271272563 434200227 753747075 290053995 842195929 935323475 564978661 471923645 326113299 366840523 769064695 425045699 947178981 865252349 979870509 581185859 368982195 783073987 881384227 61817705 95569293 27637979 16714139 119355339 777807915 48383217 978323073 637951591 433007595 898160023 7463911 529604001 174395093 297666627 153291531 800590661 459473559 760610393 947808079 450946955 739886473 613979681 46495037 880079885 201200045 647652301 830866315 950168789 100516773 409001591 292526609 133836107 393573829 474762525 711121107 782203209 366046465 821696427 754713341 23082505 970594299 998013937 212855267 969683249 57794039 9929387 951882751 379266509 938852327 509891191 576254965 539085143 9098595 584249567 322448783 153598119 62380967 815192917 176258243 726158595 198415003 703298097 725458089 53631771 111865807 942058933 640797829 326623747 371927931 778792203 743930565 626886713 655873917 511889731 436002809 219166367 293793887 558703193 144058333 945685893 227505739 909885481 748534357 146776993 665017373 253393793 482850923 544473869 301157971 570723601 549808469 946146385 958599187 898110577 686870379 330865499 988117037 335207717 308291891 212097661 966889495 568395153 908306007 674231159 36652275 754340877 242774697 740059757 316397703 895570381 249061669 505774827 841007681 555740147 677434607 223193833 402203707 672007819 712094291 68076995 596970033 512834437 11306435 224828223 813102733 375748025 287351001 427344007 769691995 131832809 819020635 491159349 599325015 763918271 946746931 736149059 665534683 51879115 94980723 141969687 95111411 951090567 477506647 50495103 208568907 425762389 353663045 403292593 810667067 141688957 335364037 489802055 737249731 35356975 538843785 821339209 838539401 510566023 73029489 948576035 347382749 921841797 751261053 93523627 298331063 305341459 401015001 345771295 154579895 468455937 762229207 230492449 678058017 71138825 264156661 417169091 500641509 814368715 630350037 206970487 183686813 302933459 438029121 344420889 35096455 198069903 627184685 731326451 548108425 775960923 339591603 496678317 557406259 761871735 517545497 426887009 424556987 537400589 705652425 547980425 492050947 358338093 723858775 16089867 217459857 343551953 746125949 389151283 113973395 159241945 704680735 958047163 781775331 803579665 78868295 630073531 927169533 129212455 308251945 244201659 21899017 421448375 413154849 993599143 9627865 531860289 744133041 25930707 986001377 492685101 246058629 38999297 785532483 278370767 551556465 888121681 859553475 194134879 394187375 517101907 101197779 321080829 62581155 252779517 955935881 963701941 870297687 728204715 171441061 653056117 388520961 945723169 111086221 86126361 754287417 213449869 526807635 173774431 533876419 105807493 394887339 817122549 318925451 405395719 650096885 40409449 349566117 294108791 233476921 981779763 41744459 737177763 233771815 583713719 230597345 356073919 4572947 37001023 239798515 335550825 655971585 663179257 480668977 973637029 343177109 131078401 978561403 144892387 764603167 257289557 583596495 591084023 444808853 524631779 579290973 481816861 820641433 206605175 789618549 387095803 818414705 896971215 906003603 564094623 691888395 402040457 919764315 381677949 86754817 693703471 861288857 104791157 45004943 830491955 191879999 972057289 609461917 33803503 673135975 236034855 859036605 855767201 119111511 256149669 250487843 432976247 800017271 352885185 551217585 960729213 968117855 130042717 102872811 425237937 47212485 738556875 738437635 901702385 379470223 741732285 227979727 421769991 388106953 7688527 189728975 236832933 513994405 16607499 320657449 922464099 893653373 693554393 896754349 534937285 522093015 918965011 749523 666245425 811137373 427396979 976083641 521230585 614915555 757293087 133818153 865718617 319304289 630315173 498409613 560746863 829648383 121754361 624190209 962480453 950660355 544586873 352254529 362279629 502332389 327441643 921401527 759433439 43199551 988802427 935170161 498235965 942746067 689037247 190853159 434496147 278646669 443230899 138132535 905881453 228007553 456849855 843772327 815701831 420308713 385152429 603617065 424874115 194580775 42894773 446581781 648377449 132543177 598957681 687791463 507862571 385671041 86819049 979619017 993035233 117915691 347959691 699021191 664978829 110434249 559183657 304052123 202371097 752303753 690402307 403284133 502728279 21985977 212670141 451095273 718430717 131319257 828385123 839543385 700498095 204590475 995701869 967873419 510126323 37031577 53950391 98613439 86261567 115174903 310018951 458769627 444617449 667299265 347632521 912047727 434872117 174430779 827350995 715199667 230744135 705631437 815901665 16470149 283966519 24459533 336310681 46514029 796872185 986964917 162619977 622246555 220390511 263287209 143970727 434280933 634659685 522636019 409830093 676182729 460610699 674443209 393555267 187153265 529138297 290212739 624928245 194506667 267516849 73464741 215936057 922192365 905007005 313470173 666809549 245779033 730604941 362268155 289021653 254615989 752151995 97399547 379849437 676220527 117194823 315163649 598325725 263202719 482032701 1123929 260709937 764222981 545843853 418445171 306665629 331115273 770451215 730751983 91337553 783828407 57055621 867878027 133936863 317908427 895888023 103001911 594691399 909202079 222309593 190971907 575255789 38523453 699449283 774471725 690735519 738482773 29635255 774331157 287888275 986608445 683759099 241918279 779434083 791595765 531782597 473945465 588755479 723646499 265024811 940088709 475878427 590911255 501681455 319166829 287679045 502991561 781199801 50990683 660576209 369035223 684557469 87744935 211936359 331260809 102653075 586922951 144925969 828495567 832383035 912409955 655975237 625581375 919474977 489807425 694753763 244995095 28339891 997099097 160947757 238172481 544915789 100036293 407311059 333856331 176673071 352918727 410271975 258746731 562561 942232779 707029737 788377731 426822487 933549923 324605373 963946009 962428585 444824653 390837679 590389851 896492375 447727467 921631097 775299617 334448171 940618695 959092019 923052523 502059481 835086485 684503395 806504161 402465269 83794481 576455161 642463695 103973893 875462941 524647241 308266031 922481265 539099909 283847951 584688417 110303623 525065147 905014641 943444585 191065221 394454077 657836541 515572089 37412489 82064301 804565161 691255399 37190045 538353749 644379343 967158515 211324341 914488489 421460023 163528579 332043173 380099141 250445839 811140647 938819123 9623789 472944617 669263767 857195781 821610377 270900931 158727217 837395375 324304175 137913861 350435069 959323815 166136345 853783675 32776361 35745873 489642153 825847639 20523151 537165815 130287727 615843643 725703083 511228615 11375385 443309355 23940519 67308763 44485509 293458321 574672849 485975095 350675127 508275527 146729503 442557889 53305559 493176967 755164211 338448971 935862843 298459639 140720211 13157777 224304733 877714853 990993517 274610993 616761057 855990277 781299481 161065909 764548243 344380151 898488983 141611919 888397411 110809275 87255503 609877015 484507249 181407493 540558157 225016465 301509883 973852133 203395147 498987811 803175281 13126873 281899433 630089183 393133923 178419657 820008683 677659585 728420749 737587711 780536643 50405287 326111955 472881969 413858439 692361051 815088449 936179839 255129141 538843791 279119625 184132459 346208887 187807707 157940613 282994917 925613853 151390657 178851387 446408767 565979801 814253483 372510677 827935801 224011535 393007851 263765285 696145911 905688901 116542391 382076967 823797255 195022251 922732083 579809537 369164125 236434261 936429415 60232953 445542999 53957895 494759491 751501703 341842363 89643555 416826533 660502341 494469043 737025981 967832137 458044661 725980377 32392075 598637531 105152643 148929831 418775785 941817323 160932865 918738693 742316003 74876915 834108589 126339133 582561829 441254229 413317095 473057541 71048199 99789401 275843133 326623485 578433929 659476785 823012961 371494951 461306195 334129397 993787439 729780209 230558641 176711335 960608169 505993777 118026141 318805553 14414843 709870629 451093431 848990563 434833529 554528113 584333635 879138039 318588315 786723105 277476659 917736847 387839497 45088429 447219485 196445873 665801611 32790769 576252479 470579155 835275285 838357811 603440259 902504267 990749891 756298269 669487479 940949339 138189015 394059465 266116947 455471917 654027965 657384881 371270133 138885585 414597897 706765243 389585381 799115073 573569909 488092981 463166289 952830813 534121957 436164307 986432787 355707633 153566051 140536501 817723815 874078379 187557157 914148189 965185079 494252071 217876867 134196921 743645073 746987749 998905089 335916319 790509867 854012751 235581259 649263691 175685671 420279733 301627957 661689957 991527497 17832273 363591353 594949367 661062917 698634051 954586107 666668025 128619117 599435159 842779719 600261317 471620675 693789243 803476493 740240677 867397357 733958667 407581931 952755265 691105405 336231367 292771493 881482675 637673895 564359449 118640163 502645365 457407691 18016655 338319995 345748461 256378609 135051687 987114985 862956775 6577865 783489985 369113805 375565979 804946345 520759587 371202739 797803941 555102863 884987137 591678289 551991563 688420645 753457525 699029375 799868217 123394747 305640575 408803907 989627653 709410627 211812615 977276871 714430635 87818849 458366433 174732381 43133139 62525531 106180293 638475137 881165191 435557153 416655187 603591385 987311421 424622407 649139735 257730859 844391893 750643471 440377727 455157615 63922065 219798881 664587493 864782783 658016287 597292747 862317453 828917851 176730517 935516803 124371359 702378675 79339377 334535531 290023209 896603225 941603735 86771463 854226729 176527877 820981075 640540809 162467453 829294751 100256861 106607049 559347439 498573359 700548049 193716291 475935793 670596839 144813365 495320095 793067229 628719143 653855605 332476717 71272307 944578927 720354277 294881765 476363611 607342443 138910533 683740263 589666279 149771503 391760057 966623607 621786451 507686899 635254991 558829957 443915709 390971039 706897021 48128939 539023407 894070843 666998813 772090023 396309915 47431739 959755895 691475423 162416091 272616763 173220791 153336931 262321837 52434941 385689203 148472299 95200957 148388461 332253865 430543317 591925405 69665951 791513275 424304167 391078851 171691469 290507899 837340309 858540947 991996763 530716185 477112177 806116437 84177363 334736695 951792319 320198715 89042921 579854295 429832993 67365983 545241977 272952169 443729643 786449855 979933829 340903359 691583761 413089351 602697787 681271321 37910069 155777993 425927145 585923611 989733787 155479291 695403535 506864339 301355573 190600321 848171855 692998581 197549979 915229667 256104821 917147551 936585991 916143251 199136369 720236503 177940583 936834281 139044193 73409289 691664709 462756647 760381321 144795723 975288283 936021111 869179217 124290585 158176263 313173995 393115471 170985307 16088659 581802873 650131261 106883163 618563817 227411717 100948735 736013775 313860261 705699671 98464673 963851735 445731333 438038815 505172051 711622389 829210159 850983417 637519221 542086935 822223347 465599847 961197957 820927637 181829319 345228751 264098355 940964135 54352845 928240003 472049487 325505271 399771339 629524413 165094357 367400849 669282095 612736927 447569131 366029545 226375955 79731503 931028183 707894365 929814579 310530147 273852433 97627569 194198777 479509009 533637169 215740949 722932081 630838523 25113853 533739293 482150999 935163595 633381215 954235333 678880773 933480209 73732201 983220595 566729095 113646151 153453657 319273205 139077513 711327951 350323087 25493375 76415331 569651185 127060377 961580977 992671765 4855005 73201193 807289485 353309509 609862575 437528089 893625985 827964995 843417703 591513199 434610275 211876615 943907823 467930453 727166575 364295983 249302807 719087391 403467597 655829765 234426777 775800133 687027975 217716851 72445717 312972655 648983061 789974037 523093527 133739109 143980627 484587561 14103823 891578139 542375941 6479765 858356051 41570221 218916059 340131559 673224745 577306717 709764839 321785179 454558137 866185879 94517673 204483021 931617299 902171119 836620037 40887749 341206577 337459485 670087241 306266737 725560051 369296137 513786153 852407723 554537509 865250235 86383299 474989807 39712629 526941543 887533725 2738789 776268671 612498793 453282723 699361759 603005635 675132741 31330091 71421905 644297385 620201891 988672497 724251741 129637509 582481751 211502877 365184071 509450895 501583967 971910969 703105537 333219047 412851421 325462845 45725345 528649369 849736221 440629635 554756327 665111187 215344527 631319763 385271865 650442417 814901713 309600091 450980777 703385267 838269861 838450093 929691371 573073729 704877817 351156681 110847839 723997423 55083997 942423059 425356045 325663539 616723341 31336023 369150373 157136755 562890605 79588557 898446715 701168627 647730183 711751953 240950419 503052007 442313233 463271721 87909265 170084713 791137635 91399297 16692933 763142263 347684355 629563117 108799781 605628927 588206361 329465773 742824275 195063245 555623419 47736935 193866901 827181215 318893861 583527461 316508121 949852947 695080759 947246685 817010873 543470259 706530813 660278767 488235633 530608369 79937389 726092827 539998953 256602663 227078303 861211029 71450547 480973973 994443993 60633965 24656643 239341411 579798661 868895777 921995451 761492899 59035189 4195481 424497503 463056209 838948261 625857311 394790689 942796363 127105723 5103723 104479959 981979483 896128125 793142937 611243265 755022643 980102691 373044781 214039749 382717805 392862727 337773335 174619891 17887111 680347819 968958379 152278787 487090669 276700091 648161701 721995795 56628465 274423049 587113771 901999595 465004489 86125459 295530441 317902331 656604057 179512953 372186489 398346329 414653545 868272649 574066579 260279491 158839851 399017141 810510815 720185251 460427191 496075289 162902921 388209415 938565585 278878199 791082535 284347303 453815839 647693115 821858485 331256799 748536371 993651447 405029017 60525243 411160711 335359849 12319907 967986919 568610173 841114355 721811459 65275837 339373661 838547743 867154779 709456441 474209881 430775201 483599789 744628739 299936137 803840341 31911783 495844973 663457777 934219069 496229217 956345195 168609399 766548869 446598101 120598687 546899437 167564929 958015847 663546445 242425869 488574891 934076969 706638439 64757881 580230309 644658317 705192323 119142329 658003007 356388465 775159777 992453693 394494823 89610779 541234791 877558627 716715067 497073463 392927141 920513127 805603581 915613657 656912595 744297845 106325273 381364097 126025423 801081501 224454179 705039381 479524129 778907865 755079893 84403423 128077561 15822603 519571987 611703189 55502379 912974073 454521321 378195287 475081275 354315865 425775239 545351079 642740557 706046401 708789579 280034163 284518193 636573619 62946233 594529297 991774813 157083033 292819577 966707775 377526003 698939075 503001185 640789791 213112249 347292011 251513709 113673027 358311709 239692723 328825789 979679133 659098679 359752353 512532637 293628041 782767559 841011499 773455747 767672529 963410229 951858983 294013191 746554013 354784653 170964567 662203887 971033223 293887115 545940835 277124131 202613385 480398217 664815839 265233851 811377417 902428817 694409283 850060269 319137237 727858515 29391089 787625503 531893537 442872357 129180975 277131997 608371339 518974215 433838899 482339033 81868313 796784799 74852883 124188141 754625847 487654205 24004305 873702943 80063419 319170521 174256981 842932377 89044195 195334417 955481971 397943981 14684241 87368749 586255331 471993561 16082197 944376349 311969605 709150141 864515237 900335733 815636261 622770471 955055581 607545465 896118513 188619017 14259713 829732877 215799045 266832509 703200703 53749953 962141089 53600457 291045423 664736971 667735533 536847959 253924299 598516749 352476925 603385787 184391543 209000203 151825097 644206767 725753221 523141113 968310065 412717845 316369063 529429417 338488065 237312507 414221051 74334877 442941159 764327571 808159495 331232765 796020863 172393785 70544567 550594197 57849671 553925231 331696735 504676319 286684077 914481121 451578305 432744699 575166973 163958627 298552061 697424301 921436021 923537391 269001123 247999847 302668083 378023591 316059049 422197823 678058307 289629145 587010153 314248179 51177875 321870329 776267179 145335023 406242557 860846239 758550171 792695613 312549957 744436111 176263887 908865431 142833937 672602549 184687941 136750171 233410293 640612389 16676705 341045393 450735207 21255449 572492783 115579623 640871883 567990005 51440679 945730231 563377771 525332291 175566501 710224637 772502389 547824057 888047725 960397667 154055427 252542767 504564207 498413367 736554777 81444009 988873727 69273711 82648221 924478549 47850713 807347885 561188963 718870657 396387107 243650615 489802785 968840879 563174635 24312059 692299643 780506237 616673957 361075089 99690745 674932919 283798063 110275129 289547533 78373971 342047183 752165337 34246929 760977769 547160881 21777155 743917635 91393599 41009259 248757995 53885135 933122621 693324539 17867889 269857991 757492985 251217091 964721951 5174049 893896495 814814995 978964513 555131073 504861119 213503393 653924173 67234671 126572213 342451593 186141223 761622749 742732871 822771791 432943827 256065955 516072397 633928931 209598753 340834371 58858701 417752215 215588745 309480487 675841009 383694379 119843369 740931745 452503563 727447235 797090249 549900263 302529817 891696875 127352537 569730589 431375675 825868187 723260525 504442955 936164799 585845041 759702857 700557667 499274263 932298349 33469647 353229629 125643485 398922113 282147859 71261595 49287895 2423553 453454539 623480615 24938991 886201577 483558995 327674993 466306615 880052129 735177911 408200435 338521325 94576371 958845859 514931215 47513971 520598293 701673839 341474829 291021905 16105895 422847003 505770271 666901057 998811307 322845775 540427357 729095447 152300431 890333783 293921993 267387611 792961577 267263277 483761741 836810935 106750903 77249393 661481145 494867967 962099165 274535527 860968135 974440749 276818343 379357441 629236505 519304419 995495053 235273939 142199093 668850415 224578923 124197665 480815761 624069957 67134341 882844623 15247235 568744189 185478027 567002221 459309645 341077339 18229905 431563571 80779289 651165899 713992467 448212479 951337975 434312673 150438903 728659801 973697505 849586775 877790603 137920367 879407031 735792655 287080067 763954971 554842181 470082073 693827325 887513305 296152123 797913507 277001087 244588499 943778609 594279691 190750197 384327383 457223337 657897171 32279733 696135515 187863307 407441577 273772413 774450817 19958443 495421021 883305583 399431693 670957761 712387819 239443229 305717105 609873517 699944311 998988663 148996805 168451003 768932427 975766239 788281285 359402139 624474077 934039831 592838361 91263459 943711685 987669839 495486993 932048473 421779399 23605017 924930599 60476837 798116561 151612789 261875573 214269271 175293939 675498439 854770437 853044199 919691625 61818589 478485383 730870203 166045079 592740843 836724817 420920855 906566153 388666255 435006561 565554737 437522543 848880335 214210913 59870749 6099369 962875415 250321567 610976737 816499381 487288893 211798035 868169317 691663299 829156733 738568027 890771063 890368291 270087805 327142591 353848277 586592339 416244555 608373293 11122205 667852531 760739933 483098687 204173787 78237137 422470541 652345137 628063101 67815903 46274853 972509165 888334431 375827255 385163981 467649281 999227327 492713503 622722205 580120483 871345611 666967553 265802771 482249909 876797583 405462127 870574355 891799995 303655177 455734311 863969001 475705319 323218455 997215241 231662925 419870991 425385859 219914787 757260123 753284787 738667777 683714215 645937815 344748795 518685989 442004721 915847153 152022963 359691381 675057795 99210941 257321301 464242263 168695817 723744183 342102015 414143007 419475541 740937221 126498427 798690819 350525285 798078005 928777523 915210791 921575257 62118715 257200451 290703763 34728319 757174647 473562985 298284345 838780235 20896171 465335051 107569395 935689043 953950213 514760505 876345471 654323807 432606491 813804459 672270987 447880283 602046185 218546621 92764067 614496597 261823959 798329723 575456067 50465421 1434543 459290259 838868685 222395749 849978537 920431449 735691915 278495335 998359137 504169935 518699689 214754887 648202971 446512285 762333767 917299937 356563335 541846033 193704545 796915769 389049399 800212769 45251811 549467511 540970539 805126767 193309599 929078257 927726343 543641407 797765451 156551201 978320857 29952643 900703883 55050411 369822229 14711249 550268135 267646809 56345753 12688489 680129489 845126175 117544619 949210675 942726561 952941083 984110839 983946939 591398553 297348747 13911699 934569531 903472099 11544029 994843131 646172817 369538193 499777701 314566677 646134341 341216921 716207263 855277871 448957831 718436319 952874411 843508223 937084717 308707115 683274965 920408737 187847607 515655981 331434835 901501337 63304267 885449603 505854845 160380117 74945465 973741993 668299225 894835371 777813367 550606859 605851151 597588185 770227879 513617657 462877685 285981571 755058959 993308589 707863687 290631733 610665501 993480521 591093989 656072935 56104427 713609173 39894365 322679029 772912693 129248065 557361759 145121317 190881637 777781353 759030667 898103715 191456135 552904719 99875489 349455619 975166807 531828183 343409291 124572997 317447983 445455191 478060641 981109199 973962267 214251271 507106905 723908459 46933703 887098697 349798619 836296015 340670091 707898213 869429101 780710425 846460519 216280203 671824839 5027535 313706497 991100631 396524227 318937053 431539369 670662729 771924323 889396763 288396887 135048651 166831059 279370689 23284393 379981869 817565797 762325369 80215015 358173481 880738455 517681997 239216641 253723233 536137737 433949621 681231245 337309787 631052681 59148941 376857801 205723533 875368969 281098265 28006047 575083341 659274661 149287945 295307165 469518557 575165087 119672431 677515515 130511461 506716259 764946123 805832599 226618361 220362885 299784961 481203961 685218449 652996031 66283615 559760975 425049869 448623859 339013785 958818161 892515129 1854513 601276109 194955745 929894083 962184103 512439937 353664449 41109575 943541939 119206049 721016549 334512709 790147287 329211011 995277249 19862055 31204543 90619619 8155255 805274939 863817535 582422761 445909451 861147071 978897489 797831967 553577519 924840913 780436505 748416635 524138169 253089917 960523745 789720925 347611177 763631281 17891613 800099975 114924517 615101001 417419881 529627687 538491647 576394501 930126985 692754645 245736235 166489997 25513829 322678409 168512969 807167093 694207763 761135533 40009441 630784819 362400461 483012621 471697441 573592877 321861623 125955037 869478883 326111911 6600477 459343547 357816869 527254997 41128175 104884395 421743501 433118673 220371275 520485149 373549675 391065499 219066933 992164837 119963061 276922139 719377111 621980223 419693581 889073189 870832259 359853009 857900729 186844527 227107253 975898537 159028903 11420061 753459985 450889021 94866799 854422073 411978339 546924391 761104467 195477681 749786011 799823215 121910069 792075103 178269657 7965697 361745321 964866183 354947163 953888819 496848355 749310287 627416977 614625411 230891461 816144587 306522123 848472533 218125267 223312625 126344071 323546741 530373695 884062629 751659493 695494427 62338527 202910127 493495347 154818531 907407667 539151809 813619619 854396241 800032097 527326581 743499407 513316693 663819577 81193545 298414461 835585089 95424051 572689577 906708503 608986069 776910701 355205863 220203055 124177461 574816943 84351545 282852547 928047343 77457257 565840323 216977139 61606903 72094641 955893133 723731213 829743275 332659013 983925129 151004547 671421649 951255695 592997519 550329329 558371733 688038301 578613603 996929049 110390413 57007397 788170667 727279847 996504247 718321033 166280441 337869679 353731957 33702351 516961737 949499369 704321943 905641125 145590391 603782333 494325843 174664549 246908497 641734515 817464899 462124299 383655559 302249407 378848369 379155263 307905329 565007997 786929477 345318739 697156691 649756847 374119831 738227515 339996371 198521473 139108773 43991193 878772611 116422727 517176851 452010929 532448285 140000123 912560367 141536885 658215491 366664641 104452781 578587515 352192637 924656099 911319851 395077379 978482493 493145813 936892077 619849715 597234651 270235827 297902307 343870683 474052505 734614977 861714913 211828979 201983649 460401511 620270371 249259801 800998659 923555131 137419919 966526165 256724409 55906295 636593523 206827351 483699621 150379135 70285189 751694963 161179279 959826141 146205663 775953325 796452903 891675975 671186953 319691561 568074505 125909781 258100977 901702839 22860725 814396875 19693545 422449357 941144469 180495895 61003183 167305613 716196345 582163657 783880555 542725053 301259547 221369309 706708391 988771787 234867997 546863479 405617499 321084623 132729093 965476579 377742051 387103625 923129289 700801425 677282563 560854369 182246207 74169889 145005035 233183587 106949929 569843025 656834607 522616649 804963889 775096593 561952203 739378291 793900775 298950513 455279397 772189413 505816261 999618477 915923979 743125585 108201259 453002027 987177137 811651853 333587045 881618033 545995445 493279513 154500257 62344759 296556061 336663323 700173051 39307863 628907605 411290467 900996211 370044625 896567091 312949993 153353457 724247253 301249011 816042571 562810441 330577331 679242813 83095249 587796275 264319977 675220763 824453995 193711185 651673623 573022725 336068525 324084009 452485643 85934037 882729179 15303983 434201527 909686229 318261465 963843773 471977527 127222445 141606709 371655187 472045773 573801333 676685867 396186203 215854565 752428203 574583191 515764387 191552017 547404595 646077951 325168873 669908239 678158683 858411927 882107147 686260415 723300823 276962097 917308885 387663407 778074309 141153103 870205941 961526931 332112553 641476887 752078599 22060097 94568819 618545499 784009 143005121 1423735 478145935 146852073 848813759 984922225 494093013 610165365 479163657 845136521 964660977 286270053 730885023 977335113 83080533 265937373 541111715 243772583 812088343 145263335 661788511 402070019 165244149 124116849 874148679 876869407 660551259 442544725 430562551 809400105 647034451 597267031 649802801 295712695 1163157 207994653 196666851 322169287 272434309 783466043 443233051 125813947 553050149 470998057 932482585 749306213 712279333 907731783 989382975 210237175 599523039 477188319 508744217 566270479 543322191 373421603 948131927 983253937 106795807 987083051 181394647 712290381 979333277 837356027 420365981 342016181 833724607 335202169 923806161 810814249 807352103 284886137 661304521 920999503 506361369 633559729 711433983 127910959 574263689 390886341 261449239 42044229 392325641 506433597 880145117 579455337 451475419 676825227 523252801 705676003 941735909 263074313 866597473 523062623 905797817 448284661 694625665 690788595 397663115 603570811 595279113 60811035 287279419 258063277 366149777 613751231 585467731 381933185 214697679 902915113 666069245 136894939 11917481 292421137 823147029 318527363 939086379 983919249 2294297 344718123 394829701 703302451 936995631 760442731 954724887 298902751 12926247 68295879 844623201 543469295 614267001 440755877 214220301 941807131 732259139 766371415 791347443 39558029 550118477 299656727 50382345 641658321 863624711 436827143 659315061 476726235 338580357 808031535 659334275 125595145 853577097 660138625 221061285 912676129 215905659 562120661 218449527 702118223 922978921 930700013 415331515 139037993 883201033 594632819 993379675 495548587 72698813 552428279 331855471 651334203 822557579 808182773 556840237 407899047 593588001 367976137 903872765 21557029 655043799 415738305 879771239 126443087 804097709 199945997 812872735 201722669 163887435 309450181 542995457 148630317 724186877 702813931 695158799 28216353 717990077 634540649 221279605 491559239 941577001 615071759 286718341 67015239 250909067 954803863 695184573 143783981 666088653 787059875 695424447 181607021 483136139 536790971 890648661 793223651 62773763 654311759 14583923 395195353 280710427 485146555 802086197 523187449 397947747 421303615 778745309 471186519 985262355 810489093 723093719 18971251 374146057 449460765 648737975 256527923 854136013 438925441 345847095 257912799 224961933 344510483 491755067 978498099 671982883 278968729 80979149 464244551 428343819 939672009 612929057 309508515 898956655 818891321 866447507 751747891 818767901 259708011 253184167 571974733 819518347 3631303 867509253 653227181 457658587 391730081 150567043 629344379 692992465 438268465 643061531 437573953 140299743 148950425 66832113 290594039 793773853 977486815 94522961 615635193 403654471 5281017 574450603 807421195 698515141 387413947 271534749 213306973 285125031 5514475 84848875 876240001 693668005 845793329 278003069 137401463 582728223 290244893 501834601 211176355 636070681 932503081 139753707 908084435 500417605 442831797 159018083 608951099 999786233 984294667 565783901 705080697 625734707 77831007 649007503 61828755 865237917 971883205 195022289 982667507 364529285 815632195 123619625 534896499 672449763 409624513 298858433 58383951 63817301 672511759 585869803 521533993 260879139 334519013 392422179 702405393 591327547 513059047 530586381 148219773 45113655 826150303 7522933 44443975 923730771 959411579 65436237 920208567 62814329 898553815 163694767 486288251 708809015 354817521 479342049 130860453 573345987 238636023 146632525 548402355 548491263 722831863 726953605 480172685 340604527 221112041 558069319 163615871 451969861 480220081 612033907 222656061 330583639 290392089 294582295 239459557 506733861 739434447 823522405 411545595 492898263 125910381 402725305 458856559 245972537 931974007 458094485 716142995 401996485 886720851 857653925 512863785 889190809 990944853 377561019 25216849 393251199 174249651 846527189 501964187 772345569 938961553 746253333 446514171 682227419 82569465 862935749 811071183 940374571 394204377 871142489 407251677 17612855 3973643 400974189 603036753 966255119 515948115 686474947 336098241 279905129 107860567 846542919 29378347 942350759 40069801 305159693 749359347 290145487 121893061 567505231 607991013 77846673 864711689 460169583 951276857 311856961 736245439 454722301 679427465 167719137 358138649 136800423 20524511 999757337 752196143 350645323 157065635 706040631 274982147 719143403 875483823 960306481 628854145 105880755 757595197 700494505 913302389 87532535 797270515 475462883 909902747 235228209 861752541 639439057 685209237 79813637 113605237 464867337 396269547 414937917 552010643 703122379 924155151 505811919 845151101 533765631 870193241 143738579 559638755 185905 779291661 382141837 285348057 348819611 293835601 665313899 566297053 70264603 825957687 293551101 743156945 51962425 383425465 653760511 541903365 46082597 19407545 751561813 235974191 932471733 380892415 526847499 558262633 693175143 184906045 113163345 776095291 196422245 73905931 209721223 131985043 929207165 492316651 441926699 478179523 427254823 609819207 19294189 784455307 905988481 827786863 745289373 647838733 53853523 115806109 830611767 98324699 574955787 147018483 676382943 331861735 419331267 175033977 611175393 177672079 404018231 471442463 49448623 799959191 629759439 215813315 823516899 942823215 701356957 394527521 347591235 634360043 333188693 552567011 76701625 200113351 876312665 856296351 540016215 334323241 989910189 554126793 184690779 309922783 115814403 915235267 493828645 357155103 934934963 440740057 367542595 85282947 568838327 856031291 523835239 711016723 308610749 882445313 314078571 27031355 787246351 652420141 118931029 676085713 304859047 169373607 678962767 136710419 948772387 821967683 282183085 207773603 847865035 565236921 158299623 246607763 58848143 663530923 33025189 725979987 181430533 502743711 625969327 109907653 974597995 21086219 769183993 6229037 355829675 155814213 558271903 621504821 823383635 862382479 561109219 47150071 132528795 857376529 740705841 506191853 285664609 906835935 955673371 699788541 727014445 961231601 444401247 78516851 10818605 256023337 659274463 50700809 716933433 37460045 909914277 707846871 93954771 851475473 37196261 528975461 49520925 498363151 124058107 317548447 98735083 191245255 541699177 703609817 630050737 853636515 636211677 164618197 389080209 592470003 775850789 287553715 393383247 758045935 800458305 78044419 703116893 967109821 473387859 610435515 341232337 888159841 104755109 352256311 687054187 1841359 612874925 504774203 857292177 314327521 742401795 952946421 584793171 79302999 83607403 555805179 448095081 404994009 29419475 713103691 797594163 228798459 939179083 319835465 370597045 578303797 134995471 586958787 644636831 286648551 218095747 387529453 288336971 535818587 980776497 976740453 726022583 661864643 676229583 344681519 364713865 307126329 549869877 504032187 24122383 821056189 344755303 866965725 447185477 149695543 373082259 445485265 518733511 210945659 100469001 774922557 805696221 820421183 999976517 219389743 734246261 751366183 678338795 128130075 753776167 952566717 634467015 335480545 446876723 752682607 541795787 699587 777763201 729186967 282141457 740649583 501272991 997984889 930035167 877225211 637456067 464994107 437161117 28405989 727792845 928884209 838074851 167073039 403001927 953001105 750556519 311313355 371040093 292659455 428009233 280132043 29018855 932720643 119961063 365487915 252928357 979589199 518214945 11422325 143857661 309070205 624173337 166424465 709070719 808893707 858941519 461662425 793046883 938266469 658237555 40156679 281642695 914144989 392351063 993806657 884115315 211494057 213428211 290470933 567255255 27951597 390797679 120029303 454787849 777526961 739705363 687437253 257212359 441531111 835329619 932758469 501473147 701365097 877040073 523982755 180880435 34493173 101698107 932947189 883266725 496467767 697146515 399474871 944214835 477932991 82647013 13253201 86589667 134839561 259652203 216232077 789163619 528040819 932847751 933106851 747400461 845226567 766279111 998045997 805951965 662719669 488700383 368514355 223807099 895294683 715152293 64834339 346900537 75170997 853287971 411058127 307049227 776945455 759149951 953475447 400754323 340205337 802629645 200926399 772504853 821935149 973446987 101311923 928394371 546966541 758353115 290035915 91900275 95093569 993382791 840267747 101440037 112635963 652969029 89580353 266925439 423251539 924512045 724978833 165328913 106605771 131070595 655167465 670916371 947131853 181695923 368967365 785803619 177408873 739777105 47273227 106191497 345648281 880343831 610415113 225054645 741950527 974057 777836405 669355195 137943075 888811987 546442345 833958175 806489077 486324229 471566445 432972549 508193873 600122589 475242605 711352381 79261623 489890783 644241343 736886077 3055505 603961779 769473313 657403431 839367471 219276591 765732279 544145855 892680907 91875917 2013709 917590137 872342663 867262769 135766811 908770151 671716203 82181415 918998333 645877067 545935975 546877345 318402359 749985677 856090455 122239801 357066553 684795705 621830139 625721013 267332053 989553161 471542013 225888253 475916043 130961757 18761965 664877351 376037183 341992761 634961221 540645743 146678335 306611023 609053029 250849845 914871361 463614453 621478809 650453511 461038815 664159531 29908495 133723029 397614625 543185303 518893539 807261887 170605939 730638217 771364885 725006725 754435243 881357817 868393615 136503571 452605701 617233285 908208927 131251899 776707623 184965493 891483779 324197113 79878945 992561849 932680539 84183155 615995235 286877925 351722797 856946929 59169231 63876925 244189039 945561703 534174119 596643749 408585845 811678191 633147803 958713259 156008581 747734223 618953917 684089739 89053383 662448497 50938765 855885089 310819401 55741033 737974511 613528307 319388425 842441071 599087407 803980083 265294053 673429099 158299397 134268089 260732073 552582245 715414159 228923393 113970435 101185681 115647053 23618099 223418255 551524683 405860913 80455713 376552397 364585237 716766863 71919423 988527141 888220059 742821155 591985837 592863979 410775729 631370259 965392949 653684565 530505039 297171693 331639619 367230089 610019997 517719463 780858863 31160459 107697379 816079771 498414071 411950927 477527191 736813201 877448133 386197935 170391887 623114679 531473769 749858921 320457941 167604383 901486997 821136683 283094543 935782471 510155437 87792513 365243923 535358487 411276727 81211881 606294299 540325083 895973219 388420801 665363851 625746885 254040327 572972883 944960749 506944887 145404833 90319569 171223285 633401589 812781275 983463765 615092353 18645161 296759811 277343453 954643599 546671469 396918543 551081557 711889741 146590587 162338721 531267215 167552271 183070073 714924541 267800385 501729615 490297205 485256213 855569935 83218353 166668771 840172161 557559171 707408129 71464611 254070653 601929225 584492081 738899445 527764465 295834369 765905755 143337357 933846127 459812263 400428739 194113401 650629675 200926759 152266199 352960829 780212741 69292691 965773863 39581369 161300359 384543201 382237807 682533695 480782299 33242869 752798613 976792703 717322973 846055831 392453535 334312859 9961995 229269369 949075141 586480149 13078411 213526323 541485151 595057885 78328621 517228361 707256819 667848517 225319785 663495457 804018219 621537805 462395485 586569741 651546073 799533657 654372049 584185927 249264379 737757879 993062195 523839985 452062129 572326427 101741725 897817619 12219209 812402403 643460555 615634335 562744115 984985557 954965543 437977197 358714383 13153563 556513471 713031231 10204317 211814735 7601481 430295999 869639881 79665259 870248743 315723135 130334885 691594967 657353311 135853301 525154159 261572189 939825311 753441667 812595847 748672819 412404799 536502133 945692283 235919097 552216895 87183611 549464573 914828721 124082245 28143917 309029609 209755337 741197731 322618125 271315777 280217623 328514125 912008837 609389105 848879321 71298787 802904421 475094797 680493235 449269423 14143079 379834959 626567857 763045019 445252141 679505561 668118091 134838851 47892031 38358969 309477469 966208229 969864205 628597665 398908461 998447207 862448115 915637613 124225637 703479897 918499889 410803297 164557855 897606387 957805553 543969509 950400981 297416723 137967683 56715149 298147949 214942273 561409825 295497239 99109941 701872555 385617005 787979877 558542817 656055595 427460333 575309185 296419729 887294269 784941399 255890593 32748487 822681355 662304577 892859421 874009201 580590947 769048621 916714105 658584549 234099131 777820805 931710307 748110815 237468469 102066839 87544489 917118599 792961941 867750817 689751373 122777959 535888461 686584515 93940845 660404855 642106741 927421955 161837653 75557649 305045705 415290711 850058105 562838271 942633137 396827029 361615735 978440553 475533117 643060095 577227789 665121769 899216165 218450109 567207979 772701049 424593609 145659619 540954337 271086975 803948333 614397033 54291563 627145415 274127107 61404591 489771821 517510281 86913953 266022401 734825139 46933345 687958021 317766285 885571245 146524757 520830425 86436207 519279611 781383633 505223787 339281573 498263963 940587691 629098931 597105437 749911997 66121503 530980687 704810917 66652337 108244949 769424263 281629685 216189429 948469463 869089353 646898611 44589865 553094811 144191023 981782371 893456155 661004033 117939573 33280889 99925179 753496651 242894597 215365455 235101225 705165351 421736299 530138149 658922917 783161515 145908707 689189923 494957211 335343957 932889927 113806685 649923741 364088841 630828835 473651913 285525607 349352979 157051555 811653451 980295903 861038379 915951519 613547693 332716045 21903981 290119575 59636893 623817253 851691871 744669363 717263285 519103105 899511533 698720447 201769593 36659879 424476779 12343349 259467343 209175873 206429849 896974643 736800907 224445731 60953755 367059585 626061667 679574599 420027647 439523471 215500027 592159951 939840187 922567283 656718941 391367177 516045353 890470125 557425783 89886055 401729041 555743587 836040995 669162885 20024991 294235877 697826853 414010149 941959273 70950697 730236963 162252339 597327725 995560849 372722607 104345283 72867853 663228963 711550021 758899727 526600731 796233357 637908291 185707387 616388039 312504617 251895539 567673745 237636275 463946739 755554183 844229893 741997793 59275157 13833751 829399475 575509953 715197021 489121191 774010781 57573157 89537345 903735325 123571185 435345997 469825251 657170251 326766079 876230877 250695815 45902827 890701891 225275875 455703327 289637535 215449953 989041363 372433985 479755503 585009955 145726091 591152941 737596493 982843261 461347921 303846347 790124817 825719179 454278353 631350695 477742975 633595537 969705761 589459195 309736637 153946359 45900733 49115045 965987805 132128083 541852045 443267117 613759705 824592225 346961627 387519683 978894227 201571073 30826077 646587965 522142419 149831487 970316851 947513113 66353995 644475729 766547679 882834561 558039187 907083663 324813903 610108739 276192301 704476799 804225755 793529047 897828483 340998089 761534523 3476571 667416037 849314627 727875225 806841751 535965581 468505065 373215617 352333817 803808925 161230555 793727207 595726745 355847453 167026791 229590569 981268025 830529791 896438013 965108491 748393019 218208539 398174269 159953085 299371955 232212531 72546789 614186707 741742933 245194225 91325669 203097673 479719811 826485733 72545871 762195077 818241857 194372233 473578587 422324309 846958401 108598845 942227823 870291181 140386521 122804301 75772695 414418669 310410505 419031017 887642885 300048215 327930233 410520361 342131221 478768281 413647221 277654543 399605065 483197321 379892983 107296131 365440717 424474723 907660189 757893209 208803059 921930703 984085935 259885641 828073273 972047831 32625949 316750069 527777087 149576435 735048317 486108389 666870739 298162943 891199501 648096905 695247335 614710335 751168695 10089277 934184855 721005667 656549129 862932033 644492581 583251837 696382011 38735807 981990397 615881485 923992363 617689029 606500275 220255479 376990559 676562257 804116225 87946377 417988107 644933443 17344713 616518519 854146817 867657057 678925081 580339423 906501571 464185697 276736037 107961415 14826105 550038487 691951939 955386011 925950193 66208073 801414141 648114481 148599201 181933343 380247801 90697925 669190825 907951785 108933901 263754879 278100691 649605151 120465971 835475689 510750859 579461031 380653711 761080059 165655273 175957573 184525163 534182159 692058285 903283951 826044987 737800685 819809597 903365497 20734363 69035459 666748841 798097833 743702095 581920547 452934057 727432229 55115327 634164749 332331677 328799105 743650177 787084517 727177 259446069 901307215 709270903 529912605 707693729 552112909 185696251 166837427 73893391 575400775 423123469 457008969 832957363 686481069 937393587 236340611 170015905 2988829 643605081 337229237 230542303 42591899 852995027 188008661 664301907 700441679 973471585 965625217 792542929 28860815 34872489 143899905 931222287 67086551 373079733 496703555 624764083 882322631 813467387 728733919 744808769 662056235 707278937 658500117 411216429 137999353 587527701 400443853 798053327 874134603 123613405 851320213 322085483 859187553 191057347 946555299 109662503 802806187 206906693 612259799 834621719 421451193 343691851 257224379 327256625 253256009 820573471 405978235 26193497 603405371 756813945 240508399 831550041 355539357 389399669 223539095 397413599 888006815 473211287 259525273 689766277 602915233 874560463 963614661 405529037 203428643 951801201 507495059 69363235 376895697 321259575 358930465 820562643 201280125 33444429 280329271 855698201 522570533 316237625 688056389 3592215 868320745 486505207 945713247 471910357 78612247 873669343 772973129 324560453 828513569 377871545 248660071 440329793 635679139 698958257 623024841 32896647 487405663 604104027 418969125 595437763 455622209 992759481 492921565 933910663 741444187 591318315 952538615 325893705 672808683 653824387 101717537 918243437 679601235 679226097 893828787 428703291 127833117 657569815 592058543 506838755 529949181 237454327 157913015 418924163 926857935 497317119 258385695 46343959 533042581 115695111 80926427 830318475 698970235 553707337 257274507 523895983 732114901 191382889 710586489 224706621 498953501 709153401 423225489 395191767 608092663 886162155 390120811 814558213 242620717 974306973 156938567 643071289 534908851 205383637 815538955 765149899 284344741 522079295 59807559 179988989 155538245 788052975 154310963 152241401 273091585 215530085 425735597 345534927 650873193 609186183 386612285 322799481 320833593 216196255 531242515 268242649 557771093 121131363 604279043 892381623 910983879 863728371 784638097 666339267 563646659 596666065 436783841 928413593 448174247 539048939 46133697 270640059 541950449 662274455 38651821 798231949 627858769 82727059 659021505 834994789 495140759 882055169 108000707 810247803 316719295 963151475 605335335 552962545 708654317 839818459 561120255 599195087 235059563 613791637 216781069 412843269 547499439 444256107 438752697 367869295 918269009 761638533 615653135 412171469 283866647 297619837 919386825 403624905 668533483 236106317 809519687 499437811 35256031 622595419 674802573 823256517 559557935 727309941 470324301 763467167 301819711 968098255 230707421 326395597 538453915 871533319 973111613 995177853 514692853 720671267 325805587 97829579 822236967 861668495 814515631 324145079 196179511 773341729 292766985 110430763 829793615 757894167 626129087 734118903 874743233 459070995 978094105 350815699 979668491 408752421 475102215 394015845 419284173 767678147 876665885 805457201 612606933 325896649 144319391 151505325 943452437 625884539 386933871 330467375 870534569 404944519 96552481 406769911 610079955 667300357 357855467 589223731 601114879 425994349 52048043 951907313 733514431 670365865 449700327 690001705 104503249 258675973 567623377 205673665 830512149 669489205 388549185 277168509 500990105 798499415 203827891 555565585 97038991 60223985 381086031 471343639 88696915 471305455 810724583 149574927 410865767 231636389 778540783 707316577 998812791 446523861 867237511 149099873 599404119 384117151 551082361 32945733 27367681 991115923 202961199 37518131 272739225 837717159 317731269 527077423 559576681 204859701 361315577 288479533 798975461 858038277 572306737 371357447 59936681 138402371 271592573 796504187 761201015 967346053 334970773 460270391 890466875 38730953 144989911 696292551 519078153 503362931 658114379 181569961 569297947 231192655 278479265 285220923 447223253 699807381 531234093 914910663 228988865 716579041 487208691 999015807 885574037 844505655 658196631 790465917 46351401 764870919 319067495 75164095 681544833 940659237 287550815 610830643 179526859 479954893 168890395 132264613 743543127 364717221 295673825 215896529 388486049 568706747 642986659 451044953 568928077 855171203 798390521 609201351 483945253 471283675 762675999 492885897 923036191 689360137 732748797 481815545 474656339 912527289 616951845 789615961 78922247 61140993 127793867 599348693 888377507 987017567 375653583 238386041 234632125 933490613 479798201 948461377 139144721 123877459 379596985 602225167 973797503 63458031 773396901 929132459 747000597 627241125 54238205 476032967 169461251 481332473 756541415 316812029 45341353 139022043 490200883 801795019 509347461 413132701 502127193 903432605 431548487 823560703 472154999 369096643 533003455 303084325 392466773 981600377 523693035 912474523 36485729 121035739 228247531 321080409 612102069 686730999 187362829 881381821 957877773 611231933 41549251 902450823 987766483 845594373 367259559 411441897 978204437 294690707 398514303 596231031 411084425 578354443 291726389 511049773 800383633 77084165 354117341 570423665 113621811 182951413 320841135 731243795 810333213 483745343 834969107 774170947 925321127 138847017 545141905 443462563 838898129 453297897 625605597 823569973 232502081 74416789 439460305 578389095 609670729 672425263 262486645 326976527 606442461 116257441 221549295 744191595 852488349 455813819 835286675 74142495 966338001 832231481 928294367 32520503 185022057 399661495 174601589 220235819 23835643 531192515 759779103 224475863 127317959 235438797 37564625 807396991 228426675 415987245 484960679 52943315 955464527 282588453 727431395 569337319 668671187 15802077 547830001 135520567 647780893 581824617 435039845 656553 329296821 777051585 719563001 351387787 366364617 380977863 80755345 563731857 934084915 318793283 174235191 873190873 79332463 563104485 401299231 366257641 781499559 25770569 70714789 24418733 843682471 728506863 660817997 234926459 202225643 944759361 386288319 117878545 955208591 878347151 545935057 482529937 140736857 788801811 557427581 57660301 411318971 842654701 759709671 628369397 922451403 670863913 723228249 791606059 641553993 501950901 537369417 632940785 331669661 544106349 364388431 32872055 933579475 211639313 613267249 385788239 86839717 955943753 624312535 609435257 321782131 459071145 405086295 44880217 801306433 199946921 599977963 554971837 343029185 899449769 908055543 429807577 908966983 569517301 577613319 81999179 763243991 960152507 516203469 938151961 530634773 50798103 412221987 580649135 20134993 910123529 647251983 503461859 499861635 901090937 336649145 738424305 966323273 709909051 428579705 682656639 48915435 898935047 586007749 962230939 687094103 418484349 122912067 651081659 934358823 847334695 12933055 283094713 78559127 857706871 242292523 673277405 264930193 957861575 665165217 546337493 347657121 946370135 30230375 979203507 417944835 266851407 295721447 633805815 95328401 602637507 690845875 167227269 771209687 296218281 99320457 32535977 538405889 914802919 246752841 533584411 442088167 554548033 243942401 227622903 819880969 829321579 318908387 496936129 374393229 404305407 619491147 845401961 714278725 53045115 572828091 8248643 901480357 738411339 89958367 214154507 227869901 528832705 759519881 605137895 459194245 653911573 404894647 284747365 870235197 35092839 458822539 682105721 826736651 345185217 402500431 577529731 742308783 491360277 12237431 586721093 47040655 698762811 971142047 284328685 814800315 597903351 51724169 736246033 163359465 286770671 553659937 118140333 532547963 900947639 504425851 502452521 91123063 316035525 112092367 422846287 896656011 612024957 400042885 97406551 344256273 487526695 921978405 670372829 163518725 765677557 675906917 677932517 875296017 634706431 765824797 564161503 638647171 525156425 408015185 174608285 465316177 780565689 703331629 439189599 490154779 817541409 251236869 625123785 735865387 879394365 791791187 666689769 882961773 809323177 216227515 121076531 980930169 707630579 425660679 48506245 789727887 577718667 787421485 123399461 92086165 971356619 975472709 142445759 58858781 658704113 891703187 427399017 626881371 674444841 390833541 590575519 422545967 704407683 663649451 983767623 287052321 818821113 950241985 211420591 920280929 454503021 49638827 755543693 905355461 631830183 431727219 181072123 526595275 960434009 318462543 672778115 777698973 171012123 875524503 104209933 480443145 769144431 357701329 876043505 549049223 10755775 127010215 558598637 374337845 589939547 244731371 552441125 455420379 511325055 515420825 929123877 322915047 514440775 203945173 91300069 804708977 327760321 160314091 914506945 192481339 170244061 714085197 253088127 843708071 439766899 342988181 308332619 631210953 562455877 569990025 625248953 626477141 27468029 515806739 975898057 542362797 674842667 8213573 403160289 72691669 145760073 80246875 157849291 193846399 489602233 16604347 298186429 758845953 347952577 619322605 196658517 512230747 151930263 832751269 726922649 11759669 983360081 434677437 357052917 649434075 795209201 901662779 999251775 940652615 538912097 227641673 157373365 726212887 29615985 222971961 26662907 95080595 675556827 649256585 432506397 764836523 638327359 582741979 919175827 546439669 53603113 551297785 565568825 799418543 744978183 134634199 404511827 256651715 658028341 562645903 491052945 605319615 302413555 584855399 229097221 9855963 257153643 523901387 801707055 539549429 133251501 380792905 445838067 919224467 656088497 723040673 244648095 557893609 470475101 667586229 713689831 285871305 132736117 628578703 452362473 759100597 409677999 863898723 899574315 985190869 598144673 355959437 529729433 706160119 483629771 731366287 725602953 483658129 169719963 830523413 808253367 899810499 398645599 653419251 216801867 101267031 763236689 442933283 33688271 907365561 642095761 929902537 271069241 546437377 38450729 392377135 502210793 670503407 290987789 413862347 132786593 329528553 76178705 672211509 486990991 870259967 429345275 364439857 538567755 254747113 770595955 851187371 838742733 456779013 516366599 719610551 211827327 984325725 535241013 808003729 455279405 170496411 700360283 205329815 113325323 456544539 845734597 335223387 316524471 141572825 266095777 470998411 748330293 937040767 588602633 171859719 771852021 681688411 769838337 169139405 847880907 730422629 210766959 912827405 471933427 128366651 745082663 482511383 10284563 388336419 962680289 216873319 924188217 251644689 26434365 709614241 871080923 853193623 958183621 741516177 703389651 269688311 688596459 459663401 196927337 310978585 779116297 709680515 631273289 712921481 88988765 42649829 16565385 394539139 176388883 867940535 477880231 843731169 107360829 884661137 2145159 888945455 772942289 646430505 31529077 561555353 822654387 982408037 952506153 573943543 217874605 729917265 550540735 505552839 353825133 717113375 260841147 921809717 511615373 777438249 994030093 781206539 554109073 634655221 958370311 602657731 861587167 28795693 302198377 320419707 871127241 817281957 449310039 94276347 675529611 514222165 878531679 418948531 522706499 208882277 860852085 773326775 529857275 672672797 354194423 277312203 605784997 507077617 148962219 379162963 935009049 787773307 12968893 241078111 710581785 269430401 220940227 909893029 143987791 191484397 208664763 419396231 152518989 836759763 97708039 245283595 690831241 895445357 763134583 224924639 440152423 285267997 535548737 816798299 241387055 180768369 395408639 381114753 991832339 504537115 230917307 121053939 586314283 863671799 186386141 179232261 509705593 875195655 65971773 417723051 209828327 719872889 645990169 20713605 510936133 890163099 499833365 282524125 264648271 415464685 663495999 520765087 388603809 649063185 996689163 576062819 968261833 409658577 905278295 695608935 638076471 200937249 291823207 556590743 433497923 545356829 193745899 367505021 465196335 396726793 770528759 12345171 870194213 198751309 97846791 48041463 899581493 283895935 6783489 696908273 833186905 539106649 74330419 72846447 890056563 666035647 597523795 403476811 874638667 876603323 511541627 464049155 916115347 67504515 627372339 186353339 931256547 899445359 955568489 699993415 900066237 842201603 337184623 440351261 961958795 999266541 590345731 624510811 820321181 969912317 770222157 115877831 452203565 100426031 202983639 581865941 866480475 79603367 7594649 57361559 666302003 907102641 868068335 988592335 106758563 510342589 936722845 893955043 402508679 513275243 787947987 512684773 773512607 518953337 174389541 117704585 228966037 151104471 945217423 49040177 55191289 192907413 884160375 653713377 991096389 203023089 32953003 747554635 495327705 487328331 228120927 474560453 63287297 550761777 346725169 770811215 976384749 424500819 131035687 934754447 524441011 496495505 953846701 142320085 838306137 700377835 210653081 345232921 729883079 186320779 962464039 280017913 151758029 216723657 58194431 389258429 49486117 1094427 140023083 86356819 442855279 530861865 973148195 630361941 121874231 597459641 977513409 527452673 784452587 519971779 102847823 1120571 878706663 154818913 907990901 976663191 165180777 788497109 660151627 258310731 279191455 834666635 145095503 712445491 644255639 873013013 908142693 304036059 983488843 297251377 127574747 66671215 450273435 323349441 374284645 505989065 976570449 573667023 162410017 240572773 995425567 333139599 495445395 9300075 439596703 680962909 237142443 762079661 653047889 823860155 78784189 31189151 908379293 786966357 484654213 511876705 946886615 874565117 359923499 642481341 672553783 755611825 411707449 487226141 725849053 157895315 142817189 61226909 405238739 179843565 294930639 723178491 776801547 514500915 83259769 332501149 933206111 69761537 105064657 914128275 463895183 976831515 150868077 897206165 432574787 856860777 892490059 301182721 407140877 127748097 219477197 377615071 414068585 288736029 217244101 342960607 260806581 494775841 244321637 11767125 686797883 335845015 563461707 249021509 184367661 570753075 221553531 932436051 415096229 208008657 582658405 735648973 889726625 77693045 502948059 453419951 574862863 678794823 235682333 114551957 810118843 23861149 887293391 43719109 882116707 241479665 290550783 831610673 952958629 271889127 22502179 360756593 119035403 7297355 600949525 719337665 238114055 891305485 785737757 359196169 991324401 58929997 454791655 576723931 739259661 908749641 263308425 59871083 971335553 46617457 260607871 173746073 428837983 560543061 479103665 660277229 650293923 826131377 488488809 830613399 380874025 170366313 229640031 307809389 326425025 561653385 976695725 971178991 35186197 470166851 139577309 31650371 463271109 243432177 727292119 272685881 925579853 122520857 623610357 446714697 615983129 503115365 137457135 213888657 650298233 115492775 597648367 74131929 881105577 197811931 129370753 53436303 988998597 5474343 264024729 598560973 45524955 386346193 379628693 395157071 179511771 893292625 127847739 641360255 879963549 834710337 206593207 85046123 782310117 315700835 428530079 829946825 256496217 888608163 781817327 948184571 655774347 555827475 46316557 364905989 520058101 90569201 712692679 556607387 21491449 91643293 829501267 325226255 855798495 581721253 797675083 613789283 864626903 440411579 383190711 269946941 605018621 38025915 266161669 99451631 270438739 106130855 767522311 119634285 687639229 909393835 452528123 12882007 606689811 612900891 519572361 447481589 553015305 419447151 600589757 856880695 985743681 54597711 442261515 264990643 73466183 531875459 219550543 838919849 779645835 282368511 367859923 692702975 516140645 315813855 493308225 634805317 494558743 697277797 815742893 448719027 417299915 537488127 781578391 444929575 524979345 722301243 586842341 585875753 461499491 270293977 66293471 375001575 368068897 655538363 701414209 511862075 142789015 466809067 748741155 879678369 544913011 852310943 40665613 909037123 742452049 779137327 259795691 141666797 512568241 96799263 935293715 567142427 570885629 957234715 492816961 623038439 278005381 456796407 932825245 776686365 159473283 669649837 585722801 957799721 757684503 402316129 244118389 914478115 338888269 710915679 600880453 391446987 228995603 893288727 150892261 452998793 774500165 660482855 486141317 185356905 626851491 677122131 374552759 801803301 56929237 48159619 891003771 868856347 190447727 317242829 670991669 412710741 49738473 543541613 916954803 729007229 500024739 555608259 38128937 37570287 539855337 309286235 529267509 11235753 781322985 29510891 742211547 294624337 862937791 666051147 242350987 828851767 418150251 457272449 331142425 762218835 911676885 719671223 739301571 777006915 109673169 306235967 195803947 825172559 719358487 781718933 11876449 530011237 552249159 309825887 186299611 799841311 880482539 333438563 912622195 428018617 270781303 144444825 558417265 291166749 526544959 478678299 804795265 877984215 195525769 53318443 510554299 919655971 853671035 492443443 681162391 144988635 125191721 228500683 423025919 240801419 375996555 912025769 423492927 833936735 617149057 598332853 37134091 576134703 932313045 818270711 380673409 650663547 339441209 972274083 757333541 297549929 460390983 250831891 102062567 805183435 309515389 467907277 269570585 121760021 668389449 435988091 706515837 163396199 484283127 533901809 543414067 30598793 955528901 715407143 760199627 824535531 167362001 953778757 872684601 934728099 78973733 208495763 871788251 333452911 548719027 284077957 305386615 297911225 866999635 906574775 705557817 374615695 502678473 993393643 974818743 252139177 995149755 539155469 763800559 998131557 674204093 878156849 35843653 337305291 335099205 253106577 491992709 671245449 779348407 694144401 637389031 948610809 776678235 172965563 247397125 96465943 84388963 731461059 693638377 357274765 771564007 853594245 835164155 25078439 132374763 759129859 4600341 176146785 990146389 286730347 35120241 79154005 145895159 397000203 956707509 686917583 673940621 667567203 134493677 366719931 708376757 204303381 694021523 524837041 286285561 823921901 711486591 582626289 713767113 131261659 749336055 390343009 374199939 587664637 98557099 233931411 372454499 65748119 710317999 850582459 881033621 579815953 48718719 329865401 656510249 15611393 683682051 433273877 903940891 563342369 315482245 442078719 193261383 581221973 356710077 115593037 618366587 902221737 463301061 125772413 838411623 629755725 874715685 775407289 284707747 613784481 398337483 893965519 124500145 533548323 157094665 246611511 844208379 213901187 665812895 731245583 622222035 42466449 28269487 629893151 571795311 325628745 528654539 926179797 608344561 962835153 514332389 155116873 512296549 933323631 668493659 776691773 103618747 288976795 207127025 383461651 5605835 38588655 727697879 453162975 60735575 434655019 552505505 532655957 967333385 599174463 360886603 487972823 541204593 450414651 36803387 376031849 649259017 231816797 510805311 648679357 191237427 277800453 862809229 772003625 470812469 743012545 150991807 145035181 259203397 27636291 467972573 239427823 257270649 743657319 643389267 713681985 514179539 331923757 852517111 165132695 815083325 396484549 170246919 982423697 939385991 438629249 12612645 257369463 935108459 550990809 555394659 381298233 224040841 101931125 480298545 188735853 82006381 495894557 222555505 132777297 850335621 919120325 83668583 744075983 99106605 168960393 846254269 471173237 252194725 371934123 845544077 603152251 266025751 130087831 190463825 62535871 697914771 265342177 560161007 772518343 476416531 293615681 758950067 779018183 449549687 796927135 848606295 619883153 471747979 779080707 617776883 206397351 757746685 913376929 134000141 13787953 445718377 73088469 247141013 343890683 917411919 903695139 310046175 38280577 152795159 521997619 778210985 473038045 702438933 499145435 313750037 454022107 78080641 802442773 114712755 542436583 154832251 719634179 758880121 323057433 636840975 920854261 191971011 630783281 738822443 663357273 391741781 414014613 218206891 398037709 986740573 801872469 439415373 390811667 220327281 659121193 973331647 936025369 139083663 316269423 661090957 581615 873204763 93908015 206465845 642014673 900632291 498780697 736290325 478266403 192314907 219601795 304498553 675452271 816124257 609745003 596907919 78196843 933249721 495886203 530729331 160220911 729571731 545935105 846568483 461343489 500979651 471455221 929957261 161359305 335519877 43218165 801968509 955299485 443085695 765269319 588423857 759304697 940831679 804313567 992346567 572819069 365664441 361636431 389016649 160906229 235340621 282809817 913433001 488306775 387190461 872570469 531145793 295051451 738045367 217167231 399301199 919387751 714163537 951800675 388442881 435377093 928957961 271066603 892076899 884883303 757211329 387355043 555127667 582329609 885148107 335997621 129583375 901688465 633922521 205059583 281515777 823108869 351879943 794320377 708622843 689073565 224558559 426130385 427911061 6221491 51970121 216115281 988857683 473476297 184952991 460499699 330162587 749994379 713259675 297886933 853469375 950255819 87884387 57801663 99357691 12970375 210275717 480822561 435369581 870276831 763018229 627364111 843209247 974752545 145981713 218814797 479134979 76711615 379194015 180869695 20071921 133055829 634919371 561133045 512830379 931927205 198096939 610854693 859362267 692482971 581038779 677939761 794240019 301157705 961306339 288110623 171134665 864234989 179619181 52013469 244835425 499597289 194360721 507037187 287204899 439708871 879337449 623212113 493006145 781453883 714656637 632820271 634667987 557916961 703479995 448132331 893968347 167463547 735349 325489787 266336835 72393845 364650731 217850495 724080093 321423715 547630273 914651457 654552671 2822335 2330115 475486379 251635565 314958379 707398953 434978139 621889933 711140471 883359759 749945737 866453301 782316177 646868731 703540771 137322427 363563671 654586265 880861619 443660897 844372683 463452671 65668979 563937617 492127899 322581929 941772353 83939997 607560597 124203645 464919461 453416763 46707321 95659465 36555981 495125005 632312873 73143617 853706643 852419807 635044529 783742981 187602803 206508385 941759041 392843671 16264343 508666411 971195959 41942757 287008973 372151743 663297559 171597637 934972045 240100231 64237193 812620661 715773941 561888979 553560675 956139673 748851659 207753693 777064865 924306749 197171329 812714693 878095971 78590553 246010671 795004567 940153333 728923721 328555665 331093571 380774349 659605969 323027471 54999969 797369987 515408673 871857339 573251187 955841245 383697611 270476361 985384289 602056387 65682127 704408091 505285375 390969933 679994257 742716469 289958597 437840049 959386335 70694473 626090005 407381845 827416813 617055405 575758645 471361221 345281371 537475937 79474779 672328115 793503787 459355915 655991453 823196665 278901451 501972987 362621179 204743581 425277199 16680233 526841699 66756553 170516025 255421747 373885347 112351695 444659689 114152289 550544501 417032237 641293617 451700385 653888633 592287619 947285889 270840461 216916283 58275231 174706619 685962849 232407081 186321011 532393761 221510151 543297439 539579673 96058467 490014477 292613597 302848215 428239507 295596459 172674571 677523479 356125745 386450877 491550525 131415405 886214177 754118607 285050219 842738835 556817071 808387597 27531381 617267051 338885779 483341137 737666341 129468675 79918569 136050199 54115375 493026445 91688759 982521223 159285031 827063397 460704873 279238259 851391379 205833997 781924309 732473935 487322585 978672177 877947191 178324539 312575053 167316389 474560181 390538239 530560551 958927971 602961885 974615307 392877191 543413645 773098661 180436853 386654583 191167347 522365031 451691261 430585577 410690179 306407147 35853833 606926775 341262427 162323807 985173673 307892897 981186749 824287573 313326997 386891599 431305877 219814859 872782635 700950357 123817719 582902825 533326451 609611049 111346717 604253499 761487389 328552751 249246827 771706419 197974397 473458353 660536171 646965171 162345367 713156829 185684691 70046399 155977229 85519821 883228027 914791361 824944179 799930245 430804583 41675155 731745279 742825707 810042821 829510255 415523085 636883665 403856357 232403195 495973289 799384307 759655491 274716485 116694463 495809263 515216003 62967745 791877609 853260623 125332335 890509391 787774051 495836293 449730557 694778159 929090581 464097769 423901253 394289683 914126735 729924287 760030349 301735183 387128331 779834669 91148861 171872161 643410531 106198341 861007595 560559019 190829601 425498115 775760211 815864447 900904053 367501381 768667221 562627021 167570741 87049685 797252605 856406711 76195809 667999333 914670209 980307647 693633183 54912653 24362809 257906389 699085631 652932815 999299499 382804043 872200761 966114453 714584193 383004641 379181483 777613617 189366413 389001403 760824925 91010265 186586573 120925543 684351677 67294641 262625377 199505625 430279653 896167105 912291735 652837231 792860817 954595577 344752353 653634541 123181611 636076087 701505241 888086659 843322817 351811127 515278917 904319941 139065609 23184805 699319567 994662319 57957221 981635857 518286153 578283689 584748761 238398965 510688817 581053053 392450839 59480499 53969705 97468257 444067447 302306451 821338811 517102325 348070133 906471621 213129115 519252795 385105721 707409255 516988835 934889889 528144277 985562485 838680281 499483133 76210429 536824539 654098535 257958797 699319313 837067625 882712993 827999733 648646169 559674841 872812801 817995329 403995653 77674699 792351529 808954345 101822827 102262219 2445799 565967817 504409995 709937225 335490351 707879207 284161611 422705821 983759385 919736493 402275131 706231561 810522601 435020149 728787603 364924087 66597643 36457977 357853233 771631799 285229587 611231519 203411099 161233667 968715963 133580597 806906373 204496763 268103397 148369135 26402113 508372203 802848673 366674541 675158739 940866561 983940637 316284465 680582623 73652825 185130167 226893865 528812851 44363635 57119729 882372779 231458891 150779321 610662265 722829683 663182913 217326971 179327263 943654057 732141793 108648435 970622431 469570519 85128599 700852289 709751005 677786869 547156603 293654129 987830883 469135709 311833933 209458289 413954279 909080793 954246773 512612125 810398209 626770065 277602815 725968181 884171125 37018655 699950757 179286115 737078321 939134077 779995845 940019253 919539525 749136657 200681321 575571753 641786093 49064615 915224379 885542303 882693005 85087351 975058839 600066781 84729521 817279261 402669435 566648855 264800777 44073887 752380045 469609831 304052341 868497513 330318365 531308237 805976309 932280401 124735011 689276721 789775795 373911443 430445629 36409191 94971141 838843095 704398515 147168551 612847207 85069351 583023987 583718929 518380409 493689849 415311125 146911409 532896521 500278317 419971035 750857589 347709449 305858309 954167463 450573239 212038803 933866543 933812749 288720571 307858157 58202561 61626691 972848295 968389249 775040313 960856357 575160207 69809889 605557883 57378623 238378603 774793419 23000275 110716605 917003803 290366751 629807097 464587639 735706729 75906539 774916361 388327149 10490631 698606945 923322249 87956805 407146127 531926749 867017827 456857169 445081983 644737505 343179505 666169989 385200453 703896345 323422189 565969921 959629101 577177943 333286013 381964685 809539957 866853017 758732591 352927641 542835771 85593855 471716601 804609851 600182921 591830999 505281077 672296241 73175377 12568725 250697643 736948453 145294445 406861775 372163975 879714149 698653083 273944143 33154655 972045417 294220679 858287099 927451185 366813519 221306563 598293735 183265631 985383967 321246405 789002833 809687995 863487111 832679153 778597275 617084789 16880353 743337871 514684751 546993199 374229801 457895633 948728353 714677227 234797065 212380113 205484013 50334745 183056845 418914189 573338295 266195595 379822961 42120177 384625575 97142401 622896527 334345935 838831635 151629215 859798387 222787293 878324853 816421107 302156297 252964031 224394097 12691441 948187369 762886653 837656785 405933431 143048019 603006985 115499659 607001291 211119405 557938491 48950199 267346073 218369033 291459541 705275289 239129079 521403931 952258817 44351135 987317089 320446787 815402449 485454169 795093951 639384073 996495931 804536195 899600731 41073821 282972195 671712001 891487467 684119507 791190095 251908317 362149007 910712879 730917237 372473421 52662985 470865109 741326635 579315113 683118983 785327765 486548725 834283383 940897057 840039655 422448441 867269983 112950095 325593321 150866505 772549945 711392827 771656801 564848991 83454459 634926449 422626499 636109213 587171019 822006501 165854753 571101449 828341749 38202357 131270205 13491097 467951593 619613285 664579455 160459811 45474887 757784933 462152181 744192361 680379087 723231881 535226453 662417685 769440363 191397581 201560833 854970039 750816307 801559959 572193021 526734537 814634077 167863221 814237435 355534253 766013777 555931739 391746129 614928043 841849493 235641897 68980735 277949683 131736033 427671585 651029419 930734753 633131535 448823473 535017639 863278005 167011361 441065135 471449319 705774873 403028547 998449751 912623115 448677789 242087111 471963729 846071899 143322875 112603947 139468967 486297543 618454227 818524431 876550097 156740323 798797233 348528961 100197803 734863347 562139653 529780915 130019449 956583899 853443877 999078273 581600235 285784363 64166487 765268973 643263507 886855451 237851075 154133347 600423025 21236871 376201081 878162807 447362793 125478139 363452019 677572323 422077129 738368933 170403729 250632841 988939205 292239961 864518815 809861241 379481339 665344665 30427979 78583521 461415409 946807437 84703281 142009631 724248467 52191745 781203921 480474805 194518327 35650417 586574739 902263887 529899929 960841463 184846539 26399425 431206369 987757919 402445745 403521029 742625433 466467093 988833893 168479295 834839225 394359089 303161331 672051385 889792155 410460275 668789065 330990311 267890439 519936577 133993027 728586085 66801195 248001451 824360607 977360119 53890713 651512425 963392779 869308293 407685713 774725593 872683541 87973669 340806071 724175363 544215349 430391057 120977559 737606295 909311951 371956397 24572713 886928875 774686765 260454533 200720649 152836093 50956413 78023497 426751549 932910967 973276635 670783191 759477809 118918311 90402629 356663603 539975353 200124037 32029353 127726983 129711381 787729327 664352723 393345829 665137387 740196203 892147073 953134217 491126597 899701933 216807505 636270679 302546841 967898887 764343245 166996571 53753541 101260731 774074727 255775365 896478223 336956081 834583929 514333685 98214949 126371701 764581955 628880873 105545753 879181379 247935725 109983953 127126633 614470901 292456073 480323901 292071421 390288405 740937491 81979115 561632543 946120659 334269545 466834363 918477447 121572101 41463637 574866619 527469649 144930859 23006857 298519325 274862337 376430701 879826333 386978107 925330567 331647639 443998741 723185051 795524917 924265507 550565975 797052903 224477899 423108655 273809079 950362609 565452143 920825987 76196459 142888631 244906153 143214733 472039575 891195737 832568949 916150375 4321603 507007013 214786091 165683151 737513057 84768141 860955027 190827307 239739081 112408877 494480345 49030281 977427775 189247175 871887505 67118757 689889129 138357575 260777661 212927963 828079833 357650369 81314749 814371123 597707273 46420077 248286307 255054171 636115803 54262707 587182047 766366635 330849815 50502427 118793939 459918115 196758895 439240793 122828353 623755115 981057403 83205705 851120791 403777999 447975485 706600429 788375213 162090571 880388255 638292849 544529595 316099193 884681075 831312169 696761195 692526757 618819183 669523087 524412105 643403961 810261303 928892743 412597577 240511825 942669395 584868891 320522953 463022763 405527603 170186239 448872847 837737901 396743219 763756815 648376645 760206569 126498197 668081551 68457989 24353171 696418943 147066599 7492937 797006987 143001859 248919725 75781369 759634777 999329307 714918299 370894431 770854187 500863143 191288981 446372145 921595867 156251763 856699813 213427343 791355109 478657839 130271489 124153339 551548531 292848499 21461505 885117027 780996179 460284353 766284841 539484445 984932093 507175299 168822823 749198567 444526733 697585673 36438219 496283875 197034447 475141517 551162385 910814115 391175471 382445615 522762781 952693785 487190983 556569851 766876219 251603617 5830739 318942433 86086619 785232901 463087163 480586681 121057181 313882733 69520529 106925893 749072959 301021299 782261513 1146925 171002801 580577809 869742339 9758469 531881475 708341165 525420169 520620357 401639025 172192533 602332487 19385935 353462369 948790397 319308181 487797353 476226137 85747587 213715825 649627593 776907537 744216621 919644039 579940741 25695843 789097959 962806305 295676575 36157007 366056583 524267577 941659391 272407557 237978955 989628525 741914745 926851285 60907477 678525445 818067909 6880061 800811317 205545455 883216259 606101469 874402017 262778821 578384703 573561475 479190965 433311427 12886119 334084385 62748917 60605139 54354775 420509907 853628751 407958403 650440783 583061211 32491995 910423307 62232695 162694565 736651025 503820615 109084899 156862403 827368923 318166211 21548939 692701427 496408709 290998699 914671183 808814869 270641603 547555031 279960059 739371319 105208243 654900937 702900541 481396877 648873691 715785891 403319215 984449901 198811943 605376311 778315477 868604511 155219179 905508863 49305367 950108431 296437225 468675093 623730371 717239627 335274049 126070595 555980055 522155539 387736451 455309561 948929841 997667977 608248227 424461645 243549467 55451383 963496961 234673151 862865097 274129873 559102559 449608053 936740111 264107187 658953707 531466175 645124275 659449183 393207867 538663317 450530651 622710467 683208269 684548437 657306267 739337197 441627013 38469127 189035241 333541149 437742767 316708955 400293033 451347637 93864707 371032485 638557477 67499585 925312797 967720169 370754443 398844785 704523265 327765961 808743413 685229347 872315935 875318169 874749031 37633627 65491531 660259919 456543175 344451393 805830849 478965639 804229865 979392555 231464487 737994637 81519491 52023955 158166667 863290445 495505721 142667805 541705313 775464031 688655507 824498069 751934855 290928131 813696003 130600939 414964803 904163873 190059233 345202493 526011969 660834629 473239153 622500815 566961559 520150187 368176345 76069131 377288131 184277293 224410155 233395843 61995175 80192085 551193955 209127155 897229203 238438227 339260767 613965631 559772733 499177469 251084777 183555443 619599809 914896339 615098035 856897983 354213795 376559355 784194133 455720323 946464977 93029189 517120337 301757503 373208739 591703849 759942929 591876253 730681299 650580677 107519719 425359733 24067975 633620193 889940745 413132989 80897611 459090411 526573467 247499931 788176663 365840125 980755877 847163483 167205959 569448147 588680729 922192751 523483809 110095575 688278735 677886579 834822225 569132055 179115401 852304937 99591661 853579337 275977457 771932795 432148337 223820495 403614103 24314241 855531331 246179245 318620405 428381811 642169139 669359253 769868397 851636915 129652593 763091423 922489415 338427087 581055903 162219911 564273333 471528825 216682943 478395445 349431503 159956621 596203839 615267387 857531799 478491149 762149877 163647117 284035319 606783269 546094879 588322251 299454143 9946919 561482337 26291517 406221737 777341073 273498311 161293267 61237335 791430661 864363465 888430371 243074639 468587341 244545603 117119085 55437063 537300061 915429241 904725911 395480277 594041937 687027227 20188209 548783099 616710763 188610877 898373233 52261795 279634199 757594459 935925305 817457885 652348649 517771099 759485967 431772067 167592347 494217099 887932451 47354325 494355729 312459423 893561673 724981311 232685653 400791221 110797317 371530129 419475099 283482195 571424633 382218083 377368639 982532453 358875769 288313143 733979589 309429313 337905787 690626933 773076181 477951141 327035547 193494129 524968261 772449971 38434469 294892899 755250191 52705277 62841861 872933739 720705623 398108787 629839571 846106261 375615593 422378871 491561679 997007567 885952693 340156107 542404705 883559669 674119897 854746527 445961621 654784967 838186137 598920069 36098341 630193391 469780701 6263677 469893999 95895037 315371707 888068331 189017981 317901673 361953903 5861021 283302393 377901465 40086617 152389575 122226239 275610577 709015557 895219975 79112525 272332615 710679849 978408803 483744457 287886351 699324061 90779463 692395523 148627503 400183143 405461385 715077875 404883087 899040177 767542885 162969911 681787901 10266061 84340865 592282389 5737015 77823799 330379243 501633153 998092507 11437971 137502489 874544141 523399797 468212653 347455461 607555581 366223731 213544567 93953175 655412019 720383793 410682891 908411101 726686275 57200877 373520559 303136969 604254817 27078357 68104653 922617819 532496495 196934389 832788217 188896247 819612659 169522251 309746923 161003113 956462619 301072309 518820491 407929577 423887551 894228221 516410847 413764243 159376223 663992277 860871455 55144171 251028513 227476695 470997925 337792225 591901399 163842691 675458291 731701193 647314933 344260161 248773045 944903263 246793115 302309733 449504445 970977737 574749329 134832677 142086665 183656597 575204679 931136165 572384699 157930935 206570707 360462829 454600989 883954575 177297907 178206447 253656483 774850783 290176529 628638597 481731561 474140117 646193211 771814253 928301233 158076167 889431081 931353939 559127015 601207409 322647353 582676425 917974943 642962555 508388211 374740549 926701331 861645551 414811269 534107691 834304421 279550469 851329737 822586307 943240677 78155097 297158715 821311807 837403777 25461999 597186949 934035385 114139479 700658743 891465971 843613231 578548329 557536003 523699585 77353613 738071779 130484371 148604873 305204389 121824281 951815819 309939991 259815213 162173061 190653945 143814231 197643977 988591307 141780049 255266081 113628417 943831733 693561457 883426997 514683719 541785145 614425503 746787065 773331955 653481071 542332039 672944509 286129479 420081821 554115645 429869689 90745453 398345003 83936579 533598157 496890999 81056943 642333305 534180349 71107419 916007651 545005615 164278075 342008061 67845547 947607835 957501531 930056741 19511827 270005591 277281249 28319619 230154571 876997485 578595057 793134773 980408755 596270405 157584475 709131063 452106697 161230135 420850071 692297589 633238845 159979265 469026755 673055167 785142751 209057991 31659685 849565519 733102251 480862229 422566833 627679047 363915973 714139875 535696121 96530351 187654777 689901709 704801855 273660535 447661625 923196633 744753131 619380859 624659871 636788467 414467595 929453179 311961713 842517615 469901653 581693473 976147865 318840909 217437227 875593469 832944681 297145331 984461201 908576137 175436895 704227371 772656185 995867687 922469531 300036139 899250041 24347679 890849899 759532689 725121105 933288097 514040193 621072483 65641063 130376137 135423159 96522253 42067725 271217047 694641939 153929829 687783991 792044789 788257983 66757033 164094341 219479731 88060431 826068605 937708351 423058059 553685627 222719725 435849045 536962591 995384235 373581681 424611931 29539829 796162663 80784869 347722901 8930435 798391715 730954893 65458919 621029151 487856507 620736279 560182753 109182731 54082609 123375003 801232569 225511535 769752369 748314515 396179537 523081055 307587085 521264357 585813039 423483603 96006531 854422751 493980545 170069419 634734709 221976885 39372833 429454771 270808301 662560517 160905611 7067801 294341919 172258261 708767209 207556857 920758375 748510865 915458311 659486547 504162375 642411151 887858529 106343695 446029165 353415307 45767953 774204289 905916583 625647019 242399971 715472097 699853813 940353663 738998083 152956751 174423929 108385783 779690313 378482647 308829309 172451957 538572723 5457767 943025783 224008379 674860013 978780635 83650559 917165815 704613633 271709427 688693209 705183681 157124777 778598231 58846707 157308689 216714819 380472731 755569757 142931281 117960663 930163509 969100371 541776461 238468885 691067275 776854329 742576185 401052243 760669921 385821081 868728499 661129103 24635243 228445225 324341695 567635315 713256003 106771137 643004109 59904589 429609577 592045413 742879153 83260693 957336005 972088131 138577831 578029671 964097577 51295147 358114389 889193871 317282385 48077593 163834057 343053689 145852123 612060721 866038905 726592959 700619601 167463615 720343103 598754717 189066535 752625845 61924195 776890109 719031985 864761645 485684369 930476395 976913461 481440109 141060831 976242977 358520025 104639455 810204363 312738303 573978031 328161557 401372985 816991369 475824307 507180235 531632757 590664433 55085507 23554791 43202359 739337741 696577449 565204591 341044635 653762653 797925143 228989595 860971557 837933831 230206375 77673413 970416837 661427933 192476375 405150319 973024717 956816723 828470035 716093507 685756669 818823561 919776941 458211609 899325561 595063623 683714779 557732839 155093455 836567547 72726209 549564373 888938739 559617471 794456679 961535787 406745411 805736529 574849471 27385437 137474181 346223125 710090145 286331653 410743269 631890207 729524945 336638185 758494457 934529061 933709557 17371891 671150269 28988805 563819935 238287927 66486425 728247877 211517769 797776623 895040855 26761497 166088789 510106493 516877871 46794579 556118027 827259247 362449851 871006709 358779293 17718905 161961221 563121831 153133859 881926513 671064693 384861365 541074593 370257249 356645603 465258523 112396029 898302063 900850317 22107763 825558793 105626863 958513175 752035335 870240383 925604959 677797775 38869703 968783105 924559969 626208105 496505161 987247895 418319295 227711875 498558413 674287921 196323183 414908449 702324537 621300909 931634057 739911411 867270175 925851335 917842001 505767437 538216369 610968491 107085619 159758059 902796501 371485545 185726403 524496755 179725581 277726971 926629051 50111219 522682761 495517507 350022911 103983905 163706403 954867719 801008795 94455575 710334551 203385597 157799871 521804893 366023247 446577851 58464201 101719007 796032473 808309699 4713533 584619765 463602029 979365759 778692547 690174551 263120167 763757375 388766513 147644719 342014419 943058749 166852737 74853895 333998557 464912283 321655257 9147351 219353695 753348447 639179391 602820347 857979925 644174719 452029931 366314039 231120487 312980433 664896693 211569595 601641063 951485975 463256483 362090011 868712393 904007419 265754269 721253715 759666157 567742733 168266681 419173321 64788189 774307269 599939123 567150411 44664901 437305993 916538219 33243149 823331453 114867103 229723631 436856237 680776067 313433399 667037297 267587121 635139075 563617901 286059211 565356293 303703623 87273025 222012163 700423167 316237129 175454875 253879875 448922715 928964007 947960655 324932573 657902529 68520105 235236629 970026573 276627259 443584317 5014157 146702393 588994113 20527357 352418115 509705577 572298157 352763685 334882981 4145617 321495239 830394271 500844815 902854283 834987069 91781625 100034753 957522653 893575457 602866793 790752483 383441201 853658099 212900561 600544905 896981019 396712343 145620919 269147563 859127123 117513819 21768521 559234089 363318977 217676531 704421983 802310863 933061997 382396797 13120377 271897675 391855243 188078205 684382655 13899833 361414775 688152035 324445181 177081879 944119731 150523907 632772527 370317907 17201131 769897113 343873519 856890169 284561139 78994381 170858119 177181703 389498819 758832425 129555175 953633755 149284227 997382819 72971557 167251137 405430395 524716443 930774785 746925735 71275809 384574931 170175713 47763559 689243405 815073401 728398037 731964101 315904515 193942307 408928149 571819879 99207407 595359951 450659711 364831713 188281061 976261855 96712091 213440681 772375071 943103013 201340055 429150245 952368897 313147859 33276365 356853657 361807637 117493895 54985273 122400825 579223055 421447493 198476165 941586973 406214349 197502077 336042239 603147593 194934349 682020609 878238367 315148963 53201085 469802257 481845249 384211199 504670833 135885649 786051441 551894035 808492261 440171471 436451035 146798467 767807417 612899585 515870935 91933143 362727865 606235329 781939109 481139585 414991835 654332759 437623853 398880219 257690679 64052335 208260347 570254371 255701265 859593247 698689865 498794117 594195927 464930787 85397495 138444051 766040089 987167651 696839817 262324931 988477075 352976553 20867633 353828985 483124267 78169261 209004741 286749693 929674471 440518857 913271237 117107969 121094399 842182279 115525975 873255453 426109899 990492367 948976971 282492373 602034385 79374585 717828633 692118415 1688251 119881667 199026655 47707805 442993755 499072081 813340005 86205753 612547503 391952689 667389721 136457093 849046231 879598423 355300373 640362121 793570081 209064225 733312789 605309751 852391935 328826197 689919875 541628263 174610443 655896095 938309739 361816795 600938507 740523027 659457929 282889277 325351401 376838963 780014649 141999645 36601783 397321695 932805761 432844791 810447027 971688935 430304275 606221607 246444605 878662529 704180039 639821307 257745635 38137415 347549209 704743587 425819479 221173825 569850161 217517623 79705461 792303325 669386975 994484665 891163967 103337453 769934365 70138131 98437089 62285999 297047941 515132437 240209583 881050315 455980641 885901689 332420643 35215181 523952033 571373537 815141087 844013993 919546587 983704789 988163249 996867771 559798605 214045637 569830283 797961165 566898403 284196109 12672137 159017353 739252007 942950637 315573999 386602243 808251985 211620495 149354789 212488379 259088963 295826179 600454079 220725653 173346179 930174019 477883515 618853343 287137345 44696625 910200635 730202703 630738769 171344787 696072457 585143551 702075703 398103839 13284635 502057079 895058197 510348395 223369673 873979043 105227711 807809273 259326871 850756569 549858475 385521969 120140851 317636565 917204213 883558247 32787307 385310911 145998953 856127699 267223617 568049697 501251187 354200215 883936723 215480819 741683499 468982969 327135341 827392401 379215441 914228527 985291395 867730111 104332875 961245901 33305523 39489197 737170731 29415001 834415035 166374125 645959077 878623611 734530443 45343871 652730393 728622531 556920371 807119047 171324303 808145323 649755631 294145683 786721975 921187219 469014307 462003991 280893671 989516997 337029979 491116785 900721951 384259189 326072391 141165861 838363909 135867063 285216967 950952995 715055081 108885905 126581721 439205567 720280003 538012651 57878957 455550261 151545391 998246035 276639379 362687533 915157881 998818631 456490505 846048689 360442767 519802789 812626863 452678713 271316229 357043769 116797011 285228447 424294431 954971505 402894565 49840171 788229567 275199657 620046725 992849801 288279161 802530591 129462899 165580241 548059521 830009089 564276507 651717755 729856953 815802459 375571727 467244913 596492455 95846955 268551947 329240063 199013241 587797327 9342453 749238233 310082567 277124499 749923797 120760349 518456273 420067493 803956447 853302863 61096189 32943391 135632493 140051295 704776539 169895301 141246981 338789023 758696293 590918973 108146257 690222801 658216757 458736539 231682085 222517013 319709589 509519573 916466043 237768187 251421429 733109007 12651125 591981175 399192683 991332689 869731937 584586471 865889461 36654221 413988529 41135633 805291837 361696413 952005633 800451617 340850961 299111231 640689939 844677549 639051753 414685985 570130387 477698227 80256291 287128271 739638357 284009879 489926343 296358855 162683347 253195813 658637955 166369127 571851185 697011349 113074865 937897465 712935033 419166849 456049485 451414447 206668511 772712947 985123071 613924257 802916031 848980563 109058585 856272593 921771035 597267835 466084239 476834601 267992609 290561189 93566979 809949819 721781281 398680439 723998395 578270077 59275927 915243261 286872229 817620179 370780199 445467311 509722969 775097861 619413147 264740203 207159319 85931653 921319399 928873073 18886341 699281067 907529511 688379507 779075315 388668091 230030239 826784901 546372825 900146139 555189687 785946915 989010519 95110429 570177541 79412533 866077169 784834683 319810117 791637253 379207639 826948055 55079511 881719627 52109539 763508217 776008519 501819937 801211283 522015123 706468939 78348815 463306509 572781117 445348283 613714179 604612129 236022649 749162525 880528207 532801093 498148785 477920537 66869427 284284571 386484021 319826565 257166673 800971497 444248895 99159389 820029115 15667871 253260017 912658113 710680803 654890449 989462611 763614463 649598759 475554369 907225941 904114311 251040587 220394583 46206675 226063609 524575359 365884449 291996047 334202389 546162263 292011605 212208941 237243077 286102479 839716179 152977733 108719137 132312653 226570789 35752523 901084767 525158047 776902519 373884577 188392933 197473787 686271137 984408979 994572351 671849723 84192419 70841935 253090079 874321063 413805859 683332337 914079073 227214187 274038131 637026683 921121287 209313821 360907653 843858129 433932605 799943931 383233279 24359369 551768405 266083495 318350883 597685787 342984653 552688947 14108385 764250985 536521797 485316367 676061139 472030777 977111947 234625565 515457335 198743809 86410897 705089185 993712627 520954647 410927475 108466245 805398167 329068989 518559859 966867235 876485209 392468251 31042301 632278709 775901211 92497733 950471333 255938785 42642787 352734515 701611557 556763379 412411743 336279493 794498143 635007653 528422889 445868231 302631777 479464719 828622461 209702375 513551199 266518455 463419205 36419009 717043121 526490509 847254029 265395413 666514395 446798821 698471759 757452429 370690697 658469245 78627115 826989111 757217935 422978423 159788645 304823825 485902311 381011555 880850287 928429627 156098741 539659575 557763937 895351739 963479107 745382989 502869749 221156741 145345029 842488431 86219673 967178099 454883991 617248197 248572503 966421317 859222717 779879655 861928169 46701475 782909023 149871571 96094381 823852321 555994515 968786669 568423851 344956727 866090387 708994563 215171475 954225989 984442307 8485193 312508603 6052757 305853615 688880219 75234081 392806489 338643207 141516611 10027887 598893227 580960937 272163691 156815347 83793803 904434585 169112745 439565219 616547553 315880191 927599673 372051745 623513729 114502193 42785217 668722099 947523873 593336747 626042959 588912199 653656421 844391949 70507351 471172215 224367319 579908899 326506425 187725695 85991141 891087075 331241143 803847497 854352873 640487015 955766527 682243937 906705959 916031215 762019751 323957761 42437829 853380331 65822509 915242249 890655959 256406251 529063027 655112445 306268243 160369325 35602891 606061583 978806557 857306641 945642471 285306133 436678653 323809829 56339683 896549519 653942693 804284955 704478025 345293219 21765551 586085965 534496513 669790499 959476633 232216897 180914277 640631937 358968271 63163553 536934191 506228963 288555171 593767487 534957957 530949131 111048011 432790809 993891061 830417257 207121643 114270287 42010483 256538903 815007627 330811951 448380509 997625553 673467677 990636331 1139577 594169601 804514427 745005791 73257459 655936437 196328035 977872141 443390305 168415653 368320129 338434209 654528703 549853487 260914789 456531117 755770741 652513113 433404043 696126319 455853133 969915607 557680975 317391689 975220349 799441659 727702527 334930373 928266917 117662407 473990091 894915735 616911815 210632163 678548685 617626267 684423251 670709659 251277571 874291411 205159707 182792169 142390617 443732843 268453471 332972653 37870239 898568887 164304067 879249259 932701839 239816753 860215891 206805205 143109835 154756989 844077959 647434561 341955547 649294181 316384315 299112687 390321713 222185181 22814389 468584133 621563685 353266689 903163041 652830035 152322041 412559123 516621845 418870737 180598999 255451009 597648525 248705821 74034639 625929947 575646703 153031871 293357019 262673885 924534665 170207207 606054877 834163051 723201807 956730987 6935453 318232975 241333153 481110985 801186507 387308669 885274305 75682347 781928963 210043283 188759389 545167711 890129349 259247183 219694795 13268955 231704443 230860641 635195337 43008449 107843189 810963353 906446203 894548439 9748717 538214131 790053997 965564555 341343493 992890259 507577239 922239221 956607429 219923651 478968661 303462359 609174557 525513209 95821419 765272211 997873129 659775437 569293577 74764861 513049321 552420613 873091009 925350537 842363847 565606795 351170195 468298455 48828179 82946417 280538595 944428849 382366279 350239731 339524991 150214977 392781507 106680949 733897115 670624099 799545043 446547843 87470551 649070485 185875621 561963983 699242547 335426685 284417365 228669747 490651683 312586349 25417699 28937141 967154037 10775127 558001721 512993919 778893165 330846945 324399141 372333283 977571755 740596045 945996901 495935327 837371713 910808715 294485913 396499603 626073503 78053429 35855687 154766925 24780711 737136519 245597413 938789503 55831707 133314667 423975623 852623429 514549547 783153775 203281715 257188065 362866281 523189193 441241937 764762303 265095893 524343899 171158063 589846641 107481427 104514219 763233227 3303349 780203567 738157287 109275139 737067627 15994401 590957031 614157219 299592609 774191429 846694443 732372313 198388873 679165985 791741147 833227457 115923327 805675169 260517571 712624475 325093637 282514715 697257309 645453711 966193863 87978315 986910665 329367473 869628569 331043671 274821579 232600311 274965877 359237837 26767061 547512453 976701567 571029923 234805501 49601125 993456129 991909171 407684611 875670149 588714607 455595333 665313869 594796993 587235685 500101383 862828011 594590935 955352229 811963403 699582357 348386675 279770395 798641999 585809833 13691175 2185691 514149947 441406767 573982827 724259615 866369947 787964629 27471775 493022027 531907233 585499637 931760141 288280553 771666415 565708171 564560103 86771375 834844297 946922817 781505607 769982069 111975129 16126053 3772971 780357695 280296377 231937773 370018687 407986235 946713443 831323771 919198997 545872569 187149949 545832789 914262691 317940021 868272917 21359465 814382029 833366355 431622559 286743375 709675803 717431773 164868603 284263751 345296639 254296009 899758697 991202361 910166739 697764143 162252443 597116081 142664661 358919765 151067301 923266537 335149105 589047459 151529989 36849857 802243065 966375855 810149533 878678205 135497251 215288885 93948351 375516943 68742547 930960149 34273563 853614477 943674385 636712029 442193363 796797365 644851023 941569085 153754473 364733363 484871653 3118613 186485453 479978833 892380759 771755875 773731153 773245191 568757259 179493079 131149237 587449591 184851027 92873025 571003677 250862567 958431593 579291295 957401111 9939527 537025391 255698705 792761751 366794027 617084269 533989349 4489211 2400087 758221397 191296653 813848071 899257903 60919807 422563747 831749611 257915585 375323181 676488173 612656699 781391561 261608329 928292181 230914803 401555363 315541669 927904239 311964283 408105813 160690935 393487091 55325853 77995921 389995489 359043529 416723343 99280557 359700399 4427513 816444145 853705897 382613649 184668471 697521349 577962541 869445023 209142365 124753017 469386629 445194203 214671987 471888355 462931371 285158703 49983647 910732865 792466751 586282347 238211125 528630583 693659525 262277961 317449651 770234833 416832879 823034731 566536635 522151303 848755859 60225881 628074519 324396853 235844655 993728643 944282299 204215329 472088621 758716229 754960067 810122997 150949405 801320927 285825905 200501451 838882353 336073595 349917489 968126493 406400077 771702569 948518039 164042193 313023223 921509091 671456093 277625909 161084511 464195723 561860967 638630397 644752217 566966503 482574783 602569545 24727657 461283501 89169817 702638745 237351089 300244339 221874001 958052833 301492997 397328059 825361771 808910193 429150937 430557933 488426895 382237959 454886223 194766941 873076115 808586955 975587373 621749827 921064561 478722631 600602849 764530625 776855885 539272051 931275139 473229021 885190257 9669545 962100691 334920589 669388371 403807923 697722935 41619623 637361291 820220345 677322945 216812267 177143519 665628757 604480037 821690375 711067191 78615935 153263811 627338633 337515433 824593569 291017123 877205995 792564591 788609159 147880309 726719373 910187501 226861157 22686095 386862011 483396783 614407385 317589233 687799715 69902695 436818665 515697985 550241121 734315759 80708865 156092367 421692659 272888397 961267191 139354257 140041031 217341865 871746567 803333929 476940587 870337883 146449881 758583261 889533015 968436953 969554295 234056861 384889457 945575369 473786199 579786237 114556413 446134519 734606681 312747585 815585135 977731413 822189503 463651403 695392801 685052669 281659447 19041967 125759827 745290805 727548631 132794017 964204845 211516007 80097565 781736707 735520707 444829989 444359405 225923417 602996747 872304429 157142419 315506391 673949417 897646431 860638407 371210575 813894695 686071753 890279333 711688771 879080307 361143965 677526451 553256921 926069095 423473463 61254107 298980833 56758407 195139865 197638519 52666579 580592697 637105903 139924289 962143439 66797009 13549451 365538399 797919897 912740741 53742315 175078239 441118883 418890105 414958385 452596535 51123201 234890935 149384103 902543937 147492215 761995821 139446209 42010437 19411561 669655477 228440091 951156847 49588711 276596499 745522039 229202005 386232745 311718125 750462401 138973429 143824653 444373461 325460237 326183601 573858843 528027463 53682323 940369755 937425025 302646945 582205883 121561891 933549207 823838253 538461965 438760875 680932959 342682653 994358591 600581365 308060283 989693321 564459049 396351089 554466111 154964853 929886671 43785201 894453151 510084551 706404701 151891125 724239421 130631249 893347367 763832417 747340383 851780557 828386983 758819331 946639603 678544605 663949185 339147535 125908369 64264969 212712575 681184355 398024057 345874883 346200471 408122181 330368145 296097123 267040737 949708385 487982697 580064813 984151713 657672397 550858041 292637511 308660293 770914053 116440289 824326083 900442973 20596209 494068197 163513243 557613989 810659803 123836533 116043441 508805377 41433465 255145323 780852173 760637051 449981675 648171333 542120353 885983049 456636595 10353449 742597061 601529283 963100863 410875879 510998971 217137263 383271271 848305909 615992301 708203255 153841763 493077877 567176875 188042029 762451933 170288429 297913135 605185549 295415137 402175883 423179419 930426043 160746211 871510697 141739767 9086339 763431361 311216195 767342133 333447895 96047039 969326275 377147693 460512337 350816269 662626357 28830881 931769783 940282943 546820949 31974459 331438067 815937361 183604861 535624587 911731223 325880489 92125369 29615371 398568031 786756373 139308213 563212059 543729457 60147657 674247625 568328967 897837077 110685541 886734581 766430719 307809983 562208491 865300959 527320091 231618569 53486793 749490135 619615581 424614137 5288917 130094805 331693741 120270777 613747787 747005561 234856671 258757275 384192211 243501831 891605419 700090653 518067575 876576367 946424499 294734049 7087791 295312203 541768831 697955505 863112279 680626649 969671551 755296641 719168179 732759295 773853967 254362475 438753139 343553357 624361583 918240949 564280489 523197945 91089351 591072971 379110869 140928997 439421739 14764859 415907547 684573335 856465811 895352517 859044105 662276413 966832097 916851275 914292243 145120689 552809947 874322903 115016983 504551279 118191415 970520989 385334683 536308895 853681801 478833913 965263499 641525523 183411287 839156589 682166077 699711807 695830537 851469221 25605229 442479941 580060911 430908021 930891075 40615401 379837249 796249047 797078089 951564701 315070757 712003567 807389815 97741175 194839455 307899399 715045415 431362103 19297699 45109141 696685601 610749765 374045963 201828145 485696147 675330989 485445527 763108255 713708047 469968169 215586799 841295563 188582549 148132119 432150695 281106633 687447689 359687039 769241399 36945621 227962295 129788945 92102399 414857295 194011223 273376033 535850569 145311683 350039045 276396211 141798729 627864037 153651399 759478123 316620563 86511763 428390409 179496345 451541677 850907595 836808607 546448435 920334333 780540605 591939785 325672923 744781015 828573881 281207597 134213079 166051825 317982779 56448981 912838933 305872367 155935207 980645943 26052399 122873947 521560457 622865201 151952737 973328035 182360339 963234825 130844563 910409505 527651231 991915373 51485015 766032409 952516723 389088879 482653409 493276337 449467895 871033229 552252947 517007357 913198787 939219375 233962865 607918067 702833805 834641695 670407469 433356919 534957371 452763797 695978525 990308945 840761817 527024173 978707649 861811251 878775705 134983787 143601215 806256055 651077845 144706367 300425063 317429851 935305235 942907643 519469489 857798797 683871485 627914079 907549757 476298393 297125735 370044561 460327631 426827195 11753033 694735385 735075543 375487765 222977227 521284083 406201967 838198959 887831861 305446263 198973267 706653307 641490427 585114733 812489197 229026131 629827255 591562753 356813387 343763445 527813935 553336775 613529381 881796621 359611981 463350465 890729177 528632107 534878501 928752207 140649069 794783179 858011121 685796675 226904213 13174347 507278099 4308685 5998243 149016565 848905753 55879055 940425113 609172985 250913973 912798347 855680287 273860213 23141827 923914799 129697409 768062821 386802245 330961747 442359225 440850869 815569513 362562607 74958951 3734581 485871229 676121453 910567631 330089119 541299713 929787673 32907491 467739797 523495063 349933991 607206713 763953823 203989257 827680501 178590737 562552111 908716621 450943305 769079889 397006749 513838715 933122125 499261065 218053419 612286935 721757723 205555697 467230211 526643149 37894189 414234471 254919221 76965873 592725099 458094195 143470267 815493885 503979039 960369221 310142583 668843989 280734975 386913971 942467889 548194947 956958763 718582075 452434073 463172925 565251877 844277767 991359307 424168795 643248859 642479333 880158665 682922083 938297507 917368907 779859319 580930813 514617657 176290395 676254635 162671103 939743685 506028507 363903133 289763683 779855571 106180409 311043695 15350605 818188629 153915789 797866025 411203849 875929517 470288793 787811515 12669959 146082463 811697343 220190721 115421927 5188693 155690003 257985979 752004711 269753705 237118281 743455891 478370935 462442453 440458689 272277785 648676135 742409215 218268037 675257031 738956725 564964277 551888959 647902973 514858881 242594603 812750411 677425671 782028057 86192127 418947495 782965267 570354989 904492599 40540921 719219773 35593629 936352575 759300243 799145349 364708969 525157101 295357799 939718101 790804155 392343167 932051481 212644093 24211947 591010711 459737071 153659829 203098223 970264389 532079577 907218083 229378287 349820159 559258989 245153611 755515699 517970337 690339817 14274851 409095981 524564079 871289655 802134143 195192829 666218519 82595557 121040293 100892387 390713265 282045225 326905277 819022411 948016565 697075685 744741335 602189511 104136973 123129759 990033899 137218069 655642117 417746565 542018015 515003927 483523409 24044399 204806775 769677783 64971535 850973917 525020263 224798345 212505029 213663735 523633481 935623305 198135135 587479433 128204957 323343449 784457265 532142349 889937099 403461029 271415805 239114659 427765287 523116607 108734179 169806095 671249895 413209381 2772083 706929859 50958641 527649145 627979425 18802389 192506377 161814917 391082189 524053253 742514787 912519101 315392697 932462009 412509465 818069437 242680723 801624321 959697129 882078025 583584497 665442197 958755201 832532297 955557329 103664595 162825325 984960211 175651223 215969987 41312811 826381345 843000079 679362835 738315033 523570071 91728241 829523485 307839105 762569919 897268057 360045789 132790165 9068877 950728651 742883069 266216047 149631005 537874231 664327115 735533837 500723251 779035249 839988029 391117403 889538999 900573621 234049269 600864043 447133439 977441193 153223993 102576435 389891461 70395995 692619767 974417431 482589933 802245695 53202375 828727393 446029315 258909491 761106665 465417343 890354615 449212285 907014213 13842379 800793641 615602889 739459175 671903111 982144919 241989421 654791817 229609439 225300337 545805351 217106315 570777823 931773255 235210137 104761585 396616579 161872853 740538067 189589485 601930413 973570047 96270731 809699413 270975013 103715281 618997981 991465383 729401245 91351933 349172301 150240781 841182637 494454877 851585737 180495191 811649241 263444471 949866409 571071991 554826887 462305013 174196135 806920721 755809289 575415337 236086761 357458539 895823769 476601743 680553211 366411637 959180121 14742861 257610197 760444483 952506961 260964521 540324051 914786201 280509811 636002587 860428475 585806043 751210135 311857981 450834361 203785495 26780031 643561937 492497507 905350153 240915669 398631107 276939445 542299915 84278571 190594085 819235093 136070697 994412023 374497077 378793299 775022863 984821917 960271187 585864095 319060501 945348451 403746061 485222297 32252731 224473727 86939413 391418185 923794217 982608135 601678663 955883543 204215339 599208957 66343845 355365339 860824379 69963595 672794971 66981331 221418233 255345345 779240893 955701665 195787945 269231385 461499203 648215127 875375933 32059637 919502485 323207527 500473931 89094109 685418363 387819951 429036305 423610177 462305769 180876915 333312889 198455165 106019579 995143267 505987857 404369619 308094963 170591891 490339857 148890727 614845247 702074751 807615063 689548623 772822381 611798541 507828331 362322819 640681021 291885707 307486333 163458277 264476049 85866925 291206497 520771133 642524275 417317777 765066137 651951675 330669593 505277629 792181325 114751099 129819355 180993821 292388939 260523645 974097725 237286663 159803145 421855915 143533291 222172729 182437289 43405653 217013689 949011157 669110257 549811123 430781089 17646701 860629327 133869291 258285255 419113201 187836379 930555139 811169911 925927363 389316437 641921003 853485089 671487653 89818147 489032319 567431011 135648455 723221079 243155327 580722689 92221883 157439653 347469459 306757859 948451969 455477613 461563215 889207073 249758845 871382455 945921579 607436529 705604733 38847539 747620743 514383033 148284853 969555511 771058863 183384579 923828931 291412675 438642897 831805061 461316781 446289789 768211465 599588119 282569183 704900021 995115607 606174911 61194029 219585377 390998691 259188647 841934553 824983587 770822081 545562657 156466563 958957633 441887079 202028969 319783227 888555435 788102971 853015013 295644791 654495989 672716225 23569819 107561745 826054241 76604781 479382467 247691089 485072087 210634649 732033655 698485477 831032037 738517893 501189113 858937823 358977473 602164569 782510003 514421695 737952845 781377321 599212861 884761191 486446093 207325675 564145997 726383401 543845939 377971333 490277579 308773815 702553751 382823611 934994879 725733679 114737333 912880193 176809053 638383893 652028597 889759665 683518463 307962969 288077927 417950601 999211051 801837647 932278851 948566325 1834891 404233651 140606569 72902663 115141363 55490475 780389277 152804917 938311259 257748165 485248591 697849317 87357931 520047605 172672409 842273819 195652331 644800923 569220153 706942411 357321423 830185593 20353429 7245517 131856435 305155773 378952381 580705509 388302297 507257597 166757225 421035193 208447405 158044981 548106487 214450395 748709827 587344845 463411053 460458183 36814677 648114831 72985727 525162459 336719815 514848179 374896255 403882593 665085347 526314197 553568113 361827979 617373 604573177 475453431 388036465 502506897 705100943 947207269 608593943 159971713 265033833 196796335 968156771 453587099 109123271 597527159 9690151 1746477 268554061 126874113 814227485 129287351 618667273 278173503 244527847 331918043 887514479 338303433 477968909 610761829 804094813 338772699 872282881 447246661 260651545 763024989 413512221 666428057 620865615 391149535 192009631 702308773 927836947 294101401 281937587 802345169 896273127 884364137 718934121 609414835 328934571 466054105 402922683 350958853 662658223 495363347 246770059 295376811 433584553 622727155 581975457 553411505 549056947 803960567 769452463 562815047 152555863 353361733 264400205 897365453 530418301 529103277 387900925 868361921 22342013 210609061 240921641 828920019 90930709 526669391 232960545 159053267 681973865 231193969 958544673 956150973 960073733 491888761 286998597 446873271 644536545 345610113 35137947 36160519 287602777 480503365 347425555 693080357 480800307 758791471 225714565 248243627 754733467 411682891 806397875 408949593 250613797 890173525 339131207 327893279 460269265 562255271 863885265 944348685 597181189 254224205 421581771 784428641 714413451 642522611 645627797 489956475 400474521 844869873 70483067 516295657 384964045 103483719 505939373 747703389 400301357 188875931 959794499 230943923 326647845 986985021 827565375 391295467 751019915 952181797 726030475 19480629 352047005 662573043 333090807 23480291 191681791 609812459 907030333 913883247 566911421 917987837 577719805 293649275 42753615 957037763 166746819 106047445 797319823 506949243 270384637 465993327 301357767 615675915 88753927 802831717 936269983 575098883 287586593 251900153 6668849 861506969 74770549 33624215 397016823 789351855 337926931 888286163 124543191 939444683 741479923 949539685 262041375 80450843 769590779 556611125 847632771 547569529 909975279 656273995 401798433 623720545 673674373 899560923 537734527 372598779 61354323 214352961 980943753 801771033 126669785 765059841 620942485 585080111 676380037 644482243 274600799 128397663 90410405 247021661 974777613 365440877 518624883 544972233 562181167 301130699 612184591 859741481 691847093 119483791 19044227 764829645 658216961 862125945 563684803 578647843 548861909 865950447 183796387 795491273 302437215 471817987 525348329 426237569 463042871 478307689 903969853 401695545 975108437 766433153 245789229 704689153 347858979 435096915 174626103 209230869 174327661 94582927 866787001 129385177 661827943 115601801 563985663 849972951 951133615 684580933 17819191 495223493 935607369 476281703 834280827 26648187 474014885 915868991 111308751 458858495 934043287 381834947 198469913 167375993 296051035 696311957 959761709 858220351 644477079 631547387 116812483 1413837 113103193 359311843 267124347 600444867 71213847 215649255 431698911 529636845 991264939 784252739 539425889 317516097 774394204 369356255 557064795 221433559 358995417 680896845 65564683 320310773 202813237 132274625 323725981 216359685 963654639 252499229 487428387 665269401 145079019 310994917 636805523 146561645 108951157 701031499 686408657 111767655 211663173 677659941 137224359 526130575 606767479 835709171 862226627 776262423 592670095 656932059 425878463 900044639 917230461 727217581 991522079 697577703 971625875 565228769 580307273 535292251 38796177 454048661 680702607 328512653 850038683 133119891 469487149 418692987 200100671 50274885 948544319 854124357 846707825 527510983 875489237 573854265 815042703 88561109 688467417 766534345 322049375 187528409 937911339 510333073 604881421 781258465 787944327 581197651 733171247 515648677 362214809 499878907 119856833 945664641 326940147 115445659 723866411 96838529 126558475 399972977 391159351 110059089 314860357 640607967 5980445 938603083 174687721 463818863 173827191 489900139 20016681 763227349 64673615 368557147 876785181 881637101 320716301 280385895 220656583 84926905 823599497 182720393 469217809 724740453 607952897 826059873 855457739 493080133 214803993 341614131 65643185 699830227 284241887 181715185 837937247 593122737 648661447 50494257 609376611 280972975 182609839 399683379 908566573 198272443 236498907 176122845 476787733 318524659 343368699 566892479 433647197 396182681 622294563 9369617 215220015 923545115 188187087 978881969 448979099 926652679 579487461 103649319 943393179 986054175 690248371 361268899 135774993 280227903 384516335 420882683 930198213 280904057 355324083 258803885 98267753 209636859 852175751 886775779 177391765 298997539 491880535 762296939 311664075 147363957 474137211 228254395 79246195 294572185 208471211 824868597 516944611 584055397 723116561 947463647 694213711 626027989 546541367 925966311 74344921 517218569 500093717 864441381 899605645 696011597 490097671 956787545 883497305 960409111 150704337 868279019 613644825 963236863 479051683 460000231 472796813 336168395 918517521 19667977 235037023 743594851 337634071 240583339 347802911 947762911 383412251 589531095 214522695 203206517 19630059 882593085 775853879 842619531 401364667 381143859 441786683 540793005 471697449 811400121 970526593 911456909 748646971 130254197 425802533 220634629 93958237 722215095 337612071 495955739 512181861 147909751 291526513 307720441 495014799 819165011 185192915 235727089 420015491 853234323 891592455 861875585 144449355 702575399 298283437 348392265 995759199 698625189 117412687 189945879 793450905 394611275 98180449 986518493 945208897 236690947 296145465 985480117 935241477 522224987 894552087 218049765 978679543 439762569 60432937 450575831 759855255 870403951 586774397 872598815 240691401 60461203 675898891 913120887 693835227 387931171 484873145 853929921 976912001 120054519 183184203 632883211 698341081 421823375 220079477 35005575 347893607 254607635 627832273 789573009 212799515 428889679 158047199 480882603 659421001 219906237 589309959 525311617 589216429 232262013 59331229 484606951 258546799 596694611 41116889 227789015 981722649 70803633 143216091 71014515 918375841 54445741 257612205 662858507 739204711 668213767 721259073 419210509 995589165 38349605 215953009 872953879 792612897 79917591 673592059 100881387 324474329 851772309 300039053 646784373 88347219 589748733 412464051 787758025 458939633 624070743 617165291 555020577 807936133 547604817 293644435 895303649 155214401 627421253 189531381 538533779 922839747 289117231 252723779 296002029 74601743 46582457 222855831 987549639 226507157 688627505 877329391 123102757 465729831 60253069 848923961 269039925 627503109 97183599 971577665 594765639 287850195 804362525 419562437 313226199 435231647 105732741 650823779 739106441 939205855 208510015 95670181 935995943 309367405 475158667 328892925 103729063 891111569 167435857 230026947 821766945 48262903 445805597 518898491 534216411 923927477 312888105 345636235 455510589 484103751 316245589 218122181 870181597 35908757 973761317 741906147 229194103 682942953 401502923 780873159 627050731 240869883 633821469 727833145 60441413 84924389 752434585 551132139 685135547 718873905 935286377 463814519 138537127 482803911 554024283 933302619 649239689 452068863 104296679 396191491 845475601 539117463 429408043 177311679 980459279 960862899 84006127 6177227 679836801 63691745 676730019 52038979 305575303 174031381 564637531 98280245 586142063 701870509 68799451 995203729 242456491 341408623 666550661 186845999 902548693 122246535 852782957 671978195 75805619 525326473 845958473 267668003 176430127 797476471 287329397 566959537 667744347 907826609 409860349 94523639 789565813 317225479 633646733 152791383 170778335 167861679 306046333 601649945 419554595 212690499 123285965 345307245 241299701 877725643 226351653 354018415 899772975 776680373 722046673 34984481 12293847 53311443 651089611 634709351 998373911 105549667 550872755 103856665 698840387 613742093 718311885 700007659 14285013 455861981 824442123 482689663 346896239 192259399 818733571 267662433 278310113 748851751 141742067 910628353 335615769 466107079 52494533 34041783 461543733 787466705 386812423 903917509 821346935 708502105 613400561 733079891 147978571 442599647 311593569 323881847 892339269 367680071 335344607 688516131 756397343 371517151 524055193 359829311 363754939 378233693 857303401 222580113 115673385 943309787 687731915 659963337 531902103 460734177 444902889 685490051 736394851 239882843 440708497 21040703 607286543 360113823 474480441 554509415 511965257 576765289 701951491 277357131 363546593 242999009 266936755 769194789 441091283 348454545 71511485 832935957 366916163 734690929 611168307 433316647 908640379 422303709 238102743 148777033 195513329 693353625 987609615 847704663 683500093 26023381 820061165 604940305 229821219 671887651 140550949 814354207 410893713 787672451 384130583 541077781 964690071 682330201 936220107 246222955 100334193 980075123 532721393 596238721 22312323 29140229 402678495 906800547 771748185 147408557 391900819 532739071 870189989 49843823 629085111 787746993 724450113 17393339 110235547 898128825 952877875 556161125 498706481 880981503 254086051 671272361 504039197 960982103 988112103 104538415 421970085 598869625 547687547 123632897 808607927 154390021 558574079 312560533 528969197 387657093 107036225 415037643 98250371 225421677 679371315 205211365 843905891 230465809 426042863 858449297 944830747 352434103 395932091 470932711 687521505 87218565 741421313 362895967 707687319 26932367 166286675 91692003 267180225 314608589 864658799 896590527 771235217 297147423 402305077 761829543 561187807 23989583 996254131 40601273 503405861 61579023 194812955 86565497 102059921 35575801 522962121 607384791 346397421 658083467 134637887 55039781 980455347 440704051 838833705 602414627 885191171 713913405 387062361 399176439 977874593 627955431 314307021 568957483 332772349 560767055 158032037 464025781 671721777 145514367 81462831 217303795 19849979 505615721 593878495 979016107 964337857 298626533 261917771 651413769 414843283 617556151 442162749 105535907 855502121 310138501 812288411 757224311 677669089 716108259 382142585 577717991 332125889 894428231 608561685 622910405 398740093 646333205 375146961 239543875 978614887 993494165 517050935 260110845 903985795 674160889 453729275 890119421 97271155 247114073 909704953 847112363 14951307 906194617 348971829 500304609 461617599 471273215 361173463 18186457 560783537 258857981 822267957 884968505 447714213 668921967 580468937 263417357 976138637 191801075 368188983 754234317 270810111 452796691 880461897 904737879 432801339 403831359 906490613 763342571 448976425 841006293 262150483 536005691 619666261 735174417 703850151 938327899 96309241 370157599 120467807 549141703 423052275 53452047 755299339 139850599 120383949 639477725 352094311 527834501 821182897 786286181 990699095 234952153 681290875 374775157 974467301 62780541 83546793 995407805 950186311 845521913 258068321 561287893 840635349 953382459 714077043 421083199 424719125 731519893 522319957 558992485 847472815 437591495 217349417 69924249 53338747 111372531 963805109 375157521 805811567 576609963 664921959 805371887 629345969 211682529 15196249 561498687 126871181 68250867 671235143 559995889 188701555 837950117 295781275 647734749 379952899 785614631 788446305 240810181 590672125 463654925 286437205 611689555 244554827 941853267 381322961 627410455 258752517 144902495 916536289 461658251 175208545 823968767 778746673 224441361 707533255 620291945 179828249 555050479 13871549 443870775 885045145 955122011 651311611 113204081 955335511 927510123 276115803 558771075 435794083 860419873 108881631 144064835 835219317 907412583 911780531 430578927 537097579 861433101 351866665 170156841 622458063 158808269 674269631 507014659 383778187 603728199 266447381 567516653 464565307 942332679 879311609 39154377 497237277 288788091 460342109 109365979 574511893 866157311 772602717 934727629 351839927 569093587 680105275 975020985 942258489 806459169 2728035 103240217 291631481 322853113 368919145 146367187 876245759 413551701 666165767 377110835 724969721 931774485 610257439 402700531 10920767 566480389 378242241 624632107 603083091 706711507 774214683 5118305 725975383 462473243 162018699 771055749 471750431 560034653 905784467 346650603 877246751 334385921 266613215 815168081 588731257 475280475 175780419 422207193 835984113 230009251 66140601 579631123 279537657 690934521 607877733 632526581 120807847 119102311 886551441 280330201 94003387 386898401 682290865 861793161 588938907 311551547 876825697 736819757 244579417 851985979 721742693 223492189 1057705 859221129 973460901 82461207 506396139 383517107 88918327 699478975 497878823 652336439 469362005 33804067 742459659 381145715 958228323 253964405 90236401 654193587 323438573 660382551 181033431 255468325 579071395 2880973 839697251 538820067 924211813 890984771 845330661 812381937 465232945 709145487 153845587 591820853 456674871 605413869 331322191 490252675 449048519 344838147 257446431 63369107 962635613 684252895 844154033 213643525 171423133 527409141 693547165 48708963 191683667 182327333 778470181 642577439 208783215 23525041 412268075 233985427 407975441 10778183 470486339 837506557 748827511 24886781 943728289 436925579 58410001 320738897 975419943 187015753 451207279 282064933 215519833 529345333 152840271 799499211 25328489 886016813 283259793 639241203 337682989 785835771 79547203 849752767 683549477 746071377 770218647 808166579 70125943 423347143 670820839 849523129 783278579 725015009 480150969 901362219 851350545 951783429 762520503 89801667 558912751 288370821 98341299 402317991 871105621 487528093 768646315 374133349 147092915 665787243 746916799 247781617 429818655 998589177 832706877 832345513 534077527 301233465 751327127 704845395 7175109 355773699 177218665 282118171 574981495 956076825 732757365 969393815 650234405 997136677 717816231 576999107 838904875 34910393 301627923 330763271 143853717 960147019 438553841 36566317 692477967 536366143 748541097 663483755 408115187 99091421 874162883 240334689 27271997 21574743 672190707 138804753 688843669 784778693 806331925 796966891 572046413 46809129 795101995 430958017 950646617 826625133 113257569 959081939 481830491 485224291 734648843 372535493 488143255 962735809 234484131 952531107 308729087 379162665 87782093 245145573 550428457 635385383 327085651 92630119 105464405 667484459 751797033 447254639 322276201 671474829 953022315 749024169 127519989 510732687 634365789 79090217 950448689 196039771 560506471 166284657 351316475 200091905 682425887 530651489 748620763 799414397 927047999 822325577 619847937 270171051 274346155 900675805 196095809 19242585 836052077 730289981 946870303 89892407 280113339 36484075 178021311 861652445 893078765 821599701 117670385 68612557 814646919 620288081 229361451 465663857 589182007 716402717 261224847 285876249 216169165 534199389 168844771 808989183 410758213 583356317 364846229 921513795 806545603 743628501 611884221 722514161 685993363 727419489 10586395 548429305 894994981 401631493 791751447 324441137 503397145 710557937 953979837 563599713 639323437 604925111 78586569 166019115 528967761 378925655 962791317 435441957 643410581 252492341 411630123 271258055 829404981 18404383 964140603 768920947 570352023 462301769 848013339 356877423 87723585 993101907 827290571 333860593 104002539 866819133 863834609 201177103 375924335 35350907 980214493 449469641 749557709 107267035 956420999 173396749 795759413 841295521 489727629 104104105 81654265 436709229 625819447 533937239 500824721 437080913 466774133 152950967 926912931 817491389 559801819 628827477 524958459 652171155 663412397 356494239 182258315 295161365 361638095 645162481 549888367 805072371 112628177 25451147 739101929 426927167 266220521 254515349 572814693 138943865 64019705 150756643 58253173 21343877 554343813 896990765 352037591 655881647 856488897 316091795 39302509 613574575 285806207 158214175 299278913 527969441 844528193 19011717 952811143 516475147 99413039 697576025 374458009 735656153 668185877 365543713 289397503 80419425 603793517 49244995 947157855 882245983 208708439 311182099 104260493 277149177 595856279 291215305 423675015 819460541 618120863 845191301 765106031 321905825 920892037 965928785 428807823 941779455 887723783 724422687 485310043 390114207 40668305 659927497 791743599 199185583 564576045 352388879 916048013 140750017 384734101 550762393 210790307 39383763 287924263 22061819 214488255 963730509 988995051 132443563 547363873 387596795 884891535 596255757 639382571 584595727 20248173 230950761 651440745 626735659 213079425 180049651 616046731 110937171 27798133 358945471 357350255 689947633 828746903 498133715 644764185 369675743 430466013 34048021 437286577 851763287 897178601 752693079 922839437 539729407 695385857 89620053 897468455 829938917 155433235 79640749 36609571 817705853 136890551 387282665 44237389 737251749 39811117 474328955 717157269 412847011 884385883 668774843 186503193 264260899 927698899 455532269 175702045 886907963 8653769 736111415 153906443 964565609 323832605 689181355 459867765 677280655 273255769 867589189 689562903 942584063 197946791 263107299 617050581 264910953 813252579 363364943 587348155 672553711 95630219 350669369 76846587 23614995 45415621 216056127 943587567 406319301 394512737 491121117 800767261 492515927 715720151 437687679 735309101 45690761 17841733 26993525 807908855 211873663 551327603 388249083 52747633 890510023 880818641 276699951 555864513 801651285 968665203 865792539 402578995 886037127 2515997 365593519 827371065 539695137 579122737 282949577 366157935 326427475 820491715 717035557 298593175 787134641 169569417 370646383 789116827 374575671 860304863 804005943 261792915 737262669 702503889 671868407 6519735 586532029 816456203 586704401 291084905 115324349 191671525 72209613 937378615 678674157 717602399 81256027 456930515 492070991 685538081 131387865 387032857 179670353 322408823 391228483 370364427 172906441 401586267 719234949 477326549 711535349 397987437 694388591 891915977 954230393 436280561 937787067 354177637 252254049 78313177 560707593 252285515 903552293 927436729 332004069 523977797 97861793 777358037 364290239 665348167 28263195 822005265 54956015 97608557 472602429 223999741 460823223 255509753 174646305 298074577 820948545 272774999 995921985 228474987 119163805 964247323 986212995 313790291 386316997 731106815 337871157 18568887 841625497 426565095 982958347 980057969 580804325 482036189 93579813 179551741 387294039 777433877 368928003 89907589 965240971 618669035 841725849 210786007 413103105 437773027 890012727 165213033 724125731 379966373 526115483 264822365 923486017 124115463 417414381 390332791 648018069 255937795 823685815 23430185 601226559 680160189 945701361 729213067 882392907 878739073 524805621 777175641 118708903 790583743 81924749 858854395 413585455 656646933 130567393 185411969 378672803 829752391 740939403 108116389 529523629 982055997 148201091 63467713 424823003 847228941 560229427 398750687 438182059 788827123 947990631 241319855 995499899 994817615 800947283 414324615 858266263 993307821 824266389 940490341 225776941 554047171 277704755 704178675 25919833 371421033 907834265 10277247 500079899 780582821 425137053 35095297 550785883 203410849 904152187 846635031 700371181 832570287 361690843 343758089 884366217 713395531 110569671 658752965 609211087 615563289 209287861 348196069 136157513 212664037 197660805 281447589 620772203 708959905 591692409 292333039 275006089 782834025 565579327 802177873 98241001 479508349 64652781 828496897 762697137 151385165 752315649 150822625 237221877 423290731 940252511 885386613 621068717 636087695 638857811 235578095 438827449 589573537 665944981 323805477 496060387 479989671 358939201 193105815 975867869 68568537 731612637 168644205 756488769 590288273 226334035 207633779 370675597 754456657 990440445 950062371 811907887 194668229 494879893 177930651 157399155 919151041 153586241 451833253 26883991 386256189 482334095 615090091 187330745 695798113 134091637 88263881 66580195 118975861 795802701 336944061 100661511 785447149 370381023 989509613 399555839 379193445 119671639 353741929 143966857 932991135 519131211 78185193 487164497 771851143 809009593 576304329 588740841 598513969 585481731 413798421 981415367 795974359 179638523 556632187 889529423 459287003 257295057 995755599 635763913 630070989 38565671 32534419 385626983 863389275 852212223 432781551 253358403 308894819 834015433 997861553 386988379 934346471 6964055 205561807 459786651 940022035 573215977 940717291 980314579 489939515 364040483 166320457 859296447 251778265 351120659 486040539 984474877 955171217 645149741 987078199 195139095 780189743 664445263 272413085 158551423 944685219 354870207 281107957 599142797 869004299 109292585 354950347 831697539 828769195 459624867 817295449 870501771 5588971 757786281 351168125 33107381 995275105 266067491 726116799 838761725 992111559 646642779 779390543 763029823 650032897 323716615 718038275 459651913 13883931 554373447 233495129 550102987 902467141 796734109 499247995 304629341 469687263 588298743 798907703 644255875 188988263 813360555 926169349 705046177 439526029 334176119 277791235 275763983 221059361 478025599 340088313 976121089 628941343 368908625 121521749 598178201 336666285 681618657 980070193 202598115 503887633 241961869 811352137 69300943 786767299 480529177 407791111 367298101 826204763 492747445 309971575 768311767 961092255 334822899 271838803 917594463 150583161 803575253 944922107 914823261 958338043 508507579 282730613 262158667 858281059 810243701 800947311 732130955 227619601 821951287 480943937 786724197 486085523 425498273 91575787 719480585 567493531 767183795 343494675 958118291 109008899 82061025 614478601 386125571 583678417 283009275 137071301 526188099 559313199 864053311 547544805 311040547 49331825 740969813 178089905 470311005 799811855 666816071 578747673 338817169 356373681 205879181 672436659 326201675 874653727 309111555 24760765 383618297 390249549 261293293 420812321 225156343 119177047 109499643 954610029 240764037 201630591 380521791 885588697 458654157 791715889 804445497 936819011 458722527 374164735 485135053 503713331 389035189 215999655 124132169 192587991 391442991 512990219 795438689 612380935 280993049 420171573 906547507 886705221 508255521 8661081 557279557 221470387 869113059 339091155 242675587 95597093 136389343 533983781 942812995 398368015 296095357 593596669 937402177 335196563 611792657 717088297 928628389 223254133 792616659 974346153 642159097 527223335 551138787 554912159 529315893 522088895 527560525 505869653 277779891 964556797 302929407 172750913 208834363 397215303 212041173 165111547 927622395 968937391 682569357 385062983 840850821 433739751 299028693 134346259 203269849 121364565 484728123 336232047 141065563 191893243 892570423 434324631 411721943 825942409 97782829 73251823 632580485 849357913 310845031 622065409 47032065 296298345 251140115 688588931 40912721 989375839 988015693 661782605 280864737 636185739 363413011 726593635 700892293 549956579 600992083 620575219 914677373 266963977 558050777 85899341 953386351 247211587 388901987 271494637 137500773 1778047 609540495 751793017 243094229 874096469 709977319 275115703 107580317 436459783 860552157 547232159 867891715 751437943 730651339 372390729 532258997 362436921 652782063 667994875 985527493 7024513 975247991 889010975 500234929 330640687 839072623 928191047 922778977 106017485 771765461 143723055 266357023 141524615 898825863 915787453 83108515 912035125 356160847 321147127 528752649 397448535 374031839 765341717 102037461 978088467 871058895 761633393 647703031 223390777 901431971 646056589 375447745 520565569 158282945 322631187 460002803 183087177 796485243 956772571 823036337 304588569 729450253 194724315 868859273 354430753 967226261 368186939 543939951 521450103 99340317 195583043 784389315 513790169 328816279 963352167 465638725 448737969 427861467 361814593 843392041 955551245 404021933 286778775 897804029 742420387 555020979 731883859 976635589 275591637 261810559 316437641 477812961 895429033 246069131 970678643 838370851 876427213 759469369 990892147 617890235 216355739 396472273 525271831 854773835 822763023 279601285 765896979 389478613 986317009 354660717 999493437 394422727 583492403 546578059 284399263 611361273 574319401 154383049 581470047 712070051 850460245 854508793 306441171 750537583 836740859 135187153 24075635 152514921 898618637 516362741 330587623 123627013 601812769 838375661 729802743 978750753 959652215 686435369 520683161 261563139 489402613 390608645 903402981 73733973 631921195 160939203 205993503 892750385 88676945 453533575 440410291 98982161 811551301 213041513 22552373 809711069 350530959 527374173 859571295 682397663 913758047 831259717 376847125 907463885 627966345 668782573 123265379 905399749 499220369 87036933 28529017 7587407 932980635 206916389 523158709 958585683 322677111 34971087 256910491 690468905 742846363 223696749 639981011 858189709 66364969 510357839 858402611 848571559 812526055 986855855 618284725 84059139 892426563 322686125 891896959 227522195 456881493 8690005 864140759 464158905 810910429 646925463 342691893 882284345 900128579 46543435 266275889 198224445 944688531 877147699 226077841 174771295 108881799 344024823 343841597 569394585 821705855 243878699 108374603 628790353 448042623 646240327 644603127 636935253 959120185 89708461 408641697 907696601 234213123 217516963 607831511 638754939 66453469 319688287 957173067 124318785 731633773 13186295 134883543 353057431 902116611 473939565 973039745 858227539 228498583 376382121 765779315 116282803 320775111 371043711 217665791 281477465 114335195 463874471 489278369 616789333 620881859 345396673 548377087 460607261 27456787 36115801 348099041 545266573 960391439 357060573 208030523 82386409 728951195 339178921 233783591 450641119 975857733 25296637 692949227 326953863 252456777 222356737 209710321 481437785 417230979 121270985 397227981 9658431 873836665 208827469 815769399 12431749 211066719 962570605 826896151 40607967 577417735 729783539 758944373 407525995 165139699 132316563 242650757 637786287 52537161 865513697 839205795 584290199 539506139 484918371 871798353 152063351 176348189 755284097 155757115 709959697 540351791 860369289 792490293 720573829 668939995 140362937 535006265 859487587 959193229 486314799 948101225 298265503 436531805 89680629 912528403 905196441 570916361 125805055 897404331 231103763 466540027 579101985 245517001 691555643 252010051 363041569 622825777 848080295 48826259 488421797 713327567 351552853 792753745 720503361 197714871 648590249 334542717 238181739 390270755 627503983 54769101 9337223 915621495 141448159 870077589 436024287 906363197 198262677 983051475 170456481 748258089 65749909 155793457 621239527 171738905 670465615 13311997 796463029 362461707 658748567 778808365 596837617 455907885 228325545 741709923 366964589 227732435 34814251 552113891 945158885 132011641 753787947 386642849 45553399 817830847 242117149 632633647 170277933 448677489 364599519 888586191 380078841 220752261 432005303 150819943 568795315 551017747 998335313 396682633 492919967 85245279 221984963 161711209 163468515 203753943 404434569 528918503 347963793 917818891 992249995 532626317 709122981 524841143 139854867 406759557 986692605 259152577 956196057 793975467 226686563 414192687 666708985 36977533 249021577 919897913 972936951 105660193 499916551 977193271 409590977 145206631 539903071 760484271 325561519 808395463 835245051 408567627 573945723 153227615 131649325 728499421 865726027 940497399 910600235 979730019 64318379 319629053 932467481 654558717 519712915 931623307 107721471 82687737 498770271 194647133 505156301 327076041 388381397 129929437 84185185 942610439 561894177 303392281 439415159 176018809 763978457 220490183 887155899 505921801 221510649 756372809 614680765 635943625 365525735 358375589 287989495 181064695 741716339 136226697 278847691 82990579 680346573 637051981 271463553 732164427 290625941 345746673 358396491 662630065 509829331 441004573 111727937 176234497 826670319 673606173 177106533 407183677 833824193 619921387 815107489 201407889 630288007 29218853 18541765 194009169 428645091 916732949 827029643 791144951 524611047 843260581 610606997 518593317 872480517 770616177 479471977 549574569 287013147 509084087 421730173 962704245 974282605 834216797 410416167 829010341 594256555 908518899 47038377 459614589 920400871 104689585 315635501 492561253 90822051 116670581 759977411 465855987 210830527 703186631 361943909 516545247 80701323 7843029 655360499 627784209 17455291 75326841 785265209 570785939 892628589 534848815 53481191 160869269 370554151 322101025 206269843 455251829 273538261 246824989 700617155 76860597 580893645 365693849 535863775 943845635 390444493 473143991 667881527 447853613 88541943 899798331 195547141 699907893 496393949 916631703 468685417 347287865 751961967 522154723 759560047 114966661 719832591 984802779 635067653 305665933 850747519 299964391 670643207 637305327 208119791 464983319 890017589 693839721 585363441 536110627 961950265 439218411 162858373 498116971 602449571 589004677 363554831 872708595 113468139 789457267 535256157 708058221 898527095 762544921 155991971 704773679 919831435 952622083 972877951 437599799 533323867 842300897 570017783 371030063 839549953 793982355 175517303 324613989 759363709 796109335 706455251 845840337 101086903 238081949 375414605 140315921 770594691 55183989 340238469 450141549 412197017 89573917 797939339 94491347 637765017 937031733 191225813 915504093 265313551 949087115 277468221 219233479 920878953 40185615 295038475 753365115 343730689 467460321 264165613 384420743 157885467 331588929 500955893 902039841 920716255 356947355 800438179 296157739 126954843 988239745 443236057 930698793 942546317 389977009 864027113 414012493 391257939 718366475 638978181 957034093 258217591 586276253 274094539 729444873 126568619 322833817 924215615 75785545 164059273 893719129 311120849 965219833 559310993 29779299 221244629 543639187 508555819 424428385 131603207 651045173 230154409 321890599 494813069 212508329 738796103 308358319 610739957 281163609 807554851 948455451 729618995 270815329 296355399 800220857 477719975 819344511 15622309 458291707 47952915 12855065 824128023 835074685 259660709 862446399 446438491 844498689 824034547 131751 690445853 554311027 6029817 919027891 462704111 189682663 299842335 121205609 932262215 975916951 94460975 589633657 956589449 299725287 930775393 138648631 65258749 128905057 20859473 230524581 131854293 757367993 236544259 852719211 784677675 693235659 618075365 623607255 629430781 952527515 254499279 867833311 553919031 341252689 639178491 413850405 335604651 480564291 747183119 628573421 759493391 872286443 359959065 502543913 68584199 786880749 633992333 491392623 21966107 496463379 64034889 662031615 414726333 953414737 962302611 571408321 186953285 763065539 875394583 658802241 52503029 695900845 313421801 418415289 386622711 541932151 499259019 209047303 581717085 157352119 82242269 211536307 137189405 513194793 780181807 406932717 34607643 959862701 176143415 968956811 745016607 910900047 578018831 539090955 704289753 153523525 976056129 800461207 737652709 702365159 192500149 247929597 210746053 892089787 312222659 675467189 224876767 741136489 40653609 438743773 647148165 192245191 637451787 869843005 420001009 309492433 99574773 361420611 515492677 727142567 164227807 759136265 969894793 620075415 954359845 399766603 78308781 154247185 140673421 741559921 739718285 737433013 105288769 732547725 935725801 234561091 150104027 391642963 674604139 354372773 306910549 906980133 386605731 385734643 357001751 906289415 953472523 770318947 359909099 21456299 191109381 790926939 47551751 849524329 68917465 387309415 168452873 864643131 935086775 685369657 26592759 693961935 349074107 102721709 647825469 332048239 884609253 693336773 377018033 395470869 283032095 861914029 597889937 110114399 744929081 340394423 795790721 412593301 374461933 980417121 383792269 637752487 669213147 587056459 232530221 84493099 964936079 479549251 548845371 523041887 102518649 626211643 645043969 77588781 796450033 277411663 323979303 5018147 424292663 566978497 793580743 401568377 964620409 233526781 19417691 244161805 109543621 881776023 24985289 720004967 663639829 691482441 593816415 892040885 45366857 571354613 873901521 908511951 803143213 921884585 250957117 891539767 498801263 956826777 784142633 714311695 453086635 513671197 901851777 697453867 500466785 820769721 963269787 362589951 846092793 971484697 341463603 299499949 36293063 832129041 301358191 127428601 314242051 313209243 362627039 574046293 602681037 709410011 641841011 521656791 884975921 294682907 47474573 72114495 784106013 105974735 762312943 617831411 570191213 62067091 244707271 422269187 372889313 690358059 391109805 462323751 371790625 864021119 629135769 576802495 479264449 289703333 901432565 519851727 747319607 10665431 973663885 457292807 889368041 74461817 869901461 644016833 448376091 59520023 629114027 740789499 340976385 43022689 504946899 415669081 978879157 462715957 15023229 477383215 513688885 560782999 977743229 138027123 436140143 519748527 498873615 60142275 375915055 133996755 331665625 57302631 57488179 956548223 241477097 47493197 909888025 625505107 163345845 701329933 912343147 846833949 808093975 742514407 632539549 664195021 935076183 929050819 887756803 219924099 577723169 538166063 372763619 687609981 26046347 2108001 312149603 31620139 359577875 577086521 349340309 924230685 562382493 140967745 689387637 951328785 680688757 446304677 753273825 474676711 780296531 927152189 226928035 950561453 898464083 253653897 6934637 855235989 513436409 565659823 500635097 441026809 129355317 110860927 135379813 36794207 106503513 65417841 694385533 61232753 280713765 108535203 702228083 433836545 368740029 575479261 324136829 222028045 908163247 752917647 283833279 977784501 845065711 602720207 898752833 234965319 226863579 595901275 854566901 198233909 28041273 168881053 988843699 863854107 637476917 688294563 38341183 547547579 804388197 567667491 633495103 201176833 742035141 389007743 967608901 101476607 884347837 905046717 285545675 103851507 141581079 923911563 177414195 799848511 261999627 345015107 430495685 341835117 565302579 326464737 450812595 293718833 712130969 960436749 584400149 484406887 445288357 183098393 567779055 840535057 283525679 291985657 632522023 490493019 120861045 938083405 735878799 843041177 950031899 642909279 106882785 698259781 631735343 546632475 144801727 464784643 79439397 298423065 745312689 926926749 82111963 465058969 964417319 276454407 216628117 609551489 334178175 364402269 522554115 172022625 985316853 690736865 974459961 125087345 860714165 797223169 984420019 639599759 82919887 984150093 830487127 268817219 703878717 945355137 489830515 480903101 116839137 723444609 321337533 853952977 808317313 633067095 884065871 461461763 321289171 979641911 226755249 605854071 435323501 8552575 980745935 171263739 734968273 226163373 307809793 872275979 159461225 793021297 504824063 102705347 537828485 1621915 952905459 68619753 617019231 812872487 140867175 209397233 97810969 781837881 911914579 667053037 680100793 842100251 216841491 904873631 771818293 649894979 534794091 819948399 285008483 552049993 12427147 407448425 229624069 430843379 704047111 506075207 636041669 526736939 790576859 201894249 232637745 134513667 971316333 692442323 610564295 555347639 651384459 270241847 841082343 648970667 169512809 191821291 177375449 286128491 687454373 930778607 453058509 809832105 86969413 463237353 138196959 790157631 418446261 386422057 339290639 493282099 893775051 942067111 349873221 958834607 595008707 468184833 88191573 8985605 106312517 194344575 534902007 846756019 461242715 328993553 202038475 505773145 469155965 165239883 716499805 487034565 744003461 108047729 788228123 155933161 284279227 950105191 928440673 82158305 235784653 302368955 695208815 398940399 449239245 668350633 756516717 164075647 45799739 599028237 703544943 956767267 350095867 947223405 38272109 196687257 713491291 308741883 93009223 202681537 375426575 282090895 96751561 661183657 891193909 189587877 770493601 108707971 142970449 888754789 323659115 392108715 225586259 626801825 780077477 839388579 296525455 490366413 902520765 467035415 922261185 298716425 733757439 309522651 375936785 496576543 256163241 685856233 163895049 773622395 437306329 307990885 256823967 111231541 520709275 636175769 176107313 576442123 898178013 331500793 651721351 263077223 808145529 914390305 199393737 308574041 31214899 824986579 782778511 380275603 701606833 52725243 457161175 638547577 647626119 259936429 592589571 394065169 945152299 610348579 282731237 79120907 444722435 156207809 568384687 577703101 458865747 458186769 895130367 159704101 230473807 61625801 954092761 480728557 717258511 34010305 389686445 760884067 781926551 453332477 251664717 942499453 127388621 96084395 652282617 46977245 305549189 733963291 844643925 100366535 680895861 715800777 724124527 685058605 494153025 106398553 127390397 669898151 210855281 596156565 911906329 694240113 884234359 437251955 426425291 898787443 800908717 940102155 344962943 593982783 462307921 132965539 130791755 232972041 791168655 839019683 220954283 921068209 839888505 631853473 745338247 419834305 843113733 426442329 784569641 205592931 848399639 979518891 881368905 482365299 657362551 630470565 70802689 241701231 537141463 739047543 737660891 99902845 537535695 717894017 289115839 950753133 502335713 810081857 453831429 384348087 104531575 810275687 943659883 817599097 548269795 122517955 328709397 902907515 201670235 144665939 197978769 762253867 719673603 29326391 578804435 2542243 874689507 648180157 826399289 602372255 586734061 558284119 469860233 277246345 505675001 632596897 318125807 558217327 24076489 563138907 182035711 975139079 735398407 25103989 920331195 19325107 818246979 462438145 652653443 380187001 624047095 390578743 79584807 234902279 682787717 676183935 525088221 64069557 823399477 398989153 617792063 888963971 291712057 77644945 566114133 692654359 152302249 970088683 909179531 255036099 851457159 30528625 703496633 685047163 72231357 211158607 376073751 1471967 7664667 679895511 488464719 685418809 750915675 694519687 332011629 873313907 608105247 609639425 762710245 53070633 856204781 472328463 177506707 39802521 352193595 29333669 682588097 340865705 761247327 521759711 746462233 912235753 703804571 923841535 665918383 233834897 120279577 831308657 823969027 396898943 50522601 225175241 365862649 970537531 930793477 424186817 951040991 810234611 59668557 953382973 599138923 549928833 265018253 362964295 604190903 610767457 330304117 185878035 734962507 736388797 960328861 634304765 361943059 501552995 36909959 357011081 435826021 568466889 295396251 819015263 549338365 868758289 408753453 445687893 393310979 707047679 899516277 897075045 590463745 370465541 866284437 236159155 382972655 918963001 657173395 198843529 913774633 318607195 430503781 527346525 432471667 958565843 743995359 715656903 188351227 124615853 685797831 407779469 550510937 559732899 598682309 450513815 263950983 992192533 854056553 293412603 640807403 321641479 513049899 398635763 206496849 954819883 397023089 586850277 717270259 767322837 865226879 505090391 132363369 504152073 591451531 514006273 822218681 269733995 636671657 724970939 152646995 452190027 395141087 467042955 558953483 279767713 182232597 470055321 680666141 211346955 543192601 88893 341916721 637771729 185602985 674653933 104115281 420623329 604746339 67252303 952166643 85435093 651903699 413332527 255338487 345130217 194029927 923927423 903667615 628481799 837142395 196189273 638619545 612654523 952548429 941910275 280961533 548931137 605120011 360990951 394824771 193509747 820018369 248952215 65677909 301274333 385330029 168440785 902043519 544442283 871340269 154593909 887834485 137052597 239960331 344357265 900058963 8731259 634689915 311535447 774943395 568132645 651258577 800327971 649204303 413102207 218535827 113642103 420909483 164238851 764905255 685259263 982548855 406185167 169039073 155437197 709529305 201740203 461421303 174560799 447419995 501113095 62406541 804952279 210747635 998602745 817059755 608189439 267974399 714679105 303723075 839190283 594124613 70977605 847203631 809234071 800094193 556540437 640640557 502059365 156489113 366676583 966839275 959468385 639886395 569762461 456747253 519366303 240062009 328404157 607998151 594543703 862128997 610006133 950379203 487430129 512079345 589054495 196414771 857789429 605407097 618435511 138405445 645360409 88294407 505773031 817952531 876017461 100343043 321258749 322556575 541488205 270080583 785207791 774919891 246555021 601685259 417470815 307291009 458852425 476837115 590419089 752693087 221391611 187217693 61088887 138435857 336175175 485969643 428299943 549733919 677080567 554642243 783894625 620583419 844908033 853483365 401670027 744618237 49578877 608214019 311611831 549411687 435686831 450067505 579613465 830697059 873085701 41060459 845549457 913546499 9288207 502639513 444673959 200857917 226818185 989036549 791970187 697860341 385514583 729777767 951444499 10625267 125912709 397451481 576068029 189112295 267277379 114117603 627958707 412110191 696634351 122292083 124449475 965356807 836803085 170923483 442626661 253325595 128482375 116479195 412880311 151576571 77823087 77280917 345166465 545232097 211659649 411596443 584864817 107904239 959083169 598561503 751681759 345164845 707141659 42544831 484036173 670370443 197344865 302246911 825096925 489085157 613884685 552909263 291819171 359165437 586709477 135232451 720796755 540598135 814504915 875128023 332377167 361577193 243310057 828820593 409984923 366503117 507219557 527524703 812857577 443920255 958297511 288865495 87390607 756257869 342746429 272106867 585048717 87825509 844247257 137567291 595617675 457197539 391118677 768138139 46812117 494134983 25059255 243266153 139113317 537844219 872174121 766415587 221902809 424059471 30469885 525775787 231657337 985081213 94899633 456699603 446489653 729414439 691675623 451841227 375407267 444866003 541866089 949169013 254771457 333907959 230200363 37943059 886956089 759382761 193770311 553026389 424159449 250412011 774923269 715317327 430464537 197370661 603416523 874952059 263476951 40352427 809253933 829925573 833343641 643140469 74476009 226687859 830148755 772240995 220550625 545508159 686071959 771981633 263325215 762814791 462680615 739105213 562573015 676659467 838568811 137047667 164298597 245595005 199922225 775468003 38795595 320712177 361872623 200559991 856908597 437064485 574254021 566538365 439909879 366676539 900413309 474539315 458087819 934793667 590126723 16210871 199553557 759410355 548924911 514343701 855599839 884781413 835135617 54484539 888609631 865387683 688418207 891058437 987486253 767488149 339775577 329063731 672553485 240708563 721565287 295194989 560370923 43650139 446184231 6519879 732153051 79851665 236193955 427426617 524921625 615408705 209164933 158253475 372957445 517508003 186543401 211419087 701197099 856257619 105303691 579708399 161105471 149714007 967779669 659122461 200554015 566370075 28189653 311982681 824363721 967896179 126178051 947683211 254987629 633034657 258724221 165642375 428882267 700958277 563282571 332690947 87642895 773849967 906160411 90403491 385034029 712596115 299149509 382841841 665215361 255648401 989450953 655926107 951256061 663753387 17861391 674650939 346268603 40690063 957932837 448758229 246638593 617436755 70203201 880451663 690078007 875819893 434962243 111953341 916635637 354374103 958205877 238757397 6748657 812630987 258025667 127098171 416215825 557771265 490366789 707575799 497477217 582360219 827899323 95400699 13888787 584086045 727231819 965369313 106200451 351299185 799444165 580185639 664694833 728822769 919086497 275829305 824820941 410875991 868060925 392202345 170142505 766292937 134212257 520088045 855013949 74781141 842286077 765169641 332990257 200789615 81954085 639368805 463971405 826036981 818930653 671387987 533007365 4571949 865557641 403071883 423705587 303595075 299304249 235026385 220377053 324945869 851109539 120634827 434089645 15056071 764677929 231890699 170205559 159121049 966310353 20059149 553586805 572615693 728159561 812613421 634711049 997649497 5979881 495537081 359121345 911041053 970393011 30131425 744262991 882580571 960849225 10686141 924619151 171189123 179874047 410469713 760263555 665653863 171060937 441072515 132151641 781061447 32244807 30556709 850378079 383333063 282655171 680689 306682133 188948723 387626793 809043337 223553053 36571203 494801169 643040373 254718785 584489107 294440889 629970471 260951927 970157609 955547661 321789431 941708503 138747057 668919447 105560359 78332325 304693823 589881489 60398049 334341965 239841877 133550809 823034933 835420515 177631955 111188727 554833693 866775201 266045193 498934809 314128251 510104555 999388843 370365465 717159191 804766027 70728409 149005941 263471009 496416503 873846549 522187089 649396661 186651207 214259789 987059329 941991891 584993473 786029527 550385787 847990117 504934157 895186545 471896413 314699707 325600257 484574013 118200301 926891279 79431063 767669965 605495455 717024131 374354419 756945427 372326021 188396573 692798049 271796589 121000545 796463571 223251537 752646559 578776475 904631419 702185571 651683033 349833023 907529687 219255637 858678189 665688327 361299089 236305175 845680667 676830803 211944249 675479993 329014919 908306727 845390153 768558713 846951615 350542645 485646881 891345079 20489463 971888339 450375181 607112449 537615055 139717633 959533883 360581639 398922311 677651813 834500295 625354153 303399633 502462799 974678961 867361255 812051521 775564983 995502561 176231915 552505301 479823931 117606187 410772237 772758319 211728163 830713927 652142019 149136737 986287711 536800215 963434677 788214235 507118467 106566497 58993067 929713535 980094931 338345561 546205335 929449359 627537201 972231449 850443929 515302075 34345265 486494689 107134193 325028885 184808969 280778715 160395787 399016477 509485463 521909269 974946425 256406967 932983905 470525069 566143993 229710639 7478937 574052129 631984749 974678845 336326935 868042909 175945439 362324989 912709719 614359983 944073347 71181301 613036929 674978803 200169909 725401361 934014823 404348135 614564599 857650599 508709757 796627705 966722549 249437043 786410211 907884151 475836033 209335963 409583459 468013209 290746777 477212333 971206247 318044803 293531743 717529503 463895563 740790847 582297885 720266955 771989517 765154235 274699847 734803449 607588563 882240977 358862713 891604565 969912429 553918789 817778295 530317175 223832979 967814077 708209193 198580823 309289123 2632397 923651493 104995423 80783013 194837741 914073893 749501017 800848457 325851773 230507789 967756669 55525091 294364359 821535463 837355623 603194231 624828157 805522535 261336093 291997609 994784567 566422121 598917897 230286023 592788345 324709873 776692229 979917005 976562857 248613671 69054283 810077015 341014427 546433633 800636289 416664235 120202757 48294681 778939061 244901563 739807115 635492595 347187035 402712095 556624565 394794683 791143761 300360467 994831349 147217761 984525021 590020223 594786469 719323397 637854635 500946677 255194627 308599269 483224017 812890025 82159163 643483505 121816781 669715835 418384735 809920825 820683905 644130291 205018725 786293753 368467007 951967809 547054129 794246293 537783223 905301563 524639883 956901145 298312715 725726561 635523877 187708343 788094141 653175257 910791831 233276873 481652413 254398323 73479013 521699541 721614173 367275687 940197109 97578373 265059165 582924179 804163225 489868459 828131297 678997247 420468363 992203331 84222327 29000025 398902509 569115763 187337491 20900795 498729671 282561665 155253523 934598881 723803915 576942053 477103675 237546037 121765777 376555833 494666939 610616005 568613403 913982271 356531495 248140871 183389011 735511011 463152507 914112029 993846217 114031927 587338271 231929421 660687609 371664505 394374877 35837573 799849023 242530057 311709163 534867741 462584297 602219893 349035753 647602709 507792935 101090927 526235097 170073107 220953617 581885395 909145641 854620009 992735913 396448163 21214639 293477643 110828505 837567755 394756009 162100121 985095537 714798943 465550779 438031963 562943019 793372951 571740913 674230849 717826729 228477659 219832003 548001505 138910835 529971827 869777421 63357819 903394041 666886099 490313237 124258293 786350231 400718359 164401541 596436959 822176653 787670145 762575223 245838193 548084997 792343935 232667237 927057545 606092303 480280479 595770165 625023407 699597989 405767329 299923509 522942225 502090921 449584231 204274713 450944393 398791905 97809915 501039361 402144659 838327811 646578323 543483245 407031897 880711589 613279367 693441873 319687335 976336201 470424667 798654717 736393721 377685847 902298043 143149103 164338539 242256419 467779195 247492367 262515395 359126245 971512725 167986471 645430131 353650367 95017005 68233327 327963025 356495287 643487375 362835009 47304925 939068867 131632939 739102311 242163647 648180153 332583839 710483977 681364547 82640473 395474351 622881985 834827043 737860945 24850499 994364807 80004799 858201647 902054515 471057861 838639131 177382253 433418357 768000583 54702569 973793131 798379695 75526721 302251901 578762611 865850539 141328977 410369499 475979449 528087583 49360253 570067623 424291667 947550691 890017329 970931505 306442049 209754877 320451395 63517553 974253425 158904727 774364399 637721349 790732465 763148803 566919643 51571765 848086713 278159805 776639511 882584303 995353901 338377323 706547219 481447373 472192663 282436819 81963441 511763211 508513125 721643501 15035699 430629267 404015859 634074067 133231175 698422769 193859199 779564231 205275395 889306977 758211127 867800115 473363685 541995197 911504425 712863663 991202769 485205393 55708493 303154161 73814291 104005385 287451783 513325025 909867619 411385085 900470177 424625031 530693341 995675885 90670665 278020887 53589511 791361791 500478745 489168363 327529675 755292933 941868693 877670793 553340547 624979827 736885795 332250779 867494377 15318633 441109271 919694837 264276515 659968175 173899687 139063183 904722367 205824693 71321079 872826257 546655155 111104913 490408721 855041859 563474521 911724545 787992547 574024217 881737337 71825777 444156999 772679855 410320447 512887531 483391489 69253575 182420545 52696615 345125815 265591629 394170493 383392903 440460283 140189525 275216213 688292369 399334985 438784281 139187353 960207475 213885951 322921469 843235967 487444487 362771303 932445835 891137187 496615625 621805235 746613111 862706953 882294627 910960379 449371805 643149089 279765027 745335105 857277439 523195069 226058239 512814961 636217547 625189149 619062679 937301335 670410831 833649637 157616693 991879599 498482445 772358179 676470981 50130203 887005089 805382987 921702111 95412515 909586909 398495803 331846595 994153785 429852591 57022009 604526423 942000565 184489525 773129201 965114157 12964571 367475891 110359161 390900089 225480657 382759313 360242765 399982619 413692329 88644965 151075411 934710171 576247389 904848361 43343579 971449385 551029711 912959233 991454869 901488795 395084999 128356793 575892387 449842543 865256951 37846851 540520583 295235535 170202359 840656377 434493743 72670857 360901449 445524575 503111665 10640149 856831319 207938083 992453259 451594385 525465457 57122581 943480097 96876229 480697553 800291891 468606273 992100639 294778009 310413469 205081823 536863159 810184401 337568927 591888727 563073103 818257769 472450735 817002611 664879433 261160767 366759527 115092829 914906297 295005455 150991751 216456105 684947795 403652229 949953279 350599769 755423609 799705905 873693663 753875661 697999919 32667533 287066213 349574613 777931303 623555577 60377329 229140645 475719351 852672449 797730577 694683613 182239455 783198741 942798455 354394237 799135815 100588301 236719103 74689785 977845307 53480619 875600043 561236001 324834997 641486295 79863461 84853811 990585683 641643877 44590661 753305047 241484893 5923597 362849027 513463063 789114819 234816113 693859457 69211243 228889627 822639127 158631309 451736495 833340835 325943413 33991449 857577255 720711493 343625953 602596161 650996355 534156687 200555165 995070535 356402645 903506361 329403857 153427351 378226845 693880993 495540369 544416965 723842239 622269901 544404949 346842249 113457545 724170865 699032191 476675019 86453935 91557471 466820693 764185235 864636239 436183833 580372237 359695637 594558191 739918023 203388219 238943405 881495163 387910967 75556197 119939295 568980297 149082335 524464371 485341267 924365333 440978399 379136309 91549151 351003655 372582145 671751779 572219261 561455529 224940209 680967331 103198031 731584499 562989063 696482553 971098277 76029759 681117123 56710745 567564525 40199253 645579083 748989597 462704325 105061219 678703023 418490245 486191857 654545147 786855079 927191481 442299225 738414365 284908433 295822797 36336659 495071277 224014453 93407033 464536665 232735223 364651779 956978013 449127823 228522163 548118929 232999555 732108351 426363901 100254749 654178525 561570079 11355099 965227857 125243269 107689991 15825335 486591867 96628603 544729853 859427691 492333971 636226215 378439977 711809585 138204215 448515805 455396833 33387441 221611181 307242195 983784353 622866677 383023593 606159661 494199561 245987187 602550141 627350389 326843365 140613129 290217131 139705113 919616555 510673917 919792987 470748275 326986483 446790141 384051481 442652103 185074051 69785883 831002657 763162171 777776709 16975317 573258317 931111651 143481291 562831635 6660137 496037301 842615249 312703263 673886177 767326357 435927101 652564145 128114765 697477195 832356887 903540709 115021803 80125833 565100689 533009215 348158439 936630761 615633419 789457071 822764811 200269545 251641093 365091975 274629329 978090741 159517995 110458503 602478679 183721055 995206735 521400531 901539685 865290333 927307119 482018553 412716907 441179667 292626347 490798317 888121469 742712201 754570065 78234127 990314591 982247601 934128339 7749663 135179637 146364005 122512845 591547983 125766095 601152867 609552897 685211187 658655779 674319703 209334363 458201289 706716371 253858257 45123053 491782515 812571365 870447437 247519477 476482817 781372167 627227689 337732565 157387433 360809617 946224047 91754519 320530183 443873411 683311887 76453743 35497247 918097541 161170023 762518713 793750367 613025253 512400307 220721911 745752223 219595929 41475551 167047253 937577239 839592513 751231419 23288103 131018097 592377639 930401025 488035559 452080057 606784823 694800211 40586551 560159843 284722953 7309625 202195687 736060237 581833947 170486053 434606309 520635069 168992153 873562223 291337039 417817181 43706829 532785241 718254695 555402823 603195569 344701197 166116251 572939765 273931555 959188635 374247545 915153231 476316843 486013949 315244995 811304351 624860279 70738453 282606165 729419931 913634913 333845163 898689089 468799841 287329767 43628911 103610805 948851063 255797037 841079549 595359247 156137931 624262663 889822165 615091923 508136879 599332075 215016801 711706281 789689825 626289143 598476017 210624615 268969865 372538353 775995071 171132425 937067827 490962763 290723053 797628847 261474769 941861661 874648195 18842789 924391365 348067875 543890033 819222113 477972947 323795397 299889811 196728699 15536677 456716053 676720809 54381241 304590165 222476743 737485149 990936067 726821213 502427965 120678207 104029041 570961571 388795771 621812681 481231417 828967157 841966643 896071771 427247041 422272647 516940731 471596865 636178069 758483191 95160339 765190825 939247463 27028555 385873377 198593967 163314705 899930607 918543221 659073875 832222873 212086201 715954631 643043711 979156521 973356261 92466549 450888195 378184211 612676379 33011143 614873495 924955861 638008677 808073643 385651425 223387919 192027451 167956667 122258277 601193103 373663097 869349941 575257241 470945095 645478755 474263549 430862545 44912721 473161127 362241959 730844243 607196915 75502941 781262697 177636935 291932055 688971517 108041503 150367677 989327057 172538737 759401813 52066477 936127579 912123141 44738103 733623549 681673239 365844589 36365471 943030641 823878931 153944007 81070345 574929085 833313409 443496857 119775389 907387 941999293 832030671 54134317 972337195 509143625 359152829 74622765 923146805 961706705 181652517 434695869 870893805 531012137 127504423 499544231 733964681 593368395 41399891 42639445 679119151 652966745 209368221 73680355 470935523 862984867 264196197 135826191 699505561 693457303 622551405 796999743 345609003 429881811 107924195 983276419 127275863 25103641 726495837 354959251 884670923 48426069 298566873 740316365 565621267 531489435 24757179 828561465 117627565 118502437 603017679 122218119 794755063 160643415 331336269 285233931 15737147 561360315 163030993 164640969 719787435 768041223 532215135 49826149 640693601 133035027 100682087 331309 67826267 153731043 692155069 608663325 434969989 274610853 382771101 207974865 725283249 171072681 794461357 936378511 206068373 118886763 836604923 602055497 968228309 548358287 807419899 565112983 683336699 471301343 432359051 29890229 250475381 182425425 413311985 677212299 69520797 194883581 611748825 38669483 993274805 81238313 480915033 141218377 798873575 150598205 404648685 174491717 378170949 959456463 222042493 403158055 661892549 176191899 221492051 3405087 509109067 608852353 422792743 669673219 587186335 782466189 463230741 804464979 724542323 799676149 714161057 390509109 123235423 241115667 954528953 440023417 736272359 638308199 41600949 279848343 148358001 796396961 418173263 431236269 555292751 210837905 369253549 510093187 785368763 316803381 916807771 879922311 909720279 111660717 185834833 65411795 431492011 367282503 10896363 319337763 439908393 789697141 343205103 158011105 317897257 474664145 470417545 717320987 248947565 263474465 894026575 24951687 329198751 215784783 422986557 534852487 832086609 83097455 398394041 386631967 489136633 681055417 572827537 591042051 83598073 792100501 702369275 10048645 223071133 757064587 763154833 742142119 941753365 781383247 255501915 483229455 414179705 184652987 188899271 541689871 460808907 52980949 454410151 414099611 132017653 402586567 380470075 837812051 651986631 544326373 341064229 930518399 646291963 166589097 901849975 350741519 505423411 838927797 377829539 550142105 464690935 899984857 515474567 282632285 173745591 386562819 16002151 257149249 916353743 212279889 32042227 502278357 733844607 190579973 151682365 521157969 921293809 280021387 105061831 828378771 530372661 298415735 233920881 354806563 454071621 293405571 607037067 943678255 729655043 811910289 830660041 784164753 196538421 355336881 308188489 604331205 377986449 516957457 355914641 749066741 109104813 190402575 495685261 174600173 142540555 549049389 202131603 422270505 378853653 689489177 21780321 910764483 545955611 163774627 377949977 486953607 762625109 747808199 392594765 471454177 71306729 492235177 327692269 28825065 458918875 320866963 32768603 329032799 773796385 605625595 894765145 627552683 738511249 868716153 823805719 481453017 516789485 132041425 737762343 386013091 737879517 830361329 316088969 646564711 215114741 628904937 693255585 37435951 338396077 890729973 85420093 679776421 412015973 547910009 554271121 811895845 534683241 79208961 428315707 306857389 382344167 663599935 967009089 741294307 259743739 904110093 480598799 279782679 41596067 372213617 89534585 246429761 648142029 177352083 191863745 725059583 175202631 859330761 307944839 238379673 803916745 889484943 614268379 255492093 824468985 474548869 130084147 658596549 372762715 824258425 639632233 562720045 822037347 384726621 346215621 151221791 325236843 796868427 662608117 972886055 192419507 424221833 664437771 453368961 372619363 700388737 52270983 741244423 995617679 767792581 514014539 311359557 949391149 545782803 59985065 150736487 236876833 101104971 681786707 985892933 408480309 376967547 989540967 816783199 205454103 456599765 350078313 789607899 53476705 737378997 672276297 725486475 142958999 894004893 121163611 858597603 760296223 112482617 486600283 580096003 283224909 285398875 335147887 948135859 214222423 167158017 56788773 344260195 124565089 980773451 227163761 276969257 768052341 913190535 240484275 248043203 222169473 180020009 373566891 572647579 419531103 375402183 870267021 347071423 790874579 101651499 507502313 564292583 453058947 991070523 970548925 223841905 403937537 254076427 393997425 484992357 978395081 236203481 240518095 683209329 859013433 106719239 116087567 246662639 769212827 197110559 217099725 976506331 406588705 879345109 954774029 421421279 151161059 627616261 138506557 688075079 246025701 918251443 971723061 168309263 327574029 781864455 804853039 944307153 37367085 309632087 329351377 436812761 551709183 312125725 902086441 93681939 857712421 732358909 767505323 915631895 565906471 260883393 995516725 898190629 514234487 509898079 619603725 372349219 628832365 922341615 153080287 980595875 355748429 630747573 235607743 523182041 764560701 214541343 895137839 302103205 706485327 52601021 701693199 779872655 938492797 149207883 294136239 213400263 391470249 887905709 898719941 525394723 387703451 558498541 257459307 736148257 882971141 669415489 575829291 97711083 964708991 1948161 476372717 446348879 652248459 620006067 12370441 222752197 469721491 184850431 638096445 567045483 445866215 831005117 552847789 575406855 414645441 268752611 93461477 143112717 36768323 700207767 983092445 573332623 556281205 323961125 799229937 573855825 955135049 475703039 698487015 318599093 70483351 496304575 320482537 657584335 179489825 222655787 389312913 769108563 561907601 428850731 575697881 480233635 669997943 499897815 510723879 93620419 782869069 415307877 350936137 768616805 342362739 358522429 919514229 106780127 712788789 156306661 975303237 27979057 456764355 829368341 563471553 893396737 585739317 782425255 199171157 344222881 461676173 832161693 139064791 661200389 884567987 247124771 977979781 12231885 248577661 658489739 558955523 937699649 260360861 73144915 592073053 431707985 319916475 566021915 778432523 328650643 975033949 67133617 887622631 521440837 847426803 698529287 692364603 31549009 539616985 860418361 302300591 34946629 806482255 97539721 278208349 539802457 704050303 577918307 646999487 524938857 429050487 295214427 881322171 505585921 953077301 909546283 575032735 862338127 533603993 355824567 994092575 621278247 817159529 624539401 550796121 426947083 263227995 402635093 528790739 761980451 464182787 574996471 315600761 764918331 344950503 456471153 791596705 187524303 453090927 433031023 93461255 471641081 1395179 697016261 601264081 904878725 714188179 270195565 35343759 229503711 407861645 659104907 158764849 522945055 533229277 662890089 428193561 139097349 134457977 558524539 219841033 696748791 238976053 207001439 746905647 524952837 646259159 285815763 289507363 164293863 775916549 28195781 816122845 846318587 687080787 994112841 536811463 246790729 357131065 865599385 81160621 95379841 798472983 4520473 84207043 270242297 948198199 927200085 318744487 427018671 909566413 463663101 194413917 368682829 935018989 476769265 545850453 331987233 87231133 868892463 481563235 334036515 532056515 880319207 770996419 306701553 847359795 459147369 79917851 497786065 825601955 424370737 147092089 932626103 851977145 66120931 127699027 154537013 73417977 659384907 905085827 108461197 11459287 370926169 213998929 946834343 296612269 258284589 689542761 477294863 335434681 412199687 434983905 545347841 983036967 28239185 350030903 191534935 251276809 432777633 281888847 444810397 16745301 419702195 352069749 550963453 531565039 699650407 412285793 546701141 105043105 484887499 766889263 681717277 932375577 363242001 791349347 322831491 427451377 357487251 371993325 55222609 328827819 399898583 949090591 984328705 696777139 860605319 400196281 734013361 753835605 959703925 61440479 498727465 9271501 853429407 712611359 484587225 982069309 604935717 884339565 591341013 400110767 919365205 879919911 849086689 41328143 897735073 290354963 325887073 702688573 520775077 140557917 813389925 171937013 609295395 281749659 245122467 712307939 425240071 384160457 869050493 703031449 658793061 721281615 767115769 787230861 362443637 898704375 156647109 524052771 539045279 442537209 450559545 85969827 224302699 812245487 298538837 186687295 949729165 476382179 770875329 862989327 71717857 174859069 710664907 2797077 338795113 23433941 385389161 203696187 776425809 134800617 656709179 200152913 286803693 605401629 247569547 9863953 821648055 168671359 979224387 756701469 238999635 454576771 462478079 176178685 995039371 649310727 179863549 944700451 440286291 285647183 112644389 108588775 848144839 693475339 507928323 158489995 10305835 536230479 515362001 637850681 705494503 520574359 349793133 744810241 407552913 756358089 783003743 13773533 392243427 156066867 96583381 334654639 646980801 17822347 500715689 818070591 54658869 311888875 832106327 833098557 335020661 32655323 431715593 813408839 242898905 602877255 526119821 342809049 68467429 27971973 592999259 715957085 579520583 828242259 667533967 215951911 976729807 943465941 192577525 972639343 283465337 82053527 565601785 998595159 650161001 975576977 454372789 771402471 312263915 861982751 13572581 657257231 143940207 694193669 262439921 676354219 275604117 3532659 215026411 934277499 372173339 297643259 452344967 631587369 949281009 596945053 21963815 8298821 622084903 266745535 367704527 560739913 139519993 553462057 557289265 474709141 147131085 327470615 667963555 164514421 88019497 628856609 396941349 975974935 663534789 914925647 206908509 788255383 397198459 989473037 413546907 671444725 5195595 991507249 791487703 322784027 58335845 423042039 863017647 420413657 396062491 787096839 123691115 740878569 34530277 406040427 129277689 433861099 860031851 275859099 981208051 370993513 701180275 937053041 589274261 477760215 851419125 299183413 991179977 983234699 831061515 464160917 757924893 528863941 158225143 770627235 239197897 289978035 992721189 892717023 713873577 443447139 58115367 63082797 815153225 38928077 258373819 821313755 218231765 249460951 526624707 375889821 548903973 221087813 604101449 631327121 509637563 743083467 280097921 819715387 294324153 434093827 895179205 381134987 511746803 867567981 825905053 624232405 680649437 6854001 828166063 338614997 75863703 838558051 525725647 746726835 156641257 592966267 478560507 729641977 368037443 969576921 954669653 362867613 869555643 73302407 341167655 654032893 826088977 485096823 973332197 448128737 709133227 433946243 508077611 77509489 174245017 957333865 332145083 297562437 908853651 220636119 501387395 539239259 415612663 305598809 776780179 140497173 140555725 945452653 520045351 949055301 825879237 873845105 106429345 581605661 958071603 797742511 662602897 300697401 584584219 1236569 899068325 132483235 813412127 712319369 586302907 526669765 930356627 396518717 237150167 36386675 596667757 862509667 55835681 358983661 57898057 350540231 532912879 427340759 265712243 522630439 36587451 225560895 831124439 834559521 868623913 902395035 311128845 168283967 733796613 948037573 735454807 599837427 23950143 10755845 622095511 625614485 741387509 951056903 948377183 687663977 440619115 924470497 858737897 874576789 653695243 836506895 433998607 134469931 58213479 423487097 295588955 268809509 697615675 964038249 717425661 502680165 88733291 692975767 332042187 894118067 537436675 158903837 134103365 35784641 629391413 216365189 176170129 175847977 979828827 623859383 121705855 715458153 450636795 677183499 234670727 184430061 782465981 812714303 114372551 140059653 375264889 229710711 106952199 164932333 572151845 608083265 955458485 602645697 725778665 654053265 795684843 184878735 915016715 260553925 354917221 617441095 243458307 360108963 126459277 198098625 38191723 845435991 894943601 531449025 876737285 400194421 931289287 330263533 854772923 612079359 395655921 981399767 913221541 954896213 427902963 790554361 806194939 699628615 123356543 346452405 325928991 949163019 201942509 318782291 998207903 848498747 583509817 929735171 517637677 799093471 541578251 699823329 411812261 239425891 95129269 723552493 626493449 951925663 264071723 585189393 126624901 428378827 405643533 750779421 243253355 36801169 209272483 255487949 714070585 791482877 938286045 545585085 443529873 591844993 823656017 39935867 529651517 795929855 460760383 201410167 280461873 416919227 691788941 650289417 591371401 533352033 811177419 300180851 451919751 373523205 329673521 313876189 737415575 478457127 958760093 857759835 327721805 424775595 788684437 330629093 338323555 633480415 399837517 710546781 796135613 535457145 66987927 976734091 665232229 418027923 963892215 159779615 710750607 202372533 947333521 307839925 53322137 244595659 9981235 89877709 494637057 50353707 879407193 493993169 786963061 35135633 880961565 346715665 764218057 921613093 641889867 8699847 350034935 377594225 109036111 758749459 466504995 980783981 61098049 856285697 163203225 650096245 671740897 727588991 35397321 410437709 582490007 439592297 303656273 868052515 760525679 544105855 451448821 701782927 99331107 315982441 166402973 541813131 816117265 184250299 5500255 206602109 471514179 6863853 297177975 974081073 22756195 263786847 166087237 974444257 167365837 207233373 479920469 122378277 864865663 976299797 469402205 650470147 653704991 150034595 548644405 675699179 708397821 729829383 900472803 554723249 84826897 973863465 715681169 828256913 581037305 68143069 504115601 986344755 273828605 475437275 498022751 834861473 733567755 328131267 328563873 326635089 890527675 110775327 776086045 588588323 641074511 193852769 565083339 366008409 893140137 839514595 759690949 30778785 767204957 770437861 865619531 450016531 651701665 672057999 682657997 240266279 960691537 316749557 211622877 47934151 558277369 992797453 407871027 301080127 632091077 726965181 643582135 991393859 417138061 513620681 761197935 280014319 907081681 749348325 201198739 535744717 897454263 62962091 843630461 180454855 477367825 996222105 205101487 968667185 977696851 290552347 551876053 719896267 23185821 632759683 872070339 379647163 657383095 211716361 951765105 636098187 257371153 512405197 197611271 212413233 335674561 281509849 94795725 824567051 732028805 958965023 183441975 241940703 900494791 48186487 498474721 908647129 606273173 319908261 643216525 157398415 6537639 328457551 884491047 121902847 356059739 696124425 524230851 935798667 481981625 35376457 82255003 352348421 711404143 339328115 720240145 983756191 467572695 979474895 477056949 511391989 657942253 349542287 262802997 170440465 433635419 224986827 2882415 367849307 34624109 914690695 470393701 744376237 709502495 420315817 945194819 5643583 351136779 419219715 502506077 55682491 423187325 995231313 442606893 455611949 297834849 357030703 635542615 916385801 824439631 287223595 198898599 787802671 877284999 518473653 186180365 279389663 607061743 885041959 889911719 803380171 838960665 977855935 544850617 366096647 246338617 60627625 342076075 332349455 281153839 476508405 249810963 958178251 498379651 244139677 202080939 921616517 374900069 547106179 706390103 918800627 930494889 178302063 586286627 705887029 891101907 503968787 965139263 770804173 990029319 347382279 969698827 484617387 898724885 582659533 791681797 281778721 931245173 748369359 656555997 193760751 61841477 700409437 459183203 641285687 931706699 835697331 261759891 868897931 887446779 363819501 115943059 982224093 140760423 885362201 119183785 40388747 305744977 515053863 694202189 149153625 493247009 281404399 272570647 389197431 866076901 329245491 986370253 990116217 279309651 382795421 140488537 982729051 741631437 282234813 934869453 528249219 30711639 858076429 289897063 687710399 88208035 442885359 482865031 52272195 791431943 520403113 564322491 841992879 982424451 414538097 684039605 259207429 928560573 440301917 401335631 174300595 74571527 847947887 191498383 194955151 335242069 37054353 264755615 981147863 574386247 17428371 326882003 64593453 566766117 272278575 625246115 320454563 338293983 870941957 92557239 964773289 759428361 659211937 184530903 148154401 453107431 266132337 995337463 729695565 571648861 406195921 282476851 660780765 949165819 669243393 371553485 871274723 561030393 374191915 700790577 978896607 865832499 896367199 39399409 665859253 671897653 505128597 34898379 591545267 491592235 53109939 293199265 646160781 532309999 881152125 574144893 824706915 561474813 557980585 934738835 778833077 640366975 611888845 810815 454987893 834442561 937048169 620530691 191700983 939616447 142369259 926412941 943998969 537696275 199857313 936084395 293551005 788956681 470409413 176533853 550217075 903479565 376581239 55708613 779932785 797954103 476233921 294349869 236639985 816442439 110754967 198846987 687219645 809240739 456009165 331647479 481986813 75005531 879768105 935519413 111007049 848375591 699319891 587291187 149273759 805430373 179426009 559133825 963568483 478065693 558983481 805487835 885632353 914638335 25725649 929589925 627105489 714543201 750806509 770970217 931814223 505560897 161369275 86631133 94769889 967095113 175909461 112043993 937879283 523128519 862245823 533797219 501734745 739789491 255396063 731876003 624347477 30672809 763840393 514909423 582476423 147753205 151333493 318342337 423680511 351174021 282928707 864104127 782163761 480039661 636987005 480581807 239436029 557130863 369602709 106834569 921954981 231105011 61339877 844380005 243364055 709528837 57768363 67495049 543762601 183631841 443214867 115623519 322356377 839165537 637414703 971385721 775623561 901454095 227744503 40445843 470670795 37670427 977934667 73739411 134219791 92692571 239711989 744634751 564795511 522822735 162135719 31599503 98773895 365773597 809714169 609344285 284381993 739993495 520215151 421284523 414598071 301494577 447112815 405802467 779292395 684889867 489149003 593664157 822828267 896854765 679887167 987650511 589416773 327433285 588614249 547843745 781744621 719554861 93340627 830325595 137484353 792617827 880766319 800348785 225672711 624026445 787097621 598094717 589847147 528530169 895229575 634469447 229716227 446222627 892479087 740901811 344857291 546756647 69060959 234227931 755857707 144191757 182209485 134518263 765185261 645671555 746659869 209556841 946412359 137303009 379981207 622090431 335372505 864863783 35180397 442630573 100671141 330108669 823664567 884539657 416523547 691868079 71138423 881554909 905808653 906687545 398213271 731467855 558272699 890756661 638281959 856405685 407705289 494695405 472506659 117043847 727413571 989614929 180459751 662551405 224707233 301711607 745015489 472079919 44736191 821538079 610836257 768104899 931939811 428105391 717820255 558595649 470263737 273127481 223986365 423577581 329193045 27413743 821897061 656760883 260755257 350700471 765066599 553351335 986412613 989659155 14204863 549949955 681492169 91755827 463039817 918811435 12136569 457973489 629017043 362170923 483790965 909840073 582057229 373741363 484987455 85039845 148262799 487305633 572133061 896642835 594984923 226811129 138608989 293291467 806226779 44363747 300938949 937402665 403987295 64454965 914351647 468943865 385384993 579667177 986320381 419523239 421355457 530450725 688560465 48824397 39861067 175670063 200068729 245525415 890303917 534763135 983701561 841378845 788240579 160660909 874953921 411179201 266186829 926146943 323893923 750814535 952769781 920178141 977849823 320519439 274965835 72720605 474349273 958323747 583453385 410737083 326280543 838968367 94228687 52030935 107794853 666969483 563180969 97321407 256701771 455988277 47645063 333586981 328950865 460277465 101009791 439781603 53974569 176422849 312471 353421311 99157159 450406375 235842231 385020579 886146313 647868393 837914031 710013985 858077425 530162447 292423225 384759 341479281 755143751 145539829 55775685 343636985 711036203 879293807 306238553 891149675 22619383 973437205 79211685 439817481 361620373 470042179 553369027 142586755 352484499 613271353 370015993 52226539 538045479 410361631 65576113 978267329 585906739 376178953 137976191 321659113 28521789 977589999 254422299 547549871 445289331 159040177 742744429 942359755 460630445 901073689 746813821 956667737 654528107 448939739 78545023 580653279 920495829 517252491 558450383 360243529 600355255 4133551 996283119 476089581 580099725 704122541 121260683 99910535 431624817 778376665 169875831 793867069 292588845 473387371 890527405 765823389 386880561 500772995 946883407 767265949 250808723 439733035 248553387 445466519 410980115 324896085 301938741 294371923 820783895 281407963 162987141 550161917 999621039 360719741 43188319 529503277 541360019 863785443 25674415 823222235 689619233 532346529 2153097 461996145 450631009 398637101 46337575 542687417 514611969 396627691 799539181 940533227 175345499 704559651 100279653 88961187 243825517 434415879 986696771 777706983 752532699 626734001 188745061 918637089 547961081 537260577 162169801 198421035 541915581 840239935 372506525 892784703 656429251 58642909 326790453 291458307 711382103 303326135 790790157 873218181 826843237 533551211 329469381 436483897 24983941 247983235 928607017 58674941 961155575 530308721 614146863 135078423 877363875 373121933 784654319 690003507 732061717 939412251 556347309 375262055 675519367 182281537 206872023 185335601 428763609 461355537 314141181 719221619 39711375 482758791 922361563 567199615 451550427 465827199 310238039 956265221 158522003 485513417 11821943 319454503 329539383 519428111 920201587 534817639 745769197 871666161 47573155 917364405 922560901 904041195 291590797 2332771 515178871 803315305 692285915 148842801 24431841 214427067 63950175 55913539 950134923 367467805 962775319 531676711 725214947 887562411 659268899 90852817 650171139 620605299 708242129 19724191 759282599 360841317 54424467 511235669 110203961 737744217 896997891 708173859 938936775 642366483 507285735 540960669 252096007 805299001 760799785 492863679 991668827 781693277 96776667 236499441 409668295 15904761 492723515 140874493 565173501 350502511 24918441 423801881 472179029 484284679 150923187 473799909 882119627 287235569 119035403 612254051 185284359 935148105 855494797 243186945 413438811 290132241 964510523 582220693 521832379 961910829 41185601 164214877 12434119 802756981 57186803 414305533 620174791 73197469 334832587 27345537 71276971 173767495 916169067 636123745 672314377 771550207 536199841 572344185 120755233 674736437 688953185 370973453 809456089 8720705 993938113 792933837 4037825 792623205 1617419 78960333 871974159 167691211 958301605 919839881 628340901 443668099 405246501 612281319 265006089 704919175 842957637 619707701 398684011 191793591 268613863 436080423 415784351 818621151 607510043 675189213 705860905 855486637 902458895 403421143 896224043 319117501 350965537 577889033 470034041 91291791 430097875 696203715 190282377 148394125 690514899 152735683 445940343 211008775 89587953 794252593 938524687 755916087 492201001 5206935 587590845 445922877 705817247 137391341 833107097 730885669 213296285 351404173 3369827 883797725 387403927 290628673 883256705 406223169 69248555 892512049 265833733 771664913 828813591 330612471 229597347 830563061 111173707 513909387 712907451 554745217 955366615 439981399 54094421 833819693 359238903 479505447 276356641 841966937 324332815 609228847 580548469 70657617 573571243 62123021 124420433 153796675 134614907 234413255 776563035 622815563 323542111 107009225 604506851 860106601 441987157 344285417 987787233 421896581 545072525 227936099 382620147 242121331 392339543 973144797 943990623 967430635 802718257 476409191 852695065 701091213 214499003 211150705 91147443 682626019 764629187 520672477 889900401 401799009 923658041 261804525 168443189 227734875 128229949 562416207 62726803 118898967 453232143 832934937 134123711 529539771 808453147 44527817 10032283 939422299 671407091 246903875 414564781 361506031 751663701 887810515 25207075 756028759 456339489 405332785 552130773 854942045 417652581 396488057 162879555 483623603 455679059 380382257 859549587 870691827 345827397 759141443 445145239 915307419 802203329 598477065 975265219 792107801 816614001 797225277 155790135 256255929 940379177 513615365 148653499 803858873 458176995 315764719 594633151 704977207 771139009 771067377 66447449 72365885 472783633 182948965 901757511 291725501 230171461 760727571 262802163 724600721 492401401 485257511 316141931 246414199 848491247 908613687 484504935 299588891 455205139 771057471 524352069 656928527 733473657 359629991 972420109 841373897 994952027 849812537 857567341 536537517 164517917 887243309 751925695 497928195 317035081 642746399 361916415 625901565 116233363 794119187 418326487 980663477 98011863 283442553 568613267 809141033 361229081 619165731 647693359 120813893 236039297 502592849 986391109 115749081 24322149 823859879 43517729 115691681 797978943 210602803 443986863 183027003 123827 496587369 711775111 46651441 380468107 875788583 681563625 515350773 370928315 4737203 911101115 679978463 431678561 968248761 302522765 321556273 539712955 733585231 641342103 16820245 609465655 229826545 296573369 758157723 927388009 184608389 949224823 929088959 204110349 866752347 723978755 585095773 4569859 648466723 463355953 675291715 271090519 774844927 20119685 947787297 189453887 335430257 96778275 561450383 620463123 865860199 484067803 185844753 963844953 194788919 739242277 417550859 418336185 108322207 486862109 795315157 762135305 636171459 77490063 812484259 493321797 608735025 485601257 826520471 416441485 21911261 347985471 869138109 484626479 451951395 515849811 230664709 684338587 601652173 656580237 429106759 247019121 490142213 177055995 590581829 866037873 424469343 700563539 454905257 282681989 704513757 724114167 15488003 701107141 525784031 542111211 379641293 736927335 765157685 228905953 648050025 994247377 729765907 621944367 159825437 365570703 124321047 196180949 322274079 64708947 567233863 74404473 601992837 236352505 701058833 217134957 350559825 831261059 716913479 345972901 569424237 903936541 818619431 383696833 729801385 445117465 42271833 914756361 984665535 418611445 206915559 984504429 911811663 946393169 842670409 495381633 940858597 418943227 64406619 891031433 420151791 166257125 267539809 802742889 113669321 824273195 521427467 796881841 500467891 576652047 456852075 96364183 212841431 815375613 491675649 356313597 971050565 404024457 311405233 19362665 367099639 995208813 714098633 490098697 896123597 595344267 19367677 791280055 519007635 992945649 210425707 94926319 405769463 890830291 395889305 829277915 749029269 344739465 916284275 800495687 325750765 954061207 802488655 688794799 227584359 131669929 705821417 612139565 501830999 9171347 714536809 394797453 748724213 795246927 18423641 946670393 167841121 11126017 785424303 937046607 567081127 587703283 78146763 422059911 329275061 314282393 785493871 780424271 974435687 247398543 500297675 234893233 234686587 760676761 784969841 464818023 505024159 937461407 131009889 316614863 52513887 104155063 234352383 210999281 490703673 730356251 302695191 164885117 340574347 225369903 219891169 183286473 495008417 268561279 724240121 37257427 565859753 838627771 816966757 430685509 824795327 725262785 263794063 548450925 820259041 976903573 159233105 286489923 417428989 614799967 418239973 576574563 649950687 868289911 582476275 918420761 377168709 145611091 631327621 162500689 234470093 762034329 384654353 292894629 515410433 217073429 585761397 219491409 662362707 339056823 381741047 135808063 785494557 651797151 352473925 451077883 392697757 461271051 756536177 15733951 756386305 183518059 312031481 65523563 713856085 587315535 77917381 654688131 914749079 476712821 249735967 170953529 733845669 733071805 294631615 172907875 291305289 251864885 731825601 914585729 90485045 64805135 775847081 251759545 626133505 759366053 864852839 521280989 628272433 857812349 474235469 599053921 124705067 419559489 268481819 57202277 706974273 127631299 131400181 307122097 535702959 104230657 976581225 141501363 940058259 860555547 592382571 902246533 304177911 530251359 936299355 559941605 164809933 728042303 955904249 727551031 464456429 786316119 398768759 267597199 986116121 279809129 985041257 37417123 213488125 874779489 173626061 933369809 431532069 883860817 195226117 96253983 296352013 261182071 420933601 731608641 326499607 89978677 720149911 812795785 611026827 260134165 728517571 823135993 475442075 214596043 333482345 484164153 690464095 274596403 30817527 485261461 265753817 136717647 602041157 620710409 215122675 333036363 862964875 128765999 658316927 836995707 19533683 829378897 731635507 543485529 166297097 883391839 391021747 343907977 264857281 887161583 351364485 29830613 633794425 350445121 237181471 420669233 859023991 388199995 119835095 157032633 372341605 679502703 510193649 238254769 444447837 268524815 940684433 842929281 560539353 155639297 854283727 789395903 678362305 224636871 12699807 299908901 427076959 677450129 634075107 934325655 29847145 982231865 995669863 251496223 397983997 434914875 112027355 624913907 296799393 960418497 777332951 516670827 569953859 119712921 889167837 833093899 513505077 983644731 1493847 272418689 497874997 708377027 449769109 503386525 417972331 83225597 642671569 444133723 152151139 222847317 678439211 566680287 770630415 794891493 491412399 691025269 814913233 162899305 536376397 937058445 689655405 678112329 850157277 751048389 59027469 651720343 958949665 271872225 229136971 342575623 38337473 472344267 442547489 851952121 979176273 948308629 763362037 804513911 310861129 151102331 642173845 619396397 97617675 142980323 15339829 765009011 692611805 608974163 801199475 982714951 795698421 587753859 433900117 345883475 883541609 993774923 45700423 986054631 984898619 793714865 963233823 89738487 122057299 230834911 47766553 584820515 916148357 685262631 46900445 127988147 62753161 200889863 802890101 840728981 966722559 504635423 700176217 652174435 733932915 533595965 806705507 453164377 861216083 366037843 293935325 427255905 561147899 838611837 812023407 327338249 564028331 672497405 640453427 938646919 552505739 234981951 402029985 854411197 752763055 577564117 212345507 28304945 543187215 876008829 211668613 233174801 140098699 786320663 712351227 588429109 702492141 131516337 794728227 501541149 73828841 322259069 106239619 113840625 622266387 569133527 715596295 323901565 765557233 32608833 668634627 445386813 329662953 798065511 605891127 813624907 417728079 924202781 525471433 238204529 324242011 773473373 212035395 69218847 362016557 608047179 762642331 736343915 581685967 157624625 885662513 868767253 362506549 64835971 414061511 189643395 423177011 356137181 464589963 575431877 413939087 752967425 468183315 387677587 1680879 330709213 813018717 46319435 505318887 29592959 537755085 902204149 418663405 883211047 600267311 450421055 95067237 100301367 399891131 29325187 740115609 859332155 357390861 412587197 325341111 280299235 602556201 147544215 791971801 364674317 88143999 883312735 979016451 815478715 285881569 212336141 437612059 106383131 528566417 664893 41262067 178251645 697587247 188115003 491144263 900570717 578333131 654778099 490150069 364588383 214057945 971285501 328895431 434170189 5411383 559617945 700111855 503380765 733548843 75580591 841200773 570633959 452747873 909790667 280279757 888476913 753512431 822278183 184935149 163712163 278443857 627707043 132901623 234675093 993384559 584897219 829132263 942870653 181052051 263814073 885255323 819145793 898921845 816253787 829591773 525313773 538229809 517277479 646294623 606930097 899704395 442927433 493082041 802384109 811410097 987235723 66371437 553440545 810122939 883276901 41326309 692039671 536784675 323316731 715768691 776797767 553637647 211677965 81666893 113190919 300450059 308984849 54737047 801079645 516625423 408097307 489807961 469184405 574736503 70510057 322306435 868476961 619099401 325717733 331311603 461838749 68754929 516098587 227939173 10176201 162120133 972827975 391096453 382965141 877585537 657131461 342678499 15556115 591634571 625087899 76544249 997888379 202409393 258950779 369445673 890102581 369342505 71808701 753631419 759960521 327921549 519216733 120200161 924440043 970358757 213223427 617679283 29504375 861999263 925688831 909835059 803977839 63941517 584409417 301507147 67192319 221861359 394957953 490995915 470967673 44672871 268984555 63497581 937815387 668516615 375089017 604922065 549833799 815480897 860280769 805672579 337231367 115983859 845882113 102203891 174452367 565998945 613615397 490679161 644841723 515399995 732594615 782095703 569087117 679622291 998835951 385877687 266137009 926906859 96046255 741596841 879644411 10188835 651803005 713356583 178146853 36369291 558060937 731515921 224353555 188664535 767055271 441703475 121922767 642893349 466223195 684644923 715369101 279624699 780578503 95717317 480532137 561422405 498448319 761389649 966735271 372947289 27309239 297915977 6519087 805380853 207794897 746596349 789531415 13180731 827292627 662839463 408959065 609896893 107364651 793995111 548349465 437079659 334074097 573532745 813432481 401933479 2701029 26287419 38166631 797156403 928319853 63007513 264712451 835892799 233021595 45776035 568421435 149471325 202459427 579762563 263516407 894880653 521432421 226315591 590937165 172977971 99424873 650166893 893968503 527598109 813161695 279548245 772395995 800210303 853264925 718817605 344215551 385642487 346706211 170523505 917648539 134918795 689710999 915289587 601901703 696668071 358016201 681270987 694538441 736675871 202595503 872785633 846772105 635807285 66652395 949060361 269165855 390211209 154554819 932437243 23161089 277415723 507608871 77847127 284637397 648254609 234614699 615280041 808587111 856894101 332654483 873902431 112357289 861256063 909180353 429120723 678117813 591231229 70995145 658983753 586861521 323350305 421798879 417049831 910713191 292364651 358186981 808541121 115860489 405127613 487930977 691487951 268574325 30504297 567988353 220838129 375604619 420957217 887180829 891625969 145378649 282122499 659466933 939353985 44284945 294046099 411504751 929889339 551678223 315412161 21737755 903798943 137832917 504181217 74486577 771592725 372365583 898103215 430259921 860891119 280677775 383463249 243283135 670303849 140079443 118715733 816614765 641847201 599342717 563779759 317804529 763101857 478931543 21062591 355557641 503872091 837434965 581610309 696173087 133699753 247293715 209194357 143475777 87089481 572532051 546690783 684164391 703758055 280967425 619679617 822837807 405099029 554046513 773800899 309719905 487613001 770262043 928175471 883260011 843955943 449624103 419418813 161865127 59139639 841804509 180409161 269160209 921621611 548303603 682082071 925210961 514688669 487060545 606467989 898094777 28476875 917637835 544934043 370871869 40252385 386414525 690349923 116526719 238172849 839276651 195941267 703049413 646971121 388723535 534661689 927316477 730521925 589408525 743635145 581923263 400394037 803202927 111637537 74160971 543027763 464764011 902583687 596456071 444270743 593521945 361336231 921475843 957773475 54300349 108553109 798202615 545315201 119009221 445004243 667539011 945567811 323407553 115379009 770243435 659437791 388442477 899680303 588031135 653494073 597584301 144880467 830282937 298690073 953690253 27553991 998421559 415888431 956608317 829505811 12863551 458151703 333364763 27620901 846581153 836289619 457350571 804797519 379408851 663321673 486630807 743291217 264332279 108148555 90022321 43210575 463191507 883954835 488539381 785129429 957953239 164367171 640394375 212036827 713912087 219581281 53023923 179541949 583465557 655636195 651802091 189146177 174814457 938194079 698738633 552987537 706549009 809808215 746841107 208554823 578134867 265285301 625105331 292975709 551926815 940304969 440726459 112081465 121936511 588532365 872940649 448930729 153229087 980269539 624343069 874477539 169942359 515365779 885768293 840763265 930433063 845726413 741393651 203117451 500705589 787370413 250508961 461463661 161819601 278607411 48203893 734235389 830098419 652670281 235334297 606645625 847325499 338133439 408546145 212829317 6976493 451977039 442634309 289446445 145457145 678565273 40578797 806429929 339837945 158032169 687528481 877519507 568221227 308483183 872232661 603866997 57908085 592222401 740795171 807886135 780600423 601719653 112637267 485732851 487098423 862815363 865191627 611618083 925694919 298519595 67356447 172416173 326521501 474447703 900994317 452507103 575116775 139284711 697459575 311580781 74367359 369776807 491081831 10851189 43226849 756771909 104191505 679435389 363810359 867547741 914490833 486948977 867089741 215156079 29202217 228126887 257215645 164152035 574723269 79089115 865911367 144176141 176947065 31276851 534699279 228786469 570982719 813591359 888934759 901076555 533922363 853968623 608869989 957934731 804783543 478277285 793512137 322598611 251225897 806608163 347416571 179695359 194179369 710420631 791031047 938150605 744999035 507003801 708628903 461044459 818254605 762484257 54887737 5990375 421035245 218238617 499517381 842489657 717582685 237165773 488064251 316202567 482828731 713630961 457205039 95240021 964723347 205016227 621942885 118404247 639413403 807210983 198591297 729902375 10098603 825673261 477286419 1006083 644708807 822004041 182258641 757994265 99314205 146295415 82208541 317422133 594064381 761592157 104454973 347567637 344799715 428084489 282429215 921552727 52899955 949537521 66817117 444761477 276536185 454562287 918042163 458470929 468215015 220939083 802100873 558042453 495332311 901353905 54190833 279923089 152110479 894998583 242243487 645820909 735249527 766425947 9917045 104931707 928707879 812586497 103113719 223211575 929398101 519654005 158590551 887100927 834449639 121514863 604231275 868747677 766461161 531714313 142291635 688689091 736332429 963263949 755564117 428461577 255966255 769197477 692588067 276644339 192130639 471847653 139354511 394964967 89147549 17154381 221961151 793914425 211252459 594403073 69384821 295536671 967504945 406513551 537103137 176924861 120482711 955818731 9020893 924464155 541298021 883268723 138363493 866230827 638233615 204147693 703190307 339237829 594724143 796479621 906497061 512064429 439534731 594477009 863456803 42766217 725202189 712838861 254676347 459964651 240769481 878336225 527485235 670113357 568528633 82302679 787042303 576433169 211470591 516287975 108027697 354892671 653057897 10156203 24474571 292843465 344166889 660186155 393781109 170908423 684276571 589179605 830564731 425421117 110589121 920268667 175770071 415351631 822629449 473652317 897516073 512180757 33989185 562753055 857822901 781453635 30114345 813760719 845738349 403268733 16249251 489977569 782921447 991621195 106093945 657625651 319723875 71893277 708223137 793010441 745108423 535266895 709536563 314316563 399877283 949899555 923429235 443366501 990055215 355618751 87900877 187870843 754174537 666918453 323635925 536476475 266477433 816060799 504365125 884559859 911700975 445044861 718658049 637597785 219987329 787276027 102578707 168459655 644414381 722999465 741951153 177632517 512051869 973973535 808646963 93350335 108893727 870090719 758941471 236182795 887242921 996408147 900185885 538314151 791659101 240344011 254708227 561131191 45665793 322611585 611961291 773304519 325563395 350561431 656835737 661281999 11408251 688285715 871003577 402911019 783125803 887933675 868052637 693934239 210271349 127927029 388232671 225101659 202420333 299066867 162864195 798915057 503532743 926109325 124169143 983153249 881212131 751286103 612566603 883242257 789369547 14057929 27928381 277303753 351610409 826976069 900368365 712265413 614160217 476280849 638045417 361278365 798114393 35632227 944768225 565400665 113956815 923824465 162916789 976280677 920812045 314237917 293218149 352710551 498501637 302164975 456450331 653252395 239816797 296016731 687032367 215109833 83179607 256066777 176209687 277492603 80698083 702295305 679468667 110684345 167758747 491114871 681237027 775117661 583791547 68679569 813033473 300211887 970392877 225900979 441334069 408166749 43772799 523917853 795083519 177132665 821460711 628586999 594200011 422467715 248629575 607595605 504375341 179088991 383047973 982713647 135121373 403937371 199731375 820046949 352875715 402251051 578352829 704585411 278858215 179047149 455579087 8119543 685741181 306973221 948619533 881784477 246100193 204526275 565823299 475997491 537147797 504423195 128793067 189147943 764441157 706460393 754668069 733149893 618222787 327628371 324305845 403068235 901658637 702228201 495681549 933952471 276338501 698113691 725448515 160806517 761368245 710179529 58101015 860261139 928993489 9651001 822189039 403474059 947513141 870081305 777583579 613488033 585898917 699075067 522753427 112332795 965007625 821318367 600920437 714166573 82112119 446844711 178299529 126883245 138169897 286933925 826021245 871959519 159492739 882161547 621318059 669103373 624328463 543565173 592175119 929700965 849379201 382849645 647579219 744721921 615844021 597591261 643879877 261077989 894858671 807419289 445148763 996450039 208515223 272000737 207318455 70965259 482646467 827845977 592562207 960670935 415574701 498513167 269916033 120264959 126264057 500768375 483043445 937985803 697326451 380087665 554298683 168497005 454137611 754323519 208159931 729839999 644762593 444345999 274004353 781634175 435782195 150275703 419150535 935419545 287864689 533075315 550076269 564330975 498082091 429600619 888668919 713704775 630425629 6885801 340906135 759276469 221487915 368999909 391481891 675983089 867921505 809604409 652990745 127327405 522858993 661715759 593190309 262235521 261521717 623137967 169041809 846294511 287680947 363945745 322914645 952851297 17200149 566121235 702612243 701075241 484029229 889938393 901824401 816352125 347542263 817713649 457785151 574305409 459262361 950875727 319007537 414968125 40573531 211920209 6544939 135958179 202842287 786737597 620696977 954175115 143470389 186462143 822909553 505377975 129885869 339663851 129268359 227016145 949210371 339256899 896228141 423366249 323725897 299442471 427573871 252605433 288488381 259367527 837594617 695054819 222001343 567561785 242844195 750810223 249565661 509792311 624318189 884387791 42518985 918586473 756008703 314232091 525972575 107492923 350510757 340985685 291906465 175099269 10624217 915676263 646213307 637116287 930250811 276527137 730202881 140147667 792030735 489951549 592865515 783112589 834835271 884056157 808343841 604675615 691326329 519525127 49974123 407666795 39537123 821460657 367777725 389456309 305676399 646410673 290475827 765101225 67686061 600288329 473677583 835409499 390203599 572088227 44631487 237476171 82080953 427091151 117645777 173024349 98517233 731590087 936775941 764180959 675680679 187320427 25917 491520647 237171119 335288711 78932867 755706479 760460685 258781643 704365325 510398495 195302499 659709135 710566451 653042563 269110021 364077589 236497273 74616049 524180711 367848453 931284619 142460965 408880939 459698419 504657725 14812999 519394199 157839383 104765577 143176161 638407577 422845073 262989203 699283435 373351753 386647661 715963559 48849601 947488359 657512345 184337461 422922791 374343513 945128177 31443931 37930827 418378289 922300213 794688861 375055813 973247395 931012111 402143141 587351183 186067983 48350479 254841285 253579023 820212349 286808749 778674681 163880977 715306909 428112207 532398757 59805391 557140165 506340921 357691733 102374369 391879925 401786017 888006585 316712525 213112787 734977179 936690865 486431875 136786607 801904173 254367035 540031831 967498623 677392447 862278023 647476997 109585893 790696351 410327525 539279413 511724071 245043211 628100049 345161457 473426997 874307873 853055729 852383663 585536675 614684525 14024715 428328015 642092979 28264285 82573847 112519443 867531853 733595725 15042863 912214441 533235967 392769915 436113301 122895913 224797951 378432277 154114739 990955019 584655151 288114471 351904801 226874681 77561107 259863215 350530197 750582527 28021213 59453067 716960503 245172497 89429349 672788613 964581711 111161483 592638247 366202961 30494673 747043575 717071691 881797763 929797591 55829311 812184993 435598241 784129767 419488951 97517217 804039953 265696683 833269791 358311019 323786791 982804727 566311581 11767235 209294617 201999045 8513723 752660763 963982347 981236023 499475823 458907015 224471045 776100251 855433495 101822923 418433529 241048419 98074745 458369355 370474945 994038571 980002241 293793047 308304155 679433141 207872901 10075367 689363125 871129837 420650435 106401817 981057307 939601639 278470365 367937717 535636937 845301469 654047397 2285161 843804705 756461619 192115531 718245261 586583149 476498291 822281329 610732067 112451801 188325713 478480411 154192077 384839813 701907881 399770035 972783583 441602157 696696445 359944467 156448845 508404861 17757947 314264435 888383161 118867079 4069489 332956797 448176743 262698305 473594209 606484285 202367049 155102031 816002151 731260711 669365239 725673529 704835413 656036633 168024749 170236273 969850905 351351897 675629139 676950351 1331153 918338451 577751161 38328341 279306689 91535837 576734039 659830509 295705681 655448499 344451789 363583209 915179031 374306301 230494559 391731711 895720141 482012933 294452029 199842323 121590871 345587073 967777089 726711789 283389889 718711185 512320489 999154749 950141501 453978039 222611547 400331425 975920677 855887331 759123303 747573397 395108861 935004775 925185667 270709893 237618035 667160833 816476881 965260481 382939735 289780697 300011543 598095491 260906919 442096763 283590595 227434733 365213315 72549083 928275951 307888647 157624631 769812055 675766871 702488001 554010681 293958323 745902949 343849207 879704355 336572703 620910373 893486185 633579445 867593007 457288275 282908097 485190879 291000799 939248969 735243407 667188145 186343061 213090579 785970509 395375721 664934431 173509213 982601309 943032167 597796273 476481151 241137927 229473849 949542891 515655289 180331643 682055825 251200975 676727281 814534357 877155659 557523403 666420791 761316885 729015657 4731061 956575555 766309157 140708629 368974027 561341109 914478293 552265895 758384303 919946961 146884319 695745943 366803571 776139143 485570277 808807815 651385479 437787505 726231405 727575365 188371661 798581965 68704493 355105219 225553799 208941697 841330363 158375709 725212773 650585373 693665817 739049365 578653561 742790103 607191855 434018455 857508931 333345169 952334353 946896311 432516775 541858769 523396023 135144365 597995507 43915205 601036033 496024929 388930011 638647623 901679035 978179803 920871807 541918675 662706579 458431567 509844063 578547601 890097957 478165785 373544301 247274579 608848113 8027837 561176061 457997453 997422687 241886691 824214733 101175905 593948867 238801761 719350527 288195219 317877333 7754033 368712995 71224213 336871733 932149109 945705519 943351421 460183151 778395517 304257661 639706635 964081393 526903991 323917527 837269415 765751959 642998209 182731621 119768669 45577505 213860191 703800511 265778151 365965623 167163769 727288035 363527075 679249261 172978213 784302645 107097497 996015417 93704349 55140481 807530361 124766209 712037957 881063935 778311575 876002825 864598951 832809547 960993271 745079173 127337849 102251 880781117 697279887 369776019 875268299 618201017 512624935 274158587 28824639 515599457 777696821 157556697 194125065 284348887 158882957 57456771 931040969 333146977 35645157 875175541 1684623 45885933 569053153 439754831 131441615 506605845 622393099 896702429 707039593 816945173 95575505 295958805 108420255 892672725 219677837 351575311 654868511 589705959 801975171 330707217 619050239 833553535 904078297 94275461 72657339 692036991 965542049 652741373 944222523 755023979 810191319 751265079 400374731 327976309 65110873 253264403 621704733 802519411 170898417 638241439 527682643 662057189 56668241 950878731 580561137 702289137 169478163 316475063 754748897 257856615 549367989 146122019 640700285 995837119 683182243 910361851 695344511 772222745 828048431 365519889 58317837 436132665 28019343 761799011 752398005 603905679 799475943 66830353 392001387 268333877 965657919 846013545 354212749 386534119 8127881 736612573 873370337 428766735 176820893 754649353 413164179 962284731 388673855 818959535 933057081 50503075 977940757 831647931 104353999 823828261 473178033 827452479 884258749 941040711 715293581 933865849 204879821 714238907 449583371 724809419 786991157 295137497 684795763 955747263 719408533 329036445 682821111 790267401 386283759 938288305 801686703 67575429 313235123 845311585 39104927 390371893 549011379 989982631 768865197 791558469 815110191 664420899 451796395 782483977 528005835 305847321 564949843 865809915 896701843 951258491 342661191 813782717 354626303 202384095 192750863 797896991 127173867 752831109 3390491 43439119 673017757 430880083 963590857 411730347 920347841 484001241 743126613 468837429 836106347 782458703 631188715 274941723 970058781 545936531 387110043 133824491 34828215 833469229 710445663 384414567 264268937 331898445 723429657 168288363 922676807 368063433 753465487 645175561 89078801 272853279 826430583 668714351 68111721 475550841 140193639 841773819 459463997 68197285 651916769 576493361 390164707 6111513 187020623 393334457 703313689 49665271 772450561 707744873 519921409 827787269 104858929 886648893 52577069 77660849 617409537 99930709 89571471 707797523 142383223 88017405 780073861 114598635 348901257 153496235 680472275 474459297 435130637 261811447 682786473 379376707 462460101 864244647 280050585 158889863 354418011 914687141 172679075 562670541 492895 156839427 302037803 206050589 964138571 777817853 717383679 147872039 95608703 854911223 151179859 55408193 538175815 9808509 805670855 262787179 513653713 504259649 588762203 563373131 198739001 949404189 507532161 639961649 866272127 59194391 225467661 783275285 576256395 982790489 626935357 750658965 370147377 260416309 933801139 442131193 195292201 364966953 243468673 399911985 577134613 864226005 529275927 552522451 348192635 986006791 418352983 707317789 804820943 931399857 145593987 3533817 724098923 407415535 124022345 802822645 662836367 586805505 732230081 276496967 832192611 876753239 717146469 207356113 625259515 395719299 136154139 841165337 441621839 393561151 765837871 23054413 757005375 78567021 650118233 127668805 926343575 478405147 492976309 673272449 162825221 82726523 212969929 310186537 257624357 936222697 354170241 970323977 989295221 941334247 27813939 694721435 768119395 336313633 541970331 96082431 811758909 482479723 337267167 111906553 949328443 748969919 999006861 986131963 416469121 110065727 453366683 916896027 479001625 751883835 175220835 556221465 542659825 980484129 394173101 6308699 47930339 317745039 396820389 533196529 925292979 17099847 678108899 192365971 613499399 176711989 810110303 657536415 948026483 673171309 908597379 652530205 773303151 457438505 528592153 714510267 800044379 8273101 190209625 343079891 265253761 200340963 887118047 283007841 613763347 781515809 843191729 832480271 12635689 845922399 968090425 979447595 111643847 577446817 861619793 769048747 936018387 680279573 787096883 153869361 699161633 284624395 513652357 470674435 954381159 794625791 441552469 156926479 28711753 219021461 520089879 995696365 362098255 335747479 723330217 617954013 602724587 717296379 914475345 317730503 149094007 31831769 178377915 865414967 94852657 68382583 536988925 816468839 896682053 872661053 66987413 955239991 59399877 30900929 22587493 609949995 353344167 86505407 964580543 801113461 505305807 362529815 103087187 141282027 954186501 649785301 666673219 941511435 963030779 842045743 291159057 60823551 991201097 363918207 858596525 561411991 17198195 656386117 747323753 246182981 693819871 234977841 646564613 844865581 997141215 975996947 821805733 82031637 440084397 999898089 576712407 530643053 86347371 642382291 952715919 341997641 327091233 674317599 37735467 566743149 334376897 293336383 596543087 382445627 710363939 62200525 790008715 765401799 950090761 311405711 559648275 715911111 949849373 318700655 690123779 633133719 423916271 813144705 998802371 400734531 806145275 331322365 327144733 943049079 789934237 21648459 450423367 407167371 800322595 155450867 888144609 479696767 395295677 282453417 912181485 902964219 292135555 559216967 51550169 56722763 92749687 755176659 984153467 308083817 433677955 468975991 104114961 825404405 671595895 909667975 271825471 654810931 915608845 29054077 678483985 905059093 756690919 104304635 838205439 510511409 759760269 211646673 599042277 584471749 340986223 70578925 869955079 308207035 26161129 275319149 495809045 361560993 338769723 435765139 598212131 426535599 228434063 547952587 828599981 435304643 723454197 357325993 254286489 832918629 716165223 899749351 43596853 139190213 596682951 704873 230979637 643016119 108301531 717779001 816083639 754241725 558200153 792220555 476558913 735301631 203106775 728716219 89437887 255391307 343131095 722032461 854606471 763375383 553285057 960606697 244075863 770909573 198197737 764996965 124985683 695460187 779864455 113759419 349574151 791031303 601651133 897465615 443950955 760292769 241941137 553624235 318159577 405934057 450758137 501923845 70895131 518253381 596805833 459624629 838362201 638444999 897733575 392798335 293352235 497291299 772387483 835448401 553310095 891311289 740696789 59512123 281499881 769939089 565610735 369133433 23810567 585572443 301033801 174221167 670234653 913098605 617023789 8119465 281121225 401509061 734496719 4613337 725557265 276424207 498950467 761260249 398439777 749827733 880914831 118740911 373583503 939846735 135364507 422135683 97785815 798965471 18952245 40343211 611505631 851897483 557788955 837124771 298533559 115201859 285223915 62999307 618871503 827623835 728449329 109192881 356497417 371355093 583359323 905317511 552798375 676060889 960765893 214123687 149525079 370544437 630859181 470079319 682364207 73322527 176120641 131475457 138439341 499132537 143178381 587489335 75638965 491678151 891509903 688944823 857345683 172891963 39989285 795990113 25519103 14924461 358125339 255205699 416699925 918066585 636019999 939066255 500130395 101795879 999771339 677314721 186955195 739088423 444999331 783550971 957605263 557989393 234286093 432593993 12437137 871649797 172251229 837112413 648318951 335694023 998943689 507686965 708599839 743722695 200883317 515318769 718164527 619682079 788506473 975936225 152260209 678629517 969017753 667789939 542700461 346760311 299721433 442878275 176581135 364601837 615662317 84503065 267637293 788469415 764540545 683829979 396281347 418835971 323683361 391549341 571882489 739719687 495774539 596934557 342310361 386269287 588622685 786577981 507754971 12892021 814825633 755941383 838122907 576401205 244085577 854518703 449651485 14724681 678576749 436226833 624651729 101245701 387738383 135864369 252273545 802479709 546520857 60031031 59433861 619631347 569563229 192448633 976833385 624780299 46567313 901279089 494187075 364830871 911840089 434172867 174344583 37750831 168628541 382462777 600382995 656999437 324559023 987324873 278109997 930926623 108132359 120089227 422195585 222569967 724079497 183380163 854040613 348357047 853439579 232816351 608015253 655526741 987235215 120647023 995271863 258261843 91554079 558062127 982859227 820823003 201364205 562560259 667487153 752974793 969309121 959820533 821602907 317419419 908085837 673723195 649028187 201310839 520638505 55909421 287861663 156346157 3733207 559254609 989507709 228855091 75070657 987223887 191114419 865007019 624599095 461366015 931914341 858515547 493854835 754628695 112045857 773338801 36629655 330103421 832947929 219532999 435967147 269369789 658834159 941852761 565150367 596654217 168869159 837602769 890806609 769518715 360502957 856298299 97990525 839576409 498663189 993867603 814952653 923061261 130895713 890708595 300019415 492925353 587518193 958990247 152672271 10709097 48625301 952778651 387009751 861857459 292521857 993568679 931003515 781769231 460097619 42200779 282292267 956198959 418013201 652629677 630239231 79325683 620928809 770144413 997204473 861926491 267247725 742492819 961716481 391240083 461089819 513802285 240441323 861561325 809840859 900132277 773142127 98049767 896080567 181350677 219053103 984260131 242160679 113202409 172421553 46176361 408934663 374486895 589234539 386398387 421532059 127640973 90664627 511871765 197052819 678632403 598514891 155176407 6537473 794668407 388273627 345757283 826461029 978894683 757783031 430462541 616107171 623784197 620233239 158876239 770957321 544463267 588213533 836305741 748769099 689982223 855306447 474445137 63517063 606927045 663685345 538560655 57936451 337755373 689006573 523341923 192697963 315893593 271176819 462677583 355476309 514324093 772746717 659081471 290658237 360218747 378457465 95667015 355878603 417256471 405202309 149181217 356902665 852565955 295175713 804306097 550457197 429269141 345607251 770372417 381137495 277561165 657648911 967067205 689618569 807230801 228624431 63976027 125299251 7521203 784103283 441419841 750837223 831273511 676709763 834316261 197405605 917548557 711684339 142804827 271937487 736964973 632441147 765267933 772015159 355162103 159579579 204479695 84863759 278039551 290453181 333068989 6034933 474374025 491577971 291451479 81081071 87223609 395284471 917071229 14143847 819368287 104402505 3226157 737575223 153857777 737020241 470329751 127209369 39386769 806195427 914139403 62945845 369480581 525095349 46706437 411206677 87283387 972819563 685904937 695574191 445714381 374313103 374669379 494842593 798951927 492221327 734517059 270738929 240156961 859366853 514677833 976854667 239040733 119712629 145578645 340319687 349991775 724745669 754884753 678095389 251191433 979382729 997491411 686576247 829150943 641271671 663853335 593632031 947140755 655164595 274972989 142811853 105301115 626812997 746706003 863848349 288850199 335632095 401020811 888050707 456643981 691383835 799371583 468260895 390972589 950471031 851734517 974824979 721297903 884964191 899642199 152955823 139249777 435213349 539566903 139429143 217538555 161520383 550934163 247157209 542155261 7599889 277010061 310299625 369921165 789918307 146422637 75652263 402338153 263786727 690148779 105773523 90626811 991743863 356273377 897082527 490735441 642122961 731407057 696833183 972989219 607601313 741745255 190543569 166098125 311523447 576473783 641877655 590916443 792478415 413483513 193925313 295847801 738166789 490323605 925059205 765880961 895111527 862695443 994367103 878389103 601577509 921887271 936893363 167845867 990833241 986498477 825637007 158642503 56162305 563268519 296406507 840315255 446656009 310490177 12627455 435614749 779413825 358213071 917541237 79141245 905495907 740479435 734521433 265518473 933632017 469688281 893371167 820222167 541083603 953107651 753896869 32074663 689895707 206878589 745801263 17826015 924926785 449311779 284912237 134380303 191438727 454150393 114749043 5105519 119762455 748597607 734412221 520490205 840146689 257079555 467621427 814732001 631311679 982171271 896149279 705628843 237345203 418930391 382437943 692573713 952392229 669296125 282870937 566353041 782563397 759130159 668740555 74919509 678002351 93703877 345174715 791570219 67398627 37758275 538328763 973499785 258943307 277785687 821688969 234232721 573397047 943297233 931715917 790533641 507273953 652592301 773662099 119577439 589380971 24147471 485956173 322510507 724458205 64292419 523179485 575776941 562438695 130746553 181335303 378624717 627525413 303185425 221047285 259452951 436144023 590808329 347507009 593589319 250503207 891970449 532922597 170315447 476769637 825227705 289851719 398931313 961880267 187700415 747613237 940573733 835550137 67894787 994243043 621213993 313377403 98182161 122726383 607791741 635194687 904577951 78846047 4614855 975614241 456975495 241019551 42004055 320998177 768337097 419768453 912946213 85198121 131806613 304099661 563672783 590533383 890255421 825284255 670340509 614310265 717391161 939766149 124259199 686574879 651382065 380383095 980694539 511556991 275572203 366528847 517587583 467540495 813235039 218429527 18536645 315539235 542614695 604837687 26026603 243183873 537843461 307308807 684214183 596143825 286482149 562604613 270926427 20020129 489671385 57170389 151071501 406139759 372867743 76544517 859707371 518132249 778533913 103049609 352747469 566625899 969395793 250495 29841203 38893843 897267835 264410989 922102085 292500397 548307185 50516029 600710351 159291321 547947579 241876297 414557515 261670815 440319 381427787 149513689 270354355 747517457 400868715 812207165 981326635 200246639 745359411 450367977 429445419 87668027 488097433 940169971 437150653 360878527 117886461 931330843 31773903 595829103 700791329 689114823 310831933 907715047 693067315 667849735 665980869 769959145 682233289 941779859 633377813 104272739 502149601 870094793 876418489 154437733 531766239 408948145 880302383 427876395 140567695 18154489 671538389 387353879 324845353 885852667 412876789 212572857 996459593 225625267 872451009 727109311 579532019 51893707 422850643 248138759 702677399 408577169 249874857 459483541 846554887 431320827 197113519 182277521 959909763 846451883 818035767 859918417 416480177 198458343 286608887 677304143 316786587 381375645 50502547 495657519 477421495 612057957 657880467 266591165 746596835 363975295 951465577 363866857 913001573 746407123 328634223 88370641 689068265 895566061 111433699 75500729 423809413 305200647 121604593 41488651 887358389 353407743 443396523 211912281 665521505 347411807 333694471 583420255 435295699 831125587 720627689 438237441 958275779 331767729 952552217 900148555 813362509 39026429 274413385 978669167 198089461 880924251 432688401 126833607 535441065 769385883 274142453 932209369 453844929 876265781 189965403 170780237 178789111 100886343 361471125 752604923 174632305 642925721 60658653 864719577 780242875 278575515 240867925 368042511 772734157 325584225 788406533 213146595 637997827 597704879 380852959 67251149 981609251 877763303 455635387 338336871 659322201 719925021 318895963 828895347 557289019 709174535 178311785 9825757 392618949 542863873 812890999 446502583 968855133 718112791 537940987 153441343 361771985 88603381 47398231 769433045 90152535 755576563 526156247 192310279 41262473 924421137 878486443 273555335 106901871 494254839 749428715 20855345 355987831 823208433 684217753 331761671 799684979 984395257 876761759 96665653 298917027 167006127 778382029 254969869 301250217 903719511 714611933 325265421 303130263 501583587 27712369 191984343 760633311 561354983 322703377 700242997 80993631 474016679 759194669 84505627 644115035 523130631 898765857 345765285 472387971 694095511 628716077 603867157 98248169 488290447 78184827 49230807 848161805 295025357 245978907 956377471 758174421 714000857 692917511 959438023 935201931 395601377 637340961 563061651 994773477 981343679 660114991 618475245 549039361 23300079 784362215 353949707 728866405 594453915 149007583 333208389 47044605 461234065 142325657 965354271 655735839 117820231 630216061 700859717 840512137 895974879 228192991 100579211 950945629 857139485 486966519 269565675 291182125 654902901 761385191 310600841 490516713 723353081 40292533 497869489 466066675 236688747 10020439 367446995 993853965 237871921 253737123 990136717 585960807 948996957 749095515 966521763 369328787 430434979 402029863 222527229 626091665 581538147 272360603 518410417 566007493 262853285 326513967 842138875 332777981 386476825 211174211 318957627 563018093 603344405 345241635 570888701 530293171 355367575 23316733 756075511 146309589 409160777 144926189 158259969 363868735 826280057 697715953 54731809 524823493 537755935 597563639 357777793 411508905 661570009 705881805 784759155 908625291 260633327 864877611 229563251 765457019 97472079 555672759 647648039 641510383 874782867 603156725 11249493 62411713 133832183 718054745 822429429 360445497 436760933 921199421 291114017 107191557 974333291 905011681 88561433 622491703 608153407 273062253 76761933 271678287 91184067 327675893 210432591 65755183 209336443 393230447 436511447 962149417 659607705 879348159 329304013 968902383 450424307 706303919 447521591 492598687 771294217 588403181 132964173 373427133 499233027 395370771 852778857 496248889 476777645 585772965 127339277 791987303 867993985 508709129 39240421 135765763 772440477 472312979 813822405 96026931 995110347 248587385 612370341 20743045 148827765 523199711 748876461 119733485 588394167 496792783 261944869 607937481 513474383 508335927 53989249 728076511 397949347 426495985 824699741 398989405 40775875 876561601 891070075 212040405 894223463 787240013 937971399 419070533 435155949 662305575 863541845 523112725 889057115 519503563 881380959 68612367 728370789 881789591 20362311 208366187 57621853 367854805 224883869 925834949 867543621 242599351 766129167 350325793 236394437 253163093 392728187 292743149 422103083 675537331 562021859 231015937 397468269 783860151 535698803 30058903 106410285 102506547 350534783 878535765 988806063 561627617 622007681 265886537 339568869 985491299 146974493 957711335 281299557 926612033 783368991 805877517 124350319 35120109 848518007 121532929 383888875 817745087 465106243 338285933 37349733 986978555 376317895 226799211 502567959 858449863 663864171 90849655 440585695 449892405 417120965 652418931 12025157 194805823 507073423 334149295 784987257 96563143 86332333 347612129 652059729 344958357 93565995 79319331 929199949 643629659 502368313 264902909 663484051 780890545 312193079 790428509 691491059 638479129 201352867 141319829 483474915 622198013 341822765 404289637 541699205 712001453 974948261 56213745 50417823 119219299 854544135 958609349 106799519 861130305 522541689 22219481 166839711 85592911 601890881 803325321 369028699 96778111 36636887 827425179 345812029 713221545 629194707 374579769 459450193 748985999 651042043 926471933 442689107 629877723 846083385 945480929 231064477 594601245 260567455 804742987 734135867 169727695 835482731 645525257 863621337 386739025 651212797 590688081 642643151 759720943 827082211 330650813 541057821 347044825 642364367 18093141 418320745 241491751 119538331 983884421 461869315 55244251 752728397 329922595 545714147 239053533 467660815 188151149 120908711 978010881 81595701 438738181 862259353 444570623 118294583 265968381 316078755 432615289 120246461 32426439 229662305 73894903 671068559 780348735 909327377 708165097 216991137 318940079 737017495 40214187 457298703 958144703 605967495 396672381 411007003 390121097 62355735 659970183 423422001 645269639 971525413 899004893 315939043 967064223 581034553 170734199 184248047 591786015 553898881 689063735 324333367 588965563 66343637 698878435 69373381 852264849 493411255 640595505 937739469 323702311 556913737 785899701 809082283 31355241 106127455 145474037 854711777 104615597 538800237 825922905 992490525 948383919 924559509 854178865 17250605 937085077 42705307 299070133 190753041 801087727 753780721 246124299 868510187 107718829 615653549 835660855 903967495 986208305 526562447 345946925 208559061 477066301 345118461 32080327 928121075 428630271 360320777 379976645 462603555 843721999 30832743 131609551 937074259 865465957 871323255 332623993 883139731 969321835 742531905 322347835 349259039 53372397 994061939 892284789 141056859 466545695 18532455 543475569 674762193 593424799 273526555 463846243 171131703 975709297 248018229 390731359 534564197 14695941 260699397 354794347 568857185 426780719 485023617 906373229 318295379 819552811 724357963 600773433 119270801 207757727 609663401 259350661 647828373 263487385 382696841 7027959 665235461 485470607 819137667 607426067 538103975 499303003 797140953 336757069 304128883 146570053 456028525 317803773 490912129 341728505 953416403 154760039 317101079 649417357 172016703 959747505 750086559 550754431 236753811 181737199 320650411 603211697 253778259 442801943 328450295 399244917 762581937 685700109 56377449 751036285 518367619 896630427 22569479 214011621 589366601 95818607 572352777 787193655 622572073 955996195 392303561 376618075 445691123 273542201 210719945 536656043 168019231 75787293 142718387 530340321 44753355 882395163 254385759 274152483 564550847 645053807 219749827 943844607 731967339 181941563 199778567 760344169 542238693 298124679 125587059 483659711 104678379 417072197 584915067 94772935 566592999 319189583 250543803 408101549 718455783 929814115 172638965 401987847 987272867 299179053 704523797 804741841 765469303 174203199 890714925 990142323 99884655 792823311 765072507 34708919 494387511 514923265 239686751 751432917 921051689 639953757 49432681 254535015 832175681 834483795 518081607 506936949 551717159 275037185 694527191 647496813 690146349 974595683 96864539 491235873 25267015 808623717 970735935 901044689 28324887 456507607 515377559 152711713 484421345 797294963 353067933 545079071 572673943 62407643 16632051 201031999 610594511 93267095 668752999 69383263 471359689 679052313 730831085 660031171 668191851 828815289 437007005 852299803 862044229 826596025 348459963 559255675 359028623 583773507 691620787 188623199 146755879 919719271 671154201 129060013 997844117 864816671 629310375 981491123 510030089 933889101 905784129 284038695 450593879 424134585 494632179 854789923 720708099 62219795 247508205 569443375 285002801 809539575 752528525 187241015 192576177 461783015 124941143 54645905 902012409 27330375 240367091 473983483 36946475 469977965 871334711 621907353 54727181 808482961 944374047 148393975 690723341 736611541 917406667 229679117 695025987 467057473 462689415 337660471 414288495 291322565 625554121 599046969 668922617 99588925 812531497 329363267 39129581 515657321 436845677 777789159 723797255 53211379 975436413 936381989 858517921 828547947 529207153 904666467 661171653 978891595 703730303 144154217 772687139 919470067 130287373 203101043 673207313 425873327 669074855 1308185 253093519 146462381 245352703 661727843 757202243 931844617 388341487 539073469 905822845 436740803 918357885 414137853 284542261 449212101 123908563 779908191 936277001 358840799 522670403 460654731 634332737 596815049 971591243 673735563 888152269 186202665 205270411 129727189 465597761 888112515 137478865 651677513 717483233 804551757 89357327 786562089 437969297 550467803 132045407 744132133 484736737 716267379 197742343 672848463 895388423 302934845 437292657 987108647 177620965 407170377 443410225 736785297 950601727 192551311 905159935 267987419 977720201 251482613 379382211 887497401 190090069 635384639 732871813 614791241 220636133 146311201 222969465 191926031 840551519 238678581 240318971 640831227 391634325 429761275 378356621 200006753 242125051 265923291 372233435 65698557 627635123 666370601 473048505 314586869 576156033 977759259 199693089 694853081 448374231 703339479 247836725 792571801 494043851 208505697 622114627 983286677 332528155 701402797 262128831 251576211 577598515 907230869 927221825 619202753 228280605 271795671 840238477 245706417 316259731 999791649 867177359 449359971 593924083 988993279 219241307 745235257 180904773 758139631 866539307 988513285 409024055 439564367 977194339 609578489 51457571 586217065 295265165 530326961 390763525 952414831 64187231 606923319 705792903 802504315 444750769 561697781 269960695 394931851 238750599 561323967 670211915 660279693 305820429 744896981 692227877 380024397 843112599 957681883 501733833 661108871 812881825 880795359 427932971 610584029 279286731 647452245 826931677 591531737 107529185 870896925 456080929 103138793 926138585 536265081 536818397 267935847 249236171 471921431 875487395 141979029 507125243 782174221 244716199 192751519 779154903 701880279 512986057 80329361 548551663 532989533 409277331 581175143 932200703 859555561 779425583 813619459 165221357 902236979 749697145 301093165 699468991 843019349 850881775 712166295 586142125 972431319 388075703 518388955 489200143 920486055 75303329 629749111 696328043 226256407 325767717 196189911 400855659 871993063 853735521 330411083 484588513 56108603 295263517 767794189 96206283 221036193 830413513 738199103 525191241 319855885 339442297 20367849 79799977 529232861 688720625 679311869 760402525 224842711 424663955 413635667 92187135 873816359 182445939 248107695 717280341 399539297 633235013 659773877 181237065 549436807 489341291 101029373 6620397 78676217 672868587 309021947 251326591 259028103 916201587 349154323 576968031 969039975 402011 662878091 725024795 68074547 540250275 960550297 834043749 547926515 148887027 732282195 715139865 203267347 428851351 453724091 177710393 510284139 607417737 164635835 330588913 685461555 392343911 929261603 840884117 859769621 824384891 270141101 381402015 135233309 729138863 332062459 73922993 137166781 557693599 635903637 582664089 5170135 111568009 994630891 801142091 970741935 142818899 44666971 427189725 288871151 118052237 151630625 288294553 456697777 255412847 614413927 102119909 273213807 791513303 89313601 742810199 239214351 789664589 738009511 187194793 909646559 652691967 936704891 682104765 840064405 8785863 189588357 421287843 817280843 373565729 976936053 782643337 306474633 948561719 758715367 152325837 172616507 470589655 735119195 158662897 771521975 730246007 613865787 57904291 81159609 35470393 987501527 852527539 458790761 454866657 108542567 687219997 311501905 840334049 812374545 70768645 948863593 542202961 673543387 352265397 458325773 427057901 898005685 857941923 394252801 9994013 460142715 422713447 620462707 97285361 391985389 221172421 879933947 737046305 887884211 171260331 67171219 740731917 193244769 683717161 715855009 511661753 681832303 535391355 537332721 720800215 710628669 937515781 951086269 19633341 755173655 730567507 688496541 284443753 984327211 981700373 294536087 371034245 799528085 450461483 5371675 594256479 980506197 179224723 792851197 999473135 944534099 670581117 833552249 583916755 624052579 38925369 322308407 53686099 399746365 614939717 83408449 596383069 580918657 340181825 835250957 581555595 534688441 47417851 667594107 773111833 509676375 195367779 722851277 372129777 853605557 911067033 930017713 265697697 106725907 341548253 153949503 248912991 242783641 693371035 508429295 129216269 786512219 728170085 961744811 838245167 470285903 523877625 975835583 836651511 405010267 752102199 162610653 772621627 356375107 930511149 333232423 57667195 565519547 846498061 316596513 165638623 461567325 644281395 719955127 639330099 91699367 268017185 186026813 721032433 852528645 431688065 502388595 923099447 742242505 113352491 786042495 101800655 655955243 499417367 19085035 838609955 230235979 451240295 443164077 905035855 861232179 425641833 628411683 725330449 440313557 626424463 706913299 750081231 325145353 29614453 26127017 689627033 266923667 304891101 886877051 842476069 274635801 792205493 181646983 309732821 217214509 138400011 762002479 279941295 407601227 955887903 908601413 960982115 194947537 988530771 546043641 803999045 980237577 178916657 64729069 604638551 222976549 22786669 45813027 129683777 905610301 974636515 65861131 243921745 644220501 412628375 373668983 928376957 122055251 75236529 82068391 256325479 349559305 143038087 600121663 526396243 771956275 364851091 699250765 931824947 121576813 427264633 505793093 754109597 915566405 495099651 843272709 572445905 118923051 825397541 38885075 337466807 655520633 12972029 329932635 272797915 167753325 587534025 40543411 829890679 167934771 382624247 731190615 129385065 247230683 923059227 439881263 710516537 68097887 574872817 425636741 813825815 222401185 568298585 143638031 371336921 923863913 683743583 746557421 103265021 596154985 948784441 101521825 793971373 433353529 962101823 300790041 828892343 275455835 923669239 273893549 421710483 337381689 797209865 737486869 858712927 305546531 444678731 509159803 206535907 303585877 214409145 744392299 184732813 901712363 271667827 561339609 809745015 268224499 326642887 348909603 226010717 730535517 70610725 361500685 28736167 46790657 609166125 437128647 546393447 503874977 791365279 187846373 349017425 34862311 443034725 286680163 854365383 117677411 492613015 557349799 101047501 898236303 977200747 681025407 927920661 764080589 752323401 774515487 995329527 501021027 511260599 989743399 393027951 450408839 989924717 66493593 443063845 876457039 251275077 457950179 199904617 424400829 159455297 770696667 664738611 838602939 731085965 684484797 789822241 899754521 497139835 57390897 173297019 864924561 266518409 634074435 835824177 712997059 129815895 988347749 171391449 906402363 109344435 23109497 366308017 194297959 908855439 455868865 498803107 509585059 719961863 513030637 234068797 730477615 795763805 290776079 896184503 594780469 371296765 132205991 660540655 329942981 700695931 189657241 311767405 281187543 372990865 851706419 489995103 321001809 95821601 656032297 42883229 771959543 783170105 281489819 327875753 423997311 70146829 76935177 980671397 864196991 652133109 796592229 1857381 996089719 747232117 371471875 524413533 321918677 468548921 907617697 66679983 958486759 84353301 399829089 235036959 158490087 295706883 664830675 654540319 9666549 543392039 107312621 641469637 381994011 731462347 414837257 814207441 372648781 487195491 969167343 307666601 681176415 475358091 471624653 374647903 299567639 731440135 409146421 858949797 238801437 454219967 953780519 199353057 762358783 296420809 326427911 707406613 156961083 342158943 384925601 16360689 596579119 531840997 807886637 20644559 959571495 254559463 693907783 838668461 7063633 755428885 258848245 281657649 361014983 855675725 538741411 730115753 833218189 127100563 695470373 836834833 726108553 253601039 66832061 366484997 935245199 337561113 807917323 279958989 732170583 698060839 797474591 506286679 887517057 80800223 326590573 169880891 339215767 94168845 410790357 865095099 667344651 977275297 303243417 613042105 273889335 736223419 403775335 94119625 827854681 284240281 437327189 389638431 392605597 574169771 257621215 668415131 136684053 159779969 599355629 417582023 590430903 637426905 57667531 562974415 903744871 891972499 734623787 149051531 8378607 234752957 141393455 148377979 538689533 567516809 616629851 905558213 796477995 953750097 426060441 66215737 842739965 825343899 259972931 939124303 270875865 365581841 976887827 611472165 477869073 270202757 369220911 508500867 326092257 122515701 185962021 202756825 411810151 993444225 441952489 594639165 202249389 485531511 654569177 600477293 560373157 797432649 862952891 33973971 233061159 417063059 585443515 701220989 167346677 36875543 744572783 938104865 170945977 609274817 88807123 156252193 260419589 522870691 888506445 671614339 67876175 344408827 533518509 912638197 682648571 722648107 68977443 553433041 803632465 500900541 638004817 861646099 47294083 537774693 811981113 379296355 181949865 625012223 521084491 197618451 444275909 817596557 181758041 22318871 845891777 723345467 785520035 140161553 25449069 230224221 894991053 17311301 473784197 103034221 255785955 818674085 162972581 888307727 142232413 257211591 136145243 972570125 384063255 513246187 850241303 395858011 132780375 134157815 785310769 731345173 836604361 707705211 540097003 21885567 260680321 194560431 186682991 158108673 929804545 704746865 41050573 464380721 792703273 92056137 217763071 667432137 730622537 683519847 991242471 815777709 14253589 198685855 337425741 620744679 817286061 401143157 495960035 667644333 830462099 730832397 398094145 176283223 962028981 774713399 667822569 179985257 552321129 485150825 357663045 396934545 360357741 730288325 929249445 52013471 637934051 801442321 406729283 975558543 481110621 251667131 468984895 317955973 810562509 14635995 711251877 595368653 210359951 108844593 349543779 984314071 797410669 363880741 65929557 20736577 497213585 103794115 978463035 617151439 6626447 834456005 980230591 742839659 366134631 2807435 455987569 812364583 6519677 55735321 876201931 993220159 811823263 696221729 280290349 872291353 260044545 351859449 209202915 736666939 19700289 789489313 162440221 754868317 511241317 841169343 744824561 146726743 183127769 890684579 82403941 485436463 337287539 396632645 578968673 691112975 628879217 134928195 477763253 531923017 471260277 389540069 525986843 607479131 103427985 377218075 540128563 938496485 30908981 232675449 623997833 228562357 254616899 189756227 905230987 31733949 707769853 44138077 508812949 681979929 187153169 360370517 242945509 885850891 360094615 299516007 675835305 131997695 377776137 578354543 360713967 785459591 738562893 799263475 586570671 421528929 639985583 994936103 704083919 986699629 351072231 756067037 921413651 187941049 240594961 231456407 686539055 853949559 915051699 379029883 348424893 990354179 62318009 406402651 654545981 145406175 434957177 969454251 95587351 648001975 854751663 961709451 436737695 189102943 915864705 34056901 956930317 51251921 490475901 590462405 498291841 167983409 895775897 678318755 993432325 596467913 318073135 567249693 44962955 954876941 239943431 729451421 791413229 287465113 293804365 560712755 289560555 122158127 576186777 381714833 661068845 133558717 895141091 72886299 775401541 919763025 558785173 591172311 57849007 69838379 588268409 79833717 416983497 279271853 865349831 231650379 379136221 303817315 917261083 809410903 168708381 42122237 410735995 733758787 149565603 919436121 458252881 962542429 864948077 391871353 233167479 23455131 795995753 292406411 746702887 98359199 756667491 330070751 968675335 867086765 730421529 550490609 222783525 952099257 194155049 413668197 714936565 794345557 330278941 75205637 217753685 926765507 15453031 765569735 663132299 380892393 367501663 469929923 869686083 16722521 889080137 472609599 822754451 336048455 333836107 448281251 337862137 833605267 34720631 138189191 38812503 103769543 681430215 875474593 627557375 303020557 791630877 98298583 962006945 361697601 758477121 367438389 160083807 733778145 46597605 9353451 554809531 326926611 931722403 58212441 749976229 494269351 258433529 572095999 78790767 817872661 868422995 151639175 716785369 265315707 251400193 971337929 582075655 390950817 259220543 78753979 502916487 527108597 988224553 652076163 734090061 932602257 474625229 65793389 297256119 557735729 292016411 309120235 789019273 649685567 850187499 315404185 632521971 639893449 674413569 430589495 282007177 284641669 432054531 51838133 452178759 147581653 526697603 456188197 667658645 88731583 920165371 71132351 394047293 468815345 558834381 924642539 108983925 93208003 133962049 348671537 956930269 37598005 756470663 473613637 519668343 476829423 319118011 54332931 793925809 541955901 740490207 320416877 663765857 155075865 318549719 321865647 59425221 648257313 235452283 622569243 689310593 463201439 25628799 395965231 652975009 742782077 765075589 923491981 101789597 734008407 914789657 446455551 762455121 80391019 564812203 261372025 186969345 60157343 604044947 984575511 479926877 413821059 68371987 628526875 264171385 869127247 859877203 90329585 371256529 73114337 357144425 783868205 850904907 628455105 406959177 595007625 317964085 888043549 462960597 343804905 713435459 431647695 416225497 886100055 294608275 860127827 577504771 982998791 520909995 512147667 865392879 403398741 403355767 227147805 736118557 143457989 955875149 973579687 699327735 928563199 926501099 492003987 682857165 969975257 25571701 400356005 902130649 670665037 933904503 436991823 843928379 935249791 278687721 735746729 24497407 698332345 901840677 716075119 137812755 769033073 875572725 421993737 50691667 488685375 581090177 789272199 143030143 170587625 50901857 133221281 417512511 160873559 479686803 894165175 642299431 548248479 869478011 130098893 881572271 515105787 281969127 551061141 231875383 360541649 826211339 562759013 731129867 882162855 594337669 279090747 463151449 580160053 185289563 852466369 580342077 121542483 664190969 383411269 678642615 660318983 515486261 281834687 236689327 611081593 79139403 673681357 34425337 18322689 863842017 537772471 985766989 991685397 51144199 396090475 195973707 574294363 884847661 742231683 570654333 425304223 892540213 851371067 496829783 565459923 937985377 234347645 628804653 790250257 712480351 866246615 837051973 928327839 428043845 926830463 207456709 275521511 265936017 3821655 293761217 938585723 66849575 387141091 809861681 283605785 408218451 70582101 265474293 379967649 463736013 837564547 767520471 715342113 471696049 723820781 637163401 313977547 320590469 854699195 309921701 999792379 415336755 320178617 556297129 367658803 633311765 459905633 430712067 955989023 803428325 904632529 347554559 825541265 894458825 726260177 200187355 544185991 726553167 813245393 603220917 50078755 468726891 127675367 153605527 180214959 619629181 92395219 347858035 911359903 232435015 149310971 500726305 998060943 667090167 627252847 303445605 10191169 658586659 909131749 375125989 55370401 146443463 726620095 927290165 597917123 696347467 684887555 431162315 967123425 937925497 956243553 511345419 752369245 593012617 793522477 575447869 111575493 833089303 198613609 341489811 852775629 871740455 723664573 193695781 294728013 126467113 636033655 811991287 843732809 449205999 783195789 711010543 9633261 499532217 155964321 822966751 345247885 772938795 993496823 941116547 208693667 272461651 715759489 714917241 969059283 353601189 280596693 862527051 875004135 274283263 285065267 665344105 548781781 67813799 394097539 291321905 758352053 862513993 810845777 947907039 537404875 646649595 181101271 214715551 302488709 26734905 681363699 482936193 705705843 621736681 161515309 147331201 713196113 608354907 106078645 376232827 874812675 361886271 18138977 734053693 251002517 796603575 235479215 676675191 387986487 419196997 487164617 200611009 163600967 884803287 221791357 699214237 38020937 30559939 527067971 5649781 250207975 49647559 357890105 791837339 520204531 727168007 187369767 714558021 248745577 992765713 36553595 948198805 855407213 458649815 137470799 346021015 366808907 551790267 790552671 729642811 674069365 134455425 183300883 435734617 209680005 58717013 283482493 278256819 555793985 458193611 659144785 678748147 73524115 987827683 294921713 59412393 702522765 573708803 263394145 459549775 151377517 81030645 99157331 311251015 205386899 476037871 263514399 329662167 178097037 446813071 638137279 138521397 777935117 159164123 76505313 362272631 326989805 614564673 493773775 533386655 908543795 208800147 696664195 640908951 473340681 365828111 697508507 496829231 434253763 267020637 498813023 387258145 541152473 799155079 225256383 904248333 147175923 103203077 613062481 717553791 388741081 139123123 478437203 825472741 3318655 189652949 985308847 608831643 665428223 75804443 894096883 790915297 299183265 799556503 997187671 955138017 482713035 884382921 445570745 396530091 92168721 997193365 705102497 357368121 536135217 60532809 230917437 781825899 47250189 977005465 696807525 533731341 705330863 764669859 434769817 365095629 289709387 188969965 473294081 625393735 871809597 515102051 736777835 356290299 311350535 940081499 403899469 596532817 373056597 578071697 597782217 637792669 96365307 30783021 875839651 201836311 429335283 680610489 785217101 346386655 316872289 338546987 396523229 316639743 804251279 63932899 558955283 270334827 730268403 928183715 201796181 741221623 526508581 572930203 136403891 718797929 513051369 532139357 112173797 736618089 955357485 924782057 466074443 59385733 635786495 691686561 395066601 817441083 471532449 252388183 174581615 264749289 668314225 762008637 756584759 991897307 667537915 286795505 990792767 637241151 802309877 496321401 379007275 573464367 873564983 307461951 117080143 118129583 286247109 560889373 657533601 636578983 386077389 623434573 702542015 561090021 344299679 724968565 546378737 797052967 267250359 610967205 853231397 239303691 225587641 693693261 22873587 195176219 519830385 961850701 825313691 291949769 675222993 658789355 962934277 978383215 185025011 757028307 432502463 641517899 947241757 354911773 263698431 336524171 260143543 476261697 625231269 409189179 992189529 837544489 658911291 340190297 781753017 740064031 265647597 987036355 229008573 159774427 53471123 151878979 544167281 790111609 541618093 165192843 471079431 508016509 80377185 465095219 401555163 74434775 615339391 691774399 938133613 438293465 467792255 955771797 234859117 453081155 90799743 207210503 296917165 151498297 380206151 734546513 862660645 616497481 735666759 837729169 516829181 174559079 926409877 454386129 918355581 24453107 329282287 477554435 114288153 962580141 670078399 619241983 407292523 358779079 665637651 311609223 448533305 480004565 370749857 60650821 363365229 765494485 343074763 120075467 175308827 885471017 739970711 337961103 328286589 625296801 632735411 263755509 491012085 689595763 773370231 270457669 491601681 803513659 707340261 426407089 349956227 457013245 991191967 128643409 160089895 78090791 190582265 373270823 492536321 816371857 719904487 217846045 860143929 910959475 256614409 198553605 727271715 856180087 813696425 348269973 799902525 195080873 898253747 471366511 817895209 751540093 434746047 196683295 371651505 930039249 701835533 50592277 443800523 872083945 638221699 614019241 357117839 32816501 353224369 753122589 54098241 130207881 512220111 391438235 621261901 195330721 303645115 388279861 554260039 752755109 115142653 395411937 599043049 54385375 2722245 716241281 703728151 480501765 843224807 31830241 358287579 164734005 914031847 135502769 373465195 152300277 866608617 264778377 672676383 806810931 622376891 569484267 304712573 474615361 245585113 295291713 323736365 300589277 296291679 478519771 685751301 856402991 801688083 101283827 481242111 864029379 332267369 777281449 704678207 78166923 420305523 79522825 954359569 547224297 197521395 269682691 314187495 128623009 910167889 271725423 937529179 804011997 640889241 120099855 815950643 229626935 141217925 599062155 293466711 224361129 536396661 698996087 757007069 763973017 456679021 574205515 612903425 526782165 523952927 550559337 884875043 477420177 300210657 987867671 546222289 447662699 37972147 899653003 242305979 594237545 875522619 681883099 434842049 945578487 784510665 947022343 197480675 847611627 526628181 804241405 353315915 416493185 776783485 108845451 163620177 9093217 392422281 845258091 533995115 407539093 345486185 134135357 614366273 208874389 124418993 216052109 836882075 856678715 628251045 877030089 681248621 909120977 678714151 49344589 366952913 887672319 723766219 914786905 331583245 199779037 977569223 207918613 505147787 292556009 981211385 34664085 583063519 506450183 445471207 724612561 274738113 133506949 948301507 963739049 946195225 791057687 277628005 443703015 324682991 620751835 748614985 930329151 874774647 685062231 422891159 53874501 605677581 491412597 708322081 567869311 750848051 51338383 730238043 116587859 904437909 897976927 804157797 968058645 6607623 530538509 327820297 577405437 399641217 775215907 486944179 553798443 587313195 847340439 901319801 93837481 497569869 968383689 263949855 265422441 451622235 218159739 151150857 789010245 608308977 466673627 11369801 455005693 330069203 498380927 692447633 334453817 502259689 861734245 21161029 204649357 949332809 470589937 73615979 900782191 974446381 985354991 103681203 45311811 974045689 365342103 228252273 736196433 342787895 466185861 161855145 777020365 439969435 236219069 305568511 530406091 994966273 733585071 944631489 899728977 326179181 832016173 208652779 74740549 562515463 910747255 241811481 430084217 835759909 281765683 259571089 779198377 229337153 500358507 738030149 336741491 631981823 423993749 718654669 230255969 188319787 208176527 919102821 927527653 662721717 121255327 620743925 156489303 766205629 78380401 530814991 782955771 321428609 226538779 519464423 537488119 812516721 913061401 595278685 251475549 778708765 836932691 320008185 860365353 334851649 60208403 870010603 841880889 433435073 884098577 134396425 74334039 104131497 297650793 192034003 919360565 81585195 465858463 852191087 493801067 892419745 221436065 538820013 393975931 260307601 283877575 465185285 841949647 999379109 3261131 146828949 181429177 293653935 39205841 649782309 633694831 496244651 418614891 538780963 461080085 527066303 804745099 183776937 192763315 183800883 228396943 862443379 853088313 530116985 966083389 580393707 749703045 957464369 14852801 887720479 123548499 233944603 939908273 67953861 523934799 960149539 194501385 151311423 19737865 578026843 23981103 779506323 932914427 570619649 782225393 678837103 378276743 112976501 692788869 165428011 673975029 137683013 157458821 126878151 12454773 420549411 468333817 788564457 896882213 441659115 891321423 641919459 593289217 607405983 798907225 955107497 548659957 171288683 995326295 201202907 29330129 665762979 181099499 576115139 765282895 678922943 514406439 237177931 371759119 434707303 599578493 444397583 356714397 238901347 504497867 673302605 88797289 446714279 620893013 6237931 435669707 524194895 229522891 942688633 411143941 943912861 112166719 68743215 307648065 37831167 589659697 860033259 74829711 437243907 97445255 739552821 656312041 134612329 639842699 839116347 492817967 184319507 322235635 776365015 538885677 72281355 595456989 579364741 436829585 638555015 641522383 69024367 840923127 64523231 735829429 785177443 118781663 111939735 621930213 511196631 782209203 108117851 935991837 927034605 640610755 683466239 207320959 263659113 816744777 164105085 40611997 935570877 176439397 753828601 69227367 113337087 883454755 758739647 762366271 501111279 402727281 58138431 699632103 831048949 150501419 278234137 517130895 610415133 369183761 580332811 817518281 514037793 289055949 499761413 526141333 935886689 49810413 864699159 506974807 671646945 337533935 538085757 492592093 79012179 378223923 29260443 110875483 25504779 337289471 471008765 786936687 660745229 236122759 390761811 594388767 912655101 15019493 904339837 262465751 712305707 691155225 803806585 851566443 323601295 354573579 881169783 573045533 116867271 820146831 836890567 834961549 148263963 207077213 750221287 997103051 861646713 116232981 83165559 475054925 519876987 477253697 882197315 149221613 912711261 567933781 704229441 303817459 185660169 775954341 474099851 198355725 697075211 627750007 608440419 945894221 651462815 740607985 56292659 722208051 414116767 204393511 229498003 265207969 44630167 937349649 756922681 870653673 419434163 527454863 929510925 489249213 602842571 389883755 720678679 911402043 794718047 633894999 598880907 385398759 191446423 743470573 277347267 839283121 253017663 153981611 998403653 516850925 197218257 989123583 359222971 748083287 809652331 216585013 330675705 288845077 49563349 980040843 619465209 226326965 542340479 61075999 844405469 805861163 625473919 595366651 497049075 568433109 981913493 524315665 255190701 887034489 383970087 347716411 730729895 101806405 50133829 931852855 931316643 492581067 839525285 6912433 5734541 355902217 720571817 132440123 315362425 955989095 97569623 681412427 702017185 992111279 407313501 703652933 732014697 421498393 387821845 468949361 79217243 919778879 249303419 413636353 184894251 402969387 218240057 213917199 226544821 845929541 676808605 518071193 583243003 766207847 640363165 940751755 140195627 257996235 542100955 744525751 202771093 258531095 325922971 452288723 173054901 754149465 667447759 921099139 245216045 975894789 804793613 84463951 100562637 190306297 674642325 12031401 410254979 946480249 755190605 694498025 96939373 889801525 192649159 479260497 964382415 585401153 116527415 662696971 977111313 544469275 5633405 481853479 122753225 522315173 874201889 628285345 934031281 652440367 357916755 176430677 881266093 50481263 528967145 785479953 264777673 673061759 611127905 386138245 623130423 239006439 927903973 155059785 595300433 315029 813877827 242950625 257252763 174267099 951315955 633188787 906163907 891189113 51390227 197738513 141621145 497354387 733802347 591598133 491692315 166848437 812181097 500851521 432068201 644163799 968407589 219861819 184292303 428936533 511239777 767385625 624561603 118546677 277263231 415236273 581170143 117801185 196810131 499337669 548100067 73826995 337439057 569228031 465049279 490268005 557361435 679260655 122346883 43469917 364592629 274505999 166030957 891062889 878570129 271821505 271759325 97092799 258056773 549057613 452794721 660083193 828018705 726436067 674871467 491026719 188936093 825562271 890612375 726567581 801785909 220979585 57514023 42304841 649541587 236067443 474643333 366507873 960680981 781923909 297325321 968335239 624879427 305260721 341655595 508752333 79624013 311698775 204992653 582391461 648451273 683613891 716864765 369529835 969685493 849846627 571390573 58383337 829097915 627877523 608937721 270625351 97081513 589100947 270740195 426619679 485501431 374821517 521319831 19557867 726246019 881877905 988755113 444642449 778814419 796012953 236439763 239686239 262841627 78885765 733436151 220070153 285192237 623244577 266126627 5731245 641111691 414067739 540288395 668834257 69878877 881564431 604988805 983381601 165087601 280874109 409654939 603518641 699928125 695115725 112317811 659906435 150086369 940049491 544152803 535722487 736122407 827352135 284558053 931606687 385221243 846037449 607581595 941430891 909200117 971631077 366091861 519310781 658620501 202809225 763528321 107339607 985782785 136375953 672197821 93371239 722452233 154364603 141849037 579140227 784998693 81981621 957989273 471099561 415793075 333416205 983543863 754304061 89633981 574882619 832833249 261090573 511696365 658885795 141444859 470426957 357786527 955916687 278578447 959409819 30247887 460324397 701852627 32793851 89783591 705473945 880877343 452991965 269766133 898563281 22476537 732646165 754213169 138389443 267871881 874971615 109564793 460870715 385093413 299810785 874420243 427112695 383954249 362016297 749419507 987778197 153352085 720762413 502017707 372660383 753334741 732274375 961575805 9500295 909173247 370472255 868908113 290055335 993775915 226604097 739916981 405907773 565202079 573678307 294272223 584062839 892231365 944493987 896697007 923069537 936337455 633070435 196498095 358177273 944247963 507019381 87417099 973050397 242363369 434350987 347996827 636570007 899602727 423900865 45334493 784800537 77158789 910572705 41420797 223151675 663487843 88111891 147331013 204168833 40775489 535079537 126950063 145699409 476541643 218889333 264699353 88246271 94755283 766951749 330615051 948085441 845668695 408121455 309785013 669512123 227727991 298243047 526772715 886124277 826597761 319832331 808081265 371584097 211488999 177004961 951701163 961700567 901348421 777395925 658443177 688266523 182215517 304334909 530986273 266434771 146534683 796793045 740630389 772503953 771555473 700368389 628239787 954625999 54406141 466144919 847393905 510853103 875424705 6087619 143450399 224225593 416543079 940368419 339994295 347128543 913550499 37982911 266732763 642769145 23559249 420524037 487085279 480741257 118951795 203214535 5570231 795992953 341218869 702138181 185872899 707099547 222000875 457631267 189331213 654189477 621973263 871271791 176465345 362209083 239088195 713709469 647039159 980828389 423416663 427806857 9370157 869037843 236116793 236163709 581863183 724481313 859761159 184712483 129762279 476788305 734320643 438761617 961826287 131304135 15560859 393407555 232501765 615863963 38162271 303419423 836606385 33734337 4977419 163107699 705541153 517262875 466115203 539875317 940772655 556464245 796756433 11125439 514533465 230511487 898766633 415330649 607811523 622694353 180640233 808532143 649130305 981445101 11897743 315116567 415536969 885566781 546693833 584773199 905896953 183817489 862386797 752893563 236538903 170772899 555372145 900974375 512709655 730609427 86138619 112249163 871130379 32558189 552336213 224517443 398264245 215543457 261055733 585142227 224770429 751715719 203861619 858854699 445867887 817003233 68168853 813230045 228511557 708290903 85455173 93111273 253918303 206005117 445441685 935522741 37545665 924893899 709448129 484295945 478721565 782815907 229324333 747584033 658732233 86369099 102883429 102713493 589338821 403794169 636463899 435250797 290361527 129966275 775529001 727476501 66698479 79369131 381370773 313055843 352967269 146279833 252599433 537399187 119261623 833622625 193051223 55314509 108476973 338836667 530537341 363736987 708779701 893613383 106764955 608700147 776337129 271693713 209208191 199446837 625270791 758110983 719933979 649421219 594321395 422822405 402788235 550301933 116079681 243350731 255315729 252829733 899941159 41557633 650004247 418052043 46144129 404052027 664231989 954711747 527060187 572260337 75747875 518688091 225463393 418624387 243839683 674681415 161591789 691560381 373298467 309445029 827201019 617863501 798152309 711942649 156975539 427424205 235216661 984934195 821979111 323058369 736695685 291453863 196889611 754214545 577084273 155857169 236429631 227833227 104892077 184958359 788263757 378133229 848289843 721743559 937038239 181214165 373686053 227465879 382465105 871880269 197389267 190421601 810961697 36066889 847475371 89192429 190836853 444242589 211018571 896649833 806858333 785271823 468771189 528471399 784684945 788405317 51478549 901063141 553955439 466901203 360131647 199981899 532418559 527907887 457671213 704650341 972767473 747989693 392161859 160692327 621926041 361838535 857510923 835838445 188636155 143618683 336270139 458163713 1064635 823377651 454505131 899768077 135816743 107856179 808745823 704727525 104313403 966992929 58159493 661805257 239298195 352711311 285212525 147474013 345641845 340362809 428749459 811762863 551805651 233093821 257342107 639247411 463438661 868755109 373067343 963688649 686745863 736819299 30267045 867828403 299001601 625336143 503630261 440753055 458476997 116132013 453384133 84581283 325165703 36458659 806341693 434656315 497122855 914733379 968508083 221553999 546085421 514717577 181614563 777902121 137402825 192877651 887241389 276444801 624355537 7331691 229240095 250094961 172284613 170053251 156764009 945689217 588900811 477979187 9082091 661044895 403929523 800726269 503933731 95870749 850627829 752054859 479034561 670814907 250112431 947292527 831823509 663844509 13598377 579908767 203391645 580993361 985223761 557611519 278343929 902026187 112314305 506815127 686617847 719563881 81554869 595621721 650170889 910286833 363970967 916725277 19058377 450035855 523435125 762396325 461757437 149747415 79206917 452588955 654757263 128258251 585611689 509992335 744891795 597615819 218221927 558111739 896456513 80107175 478659309 560534081 553069057 981587093 288243347 197353129 277070939 777626671 99401305 543999845 184546051 29036413 822715621 32390029 579829203 875860459 217177225 640903715 665044177 693719377 865820217 414936337 20940071 768196839 368851605 823140391 515558441 727250007 628623589 342601247 599607889 317326507 128149529 17251227 670361155 285161819 693146055 688713249 427930057 331733315 3250479 674038055 859332311 950421929 574459959 610431747 40713353 302523703 356389999 690618359 373932065 361097991 585419791 680996141 157502987 306503059 1129717 636503989 821395675 242913217 110606249 32548233 117483083 816250335 893557337 234584201 779553855 14075553 740205023 157455745 440228801 42926631 996431031 125148449 543430149 49128179 615125003 117441279 694692199 287108851 797919911 617332385 896569963 413018237 725061639 638500463 903456441 540432205 532590917 708645049 523030567 320837003 666041901 571202745 582061999 265574593 835803691 950431119 103916661 250496231 493364567 252836167 695904451 176488793 931265393 66548687 930947855 940229595 234599137 884689411 941793521 67807131 368217523 695597219 993927725 166283313 604629665 980524889 146505137 228776087 220337675 144662453 35950733 356715571 750040309 237615 781125373 804658129 488330255 111834925 804000613 796850857 518215859 577579507 430832465 575217497 699629535 798163895 902112371 955989729 430929209 930697869 761886629 731372979 39248913 865859707 487338477 429359779 722758239 68151913 141447027 740045805 21150145 242177829 111137421 836888633 671232639 126282861 888978615 968313233 648552583 536446943 599975313 820309611 929939571 721199623 805572585 858647719 280075391 860566355 853517489 7737991 97864597 815174431 217603587 482120633 559661633 79870121 81174053 217657939 63590847 14736415 859585665 533723091 529535721 352735117 518407849 141472285 708869963 668590065 985942363 283020927 60859409 659581481 425866615 616886955 154700051 871553535 847109387 937173443 226032081 137115429 405835337 861711691 100398193 934026805 964523661 968160303 702111429 708467631 322325849 980419011 515892545 282665211 706031449 36513991 569865221 295745387 128659807 974463073 363363801 693245243 690547561 840819993 76398381 355347593 261888921 73931243 348489495 638165599 499397433 470704431 983175765 962659247 364050365 244066733 200213585 21359187 458508223 529306513 933592091 488973321 453006343 464851313 98468197 207814013 751622267 862390603 565576083 651927361 253425967 999937409 571913387 129960139 196658017 207058917 596397659 944025983 808883827 463464615 8779005 3319205 985443055 603595625 338466957 425744751 828323723 684678701 633444277 814500343 822610973 116261475 555195585 750981179 487721647 922816477 7486125 952145447 28108903 222427099 151509523 336033165 790383259 918442497 509816895 158970659 926753733 921982301 121816093 84616077 249237129 387040611 630471493 967637075 119059121 752028913 315404535 137781991 621532211 532662605 723696921 705743265 313847847 116407587 309177149 803055299 879291345 798109065 665927063 73355127 260519327 22211835 651567623 638117071 711762977 184536161 186925333 536795841 488600339 199374853 887697137 190153009 163564121 455492253 610126449 747319527 775400701 229601353 96393235 114912915 148848181 190038411 121160449 548965843 124717145 3630673 949869065 461019683 602733551 989495027 468408995 124643823 661900447 812528937 660924397 790236039 419855425 85303069 47996335 953010213 537640395 909628507 531992407 639941867 40342115 338343639 992291069 482102241 411827797 245589487 956274275 276928247 598094867 557517159 496969707 700347657 984649527 133986415 743179177 432530135 353979783 970032283 39744081 73733131 276705261 217269991 646312517 766359093 975097723 105068729 18377353 994139087 27123821 566709471 330218959 377756475 872021289 440545421 951609197 103769537 661070647 58094691 532380771 170355345 930106441 897264995 540067929 674360263 94082879 74949115 112819867 976144227 723250969 369796353 642000675 974940239 796622851 221878449 456819087 586970971 711900751 454032307 747633703 142817857 247355771 151557137 533783259 830612643 446511401 640349763 961268289 271295751 540555811 315208229 812295319 155838435 145360733 180160507 491902151 916011149 616571121 12100981 934949215 246729285 110236453 673085093 421009815 436395321 250766179 664526091 791617613 201209207 487825215 425180811 721509127 532579321 165318003 428663411 814633721 629596575 50859235 960907895 603833333 909746229 555052953 717638071 971864445 922118505 646128073 977797555 395457465 906063319 500154575 398955357 730032759 893042175 503705645 924661257 815552557 663017801 382197903 443217011 705625851 811668745 107488969 141955011 646259115 194046839 707050709 201512579 915121321 738633395 14019799 115338155 958726925 807655881 148247577 7048085 941727639 583035303 514267153 499093257 175585197 21882921 972481367 651081781 628759647 363086095 182441135 806009259 802628453 193093889 741271045 994913643 23010845 624871571 712448365 673804249 153558671 520511291 444074529 76615361 550031979 172302943 251752837 705880667 955683335 954972739 682758181 271959107 188092257 51689243 391893169 323509887 622927651 434438145 100968201 687475323 787188123 223292403 653631275 168621067 625442753 552275679 880160327 985896049 914262067 676514961 825166253 684436301 720543287 286940615 707953625 528803759 718684353 827247391 857595759 643323147 260897635 607741475 681713723 924037697 566698335 457130567 190327341 287032467 651990173 869730783 387337829 406535855 967584425 153228081 457469987 703200171 512005055 858491235 913507793 758987267 442251193 293618055 59467783 959562911 308439331 780806553 495750779 308539339 526509095 829972855 507942163 325067321 319830435 370862571 872035547 605982219 944812559 299488167 479359237 435311043 973529241 313875525 767971307 703780177 306394123 994530115 965731347 843848969 768880095 616648973 466807591 304085159 794629939 97513973 484195577 2697297 690545103 865396017 844912775 784718739 235937059 158261733 994000627 931925095 34249027 338978329 483254405 916527141 246225395 325813183 576135605 819260053 876281751 855871919 459729949 70450915 34899007 613945517 362338687 733746341 493761185 385925215 36981447 16037079 63098655 357542487 253212425 412269279 360221375 928643343 708599421 871388557 519132207 146867945 146279819 659524625 175046343 19563821 840675771 416857869 910213511 774698765 717164225 159877507 375695895 141399201 708135801 119822819 416781765 605465069 873980133 911189247 596918407 760362967 868460849 583831319 814454269 853336881 819313329 480435407 630801521 385745845 489349855 732414515 428426703 490643205 885066591 713494971 458184367 536190377 695210235 588823875 49241423 553735185 424713383 651644177 298159259 927265179 305355903 916451537 248862493 602592643 932672199 986947223 543898127 288331253 343888615 531213285 181395535 258642689 594354293 628320923 753577317 589719457 97293355 677182985 260076671 102170807 948204269 279662563 338339703 490126345 366422213 69424457 808507851 661873485 7540713 679795133 818706847 934103321 837051825 874268717 588668103 677092847 403362721 157347311 688507833 284417849 642055271 622621633 122034323 973478471 962206931 724657349 816751643 312926035 471765217 974611341 502721731 549945471 599557301 992566027 916140963 12970193 941580187 468316571 539597687 600089407 761248515 510127111 634740135 550564767 880676749 561286265 715210565 646122419 237900279 193165189 713016837 465352741 747774001 365527851 600191817 897819013 241386059 381206479 681429781 208399691 69783939 170078015 22602523 969346781 26289977 32182191 79502257 838246529 780569081 844547261 453489367 490360935 156588665 309656175 465458483 466982315 632264339 181600817 516131605 288096077 303734857 562845657 272677749 225305909 489756357 266629285 728305393 95050039 165309279 531720247 404229329 860220427 616625293 749689759 92473347 333000273 828297975 414697043 21883425 826482069 343151715 383356207 985239143 347401541 658991305 445673335 33658559 889043901 954982723 829327321 119755959 320205629 805565715 640426861 37024903 250722541 300090021 372465325 792843787 793722337 215826059 347425407 202510287 86059537 596424835 146562351 324647935 395776861 344959087 238974837 233880437 564358801 332904793 869895533 453013677 720407643 999097461 735360413 295805647 601722967 566619165 189636593 40876717 884533251 295149273 789596863 922205115 83943885 42119247 367716803 910946073 542412289 184817747 605988131 45691023 787483101 332364259 553943661 901756813 769334399 685410337 385269143 521041961 928953843 747764055 120773115 785525283 30181927 99854329 756008801 444921313 292293109 305392547 393786613 592888179 545771553 432484377 482126925 203691409 90868305 670506563 556013671 155252889 351293977 965106487 876358823 120034707 770129391 46120239 602769369 879807279 247943737 974845581 524583221 325072065 619727931 772675809 454759767 150938445 874005289 689948633 492650307 579958901 94851867 30889555 708109673 354145677 217528341 836839251 1101469 727525515 652783357 379687681 125165851 677850379 605640359 774292403 157984137 851118937 647352009 548186339 784921589 57964385 948420359 723442741 566096595 523500989 11975657 67250805 905299457 372768425 281419745 358318739 20952005 467331853 713265225 407509167 42243019 601186683 318827615 628016391 77870633 873288487 703760463 552256267 610338909 708571889 858820139 813995083 307011145 500289633 230130921 98139011 691480383 52652711 630812525 894917527 115754735 908781465 307100031 242325139 730380411 109558455 260459729 469199529 113908581 401321511 115434491 527000883 36130973 482516921 191820159 584665527 717909877 17514981 874285257 448264413 189410989 138096329 896429349 85750653 853243241 603221293 376488655 764459917 953614389 156174207 577123305 213960501 995110923 197954777 757851515 706535355 595806531 753146359 462262391 725228695 392929443 917403715 326628533 321007715 607419483 112294091 766878711 388187617 397581055 312894789 776480487 474181885 295891595 904339731 636854805 329538505 147059047 168355897 246721275 254675843 372378461 91122795 507958523 835888523 218435235 404180475 738149469 541781615 386680025 904815339 576668499 583822561 887216641 479699937 103549685 572581565 630518153 337061167 812489797 750921733 587493191 574690249 178749741 980650469 943517305 417659983 138166141 656796591 838605507 897317385 850315759 186577377 309720881 460174823 677269285 743572765 702588731 133838207 117176999 200059693 276193725 533882897 829013989 309913605 983007227 85849987 397166395 220272321 472831653 135828837 418354409 818829987 362341583 509167087 482032665 763764759 969156341 926160127 726750171 303053745 911124989 250795805 210802729 605934891 608285749 489340535 776062181 825030249 325472849 969220583 360215765 639246453 550938735 917256681 253988527 201293957 713591061 814645159 57792521 990591217 934144047 29195757 675546213 689548861 152339475 458419255 992977451 400308757 598763647 440449439 913824687 539342925 392469909 228770289 414004777 749123039 661845735 47488153 15978683 614139887 342442599 856013231 204352363 31982281 520028529 583777523 742310447 353917149 739566541 519504589 327158747 859993545 692471977 708389193 249990453 587003217 442548119 650775329 559864293 400461405 959645591 111884467 476758395 704118787 317901837 868434185 110652015 180897407 254651335 861150925 925438759 125987377 516171257 423610203 396562151 197930149 97272641 546348977 985860325 483201425 976621221 337831797 154514741 427019725 804144785 53633527 92748253 298117215 57003483 76403503 257968581 983224689 525559999 93178043 363534267 535899477 761293283 832498403 438100861 927033223 173596501 241477525 992141481 558417325 305879947 135485291 769205195 342784141 441827935 506602657 664173905 383820063 467333659 603524129 566070935 266711421 888448103 375101047 204527835 806582759 505220443 393929951 373172299 859114957 989069941 459260467 332990707 483582145 178753433 858914815 170123729 72143739 846610451 122182511 558624707 175579875 413292955 459764315 372225171 594195201 201722189 914071107 157254133 328001543 339453615 256913229 394178685 253781 119109803 290575179 693656753 501499499 756838043 168794801 527518711 33942517 488497977 696987039 52091811 770611911 289199531 857773789 318940651 441315033 644173951 355343067 24574195 191477331 873338537 555304111 323587011 449093245 22837897 933744407 366300493 694913227 365279969 736186237 616645995 71507417 558686687 465070319 911494619 909672041 241323033 311678245 15649611 442647143 59051403 526583165 415594055 784863207 816884893 401078783 766489677 228937763 188098841 106075225 335330489 283496573 81584951 727575269 904086491 416292229 163337363 415752095 953190879 2310633 282691889 288797489 382391263 845889415 128962177 229947367 370587357 875011169 757295189 572040893 65927363 64614307 787473901 651674189 109734243 353691297 264403693 711189987 845370227 599888853 553628259 893146219 1316247 154493923 771349443 931859325 358698839 338170007 521165803 500168793 909926437 693814753 163494433 321156837 414023769 505284319 376486673 931781811 720411703 430649045 235122129 560459255 401043173 415918123 547593949 168539793 866506101 120875895 153888027 377782537 939987425 508508275 138911963 612749199 565454859 297612035 275230413 608183543 758179515 662371891 840536339 677074373 483564195 358230323 993884719 551260445 524015963 79760483 831952399 402623439 387131493 86794305 8995593 340694867 256005163 722764413 373122267 728334535 66512125 534236903 798774697 179358705 47294485 330794107 274159359 986168389 865731733 368219743 660110037 437577173 614518405 511318745 548400775 403410019 701360085 971190369 482989019 310177367 364971873 980617359 156560381 338103231 684909547 987270441 133309569 191707473 190918423 517400345 540888167 275954543 220423803 783273841 128024341 428417309 39286929 551711855 333361493 365408013 651468725 267528819 437915741 625348245 288173365 146717451 60350667 602342581 136033343 442312169 563763109 419294995 145869551 421079015 171783001 876146945 158303045 262760971 119028921 40943219 738071595 30590591 536584195 12187913 933697137 73330071 325333471 592895755 133366737 887908043 594728535 772917353 116132845 305425859 141701603 636251575 246798667 657355079 917812319 259919673 871988321 796238923 272057359 836480979 463669893 713119979 214838947 157963797 65364217 397343081 280193581 914811191 192741349 24635697 227493421 101568021 948728669 977197525 343591559 131857979 443159641 304631827 299072137 543300823 612139449 725167821 687834599 909806525 442352457 882763789 304830399 92252783 360069815 80772103 295718807 203716373 630581919 155463703 267871835 815494523 606443905 156604351 977994081 743760413 365720263 109645741 457332581 955985685 369893311 867174575 665835407 257641775 639911591 90246853 222807145 314841303 784758685 373920785 529960169 384582437 447195565 813579231 693857135 946352857 344620997 218300831 156155069 789731161 792220097 898367471 735540995 51806645 640501089 88856465 588223699 141481381 508801357 164367987 659170861 442098823 762052633 605320869 98104179 460897379 515356477 511289187 484162167 632046313 96773657 709823505 549632875 732035695 253314807 954509625 41961453 534478067 697150473 262509457 634806787 878856479 737237609 116931313 82794263 328612673 961220887 626208607 56890627 839081553 618076667 793165827 461436161 374052589 609688809 329228339 740389047 660824667 649137815 87936617 478932275 266783631 913297833 811176267 535107051 824442907 208351657 662316703 278724537 223946561 724216837 200717917 45089765 615131369 806375703 821655965 480791323 886856863 334785827 524290981 85815923 946654879 71985999 527813343 648521829 281584835 214455471 309207517 210641883 33597845 864109881 148763227 315788063 90187589 304831185 892098623 949337833 905473193 544578111 290638991 180987221 45982273 99624501 591415939 112347367 881673525 989532749 52840053 678772623 565900881 745867781 324304615 127549855 467023119 973779401 931648387 378703063 683713165 612578795 405333537 534384475 81262227 555109281 44718521 808380601 313341583 163090959 554852205 475936485 548639899 644537661 120032651 130992959 750637173 13527325 764618373 561229191 211063427 666107527 53001719 406848751 602508501 455600191 583636899 763776779 504853025 307197931 633548405 274636505 24659145 194010397 133740415 569674683 148622291 201495633 928052991 176998017 250730477 493699043 924671829 923089505 379530863 660399393 569072145 541905911 158537817 305581883 300618465 247815239 667727699 562250313 827039395 277995455 617850025 56537679 874506329 158498613 142261335 880921139 102471215 381841639 669137399 589702343 734689913 336907129 453861845 485927877 870781105 996368633 19190235 452446927 899075705 965333467 372022949 218903149 154517153 534613501 665036913 352841489 970020887 697905571 129224741 341463059 9142009 612958845 41685587 371847349 827796361 746201759 719347247 25980705 430146355 436056965 209181337 620372327 849888651 902046485 685885209 708376193 918104907 387836063 853018333 667221841 46475095 607282643 651852735 762315679 866332091 43557329 51114299 841045787 524031655 355748895 124326267 421145185 760712569 100003755 594675277 70076913 940667829 264699335 587167785 16550709 545807363 704229681 345840427 93400445 775564089 418105105 313335327 626500355 195713875 107867633 352806769 414977001 424330865 688295113 44115515 541698871 954896351 35268597 818822457 596162525 921926931 186484283 278221779 472815543 147647141 700272069 944883995 723126917 60584283 154975021 298779333 788449521 319457565 213595245 139653681 422869387 936698883 269585899 741743465 926013901 140065091 659776373 378436633 383849239 576291907 873757503 514085017 268515253 165318543 251448039 331799783 974850517 611861465 202380403 360595375 849681043 758085883 619067727 621245243 732555503 872349947 674478417 784328837 661541587 625971971 588767157 451268139 4345357 265749093 479723555 625559925 202655067 871143327 624476069 900783441 197817181 242785105 641231795 685473625 368218521 185996617 560056103 890393801 452867459 300070265 856169291 198135179 237489013 119743227 379033799 994540333 896144815 292644117 312919219 888895975 867207003 249180209 952978829 480235413 307361159 646752483 598855737 211198147 111976497 438691555 77714693 872736157 402989879 525972505 900838565 11891963 81088357 314085773 556800311 21917535 268591977 571214451 6589761 614156267 829036767 167915815 452787373 78508403 465873221 148091435 958902229 389690731 121000201 315982635 784487027 139352819 579809401 596545531 110426287 831947219 173572301 565872533 624355859 120066427 219448617 381308187 840698517 15823873 276516759 362325723 195510677 37253413 561314821 114962761 471389397 201292109 577896271 212696061 716923267 715682953 933514803 516456635 576043829 24414097 659600989 257672815 258892521 359363779 117282143 577204269 878277635 920516391 748798385 446269999 614654799 86805357 396755379 872873689 388534789 319380713 394174639 542654389 862069953 609432735 813803479 160443001 944666247 801963057 932732229 687152637 371197383 339337971 348933879 117279045 768509267 726601435 893039065 768598141 725604203 674181509 961438909 827004409 794900661 672653629 694369113 756910389 158338873 851754991 848302929 173529041 308398963 292103731 417079085 248280217 864083771 829795913 150261599 879680131 169044185 698045721 530330945 723792295 327140345 760422191 983054865 134548043 126629553 984482759 882723835 455058391 267418237 219190715 438706449 813567457 46732613 371226773 52641865 665259301 601205843 793411973 264576647 772046467 779765087 493021793 22755219 43975175 732881795 130359977 730691871 82370023 551403081 504419459 679521219 984080763 663835801 798725055 681420803 254511689 712872909 788003029 433860421 142541563 669275293 211917283 385316571 435722339 903112243 309277105 421677823 273396863 89087771 461873837 989751251 632929647 753690697 818897393 388484703 205900417 314285595 185097785 206749077 161937703 867749207 858192111 963824973 163489275 386548265 670908705 944141129 338609091 418624807 275118213 12783667 637326953 569899597 372445821 629653659 414274047 131320833 273768717 89968637 552711619 374948881 568237031 273088949 142337815 185110195 944159075 330417169 236443779 92585345 894683005 446602561 247690943 977474179 668972253 787755613 422113189 936728359 789492693 387016807 191918903 28043583 879773017 109621577 602567329 805357579 724663817 597231827 335084343 616831277 318011693 542951871 509677939 490416055 568180149 225989295 118161911 497449755 590889783 378178859 23218833 728762423 78661363 882335395 10173237 396557903 903611087 756184947 638434041 804797459 752871003 685920731 837189415 126498453 400312783 434027269 659429413 674288725 594563337 909646849 940424329 546027577 438218383 28004041 620993549 905702539 613085333 454213951 76523155 484421121 570744301 157117993 830245163 673676473 97444635 333335613 286647555 955475257 792172865 504177425 331343993 323688813 12629299 856815655 922310671 363607979 264065639 331182055 734731635 481534385 72835065 642752677 442302581 858635169 512858037 303202713 388334097 581965067 651253511 992960997 262937451 874052581 139290631 749461903 629904077 699375499 727363701 992718989 703567533 120227265 153522361 593989045 593333411 500665271 506836191 887710663 373396595 42878207 308318625 735280753 168997131 911822489 144837469 715618113 972598651 639548393 170245405 260446385 33812991 487066045 869544331 481709857 26380539 71701833 612798979 388099037 885898235 11839275 52022659 524331027 383401647 150691433 42374065 103542239 802520055 711444335 803703261 210598719 942962385 713466129 392587775 274885409 357552493 534232465 330047413 675373139 36209179 909910927 528712517 974940813 614544473 240877851 526118563 88132469 401223111 745175211 221252193 378431887 111503667 139902489 444918467 825886031 357109135 331274669 745267371 318567439 646214901 631431957 765002413 413866255 364337579 438356067 241971711 988414583 118015771 95426837 372725117 970448475 51559639 191899923 332670131 77921713 107967901 361684905 71503565 462130525 23916109 375820939 604279715 650566441 862524661 469226711 3415221 865646787 779558343 228679697 295061033 936000709 521414687 789142313 922934737 343329203 108064127 280331123 148912673 298716915 698046097 684578731 643368761 12932569 995670061 828250871 4316129 665435803 136546379 548736997 848780937 410236765 650773773 173260649 794948167 983663913 358810561 101097441 431947737 258781933 953912793 524542995 318939817 237606019 330296817 149743661 730469829 905020847 746304715 667791041 764097765 468238103 306750549 947037645 168029543 892002637 692495005 746224569 228926291 143506381 544496867 130496079 808486487 630619125 746821257 767187911 556027085 94725135 925552665 177288123 62917809 991341133 516036167 951739445 623436973 894470599 519735535 246362269 189499149 964383103 191608853 517972685 602400461 82188641 691280097 698486271 779369095 107556665 967470761 277575641 865857415 74536899 451213799 118231399 426943673 15693217 253974847 663832611 713242037 754488411 594600059 888600293 51434427 187644771 18686863 277650675 30390449 959520017 246811033 264071933 892067369 152954281 228252631 718134295 599685717 497685585 416951991 157919935 396371739 261668891 297718989 653159383 366019325 282798849 526387669 711505839 450402349 168980709 919567279 396026621 109826431 708395151 455378279 659022299 937942903 873423025 626291763 919895249 693492537 323438307 969096299 71781837 636475285 174613159 721766037 995716897 531035139 922880103 686092377 303255693 855714721 523748979 185627021 853026357 970313781 242568197 875609901 903429029 84506931 857464895 753878617 249028309 814132397 928055081 295369055 363377441 240980069 764293813 650051759 88377935 13811907 234740155 249189865 824745353 438385109 812336893 452771533 789393001 757697105 407832101 555781189 773812201 160467097 300909251 69373801 70903151 447680945 231814993 736719983 706858441 757748811 516398639 618096575 371424301 200712125 576513705 235452127 514495285 478957831 228972015 50795911 805060073 586329039 67227673 484820625 648759989 909814631 85589289 613059839 149354095 794167747 295426567 717530877 666110293 623883907 124352391 187028701 893011977 886485487 870082913 732061213 927471261 572144119 653458231 224467549 591332227 827429167 247667087 394485867 368155287 815370715 485687519 595034937 282230307 615014623 680394365 434982627 392419279 968630987 355607467 191086507 278747061 386527957 987189905 606577405 125703503 64765407 659276099 374372973 973433987 608532335 634042553 755860149 61240479 925980851 853994965 482010295 197690199 759673733 560627805 458371715 180786121 599098721 857968135 368978503 323101563 640331889 636998503 228437857 197720921 736064129 65812227 129397587 266142903 827352589 318891075 649751241 163179607 763582255 611461751 212534423 753774425 161410227 734021079 998411447 78669901 643922181 574166153 166167373 34857513 265479485 641386385 374760867 985684297 570310683 950856675 811959085 61945457 574375685 952444249 390294663 126676431 188073739 383689651 6599797 582671353 915668453 255829913 164773087 566565613 57624305 785380767 624851419 707372303 894744631 69747005 651462819 190602797 390645607 766247379 397073563 424609403 698660055 355313579 98975311 428597655 10015365 433363705 952051311 200770437 886641947 581715153 751094489 830448053 92026599 211448889 677154193 996484091 492671201 246462743 918774207 756493203 464944549 712385343 262503611 99016739 631079551 187332967 953488123 501676729 138709083 701002291 947343653 221573835 316555475 979854125 582175493 367087411 866399011 558472643 861611659 493384505 360768821 120553551 102488791 394104201 269086357 931570453 434827047 791491385 149511549 828199739 349053931 189122247 493753805 300874709 923632051 350898965 120388105 274184409 154507325 298902133 986230371 135615019 270224233 134128537 631360945 766641299 846006341 11623069 993867379 395709123 267699203 501479947 959731663 801875541 316321021 189525451 749923991 773302471 709723065 499830839 893792319 822249607 657307617 2198281 662697959 369856993 507816263 849643111 63780183 146108433 970186985 933188063 442758653 824523321 478656487 270356325 768718835 464447585 779732623 219433047 880481015 928142971 392692563 656580219 133354863 517524833 831597519 596643069 126598505 128829905 141358021 140804979 699461025 688132471 14433825 286308569 629939827 651941347 935638007 62748311 247438567 903572369 599112575 727981431 124324267 384852191 771442977 138367665 738594327 210911511 56104037 273735903 756217131 195466601 862071551 787166473 132736143 31946227 462920139 637311901 129495951 553119921 178050507 573410669 359201319 619108495 925009707 940047545 627401713 287735901 183611455 808137253 674780471 957976533 686370433 171442109 23359977 271539353 604230037 564044793 243096733 315810609 188812869 395736757 409895827 864327183 814394245 571376183 946856881 547446923 926621041 898393643 908682121 376564711 699877965 636747943 788179021 687582797 268179329 405565223 125554915 526341069 192583843 247968657 421108429 666824545 978956397 214946611 312204603 321307115 196127683 388865475 18770439 832213811 17205423 457581147 958791853 128271081 982035303 913499267 799000919 485829033 259330883 503392551 101360083 154943477 486400967 430246813 514569881 237894961 714581409 939823267 439731653 591536307 682745249 119909213 317429795 500701363 300520899 84436567 532571167 615970643 988127787 869127817 384981203 61356443 264183333 861002319 465490683 898136699 388972321 196606573 191818751 903907791 475781055 55739667 502200049 394769751 699801277 475164371 782348165 424951741 148064267 560138669 556357403 480802193 784518585 59671045 912674237 929728077 878052611 849169833 769064727 797451601 470298447 524404431 794427777 710714601 631050531 422344465 344749305 13535555 230566711 509302903 475161643 655970683 505891173 111759469 340792161 761006737 943778733 596796617 284948373 895339631 642422079 949676231 434989413 73753829 629398379 580999183 767648793 399507627 313610927 765764011 169150111 943136871 343728555 643446545 190495889 632976285 205671469 820943649 744130859 2091459 154372135 448238877 690188375 317889837 891735221 673837493 613326243 533054497 445965081 621683195 15882053 494663623 521246143 427093103 238589215 740130607 323741497 862501365 310576055 316108369 844732229 782795483 667440443 707935507 952719811 307369429 321548419 731056697 896855489 232866561 229263375 652785271 428238451 625036515 596353799 661117799 546885167 241271147 809273911 151115401 717918589 742187245 161180443 231308357 894469639 855043877 873557197 965861615 280170913 24109113 717083927 665284029 672888133 396098999 963044713 800735189 919174167 413188501 496294361 276728123 512015457 380389165 143386151 721854435 449191063 27722311 227192505 435207335 322596949 915347473 512428447 25007173 734525277 805760029 492631441 152482923 591689373 142520169 290533101 664581797 838540579 454753117 196897467 704883569 885241647 256146117 486990249 498247981 946574627 264963797 296093969 159423267 553415819 666179113 604145135 858963589 236359959 419198923 136340461 984287085 386327461 930787363 29058137 119692249 417136951 395984907 819143467 457725109 345884667 887895485 225388031 82095315 239726145 479576031 545103649 894720489 513745285 919678079 187650685 776791451 340780907 431291921 443919531 850264691 353958079 141433973 662181867 181436639 374912625 508533227 734285605 366456889 297402015 988894247 147727077 820443075 843098509 82678073 889463909 45333929 107565731 823137951 437647493 428466167 765109113 555053121 48016585 858342825 85995717 708368745 417715299 511585185 235238765 364801999 394918185 323030439 253368189 380628621 259652251 752085357 110968101 198797611 753422559 572248459 508160965 460273303 736435141 623812741 376060125 274861603 745014213 176644545 728048919 220633743 43543293 941262481 851960139 750310655 783157813 224298799 294467439 241424385 662377435 315958205 843302825 667587721 994490121 559916355 906938693 870882037 615999099 122428083 187076021 327204363 743584155 923305957 777389973 866835957 866077047 60039835 177116071 399448909 190567365 10410367 422460885 232845839 853852647 8165667 961788471 940121245 767368161 358948605 287045123 753401031 243422053 659305073 772936865 723641025 449678027 8209349 306835097 755037227 599548943 259747631 284818591 575184135 230697433 651823045 941714063 276438723 643803769 763071113 545112171 83830071 878610153 118222181 577418079 29777307 796441027 602003497 35262653 743602073 356204113 983559055 7532291 526500923 727726979 408932409 87117011 914307833 298781935 959520175 554243063 850126511 639954389 522350945 761760867 818655907 569928219 237733291 810508595 653220223 48158545 235072719 29769641 834113629 869511597 440118769 269495857 860232119 915451153 630542887 681134431 992595571 421288451 449735529 695291629 529851615 173083315 356842393 400386239 736989615 670184437 866638719 372080607 504043267 232345677 44006859 12712321 394831197 142613725 418413593 883953665 812048555 503003257 895364585 307700195 570537795 335058583 548721573 872837839 919031009 971589715 272994205 282584219 916514221 439057273 658128137 315244609 959369009 446318453 261135631 918169317 74826085 323380831 959875507 11825361 790863781 930226167 831835371 466999419 275627445 203381923 118821773 702312315 951740099 160996469 805767771 357907351 372876903 251179041 464140029 102169527 157875099 443441671 590126343 893571313 990660549 679273775 510720241 147890049 718255537 816804425 683443995 75060167 574831767 827351211 735986385 50649935 328355093 606489941 79330113 681254351 484215339 885164525 416010887 792055839 375410763 918598595 357675171 599011141 326501961 909557967 708998269 855741801 481286753 618275503 720065769 127033571 294028603 785181097 431519645 590205225 678465249 346883505 69497407 442469345 223977417 460885337 434696019 918309847 544712147 639124197 114504525 605160445 726699329 924574007 182718343 302577773 925166017 830330083 308935489 633595757 458819433 478693149 613858979 100450919 209785271 969046215 338668481 601121005 424788623 609190247 797758865 674249149 268768575 685446699 958345463 286458295 591759225 734742763 746655677 390892777 973295711 30634279 332087697 994815365 470014837 839873285 132333325 466938599 184820135 102688343 721321141 603580049 343972425 568850833 932058607 154973487 34468379 510660819 714613775 534821779 459186243 693616869 711870795 349544379 637688649 257401911 41835977 938791881 352940585 846648287 659980941 720578823 641111867 15861915 812945547 187957993 484117831 275526101 859613595 5370891 321639033 455953563 166118273 117446959 230311783 662341285 483781347 502583873 209940495 353837905 361695827 648563029 366583507 348615847 480890701 220713381 810412421 507369045 531730223 909443219 533133909 265829557 899736643 919394477 564507365 879798723 696468155 307336359 727962423 418162729 609029551 546860121 540343995 203696691 682682915 584525767 153691459 725788893 851347453 838067741 170244111 91499201 722128655 996945583 819502275 840344363 110033939 619865079 692946029 818900743 223081387 421565081 189436033 628204013 882041183 176408671 595916253 723298077 718650529 107349823 442461127 163386493 122674121 763289681 424410859 371451293 782186267 112095449 487942751 454513333 856355773 107723077 650372767 244175269 447936193 899470885 236876435 139284209 931841057 973329717 378769029 78751945 139747775 135017561 995547435 342004743 395798115 144499357 948794021 265825577 905054399 166253873 58438005 672444757 909050475 830185587 959807369 364918107 488398569 819465959 644204345 592225971 850044579 56717367 392580669 704523897 668166633 433738293 85501119 760716921 958162933 526357469 140939339 916675105 636047849 56140883 214981333 410664837 485385165 36975075 467367355 97438823 139015059 601134847 806333633 485695791 324190739 350866241 888342807 390248427 541504527 644703343 873568337 504136017 783381297 290176883 578545003 124608961 617083145 756923743 533420491 570285637 821729809 518820977 552853055 888863113 704510633 655398153 163553275 779008229 152586781 151450293 250097055 552065881 995308445 244164391 516591661 800881803 265572161 367957817 128533011 663094221 246967563 421602289 508143143 900687123 117484005 978437497 215101093 878938109 530476703 277515301 749251637 114988755 286917361 298891117 667131105 416132997 277600897 398096121 613743905 858773159 270296533 660068241 607891153 851918461 56186205 364486697 328779829 879169515 676238965 627081437 980094205 177466753 529602141 181716975 759799611 947258485 521922367 460754123 776399983 371288489 516990763 67170051 608911997 49689763 331133721 90799445 155692723 311156881 832830447 747548835 757632197 530127693 433305457 302082295 639366097 927430739 57466709 53580933 120187741 449952717 18798129 17747625 984999509 474595207 624544389 814355685 52499471 588999165 507628479 459145701 90087239 409935177 543037741 44500093 401996069 838125109 755001607 405874855 262345779 123698481 807187827 399324807 410300777 150448469 722261365 323821927 578924321 52191067 524257283 522020029 158595619 557084337 367350513 448953633 23518877 713396833 948442629 99251543 464315681 921738789 283091429 892099917 718250927 793762139 223670565 434243859 149525675 329157131 445739837 61590501 170043873 647643109 412244877 203957543 112587145 926737727 295022175 660905315 411179327 786397719 494929383 679765327 997289737 366831895 354816825 697130691 592253523 966892685 612684123 944441283 175478001 564136305 348104243 468357501 265716259 795057247 86784405 280664385 502246287 506870947 156051511 84006283 264126015 139704617 285695167 790169855 656838057 861137291 939732657 499153257 580009645 137573125 238181249 684209851 259498637 500377473 311295881 224501775 210825207 475559563 804954375 978744491 821789697 689940573 30271271 590107895 459382055 568766679 476692731 850368395 533832785 26776189 566548089 524971037 198849483 952097665 410127237 218224275 526536263 904312505 56042217 666797049 762652135 884846245 98755411 122457985 393590573 793571435 584066653 246061959 472727049 622283997 239199115 262972555 484405967 892432239 237536067 959711293 605371195 384005441 926782935 312636015 393926515 148785691 886893699 164494873 691549955 713855339 172503139 932759651 143656933 93773131 510680455 514192277 27985265 93379961 982179801 127327779 657579887 820464729 364409913 586212775 218803979 653906431 180457827 348825575 270434267 332401441 236935427 889059789 612014811 883568669 990789803 881917549 919346545 450273785 856739025 829282305 860309101 623076713 432674777 427304683 407710463 54057919 145344779 516909241 621785545 563408381 520172441 650896159 792984013 530432971 548455835 49128691 128949113 60215413 233475859 611049279 314763173 605602293 864507115 996677673 554569355 404933099 309939699 860914181 315478223 908798107 906674151 114418257 176008323 506502135 64343139 314606255 903935001 985312405 63429621 535386089 584165231 136443573 36863245 28843253 860474059 203749693 894505219 783098347 806980569 462423231 927346457 308457231 339574445 280595053 335057273 100991949 976598727 629632813 220940339 830389177 310991885 848366721 289942593 851644301 889487305 285604761 661710981 823324205 522792369 115271759 748936903 88406949 375160549 257017375 994371257 145543717 823353575 237566259 521126131 511073035 549029 492603737 234762743 792570843 327446901 702935815 993801005 383850301 218469909 155545183 123849195 64037383 296611239 899530279 333772389 461030451 996535485 392004301 562810045 889447909 195717705 607385451 622565375 882115177 522295463 796520125 277826329 688649009 883652769 172900395 238319079 215582423 826719839 182611655 767682601 10607649 999528059 748151877 403640457 263590647 457525487 474991621 641721239 867152239 740154401 257185809 29357261 439452357 403840991 246496277 303981963 999791705 586030685 171581033 959663645 473355961 225968953 83134731 601782449 112333973 445546617 709574309 862731875 928204237 22006665 453655943 583129139 75097697 168063551 743423139 17239563 690226555 453557209 116757151 45716923 151163507 56829433 637656253 354603005 903295423 361287087 822434285 963779953 603985927 665904241 292075977 57342369 879142675 207088923 719650189 84449793 23546583 729847025 702189859 979978471 486782573 188154529 235858969 801858707 285391131 987385155 798441637 335717427 919100747 652243281 396120233 716361429 304999313 462692271 650086059 954486897 245638053 801745071 36155609 168220397 500592495 686561027 680247819 123188493 320452599 632146633 121102529 844253061 544156785 731395719 357948451 460811247 151940921 501327913 476349181 264418251 615934161 363679747 190497993 549709697 973889253 650449367 305587879 368582501 765723977 184479685 903263835 801566895 477998325 212674909 340489559 944166015 747765009 212621973 661226929 530981087 940147173 811994823 672125737 586113985 299191271 677788091 708968997 980305919 716239021 328795293 218769077 616230999 381938177 516626691 453094289 577206903 980950729 348754923 833771799 372264427 972127771 795435193 853360719 349671217 839315505 572765241 282114535 993937575 927621999 436090787 467098425 799783831 378948959 235376019 925942593 794856755 466558389 631814925 273512873 76653973 861250893 318056577 522764223 479160507 733680939 991151811 773080953 227385747 353045367 446880271 508435577 39663337 647041671 813231883 655568645 601460347 868336597 337125829 541283083 559860199 958378245 969343153 543041827 188310967 10993891 568424877 551720333 443232861 385343583 738416383 337269553 331697457 964222873 462756947 923430555 961724791 632825039 456173503 708368133 55565653 563875697 455507649 524338511 72490717 646373135 716111163 548433661 753522441 531117157 52465789 462952769 148991675 309629017 658667581 410266609 837938619 771092721 78060951 632977547 864752059 917958245 175698959 902017339 15756117 227080717 332519573 619276235 552262407 940553583 667267707 341928627 267605053 260390197 433067649 675259927 740874823 944947249 681510859 145685687 62977889 212067423 32524005 398122761 25879975 563196901 466745545 503959583 673469479 182062603 782121423 824047805 202272209 446524995 234070717 490566215 300062845 872952109 657378755 612869067 110627311 767802761 775782773 625595141 286534861 518804803 567293903 203445073 531401641 455416429 811311929 293014709 854438397 194278981 993448317 938491107 548314411 728719403 196701393 392946225 685962107 357070509 71936725 439378593 361283357 794835069 126552971 664264917 373146413 414991735 431083105 678877983 288912045 17764765 183050541 249640055 705156481 466387995 490780973 710541181 314025857 182807621 550779397 578933621 845765985 220304531 887119553 273741649 321433027 114257837 497212121 90968231 597274163 371640155 722645289 91475637 496774177 75877777 987462389 286210917 110646757 21609835 202067693 613174343 936220609 545088043 896815653 366512013 993380573 405814847 504038681 728645403 753003085 353194037 473617583 828803447 321963529 259920333 71000373 86663889 692254707 971497193 311171935 485452797 268533971 434701459 776091467 598207359 707081049 53989377 172353919 230677113 813532961 437609355 447004647 392793023 55099307 457020853 715946201 224194245 541203297 831067179 470708755 328742061 540965523 9321153 302008759 158316349 556449915 363479667 257176407 333443043 21278265 618526815 45608163 936225975 547565529 459780311 820500413 170632569 232431433 320220233 758033831 486653583 846905189 157494869 94984145 325617675 380153581 844821177 68343757 306031777 44583305 517410917 839661723 712838833 60251341 160366697 210187679 718805315 581797681 948194561 703293351 375001351 672670997 303186065 418360807 638891859 315496389 796743845 594978045 531187495 786929263 745749229 701797359 45018153 988348207 478277193 247865641 617394601 723456005 853466039 695210369 165047197 620720601 248973159 141311283 365024167 509413759 314301865 395250917 208107021 640246959 142895099 233900709 598507199 711883529 124887549 546658025 349188177 575542039 491453565 196883339 531779847 188251979 198983787 661128917 363941827 978129663 371170791 204902511 602758425 720981875 194028337 187347057 404099645 892321999 160004019 809641049 228750865 202686759 939187973 291240459 766501913 726372209 43297757 658572499 22046601 524936851 269751587 747368553 628873779 419160657 259757279 127407081 131270553 87650911 37250885 763962583 456129505 624419671 734468527 213219363 923268827 531730359 850635171 31284513 241727743 772380397 340711371 537813645 640634989 324705349 118167291 358098829 926881257 566040573 45601581 224404655 460877797 99059251 73134723 662966503 139817845 684571121 837520459 100041877 283815261 552333865 222799351 116845691 932996865 167594675 737681955 34169543 787674993 861670739 887192977 594810895 420005989 629780655 838985261 839875151 528827707 993749851 726336523 837485551 933690363 630634189 694703717 713561273 673835603 201781865 362330783 690882277 398481563 353174135 481288003 373596687 687387861 764452137 176354565 15390779 112112035 622565783 920422337 911958233 470526809 933110981 491221369 732911035 501027563 874008729 236993883 777265697 34390267 184284901 687722679 811979695 809700047 215424613 65110025 46402419 2916181 78553525 240701427 712339681 381543973 947747941 440945221 743548631 338259071 11423199 461967085 165890715 732647497 942125187 510665481 340957401 440771859 768966285 111077853 315027111 95335189 790257961 581492689 472322177 261323823 109890919 574272379 229369165 796692197 553211201 801070229 800258905 825192807 344400537 699737349 250572123 950771343 420275255 549870545 563520879 425363163 669340877 772234801 259759641 262891889 123053043 820993661 133744967 761837857 251618603 101776699 77144399 307259745 813488863 21910547 670869999 167304531 987909471 389497563 932614475 872347837 152130535 476400271 859874543 263815949 641490323 732801103 77917395 626461789 597453425 267330151 476312147 660605545 498809457 491409229 949888821 792558491 997675115 666276507 986575013 10234369 189039393 678444561 662784055 275775057 325258813 208851103 567262443 173008107 128913743 787525461 304198695 358751449 40962257 374295153 686671029 831848647 758862117 710079571 446336459 922823693 80571793 750111369 695696903 143103403 340030795 981341893 234055279 933244231 448423529 803327459 251830639 244481585 411925741 395207909 284943839 847020129 375236545 354294773 428462583 483998583 984889781 560270699 195787873 893646263 87624835 158687935 81894695 840767761 3442123 98211731 364008641 3928607 80886297 200428725 468094731 803085087 131127771 184641815 128778825 671574263 390426733 654983381 81378347 996014647 888912143 248391729 293760707 366438421 200521195 359852695 477209489 720253811 646647057 853472667 724098681 643936215 820590971 701377015 972626121 65387631 786191881 427301005 574565941 717478165 109501573 793839467 914179035 332408133 728873635 479468229 686967105 557096745 7158521 61297649 946849107 55230605 466093577 134318713 300969319 902070763 37535035 764264195 348281401 167526243 622639587 923227749 187621105 699057081 921227321 286967449 677145113 822749023 483641949 800547777 565215399 289033579 731405145 562857261 469458171 580256925 698944545 874747979 848629207 765422685 131930249 724334521 915547497 533808055 261522519 102251067 309147721 564251749 517825587 164224441 88266353 154696645 596698795 235422281 284601925 827098591 623981373 68209445 309226391 856075875 87305031 841060785 566174361 428085157 106493717 55507575 397159145 403207593 987793109 144253485 599225997 938432787 323871649 358264491 850158319 91832883 674092157 584118775 252266473 971149311 773419343 482456377 845034165 639885081 835065835 338869191 50855673 154724039 417829129 798496797 124844995 724313591 712383817 752260315 196041865 521838147 824060469 180664781 69140517 859968231 91952959 60096745 910761951 926842827 809231553 693967175 405370467 987180161 106758393 705588269 357255879 58979645 442645 855843333 206157193 65034721 306875425 156660577 964156301 82073329 107811867 741572607 605897503 555305631 645199073 491873215 354554615 70894529 602602301 734052783 296781617 294652631 479515105 548782847 48991313 867519239 597409893 410093583 465579591 836222243 688874573 996384095 614027109 545421469 225825279 325616795 628060011 219533467 609707469 469439893 774481533 187740895 735516915 332612427 837033513 326877913 647040143 476497629 906234979 162324131 265012395 656660121 812852873 187732473 429820217 225428209 287326305 569318725 622328593 57215873 792936727 973461 636662517 791735819 968333377 170097313 731103375 225045371 375537885 319856071 639954289 204629219 739184717 789965581 11515921 854721153 499885921 419057959 599327443 453099191 13338447 197032807 758074623 396821775 724147379 320651471 184687559 335568189 681348241 210464519 468599107 668315165 375560023 629083483 116252533 521471153 720375771 119711173 967978823 318851877 69285467 280238565 737405321 101695949 451113851 172183039 574495735 784579619 877226313 63865349 264842797 2618315 780337721 342632589 748604089 991777679 110842921 868136919 708541451 855209059 982785885 951569609 492692347 234589283 253327237 333555699 735821899 53336017 236183733 726796941 422313637 212877851 437746281 881811317 298374809 741057745 804423303 985434675 264915747 47712943 502169181 369973751 105848607 534096025 165641633 497918615 262114907 330338457 559586669 901463953 269906567 548352739 785815369 824932623 518980155 293965013 558801443 981456095 483950073 431316973 920205133 665897847 30133035 830376153 461488517 295445241 918161185 829409903 534369779 171421227 113891349 540993701 858053921 41861499 606013991 136856481 466411015 140741633 967424099 181104301 15028993 50500735 69866937 867865919 830015699 188780119 750909951 547611119 502691757 592664733 727338747 437994371 103543331 522422021 942203733 193464293 128067121 579609839 494693277 967420711 120746557 658372709 196510029 901642373 638671893 743123729 955979207 64264035 781048301 297622863 698714961 766667341 650670947 547818269 785284641 895513077 826094205 913036065 147359051 189015605 541308583 148785581 137116629 764018451 456738743 847229363 758042535 390822841 965376745 763027927 501769873 957034361 178823653 640827743 511373645 479847121 359544757 776459067 295715963 606994017 363233233 823667457 608473511 973825015 929506067 750030319 157207615 418794885 259285701 246642159 594131615 250251303 695887247 914901135 34247431 249888031 60887689 796902405 113638047 577294551 485864497 83098675 630188155 837639143 962992491 457498015 992695443 293658631 125858437 776594039 521834183 35944217 874417203 213398419 447305185 985021995 658636947 392785779 283691157 3535983 885465643 973201215 959738487 490861633 990290661 954133955 258595085 435365923 356131611 449542777 151680701 160615873 910027911 567221377 294192091 283748591 507308881 320276895 130407327 814828199 16557827 752133445 979171625 145006093 288629651 319974281 221565571 168876395 626913889 191674411 536930719 631419189 675254575 814892433 176515927 133990663 596489003 881442251 664074859 472532643 515274731 262160273 992680067 794103541 830548077 523390273 430494515 790912785 218628629 803126755 43747057 355743537 900482479 245789733 307264545 856213433 243501171 933701473 88987147 234391603 579098365 486196371 48003043 330607189 187501649 153061221 917353405 185535223 155657951 569213733 326368671 363665181 233492345 6529993 962948207 680877813 998165087 340551411 906196735 34235599 277472823 29354729 398726411 630208551 628541705 867639193 272642609 49949345 607307089 93311899 188379387 247124743 266579687 632447279 713489883 443262543 225953299 549626173 185406505 859625617 372887681 469907537 178781481 783912467 158300743 91014053 265787137 297188925 222032609 297997337 426264515 494477477 593914423 651018545 263572587 392550919 125235603 406262303 704790485 421379395 228005549 616273593 35699153 96709735 418525855 86391933 9831433 28098467 772545267 566197653 472305437 969193047 957454481 121577937 760802185 870832129 982651603 751603107 632475321 777093457 416802929 208717615 781779453 394456855 983385237 757804347 626406801 180396369 656145355 19099191 709269395 391111711 470155015 306401591 924941 753497807 43884711 176488703 149693167 167062739 931507057 417152243 258376983 681062597 128038801 389175841 82918209 546622315 153299869 694312517 989555225 794561711 975424401 695211193 309072943 157334181 604930515 904634249 137981181 351791237 700421169 286350433 103235045 720270775 976002785 495331737 987663151 572161731 612530045 995930929 677286155 826155613 976245773 699260369 39185559 664274015 882609151 383150533 934984911 286570191 804229925 979825159 720842655 660718297 573979837 793673015 416375511 672625611 789327983 870801049 102687537 996682789 939874631 660767519 598433101 612189833 720921785 791864415 907897015 431731905 216557475 726042007 493953759 634556609 350690121 825727665 35750429 547813797 515690587 689588027 351250611 693455535 264953323 382351725 706503115 783833675 463143545 703136549 252058741 23847181 133554411 118729451 130916011 967129263 589733769 151539439 327095373 766788885 33934095 552023045 381793831 538756937 753555861 890380463 122992359 914148479 847841699 471399445 181035561 749248787 174797093 266837253 660178285 792669065 913481841 184782581 503720733 395663241 986471237 805751047 303587209 844019433 271665091 471770369 7434219 657112739 528440699 222425169 533529443 932383707 24936547 368075535 473663485 666755803 334937047 496140539 397475239 349302809 470413723 540384379 22973757 929445677 450002655 38399393 517429631 719320539 55526709 727693089 364686357 304012561 679937437 847077723 795512979 415100383 17462139 82443607 705609585 713062017 778149789 36336069 992448271 562048859 943874359 148728315 80229049 279065593 530697447 96337657 72761245 945875981 288807859 272608869 168336343 594020977 430817285 538269583 266336103 703595051 807597751 516919405 480531253 428044131 699847173 977455265 56106005 412467313 44995729 993627761 825522111 663035083 705940587 637004237 559854547 1788439 987906057 279422793 686786267 457644321 807873861 855893799 824968011 380420315 783233639 516064847 524407415 106981727 873642269 593317199 541503909 215240947 125058425 539354973 406367995 470389505 713265401 449928027 396829325 154092827 384945541 343024333 569022803 607041023 441938537 618693349 109002285 109509773 621413209 971889531 127262949 489323731 515870067 620735499 73475885 431622915 409998907 478412989 275548575 682039929 260771489 998753633 598271673 11303607 315210745 100278895 685163497 831508073 894775039 425390087 259936379 605348961 111147225 475118317 326702253 908599965 101616149 809197971 273200797 352815935 602198439 462721293 338253141 381534097 183320045 183949343 829658055 985728775 295567789 438534701 556026829 126893117 725600019 442759239 577665317 620150773 17148597 303958565 704820859 294736923 8826001 377052453 607427681 598057153 917426955 457178959 393514061 352369957 514563055 111623761 633060771 986900649 253293429 495481987 79025323 667590103 293419319 786033639 540472727 650861413 320483135 315253535 202408321 863777579 834114805 358807679 755402599 648641325 683829299 325144315 590525237 279299735 375479859 565974837 526915259 405025981 526617243 930898033 354785973 626598937 836651639 894813089 917565377 303858511 997751105 327360093 568064873 275241513 773595089 590161889 164376863 303291549 425334637 930545173 198315323 4248515 658959045 161829513 564601343 535510751 620053741 612161397 202530965 862232159 181717091 697704631 572377613 150133459 664519177 26405593 582810211 431662583 557205039 196988933 230480243 899183535 688580491 342945047 390751243 251505925 57386039 102868621 146585819 418221871 544938171 949160333 918225787 210065029 69517061 591055079 728179567 581029261 168064359 228932625 888689435 787018737 978989473 375833133 169066711 822168963 190520279 345575681 72971223 361418559 182578069 44765179 843484477 52746825 956757203 510110005 746035989 430261997 355966701 908747883 166262095 817013149 541627817 111708679 80824515 636302835 348598833 174248981 720867891 747701685 912456735 617878865 520512841 611160525 402467437 199713301 505920917 555022669 632252545 187578733 490219409 230777457 444282665 488971781 701865887 753048479 681863579 562634549 244778759 725928543 689901169 522292733 919855353 631318115 922176691 452679683 553498513 574093451 641305805 693182615 668400847 121079255 767248789 222114225 958266269 546993267 730969929 136675569 798879435 840710321 423776907 238726299 805128723 839565327 270004589 450334879 136311573 339404847 885731937 407885719 316980829 394004955 549644611 222009793 8996441 997855239 920832093 974605315 813395045 833928397 20944727 755435245 273821633 150650995 791815243 345100725 425681559 468549731 465506483 751413053 112767223 950267953 322749557 109560075 208702939 159389335 713330909 947221581 901298211 357494393 796031909 348604637 338846107 663400417 598572005 410852919 522879985 889987843 784195365 826029699 764854721 606544187 179252817 271916947 55323531 80529419 214692029 118406107 774091959 850906655 707212587 207295869 386613401 758686795 757060283 105149757 630941545 316533385 525864445 372473741 184243527 369363709 109927911 230265219 410916159 984923889 943615189 692584415 537181247 506986459 995849611 116377095 230595619 396997203 711344695 16619277 669682345 879692573 663476079 358345893 168682623 130760229 968213297 465630255 363990067 991076735 101293537 262625715 285631805 757735525 983284557 648850145 655059713 189799995 336951721 384462861 404678089 827532173 946745491 331624763 658162115 94444811 812524047 501861647 576339467 736692885 496175501 775413209 743932319 503963689 355561185 982083215 912433773 881994487 488068423 837743571 118774337 511893583 547023973 630071019 876490713 756740781 681632585 758032069 145692627 417051829 263617383 703970555 710573497 394124851 515811743 17877193 637305085 790922009 894887219 661705239 993775097 565802625 341576913 336066167 288289515 635220913 998425487 816956445 641852673 359138577 517079019 522893547 526332743 781097785 795368135 744245605 923811259 577065951 341397109 413697469 39212603 367590121 454187431 17281225 785050001 577460579 48577657 628188937 158553199 41305727 87732597 486032291 495198829 786512023 455098499 266138471 575142159 512223281 522987517 516135373 281696955 550305527 859916189 531254771 86644163 798706365 427723657 810949539 820861283 898099323 722178383 371493447 89171641 747534169 787590371 664107515 918771151 968525725 300556707 501544571 593649303 892683711 158338389 437608497 125949929 744853849 368328997 813509419 224136327 893991469 750684841 647234081 349160477 321747239 718736093 242916209 38758455 126785371 541081385 580762145 669123921 262288643 111337047 414534371 898185165 469920897 706902431 199536399 703214835 509951843 119941531 998682529 25597429 395656539 946667347 872290371 790344939 634213189 308321589 294409281 621124567 625173539 478768659 328681877 109554083 722965027 309998637 969003999 752765729 301306771 115751975 541455715 75261447 866117107 954235405 249409043 648685561 691894501 177493591 339543173 838047101 705341747 336527073 858628857 587911433 364501457 6085105 53076053 221866483 6399195 451527475 323557673 223171967 403606165 717116093 767565485 121850833 547355239 805223947 180179391 182905089 842090471 22466819 311366631 527201283 318827983 673385715 213280853 241966521 644026115 524318609 363534559 429901807 12364685 185103351 797477635 306081877 544389027 861126573 186131691 701531011 376107677 315422111 882508389 136285691 274265087 1595683 285864423 811344679 289631863 557946615 730886035 621397591 248570581 119857215 494046255 939815365 744937237 162236807 951749161 975596945 448470363 931795911 593445017 427965639 473310963 35597659 116209215 986708055 923204941 609050375 746378883 836157977 121857289 282686203 518774385 961266639 435990245 863201225 99652549 608142881 206915793 444261745 135162329 319373731 338462429 600205399 460609207 992729549 701739079 620272713 772236303 865347073 655711343 301299581 13538359 312622213 986444769 975248269 568830767 490118543 389285203 216769153 285450141 777181237 520718495 151612869 615130065 932134777 986720711 821730095 693908675 737970499 784751605 460680699 811089681 714036583 531851905 688908753 413492227 243962013 601505761 358335931 144992393 342803333 346255037 390061871 499106873 22442923 77264091 319713549 888854097 199161981 851318323 193819287 225468603 10081367 808030687 141769341 550459653 321789305 478935329 903118801 502302053 620985099 888575077 605522707 968515005 396389921 860250173 858563367 711422611 447531699 9819751 405655129 96533525 455552161 434166469 98931555 728846619 431948469 890568289 935810653 620046885 361468323 19597423 578641869 746569307 221258495 311547211 474530211 75738761 798579791 17713527 533705267 302203945 223277051 650958495 483683129 200299611 239872593 893957269 719460571 930164451 600819343 978282583 851763367 578091827 986023379 269205767 50580627 761244513 548847143 651068655 970770425 680299821 777272703 942013059 811622561 431823101 549982383 255968095 357650873 736092385 314334333 592004935 797242067 474131857 5567631 920439075 310654701 962988907 808278137 817394185 443665775 489098615 498397361 611319859 584305957 640020579 870707099 293191171 490060097 267528073 201791617 864563977 125887077 84811237 753586833 676851443 272143253 944762657 43074533 391503519 784833851 97033355 269898369 894292241 460826161 467289113 254508363 391010929 316338353 137935213 643170069 736405781 284613473 272664781 400338843 88240759 592682063 881584679 279833211 758739515 739489775 179467795 497052223 449826093 836776993 47436497 940878681 149361725 388730661 943666505 987311393 349177227 813763247 888122375 832541915 475004245 459983055 738434629 19328685 951537419 429377283 218506467 563347625 577623613 192218419 364508005 75678667 942607271 436492457 605164797 656648945 296138285 980235035 159435649 956390373 250424795 635632041 45886063 367696985 795315427 639513045 499650033 984167141 862337183 181901967 576007127 133399051 268717717 475367209 616324755 17119541 932734831 171486307 625949769 650649525 580775935 131513185 30784447 432445889 284363841 195467953 884333925 476523901 745677915 637955911 950846543 754698737 284105107 652052865 262612289 17915917 285018977 941654053 859431837 593753519 801384543 187398493 289936503 152834195 386706767 78308803 722951045 747224933 588252189 30249297 483522083 681087157 850362587 19221103 194872925 600288765 205736135 830350567 629457887 606802079 808876865 194022639 708398849 647879395 316989655 484783655 398723011 613187835 187961403 109189265 826035405 797652479 682720073 993347483 125439595 288783089 259305475 306276123 858183063 665885627 721594261 263957583 422872305 729821741 750323539 730857179 449032125 8849153 705999797 162948043 984496877 335267033 44732771 710382743 635951639 498807099 22577701 303643163 647563385 22369181 368101871 766117277 739701245 281879637 194878941 838308807 168368689 931469733 913837873 289903027 67293005 602242231 505851479 415112667 328933167 222358171 640720867 116866853 150060127 192876875 248009615 326505951 814721803 349167271 961139007 552372925 857610765 105791355 973812733 880040415 274533345 673071733 387307775 392045511 349107121 354084145 727678109 282441315 828704331 273994031 326975835 806475785 188722981 451498201 292617445 426801269 705224545 168620671 735812367 202533839 350498499 79712091 901114067 596019105 792866495 357515917 607982933 823207907 847385447 740590113 734916833 889863151 585531517 991214597 340833767 315734415 772079207 182210325 168598533 595765739 355116855 884036113 285691135 919898269 881558433 902459555 830621117 221588127 970403333 285561945 470719317 201106263 733736299 722097073 388203011 168215953 984485507 545571595 301911591 724041349 919447715 444176813 721790797 683671247 153059529 482963147 650624299 960813429 276434079 373047423 922451097 376087267 600812405 295410889 36086941 291932143 682776893 869488273 634452833 111352021 871768475 380981931 517393719 195185213 568077013 990586063 858608027 842126897 536978651 918740125 567117875 881775399 806644801 226103969 314936773 499206911 455053641 973323593 220479817 810086395 432609499 931605999 935829721 657085897 313036165 781617111 686970037 141849215 13633149 319458089 94742605 47453595 203039397 805749235 753271091 290556161 407746433 842064691 176509471 948811773 943487043 778143687 711250425 789574727 311314115 800461689 169087689 552162555 925019773 59870715 540895937 49262495 531755417 897794535 317875009 874814239 3472359 984781245 247659465 869208271 547557343 886589669 443733253 215578479 846959521 397428401 897298377 585900579 929467889 562930525 622421517 582698873 532734783 863565063 495952377 720710759 945285797 603246777 74845397 407471943 494461665 458909029 892431381 192611553 700088153 709836005 104405077 646175585 396528413 420733687 231628887 163250525 658506213 866337863 448480775 340132051 753397007 132571495 46545785 355866149 83586721 340111309 630828519 629841189 462677583 398750429 793224373 292592643 508395115 221922527 791967341 12838497 877112057 540540933 941065667 927652417 347107483 316399977 849440403 678182163 117740453 548144137 793731295 194522793 466512139 211053521 825656789 949470275 132578671 741620371 933182659 594762629 968922133 321363717 853533737 71558013 129004015 545002955 894986921 359523231 589554325 59961965 917029903 487004361 541627201 515159645 313355851 138823233 368554465 151042035 110049403 571421363 605462527 431491441 524873699 224716597 155254229 295799809 453268203 456123459 282560321 529017013 813915177 105890501 166773453 276669827 697225559 599613189 521535139 56621135 890158169 726473145 215793055 497047521 898709563 284058881 993692735 187550441 17950253 363192671 736221097 546834691 394599055 644073665 386194093 652305329 979106271 99902847 610554561 210487641 488098765 175880529 51820807 118885965 432613929 525830241 31862597 140016583 904458223 682747963 450731241 852871401 473772613 892093651 631728141 233039801 586646385 652982663 410068077 515172397 954467819 604134939 560202867 998242587 351126859 553384383 698833451 453616965 147722583 498507271 656608849 718498901 455686393 507428847 739034943 476989403 411082563 716269789 729866753 110983761 504296051 580761503 232816451 555934745 824502505 322299241 261027933 819966075 754432051 661250779 660369999 700022439 263596547 116653303 708834495 707420857 703541043 108518443 117693181 256198321 895970505 873774413 623067393 507883385 516620527 718229657 133551721 814303201 633801209 555084983 166497151 553249187 31430495 739768753 609886765 211735135 564406985 34499583 104168207 274461857 97702655 93681021 551252579 527883993 465071349 951694959 720312079 64236125 110380231 713400965 667272097 156725875 288296631 345017297 703895381 720602947 329335857 329365971 103630599 99490525 736336585 699068527 45232703 20861499 266829111 527882995 913152043 766395965 443646563 748552467 329882277 170455215 260693 96985069 537541417 90176831 929514817 1796871 872745439 804475017 71774851 990314317 38217881 635052301 815061919 347507733 632020427 762649651 244994365 797751323 502239639 481884495 230650417 816089223 647542977 453218969 657810041 11300323 841451451 908810801 3758647 363429159 753370011 511930659 552368823 107855533 697053473 143406685 534934377 542388029 757130163 758337979 697828587 71220997 777414243 468460797 876567039 783160983 460308709 512715467 729200275 760272371 820681881 225190329 774476471 828414333 108767623 821402941 267798951 87997185 847779167 637478077 960760519 317275319 517238901 933180029 101738657 57325627 811745485 731599025 929455083 151793043 496255755 559418483 645705853 192121899 386451839 801687745 671117917 263373271 694479647 205500297 398988467 751261655 954575501 920472727 455409877 262360529 89885455 855851689 106912575 2605263 105468819 261852765 367981201 43875399 770670515 634831165 26565271 371158809 323220139 83230907 88400711 830418565 888298595 244341041 166411193 194374463 712672877 330537183 206608179 916805719 463946493 267705581 423451167 839517259 791202805 948302445 680344847 351798275 171772889 90708827 521907135 295101897 564219611 809512853 20252693 762979925 790553041 732954597 486586135 401392067 632020283 636817661 283565565 539930263 244016191 128671863 353413409 387523777 745143213 632225745 232886533 923908245 66921725 710823799 60282709 740777935 921263437 863813051 941044707 380002965 459808357 681875411 386056621 391000179 748462005 358010595 424822227 197092195 178279763 953732851 783037603 456851645 13083901 437401077 915680911 883135049 611680541 649690817 380457267 584203059 548317121 908805659 250326609 133671185 719141793 278668713 957877461 483981535 657377049 496983805 871398353 933789699 966080309 480597137 569554307 911015757 973052065 241081543 628546637 881202157 633193655 865075431 711698873 647774341 448620659 58469411 380020091 714573335 156005245 759934099 739024495 558924561 685333287 766739003 910386583 389041227 880826725 460225537 629497119 291418623 288456665 898392247 675227483 901576401 981670087 522791447 168554949 334446803 119661601 161462723 286446079 309839479 249689213 268789315 773105369 32927643 260031003 692934151 98047809 638406789 440318433 422278253 464095061 25740513 643972703 981408945 938938711 993042627 403419853 896616191 987690163 717433771 214815753 459698023 521305853 29130111 544450971 662443235 167495919 903913353 643364531 86452309 698893677 386625407 268681509 112506755 974822019 665188481 781114485 283270691 547831393 339725329 365298375 641619147 364695653 366394141 588679659 255605757 184003091 954627323 725767255 553617699 808183315 327621737 33835565 179969933 512899387 109549705 467583027 790684533 697378183 1301485 771142871 141694717 12723991 971115399 95422769 755326251 541212983 579882419 421142529 311770869 500547421 572953403 693393071 879502897 519908385 656182343 46841927 354939553 159137865 824810353 575878789 909594349 702717885 98738355 296020163 524960169 472649877 637540979 76672267 518279245 225644551 253460095 915525901 605269051 74653561 749579531 851788575 835438521 326737783 708694965 557099841 412164349 402831539 901984387 436785177 839658269 215958279 224287969 991311351 307405083 770598521 990721701 81516499 987310815 963767859 924052749 227912779 264052285 540326279 927984059 831212711 824969197 517987059 716225471 663988183 431459983 405205783 760756879 253389167 26285999 726678465 59043079 839003827 718792379 703663331 750964331 360723335 197176847 35169175 216937 674652539 825342955 163226915 815127833 304136901 470449015 577427441 868653045 72060231 519680455 910394005 132072161 40657285 224326867 746884809 291654703 93172659 997812347 861099119 126817937 52514467 266939787 27170965 727402533 908302039 868980913 266842221 260143473 743275895 387058057 112738387 301314145 895432527 918082449 674794185 429152585 310315481 779723063 240198523 331897835 806916661 583189191 416828477 257350247 363230247 51237759 322631177 780382797 728162593 345366141 449503745 898806163 614521145 805694925 148113523 509833107 996652589 680939357 197428691 570756117 856686697 234860551 633632697 661568581 239522295 183122575 53678569 108907449 625235857 674776731 147707215 50550127 558223253 585200575 394201343 79299787 225524491 834973809 252268851 259692185 486690465 826295061 679780431 167539729 270399409 432572661 484603869 124413903 342710071 347166015 814028691 430474967 527945949 681982477 262319689 598040985 915232753 378723683 203213059 951608041 693091433 461965863 83793903 296492803 778066407 433216301 849416027 325296269 111318705 668903467 761509065 857471893 8424117 476696261 407863255 571290255 374640779 700659587 476003665 630736217 939761779 603752663 625865261 225231929 861505363 667597339 158183043 119094491 628852669 284822157 276733593 452274517 300448485 898754649 820252631 75682085 275430827 728131473 813312467 625357869 997125017 895101739 992316745 307143613 527760347 951664651 830385433 472961931 536062535 768745465 31285071 723754163 946488417 349805735 873021985 357488825 267153997 714116269 734866151 973190285 357407195 784216205 185705255 758619521 929081219 296056753 884459403 807343701 88858979 174279531 413873893 693977645 214990403 460235249 277141811 673419157 215161491 88227687 824367765 819708805 686838631 95992533 86044761 183403611 800363907 740548397 326658033 787539671 545484361 156231 165318647 735002411 802079949 16941541 903878449 806669803 876836037 597362865 528845193 433435411 243393421 586324283 907257105 273959691 157404465 922521341 132977927 698118557 429888349 641236825 115188429 632537855 864094825 290598551 6762219 728261329 819448405 915195625 988919835 271076117 603344329 745044839 873554481 544731961 565011729 329789715 502084917 297256211 691807015 570572759 339743313 425680865 634399403 697319811 80611545 707228487 898741473 947431121 957709639 334007889 759725243 286493795 995323453 300092535 986365901 285946815 801013129 554654869 858408283 530247771 69125407 570877423 801400137 99794061 957470743 284600117 590672167 238764183 516545973 691817339 921411373 173671331 5904997 687698749 95156537 407849153 851955899 47371105 851079123 173943275 225128561 162032693 344240937 376843009 301284201 983902829 347755029 639385807 679621299 239410727 326399763 277370373 447454589 184894441 458705741 474365499 240414245 6625695 321570193 750387443 961692973 918642079 309456213 40908949 197594179 531023271 868490683 642285941 205692215 240582105 834869895 501139147 339174149 33609671 825910059 403564983 213698257 789539169 482994623 249224773 956222693 921351177 716559359 225655397 252231095 256328065 538915923 629601517 665648863 351364857 801862859 96086179 668349473 587706371 193275425 135913263 405631083 606472095 497509039 319535137 669852877 480452401 876352383 743574001 970542467 329079175 601071425 174584581 963999473 100447189 701656907 172032673 561215651 473402553 151444635 512457723 818918473 433380665 277485275 130132775 486852803 185683905 332622169 709710379 147695887 127182119 20483597 857042927 989193053 971432359 805826197 726926657 673730557 87302631 256247097 368875999 709969517 150767605 603230695 623552359 83738189 493917255 33667897 79311461 390554219 991378103 882398571 111672135 961003449 449722255 386400615 609266025 223281745 658748023 383524283 563016201 78307449 729801095 877780381 864343381 497226139 819383869 777136111 853707097 944672073 72079997 678956597 831655699 84265537 970417043 653434785 470420833 620752739 449720631 613774857 727107085 438871741 649762437 299282669 398040267 189314177 501873921 480422517 183615023 299495435 322162075 500288109 395356863 841393885 297444263 286102351 251177953 463186851 89805281 477311289 264489705 793405743 847872879 480042229 672968717 221648767 340766943 981477613 340287857 220660915 98260261 666224189 161398301 580315161 648761505 873045411 83246339 399881509 851649557 754260613 313948157 500077165 815057839 665593843 37115081 295273145 519173125 460067237 622468117 108167669 595712275 812232439 909088877 34492463 252074817 995494389 852099917 906943655 724978265 659389517 260941335 372270271 300108435 559616595 876171029 919814401 110138251 790653961 690733171 865186337 283105093 527194135 351486801 510831611 225594161 175508171 659594923 73502355 803768609 552355099 756843117 386923281 73755221 881041321 570841705 398182603 177446001 260615097 268141909 885050939 409172611 621312061 415939029 777392645 972929023 112159435 330343793 73473011 44463555 125733539 452634011 712912889 754069269 649112493 769654443 52929845 834171041 132957557 419916003 398515429 309560701 745333813 502885741 378572151 862528037 454685131 124784475 684075903 877813119 256658623 300887203 28850361 979030489 476926785 869336873 847538949 421412329 514854439 57640373 951878511 396694987 673569265 233817847 955472685 735601155 928531397 560631949 933588631 264934527 21654643 877836787 188721715 327083925 244155761 554873749 262094761 512474371 27557857 924484035 690610383 615081197 851960713 610804663 220554913 183241439 460802007 409147027 444635199 182716625 519258341 130175583 360180215 393367071 203085935 808760587 579780665 860508303 666050271 114280819 551116965 701433677 520145985 943147609 592858363 176352237 706146129 346013025 460888613 733556591 795601001 472405025 459100475 155965753 78705301 153261841 601841267 22012437 666162817 454060691 656115253 59929401 648993669 699481583 829601287 148865859 588323489 986547797 846139297 122986297 101682043 847907297 864254941 224907143 676836195 903516819 597532605 113171717 647864913 204118357 435384685 754764779 890826723 914307831 155024191 80354531 582647905 855871795 903546033 238729207 384989627 14397867 506398051 24748447 537252487 300425445 818614307 102110135 104718595 346013015 947748323 690168451 70940185 543452759 628747455 372840883 533003351 958805799 830934265 814224729 982061813 667849711 927018493 905134837 236788945 141656771 18600287 917063275 519943027 243738267 484913625 387376393 21213705 328582743 111919693 100312707 918386795 473575875 225653451 822896119 908268059 371903629 251462017 749826795 570547515 117963089 165725645 5699147 738014623 789760655 200504113 202042221 555518395 48558513 813224025 508965133 453494193 665957381 120433177 522725459 806797381 196368329 395706987 97015241 271147497 837031195 831914867 285858917 706864563 76033287 107034747 958060167 242319459 280397435 304986871 771151089 424799071 990017875 627519363 14338001 192542649 764489551 247417059 273875903 325026597 348508951 109158143 737969331 964157187 349375807 548311533 445618967 949132635 502389565 984301799 818629303 85769179 677033591 334845265 819491783 188042973 905921841 832942519 708211173 425328735 23601055 458465481 12912405 822032135 61082331 778976357 539562183 113897765 135365605 711947919 224031439 385749423 263803045 134231153 628235369 718117191 461957871 834128221 127699259 889085747 559223161 89690063 446327891 981933153 524974823 478933611 251696423 316157545 323868867 725783805 26065041 530093709 827630715 882837365 874620377 628163247 991558249 260262131 327600043 888352355 684808401 730060981 943128349 150212061 490691801 72752427 731420845 770036479 68460437 382925541 197010751 403518029 454470907 168980897 117531423 804584441 813706479 726279999 628542725 507080409 354726969 281564877 508380429 300983661 415256459 770194301 255830971 326311131 621440127 909024681 20188415 207888371 534097043 179742679 460120363 340511277 408813107 522174897 821062655 51018407 438396337 255653641 358183327 165648681 986162755 920557789 905590169 667067683 773949709 556090957 884884961 573558443 671804439 152033703 8258517 700618111 753978195 260875613 295393595 79936521 88472473 644142347 79781183 441040983 887680429 455475315 522895735 451729695 997638453 31765121 214160097 977931971 684150211 550901321 337155807 449075273 276838867 81967107 824826945 415980639 991204801 199370263 938075197 889760351 547069659 807135245 736186733 231136581 718861393 367200153 359857371 641451705 485914683 6034327 750021871 790734349 981808285 563285257 88499329 723944245 200023645 510142491 378068431 706010579 255376461 447976737 229939581 859794987 330392103 570707349 756364697 578395695 707476365 348621595 682260631 927612533 336712455 222805629 851250261 906893117 31645447 408268463 657075991 685607789 802954469 632468429 770956941 335512981 141265379 529453083 625334987 874113261 389426219 58297601 181553997 855668307 672631245 986653205 528682489 463228239 767892419 875064849 814145565 957493521 748197103 304730073 28757359 299603821 948980505 307206007 113833737 697468391 912416241 322671905 931153011 987464355 860870675 608726575 618793627 294944113 75690495 912539685 153270995 448911559 122433311 252727217 761122777 476775623 761448131 11721123 670502613 973619767 774293797 902329335 98689105 251059589 514190951 957799633 664126277 905256905 161921935 107036029 634726413 93311427 47953299 646802283 414696813 126678235 865356873 691240763 112659349 963282461 75241331 761979819 363847961 236043075 584890811 959138987 83612149 926106029 921677745 742738507 691763343 560487775 454319311 910475207 314395829 746533899 937835637 621610629 437347483 63424007 711282415 963520267 899612639 283291475 126797931 574501905 798263943 986047637 901605381 378473329 351860735 995960861 550934717 553111339 442238493 987977443 536350843 788543087 40590365 340205957 774641427 228064397 167658919 50962763 628537661 68941315 620946885 848241957 845927323 256703857 650591215 740098727 116841907 219165349 837864191 303361813 53746937 906134417 608629823 725161043 235346375 737425233 455197783 768383471 466532957 160831783 148291167 762734629 966196197 737112959 423139029 122976977 804259693 764866283 98811037 313233529 339878643 996197161 254507525 794420049 895642197 593161241 255359937 1286187 40559199 454199497 707212783 123733385 316214719 248940141 480730899 497974417 999851537 61438299 817910045 57418773 950299347 709387291 275739233 837766537 315598451 645289561 604061851 39493647 650492735 82906083 327197171 650805611 730162799 741751225 145917939 693040399 966639911 972863229 592488593 689156881 653754225 993259513 380688173 307907375 750384955 594318113 155108745 737109461 766333279 656652305 147464403 507759373 517776545 562866827 745295009 970288527 597934759 365199229 473503217 322759103 71043333 633767413 725245989 745755807 414062131 745833011 142994447 29728479 187403409 936561817 198422241 744136665 324864873 839331507 3219769 230629001 835270125 461829169 737801755 362836633 960700981 231334385 876269559 772569431 731743813 6285047 924040607 221670073 46761731 410790251 893086035 557527649 237809987 187719587 521387449 331388563 79006395 639406873 170453209 732826947 168561423 251145073 386435375 353503491 265914567 413646711 958887571 332879893 249755221 243269147 512782157 645257567 635804947 122527611 613554441 784024947 486485567 367743963 406098397 478088581 367012357 137301155 278704453 877438581 386165879 298914155 846761257 617858509 357812875 694372585 357582547 711439031 768018725 168872451 212577787 892650767 111815181 749944517 985790907 214189651 136531189 85462367 46079389 784189609 474227317 834236209 657498761 498958817 896706833 184896443 985221081 733187187 805085743 568253863 204404805 169413245 290043169 154420685 445844215 832272071 988401185 63770659 763113083 661057473 783433041 746325711 915301317 302642303 656325561 651346205 744397107 37371331 149657163 809206399 752070539 332044021 153473247 662976401 550778105 712021283 961741111 201465621 123925523 261040643 868236285 655375093 988190933 309065463 544561089 700773193 357838757 726537733 495390719 570633031 960269905 261183195 79208979 939725399 363773711 743152593 949873739 776164097 971574137 498203367 398806743 157829113 797533591 811987141 849205455 349553435 838841047 10432951 226394933 742816361 375312139 48556215 55126003 366799119 624630129 566056035 900404953 319161951 759855025 966837253 771931297 830696663 221684439 731444359 607699949 756950297 255258711 428288901 176220741 55097583 121241869 941841981 595359001 958380109 494093891 622299285 578459845 521730639 278653603 547981341 553609609 60162615 522586433 325165325 144060047 958152305 78084765 500853059 783562983 195113873 78565789 380266311 39698571 149708113 746833545 947874631 157150045 782232981 685172253 129788445 881950243 826131303 975784561 31778885 727284627 418389499 256504333 164904681 494659395 265553325 404169437 799703767 233647797 119216897 663115575 219395461 706280529 827547039 259620055 307708949 692082795 903306077 932804581 127047243 630794811 975749429 783686635 650456985 632330979 907838027 213682401 845021719 771791977 313221355 86631971 457426305 175110851 178605445 665479541 547885631 28985029 870516663 346984455 15309409 880272181 51964229 284685163 147856543 962161083 397689111 967409825 142574425 387083239 825448003 284384525 543129491 310495283 747453701 366513533 549126143 311965439 289023933 465891621 357429235 627462037 910936567 627918499 882359917 117447465 819748201 491366141 864642839 566216143 959810795 20980381 473418559 877694861 616586627 420971101 948155613 614187851 913632091 534031993 195828111 165993945 157210821 912504211 245237661 74212079 625616189 550236091 850999541 449938481 284829287 928189287 745743921 773373993 131336975 405910641 981516173 78105413 963449383 179980065 728590835 77507297 575026121 613367077 16325105 486751291 959886395 399071375 422764221 503971201 740975335 847327453 281400121 125869761 5535071 143337975 525129961 464215283 661984353 717082409 45805311 73566459 33982669 398690855 85133137 417595043 559002801 222147599 579580255 628096409 841383487 127561317 359511377 945084535 225058003 219442713 633848051 363264961 834963951 932600445 539097791 995110109 415790143 627681363 187899603 107018015 844789397 593801915 298877945 285256381 320873711 398747717 804902043 813766619 125441391 114089957 584632277 824096131 620169055 603583481 618542693 55381155 743895091 384757063 218552241 352775445 904534663 721725947 216239817 63123613 666139933 520645803 822752611 831161313 253467105 468195669 827546849 175346035 344718055 843904605 66958665 200574671 327383401 285687695 154796619 732564819 725072073 698766627 429879355 904992585 826077591 274181811 297325339 926163683 642470017 441057865 755930515 164932409 140596581 658812237 71760369 589882701 515348549 759895449 141494571 857153803 105181261 843497575 248650723 535862335 985380561 127173469 91605341 449645989 680417867 618125703 886532747 395511775 773746527 672466015 609011971 525348981 691854807 298135741 806129157 314448089 303612329 239430119 485235577 894846819 998386669 110531213 515666667 321957463 295915495 175635395 413045397 607310555 851022341 958879751 344349269 224132097 827859671 894551611 343961779 911494083 788338201 175145135 980493279 636813315 757296559 600364057 757527215 381968265 350765221 889225363 8680353 145187079 315355691 991765669 881762783 92266517 514681505 108535869 330547255 378231861 760926853 562228653 383046177 527006673 364680583 667843253 734307003 672977721 707085175 415333239 427135949 844414887 433782097 437625733 95354565 883031101 243259961 869219025 562950077 38836483 512253051 943902393 685172337 770639337 180052105 103136001 145279817 434439629 437033981 560623833 394475607 206600555 387394717 43070933 362969679 171513965 704965459 393540337 194170259 810987113 631640369 970158995 958407975 438919123 520338037 693940361 751529405 119170317 108215167 587040009 588605101 947504483 507349469 581287341 576375537 625054725 738898241 435583869 980868663 161833739 899651205 203059429 769555913 799834743 232071343 473447099 534753697 517450033 493569513 145733437 986493789 479471117 99215495 882217741 93381445 6685891 795118593 685259325 850247497 199442677 599071743 70915389 330596863 861584681 54794569 995941359 965229477 232185301 687727315 323643031 368604453 361099343 515363001 503806687 983275789 220859353 538104125 529725665 401277589 730369179 504602059 891467287 140453019 603274409 594942965 270937703 850951847 693173499 435766393 31821597 919375847 535843443 797513785 127507955 380231731 186745047 28046655 779717633 649537293 728303067 970522047 849293007 535429783 927458841 255469845 893249353 985384613 993350161 398930115 861818051 121121707 87234349 791068535 651593727 103345099 65112765 526911487 652034589 284632009 668698361 274358363 626067373 80841239 369750535 42266797 726777765 869975499 905574635 21334079 190623841 406066085 890799257 343408263 965045413 617266955 20626667 836059677 329661087 48419597 314587041 446271429 981415653 237441891 123947363 678444397 602970997 759978861 546771653 804954405 831020723 957263663 710265663 754425897 840763501 405791833 466526769 22639581 35443415 818756933 467535845 906669259 178199951 592339953 460244621 610274217 500425881 508262659 657184067 548766799 900826981 796886729 485214983 884043969 776312775 844910143 707563969 358459437 504600827 694311425 84643653 303720931 115163303 304262487 840102985 263312991 89954777 602734383 500710769 51935301 242222597 395043617 684591175 378812257 161862155 871062637 318731833 437161381 175719213 193287931 614841249 763693099 506118169 805288025 793372355 644545081 318190565 76342461 684267717 280686647 759776527 837936647 691006651 956083901 655335545 367764673 681194651 299191681 979849845 342569751 729530953 361063531 357197237 573682145 430123149 662027905 624239701 321392031 294303769 304347899 145933535 217243511 54938247 500731955 999846203 537811513 784783701 245505705 765917123 230475613 160692975 371525133 130543153 112548353 598024615 853460017 978549419 558774253 853568691 625676301 199384767 207939729 297643319 162505 730655329 19034627 264313659 708248749 621045999 132349441 36797105 595237421 897053743 319171317 97094771 805959907 604864845 828866797 246304063 813723285 554158047 279683231 103697089 621608493 751643873 328825965 389394569 507923647 659419067 173163869 179200787 727161989 907330359 876669981 641285309 803486177 979872909 190160903 394273489 250632801 514233431 796321815 312789119 136251833 708665245 88341493 804462053 808341183 222855885 359369971 395558655 281651325 26429113 686215941 389361849 905885465 755489185 637865421 596285923 715418343 172380713 201136527 21948983 992677733 557465693 981625917 822252375 312114741 979511477 167602797 508529611 672114209 502952717 250813023 142650885 75724831 60576171 951189753 63884125 748431431 430953019 789591243 594239765 763858141 824664275 295693 353676631 881677645 495211247 41087645 57058355 925437227 995197045 375921411 78492323 132948273 314924211 103123311 4354441 187183683 528964959 183694773 697990829 619656813 534451603 83109209 373892031 222837215 866482903 326960767 752256859 5843447 270145047 513837815 70441473 442079801 270983849 507649847 272693531 158222669 738479435 931160417 782561273 125322761 918556961 312847929 689914069 924055655 417962167 511292467 673800657 591748747 980006149 571977825 928571381 423575489 905562215 431558021 948994097 478168443 887504801 13547783 298776673 926993491 261213411 755024883 528289861 979955471 556305087 825480195 671851143 374951831 561829685 290370199 388154295 111418369 931434153 85598643 182523727 833609097 178214121 436886793 256361135 177999247 317211691 10074351 854589987 270710945 356481545 978464101 509768665 294374255 489506955 63850769 340930797 591357401 606213405 587831363 642206815 481270239 715057557 391216115 176143897 60383917 265194799 824491199 877666281 250738581 149860241 137212399 798613645 393505043 140616651 913063027 561922725 894251469 13679437 373585887 320632247 903036299 388722937 95389559 302439737 140764225 975294481 750387487 264770431 370744073 861510981 893452901 746993359 892640041 972574631 138936709 439506513 921285387 545519031 961087067 164906771 362256195 391634009 337817965 169835795 649240457 654284761 827156717 527292975 805230533 422102767 511663027 172824371 102368511 908779961 432009275 84500685 469560939 40323767 375374253 611391129 656387685 90174939 744621275 679781399 552927087 707758457 736839481 127538095 661513013 440527181 99097063 118834613 541837195 356379005 713642671 595646303 880360809 291870615 972457725 760171987 689068535 720866193 273859817 224100629 828279165 19408069 583294001 179539737 389585521 527012603 660465471 98686649 475460713 855588193 297092643 524343987 304238383 333166473 165133711 253052085 471244201 11820657 200972263 705130059 459618541 930005377 142882353 536883187 148302133 689800069 569629 566379531 564125413 804676015 379981825 292660701 443370887 891359393 899173339 773074075 518925007 909690207 328763477 877198943 851515291 422041683 187604669 278315815 762055913 886774871 291271945 188926431 963311335 992172965 3097819 239584089 966797289 64043235 949142647 873122635 121393001 330382367 650041807 600506201 791568651 689810381 320411003 249464845 43931 823137229 609098679 357239763 653479947 848837215 687364971 121605643 787647093 391619895 684799785 29544433 28220189 942191203 511108133 357366705 486462833 464725863 304543039 380814685 122760961 141594659 64613889 40418283 449739913 968968681 223273365 993443903 28209903 986884713 426023895 145294881 196412473 945799365 984532037 678050627 77011615 936358015 975274757 666509373 758604153 141903495 495122407 294585747 727851597 349273647 911051107 59874475 859852741 182447159 149132183 174548183 182703283 554168259 252610891 354934865 687870741 897542497 802207469 23237947 819603211 73780229 338250135 177796253 283131875 40465933 452345861 400008553 678031629 708087871 16480161 457219959 935310121 133242565 925792633 453602953 75159799 696001593 91217219 597664073 905334883 456434837 364591713 895705161 13731711 319802945 794405081 580953855 605117321 521621255 705034329 23584461 463390689 110142237 467967801 659758079 749954837 263323683 845915513 400163013 204384215 972974619 600652735 787528759 513941507 947556979 240586845 18334039 308380059 198838017 316420679 559898127 723685323 554940675 484298781 611201071 831198695 459832349 238434089 865529969 164611177 894094171 294832725 984154487 622601715 829482037 324856637 896664265 621535827 684735879 481129759 246826967 427450235 702068887 804835809 738440445 172772487 824567823 871900435 498144379 145447099 322493705 248947949 716033403 215733375 443705855 795909965 383895821 437952615 235294679 186549947 46174507 33736241 842007263 662569317 777891255 270339007 183661003 140212261 552988535 353095195 242317499 86021495 532800289 564548219 807822385 412422789 376783435 371126071 232405531 497243165 757485175 230981843 683227343 232102837 924117007 977757437 642364425 744590447 344875873 358684035 665289713 976951311 597562283 45492583 899303441 757201927 783309837 848710599 735202913 281539695 319750285 139161327 830815803 256717571 752100641 607057235 95455593 566231595 325609119 864345745 461080851 641166327 82903497 150886503 826503379 470435615 260240967 405638085 556838819 29844483 747660717 49937851 512104169 937736615 253764211 775226501 855723377 551046845 570061561 427761799 632277619 278520475 514905739 326866765 506470027 847111231 783817303 432168583 559888063 88066899 89331833 184741141 94564219 242276645 988842735 38999541 202594709 114105261 201336487 648380759 214888265 149449865 779275375 602418571 272011583 30672385 810349055 415072271 788074369 285599235 472144637 194019459 509607557 96900905 885583853 215208885 864327723 494452655 761042243 888762005 598315701 902836351 626253401 66181443 324971473 722468389 674517103 629967359 711031701 888337885 820905901 580601397 728397183 585779329 875666471 963940215 388468595 784171933 445004499 960817793 809201341 119268445 484351125 86654009 194091285 272913049 160275767 378855079 83823511 961706961 391692391 920320511 507211209 913670701 994277567 33494939 183283863 27267449 533238467 210574593 88395605 419148335 283353561 458688219 238918851 841140845 263414613 260904957 580677637 686666491 448223597 963716705 839820713 754025033 873754181 808793641 728339621 539988845 453055719 276371107 977370451 858964263 718986817 31633217 725027451 240145629 31888429 138599071 745079881 244946847 555063919 789220223 363276627 722980643 410619309 872199117 60276631 953711307 32016505 349978013 281841527 651391645 895864399 559460393 806720709 61160519 866159757 152149717 860278705 130999843 803720061 815385643 783767005 628184621 172908881 501201119 377399627 882519311 844196641 851511501 579401067 4483863 687266801 676346359 11745807 750575419 413618087 671158155 593981559 911928861 738862101 359486681 194909767 217838849 368673269 788836445 185637005 439461593 758924777 928765115 583080125 724658491 22199673 359720893 938390453 105827175 899529751 587617623 111908539 78333253 495968283 452692133 575431803 405324897 478343625 236936427 593420299 368016117 341381703 774973073 192548327 800412383 741839015 893407277 10118391 988190375 244905187 987677051 128925061 650077821 806591709 956102235 81256519 769733431 549273437 384935385 85636957 993862995 482858261 310820651 152764233 319475707 214135197 825525417 351313913 367140861 358031991 468818649 739116485 280535761 612428301 351903587 662722149 884741525 690717871 841237021 252422659 617888273 149599639 78278659 507992107 144569779 74271719 498272821 660456145 290745491 731247015 376113409 929568083 415491699 673066697 841354967 285312373 456610741 323070501 629629271 461653095 257980525 680219773 126065727 513304509 291961167 673012091 367656575 670527603 828791485 572320943 861266217 997798895 991747003 89307283 76842101 941553407 981117179 992779655 622027465 245216471 890721235 439306967 11852209 797121559 475645251 221045171 610349279 880591809 106106099 697496115 772762927 854535235 444096047 313612377 967686051 463251571 941083889 328422669 162869351 725976205 127200983 752678179 91921357 792092473 604386857 658231891 584962387 997732481 370712791 72199231 755477145 738137821 809060727 244783471 663149165 786118697 156241991 673792083 46466497 679770793 595681329 345819719 845345457 260140045 819567555 714768011 519159679 753405543 381165109 251491657 55931799 534775607 103673957 129762447 263248525 464961121 37958105 885521243 460987675 252443443 494841797 445854861 806973987 917426529 682044411 350041067 837711283 790992905 25546237 510580011 150173183 239933105 521078771 215868129 939164253 979144261 583312299 479601043 162348631 761058331 731883419 804410537 335672979 524770031 433825763 846920563 821334503 191202793 861093709 319666729 908356173 681636243 440652869 96721649 762996713 705690341 552499171 571821775 188323845 91875897 136434919 788603065 167425045 476267607 781202615 834576515 914074805 797117805 951591011 234422771 37738153 452088845 293589923 586401199 996738009 637840951 763545559 936127051 216646747 614461007 486572803 245808447 425353065 870309409 159342807 989206507 615111783 917738469 480562093 122392729 106903009 156155191 23192963 267092349 604127879 60539933 344785149 716594091 948236343 467415555 863601775 258860073 694155509 168545981 588606671 866556637 343297513 125707659 20959931 591223707 229411945 266165779 800913275 662568217 467431665 222760799 192219645 173815805 131702817 679120101 131230681 213837259 343000005 520134019 219840591 834817527 91742675 660783231 246361927 673473753 141687141 913896583 243869775 466387125 969923003 573237933 212730781 110423217 10972997 721767279 894977297 739758049 47960723 51102645 752675125 26911803 394845027 942642121 565822517 4527523 261274517 997067875 106728681 678647011 38045239 782508447 388596177 74393769 680144505 940867585 622298131 271366799 627275963 383316345 678602367 587939863 562123645 143854171 999162509 972649901 574446187 458870881 938143579 148404125 674559319 267451319 80581809 721500451 215420223 735502819 460745215 558008161 624896835 83520225 324061017 913550431 793969073 321221129 646283907 488825871 824969979 231344419 806179809 800675147 126922941 98162523 537373571 771621073 739935417 43126853 978463263 365303373 727278043 528739555 14173207 692302161 145346869 209846421 931949681 428651603 391484677 784944685 367965659 153483703 292185005 48694491 96982445 590483141 667394743 820520769 704847081 215558317 936547799 776049761 376003377 824124301 108978153 309631145 729932249 916057953 832556527 241164017 194795733 199232789 937719829 668586867 371566021 583108985 582453935 740186835 902345971 420833863 732383543 946571555 993890891 811120417 200553809 886346453 772987493 421785231 157806023 708530631 716275073 274107651 231678861 976045631 169113733 545317845 956392639 690140137 37881857 162540615 102207903 92149977 422747949 371931779 862628251 195266191 701273831 916735641 665224259 22363889 581715639 871362947 213456467 206511945 728223181 92470307 661837487 94153549 246432765 228784705 411735393 750585373 142869195 608837517 961992349 265321787 299267675 307721379 204530113 536048533 850400379 533891077 234183755 690774657 604521383 630645527 391366379 199086269 678509563 890234671 934505073 670954859 546724925 705592453 736887513 571982621 431513313 99697467 213584967 169343173 575325945 677755993 213057029 199363775 93575495 538435791 631489417 753639381 971501875 634492025 467091307 471706671 37652937 880968983 96262257 948490343 620094659 917845843 928938629 875319415 842669953 624035773 361510329 216591045 714968583 983025103 740686665 150759199 619490823 23449833 753890969 231201209 113621463 299414359 253452341 648547889 532900727 836966215 500284623 831985293 289201037 835028949 907134529 768779833 836254825 450125313 181441681 57507595 208904963 766145973 520344809 693028929 998439417 504475329 392675995 505935741 537383571 427929053 861010981 633799631 902929345 334005167 191733799 974967469 277752599 134496187 374874735 521605875 568156121 793481079 328819439 418288101 329288169 664863545 689669827 873441841 710633691 417517377 977486637 409158383 752949477 664863933 693523609 23938199 435250149 405821627 650190745 265581075 793535073 260678451 598385643 252085167 159926411 229726731 244043631 393760287 990463803 862594567 680346931 415969665 938545901 204469211 603205737 370065499 859801801 884008225 355038061 465376409 191178145 610556249 397613761 847896719 790526697 570091 476140049 810814463 818017217 955714603 24165681 490862857 112755187 947402831 751954203 570780477 356595433 46355069 355400435 734597265 887534271 588444857 106038019 272130655 690500915 641689335 788920767 879883375 633232043 946972689 171201731 24134637 834128695 988882117 111761361 397742191 584204687 237756097 244554197 917939955 257742865 506793873 693739491 362583261 670900165 854471091 217367093 835051769 652180827 35963269 63948591 568007807 279242279 391101521 152121435 336990731 729144621 826331977 944240495 251641505 65821201 788296327 385381699 277113521 199544353 336572937 776317659 118265615 439630169 68490429 401958501 967314423 872639317 400013167 111681585 135382031 690400859 156034523 786795451 264670565 5504093 847664035 992510119 276748909 549008371 818537297 152353215 464625413 492388697 575391059 98338809 641945971 210325367 115436803 109043053 77450083 722589919 104983459 137319521 861158635 630222533 452382047 110742077 742465929 316112905 477113923 82736791 522651423 115931699 348692811 60411435 471247101 240915059 164972377 723980761 952461017 393257631 217786933 809997743 897640399 273440823 205951889 210634205 267548515 644423009 803550727 156453827 513349765 29265389 742202901 976644831 114168967 505987667 335969575 575625697 621500457 300497585 825420429 408691097 125752975 58108879 599228547 644417029 749821509 758404635 987329829 942186309 75416131 932627119 411540865 653300391 648387815 583363655 733734535 860425629 118367473 626358349 587284495 992048321 672388755 409678287 898644957 918737625 479272033 882504323 413399701 838403535 350926935 974408651 578636495 108308919 319376091 345642413 168894975 673547209 277951421 574217175 116836745 97283437 63485741 169973921 215070643 882949931 411990221 223185419 34247859 647317943 243605663 340075707 126829983 659364075 242248209 513712387 223810425 465404111 186993913 3007447 875942443 621773961 192158357 535967191 111757189 691497325 659666569 469477963 782238787 98589689 949036001 314499107 170416385 756611279 848222229 200998645 653668173 908004281 935506433 580181505 702682775 277985451 513860329 361512237 369215799 416868545 157524861 162950153 172974959 510851389 742401745 843021517 502281831 871909515 462127969 119635287 602982195 118033727 260990995 437447727 30299595 239014163 217690421 696102787 866477073 230928363 306335099 85331501 740780749 840527057 712809731 765375145 895379119 99152121 398646867 155904033 663451987 355359423 437573975 887560545 175740473 890215591 622308453 660253157 599063499 955113561 878973243 421490889 457585753 912949163 694583803 825978835 248914205 561897879 14410295 936325749 886445879 194624321 164497375 482284229 665324211 965235955 580937301 392187011 100227967 914107683 449223515 771262487 644591223 387504489 93642273 836750221 849775707 850298763 609726521 226921887 397584083 28320881 397000355 44330157 600469875 685951793 472878275 314169787 104797875 820589573 782865767 278903675 611547379 821438289 821573571 275789633 488477567 33181857 717467253 845603345 997452165 615103911 944447619 937665423 346748193 124676925 47163993 576860939 771352659 2137193 939414733 475168893 208584707 905254739 438776347 82891139 629786885 105217619 458522345 568567397 520275729 538048735 73104197 571568401 346201031 834936989 692730277 300531745 301757361 789524057 787638755 965309393 708126017 388847877 412764231 260289803 895241169 422053051 7655039 423049307 427877537 249118145 876353181 214768381 158477785 378725761 699967521 979324875 338450829 387575181 581031151 815519825 760694963 893337763 567681107 770065339 221731377 85311907 632761861 33162721 594200011 568820891 708520225 700822083 168687925 70500285 640813355 767932167 493969161 451617893 1144595 294623743 848609221 839851541 438286893 149437855 861772501 656522617 213612853 128620039 389642635 122553187 394658641 123968511 80758303 645152721 276847887 187873783 511030961 988834533 439869283 790875909 89861707 852043753 47413933 782573033 487026655 199425617 44788143 556157961 105503045 613026489 194729623 128064629 389371457 118542819 473757179 795506915 698147193 653584827 543939543 156189877 947662721 722514005 264129683 161570289 789960655 758880489 474304505 720939077 944461255 834406111 147318337 434673163 25509809 543067839 917691655 963963199 536914367 241523007 727243855 696798347 357122313 337249335 239112073 632945213 530202771 592927659 226751623 938419019 465561155 355590855 950052489 718229077 212730859 356042463 302450995 395261605 759104583 939377773 760719763 25090343 551185395 544474645 8699165 403131763 556969085 904738209 526942383 377896649 605779285 375616263 229282703 30842639 542367957 290894687 2775145 282835927 450960699 250478573 794674771 461022037 788107187 473881887 660202953 252630889 302235981 717766533 198142897 237245083 676769283 869051099 311020633 292430619 416147895 438964485 630803575 248740287 988611377 575038221 249664549 905364741 457330979 206303273 778395117 716958743 358373157 434151089 810853815 194742211 500246713 863448363 800564699 498458497 116811337 179951425 56566295 790507119 645718053 614058181 33082511 455549013 184924553 158501043 438356175 808693921 182757265 188112943 785927887 502959467 928417355 183468421 708108779 791414901 410486695 530145063 319042537 495941153 204777085 338701487 642716149 747332739 509800847 403605475 803749283 568067663 38069383 946263469 476180467 413644263 716374773 260411167 907890763 732204623 644881235 687381621 510887285 137575481 908394499 647815189 837323943 348125435 957657675 968312711 105292415 556354965 440273249 949099135 832801283 57236911 881004379 216426967 631156127 209980053 643365947 810682517 591236137 395550785 817066731 394333923 620782047 139213393 216048187 238043411 480490341 541997837 915292133 373050019 983942855 422017125 827417993 349055797 240852605 416233199 276473267 31153555 123847779 940446953 499887313 975358641 416259773 94285629 598630463 933934761 616700731 73553017 562226493 533641153 285870063 861991381 993650677 413946725 303517785 235633711 384615543 821400867 572179037 688670989 996360123 182700987 379187017 285001635 126218919 165434895 78001361 20648387 841748735 264787497 141544979 43182319 959360121 734276669 981989013 382722383 684686251 865292711 880011587 846388913 312349461 892067817 932071283 491370379 775119909 802127279 409551329 726455805 838175273 794054605 16837045 417770705 376685403 341320765 466518393 991020147 308211163 592604451 252026403 362830843 116359347 689968073 67762707 732268073 437099223 132470181 288238091 653723235 116793371 682386255 325290553 987958201 981328965 347191179 171951925 68861411 944520701 1531973 125142775 68976191 677480401 437554577 84118505 240285399 859468095 382985387 872335831 740094293 306649509 703230193 428023029 5405717 204031823 729234677 810295521 9198355 489837675 258245477 627854239 701446905 925744659 200740385 20761759 563244053 615653195 220003623 289321397 765594975 762030585 769547687 5821981 374584693 23625713 275911409 32185213 305815453 409799147 841182593 511834851 256146635 469680263 540907003 678297029 768237713 467811151 906406443 782212349 869244465 824115125 118548483 888104403 739635603 418215443 610068125 205220595 265898051 616439463 726057279 478750067 119704701 142614685 827190353 825528785 310662683 300325127 905669227 537810673 187046825 747654107 227807555 246362399 511289171 556555005 242052287 494737683 862852081 598644023 519313387 486155497 548647425 956988215 572085241 200431397 25801391 223505559 156173635 526904247 274464453 567210203 31348303 937776369 789302717 39777385 257957063 826780819 249515189 577679251 359560831 361818305 471954293 359102869 214890607 447380745 445861229 96595341 879050687 873493343 597476529 110328709 981677239 954921761 40819973 73798511 216015307 680588309 718270669 854013475 287147669 899410279 23364121 720006243 418780379 676816045 854100383 380084697 726458247 387819237 448667073 962906647 805800365 827387249 688980357 736477587 712121735 392612641 981041049 840661169 115729783 16695083 831149397 430074041 392175883 83589673 688214459 973306077 846629365 346867493 554597485 90628405 230716689 941524615 121496255 373046211 632372065 840327463 17612965 399601521 437078291 542136643 433891263 407516431 674629749 465289599 518411863 350418521 180245767 731476457 99860057 278896363 46604907 27267829 418439261 662809427 67356523 879955585 565970081 434051585 638616315 351640785 911690769 426600013 621919031 812939157 181349175 46190457 944304227 588136161 561092429 787521967 593967079 570307633 535343409 85989119 474215769 24003947 688320107 971382371 218068339 809816029 19482665 310342845 445302041 880901437 915724869 761309653 404161109 936478885 3252797 857878365 714194781 708556189 948519989 629787117 931598217 314542355 287485441 289754119 741374045 86100569 843093015 250677525 178593415 313421357 691818645 841972839 648723671 43537335 865363009 39703095 315155273 63033217 832029071 12858021 131359745 21445763 54266257 630929597 257958475 691881241 857561353 168989549 222964119 5558791 627078493 677045905 602673285 652721533 777450911 248948201 726722515 325946383 24445827 531525151 729423729 67410873 668086379 669743555 575321455 895664865 442271323 117880399 409599755 307679061 927252229 940940067 640767909 841475913 445246655 489874059 157008331 764161115 177659785 394205367 411479597 460812433 152450057 250201277 88767659 321507671 759348879 143080355 611729733 657665155 8903187 797924177 789863205 778994001 948638003 227565975 309548963 917560169 16460087 890626351 910081845 997780949 623084813 727826617 151690883 779018253 806697039 114637761 462347603 88676075 125057595 924771253 271949725 565192633 363786421 285357809 620465275 495088927 991277905 629925811 845299503 399353397 344969797 84127529 897929765 186149241 385288045 741269601 875783151 643954639 437837141 167924565 214471755 108493701 719096361 971129317 314674459 467616079 964124355 599177435 179101545 552768843 398946207 476554473 153544297 329240573 66807269 360417193 246064759 700847445 750844519 835698843 75909141 519354279 261175961 539853351 704582895 735658671 917965211 307614369 469987031 936867989 469409079 863101249 291697867 35700963 755251415 204946727 540232685 932471695 40046743 339142237 348691591 395059193 317347381 519670997 168845069 826239971 413614615 786122089 484243739 812970619 875156557 817952473 50487413 925522263 644111247 30057165 173392899 624167797 27381307 555620055 559142619 562442807 362646873 197729139 718869303 504654447 476763033 798436607 296359803 931544399 414570575 103469765 779693361 759616885 640951935 10611191 696699917 78194661 863403981 991448239 376863467 663110415 916884359 215610603 746852047 246780869 503964073 146894745 18556897 114630727 522099663 971020165 607657079 37139257 460852287 460665453 855203851 2270377 583369451 565177839 467532353 251108621 603389035 329265813 488246245 13913151 125823739 691086545 648855527 378985095 675870595 436904443 401955431 405783441 938107541 364179799 274712995 724372339 955567973 294874891 294432523 418589097 431395539 149651241 395828783 454966811 660931687 98476717 688118219 185325075 702781777 870850675 272281795 16725833 650400103 78921291 380709667 254791895 156206121 780991455 301536541 860658759 177431997 48126415 455110667 798530689 14951411 943656087 913481075 252850399 990339907 978207651 701886463 161473049 905029067 538884675 512157313 396943705 28812883 239142579 677543669 932812075 879638345 196171535 233219457 709517443 874037703 569975397 184591211 974109119 267987081 554760613 882652715 975367589 308861177 528079015 944460891 367247457 479775781 173302575 177190077 29083273 919844291 353262051 152839997 544165401 993401141 412618069 57774061 644736887 33148031 931336447 452273163 595356785 501637973 461831747 612241143 766347069 210800649 179546985 470740287 286306165 980688541 637203105 714914709 364157217 699589559 245017351 709690325 905376175 309206953 301662621 531730945 7211761 487268711 623480903 101605701 991184421 98097041 33935581 735599349 589677811 586746223 15817235 882347913 44560999 66004977 142203019 631836585 85724661 590682285 473754065 152235293 315651193 950917347 660312917 21187033 206349629 194251897 30069615 428553465 461492459 773379327 20370529 286817215 783873687 128106157 696392533 61231257 170655425 311850849 945535835 182984213 300115535 342653859 77274221 777529843 934467977 145673633 391093355 940420117 110356779 371964981 45213729 518627717 830865229 534994395 795324477 406253945 939476599 400319421 606931035 376218697 777007765 914345639 342254587 417773177 474390525 356128789 216661895 845345205 580116075 530438945 757590863 395617745 37999111 415012759 524826765 169683399 191098459 867430115 902393441 103887547 620486495 966159645 299327703 354889977 302751343 542616069 62722525 66212593 449881423 930221571 820600399 230688321 823638831 607509283 488477933 864552109 389771169 962579999 202014047 523804957 560462757 310276437 426123577 666053799 485011615 175584207 404051187 820215687 723145053 96242743 629667053 39933469 316000019 142020073 432487539 655085045 800030303 618376163 723592371 447095493 540480581 472636363 55023561 222006629 501432629 277143281 764516277 503267547 951175171 329845581 986794335 104734033 330985197 763052157 268937627 300192025 962678933 644994761 317812257 342790063 332736779 184538655 146353809 60378809 392508101 441374489 368990581 651823357 297366941 127094771 98223937 415099763 691099099 73776023 473880393 589104693 96669995 739676817 57434323 696496005 396155301 812640285 569568773 719128269 59665089 751087893 108427507 193940901 535874153 457079045 227126933 40378563 83232745 936613657 71898571 174707983 801990901 862191913 169511519 978274449 748949675 222916277 490157059 645849469 289123471 86047715 666299217 717845293 589138833 819798149 783278791 355186471 955217667 142057231 485268947 46821397 661989287 322818977 713524161 929638091 912351901 82306819 461486799 408802113 673391733 217203621 315349787 973615519 969584675 406968477 656481711 19085613 339277317 457127593 822791037 183602015 737524961 673510195 198293085 687358673 150088931 181690697 672677907 808650309 757247137 25787555 842143045 875892647 431944217 8456863 732509831 535595275 19582895 232317253 863509839 293470123 364087087 356973123 369821441 473388779 111466193 472332787 185311717 903687509 774884399 954822737 473938989 801271709 355900243 928353287 390141681 590969247 529958309 855645025 508239157 993000285 644203775 622697819 324680927 840168965 246994587 584194703 368172481 869954277 251088927 670267977 524764823 611953789 650724503 268793717 867628031 204311919 424969597 648716715 737075587 444134791 745123241 555416107 171872403 879323317 739779169 125070043 694870925 28304407 456911957 389869389 691115693 757432049 29233817 482587061 670756639 151589291 500689321 840312819 299457523 359143643 433141869 139026575 873183525 453486139 371951407 635974073 843733137 961657775 845775015 131049031 479738117 920191043 645042927 438536375 680132401 625090343 78643343 79182899 67694765 19168443 663591797 867620233 829548283 127978365 441118707 930385969 944800901 285254429 109344713 523128137 224067485 965644139 484176665 270935705 908441465 208588131 871705973 476880271 999198011 770574891 876161743 787786307 402572015 207314441 134700165 321779319 784839813 33009013 98255963 731028109 434873045 705646601 964193665 798690457 712484513 634878853 430587787 317450575 445210003 30591193 643833205 773487377 442350907 752601365 949449381 263832803 346609683 348881527 627333097 114132855 768810621 626803551 64686199 71162915 787894207 421037403 874088681 259558375 238941455 4520477 417844295 593972841 120392835 723358849 754547453 815965435 208770077 348263303 965024225 444925329 624692423 898891615 964477745 370328011 360738129 163127899 179856783 811903473 900724597 38195699 502011661 378250739 710176467 583305167 92982811 596590695 542984183 716227255 720586395 931235723 488310607 545413535 831079633 907045961 948175415 137660067 427844199 666327343 893967343 451667973 927724919 254340981 120307361 153388849 734554491 876597753 542935133 76321723 877757529 282144833 661661213 62123611 912828765 647376257 994350785 589507065 355745345 832988555 701946389 279153821 253889565 837987809 725334471 957142139 246281847 335326891 136949875 641049839 673758783 748430261 725375641 621506941 219145417 631804283 215544225 236997325 544818387 253717015 685802207 543948213 185413503 845289045 228959883 367713327 354341725 791484065 414102725 249206877 146056547 20832275 871220377 949006223 814679021 441193323 958802677 755770163 453667263 262394383 962268597 851236327 694106887 533870863 850844311 648790125 106416731 317628963 646190153 432374451 167570873 899931817 299646295 858509001 100030853 862261929 43497791 64439275 733583757 909607379 222235487 587514749 818391557 344852093 857085443 438031369 649614987 260769957 644491609 381808197 477743907 838403317 551964797 188858889 623710013 794314171 14432877 968337755 866323117 883482095 604142359 618385763 599845039 372342831 663898695 98891639 454634729 224214465 525228219 163963923 135872617 249058713 893703953 162470871 903419555 241059657 413669587 615287951 228401271 632735763 265421683 968527921 715460903 164966879 818415435 453949909 734889313 942211129 113939609 761979073 335776315 177722717 94046347 282992479 278309427 113721637 706590253 177350209 550368811 709742621 979836285 109553443 481278069 87261295 892519513 649105899 267107267 129254137 790001035 806350751 759681585 206448179 332455877 193391479 14992969 322145099 44003487 176100301 888456691 98256139 46753181 485641507 791014793 674337005 147103525 516825381 503279813 998570511 571939209 857597861 877935053 764223033 194745349 757198753 97623599 252954843 772517815 220418617 509943775 759213065 327386793 383463355 888930363 183646087 174552269 255473817 198079753 343331769 681713403 727516271 467961205 633062063 117638133 864095487 100062997 101158687 215986021 217991989 171255013 226870123 400410333 712296483 471495245 237859481 463264467 165353479 176883735 190021463 725230507 14831939 635525499 964286717 567159981 759731041 22429459 546328715 601599755 525934613 136685031 913517993 413036253 657234491 331123813 762174885 904787493 148683477 503401823 273297525 580563917 824440847 501427477 591741369 21944999 216464445 898583595 416303035 104392297 924630233 650684589 655548005 60592311 984475525 976450835 668051541 698315287 248633617 737723193 532906435 751022847 846902379 194882917 341166493 227850437 51212721 483761475 431536749 67397803 639621925 924321513 825913709 72432347 539856949 456682451 62543739 800172391 449781871 645021671 354658335 365222213 718580371 454781555 505254023 435125591 682328963 796627755 696918669 763785065 985915723 35292463 39036333 292350251 303688731 846362625 540011025 120463157 416428369 701609615 259301255 401866761 245341809 240997935 156100231 169102097 395638307 790683039 962158895 464570269 238200125 912911363 670995013 671386087 932675515 195451879 882959931 592969743 353638333 735687747 976932393 949293857 460374671 489574771 552040139 483814925 598987687 507066427 588739977 811878059 983729565 994250955 871413109 508662973 555561271 534468021 724503619 260259563 225506909 249836281 100859733 763643849 595924775 247796475 731498159 97418447 585988811 24107913 472432643 282529119 438636207 630326487 426831783 110208959 106138463 572053637 392958875 817114149 247205773 241298069 92735109 955318183 359612179 45830773 196249269 290489669 988435447 824111097 179200803 11317485 379797347 37356131 292244077 319062125 246964393 606015827 851032539 630137983 80881735 181060059 288838747 728142275 237942493 310656363 494386567 228213701 282682937 370237669 169490075 504275955 771804749 683851659 575936385 496629929 88505907 560606733 617316807 245591079 635558193 363826045 995969957 890884501 747382193 718755931 130377975 376478215 977622599 261150091 899521609 967736693 90383533 284095321 823023559 908593599 473411269 700832381 138949707 811628463 708328861 412080915 29205585 171508217 504629351 238413217 780203265 292884017 196984703 452379667 67823917 969816029 199116647 356424383 692545609 640995171 133085131 304197473 931745141 142033687 819396735 531837471 234038905 471624753 983403645 440199303 958606533 436722641 982770407 654568591 139722351 257455105 538787853 234331537 912418615 127031987 786262621 388666709 478408067 810542273 795216757 861318409 65886051 447799019 244833047 261857855 309221263 398414041 847565359 972876277 814001765 700997663 988391889 847888787 302174445 568391987 120051255 154195429 837862359 576726137 412135877 366413341 126508151 894972219 61869061 887264989 15396817 572562599 555358381 575233833 181737351 133923031 387966101 502171499 88382189 44655055 850796225 960840829 243165177 203142261 883773279 448831641 598762055 545303451 80270015 609770597 456634403 790256381 504918621 470593007 739652473 357863481 69432285 297643947 508038883 68494297 224367113 763355001 242412189 233893967 666488279 938821017 246246287 495549171 442016607 180648381 833344585 878501129 900454631 332438009 17346053 338754743 280538583 311366603 819825053 122173455 39790021 942296341 897257627 686507021 724787565 911465257 975432239 298297743 108313007 677032887 574144047 597944927 518688407 430731745 709005339 62898223 712683099 535809321 438567449 41479575 892993107 964774527 66257913 22146329 880303621 79036725 227553331 612835871 55004699 682394635 235208421 722632187 274416487 654412837 575993559 663882467 291263463 230207505 506860151 419385083 890174907 235710147 702474463 933918539 138837553 833641625 95506635 35928771 681042619 212181591 690526629 374594881 622407155 297232429 503396987 564076673 475377311 942070959 889207043 155583791 126912681 138844633 285491871 438071259 944434211 635278355 440530259 258990079 87963211 968588583 649885393 341304573 128914563 590437707 251563889 177174813 887244629 985200159 299156271 725039759 916869493 789873573 768518323 118971505 436921021 128440139 405954127 1177535 953857843 428464871 55653111 242866277 485131777 457247159 967714635 599533107 448345723 102372191 995484307 309183971 484191003 949299435 884276671 354587157 361396867 547318227 617809509 263826517 950812289 506501875 347433925 148841491 868770057 287501713 905491909 971761575 304034099 100307543 953895413 791124307 792693315 747071583 964015757 141252161 56829093 656919587 991220075 326335873 400561901 976484489 69686037 33064717 900505301 642859487 919573439 218384581 154588735 303075033 756744763 775725941 386514491 560732567 500295437 963780555 980485623 870492827 629995353 49421155 941482449 307526099 631867373 520933821 526499403 301907861 983105093 492650307 664892179 715313565 852510587 341045829 746785273 320858131 484936027 272772605 53174777 772869761 280443729 451031435 615191607 562866399 722387829 224181499 129765117 722778759 165627783 492739131 559510209 590331203 40548335 98371111 253882651 580741179 529863353 264422783 497932239 42558217 632739999 921345005 430681035 949850279 541862911 202665727 683573791 267836539 135714275 973389619 61478151 602466129 914368245 466964201 404855527 747590753 867939985 821180263 527331147 302317127 717062581 627992033 587581411 363039753 153205255 442323057 550342543 379509267 100918999 867363607 19013967 55051067 565681693 126061243 898382157 435907005 7160183 409042993 873140191 496282177 165643565 496647985 989521025 75280081 199114029 648250203 603524819 122864099 793074191 143931195 248947107 114007895 532947989 299110207 918910435 731289967 394961441 882290881 2193325 105596377 883894471 975330565 842220359 721230507 622220605 927191601 536289307 44864355 591147103 609857113 480407483 915977701 957707705 660140661 374764261 976249725 916182135 263360869 251321977 379001315 717590129 944364275 577094277 789421107 953980199 416856273 590229307 341552115 603628223 503211417 960016375 734725645 626933515 331793353 148849723 13158875 380956287 370024655 865057459 464077847 885126459 711153143 242315825 890747367 862372871 988652415 49126067 872510425 12134739 876463493 472215641 935962851 646848565 14631187 200236145 909093727 70890859 130205467 100361327 445882901 140412511 465502071 712986857 810188593 602305567 170839525 14085289 170120521 219409507 60294929 57512341 776658011 254817929 735503245 751911873 937921225 755764889 917289167 318935147 961781861 431337537 485227579 378655477 414882143 896056795 907113497 492321769 523563865 71943011 389414555 280076795 829192277 597218179 800518363 434999047 933887427 451466887 789766103 613509905 632047989 371271019 620237179 395629377 999073963 6478537 648142233 446315245 262105865 448103405 288955623 715504783 684533661 745619395 163325449 482675915 845370843 704932323 478461575 515129195 933489313 102033805 115326419 789809253 561428277 313265831 222312517 530931921 882575939 207328963 470246431 496248819 118791393 112655893 602020491 721487417 290032011 702766205 58348187 55614003 808361769 22846083 560497221 803297181 192433157 257262167 725795693 330283611 193398485 533030093 931064537 240529271 834993081 49494633 140603711 241682983 194203955 890474575 713983029 268225219 556281649 329464655 499263807 103908305 313147403 308983521 162835651 923486457 961409401 565081635 853658387 135576595 571803045 95379675 748519785 53127189 570646555 930271869 83220711 104480805 229947599 304391963 635487123 679358607 345928479 224086647 340756835 726468035 765153999 749245689 617831213 120132449 954728719 458791087 434066355 423657769 218526579 794926159 381482143 288772613 434961143 912948795 829834625 569886989 21676289 319982967 196227283 698528375 926347359 882345653 835674871 709769387 430682181 622420811 293681973 105808687 523013459 735860793 222551741 436051387 360325259 595642661 62929835 607292201 556913755 780613473 848602623 877182587 674163609 617902817 350433443 37657565 882352257 466940741 609502311 562011041 961731003 20306645 908218629 210054469 769798481 535176065 316252701 191405161 440562619 853974493 211543099 695780315 587278549 91812909 416901583 998472333 42330851 495694165 85405743 71247515 497598869 579237861 191423649 272014407 650407165 908546325 393895245 337393405 655194779 964916673 729495619 116343377 95003731 716537205 748479101 901248253 644593523 759617375 758114011 514390499 957563823 504795475 279236393 430698259 532466725 844991187 279324949 172696251 922222171 243158023 265116475 25498681 866434365 912551611 192581147 231329551 5289505 855724395 410267933 686849001 801563075 297129009 737240469 142778267 103221579 25236953 155116475 22116383 787136835 781968591 474466735 331303833 587154595 314767915 177475709 346888531 909402565 451473581 107452179 153523905 845396337 934267835 55928141 651511935 512662997 195874917 539535081 986498385 511343491 896693859 438780053 807655199 347175035 42007315 612849887 953806847 10628897 346176125 787581759 846578987 248290625 1302097 498054937 149382151 271648531 220269285 295475895 118818591 132780595 368704567 426934343 604128035 885584039 14922481 973162725 135947249 177311195 806013281 554299279 205785997 548907427 39809663 833244723 741445409 583836479 280690921 263521949 363062783 215189077 72822245 502614923 635164323 342859759 266648167 790380443 750662577 829246851 263533057 787485783 48152309 120929263 983000565 795871537 794031199 950303865 714727467 133871235 239856911 686870479 334609455 930839181 687485507 615310083 886860349 577408631 471640683 527478931 24358959 233070931 810630679 131696487 488280207 99107101 401883909 588357065 390937485 630793651 348789013 362301041 321791487 861642719 898274645 986438523 928694373 821361747 218564343 644864363 806748647 994164391 854059093 4148273 84629329 700540511 236820469 116704287 916613149 10366433 538322305 919168245 676824425 439459201 279597259 842151641 587691773 66862709 657894097 329219411 962655303 196616673 917888179 803268191 397464929 995286477 571809983 448740181 753543689 514699819 29418343 396337661 38540965 528509395 648789575 323420547 602111811 220891529 71642401 8919419 555351199 171148531 280077537 302315751 293158165 793950115 276754587 100736807 901873069 320298515 388366471 662635277 786594069 350249125 840782093 768303049 118346405 296116385 985198005 885711869 310178141 236511033 762556467 570620587 682794213 37588613 10789219 110119489 571557001 290694791 788824135 748075927 209134149 203561001 41819403 680786149 961829811 678317629 893756419 862448853 211260191 326257785 176088745 341158771 855175795 461537921 456897185 349359923 615600203 884436701 208729781 633552883 870737125 703374845 619022809 333424121 90104103 768675133 909326889 27280111 529670563 237278175 887449065 491246319 857992589 560955401 53881473 442465651 742757317 952976333 209937287 598724195 238766547 569236517 106919861 813016329 953123557 695326705 969911791 928620827 727472853 395906301 587270207 631335353 146528031 341785849 383887067 678730853 297744877 472206973 86346011 124971021 739663629 394457611 198609539 427896327 536530679 550886669 268936129 851676433 241367495 934634707 193800613 36066893 333602377 998884759 144675371 351904333 114164457 310168441 898023799 341498883 993896129 964881797 12848853 878773707 305022605 6454443 875759029 200293487 132323765 732952259 81268407 165643287 405440843 416931727 216676505 350560093 645472003 432316343 345643339 705159227 414978109 425513423 735823581 142061335 645612803 73117007 227614859 15955391 717106945 109793689 139491771 329202791 710454927 14602995 355144435 171154093 299277227 561451411 706065131 748303511 130090241 936298127 12313469 414658961 925839579 880874217 979214505 35370353 517853235 906930825 851332511 384296309 705779623 770564419 989249455 432846655 96533119 29644239 521584983 481949663 525565865 670407885 743477047 764117707 165236927 22390217 663547677 218453727 703822077 971184689 639071995 692295519 38492749 738346593 79419373 654990585 728878653 125885593 547994421 773569733 685380869 997311489 855786815 589772603 219893377 295516589 142570141 381245253 627516733 96015765 596960013 549026607 269420389 370043801 886093935 920375213 151954897 288741509 387650513 838537437 884413187 720988423 450579047 828213061 585857565 523609273 416090247 587885265 205423089 456683295 770529465 891858901 167114233 789537441 487638185 66848275 590105935 845575565 892873253 781476779 908293565 731025185 711023661 607132717 166907059 420926587 260425187 720322445 995913799 944776613 78865297 516468523 633851449 846609555 547377067 819944137 304407279 665995289 673657805 688783253 923372153 15179517 699597753 803314469 645443983 940454117 354307677 207465079 561980047 662773605 204499655 699019503 632899713 327045363 657071927 599000409 56848405 623440883 442436623 905676013 867062943 778573743 632889563 259055175 3084579 186978133 598757195 577942635 490084675 923241215 372684861 545604553 523047507 372035761 974838965 359031093 674321993 989122385 649171163 334440171 629405377 793889203 634422021 915777425 403567111 369206669 365594797 297563445 668574215 531050627 411772791 31819339 6920537 92870429 88966703 732932785 805358653 101269965 692564421 748078253 673632667 110977003 715297879 906587115 449013247 179707579 13318697 476923521 926655141 466072163 62905509 847079917 291097191 680361205 632635229 758199313 534160079 228110189 451767565 150444093 116901133 94924969 538619545 89960487 361313015 413908595 723494925 419834603 186997773 393839229 387935129 173372941 61898869 467029855 658192541 278008443 977131519 451575195 859317401 35988877 809588003 114373275 220266551 884425725 752424447 323074481 384279631 304449777 171173723 571177747 229710551 844804341 409162661 767367909 32197109 913620225 787098615 715786287 639292661 684146033 493419277 290716131 72308041 701650699 89368657 521309657 727091597 361888251 805677265 357468115 207075971 953450711 6244931 448118395 859908117 306949019 115631113 64193633 141044827 860589741 741332007 422950655 657995405 993939421 20641871 816831927 947823629 78300507 414659289 412838609 428053865 967339209 418684865 523320447 361849683 796129833 566896047 426086873 474476967 983322345 412006133 421455329 288861287 878951135 796664455 354320513 402827455 754799433 111790341 611243401 485408769 768845259 622469559 36481459 214086827 150471025 394688909 382258593 118663519 716799923 226413085 930790105 831916007 788362605 592230567 976234193 331935799 315608547 987090193 163640799 738489707 719217605 885915883 166739525 347828421 933044775 201526379 108775725 412356785 778355589 817695603 729451431 188711363 734044869 777024137 734599597 149610933 223580725 115000797 667237151 158891115 822035081 236424259 840728265 435154159 55567327 817908799 261433691 214937717 631876797 849902835 833122925 499564377 385434383 103432499 625871233 938276895 799405867 93978229 212056831 199998063 724403919 750565845 875964219 17126431 440856093 127332127 31700333 566641705 693160615 255995839 202565813 716013489 871323741 679938509 631213343 272409347 806774433 949041417 473628825 180587151 952522037 989103067 603020799 718100467 303657801 129905231 793723409 225556211 904401007 672087327 734101113 878361719 817600423 563848361 410709191 81141141 130619989 637463031 233651059 190601353 765837127 506891699 265468643 656915891 38827953 435239737 838351963 95254175 943317041 301305735 16666897 995485955 17112525 858700867 925718809 842521527 142253297 377842365 628224121 657223617 819945587 481176301 977247257 587062091 468765327 812311665 891960519 48580775 480684523 146782095 700285505 587252049 748789909 570281531 977350693 188517101 149449475 620238087 622974719 378436167 359084815 35494455 729773373 381355089 660475137 556923053 230527035 206755109 949041799 256152829 782616375 275000073 292446131 54093915 874162783 423026535 252678149 79002025 17841087 445886419 826638689 565376621 46407765 477329157 457060115 426030037 683851007 450867685 160633043 575022521 668388231 85999737 824309181 149173145 299990431 727884025 789051221 355770779 807742433 296932543 874663563 108948881 916840141 682401613 815250099 628039151 390558667 687479119 149207689 917192917 200286255 380621207 215489843 55306507 761012271 950520355 256869695 812077313 894704111 382620949 709208993 170125773 676212343 67393975 93519545 751873581 291663545 996612477 752254793 173337483 592055951 40414979 664507775 536062709 691001783 769773323 267723761 951763491 90935517 527926657 500906139 160223347 886485139 273901689 367575525 195904493 222393423 203101997 172205465 867386943 812648821 722071295 830305263 136764867 635033677 973337727 852593283 615672437 508903689 606736475 671654233 903296255 376225987 272563313 112716257 79677357 124070521 721084611 438612973 281680251 83031063 293596285 71257277 892686083 44240751 740797683 487494133 245479825 545436471 738980511 289114787 730241553 192836627 681592869 975745595 626390555 798610827 824884047 704082331 250314479 534555409 19302931 971111433 557605491 965387005 613573513 463734833 216118327 239659921 486791415 13696295 731687027 74972151 797482181 577142125 979299079 673556289 173907849 229029347 47183479 114359141 229958397 132537049 884717301 141100615 180999429 901667589 391184725 652029103 116066989 963632769 23524891 740720461 850199333 855706583 36187755 549503935 749352141 955807983 934030613 473813377 692989987 760495649 297626513 315822335 761274071 582281003 48144125 400449161 54913209 262946865 379315487 354687321 705612485 468614335 198283627 575348881 938073631 477812941 802764275 938107449 52466451 777866167 656473721 110374465 987043347 932255555 317837157 108965253 903424185 73674397 82896069 930921157 355638475 264644953 246272847 435475371 439267635 272833143 956273509 548345799 644832003 323259229 933492747 554319763 622667897 743900373 44994035 412810609 47489525 756252693 222823539 359330985 127185157 489645499 255484555 646792811 441850203 726511309 402854881 6070483 660428753 669945783 622485447 470931425 155474285 125763919 161767985 455730815 282326105 89629139 606017215 384207741 650173673 427334631 482961849 581276821 357375125 586059671 908032271 70593385 726666501 327197531 42926421 48349311 407615233 845447439 565252303 524779597 285927805 827338487 312924257 419862057 100264085 330506945 263062171 986355541 745182859 554008709 235191987 567810041 729609419 63579069 71052171 427922473 858966759 168308303 120201897 311888093 271871389 613977993 389311291 14792949 546116559 81324319 993658651 733314109 689299335 100305967 490183109 451891811 504669433 410827327 321182051 590812163 506216833 484731451 243278785 7998365 575085729 784091513 86828379 755341977 207286023 598535349 18594379 938901579 689421185 707120405 848240477 373529323 218608143 428980009 893359869 599700633 437395155 14815713 674051139 477737569 67120407 356852127 891119597 406590257 82191953 45818149 876778343 792249573 92941593 450307233 350320059 513771325 915886131 282854059 740297891 530940641 405642637 356584251 248546173 666550373 395689783 95053499 344926289 353776959 286137965 893132023 537505487 236973781 808969363 399626787 513931597 843704683 846028851 358720989 393229257 2476341 734386179 956805673 320328429 55639885 215033819 633830519 86776583 694090931 660256191 705020059 622567695 69559631 649584861 541352401 536916897 744806131 134162565 415513535 256884233 605522523 743733555 140660595 533262131 545492517 308022155 51042403 899307705 316295131 271900505 30548841 323434967 324971761 345493647 270542285 401419895 444511163 492137031 415963195 394314277 227996799 642056135 558148553 97893659 205391971 417106297 541051637 891434297 914163321 462689263 606123683 851970819 62012093 826338533 38249759 220030123 39049485 36623937 206257441 77479175 422493747 435351305 900478661 120288407 215102177 151273589 530226831 83555457 616702641 688790751 160994415 997404567 972347681 887150793 848624311 589571917 115107997 937860061 864097575 817081027 575880055 385785331 391397347 383757249 334534373 640022529 776118393 784246709 928518667 719702319 512648925 141715641 176700657 359321029 591068269 678453387 947395977 504304695 58712303 220440975 639135915 971205151 814562191 857633753 645879579 645193027 739698659 761942559 313517183 502519949 632411367 541579967 693428841 542317841 24378883 524951743 958613843 677571849 305454593 733277395 738129823 334291671 466164761 574505037 510291093 103845385 631660261 540433455 893607271 96315987 424492911 382016545 561226797 775058571 29819423 597886319 18845419 29417403 83000781 243238933 927978631 980011529 675819191 541253037 388435923 631538121 77724033 739682433 10218121 822473337 302169145 764309633 607193675 786984379 420684115 345823299 388400545 274868313 758257837 611956743 539264763 915408201 5869195 210170035 458614711 921566883 367140509 576714969 156881681 557905067 269385463 897082283 434627893 609241293 884648725 565549071 79240755 852052125 179315421 999568263 399265541 254369493 624530845 139715395 397782157 333185113 424421131 384080157 706789521 588168501 257702465 170821777 878034631 69482393 196612807 666884041 907158469 479255779 270544265 462267027 861045261 173316759 430832095 806540647 731830025 374735197 376431233 502440033 369409033 195298315 589097113 854390349 710890823 344588443 145252529 285697431 94982373 63529779 909598145 73291097 419791849 817475865 564910629 244519503 380067657 100187077 778212001 46161377 415642843 655859151 775994725 285566241 80386145 265638397 449186053 772807107 85514373 838418999 126008701 875391783 405325271 957707923 926890291 297906007 136201679 600762957 239252469 584629759 226113491 933275333 411357687 256718199 237109289 80000137 549811927 597990845 502966529 827435083 27007643 874484093 571049335 150609893 98846895 137068801 73586315 800367965 949837033 712336707 515051557 595709917 863763077 216467169 914448921 192076471 960110379 89804579 643156767 592486503 268052453 87295735 949444055 542179731 434292267 823533047 302530509 312104451 614142167 421898079 612818543 85466539 567919409 593126681 799987737 878319525 321946599 88277683 132181771 841704759 869381643 904240227 707574893 307367115 246568989 83590667 823229267 668953333 217990913 780302385 619886517 566319981 544769285 275102467 323665779 718562331 653724381 409958745 920851801 207145991 395359399 650881971 994719253 495063141 308625127 977134393 304858947 241215889 643538829 217910967 89889377 521068045 239306477 357295017 291152861 844934021 343832259 905207081 735553027 750129101 232780599 472290049 60634129 829714909 819750867 59754657 298082085 821953757 119999117 888291359 583396683 250958101 907738821 869978939 642137713 418644219 493357117 589565531 196188017 491159079 464269859 793838479 255824143 599450205 365560845 377913231 253804785 403041929 359213305 746261689 700402347 29450687 963822153 88174101 714657971 317818425 465488079 796753489 140862831 657655899 70787005 848121543 399350307 938088879 303528369 45068915 749808131 366717417 281243055 958223103 596605735 482959847 595931687 969637817 567100307 526313639 369105899 445746841 103968813 145295959 367062843 901574459 369727945 75528523 556381371 18432491 619860509 486877951 102068857 845766293 329816781 338312979 327296235 603875281 869107297 879585875 974879723 957736927 131306315 789055925 455427009 410723751 93756133 826600273 737441305 56909237 988466285 773873003 847855369 42865475 319643663 755882865 134448653 314132273 958026717 562182899 606945037 589413635 709957837 371564717 633234259 484709355 918268867 588336005 43310743 457889727 875414663 305783169 45643763 426239487 433543371 262116057 133077745 603167953 616207143 928875237 585943673 251070469 636554271 12596523 207229411 130459155 109067033 714555477 767213037 438710553 507781479 33126709 873848251 594400223 760299331 987859913 679912923 706339027 829872847 266823729 933583681 685978383 547097875 67406779 641120331 179670351 491964673 702330329 256363967 362121469 123466865 678308133 649666505 233283877 139463973 697660005 139213565 85582723 559133127 920543107 741107549 937676147 870126823 720875153 489232713 699030779 514443777 898972365 336991889 66944461 392307313 830768023 421777771 831520321 339694725 47983485 921586545 690837075 77738605 679167281 898422443 114756779 724140865 815517327 131839623 867012505 30372355 154069913 127643863 98292759 578065565 766578555 568938713 206846143 820545759 801947017 510893109 462882011 170824579 560985149 6640631 821588827 790869291 77007929 949311891 950460373 911231839 502709067 722948069 969086343 650970511 682651493 857999927 271680093 865504791 127613347 331359027 930727393 188457783 792215881 402721261 750778955 723260441 221075647 982333157 520520061 299857869 24742041 426809087 204044797 967593037 237348501 207534217 879481339 723912571 939297941 323371577 927373899 430042141 783281059 989169705 892736881 838531305 484625141 544192737 535330447 30433141 148177635 887682637 563179129 220459331 964922865 209188035 61675173 971002555 66075085 277421567 185549871 278631473 206988869 73642537 732383459 50110173 424092251 534706891 293818925 67323873 555623725 885937629 238098981 592133955 185361159 281259195 631890571 908873465 776282205 499673385 833577413 878770135 893392589 32638551 924689893 323716771 291457557 680389079 257110431 237909765 294858533 296533673 860216147 839390861 90806029 972563505 294564873 425804213 384379401 429611325 955948657 338041565 356956797 61866753 465871329 68826447 762898933 852084763 922738521 435754047 749350433 508713871 348834943 212731329 471642081 772056013 806343843 56707035 484454451 284192169 443231165 540513653 412271943 854335327 475089257 969613149 742508397 987425175 904164851 632479569 244993571 861574235 893289801 858088175 557573385 396252707 426707455 443665603 358476013 744055497 358704729 107800891 924657855 537390229 730944313 928129459 748226207 541613875 588640051 720603497 984571597 970660027 228396411 283495051 912792757 501377701 503703795 286322469 196785641 340902619 349074721 911320117 850579749 846571177 934257459 640204953 498993487 824108995 982013185 91213341 714103407 686195015 704803339 269605999 122291897 401414329 96161911 981901353 155919239 395384073 760304661 593217487 408364639 804752265 576807263 702800583 860138475 707987707 161817711 537400421 895672575 873765503 432116751 467258079 147567509 319714469 487665327 950786649 132499919 728818273 705699685 922043867 43298555 358753297 619048687 830707799 398619787 529481851 799850679 502114727 89436955 492974027 119190475 708572553 50387821 706944663 677735907 681435307 155338605 186738397 289109597 594653081 64254767 468069633 836858177 750431185 982059501 472033487 76869181 395586225 214221579 199764607 256600491 873442947 642326291 40770475 817069447 869062009 889918137 568726621 576173177 384593579 96821209 257944061 528197843 909738779 522987637 12741221 622298505 504115891 214871995 729538767 919339325 478778693 118625531 669180641 228408629 267322247 582283441 993864103 908287071 632392733 965396353 479760025 536993363 613465743 491514677 807523989 643775569 348104271 968426433 407503579 280656959 602995125 842753601 375318557 178551725 980345605 458473977 655259503 780391123 522432869 2517329 758175053 800181649 419599335 242548959 738064031 80070251 491314821 685205599 543296431 905986449 717058337 508813745 686969141 582649309 841491075 486556641 294696779 466043341 690982237 253795365 982687865 120265863 587289415 970327765 799372973 35073243 376841667 608068215 786232889 278279743 539489595 114543283 582629085 223709141 472201215 963235679 113640635 444522851 155313481 101210487 618662757 250965593 915592251 839727131 968874701 220910795 492722909 139241881 387230289 768039547 57426719 310873185 622144949 733728209 42430429 85451283 840635945 188060379 109610457 154209903 914294081 746437711 85200055 260788319 709372921 797510285 617217551 80831739 393661367 828675743 841725013 638869625 425000265 265110321 531668459 970609983 143749093 964640667 758572061 50117849 894001701 79614173 997549593 750644985 651072273 604489885 306634747 196502139 905203477 380787245 905496517 9575009 528989959 314767743 997979 413115607 421148965 194719289 706581139 942582831 408085521 216137373 33719333 109812711 288271837 511171227 398145203 802652063 847707385 376839373 511078083 68376101 206550855 605206897 999849675 179303531 74006795 230533485 300832801 360080525 960793071 510240593 469747719 160395981 250228237 653900371 694933669 93685911 266371807 253859157 993186319 982458751 921557579 152062429 227980605 565920319 432337821 954231065 472251151 700782009 883605135 95374051 412781905 194779643 832164921 609619639 713856945 717053753 952208417 544243903 276811979 560856779 726174519 834044615 285790495 123373621 118429391 27655497 235864599 554425891 626857895 400146533 228159233 965191529 993333985 384794847 43207707 111388161 72602381 484685097 670005637 995149327 508796705 877908571 703011397 721348317 664515447 178590511 798862671 657973215 927773913 766790931 36028029 286795185 406584175 202724625 470119311 771365143 147126225 423831779 259977005 625109497 888427517 74947047 280010731 856399469 812314711 672316965 833308993 939849645 162859181 570227021 781979279 157244701 504747827 246693301 535824927 214739273 315785605 985392987 477063203 300353249 496466349 885234409 697949109 359025603 4898069 825553069 482580949 368180211 292541331 199615389 104140395 673793177 738387043 518056539 799865675 666835723 446834475 592598573 687448875 218742725 187326201 793892353 913599151 118500199 343051585 33051505 197450593 464012733 528012515 237304249 259660463 185330877 414337313 126967491 190001907 486866305 405621417 12294683 747167857 645553481 584958097 20449787 581648975 913164421 185500503 554769475 844515745 72115141 938242013 668845943 14003805 215036103 71410293 21551049 274379879 468385131 26970065 922753039 252310151 177463999 475088397 946898633 613597551 785637365 461962163 508237085 864398009 838260583 296197291 780271581 716015587 158515099 280292687 955561083 946870105 22326843 957775193 850603037 768832365 296126745 22339823 303367813 16064341 228685107 320542623 328040739 818298933 194234793 817258845 280673297 772508693 908413641 751987079 56259851 85674215 466719493 447022051 126592635 728644997 605075449 400739229 455403119 639939245 589546855 698004043 86328223 650784779 673069115 404941545 267211881 408628015 911867783 731557599 909736915 679431317 260090761 211115767 752468625 731416217 56202915 2293351 134583797 555273865 159979615 449581519 387699969 538128789 315306097 422906417 540700509 912629719 392431029 302811133 350686293 749035341 577282861 906248197 853092835 625323235 132357 261115017 446724519 584092009 825159569 906396717 787641829 398748313 373822027 871192317 337936527 221992469 108944599 114411889 952496699 266854501 244590079 343940453 10218281 36532219 678413495 48908063 974189119 108237359 444461851 7884875 194278925 648416835 829633389 579989247 54281163 437807713 260033819 371306679 119456343 653553305 174010293 450803033 235734841 440953317 73501175 980036147 823578017 840290087 907862725 200485625 462536549 35999271 718367785 498703051 828356611 851273877 543570007 469288235 392077221 998158093 893828269 155984647 110478873 275531279 220958377 42879413 189314005 56768773 948508411 484211187 35933947 415818559 33045619 969253605 294816337 205647607 96679693 188358423 337482821 187351119 277824749 58462593 54596079 364646479 647695709 235342463 558793745 657879527 798536147 413149397 186987021 544875763 187547879 844466867 888138999 974434099 276092767 77168299 211582083 548120913 42354469 504499901 166154257 112276957 924781643 462320973 212621227 386935889 672231949 299329577 716945147 393579021 821020623 547988869 188017245 692163933 594372125 277273345 999513551 507483759 719983017 113551517 645436919 126900831 186763853 810538445 318372135 447081517 709486095 995709023 150641233 566480835 764049433 631171479 500828699 271998703 690986941 118640917 415961543 554369647 22657401 897933291 540038213 430388963 516973549 446125961 62607151 86118353 765571815 538120913 796404161 167853231 203086425 109136645 22144485 531285457 701030239 266087125 176417577 245469053 416934715 481993555 212875715 233337563 254749273 956645631 680908693 883433209 444147019 215334077 995713829 693839317 10451407 161076953 338295969 226038605 666338757 667593739 148948705 735987245 406053947 226664559 203831909 133910307 731685987 939961483 949966933 888899019 590205593 376673355 758528893 672948133 463063391 42098181 396780887 460551961 230450273 514735477 589721859 788503675 502091123 502033601 538256453 119017217 522915727 610462583 657526415 978516431 825664473 322332557 574993399 364643055 457604763 553766493 308620349 126649935 186650697 431489967 810677703 636817099 398154367 527514289 322994853 596939041 958227711 883882741 282089871 406411005 422666933 381072249 491091683 13086193 386771125 951563685 871666601 32450677 637935929 628348997 840226959 82114793 88953509 844480651 760925935 941098135 82025603 559804697 821637573 807189681 237266569 990636275 935798971 571088721 672786319 814526083 536648991 408374389 272291993 970033827 275042023 599057161 494028757 501157261 541020597 54425055 448238995 952934887 96340431 57065645 917526351 691903423 816150307 649426199 881718957 99025289 563510345 744300965 752616567 680008997 133069185 502870217 907355555 598070995 209699763 853427165 381612105 58136133 398258539 896789535 770826415 236801423 357458403 62930363 71905341 480137263 579009019 839823043 335868553 73185799 721941815 477572653 535330895 160098409 145929417 406903005 93689967 743988997 821463687 842672283 64600311 901506301 271824367 123150105 458956311 815941075 986892589 1599727 192618799 624824951 92086795 880153761 502215101 205963323 131940097 351819157 413606001 150534111 395717169 693482269 610282523 358832263 17709665 809359731 728948921 528264385 559471617 67997881 602620011 564264321 229554725 879503351 25788543 700445477 273232785 453665311 207952999 698835569 6668201 105226505 587326653 461139349 512379771 897078903 401158215 275864357 112676547 646063891 126693615 253566237 836708061 965582191 356166857 279703525 307300303 514115841 897309965 902562631 11633995 9690411 907436323 343281529 692945319 863141433 461727635 246357019 765774563 203791451 687041297 901808943 731620775 929761961 572818295 585622051 259408447 807411749 286429389 21844173 468145061 525285561 916411961 465145451 980618361 919554613 62670607 309676705 332919807 266224979 134340045 406055547 200416553 454595253 229932309 259220849 904815501 411542499 730606257 282038367 590948969 801146957 551735445 422640779 541567911 747216463 756518877 872427679 859682007 828230697 564821451 687346613 582166571 196369157 497919179 646932039 649066887 431689715 437177713 558976315 988583281 757880557 295322999 774921951 780531225 117362645 841518273 505395687 766094931 742526833 361609817 95592051 480382627 76404343 122386291 347108099 290221611 774000765 45287531 631856011 484479423 269118213 618768325 985678427 259122899 964580983 749880617 104653105 280201353 636164391 495702125 6333493 801738919 576502349 339534475 530431217 774028443 604932363 711433895 426142557 505708157 408850279 441103115 812501715 901994509 890861911 372416045 364948765 870897073 870867377 40772005 526522723 909740411 880581429 880304953 587218751 232560159 320846737 749331921 648125353 375342077 457716819 405898371 522037259 250436637 380752373 459868041 348862257 44188463 817674967 245689671 448740943 651076745 466203717 86178633 466199043 561134891 380176237 918678337 442831187 493898427 369732203 170541065 540869803 844732553 60880189 908039847 546376417 160410763 346591441 84940099 8354353 402654819 354316277 769376309 318239555 163611735 826153569 132008179 41558049 533191255 5857723 725284131 958093633 186641143 81754759 525327761 980377731 55718011 91415353 619828527 669042729 779784645 204769579 342874135 687341025 101937513 561173405 20923535 846926273 905525915 908584119 990395393 388075847 564368957 360206477 821437439 633356375 27090387 241549333 485415751 645559357 918002321 130734643 292179129 747165873 853975113 681058993 71545443 489070287 175516285 206590269 307248759 759527965 859898707 308080241 895011921 84346245 84499099 714322641 198364531 175767137 519734477 822418371 729087625 729999211 20137481 69934747 296411749 631602121 703560467 505633167 443766533 554289673 748626525 634463939 311314571 484612897 152413947 144410945 90296897 110741355 570230705 980432375 242712987 120722863 466620899 641370303 381388085 24300569 317973153 800501085 899892177 692429119 143548835 40444535 48072539 116718367 325530183 20045471 85661159 818030619 451141269 302179665 442737325 945951749 512821307 816261099 335495445 484906253 87510929 476525239 454102951 776958677 976482457 584872935 758933785 385719135 234855413 802501779 430614339 962097691 566874105 605609407 986360873 12826843 20349849 742947665 140632311 557474527 933791607 293169947 244508929 267681739 982004441 718176215 443914945 696066733 324233901 356169767 217009371 592939257 30960267 530444691 931735321 515080589 215495603 654387085 549408625 387607471 384343563 95448173 33268475 981164043 935271203 434058871 841224443 694343607 578974515 27410641 651012575 681528111 313759771 270621325 328781367 180440411 750303839 127265189 181026751 185810053 768081455 320313339 60463195 896913763 573607525 389785687 521946901 801471509 533680511 971692395 827485987 125908253 737614499 728904911 559434973 263412841 806478497 771741189 870511817 914073169 914318575 378744183 889154705 461656717 274767535 865582965 501153287 560299847 40922535 818001721 843350055 483910667 518760261 663577573 557684245 992884941 658632611 781109633 521205277 319644907 956155005 205012479 74478769 258434089 464675901 953409591 167348075 714966455 710442223 516957419 704554513 453460265 840685391 928283589 822495117 57270139 141800887 766221909 109936369 431570451 628304179 470243093 52582521 596065727 735409263 845885029 330421387 216167347 539114179 76229009 979165359 874174607 948789551 350641609 362649241 439509333 70838617 262077733 298162467 825087603 984145553 170944935 206556499 392492735 315149007 396461623 721851219 891621493 640208819 998489513 654719349 265971261 715456897 969300917 226564407 204873761 119710761 903724029 272158779 977295001 820834373 374966537 115865419 211215233 834105875 680203593 809861467 199922461 471019641 488559129 506712197 303064861 660971527 763294905 806876431 899409811 505966067 537699665 193271909 201461247 442650399 79743989 3292693 238890053 829893393 303559069 765256927 600449459 341580023 838352171 823652261 152208381 67017387 186886757 917017713 560624705 928777641 596294401 343645047 656934405 537375257 135190419 667958291 96812085 298926541 918962337 439294919 382274087 200875833 487120787 484386111 886177431 13753471 662004153 949348687 248534701 746684515 391563595 674786801 851510515 717026647 795779183 4093769 558919777 475370609 715012649 792563873 127759697 732345457 627942765 107645807 424357003 692123327 292320277 353380427 990590013 940531303 695079905 536646649 889702649 863461667 364221817 915155557 225268415 205263441 212241777 118756771 211357171 152077817 916375873 244830447 543185505 322307531 834909769 785176489 138592321 370118683 696338131 709447773 163155247 265674989 896388371 512238015 430127921 29160677 826643997 860567981 362396083 801226323 138486519 767017509 841210505 389138989 86891399 145059415 569589491 550818581 470628257 317268371 641013399 476172881 422022651 130038357 841421439 24614095 759838521 654954305 479519777 548545065 56446181 981838371 285614171 538069915 919510125 63978221 599205491 903872781 740720171 919223993 121223447 139771921 169855587 427391693 337563481 975622363 618356283 103403409 428839863 563737933 938907335 586535325 521671449 567703019 621179389 699581607 688171465 764044007 74774465 809912469 881601151 264431895 960016603 474430579 264450903 684772603 218309629 95642995 709420245 94802361 579451073 400181743 766062313 496537121 375319717 182861421 294274533 157311403 520877079 57321623 160683913 909166967 515498339 61296193 880946171 147658569 180083653 137889891 485863107 264601233 596415583 389214757 757690845 734269801 965000505 270925775 187699873 865230733 12885573 293183957 284365015 874052455 861901917 290768849 302070699 32091909 418156095 619054985 699504305 73772831 951410071 800633319 761764587 423467539 28170741 728033791 360708537 190607591 133785045 312717323 245271533 387583055 942455701 636648045 308208823 70721437 623898751 488355507 998212793 2582995 416726467 779478671 871362293 29137049 927972735 825939677 560785369 177686843 849724847 600519839 606852157 337194931 484663103 403044867 741831769 555723681 857984255 809718615 470333143 80958281 896116905 119014427 667115459 60725917 81581535 865509361 705232273 299200051 396577065 965762979 701030943 798530123 963979001 568983079 50958771 843893195 127083687 802289557 684251639 773775171 492802933 572753457 164298501 339146219 42480013 479459687 909617751 94557857 210753791 683247307 707390933 554975469 620719301 325018391 320056521 721970687 320648641 299975983 754168041 100300717 851754939 767877405 477366613 964226421 382512227 330907927 897774479 508421505 557280341 697136757 287340677 178759583 281761299 733804733 407813005 788417605 382146305 446887063 875176803 814844821 421302389 497394905 831984943 665123413 581912231 195410301 735232893 499892979 346971577 310239911 218549567 16523911 712375475 414641059 185436375 195986899 72984197 787518945 858329865 352170041 634745611 26838529 920791039 409639629 615772677 453796545 199918675 177449283 567506461 706035729 3579391 501888763 5893091 719351809 326980457 392470015 677311185 879138255 981386335 926828537 595439175 94209755 572087573 455916357 413820049 254103475 341887785 214259169 91014109 192890119 402927265 942338163 580733255 523999927 501998825 428502349 460198351 733962947 651511255 810691425 570861407 457143893 141422761 586086739 936355783 90438853 769982209 531463785 736397759 890982025 969391087 47888275 158249965 370912329 634116329 57575527 280058325 312009165 432487627 521184803 734702829 802619143 2894041 628497073 892551049 302982935 22080449 174715807 677820399 242332477 142651035 881166627 178252103 892735973 987503071 510893855 451159713 5712801 808183927 722679321 445251061 881090095 219300527 85881919 45348137 775646065 549715259 365678185 923969281 735219825 15290937 349192983 409313329 125397091 752337967 108298609 228509267 611986851 553659657 471480387 870793447 899294899 413882651 77602055 663659605 310813503 19396135 305109213 911675121 208471833 906034253 446048137 454160881 265400127 613218077 49889405 132435579 429865683 727654027 335690191 180357267 800970271 591137783 168164671 973431853 227917719 596674851 615370035 241654819 74759895 398121789 677195707 594385203 481243555 865424859 83107727 576796939 780942051 995796987 220201229 680410423 388894125 441828609 836345661 811840565 904797755 13488057 89535181 760057955 767489265 748211547 116848919 698192651 99968345 576042115 363778839 964624735 809590567 601558069 113234039 374341497 794618167 713461473 853221509 384822615 919593613 670465883 49753911 944866277 705784145 41881567 715671599 219520501 438351833 587042579 944007603 684063037 117250975 814609157 354844081 795208545 475684423 142340137 979601601 894716139 385982621 89460829 64363811 464118857 708407697 354362855 412675519 99016917 626283331 492830835 984090913 206241233 874298353 153918999 819738755 748814185 235901707 1903185 674264773 570141609 341510689 229967107 940481387 407047053 565189615 641878397 158596007 757084151 660712793 749601141 657896271 373835439 20151915 511479303 910509025 113350503 862064983 102335671 77338503 315665079 217524087 301728371 3678737 766854435 80181841 355834515 327663089 887980049 363984015 315446225 956178251 56784595 76930819 456139603 570962149 227181475 828335529 2720677 618036015 720795299 338599591 56250303 206092093 464138971 587364163 259030013 911155155 998846781 995823349 602420517 469677653 322345889 694071895 585272163 899697617 105720777 882178603 218235725 893113347 217047135 747590237 417337055 446453317 50205685 129227007 681974399 919552675 393575425 90124623 347196413 197168329 591977959 59245229 915037065 411778319 26269677 333653415 920962243 234294133 417489993 305232111 321785779 27456675 370531345 29987425 117065665 368077541 911925831 653081599 620973765 474080565 226267861 174278901 727489533 588984371 540132235 333317271 86992139 38855971 115928355 713549661 596701441 635902199 519985215 160873455 711220561 452614469 338626663 462891541 335872217 220952907 824663819 150902723 576860893 518807795 658507911 721413141 825877517 34066379 956468509 565890637 617652605 956530699 832268273 54738137 48690601 812961681 809529881 502300231 394624375 998671077 891176333 394887255 396394293 555610679 124297263 441457387 434307479 159406171 497686215 519958285 48634555 386776019 955356165 982591475 471766311 299416519 615577989 108738037 93876935 101471493 985427143 912144279 21367281 829052163 797951029 567340677 765553763 756231395 736193567 994193043 85409855 785833067 739760061 248134843 23835415 306936073 365980213 392966689 311373019 471987925 272690061 271342353 246639853 917490063 903972789 815827451 570932495 868305309 413981577 430289533 304915569 371915537 200047561 586832475 260689573 733635743 760408605 849662589 295644331 994237095 275982361 779112955 788821991 999195697 339464245 533609227 159046439 144195053 436333265 473891347 301801887 262994737 734924601 588755101 725807597 657548541 626266779 462393951 834517271 943023863 685138707 602765361 550702985 2531951 590100641 814668569 884953111 400644443 515258925 556116289 184766211 592104797 477862027 814982907 184928493 292091579 275510641 288016323 207114725 735421285 136054405 843932479 819212897 694328815 704469067 197176885 138360379 688711323 399091511 118773661 353402299 746072657 350370979 185434513 830513295 298037151 734544847 373792339 131915977 86001595 811349731 608390477 740081641 541010823 423632371 707660311 937951697 557833351 562487285 944595815 654287315 25233901 572855247 975176229 26129825 618815377 67938117 657886809 817244249 277751023 52082699 217578039 863381887 92143663 128036027 702301977 87860227 105675041 44505555 325054597 610789689 500135485 914379455 340892453 445085149 764634019 624683729 73704909 66120469 230581271 564829247 103896181 983522671 765081097 355619631 346733381 466415071 939681939 615094437 520549253 755430085 853047411 674445205 645090985 638053091 491662095 523917271 105866061 517770343 738956663 73419055 463791155 351382503 693509475 624885315 774845255 693026655 894173745 571859877 411390109 756851511 912810471 738668241 141868911 370122041 107635769 477025573 607571233 168020893 590098297 367754475 832913469 639441919 394259883 112095317 732516215 48193635 890339185 897279611 857036459 896031801 693179167 900717153 728532955 986684755 744207273 291093485 632062517 111507185 271789489 880042737 184185607 845055159 253175419 862075431 633842897 873904563 603456761 519754289 139485749 389014873 692585667 875555479 673726719 388466823 138674453 201117387 863385375 879780483 180654039 992992039 350614963 345622009 257628825 462172137 654905343 252128765 987251091 22726717 836229227 794571025 240238243 681008947 380232077 479460885 806298707 807924421 79223071 129700697 448583885 499948245 711339269 478084499 480429805 324940843 862504011 918523101 340890417 604443513 374427169 905418177 73073855 876803159 135031527 285129767 961739879 212866631 193165595 897926759 758539167 609576371 161800301 359715903 162264457 257645803 198696109 90554323 490294251 462597419 986814679 767598255 861138483 840211343 660318737 779343563 224768635 404660773 531605153 11182467 378956927 696734941 534764287 633511069 577409705 86637199 358913221 335888197 525947653 888692221 131088819 517943055 364728911 323119313 22717113 389093115 942558945 724243611 655672039 746253423 236560839 390394325 81889915 602104885 837512621 857228511 277700565 264765827 227420651 376481029 69213315 858705143 304064385 81374583 835759671 286744471 151547413 929733197 108312013 241158095 771252471 695989129 153752133 294213237 889551903 62273557 749517263 156018119 718423853 682687169 891484861 721830505 997188709 331010375 636771465 963790439 389151671 712790343 39197909 819818041 67659709 388138317 237044847 280449977 95536821 44194759 359190601 973372721 16759173 32843281 445333631 280967753 397116093 288178027 854229843 2672923 501459859 669634559 381951025 456922401 97308393 632500701 710314669 893865025 862945349 653949949 561294719 628127177 199327445 9866565 401141647 803591021 875215987 275576185 405901541 390639179 292751003 459446863 618752949 414415849 234131829 388087389 895108443 794168627 440909011 902060067 684923739 479278975 9542441 254974735 813536349 905823113 551000217 186847855 542824247 529198711 4404711 388699261 473069027 447856345 9663877 866260313 371252355 14745503 715981449 845774349 892413543 323362603 389946803 126924685 367539453 348156479 389892713 835986861 823070435 281738505 949127613 364574771 947170011 176508961 754195299 291559367 323853011 359222143 93352635 683534071 845965531 271835533 77368781 164520769 817178671 100721175 16587849 79527939 283733043 553254737 946351235 658783625 805614449 299244761 645002879 366397441 888773279 332651699 661562081 468932229 233464725 778206799 92166137 710580761 713330777 317945729 348932285 638034595 94886419 609478021 491594191 269339127 579339289 449528833 373104757 482872525 677009127 110810627 509139357 649862597 320952093 346158849 860138721 500700265 412923015 464040917 698418045 411972651 953916699 212607431 514442073 365501285 885416945 226092419 248611847 947366997 716984911 885930527 283617723 38783527 961467551 128504857 537003095 591472621 962614643 30555221 117087327 430018973 932224647 829501215 194007045 827522331 337625025 486537519 518372383 564603185 906265129 421721761 619195693 949289613 405091057 883613689 848222293 843296457 942584953 627408679 380339303 274418537 442838337 995180669 797946075 32222419 588966645 732792763 705446095 202480985 100744551 104145669 777129485 964513335 901775765 615581673 213277695 112943753 573529759 982548059 910830273 235952223 780105939 744344505 553951247 402315683 770284707 354091465 930577491 343893301 109429163 166816695 933923739 47997905 208834477 550830361 970054815 702441251 433728405 135187179 595871675 101959869 393697397 391930005 990335995 622895893 891741323 633312993 250438667 794688655 917879865 195814151 603842373 181372531 594559241 296029601 175949477 254519283 747244207 665296313 316589525 134907175 799383559 144984503 588411425 219943953 814985747 522632307 472512387 257887643 840312575 833193003 874384795 171587221 690116895 379792771 115255469 325695675 158023149 916835977 707795627 960720809 379793163 518161329 880736811 953832941 834900297 660604121 230545261 869248503 538509717 489860165 451845463 334759711 651065357 80652197 56429689 341417127 477515507 643049741 212589067 301526713 321616309 617339385 189970155 414336869 647964641 653348431 256475297 634786725 801876025 915172189 542227549 846207579 525621657 942560473 93168629 604200271 466454547 478516189 4421863 62188595 965291989 431734257 60051805 986534303 7982653 452071425 281186597 234019861 344247503 429286245 135559349 942220029 215923251 539936981 300561455 742337453 268119359 164477307 846899801 818824793 265297391 227906529 353113505 804745507 118126179 769102079 208618783 34245911 11368935 931717937 53913491 29307171 302951409 396660027 509023845 541009699 644739353 733680461 636483233 461734103 492012581 713559035 955351043 762386665 638300925 546072385 976714213 905436649 13660089 569813381 181826641 107590993 427514767 361070741 667316983 123466881 472465893 265430693 721531437 436130757 543692103 22453075 833024499 368541003 884506215 419669157 305866479 600903215 565542687 364727303 656408433 212036977 610744181 456020815 610159729 959508219 817075347 489679801 909529229 368551069 225973707 476191981 311874317 333187345 396849051 140476917 407052001 518809847 977881251 362443337 991704991 500806617 608252081 107228867 418739333 121333035 976162743 867735723 733211005 853133635 900001487 183959727 214262805 939907681 688461119 912282081 519767683 565074355 143757169 606641857 233498793 970870343 1791481 39459891 829230349 369387541 899775633 429324421 606021085 819070211 921875739 357251179 107227633 683657173 664078501 486253059 133016521 621362495 9034849 356767185 517352589 465376475 413310635 111699909 420072201 426687017 851131397 297477171 653068471 915700113 102463515 408231639 542884023 192184167 279684289 590749657 816931021 314565347 411437809 687811 727538283 89270053 792865741 155398027 159603623 221867063 563976101 156438929 247010369 85965323 628518119 362196631 830250655 716715387 671409457 134417867 553365201 864275781 472783429 314762947 966493071 952524567 197214479 755311229 929180471 961829501 88000675 983117915 66263249 3347957 935459643 726679343 797645067 616208349 553591611 404975659 888543039 734813055 856354349 661164525 351780457 887867405 512931271 539126649 549726259 243567009 811488481 924428607 548495851 35736633 345869439 398156305 358829959 30978243 22060239 824076335 132175529 517964811 441217057 760439869 886226327 443841487 305641457 268942409 946517055 311727533 143837667 740967625 646438713 496617519 37617345 914693015 424377029 202957255 434053505 501627643 711579083 341607373 405536315 665684641 145566935 757105541 373511477 451028127 840291107 549794069 960306647 407438449 990492047 683822223 496610231 482072063 672872351 895118061 622871953 998453907 470164613 847507217 604987461 276090341 814197783 508982467 82064351 169423631 307004371 174452661 185107093 61541275 89471971 250860673 601747905 703599217 599923733 419857317 848318691 270047977 420167393 573993101 211227819 860568513 521230437 825510537 762144233 812181021 606063465 292390869 859322523 297040523 112404573 429232269 791851745 728532479 865134677 333551551 474359305 193137879 272662549 419968091 121888133 369642457 78201599 288919609 999234543 221095729 531465767 162469661 585712141 443346291 822414659 130032557 481491913 224535201 31862191 113204347 113324853 94803227 8817015 843020545 444215183 805906097 555939911 781643425 877163065 918821273 538556023 854094755 249800125 823172461 507323399 54976055 941893327 23662645 621270943 133908857 308838729 977921887 681454987 221856363 461289777 882912957 94023877 891169009 341486001 331516813 169745901 194523875 569045533 704383351 516505671 573432565 617619695 286956423 633803461 390897609 752754377 660453169 298655997 9454315 996662139 446164305 262494253 340579787 581289203 468886833 285192255 89372865 897344591 546507643 815167169 605374991 234389201 254567235 263367659 543134429 606979813 335492361 561577883 467774529 39081759 967634865 854067801 794343469 137963833 12919177 2432083 602323081 15534357 47652167 43808867 894379547 137826755 411518213 478099205 206530963 679489649 837704011 858334563 507944589 77391229 911461381 588041291 752909449 276484969 250034057 853941555 956654577 304698851 220606355 215734077 204556053 642557115 517090891 126062637 497935151 573453037 67972923 101825911 850729311 707316125 61577307 766421805 75494833 829458197 900129031 776261905 40594963 893103051 439695107 413176201 223164769 143088983 716590975 477569703 239003739 125391229 286274061 236311839 735119529 545393963 671397293 251211601 443062751 32434545 91222467 573679685 303674485 12593291 666451741 277851819 617456843 482787037 142504175 112484313 939168301 706924531 358937559 242967757 19648969 459038591 459590873 96184625 695639995 330320475 552863333 28499541 663015427 791543181 928190287 1151531 397377929 707560253 979177427 639508055 941986593 214426049 488199833 434527519 624053379 62149781 105786283 104266353 383176527 347212121 185009535 223415527 368456207 180602075 280161781 272103613 739378999 791989261 358756175 391026397 295118875 351913225 65607483 397520341 353374721 922335253 96552401 300025051 745187599 940492443 794769545 13128913 601374553 892572205 208117069 299853627 270870999 509468041 603727721 733090123 264364905 264595343 38737553 72329945 420583897 783781453 84194787 967180639 346195161 506692597 363152611 837031691 484926723 226273251 82805889 507199911 177284821 839929753 483790863 930101165 904417213 451670467 433789005 147144509 668703495 197773619 353413729 304832795 333538033 102286823 981041365 177466807 584389529 136742399 823271583 146216491 965613577 526598857 160045597 766340917 555905843 943111097 125145109 202026043 834681583 604336997 282993331 348425293 883117313 905665175 358768269 603522339 753987087 434943285 488675233 379607579 419172525 833300307 273224785 874764091 151122513 516570671 59426415 613835831 130932319 220389675 381585965 476692833 42463519 314470097 607531815 361712317 146609347 619846613 131011431 281247981 166452323 779312147 532656213 377472581 253900547 16131983 883157451 361729977 777813129 200020849 205389059 591779307 990876359 602365711 32648611 507419167 672134777 820886243 185428663 850685767 398349885 786579857 283381175 235706105 375833501 314072291 818566017 816708213 967092233 421557967 331735381 562473891 974527455 420682349 943108581 617490447 336123227 338482433 578449989 86193139 291902889 582138617 193972977 428476717 676120537 925424869 899203281 706020935 259641831 101334145 726001711 274888555 122607535 156964273 547895747 590317941 136264191 687214463 918624167 514621155 988642183 98802465 51847267 601932507 812932575 564634351 331408357 494874157 24376457 187332975 749900927 183868495 427079663 957957705 716644849 188807779 375768163 995959637 679539805 533520943 756704027 715929993 872592213 588925729 475437881 305938955 967815883 138736979 845152457 102662439 828625437 895095937 145627579 307485005 590091023 599051541 276782311 511094301 223006417 741566235 250993423 498864471 213859575 273898319 576886237 759783397 137148541 375243787 151764705 249575135 766594249 506414171 433082005 322689147 78574249 464648939 809270107 852645153 212026707 352025875 552675961 825847895 96265057 945343443 265568037 538965973 498278875 136010449 607056245 470366837 785105709 141052253 199789931 327785273 862419501 796867951 699108849 497490509 809945369 357170853 540779479 868360195 187977875 787152713 122088663 509696473 663264429 684546373 130673809 76183407 990740951 372884789 26344337 980296083 706609651 352704343 459597381 778683703 701365061 209866895 933160457 951577207 569875319 459900273 935895581 762510229 61137059 580648755 323489451 243503101 279167555 916949683 15464899 200894787 291265597 739310457 265824863 525830177 536792029 714162867 685620063 98646393 985293533 196148793 377265807 41375067 334658645 417978765 364070813 306369525 275856843 600320721 18408741 951043237 24806447 44900825 939181479 441437421 271808213 676839193 174711435 938255737 556786811 164751539 320960805 15325981 2381379 39543659 851961261 300696019 755912381 532716979 642033219 215769535 665582303 977940129 316750321 93823531 776887555 339657461 639481771 373983883 341817331 896702485 61505349 286490491 179574231 715442451 875683973 747412415 673470791 910657443 259677715 180684607 162786881 594099493 103085181 120332817 51732265 741349793 788586305 154262895 449834445 115142853 167345085 363499709 811922527 987207403 567793725 577671815 712403585 534304273 822204655 248178045 949730359 101958877 362460397 69847423 324212461 648087455 887898427 524962443 782168697 996667725 659202495 624067025 124046871 178698889 7729741 869486753 623345517 800106137 543627165 58156407 243479433 813477995 158361167 589351159 836831199 91734423 556734445 294485229 454176079 121744735 955079145 485964617 52956443 390281125 24656541 559979819 185606641 700101117 240560711 534195665 941173991 914828955 925938709 340496811 141930619 305348961 426542355 959073097 498774927 245282515 286488895 523925609 555984501 989535523 740930679 226400491 479838173 312551719 555377541 592589277 620701161 325901663 658186011 687968881 724209949 953337073 369479889 144080129 347120995 605564077 206900779 369880083 505697557 900578827 957410191 993440081 413426157 551086121 147093327 875211917 488092177 633177295 608815783 524799173 472303375 254699373 397827765 495422745 362479323 619707417 716439427 77726679 148441811 400175249 866998019 274542961 798402749 772962623 128905229 801424771 445292485 686991409 735512419 782788047 597333377 440055839 492467887 991328065 768609005 208155493 640290691 550974189 673209201 332721935 917414997 54339851 891079639 713619401 840210313 769264643 467974485 535767789 121043047 52579677 591703691 118656887 897130529 117274829 639892091 392965903 240953551 515029807 267996053 511486727 878339699 568649093 222491819 557544275 834578935 493181435 489656317 690252693 596954669 271769829 107342383 17380881 801304779 489279421 948792653 344711865 224992115 495555111 7757263 380817443 875652785 170187501 634631569 458375311 931207925 358516995 963068121 849712355 431254423 126160005 60479827 843720623 85757913 312497591 816848659 384680491 378408933 550152705 31332251 275641141 849469387 105280249 771786443 938905685 769313415 494973785 615972851 522252475 825344245 720513541 963530439 988664379 932386019 604108551 924667495 84485209 11311617 100135061 472184917 902196025 678891239 134074375 266804607 930295979 665573399 34491617 379728699 804623653 593433339 302182865 777624647 475117257 25849059 135571367 313655239 320706141 434245641 220419167 330455623 16937551 680108173 770300957 199942335 179911095 851197819 220357165 350451083 71677269 819307459 682190847 790401903 164469393 777762619 511371315 353511067 64636535 697277867 126180231 53818785 51388099 179618229 698315243 13514881 735963855 740749807 581489519 769446815 292954277 939832273 224795471 34675401 469775349 431228605 717588721 769533491 406744341 963980537 58215131 717384061 266737157 376720059 894460869 139666087 654514539 463777561 14102921 180157733 780973975 751370515 786327079 367118021 817419137 652129431 363739855 950974667 267295175 141081971 753263827 458552535 683970481 137984097 139787435 589886459 371558959 266627585 220803325 396314535 339598037 774884831 651911573 704956093 362781415 955840361 764600933 151374463 519620169 373344507 76685961 705496477 476476043 953355477 424482627 211553065 569389539 596429343 202615551 671497123 697583155 307017197 380010063 344071151 644678143 602663479 137860849 501920345 636173691 404811485 791512263 36784537 79902073 324489385 242961627 31940555 550139515 91136591 937483361 202468213 481586089 142215011 733039027 227230339 359087055 784404331 740969305 626661195 786555495 812794573 110233337 830631817 545402001 426699229 185506407 573492067 912432657 119562195 564457633 706308199 190205529 399608783 483038409 835064459 385768831 81527771 148273449 215424809 412845889 847087593 764973109 980835849 803459595 16284883 679312265 776652377 707792359 363499353 117516007 858658731 357893519 421669667 800009533 792435453 41760609 577190341 587486105 175146935 414387813 27810741 145949755 633575589 686953801 74006359 8102789 106031353 776288103 525203955 746190595 653778261 226696123 242671805 126343781 698777789 594921967 476220361 156747913 779632027 970201937 89315101 967490675 21494473 159106519 908768671 854299211 973030529 197694243 440914977 211035751 594993001 340292475 450221151 660998209 502958991 776352461 94247415 738975613 219923815 128115121 597614963 693968615 576714959 236565607 257990981 565368175 157965837 328908245 290225349 965321011 491305165 974613133 431843127 438071415 48351525 760410051 919779521 239852709 413472915 116228183 74555765 479434063 13125369 578038227 877242959 399791409 721563561 848221537 215204397 62227759 872024659 966547165 6781145 150926165 288817177 596852677 127979011 183036885 974958205 878520895 209195593 293260297 737513583 854637595 13577767 319400311 732640065 812506065 234050313 411968711 416771507 953290111 536006207 806975697 713628905 13639661 103745029 496754059 494403441 922249099 842426489 371969307 900988991 465264493 119260325 358672589 28332465 15448151 591272313 283243027 933594763 150253995 279808211 913570697 448023805 143772285 353826415 256236017 96477083 415719043 893156601 307180853 248172641 276988185 444158721 861085037 336938423 568767051 354704385 225866705 534208871 20341189 981038939 71775171 77046183 605739487 560538967 874534865 342364695 594762393 641298469 226336941 402431673 233611419 897288931 213624371 889372411 678938161 716686477 567616613 936373427 356226645 370407183 988256367 142193951 579294119 215105593 844630947 732945891 111749483 192749253 805817471 434357771 358215315 283171155 178946469 531350799 386972851 339967855 270164191 294246347 418455311 866412169 225441313 16748933 963803019 359860985 500137095 808220391 564271031 456453377 245075 18756875 173584331 232106443 376560369 475351659 743775141 911137383 114766325 602337773 251973581 432965327 476288537 104184799 328773233 169812707 328561473 762330357 416056427 242045295 445416055 37912399 749189175 810232097 306685167 876064621 160853759 703366549 758511877 970597187 477813137 596237387 604504381 425589025 587101027 336298925 568329535 319714501 320168343 889134603 790955233 737792087 153245169 90490015 20459293 15383393 649392611 558554249 983621911 316320731 797334917 299040725 227540763 148789535 807278227 264462449 690315673 685296887 982304629 72833849 219024943 511350411 462347323 493946093 381163681 285557 175273887 842606903 384154583 27821741 40314363 559187877 679323879 328440221 707240025 223903413 312848397 36217105 398639465 503075525 722639785 773712957 701880449 553179425 964348743 794129855 407745695 276403959 277601949 272852637 593475437 928887395 897136259 469489987 621065785 879168357 126380031 664094343 790113531 343810277 909424955 46559397 942988625 109192119 782158985 820237381 607187843 285088147 93101413 126263665 295227263 522871321 848685939 449789599 748060127 249980883 904367999 766539183 248454879 950369589 171764859 931859683 47722857 337974675 737559683 426848233 312444427 608647731 246223319 831889623 368246267 173045051 40798695 439700779 389391387 778086079 644374597 318953161 801495535 772475319 691576745 413760253 459344041 212613379 476019451 171763583 771080735 488626285 248276545 113465195 439599569 140646311 528519091 668895303 719594471 840126283 894251179 976259325 903151149 936375255 15643307 177779431 793581341 777629881 706959967 105822911 859253973 729302333 168521883 250471851 706361887 30133665 892624215 639063097 225193829 841236483 390420667 925387615 901944771 237553005 711054351 559702903 557738999 267973841 962523847 934195529 44381543 258589193 176977791 399383297 462476579 36741331 80570617 610708277 388725987 64541147 896569633 786227683 645754371 962143155 14595595 706543469 731703439 930254289 63323889 670409637 733617717 60716441 55367477 907378363 48672073 363874131 323018599 79643217 118936013 204426033 820040757 909547625 487868009 57218125 310217597 362956403 177479531 534063525 56421185 180769857 910207433 933907749 756393133 404600595 49638437 18299037 454207765 982454413 500681667 702365897 434629875 809334717 691295637 746515527 271410923 340731927 74671921 707987105 620186825 966065273 251965399 289959753 25576061 371054121 731212655 365719 708453669 427909075 205311365 97153741 501752837 425711245 436128339 686863637 511684485 318065875 17783223 179773055 450707003 763997581 598912569 558579975 789030369 35298053 745221641 926280841 144074843 633827313 839773181 423642579 336858293 56471665 579392147 26263957 974599199 714928391 47750901 660904295 826339577 348488609 819888625 769663181 685475777 394737301 42588927 136926763 464898087 382347169 195725629 376356825 243104763 404820713 911485555 119653131 974900281 31815163 501340687 949014755 952339463 548567755 689245739 293912429 106345899 678363831 72774275 635041433 649545117 261337475 57610625 59027775 304007541 955291231 703521585 851197985 51915001 766943965 933589069 868108521 632536851 24191487 273652021 727342887 405106389 981729061 641533167 420171605 2101373 651892511 288888361 23908821 316611179 570366753 194106427 480085999 823057965 6357451 313680421 269489875 541771637 199744541 664322445 1567389 466977053 379069579 432236995 410545997 16372267 605762533 164764863 777446349 626372297 807860841 442967071 764437229 390760779 325887167 281486379 857383527 184546089 460903153 490564307 881807323 987640331 654173559 69519533 576428501 742132409 149937709 338616823 985661635 900116519 382382935 922140059 590013441 41196657 853311653 360353831 127628495 231005657 645211689 863668947 372277079 721446347 256271715 891139197 293158825 982468569 794585655 938043053 484706495 170407617 426192883 704886929 702131065 702067045 904221259 286891521 601323939 143130063 87571549 29937791 131688683 530225203 651312559 970525229 18098157 382705133 695801645 734017247 513265961 451806847 424281133 24922377 111812103 564334743 958332267 735499469 249988571 977337091 373858319 42213615 350424285 611353539 277961379 516558305 53626157 435631353 172083743 801239225 280104407 589337071 945495261 410001975 698194377 353757211 978694565 60249025 63867103 684079125 473062565 444994153 703815383 211533473 336962159 719331809 596844127 833208749 558787843 562388879 630933509 194997065 1019589 898460533 940050241 162629809 486304129 131261763 21357943 495827785 175727983 863354707 107608305 620696987 262326315 533413795 890400221 100147293 146673595 70898905 594688343 883519847 12043147 376528709 419726429 768026813 191759727 609756125 899271901 584234893 397365927 887627075 727727779 382103335 14969561 452870845 167336045 292999687 717609743 682621753 440920793 624485075 786034367 657682511 430939505 743753041 817734343 510932289 167888295 51706233 687582317 124789233 858366421 149698659 73154655 155012595 21388345 308951893 264735663 19518331 892512257 324714681 146683099 427186793 239278649 703406881 250660555 110768455 976303327 246551113 518140873 478024257 911840209 43106327 98534541 182443567 241778137 223996305 295955251 320372113 204797865 738394607 371904063 894473101 419305177 581735819 742784417 936031987 676794093 676831463 59090859 547688251 910637131 877116333 163066909 107545987 325872965 795111349 579780379 636554131 541360407 951164405 519147059 478533339 591591135 723267477 656666969 850123121 948490407 736270557 955681261 262553363 780732001 191517761 930331567 458899499 752120549 986619739 486271955 637518535 626495223 636163569 415448039 909423517 98986557 141565165 983757551 555395343 211141705 422876515 513813067 831499811 438180245 557316493 474158797 260288391 101433475 802858957 936592805 737608853 617668699 248385969 903710581 810479177 710828111 19326189 460389183 488295499 192866423 176032855 681127793 576053229 73755349 388460281 924633315 770285347 685215827 842383609 606314445 239657871 206140355 770158253 74334425 992509813 736250587 802690445 381872659 46078663 829024575 535909697 909101551 64049179 38815095 828530321 343608907 86373809 398014451 270846067 178617709 10832495 56304655 473523455 119238911 176360165 326875405 657370745 956618523 676070475 915943185 638269517 449222971 640621951 230860339 323395599 937805639 799910409 779887463 676621945 923234953 139183385 154829199 200234607 683207863 283097731 714596983 970848765 749943023 220341707 700703183 969746771 609050809 549306645 745911855 433447375 638616317 731127345 340771865 266097397 633111315 557514645 680622839 470821229 698465719 30097251 89593881 9720333 284780561 267616865 296735673 214975183 74845357 251419901 673391607 394946521 360630909 299562063 425974239 353766001 727965155 147092759 146396769 750987791 202845091 55623869 500247893 807294283 868734439 591093837 719484029 220393707 296688969 870119809 847982209 413506263 98535875 472729017 741160949 394567973 965787579 770740985 393915473 767461649 266755327 368137459 630628087 950228987 557648835 873184765 450525741 162553457 995926949 635876375 230534697 741486885 898545323 179147751 666881537 862839793 720686145 581082557 476785335 817788123 43196989 419432081 259909171 119602445 99825629 977055489 526072393 46570969 988673219 822801493 4285873 319185851 574643199 627036029 676906763 563498329 630479623 685549069 9197539 860589179 916038839 945614153 336638887 29835541 601009235 9264917 602401971 219691585 52069001 732707583 809732423 359680325 691326577 829593923 875969675 991741067 569186435 632389565 904061843 797547175 465450921 216923379 401110615 778165073 137934895 453407513 950626999 149367921 705729737 810137345 45325181 121173263 967302549 406491949 209004381 824477791 720584473 5970115 921356267 198567613 427387713 831187093 617917101 880625835 105017953 449962519 439457291 751590357 657144891 734888041 522467923 446930447 60480751 362856789 827203267 360139859 492684301 527558215 793909881 958178243 696667017 712959319 540601727 246849197 494616259 643938883 930084297 714317701 244980605 721343349 385097771 138322915 374112997 495738621 408682859 539857803 312780945 512125325 462242607 667525481 829924735 862055819 965816587 409848977 225641235 194967543 117159797 353323837 669119513 19466119 446313169 461668817 64309193 982932879 843096169 624876503 93003455 258748173 634539883 318304003 685498879 648794539 19056113 502981171 210248697 447994039 735036415 841977445 159710593 98895911 467819643 572654023 913519315 328427421 350873143 724054701 761213589 801829725 697405167 402910867 734518485 89785691 268228673 584212761 443832327 108341289 373973175 202904331 496536073 164647945 996994243 934127455 100702497 836974049 174542269 740494381 593851643 101876291 771251945 528032185 737457069 299204195 100559469 197039985 248343219 220907297 387761243 96903909 297200117 493884423 639579567 287875281 850704061 650287679 747908423 48530459 43795651 372020133 616861421 25784521 873072419 197006775 444751443 398688019 552127841 488620187 703258129 9835089 909519979 791963169 252113577 304800265 195909529 146966209 434146693 902193381 163571109 824325273 945776119 531460023 746641845 94382193 769038901 484764285 507157589 47745719 711924323 686489943 183059069 256025733 572401545 252978067 341391497 327774871 95666839 945900195 586221887 542569047 979937643 147322657 165600971 872845523 855712705 757844435 663684547 68548033 253789765 913878179 309533219 36716163 912658823 975459235 388034641 63394079 978563329 692326417 718331933 813212995 62834197 823984461 282067895 684510023 299272459 922551781 347271359 78370091 982916629 967744139 273075517 183998359 47617611 216858907 504196249 618766039 445189295 819586967 559366315 717968869 754521899 316924203 964235441 194664799 12581263 405680427 384924237 630860431 177189525 647475729 107021969 195278431 411757279 133465727 98158831 251532395 467268083 290046531 860936261 272101361 620192071 133280591 377711575 456563415 558938417 404839103 675366485 872860845 559983091 592872407 261597905 67639211 511874743 668861695 334741453 899889071 824201357 967429325 452231721 992017217 763587439 541466361 12186677 161515151 923606845 67023211 515887269 503098483 329477315 142357293 772448663 656162665 377986737 538679151 446132625 92328091 753596061 310065295 88869503 825055959 668738061 618085135 850587831 401457555 542042985 563579549 212268023 671628273 226859265 559352071 884442721 488646581 954831887 722264911 500017031 39303249 100296115 499809427 484972377 74593757 425103865 867241247 719142201 997844501 598674127 994051943 339359977 863578465 267975441 739241225 738481561 372985809 930801023 778052547 218392795 915917341 270432707 495357061 797224367 776238757 123046253 652344927 920321401 714124909 931054325 422261645 313864455 408824359 705536705 634674803 297779597 12873513 580885013 506875549 271018409 892422257 251192869 877008315 349607521 23776681 212018443 446114989 932273697 819436575 496440519 415419505 301830077 185646539 244138049 453535543 111173495 218232395 530887757 314559311 602393583 596144615 962369699 250647607 16088885 613104269 800216291 901664655 298307519 173131479 696139161 474539557 898884967 580969729 809902899 209493225 311317621 698538485 109637387 657613819 538394775 263390785 451227237 515062171 249112543 940483867 848317801 672958261 493146573 420129125 907709989 350885979 103384131 191112867 763523479 652653003 465544339 501264391 305333405 625545317 922561647 382208871 210602241 772091447 788850933 659718723 95165045 697236339 241879465 595059907 646858131 534588787 265231227 386961587 86126811 723820989 66726335 32349325 340133813 973457659 460833585 882995823 162957171 656685057 463070455 846439203 403560017 379948745 501159839 488447763 186230893 415819637 382202397 995131227 173011153 36262739 711048913 116018361 453808751 639658965 578307197 516611731 360949025 354161559 65971023 756946425 419764389 912853851 423314909 735090337 585328551 88179469 697416227 667116013 430100153 328031425 635434633 555630051 227541329 108665777 578205913 210466867 378281683 823089985 578389323 497721649 536870791 103822843 44125563 837624543 741304223 501130899 189747053 530233317 67102261 263042789 159328399 811831441 139792455 816542453 307719865 948461017 960496065 51271659 574108453 492720223 483593845 685832477 556016505 689422695 746014489 143892741 412711619 340595683 539968593 767350343 695050871 273132905 308603301 59998893 683127667 608608057 968647815 477089323 855514877 809952059 920238927 310135773 974953409 852695803 426766911 694261511 813551315 537132211 461448321 529221137 614219445 548493377 176035623 364985233 398173767 712743469 550705191 564365123 528240089 776912551 888191845 847548679 502593057 165296773 796000681 571318761 194772793 401385541 107677603 206000927 685543339 996396817 391573743 898243329 683638111 820220855 302567695 469728789 74739373 108655023 814594153 777389059 436922707 195177495 986790223 350544545 412364149 955005623 808982779 477733611 178703519 618760445 290886287 158856193 870716105 275582211 343296019 645707825 55834959 309362821 547813751 57082859 619507703 959564267 268042647 289114319 52347883 177140551 14970675 564843677 573761733 479000397 674796533 599558719 602145663 112729183 641142637 464895181 820541825 75783041 191604245 416537725 966554005 323076453 634136655 290693045 741623537 145418083 522376547 746298881 436626483 739549813 989090433 393035539 586063457 316325961 880152005 121427911 474871271 684012585 747931951 516267295 212762523 941041167 357699497 137539399 164474299 382974361 306097155 683205265 266462443 86392591 369304567 710965883 155462967 582323297 792165157 515786405 254748951 602040357 855804441 960356317 501761125 196348057 580096323 794498837 494265195 376076455 242111483 379245161 106136529 720085725 164940673 129835547 76147121 581235827 988496387 989495191 805478533 189311047 820553103 442854513 108094515 186469345 477135647 237654883 317750793 657675375 117963667 637565775 237597115 643753929 526549175 791624259 71893607 793852785 652225593 234181235 310576531 269263241 199230133 488764727 603651115 302204901 438990507 288171539 549902725 456845049 701561731 678087091 400554589 646304999 381622417 989013739 400619481 304068211 692397069 370334133 507248265 721242639 170147351 39403061 922530653 854526161 376393659 101179829 354749111 728991097 946222055 123572137 140667225 87967085 707867255 896909997 532065649 325225405 246049067 374458757 841946519 875226145 750942891 320459801 719209411 801891321 95379851 681947775 817941599 321216329 9624385 578882033 46544183 416440257 984553779 690788819 187213951 107254203 431897509 709636273 467044821 343707445 386481355 783544635 678211901 777323219 142496703 557061967 383898663 47335657 884520319 50814705 675430503 276701293 259875321 486248265 704467257 756180477 531513081 952730541 84917315 677279457 318076221 41320089 11383443 340917767 191848291 548510893 429293471 441763591 140799221 588393399 125468225 859311393 448300391 42725799 974263233 218862141 955597069 538659741 533983947 384698345 921026093 369640151 576768117 507826779 371325421 647644101 197437 742338419 543433055 553308407 730159111 461959611 926325375 992472107 896172319 457185631 78240555 552554817 469078845 415249719 113112621 339211079 130322045 238592963 850839095 769589615 737194851 146918953 236000483 634675731 700386783 85236537 358070191 974995897 589140035 112201323 488024327 735790603 421553231 976919773 526450493 219641563 285943335 228656727 130264455 894879527 459352921 614708297 553346825 714858511 974993881 821495497 234012107 158276065 122779909 418839445 526354879 888692495 772462243 404930839 48208317 576213813 809360351 832242525 968283273 372732949 940460111 863170333 700521417 303413403 853201135 61322425 705191183 232416729 693326119 929572663 596991701 287016973 428072385 682132805 891219325 998608281 3506677 2148925 444980303 755966983 181235805 803049243 591562365 651556619 961971203 191458695 988614687 975622017 306518863 830354643 295155513 161108075 437194009 418272499 160660145 69165045 128587167 690528135 71198041 290183795 762373509 56910553 774035691 506752863 733421785 176948437 368596233 344616029 505921039 24207891 619584571 787338807 319124741 906914003 637442289 526375905 204282367 696423931 389254793 828526455 770509485 326144027 596529727 792319803 153413411 616960619 906759231 640064155 459086557 984029129 742648985 219811623 44582337 28095421 132535879 448299419 927669533 930410359 952591403 570816219 419077287 12385995 691425291 116563185 128586617 966636861 370988957 338119185 902573851 566163185 760436599 94193049 953938041 956982709 673264667 491587335 683022059 378182149 539587315 468918027 412686121 708300797 999600463 31619189 645936221 979285603 505052009 923809601 535217425 295970731 844666211 590562707 740990013 826153703 159898179 493559477 880271933 707656921 354248447 146185757 916896213 500501225 513008493 763395171 588960565 191177251 695236431 100026957 518160625 507581505 805297487 343552965 374147333 622791331 246577659 526164701 327397335 507319117 501701329 82564305 883799349 893768177 765166385 650775813 591422803 952799973 920781667 751270405 436365775 240790569 376705943 54896259 980719791 318903395 657413353 335108697 468260191 725038563 838082137 313418125 843165621 914767777 522686415 14624585 801199341 485135931 105057567 872146655 518032559 4957945 716300545 723480269 794087429 508409547 24850965 828637107 69380199 42880837 820200935 61064543 482060975 561595819 2404325 812750275 364866597 95030753 30299755 733749243 587514231 344244085 960345529 624495945 412530615 441605283 606320375 936132633 37527909 168188231 446587193 782926589 437480805 584828903 430826103 601592755 987887621 495696565 23675025 152244763 11183609 704752265 35986003 878727491 795307871 158190559 176427627 883239517 531166395 455214047 764617845 548758469 999187453 300706651 431252975 282431997 785943929 786020295 101360967 882068145 327609067 833053251 36924617 893472693 197682811 669852313 685988787 111464963 293252531 759973429 11669283 957490367 739509385 950527791 20612901 432185907 549702747 688360773 58568103 862110931 877729009 171276001 657823107 429071419 865508211 954903571 35042685 334542893 82732921 85032333 381422395 689053589 949385217 505273267 147041361 188167047 665026157 30774667 401784629 734375997 49664399 568793541 404841037 56028699 91712153 618822583 392930525 716587691 116932649 888990303 199543321 867867043 505304899 770541927 280108569 693604315 838931543 970751005 931295457 676149335 920428087 715931255 169572183 229715781 480383267 991789079 29444687 614857973 81481663 766461761 247999359 110707427 591545881 371486183 258617995 403691187 327643815 81920673 292405243 951899951 676062531 420987819 718451265 311854925 328321077 167825901 984995511 267454757 477866281 29348345 846699675 52233469 388240437 387902723 75725849 466862653 628779221 524290539 167316291 257482875 38565617 369782843 288416527 559433843 767034835 643949341 273099873 879478533 878691635 817374829 507956481 427358783 446246443 141467561 964368033 766883921 143740485 74483959 15440345 989890715 237273705 804819495 848600363 846975643 144406511 527114673 510081025 138533121 801127829 945537971 591166381 615370397 668209791 319813877 857347173 737431405 648678715 778631653 226451021 333913489 534882493 606579613 725522029 349818967 538261347 567849689 756180407 226058545 781261811 762067715 74233859 50994363 863306393 684969769 364694803 535528373 810894313 475909377 950264721 289403919 272077285 764903405 808285197 308558299 126205165 555661811 916402177 109879377 853026513 216761025 600212687 544890073 555784647 906301103 275179711 348666363 236307305 497728957 835075587 94913131 491866047 91438225 442158515 71580165 13892661 99953021 216016593 834529483 991182499 977305973 774314311 137833961 542990913 633015065 500223717 326969521 231413945 309139891 970185829 162113953 893710103 78891565 702046313 798721371 75757775 16236579 358511735 593527721 297883325 936380115 101361157 157671039 409552939 255331363 646916457 707657465 322875843 581578659 588429541 442199129 933439129 625477003 396157347 586182923 881676077 939031481 950914227 553735587 661777507 831650997 751793167 456064475 926164617 178753197 72012695 986694039 655933525 950987899 56048663 228655073 477834209 594884251 9715263 178627565 748855221 666766391 901861287 410661399 442714557 992562717 524766161 39109859 458809935 559358915 170007845 187271673 739132711 512469579 484716023 297908527 453710445 582701433 330423167 614036351 583965099 352187071 215450847 294569997 677415129 476841011 875208221 142060323 576941907 326228373 716515631 770767671 595300061 414175565 343772393 563723233 37206693 145643367 276260881 791174887 46712899 584403613 487569487 7526705 232042673 583229775 274475315 473996245 484656981 217106561 956544309 696609037 605167867 860859621 878476987 669155135 236158685 446257103 966847241 148615153 817116563 667733571 830928213 326761179 704908323 727696869 962105267 59906773 453288189 261790213 704310313 245864165 769151733 75296923 679419295 410558771 879205447 43232581 389706467 36145687 496142235 417666123 8952243 344312583 693635323 73136539 230092717 948879785 765130973 71760847 293261149 738984649 98208545 412721955 86780721 796314969 615230473 694625921 489965189 58539379 195237699 461902965 652994711 308522845 918630631 427322427 533439381 900106369 971322989 334141101 525086091 49224305 616379839 238208343 59855735 895203307 79987241 96755045 780070967 848886735 558289247 991958703 566337941 154273323 343960701 634425525 971021637 76322609 681067277 217114527 307131355 275125309 976414713 273222457 450254301 6919889 833126549 160037373 756896433 777084825 899495329 490851849 616593323 871718759 448713283 786522149 381742849 17946169 830380293 667918529 619190999 811439153 103528669 675320051 113058869 634515097 130609193 159124347 226887693 901808357 879994287 885516223 655855673 136578993 772235675 239408335 199070327 487767487 402261635 457240161 63719797 48807163 615383653 358829527 872502719 855914873 518908323 511049015 553312465 729974385 618341903 395878959 717063693 824077131 775368155 305088281 715123645 72090767 950608035 57360369 872227343 233064179 965574257 377163617 352854557 520367695 113271469 820177847 700757225 913824423 332466993 463453161 597417053 996542247 399010101 67864217 129202251 791118627 393720421 949205259 357092201 968194325 584320455 843063857 233781851 857834913 701480149 245439393 204203689 700409489 770701933 999583899 520673733 287299035 113213391 290550021 404009991 510842519 837499309 330995825 776269745 115740169 503411995 239980819 168095213 838589087 409299093 49336011 570649549 145569001 254716675 316572705 492049223 379074211 265412783 176711493 216647743 253356465 861541969 273193741 161749373 159516959 178159107 376465911 323765681 476546589 933555789 522131245 838103673 758441737 923358493 550139773 357313873 82105447 604069573 353966175 594923173 22449633 790527237 19453681 294185157 368953673 839099391 285347067 64155371 459082651 776376133 381552619 111893561 973218299 454209225 646846937 184630967 712334005 567942633 343895175 197491797 197067835 327447657 72155735 148561391 625886247 973529465 559861085 588620871 452515391 869084845 275527757 774446849 669757293 704345345 956468105 272235443 421757635 2364891 611805205 979310807 793119359 59042825 410114723 781983433 635219201 418083009 606754441 973923031 750456279 806575261 304266951 689096239 991429811 962736805 680901381 540265197 806817903 884070725 534557327 230594833 124224529 371939667 843299167 320412549 862424515 295523085 354158355 537299225 841557463 311439125 107560435 472185735 428162507 784934269 734941167 56497777 794829121 537473717 354671517 869905501 142060291 293668511 769485627 901124033 233354245 754084733 254566323 170340339 981476449 662060799 640060307 169526837 637643359 505249593 973102611 105412271 401233253 454610853 510581777 851076981 790001927 235547695 664157459 58952575 948667907 601663005 921011277 470150061 40856379 953092393 703680913 782954443 426166457 982513265 195966561 456755591 182229681 134021493 651248869 954775933 327771263 775047975 953475819 309873709 531708837 681868507 375660265 689824513 805434063 293165903 469136127 182918471 250773713 848692645 715733495 446954301 680623013 466700397 86693949 503021825 335136111 868024989 686831337 458295711 301250425 470847631 424635579 427751941 628796217 871407885 16460057 498562575 284524871 375745087 331458323 88372093 980665447 255377085 13096033 759792887 451275909 37194373 817678433 716714769 424257973 312208891 473608477 678468931 779883827 855502059 774415935 639153901 359481951 448288141 260404771 275228249 619435973 785226109 385150661 356141497 996972057 700103361 241265871 683279911 23380793 41343685 148943503 561249443 939440419 891575133 385493245 361234709 951544583 20896715 521133239 50947921 766723125 865564079 758960389 669476365 32188713 902468633 704189141 37047789 705631367 250405501 448262591 602255995 125503515 939092411 630530307 424411941 790355415 831029525 975450761 567108165 113518293 461613881 160510431 31042591 547215963 228647741 760212795 145899993 692994769 380039583 159915645 544233095 456404687 680703809 47270447 221755423 303358987 741625973 254414461 277607557 441230443 939081707 657023039 487857281 509209851 267919301 66363381 516360901 746503405 969815175 835262661 901000427 999585437 276747291 637129087 694504561 96835211 919045339 556979611 704796099 876351079 858919553 991497783 365625139 370308611 462099763 330237211 504411127 590597207 695787647 333788087 414580531 619466379 136894553 352215071 883949295 506160359 495875615 146787351 716900125 571757023 47892887 78813699 261902997 950837005 873910765 207321587 676475931 578192439 218234551 427457693 484634453 435454023 869498609 850181731 202024405 92027985 350183939 121057867 634818071 350945423 978211511 171867395 752625271 387672419 591198275 849798627 777736259 670843483 143268679 776654829 804059819 263338793 450139333 73260227 275466695 527017129 836112173 673335225 901962651 764243421 149207889 859369667 560559373 534640883 370670449 758549377 444050671 47327289 892298289 996655165 498797819 401953071 921813405 922504419 158074579 544274807 883997741 765134859 785188095 484415451 272636861 943452659 418293233 597143889 867714195 539049863 60803841 36091377 338964571 153915217 376153969 596502015 318418217 147617931 874056555 909120231 417914495 585875987 449357567 182346813 676768829 742776689 933547303 971737275 369287091 244416467 516428997 87589189 728744597 483931923 510959521 310616549 474076163 740323503 963308395 619431121 643192191 697414347 654156991 294477665 59593719 931491131 777215005 112269595 972721857 798334069 335294191 822394535 800315547 30481559 393756293 410723547 872701607 235759207 747886361 629776817 324433783 12186201 124460237 775780173 10711037 299678591 624236711 942860027 803252375 872342683 496087453 693535275 284751881 65387285 201484165 679850877 884051587 351815673 39690785 748791215 564028567 658780929 269252123 596779697 242529861 349559693 785814531 468652179 253033969 257128353 474032467 666584723 731259241 89639151 836168043 230328337 122949857 306705869 888156823 9377691 428077561 372790331 229703429 242842593 832395953 393301727 403215825 313489603 204313723 692239369 713202683 728752193 494708011 281350833 761196907 490374533 850772479 48955253 800348149 784121831 677978265 866768797 726498385 72703965 915308043 940540441 355467553 69974031 317317573 526457469 114799595 81004613 503457449 803029517 940971555 205443185 480593913 798458027 87666723 894934963 786248293 262306795 446436395 957381451 86279935 435181571 519788901 138089381 344022087 34221777 148858591 403392339 105135393 26491611 127710871 910580243 112363481 740622419 951879787 85599687 480625959 700248081 25013543 455376761 549495079 680455313 503392121 959101021 373881439 953905915 394583293 590876367 179317947 1783841 18000689 258205009 382060177 388814199 984561283 748302735 691927965 861094941 416037185 755677019 412475909 223601629 824801955 343534003 571131735 147949601 603475917 758900153 13222281 87696133 63589577 636504503 337401333 814827591 675628421 285387809 311730787 31080013 549512923 522122387 639487 800287015 190429583 686239953 205341793 741496205 528564551 532726723 753954945 685592541 80832919 453976703 581410249 535543583 3036919 45909823 410666755 536688643 843347911 540931687 143207 536992733 119269201 56592769 735003537 977579441 243697863 24405569 592351879 300772643 86515265 691650435 596857523 586716545 987187651 937591883 402232559 137880263 493542963 315254465 388845941 714558097 899383909 979309371 746953451 190204709 686141455 183846707 872797535 986506357 960679637 50207821 385281349 322498329 119110463 498374997 775537787 259238221 140836799 829812539 557894471 893774841 541191087 801189919 767508309 387676079 10077261 761177663 312914107 36062627 197646789 121493771 552921335 76194997 588322345 947961875 121360363 453704301 639594095 205366803 911080169 776662011 558894459 571168751 353421729 568724789 199500053 35079091 302200117 847187867 558678255 941037457 339720487 851078483 667368353 831583971 927337063 917349421 567388079 108000559 80756807 655490721 806689919 886143263 149219207 649662157 229681507 139507589 354939723 580560761 467426965 109468765 592080929 635727635 606983223 322805197 515571453 65956533 39309649 21607707 905271357 103804699 506420949 640944575 400593573 536829359 367239835 95594067 920040037 186690943 757208165 153895833 84414993 443390017 900783325 242596221 418368421 316434775 180497043 53268497 300908425 629178567 29250307 26221203 414968199 693947455 175395721 424432739 500104149 923190807 522313843 448469519 878204947 434597967 13272561 6959689 343216195 556861837 168371483 540751085 379764691 81251875 488006899 178558461 198740121 522227973 349492579 12170917 683174867 41184467 609381435 144553529 133958949 893496021 245366837 608485681 461511067 334943227 848345075 758150197 229355181 325631963 279454461 468667149 585905463 285005237 126922947 638982573 440368767 782674799 174040993 993192241 704519983 452738713 702651351 167060187 155460705 817490795 797130895 562560793 563525263 530192835 146690265 922853497 735174303 449999401 653614255 770791099 667469535 707882187 412384755 962965441 198342147 55964291 731197803 104454293 118317611 560190925 496814029 840779373 344030679 649905619 999400623 158013345 499016955 735116129 497517971 469844149 594100199 314115059 304707809 635714901 579380825 453824165 459373293 117551445 181496953 466741053 765250287 290164655 311243217 617458989 864672777 645828999 353345113 43625611 310999105 334032169 739157867 941528855 410889613 807049477 295832273 341087033 374127811 73100985 927131059 6926589 556504227 254498825 710980011 965231389 571000027 879244765 755545521 465915385 733321977 666776397 31227695 650050197 131276663 893581455 365714673 477142435 523664565 967819785 691201579 803852407 304927741 334901573 381609851 174733333 390915715 705401849 344770023 584564769 817378397 471348477 484355035 867715563 751621003 495364951 224897069 467115371 9553659 842123569 604599065 834188863 647122811 342268125 33414981 97058479 889356483 662975959 667210945 680638121 527895671 894342597 304818173 118620871 798508321 675113325 195584731 587299141 918581039 63492039 450091933 369062157 717667325 84744941 21536241 939655339 925579465 505762593 221946349 239346523 691357121 596471245 692501263 300861431 104802035 417656457 751116603 80173579 477312343 589996555 587034045 133019331 404941777 761112891 756169293 566957559 374753323 705476129 662589959 618879271 709355539 310152945 267859057 321369209 43085859 354279173 906306677 544787391 622276319 146631139 551464813 998801773 73268141 694089781 720941075 443697059 617519073 184872143 93045133 417236777 943822257 71395241 530034793 532698735 250514241 705461483 228488093 81476235 389729179 878223837 814264707 524619323 50501037 284274163 532228835 648978155 418169681 54603209 417721833 65053605 190842443 439209505 93857067 651210785 537533761 416459495 712114343 524565441 518679237 971001391 926553791 481054859 169624659 373403955 336783171 213208621 599031625 529680215 851950697 593167617 403003377 781610277 907057101 368940291 514233981 64255825 793814899 989328093 702448645 305547703 476537035 101019357 735161227 204829785 93274535 253239289 464892667 213642341 154337607 921909969 766855713 596569897 48586063 916358319 808200121 686932775 392277709 593878655 222775909 716236027 715161909 226072537 301692845 599281783 389475173 717709821 975161603 967406473 891348643 895060689 121541823 235949391 420672923 821628903 7034661 25285389 616473443 44749683 889812315 182349099 911440503 950067541 586918003 330019903 469049277 458300949 48709223 544631811 16952709 733293027 828620057 698169435 238153855 270796693 411223889 442232915 569851597 850170793 414710209 699971357 489081585 219859785 372377089 385030931 885234905 133204291 497294227 714805945 626058971 502149903 544352481 875744189 703129781 99816907 865013819 837400047 481180299 173075263 723605723 342507085 177372651 229197529 791794147 963799543 998864585 382196401 709758811 819342137 180441729 744573577 137744179 745507465 698190045 683272899 125187657 805532545 537927431 727589235 999354713 19215841 459544211 748818765 174752271 211779225 182200451 698917555 810785787 327874745 315820599 503595689 494577559 718705791 744684671 161821153 660693315 500966475 51909775 71412657 18521675 170284971 954810119 757409561 735775199 885813329 234238183 979040193 219109911 375600921 118741667 382815477 877181685 717894917 831179019 639468207 136064353 922021439 454951005 473232525 230610991 90336031 352487233 600492247 169267991 804884765 567176641 783787901 509817275 857434587 126850133 241319701 666341537 24533031 946669273 201103325 837163583 638393075 630642577 199210687 14436843 213457499 726140461 32334921 862054119 334100129 852741823 440816051 6102875 540440369 100267719 664647131 140728667 821794719 821849641 388881991 45997535 875243171 718453811 262480939 236357577 527008037 377229465 962982233 829721311 836765997 942460025 901503827 785904343 788549359 112599385 271196225 686744645 216470983 997451301 191328241 419947951 515324217 253514291 4551897 951119485 932689389 36840511 374933273 190222847 852455609 525394801 48218491 542021741 687381911 709814867 262387819 121357805 741461161 986782173 957764353 37712771 82605887 929933417 685198333 384916003 206786759 753309375 753676485 120879015 138062815 793066253 660173417 107219919 4826955 252217317 289228961 661212995 794373875 684727111 3355339 834845847 204748525 292644759 349310703 627744067 502237811 398891169 966749885 677958823 973258473 971810973 393987723 141971213 355238617 905733415 769184855 614877863 669227769 257526853 892826315 184880783 566083873 56260449 640105013 318817733 461298007 318718549 623608205 943189041 20664515 511107163 448941937 97763751 78725819 517939995 34756391 784585949 934424507 159495583 406848419 781405303 208965731 844633949 211146871 132279807 2881151 529873203 647088357 314254051 686179333 705593959 116609237 252183421 689070605 620908967 544249299 392679441 170065885 871237125 217387035 828926405 723972063 733579263 49422727 455944109 770388133 127138429 725694627 588942783 250564587 303993801 257357723 597744095 174459287 446088347 15096135 675450581 263679665 271968015 618651173 292245843 762740331 390329257 443830625 17271539 525906213 109581913 825847749 429358899 234549599 572520817 725267659 106746495 684013765 915004081 462925713 229999913 786180393 5944893 211860959 322366055 222643081 632205219 135505189 914788189 894885637 191999703 132017527 960974867 532275179 100975417 5561497 906036347 788063917 959077001 837725935 227873647 500157159 909080057 408465545 297896365 385996379 705589021 156588061 749466849 136529909 515283699 917563405 380199067 934274247 613784285 258923871 502179671 874681615 460546475 682972865 417615731 710762799 391953555 663275915 500246585 857452721 927901745 651705021 235232985 633727817 820329353 192898047 470494577 32485331 661477129 853752479 392179197 204172113 578363785 631309971 346354537 240187887 688049473 21714811 216882821 266107393 756806363 357694369 563077387 966077697 395103331 647799025 732985501 978645137 266806349 141371907 772142531 136404353 744771703 928998165 108341487 323963583 236686631 290890515 660361593 632616553 38697991 341534855 616611491 239523009 312490801 268561579 690847895 328703797 332885023 735213661 185312101 418950483 838120633 21980965 699275783 168545245 39312457 677956657 443626335 347547055 409049733 254297435 922829621 393345243 909441163 676943905 367586617 877160847 830895585 978157223 999913479 641495849 922911605 268730049 306393631 751498029 525481113 801920229 403542251 227116099 681131531 619821873 628538299 347451201 431618291 448308331 123995849 588617763 235225565 828383493 282395703 148071177 728906171 798849559 561088269 193697087 774197999 658581597 694428731 320328251 589318717 128548159 559124893 87034517 72655311 269489615 620244723 201612051 629900863 248922049 388244199 331837853 986247047 627535991 698779145 65103435 552408077 903263221 582003667 846060115 534082463 178591213 527395749 869789467 104838257 476401333 377666507 2269999 668963361 742289485 6051955 934637889 388173493 712825179 410852025 611272491 410794393 561054767 791181725 611828979 586928291 616722881 775531785 348158915 823063311 524904623 773488845 138682605 740119685 292834881 699470241 445741295 706935311 958868837 764090923 281011305 259116325 609994165 739645935 918020393 242456739 483376751 660820067 309050145 395903949 602366839 573020635 988362603 712621905 668313185 949508253 959096141 243820103 840968035 100410833 202479409 166234919 79349849 925655175 316123051 981651675 580774351 858375863 665901173 161882031 335710705 122530375 705207153 650574423 493891993 501715451 721583533 604178161 659599171 161163399 684386907 89938435 166241303 174097797 183400407 24598393 527407847 992767093 820275875 527659943 290495783 993703359 325444715 600005199 351817207 917753783 503321347 911079313 525753633 791629203 889972069 559244541 130967055 128956537 110650547 508071559 463499485 971438701 731773757 293784463 711158601 923981155 770734961 569570263 777550265 714967093 977975021 299112077 189205565 89929121 719365491 565566279 197612941 100268885 27583983 906136835 527258631 265879773 11187061 394639653 262756531 281502391 54654015 917265529 115866177 793284417 767668401 182402103 257853957 26039237 449964117 905439483 76148483 732243829 566974689 602841545 118815455 974965355 229956397 935848209 44648167 331425445 452741693 703709607 602989847 790593807 711029823 883813319 964148491 391595643 631862147 649298967 269196041 425137823 431852933 325815461 709964035 209425695 137325545 62265317 333915537 901698693 529291129 87316405 232538351 332438847 669589291 147644507 467514885 372286631 767518999 497002371 678851429 332752383 653639043 90925379 995043907 510166385 325609943 27947799 404905855 194657039 367252393 28695271 114123937 688821711 908049845 83102717 816011993 22707349 259314907 136171025 2762749 90421545 398833447 264476735 569326989 58242365 155458255 430505995 383183279 641948009 722118957 366141539 213947955 642256945 959500737 268352159 345212817 779389179 191589691 788388729 218217447 98181401 783644779 392990231 647631869 997521605 874692943 830609157 798191681 323656737 490898951 435078971 892738509 16628789 990569953 548881685 883781469 399613427 836439631 308020569 313522779 424264499 640663531 465542707 754358741 499622839 237806971 159210041 776576897 852716073 222554857 270204263 375363777 78753563 462728265 481733667 457487257 827436547 597057747 488842811 227491773 190735427 164159983 67634661 866612607 484793383 5945381 662341307 18494177 144097759 632682025 162753221 609341065 194099331 967344085 724021617 161677001 420512533 459964719 121843857 450276501 210857855 741241697 249753957 95694989 672430481 52825023 14355343 259491833 676361221 826241219 869503521 478228937 116819325 295702799 222617229 423237523 717897601 862748787 286717361 320345239 315936129 79378653 327937233 230965435 109661145 767715691 995228829 676796303 234338505 487831903 988590631 314587467 917420411 391770405 467920369 693064141 275094271 330934097 535472347 365280669 605465423 428344221 826368821 956679913 691750477 862191083 781172147 215808651 254297791 299441995 667185267 118778623 759334235 379504875 432606203 645689199 289442231 419638057 494465079 295892135 551413589 42236039 559014269 448718371 362394783 114256051 753747339 618430717 468144101 197610365 24862339 291713793 208327263 113957345 444456439 625299867 548223795 2343171 392448983 183272675 444448869 854733101 761479557 420986009 465660907 889483989 53475523 300976933 654990491 417808275 987224769 12610707 728419639 53206827 727376657 484048285 818865511 828971147 219142835 138475169 58526911 744146115 459235083 926176425 986668471 659403279 230961383 630256735 774091439 980931795 585390459 767863583 359819507 990424219 273422181 273578471 186844081 852237593 464114603 174222941 383816965 754052391 247099577 395007953 836888813 870741451 887268707 308900411 285916759 929475885 882960875 878646073 485769745 568024483 995302641 941038355 666188243 135778985 384871557 100147639 998954819 881298399 832319773 287870399 268528357 250410515 192919699 427644263 894236461 662930999 284703023 704223641 483694965 272628837 940935839 387546849 809779453 386966243 899413237 436440187 374952941 705571099 373411249 600303425 420931673 844000927 502312117 85483711 2564919 239539245 77395795 437895713 606398827 779348133 133172541 663767359 915160767 224747029 978347409 518426009 440213217 633036975 951917523 422276437 727048299 789310415 961983219 225799237 896225249 715094263 194684485 532592349 744664745 660459219 35396741 424078653 632790551 575404597 563121369 919657517 488041569 933729563 392854479 133291549 140271019 995872677 777472603 283274787 335055103 79549217 458410205 331476221 457229131 714348291 407852053 963217941 742882409 818476513 491908663 660558969 861450781 331787909 873578451 131626977 215420685 930684629 970685671 318694827 298471883 336494821 497250267 639190495 57124307 825884147 48411769 484269099 777238147 350998369 69269241 613010153 44628517 228486073 192270583 63674901 311989995 94335407 908554871 805864025 973148141 911228191 661782759 322660353 291777583 426504205 949050399 115874825 174107031 452664225 414609241 201697035 789182455 296578865 981129787 466444883 353863689 29179191 904699859 338031821 962023535 635542103 579631509 458551313 97909937 344161371 801675871 166381919 29497921 199444281 158278007 286173341 922566519 531336201 849077129 275816285 570368663 323142671 513149865 101701075 939803847 935173049 208275033 99547615 20003097 566478743 84091001 176791049 656586119 123352933 14276185 483603585 932415987 296613127 399142575 804158493 333218085 589415303 223519637 337981787 351776719 431159323 553067925 394039653 7425929 465658651 155768983 42786569 456732629 619395341 553842419 575432639 977592605 353712537 673933415 328809637 836720049 686941335 595153175 529904513 745385675 123425533 605577871 652389831 240915341 698973681 973416135 880917897 990390271 18570175 739470107 498703499 281090579 899053785 934188369 979262255 143169697 867907801 614960275 616483209 692453995 740062085 570873979 93437517 934619931 534019013 48914435 925602269 935351361 696707249 890306705 954823485 987411031 129969791 598683891 241228063 343006141 329160087 515258975 539158745 10800063 930474367 309871983 60675947 25077645 445175791 107096363 919239803 624206655 81258433 160388095 267992923 936535767 594032631 749318337 157729791 865068349 976931517 528812975 856910343 757572423 935470181 281276781 522091451 693988519 941105261 130115079 743215371 867518725 137296501 117698037 706461325 301760231 695763787 172221201 634274943 525792957 900755937 140497829 671741387 73362403 510045267 922534745 827042559 14403993 379773667 209677895 113550163 333384713 940569341 970785769 410875811 62554433 935089205 289859109 839697275 134493759 409307973 758834249 339091465 64197603 103079697 247483401 978219809 545134579 753180067 545080963 926389829 811007525 817132335 606038333 344071581 207210765 273665297 887488803 809708789 473311025 930774219 588483979 575741641 582011385 765643529 221159729 926626611 451488437 174346399 966557499 892663039 546674077 364941191 79649849 589275801 725487319 156364261 759586587 335972633 575332711 56892675 308784195 48755519 512088131 854125653 778829939 566415985 268780351 987896953 683573721 507851199 879541793 191420461 669224205 47932129 963339663 688274271 884119047 623872309 688139293 105726499 808193841 421352131 838096195 233387443 641780311 36413755 683189857 542189939 839045549 929884915 476244929 171345903 517429969 266476009 559084439 310006743 925343687 940945607 923666167 297947403 320662015 9255387 555811559 763398537 94610253 968970781 326474061 315045505 270261485 677408299 884719613 544410947 373906565 150034251 337033645 177612363 30449955 254139505 59862787 531371581 695775805 435215151 227709827 398006501 588180141 782699207 506689185 241398835 575351739 834709281 390237367 131327303 76219923 196687817 576860675 958566241 925202635 969359611 443160497 4668651 918251617 20485265 262635219 442885755 923475385 725002007 804563807 436011469 574570783 83858615 956508985 618595009 406999371 725456463 865713963 601737829 696651353 52086871 679441891 22483947 438918349 857976829 366762235 610837421 674813079 534830091 518015477 699956273 902449161 999030267 119165245 585283873 259841251 223493867 907205407 808379983 952866633 375176867 602433239 264903865 150827721 929657491 493979527 109490047 19995991 389358799 186099001 168841455 894796369 452784923 407310809 42789243 938664317 798724059 771751495 365570239 784286727 362794783 268788543 681327229 457426309 526536093 152898157 484839329 522349299 576619447 429879651 982167871 153132473 956905075 910362775 256178063 630150817 126753407 609117293 528721657 627740899 23243571 685728301 120867077 74255129 689384335 260387593 21134183 677528653 310083899 990770457 805760251 884622055 590681477 895031391 238928067 113695679 972340323 467879877 26276587 975816979 896224117 231552027 742901703 846540167 926100229 551012123 819743953 371151145 717884669 288079463 261289901 919998061 947208697 166777991 471556389 917304625 826755127 66323437 59255341 318720953 934322335 827664881 873089761 784317365 630228925 89783765 301053829 55853881 330123979 410015171 542846849 202138561 11541671 715548619 326478955 2710835 173931225 835496167 490902781 857625309 178486415 442046969 675310619 137215605 589596067 386217161 334627791 839121685 801461137 704832263 345617999 816374341 332909699 310294353 954562803 160519409 352580679 614197795 700001599 604691567 740779349 379616487 798938593 464846205 877458377 231254769 111509929 19424063 858259567 741175417 783700627 760837697 196093363 489122209 536131779 85911419 992314031 482355057 729062277 798027593 5477407 993459417 962894409 113503343 846204267 962332597 805767599 234185501 559782821 612819909 613032053 142469093 553909377 89513395 477182603 187348679 191988065 685117455 807890945 513698345 29332041 216326739 518499347 538748371 93016811 600939999 279744551 618351105 584282013 132915455 923996867 728269387 469767263 751444961 939463327 333492921 76349399 118482337 460850581 569649847 220947541 411240767 879463333 137958939 308873937 586940581 619480575 292590113 760337385 477360035 720156149 446383729 730578149 308844787 742494719 946637333 258059443 475597621 934606533 310170757 597262061 371448307 109330445 740128923 66285775 909663393 634772431 968574879 528297539 506924949 939407653 251116607 923549911 920868111 188222801 775247757 569105603 490559037 752246463 541470729 852945891 581176877 750156289 621555863 885512387 708021463 870505685 607093637 558029199 273616417 407103261 159088007 31223071 65978575 207034851 402961083 800010741 590437269 314495067 479256997 498218803 244848141 714492127 591847989 171968941 218430903 100592631 456008895 393674455 434459899 620896073 311809791 26931153 338742829 837267113 129908509 727256675 235998341 45683989 720709795 269010429 788886819 871563695 573174151 657094325 465170449 530597569 854924583 535490635 57808705 994159807 434597707 587995429 398920077 647576901 929830683 767369043 390943667 28653589 619336751 237881229 214807393 431692829 428172165 924320305 72215587 382296685 542636159 6017095 939429495 107346753 495365615 858779263 498221755 887015675 99691271 993292845 767354425 171204395 757295203 164471381 621383715 463536511 81509133 804512921 763558547 801237717 248360303 854069325 973618055 689184305 453127261 768610151 351334381 478670779 569929751 976890755 748965009 198062537 619936065 79956205 398939441 853157333 168459241 727042449 609672043 218355075 393163397 851097095 226500041 892516255 331893999 603579025 891227837 73026329 105092463 240198673 169233311 711878159 641208241 833007385 655009203 899223237 214355915 684468963 775718175 22729381 784697 260753993 751356405 31827777 455801827 949713109 242901807 358896469 484392723 709454775 492019119 669565381 263013505 265985221 990603069 608117405 216871751 323810175 703686027 354007567 176852719 295830027 751253811 430483829 571342433 497599545 547108531 964577877 81163509 238568065 174042999 281307479 837900137 342788865 134039759 748199763 539351265 932297857 546388215 7434303 87704555 966713711 265710603 317077571 613283195 447048933 827718937 39183525 354394095 35790751 848721169 39321821 565291021 419199751 49850827 857724805 468648961 883939883 228252939 181038431 221849695 170477761 544395639 157734997 700082985 796575275 22831521 738861695 316597951 923682413 573017859 609318677 970429169 229141817 579153663 944974713 980788213 397682407 966475229 496554041 286617445 831176563 162665421 490812935 405721417 568396165 86157291 404770495 178797837 889915759 2054455 654927971 128439433 439889957 269080475 356549151 398143221 524282951 91036903 6942533 443698683 573138717 116666839 184713299 895355559 134123415 561514247 294302187 881003627 13851979 299335173 72869847 381136937 616627577 886431809 169929739 289774885 912192007 713574419 196724643 968904715 905486469 574545853 543993825 964074479 206777131 241061479 807334705 42231121 857401815 721222949 7014951 608160021 616357647 393060847 629618813 463447433 552027399 228996263 260276247 461585763 606256273 533759509 393632255 858489533 735801905 178606825 418090857 463800863 838957323 24252095 574659251 186391925 438711277 839780119 358551131 107462421 105899603 718031451 929783311 821687483 437551959 487566043 828881315 369895055 978371781 88023505 260702225 506975771 755825161 765478493 821907069 844357463 875966267 56819851 677673267 310175647 332802075 263666761 873947811 181262519 692312337 850198131 268923499 617476045 209433129 297541065 81519183 91440761 796698141 119241715 225352503 755655093 15602507 149806213 348220985 497049319 69285053 943557623 290485649 246429915 393300253 882366633 859267999 500432075 149149639 24870375 150451695 741225295 524939705 524729055 375492151 197611885 256383129 889586093 230789967 783277973 413442999 319536209 258682429 384534683 728319755 927773107 862899499 668748475 2869299 277187239 399213163 803157661 445229431 743716069 521918841 654411339 516848325 367703053 762544123 152007227 83350709 879585961 741772471 630839885 606513545 971455787 956090021 536650435 632159779 727271149 57048031 568557899 427186455 197093167 421225637 991758333 719636379 747687961 110671975 302641745 231069835 888697791 955310263 344039473 553323891 41388311 5562445 171465961 778970495 493333255 518661649 546391085 359594631 946228051 432805385 285607705 579187211 454547375 878256749 843811639 204232753 991223989 519151255 640455025 810718411 266647267 754766345 846308123 883051597 516950437 22245231 833471221 414030039 489202253 653799325 915418149 294989617 113157907 570241675 142280501 110134731 518475799 101303393 949856027 248849339 639920739 610903655 648861237 767957951 491259113 718295057 269125961 326118721 314919809 949534203 493313155 402274127 377779183 610493671 697799801 584458657 254816473 229489345 912895273 416233365 441209043 325150621 629755637 748933427 16588627 114465973 119324079 952545833 124352957 888037739 379932041 726245585 844883545 196702287 85046303 971595047 781506393 261138959 986196859 436740053 141833685 560764553 339863301 964498215 649575633 716820927 977291927 619218969 464899123 95811293 454857065 984774981 657213389 436238647 813661477 175541751 377263195 244649287 309320407 880767259 197045881 609255345 829900275 357226057 439507381 301435457 587094361 228351681 482610559 314744551 131518025 305559145 947264561 322378433 16231285 54844627 447261193 738726163 724686833 611424307 930760243 540135493 166275641 747663465 494235583 512124141 424171829 810392061 211973287 546328773 847650607 45486367 685128397 795424177 761408733 989649571 66339065 840302781 223028831 5567245 935399389 703462681 685313079 639576449 824684817 568355621 271135317 333155535 789983767 868456799 321199371 6993519 970120025 242598263 193990681 367890815 886355239 447607613 497816481 105755589 548826813 755080109 823596853 740796597 129463095 516918253 248512711 371467361 448049315 352818243 261996981 165449355 710882033 34228007 168606147 718329243 37176569 304221233 724233249 453149599 394611069 158573863 899125859 725993805 651677223 5123315 966990213 179870471 15965831 350239911 154707181 998326225 689742103 913257089 427328361 251115613 31203897 159997665 850229805 503289857 425002803 66293077 710367193 954606013 222757691 739020687 895850351 252174135 693272167 656627305 401466717 118716353 598135481 339840233 45074041 115686223 687455003 789297465 181118209 792736641 480685661 481861549 809608599 717794975 459653689 655386045 682571341 678789785 324352591 367594769 904323475 253937667 72043307 12658289 510950731 622139681 846393147 442153169 162516919 415300823 567750619 108151885 875402887 226688949 577439819 773438247 257046477 632085747 550205109 185400011 773857033 328767341 142356265 38348491 814162975 914760879 140281503 832210405 753263197 208877541 721785853 204271355 180824951 536151785 149141767 845800983 895329933 106680631 371663219 391709037 314841887 434654457 798566359 857389657 241657375 542311931 653416115 820515933 299982561 82217145 457019253 991124007 75966499 525352781 913126763 306284677 868918535 430141571 859154639 516799863 249319453 7281863 716256193 998476063 155615835 660934961 813253963 407616199 483663899 523700865 101727329 746376677 171511335 662113309 208089303 424652561 126681255 70972181 521007219 575371535 881874995 265623841 114057181 61432269 388251337 944179615 906951075 80844123 907800781 863275671 691199299 308907765 880975883 685603769 228030491 67310079 412665531 999529819 611588727 782451971 899113593 707054971 473688709 848107191 149760331 696106179 978058079 221168371 496365213 26240385 611452425 582687677 458541123 749318829 302143081 165676605 983457151 182540515 753229395 648619465 414624753 620618607 290896511 250702043 933261481 871437119 557689229 837182489 739869979 303734247 34684679 87332169 966176295 560375977 39879263 257663587 238716175 732188013 821964271 545533055 481832065 479112639 555537909 642131171 741920659 806654427 481675677 678672889 21688003 442607515 699216377 421524563 993017075 784569225 313557249 811435437 793811061 950732757 331125909 649029101 178463225 194922837 146927487 633968153 276021665 951442057 888448625 328890217 436146673 562027671 82121475 942026807 610156755 178083409 892643001 35068677 902861985 742156587 347211257 366404989 213652245 704464965 193910037 676489079 730242645 971133287 703692105 192153577 595156975 796874239 412295091 421587963 550897111 813974567 511415389 868724725 142579563 876790685 313112377 993864779 201329 318985927 147308831 817127063 609070613 126084531 315844817 58919073 989928941 262435613 702621177 489290573 724029685 352622433 730137641 877824437 807177877 538287495 980719063 911462929 883246999 576306749 759608167 462643395 520528689 551653595 329070625 615972185 600804355 450363489 844763959 905126791 446855439 304146551 363945665 929492003 137237701 222814313 129680065 404499511 682957815 719680051 215745057 295311337 188430565 489752943 499859889 591649679 283365939 727178855 806618413 141252257 358264813 907879179 59396145 655071431 767561355 46224881 435807563 586898633 150992873 660180313 950461675 763449757 112300621 101908521 262702697 773264731 199981923 710896371 926403335 950700103 630523711 42375913 494505711 844880845 442918755 814490353 404075569 403329921 54677935 387233421 747983305 330737181 25515891 684423405 219554451 907107461 530531 336838123 950238301 864221381 146913183 659482883 916184791 968663821 189552809 36002911 696860313 370555579 269427823 686541261 464977445 110816595 354127943 598861253 419446501 695007101 31489263 84910691 558382633 894279695 692595081 586435187 168499755 889869571 214645927 64277601 684205835 128396415 931287355 189868359 549238741 460088265 681715107 990713825 925759863 147498073 380333731 356500375 814622669 546292423 268186731 479427963 124048023 137593817 186762125 388367681 521457791 191465335 59108361 966203465 734036501 479835575 407007811 398812317 938544851 899860437 60139017 585439209 749601305 341610289 906545039 411080837 478405171 660083801 474728053 966151279 571828049 776051711 414046907 24553043 32669833 616148989 752762323 49773691 792096993 498797145 216259473 335728609 644813889 234300989 234898739 312158499 193123449 64597755 137669723 235430793 237288515 751400209 403044379 873552385 405452863 434327327 724081635 833321509 36728313 772162803 917039765 673742129 76363999 684773503 407085427 879201039 969307981 614080733 355503917 799369037 631953795 254558547 981612245 60304929 953110697 110848075 676977899 485280109 620137427 371708505 178346579 979568567 992931577 305298229 508583257 725934893 562230779 246548679 132618933 129125543 925700003 201296407 509064835 548768933 361451685 182263897 802149193 553781839 269165717 761220073 937885939 929483889 249346809 291355465 870690263 311398535 82821175 429938213 677245361 608147883 705868963 817226833 205892775 338797479 5382005 874491079 698515527 582456811 552958925 619051177 27964551 597450381 616495541 485841477 977538753 266091341 49882911 332183567 279210685 229658769 316423909 330661279 2335143 291066473 829203399 918389945 353153303 108079501 290825581 634344521 162433029 991984731 989491051 619486563 505498075 88611291 116245559 380782145 780423523 487825083 869993525 930133319 794997205 15448149 637590189 734937599 18597837 273536423 636236497 74042909 743921233 827128405 578918587 428779647 396280779 243092915 351515755 943673891 809323285 163436471 945729737 518012727 392615017 749881341 932966567 663195151 320338541 357342929 140469697 428115495 19616047 582663199 696944565 206345503 891898659 907566719 449648397 275012035 750410791 276199985 245230139 554249 138273409 775099421 51123351 179703561 63519197 52649679 679439205 957984263 73746001 104856961 576866507 506183537 760020827 752921363 622428891 320468695 176239325 678760201 117674641 949833973 34829865 44707477 34431689 407951537 761872623 965281165 368264019 853967889 982928465 955731313 85448153 480546637 698367441 342705255 277677819 733817277 48988255 382381631 986040629 884278503 492134221 618992497 625936371 731544949 587848539 586306587 403285125 413459513 499798445 915119365 512270119 71957809 455584465 311413917 534504437 809906301 249557947 697021437 795575293 69543275 9165513 158160865 137165359 485407085 155825343 761808819 108793955 806833437 828903373 361849473 179272285 488833345 708063367 20614145 483958467 96208835 101147369 443991957 131480103 425255605 75604315 962072897 246640643 200634197 755506087 562000055 853581753 67396867 730893315 458926671 701926289 695241805 619765775 882545157 764855739 510150629 347495885 744509569 51622227 905554343 755723435 864982549 981919579 380776853 766341759 768479157 144382391 78503131 642608775 892891137 967380543 542961357 573981287 180317249 649977767 592842213 546931499 116908389 858661009 337385157 39011915 631442691 41250953 456379707 140430499 406416987 526758655 241967931 884173687 728277843 365195339 505080795 989384567 90030459 174580399 64960101 212130231 174004489 320492373 13094207 673575091 692196319 879210829 608274687 765960529 600944259 742749841 547509087 339804127 872533797 830514433 32612417 836352785 813995161 169469801 326777525 656478983 926742371 375196791 631038441 569271873 234680997 755582407 499631675 221551283 807777075 977224409 140672045 353093293 958071939 87355927 868540269 153749485 743478193 125400529 181656011 353524379 147980937 472970049 384155203 961920065 499729527 717212551 963342841 818953431 940096915 920336559 914942775 521832375 945693085 708389031 477737585 111842987 881308923 785381963 486432069 696341211 123486655 630822491 463852401 849037281 867548829 240587391 957680101 87837365 811476981 86745163 1499569 274068161 402662095 242912823 304398097 808342737 557960155 751285923 223922793 589004825 629914735 355221723 449225029 213560119 70384523 369810957 404921173 21594417 480177877 571888725 684725113 15029363 791395229 988014003 246390447 695663571 373685723 166367503 814602535 857054605 674272557 273298237 769904433 639098439 335451609 125180917 331433547 513820689 586240979 169666263 852156437 358700379 889286061 798908013 697580893 220803079 437812139 508975403 894361875 683773015 24667823 738319461 504083287 408944633 279155533 688570721 888725609 700614915 29202105 982061125 45740469 136670451 473173973 811856677 729337549 579540397 791917095 819688185 699096687 480600189 513764573 432833185 524832635 783627035 40169935 97968103 9081343 887269539 526639741 463301245 219869741 943531163 582718221 408453373 561061727 438732781 102529361 36612581 547338523 299409907 93494205 205279395 646144523 234428263 985519217 944258691 390277891 966290287 23793717 807349187 434617341 750913177 112703865 145712769 210188059 415329755 227744083 876480455 185474987 782526351 791243905 975619719 642509599 689405565 704993901 409142427 47439379 902376657 666548773 265562561 19803977 531932961 704713569 983988389 651394221 582072681 741355903 176219097 728827475 552883729 573761159 609560787 325565301 35233507 259982887 632662775 141832055 856164375 944690361 256924813 161719011 274247497 794076729 438794183 954744429 80957565 901990225 706030527 307568113 283174691 805416525 377973107 702146419 477542157 561327145 837873871 713306651 250626939 77207935 54025123 671221567 826828305 90043291 851513515 771965785 674255837 257525097 613111941 810747149 231175763 566643329 712745147 229480997 708472913 477846563 82213055 294826133 549229853 965720629 104732905 364507515 396551523 340131399 490046843 531132437 81816121 663929489 885437343 791011537 633839643 213592307 694198373 704517699 43817967 47266289 920575433 526061095 757530117 696009149 174560167 69994077 963011341 524537131 980277453 475423217 11983145 658857151 777105387 490868761 325998299 850861981 776933529 491348781 689180689 358066325 949860955 4003763 870947105 469245727 827607445 858327379 762504649 639285335 990456991 469559779 95903277 102791177 91980973 651992671 294548443 994150307 786867937 686520807 53654215 953645881 863998279 574438089 243459661 911985805 621048783 827037557 304410679 787334151 641877329 854841227 624585647 883298229 533032079 740830411 670033993 320407117 812972339 634000415 78286087 166863921 661896909 921550495 188092745 538286693 22408663 996202625 985691615 393236379 747699379 545283627 928977405 843954985 974608551 912495913 875285057 709422095 294055657 435823917 495935921 737554931 262481807 294936851 883733691 863612455 119861915 132454877 826069553 691332255 303899383 549403063 827604049 757163259 361425267 654542579 838190531 264123267 280597449 227568911 861508241 135432743 825910169 691574699 581546291 447842171 905183599 653140373 554698629 897705923 466224569 444173759 593641931 592134627 497076691 332055109 679221685 981537899 433622269 684699497 675836245 817072785 709445985 628515991 935762987 937569079 273825039 818877283 398516763 332361187 460097793 826326151 82900083 528846275 806406679 556231397 264542439 73723057 220541469 844385931 825788053 467339305 519590081 276271533 119382787 467462741 153268895 865287075 257481501 952888065 484491831 175792113 471532601 337096873 322007281 434538307 481290515 443593575 102446113 29585005 809598675 961345543 988285951 467988841 831685635 986012403 572838059 866296411 434495897 601298761 83509553 926292109 980135925 348624321 976862335 580635507 633363417 658268617 42835057 508385193 611868021 25372267 378369221 140391411 495843163 47377249 151184425 952882233 718921611 307555337 900478761 631511697 870606441 618428011 167699779 207204405 320780737 657805367 185150421 729521801 944765387 194748355 453400875 724269081 629068323 501849357 345019251 691682709 395058895 67762879 624423369 139998939 184934713 598598439 764709675 946559471 308139323 412894525 319586695 74378233 105595407 581495709 805472937 107275857 262404445 963221395 909737807 643530605 936046639 183602187 140022807 248555507 820451835 231054495 750557323 239300527 644679583 452804747 721789981 836109457 263017057 420520377 516713255 507250105 21713135 863389621 840270311 950174821 681805403 699664569 967227787 129694469 200809763 105284261 159822111 944379945 480224303 892044797 72468641 388824463 22299593 65757939 989266927 132115223 758277289 830314077 939108819 760515535 513047787 592964283 10148607 356460265 822195475 560954163 125166859 668401855 571404561 228979863 628240763 842152407 926641975 806928987 276426421 223686107 156023109 28577695 886782219 621051549 364423007 630033963 174129081 367699739 488563987 236887917 169996765 579422325 543885397 514703743 67999617 273697529 151742597 25650207 587175063 556531993 465758563 985885617 590242295 525906033 732205601 924941385 294412387 532609219 289597011 20130461 286711687 228081915 142566135 139621131 61072111 724639275 4804463 206740121 954217239 948040337 974908555 634413051 592014945 73370255 352537473 230196355 374835733 447326639 756221165 614930227 174760805 544116133 904128467 745890739 827223145 546582861 341463201 268712271 234389283 638789545 265118767 402024451 60428925 7379685 921496757 398370153 854626121 728345941 258439901 768160715 632623421 440640627 684883123 702451993 70854653 483104227 904316075 52840937 36906511 629785199 337163427 392478331 128530409 208070411 984685281 255380917 785081057 408260051 380168463 615211561 538613307 178198283 316461383 46098185 116818459 58706971 882534659 23045435 605863577 156938905 997777451 670624321 833474217 678948159 163377673 972391755 82984749 529351921 95320659 222529587 74074609 182200761 365910567 967448181 472466085 399711181 650934539 2916923 732451809 418340997 575816173 884689235 152764967 146017125 506612255 907873845 987485921 970925339 191800415 505622781 547295583 675019895 327738325 113395831 914791387 61324149 389381389 893504783 927716981 343495737 763894009 290356191 93772345 570280463 301524475 152367011 954620439 400403559 612464343 875909059 381817831 129430495 254072759 224905553 620299115 339905339 949350197 967949313 192213835 283524197 72996683 335636787 135116827 43627375 290318943 365116145 839883603 597203861 874416191 178185447 555600981 65458237 931066143 788745069 628057959 165346285 426371229 711659137 812380863 373201245 974500543 176442573 711191923 309560933 151631089 706799777 572458117 677093643 599841033 204893937 150270429 625150585 925021251 507076701 903341903 836717569 786100807 383469613 38813075 902042657 144272927 29694799 188598601 953545081 855991107 621943645 762007549 614567383 805221517 760356243 268373789 269740845 988316999 146935259 929518853 998009495 671031321 366608835 243623925 588031319 624355357 224706945 330952469 362507737 310574539 595015927 547250553 409817263 566288397 542067371 669651737 162135959 926935855 56243403 546493909 790410865 508712421 894932015 791345783 644120651 177186381 310776151 495799219 662708311 88730861 997125995 199830301 702707953 119531441 752680247 409673275 814960795 834138349 56856631 843432307 68497153 136150113 927757701 166501145 673744375 54802995 630941419 519111781 970784375 836163565 750907865 151630967 682252709 272774021 273789541 898152281 649343435 807251035 651032143 623816447 861841245 776180273 699979773 712213053 758558711 796109365 457222015 20821465 393374043 582684669 353472397 165184889 533868151 651805319 444431493 396777649 125638233 11595575 354469743 744395255 811632961 988792537 956484345 152170927 347284369 430036133 15561853 820542755 876946133 518915895 254462711 203322241 66969789 255317395 646887441 239145187 366063655 490655785 430794009 884793165 393347605 819668939 214622727 334707109 61515957 776644283 50020471 835784893 362357847 872372633 228203701 233866321 864710263 806697077 171561133 366507519 64672953 123608515 67417847 28819025 114580967 54324577 513092051 573312953 514145015 725026197 414331945 837562767 425982977 849374219 558359685 597027095 939275595 469701337 426671137 547390071 9939005 612320635 460907485 342714305 40096879 193763289 780319549 308849649 842593431 935704381 949094771 177939429 790056347 249719135 247147093 383099751 55049095 266573147 181529441 324537385 769385099 645226677 549868227 323742915 811172871 586538075 662240837 372702647 110872955 875235237 419221599 590485103 777774993 438908237 529776437 424187965 869262625 621256313 67619207 173793623 153173025 128007605 481767883 19277281 397053623 833725433 772583189 671334115 744509999 38759329 79416355 558292301 101987323 542399347 497570399 405636861 668549303 326233499 384568021 279443375 255482147 103907503 662255425 828840463 77010735 645381803 882050303 564737709 723834093 46931445 985435669 239016707 936775573 509656155 338328117 596241011 532460175 390175251 71199671 15648069 906637411 641097911 993592983 816492971 80773061 623190095 756687741 828140733 642723985 526680649 874798777 878311293 374457033 684907127 763781955 277116373 348671897 438051865 929255867 453968277 855274067 746102481 67169637 129791863 240091509 653113777 462023987 762818587 598323105 291018283 339659451 30418701 481206945 15733533 452847931 984630205 567460457 268398027 982173855 905218179 849243157 812495077 121397361 596328353 370079463 203751293 947428585 538207297 512375627 800284181 807073257 73902451 791891925 383530893 828220919 30181169 92461631 405444661 844566339 704612187 345039469 782766273 65974945 479904957 268826473 923860815 147716757 439986693 522017383 668555877 17700417 436212943 684258243 776379375 166910073 56821403 990864385 828658755 668610737 665461715 545939145 489257759 138303499 67736775 675385329 702614181 361555021 381470897 488772723 571894375 775848677 843435697 584958835 725605973 304634347 345943763 848575803 132008401 537412895 772599557 266281537 47670429 865406183 4762659 861029405 443939305 511060309 754442477 85388949 396731719 232827165 80016141 403638417 878192567 830212767 128798225 217442599 459296925 950107363 305571959 587486353 791390407 607399577 932944543 45803829 612684649 191849239 64352207 802395801 229546785 9303901 678292283 138682997 951114997 236542737 138245373 438629281 454427473 747939715 971548437 121581859 928278793 492283049 882244203 744672547 213429855 599503909 956221907 775962105 104346611 918421565 744533765 562754331 881472981 92481249 300108705 772736047 727088251 560218277 792693811 924414465 383818687 594296269 165017897 548756355 323526633 514310971 36959709 518909135 505358503 675642243 106420627 378175019 946205707 374694361 310823537 624238849 53506965 25732383 905117323 74545891 493980967 399934683 333173977 472835215 514612755 529481275 773023803 993827045 351271947 142438167 129048699 793911283 897324589 906391279 646848331 72054763 781635581 11933161 790810949 853974057 93061227 14795733 910218985 664950319 407316171 37290795 85198239 58078377 938428377 599934987 944371385 575192681 62662331 996695865 959820915 321317741 412511231 490988327 731351787 450708951 23454361 649372395 17028907 484199665 974903529 990624579 852956709 483573807 131466671 897212825 420027827 753144365 217616159 179545851 581105555 833878445 451968969 708044065 620624497 525882011 209567147 388181353 552961247 620794635 836223789 517412827 816687187 605850165 281853465 338972709 584902705 583732609 49546919 749591201 605253825 898482551 38671987 720889163 629033013 403436237 938529665 230686411 523002279 913714523 973664575 43402099 645360149 349622565 56980869 219610167 733384043 396905303 496054157 266097081 30583163 776816965 463070973 265381695 621074683 680975209 948005603 282587063 964780687 413388903 207890099 920256697 54724031 314816009 446115659 446917509 807102461 770507333 388808689 638898689 535152033 283612723 225219921 672832445 39453421 190541591 645465727 289861873 587356939 711772511 588019197 337155965 654287629 611931035 456266411 396594149 559068905 313771911 514051289 463080537 207990915 576611079 130402621 644808627 794537123 734015271 734500337 523772017 276301305 297047319 266005373 973502393 296307233 272986421 766210511 61208667 961036445 218236421 607182649 95882189 155213779 577078065 990144891 454638897 876403733 692893323 535380665 911193677 623348381 818619663 951869055 313211025 353653389 665575905 148022981 736292369 710975467 615650637 590248167 297477263 283848877 354517445 663672491 893268083 202006441 609949411 536136507 953666507 963064225 620286061 929463345 293287245 177926207 498848589 925687943 600762201 423047443 223585941 419347363 128187129 525865623 564638339 199678547 800940249 855680813 234767223 383535565 883619921 894627869 983706879 53297323 885794913 835435671 904575181 922405877 554197167 620252855 908893115 128300567 841373323 801772669 88761551 190890471 892718573 425001683 728942643 893045667 567417461 702041225 258928699 668757999 716064871 689743193 656085087 986326743 118458291 566941923 722799175 64317139 492529907 806614451 183667387 544605117 604047461 624406585 747631279 432356319 663974639 680946635 67966525 778281185 653833505 193039279 693228461 496849117 788647473 684120077 563248741 155157837 697163521 291286773 74559481 97890327 981617943 89652065 373517095 197307017 357032353 145540657 175056593 355727959 206860409 688832817 248495873 920764575 434356507 315544591 4615659 789454567 306762161 493458279 945841387 851075099 775131655 739925945 739573635 546395025 273116311 632391277 962583135 547357701 433186177 196054231 733572179 264177309 957797769 512180527 842137945 319993321 465391393 286013333 367362965 86048985 526225247 837749525 215529041 84529615 720826627 771614877 703297283 737741197 531233141 457943561 551491 748230209 857980353 267811095 621919445 827241091 387686305 402988661 590565543 739590219 389015155 828760753 711381447 565686275 201127487 239206211 973404023 27805047 304514229 726705553 820307221 97504987 826843177 44772319 121556781 986091981 651721375 518255713 760493685 697380433 195566779 420539441 646570693 458252759 265979085 4104269 412090401 242434099 467304907 989989027 791242679 621259937 131692631 553695487 524838103 87313607 233274807 286289439 434982397 286791091 816009433 261936289 229310413 2215131 341077847 991783951 391130131 775339289 153829997 360387035 888965313 796480949 792591875 434795615 232302321 460727643 830422443 351795163 902559721 45906209 328334745 503469431 210873361 13565829 797122991 969296965 78695937 239109483 676226161 627778113 239531375 440238367 517094929 438725449 943244865 323220825 978196837 150668839 400487811 551847475 962452717 955555213 899312231 336732215 749148111 628547347 297741129 426468687 741788381 348453437 723473065 377886159 566274441 511969649 62987831 526792055 806963961 593583363 881649093 352075371 613406447 552692777 376895563 3719225 159496411 966972935 561432305 878647509 300899031 508459173 836625407 777461149 287696543 543046133 278143465 648368727 447049373 115090127 61444169 723623983 925719775 102014967 807710949 411333307 54436893 563049235 880952999 150013175 471925941 211819957 45110947 825082955 806193581 661760599 371873043 651171201 853525433 538815835 221230681 866380241 570244651 425923081 880395267 849429461 804007429 215618451 7605699 594082965 994000623 88123409 500448885 838540927 947450421 218768263 468748571 78381157 676723665 181961945 753792995 719407751 209106787 86493919 257892123 953880457 254221103 962978125 716340291 688482681 757103911 798616007 469530365 305465035 650767329 745311957 697243155 597339485 346592157 959266023 925406843 53975411 736854337 804340569 383764045 179232445 563755869 527463789 862705613 204720975 461426985 910732105 887722087 528164517 737351043 274855679 565058991 596530853 332326899 617360777 627976799 891604125 809977769 30649799 96861019 380219459 863484539 97290629 608257709 490488497 860899303 913788019 573583499 260761455 687852055 929657129 525244493 867143529 40457433 91209769 386780537 906433013 591514787 430301 682297015 834847185 20086679 254984341 654148317 801460769 500598907 267714443 511628773 368223601 803568061 30566881 788967411 944898745 842807925 277157533 551668307 473467477 28513125 483966645 358454391 632409353 842061295 357881855 855358713 800939781 411799335 97625661 554378397 455897307 568558785 259217431 912010577 32221835 514023965 527752225 461956389 913090171 41534277 20606419 637580631 766779507 94096355 472505487 742770503 764139695 549221971 726506139 564543875 442893511 817732243 279562797 830541499 700294339 141986633 421377627 234759375 538652175 500591815 31293479 270915519 887732865 304359935 723532153 901860021 937475925 12576151 829812261 811804937 322510899 230126801 387047139 743623985 67608101 642309789 989659219 665631189 61041315 436843669 744638977 172875453 505109127 268244469 215330651 481772507 40365337 53554343 647355069 495924815 911348999 567452729 198147687 918055257 124143459 622639329 527223169 360365413 709761197 842105985 166716191 821147399 229328329 100264863 113830713 503333879 512670981 576863337 673947055 623632925 233951509 564629943 751195981 286353025 859967511 661766153 93400257 148918871 959052431 234249863 178528679 116024315 193603693 276723709 262802813 282712047 271094789 362714085 432031409 313778655 59072275 417023327 457055631 646401437 693951421 215916591 555370325 868702759 896258963 495254471 144529697 339093663 947167877 205016125 330637055 63903567 480647667 959029073 51867357 788822699 58669987 885818729 950638997 731002447 839796419 31162517 623200235 48339967 533664997 219838349 896792453 908975779 38147337 405905583 74174455 243381073 780261009 16299267 834651063 396824131 175032399 176061239 76718377 280207837 167411573 795455141 80905111 701788585 96855711 87024201 637694511 930923867 741329623 203370957 981441291 875609039 273755271 165930111 182031919 445538825 163646595 570481237 407848577 939725873 326661899 814152433 589725909 810517661 167708355 188162201 322631905 963428039 567692729 559302459 342793801 287283283 183112801 595257711 439762837 148511757 545027739 747777397 243250487 855639781 762292905 329179701 518988937 457432315 32997945 672260155 239019209 483020429 373658977 240365249 449722403 827327243 85506973 784342695 96351913 988596229 802577621 571651953 213163857 249232951 927026771 190202961 519826687 62172805 403775951 778724125 374674811 111949563 71218275 846298451 772158583 993552843 888765337 491136287 291458187 149240911 510171225 541189195 480482361 567201293 143157755 931729231 523105003 696759727 100277565 445680205 852711411 196409863 480845635 870358027 920164231 414317329 897705115 528278777 830426571 677019379 395215417 461998635 496580039 315991797 609887867 816988773 874878573 714813065 187788839 234946827 325819285 793376335 869221737 738510635 175005441 405331207 75307733 260726913 436991323 729109661 845546093 555569767 22250291 887735587 40289937 457762025 521754627 485055447 428144401 191032243 150118701 341198361 791625251 826327325 241179897 85556343 749028705 165182247 603391897 260133283 918244563 624964729 93107237 839634809 153486309 569593183 30451103 483493371 842015855 284105939 167887345 677913685 170083753 309899125 961503979 189487579 812568381 759445641 639803207 735915269 820739127 384779521 258742183 780169851 531772425 433235571 122528657 923804165 798956949 458802717 648908923 67674007 480095263 985868777 3505851 163625037 631241811 241256807 648339 889279849 350566213 966872777 907924269 329150297 698896757 341340659 699432345 906521259 555004871 46602091 682217937 207174431 421467785 966351201 648644021 63911063 307661425 658435241 535269393 869083165 214818201 94075847 763345301 475080423 911385737 82407389 617895897 595028301 87564589 759286207 983626335 631010771 467938267 319994593 818273679 748223525 678115919 463356005 392653757 651192343 332935345 240359953 882157089 638376099 860269707 484942675 404288475 554615021 24011221 659314243 515931383 727873 687355371 966612129 60293987 607063055 822422161 292230355 343009275 133083893 29175029 188695275 694579583 250414519 849679023 557414813 115538329 392266559 268579001 597082441 585746905 518548639 592198777 744458487 73017527 486488595 821991611 914202455 740203673 775174143 314084537 465942975 96824003 74401263 517212427 133452079 346123371 236215699 120843447 584675661 125345189 865600971 852780077 921254761 698851959 480497045 291545153 202741625 964985289 235383073 642004783 895276831 398012009 632867007 210189215 108866209 724632597 25405419 265676187 391583727 773911659 188172875 291738521 19091869 797974007 39944869 651475321 398908909 717422887 451562993 753880957 793017287 32732503 877157961 62855507 897480121 51692997 640076271 170285331 217024761 897436319 849937485 290525749 758692969 753646577 387791611 869958307 985085837 679096505 547873967 474793897 243893655 610261 351807057 396866299 273288287 498651407 176276969 429764533 324301665 356393499 378673067 178245473 416395461 540305805 714634481 160703209 332426331 181498859 449545025 364128673 356728475 911608987 543846725 825501257 939824549 316334833 178765265 90179079 975667261 558751011 94094047 269619045 475360469 856107861 11300497 264052057 822643329 702123151 801162293 392705089 203662341 877008835 117565245 767636707 939378885 733015755 67339845 338576235 907549649 721488229 87642639 533898863 699523297 22674495 610576519 958325229 211594579 681146853 553676737 468468295 642852143 139258835 32698615 353935183 822421539 554256235 633876365 322753333 263343751 684689655 711621645 776734619 863473757 568747683 946077995 543839877 32797255 270143375 252745923 192766813 218104473 140771511 276578007 655412733 212254279 652034567 297727125 47067549 279178739 389581137 7669579 63288807 867568353 479192395 234875 728368615 171262467 937321113 410682817 534288657 952033521 491965635 315817455 251158083 419343591 404992315 833886195 867771075 337595853 498319449 664294123 395755837 764047667 776984159 565984795 656432839 689810769 358761079 925362155 886249437 257662471 59086259 361860337 626108775 726407129 383485449 861197031 988892079 443899127 983802717 720349105 500613995 277927483 707977335 486541403 953801403 944962083 334962695 86947863 774684193 371319765 225006507 130598719 849492365 86786081 796968159 762719831 182274897 499063933 728929295 534907149 555983659 526624779 811181451 938086705 842598723 212481169 391429261 609230785 558163749 377580413 970342967 612391901 521884869 118694121 889860241 929321425 259079553 719294609 303277963 112805907 789620509 983243487 252746753 130044989 337342153 300926431 821465267 981609487 843783193 839198285 763269451 488959097 821885449 785679491 908685145 488396427 157737983 570668941 312426839 665816195 704745673 496110615 147364775 370187457 136386459 903461241 898539409 135325395 83010325 805161139 812138053 514264171 591340601 272905579 943536095 691725413 577951093 271074033 551935583 385897411 468318623 377195325 871053999 988517551 802218229 930147311 754456479 809986945 893494809 850654027 681294057 151486385 693989661 172788033 82973743 604513505 636362865 71711339 3814903 982676959 491614199 285265671 218395831 824563101 276115953 383001083 519863237 520546871 976609807 993839575 207581795 259079151 51260515 666946001 117043897 693882417 558836845 16218827 959777499 13344401 335142417 350623307 664915393 874748359 178157213 461022079 36985931 666778299 661286853 662957121 132814405 78336373 3802793 963405325 889573213 221116457 615495369 978611979 802040367 816826419 519448855 93437709 533881659 383486231 428223207 883263111 613390825 921310589 564263159 185715611 311193997 918150203 399709801 609610509 820043871 554212683 917039053 376304975 975217279 620820175 489518105 275193207 6979321 57804823 493239719 468832325 719079099 931074705 717224257 659272993 428789153 670758619 905629967 184380183 946151275 354367417 242508201 313296353 907288769 534161171 852437773 43443933 930163255 402760447 631919519 854206995 595916611 385398455 787248427 258636595 955561803 59289503 533044201 547892369 530335379 638682177 769626997 277150257 209922895 573272915 41651669 279421111 163417753 664752813 88715381 217331315 668857713 306160725 449501993 600026203 343637439 48286579 505996595 689522449 339310935 736847709 442372147 416921051 854946031 464707727 283807545 582940583 18764075 653332393 110619577 568799247 374820757 369600631 48524947 956268623 164663707 816853231 766176009 860905039 255112087 185672745 572777929 220853153 11737037 938251627 305216489 543441017 302063459 596367647 137522149 118711481 692606827 62547927 773871781 885527781 355134433 255927121 279043701 341690159 476855971 538706285 700259847 754941549 971428987 954029881 246090109 464809759 525102619 461115877 881217883 311449707 664659741 287496145 11009931 369750305 497056511 110464893 908963431 273502905 530345005 790170773 876376489 991531091 402681 389339371 659297655 722385843 378331801 873496957 74059103 645328969 3999281 705795435 895262549 281399343 963869641 789215491 386517687 120552737 743432019 364389047 980681547 939150729 86203815 795333667 402417213 834381685 234261385 658827529 42151715 730750365 530288799 645719125 759574265 234547807 851901051 652186393 696897319 369485505 344317847 410082195 257043063 135910261 32489045 937384485 233698335 23806419 648053245 310185049 658783423 287817431 563801025 664585187 292537689 209215531 973783993 463674783 251123805 597720859 811015657 71513743 110751389 371959201 931205943 186114783 117517913 29638493 258479221 805834467 791040053 501114515 91371869 658258453 877371453 556504373 197309329 937464343 484931305 694545881 608633753 517523385 172661269 75660991 220508133 696020457 917626887 118639821 720984019 765857477 101716075 348969619 194518687 173827727 616552789 408498505 758297205 565892789 377948743 16262093 766022501 245704901 154179873 740816295 86314601 339554177 710971699 725533703 950282339 916179909 71170097 756012739 488105753 222849955 53741883 774864729 411486273 614011209 429088723 535970803 400036977 929684501 349972199 767923295 283895851 986143115 236085197 232706323 922733273 166136403 890986307 200270385 618822603 801886531 699921003 278932095 137119035 565814359 464548311 255036011 762377547 54273455 632386169 986188557 311810305 126477463 73808047 917994277 576061267 547914885 543206205 52326427 948385303 365029393 278649939 407421181 252593935 226003969 192459907 594755457 350222053 595314239 809281997 655736071 961401897 927708893 844910741 481992599 922639445 697341207 812876969 85695201 321770185 853936209 538243133 943562043 987672017 812492055 692513521 704336037 908488091 966291483 927055557 121088453 669790019 804006711 695259435 560733931 148086217 537853041 678076919 201985807 685334805 616576755 247808615 574468815 724013819 945018383 599406109 522310515 135488563 235411523 1932331 755875307 894931295 273639471 63150593 282306509 720695813 855650721 758286465 370606679 734238105 832069771 10943213 491943795 673062517 793968137 201059827 772225199 66449113 264492891 131839147 634560577 34996205 488130801 441524623 545727499 102865093 73970525 311927173 393537683 461883225 640366169 146504409 445245447 802196873 501989319 716198979 724907327 405137441 896914613 931722207 177472699 535585743 435013717 254322739 869096867 337909807 89844483 687239467 274472643 72641727 527071041 783601437 721514901 214543341 900811963 885850053 669001017 955097607 256190277 859239753 843643763 832975429 863151065 222303543 674967477 262113227 38330777 580132229 200482837 276108963 661742805 553418125 587453011 228479675 959966715 268881175 254932693 627136749 569257641 173646159 350073771 551939069 187573409 132342221 961993613 673210257 948444879 744727945 60904153 700239165 666044999 300630509 507965079 457150329 543345987 85178819 100036469 666048677 598269991 348708931 165987021 192408075 73902205 180958217 32405403 485490397 615791611 926562331 306617737 522365235 630000505 377269987 667576293 492075281 576870907 239328059 478296741 506978141 574009775 688601437 509691243 796525803 693472997 517118959 723804285 410007409 312634649 801873151 110939593 451777683 436525039 694913793 294413799 849706713 354214449 463660499 653012247 203713717 685982933 949070779 143168065 325073281 58721779 127970405 504353265 26596475 998058449 996290023 486206305 866427855 491801047 716440511 491633521 708629903 664364443 66689999 112708517 766074545 630969817 279377257 826066735 357891609 719753073 200752189 535677413 811208591 344361071 920920941 965963589 908171461 558190857 848076411 381475705 693411923 927074969 307860567 232276561 124056765 834440863 849741907 199830079 349529449 313906635 682182447 205472103 446359977 194291437 784342031 734606479 269242295 820683267 78052737 570739751 28022709 658368813 953532537 305260355 603346091 917167033 128497493 79785639 310980491 251176217 264321241 720093109 153239597 71426023 827730229 629195649 272076371 203502313 57993469 621615553 876799655 391026185 283690029 28986833 673094073 699780955 864503085 142529469 75500805 582076439 697198023 52504881 37183975 683552165 896889393 326060677 822640301 237141133 812290571 997147577 991376775 28243843 748155735 668860789 643533197 669315169 647770499 856904197 307242945 564448557 485996645 136544355 846982669 97731345 113736507 771595055 403260481 210312033 233895337 653352877 743061271 569263255 399334587 399970511 202532145 756810581 236033513 975820843 805382167 542548331 360339471 118125823 857242937 253809863 847361137 931734325 518828275 604685447 390358463 631026267 539361157 941909997 602923789 673047721 341819929 376810341 927361751 254437373 961028031 199275907 433881091 4502239 194125937 732804097 158010079 265796991 580468753 774170307 49097247 48521905 183721829 288458451 383020513 751618807 666351395 284345701 19353259 904090489 133794017 21130965 322505321 229108997 330069537 483507623 974515057 755468049 680633163 192347011 680806785 550926015 426502323 58210367 911099581 944381909 103911825 188122325 170547889 7126977 959397639 911002729 713472853 112975515 322140955 114712901 734524931 690913827 954309571 295706591 638551685 159220927 625753043 273160143 561588227 622232193 998056977 673280217 544192533 87090205 235229733 762528747 682265529 6134771 836662687 136867861 991078483 399449867 376152825 178198931 245154481 500252181 895989907 733641929 385490439 724334695 456564151 369800003 615677171 242733823 458161561 946891955 486467707 583774601 351287885 338738675 542291723 410798415 598637017 200786953 183534457 461897801 465966373 66952477 678133761 849136153 260656895 855586181 668427081 914016005 589362981 298714813 413972321 267704061 426087221 421581413 917274809 521476245 811144123 371395403 624651571 105303055 824412965 383343201 862740241 373732947 545243855 894069697 996043265 685895151 355634167 83269041 412693529 437095449 914398411 426233243 854905047 80723891 311387479 757406993 693152287 616359489 972782233 786457809 691088701 244718837 823456111 33972667 537380841 579216807 255892389 167346141 488001855 736043987 12431593 613268329 13733573 61398433 759460821 492040635 608099685 858405601 324353773 173775957 142790777 164411915 191141783 629370851 125489851 286707519 518167335 521030455 916409681 671464769 232579027 538369615 875733705 646005889 519799231 20144971 926431257 886521881 673861619 47495547 732325787 148302535 280870243 831514189 351139863 679188465 862200803 110333533 934605241 636975271 682763063 226087539 913965847 74672801 407826443 414829685 631555117 365966653 310748907 720360055 789010275 414070401 848370517 522582455 847771267 232656417 422430887 173680023 337943493 36484719 768519467 675568801 237550789 51861359 483500819 272233865 112898439 918291395 624848247 137952299 422429051 228024255 323045721 630023819 300008051 697053271 914561187 926630353 7867823 682395693 942750503 429517139 489025747 53576837 578850715 799591307 493526765 258477649 395871395 95617309 35831153 776837929 291112903 889320915 915511101 867810887 264745081 586098595 544408983 373800857 254032657 483141541 852892971 35315881 564011475 967772957 235897615 953786289 213367781 926069369 206096319 413906063 3242585 311998025 587226657 255437261 658894633 770259017 132058245 956821909 428892215 837879389 121769883 839750339 739588171 672754063 753751941 549375445 753523735 783343381 163561157 289406449 925876531 332730183 414948681 617722343 601945377 710037163 110900071 111970093 273529931 107992809 420503773 996057317 821654785 854787033 915252687 687284437 225620605 208151665 927251915 507121771 376432609 685277143 704225987 329307073 292494133 456709207 395577881 626023059 942556265 658293347 474642833 935082827 218701915 266075541 838256215 160722421 314282951 829600179 348279295 793853261 747526231 392081831 728867723 136309165 788329889 229442691 422083163 111137 632098841 476530307 136349503 551845205 575874081 692255757 769236843 585683105 41484549 591527081 683413373 387042565 710047733 633880585 886569083 952878119 9142025 256653581 753796819 961724247 29259331 200999605 116677975 562878605 582852747 149635373 389962309 962066279 61042357 113132743 703557189 283131439 198238841 892073217 193318753 783091407 98438521 479963005 383465489 449993699 493180475 796495619 636866097 503537577 786797877 96679565 192694277 672225543 542984125 636259887 299394365 913613453 429000469 791091249 369872363 212366193 171678565 543944701 444426639 764682901 343819457 732602151 874794509 337534847 472045601 892778601 535264947 87757149 488092263 466596519 558955829 647874569 772433753 13337579 778828977 779962623 413011627 459569769 588457133 826633319 780510455 16146813 579744277 821369875 750325949 679669417 910091327 399758967 420935527 656772761 241205223 273149877 914921539 544502817 802354741 618502801 429736335 637908283 406516147 487845757 281417067 934719499 485426007 807298447 213680349 765279707 372978561 310586759 761900761 319914527 974336243 608673995 759914809 990014837 992649693 671369837 529059261 21960347 56869585 998570529 291838221 311096703 759131087 254381383 305359805 78404149 348447033 870826471 29570373 479276535 794375905 332947889 744388869 327885353 503477497 899394809 4395335 870722391 857443615 439250371 825452605 349266993 62986073 458976947 410835713 786676887 857756433 240576537 977687187 476295303 767606305 899562219 590688475 826685745 154454467 221955531 965012909 228145637 848348575 680171519 699401663 991460127 175081663 519835765 45448117 523161475 99779737 457223879 806572313 702892765 436016651 563002929 62202713 241553693 430907995 236934811 117843151 583185251 892532277 207061399 501599167 777626863 700533425 545572697 257110863 429765675 20048455 38526403 373185683 843562925 938523617 558812505 510569345 919429937 428469193 337256013 841648125 913507991 297257143 866853237 600248527 121660141 158996679 436535121 109159593 835989349 725002365 133212935 665639205 136407641 603005897 457582951 748021697 715972687 744101629 310579177 945749225 891992305 54680025 175335339 484805359 84217873 602888321 997341301 498518793 861960365 462188675 903669687 730123355 281399271 233295827 385174407 685810925 874781703 115498449 792934819 621497009 482238341 365664317 409302133 628700801 476980731 518386761 407216139 68030747 329992491 6758793 474718493 974964779 10643969 412593915 261283335 470966081 717663633 40093697 399771093 123240665 649527315 598812011 264216883 795961167 663056879 86525551 922385275 234060273 310684845 373589929 28058537 484035055 483016705 724097053 160285029 721407843 279676615 920454201 258729473 320226891 333773825 391525077 735015793 598770579 314759643 720471593 276164951 622504971 67009193 371140319 405492215 370858861 255788517 169922819 756154179 572264283 559833907 947600137 568400849 213202013 307269981 484138191 132824033 860927717 642135383 53478553 853431385 354617419 989397309 951647767 421630409 670510545 981684051 2749277 528093545 2844065 856868097 669261799 379025943 853437899 296246749 75507613 314894683 56175945 25738401 122256841 725879909 788979965 302891569 435330081 866741515 696663727 174837911 639979971 425783499 796121103 994537993 96541237 591408079 425983417 349434847 631892069 570585061 204724781 405665181 399222181 773221763 209810645 888112625 949799091 609104075 175156481 28203947 190174391 399273603 580473067 317828295 881152061 897384217 413415605 276633961 16692279 319855525 358932327 547503325 798940935 838242023 865026033 905114771 397565297 893121095 317609519 839002411 595785631 7224017 851060193 329455459 944580651 552640065 494008753 782534955 396292367 615657969 955842607 523191955 963893937 39903211 756825301 213602009 438169823 85374431 736830723 220119901 35153357 623843363 855674117 94202539 393776921 72846519 744850185 819828601 110028489 962950721 5168683 420527521 573718089 24960785 980647275 104272675 219201903 105892383 775517363 49962799 550154615 150687241 858957777 191516439 487368201 255200791 487448451 806990163 484792367 645952825 958460009 241389707 927012705 512430341 887531017 789159045 656150649 941156537 333575641 241899321 757828801 364026943 676504109 587318721 134196961 572409125 349003 66309983 298305009 940415393 877027419 60223615 63813743 665319317 330728555 295782835 147452735 400496519 89458041 935034041 889021103 808915365 968719203 111964531 12617075 542461639 71646453 936202475 955671465 134143341 442920669 605559381 603630039 376955583 40818871 192199179 186940391 569999753 753283075 150303381 416016947 156372805 505678633 786672025 175938677 944122131 47230077 152757995 867466453 725323447 600427317 317436809 457285341 609910179 414708853 237758613 571998339 369028589 446540359 314829913 862662439 694440789 536490649 281476937 780098699 173537345 106057799 893188353 736367069 469731009 653347343 995743043 374254259 945333645 92065695 960669949 443087883 353803011 575715459 445811007 711139657 913519147 314141497 77292101 124492089 630676403 343602207 323592817 896410387 509875445 39361663 618490195 909315955 711529197 942146443 379983513 296385885 605760325 389568349 233420065 903208257 454293835 713953267 75060207 674981361 766250741 231229497 794913067 706341293 962901989 237789953 645807915 102722843 390118497 19878401 131919721 855752773 601590359 597761245 236540297 933700513 249624159 315298333 588594775 821166861 132636345 642607667 657081027 472750287 847711309 665356409 135025899 458964627 257144743 141705773 354509075 728134767 284330497 431285115 697719461 973579231 973372473 73239157 173809459 280304331 950946265 253739537 199862137 133793917 333824013 109549363 898510939 138001581 595213483 732779427 952358373 819093623 86132535 733967635 236329033 873850207 375600597 401930779 92645089 605271635 819897941 896944447 894796595 967931051 806446383 824660453 786360807 774204193 81633921 31928159 234156501 178156251 140925203 89588711 765704435 162295397 189336405 312397727 649153385 58751159 971015771 742768527 689364605 534573 995817705 928860841 656444327 345351565 271023201 973851333 434099073 810855171 13869527 267222437 514089677 67703589 260059905 535897587 520897911 122760175 396420411 37045825 832211857 568515527 222318737 691994629 14768217 811568251 675269295 10489505 551517487 778192961 342094829 554848353 316207265 519746739 891378763 385879413 313902945 397336537 198858353 37196021 184289099 551733025 395998379 807786979 115034209 975757405 879918579 754755113 819496911 843528397 571762409 710586263 573419751 632393235 684706513 813708519 649075751 175606081 252588701 648233659 710654513 58429897 971700193 695435419 404340431 261595785 133699553 408560119 927517685 338553029 21180033 411496747 277669055 154195757 771609425 193456247 77514863 201621203 745898121 443546885 269261681 343114295 155988999 902123493 908231257 275199551 980018259 292254481 911534817 675656501 139588507 357693035 632619245 953656783 652091577 265270457 466704775 102267947 875948585 239887537 453482981 621546703 906823957 655276521 129569375 418403751 750264395 940954083 450106745 111337225 527827265 328016647 263525599 937168563 3107609 555885481 707880037 404092103 265718167 475104513 321449733 795016407 252199471 299473457 632561123 604387539 364391667 665451839 242368843 128692765 98651045 127931937 999181741 228194935 62789803 397214637 661888167 620149009 328726039 571436197 538654717 475810173 666604189 617614513 232884887 671175867 181614749 551065445 705478027 555137583 229329695 635815737 599290133 576718503 908964051 362463885 901152661 348356951 68331791 617817261 834439831 243930333 778202833 671123143 58804689 293236799 514195907 942697207 180813851 334522345 674879795 689550651 989271163 292766895 798446873 864704129 121140507 156657363 167729939 26275735 959086669 841047797 539046249 632414261 192206733 715052325 486922249 32282625 206141569 228199385 760119693 888851839 245989359 134422251 446487089 844724515 876386511 948074147 538320607 94613575 935211323 228567215 542879269 319808043 167807347 525250337 804342073 705040119 817288935 864402297 451707645 122217663 810444585 156225433 712557813 620006009 880000241 364787411 69346899 829807881 936803623 450038489 146468077 150401593 275717585 665383625 747478083 615466935 180981543 57893415 281525373 320602653 374283907 992513507 916362599 282115567 709268839 536376657 854356347 507867283 471795839 8872237 212551895 205832029 162144415 127512733 154583621 320183427 997251007 963334191 712652335 12692521 75742215 150600919 390038449 264277337 5677247 929394419 533452681 588083457 681367387 694565193 33627933 552761083 182302327 725378567 863789437 111169291 822858965 677198783 528500321 514413015 216909921 820344431 535351079 680133617 793086255 556345983 184479701 514603221 392113785 428944313 322200607 762610145 503663521 347211861 11540567 651562335 556232503 639666159 867810943 598855041 20253673 511015051 907202879 854445919 451913621 734533527 561596645 770638333 556971069 169805547 591679591 380419905 315117837 833356225 913035879 142084349 707069785 892274111 297942569 704257515 398050203 311596531 759541919 675887277 231498359 376183761 748768095 999332043 32937401 9927223 896229289 313943479 238859601 456369771 469567845 472154569 845399645 891178263 257989151 851842373 244937249 334208853 642116113 63353681 627286277 404994977 756287769 640769791 409971103 963436253 81912255 922738761 283142057 4134745 628729907 101379857 924210439 9743307 737096011 968611871 872667333 458338893 861531527 922353189 470800403 61724519 732733453 360734907 156963153 390743815 998734765 409678179 311753469 515744639 17079261 565005959 902709447 493861007 515357631 174809719 963986559 608861275 436224793 973395053 89269025 351421039 192529753 532576651 743053779 325573827 348315289 400653273 761258715 546394803 585864853 224782665 597697201 142351365 755263415 754671795 698157293 498231779 289343499 98919641 758992213 779264999 882385997 498127717 798021843 659838219 67344599 851118567 798391929 931715253 919668917 16298713 523388037 420394931 870410387 463107739 651235159 204568891 151209929 516297337 88094333 402664423 423193431 904470435 222348713 215133887 353826531 164852785 686327733 577976879 371633085 132773925 240887719 473788173 98080733 860045415 223597993 72015255 421036769 343152075 383846927 930362991 849896211 944332297 97435217 112239015 314420829 388983491 372775959 520061873 20639067 211741825 823691817 281753193 282319947 688349107 754607483 419808793 642679313 450298293 960541737 260214889 624698689 218224071 339253365 253290355 125941009 730074641 536309195 929684657 641672287 867673255 329702845 421115913 61668531 916817537 128059145 999602889 705337659 497171585 410738833 25444005 598557647 485975661 303901279 839190203 489888241 536550907 73902247 777619601 595474883 941456831 671641797 238523667 52360985 802908223 790197307 16157079 216619111 100375779 515021751 388923609 378036175 534545147 112534023 519550463 935352853 790715583 717741867 290707353 730899883 144178773 207046981 572632727 381122983 29119681 410879905 958861147 365062857 653818615 866398639 672366759 877319287 25667281 608310285 908833961 224981443 303035919 69689213 295989241 69226593 294969689 70985709 323130511 466646961 713361219 111068013 174278869 5425595 401196869 332416313 825349271 869905965 555791039 627128501 81030153 422849377 620622331 62941291 228853449 497734997 230669101 906694929 626693339 823558319 139673961 415567487 837258159 225177535 389431221 958926011 555654937 753902971 342326263 106728685 201403989 756214405 772215299 124721771 277366025 958841379 502322831 444824495 258926147 21873475 207126593 302617439 214258553 121215869 133691037 577524545 388949893 77942803 971548951 144585549 427296687 403501287 983300103 590336667 714537635 859885453 682753969 859651185 942971767 724226105 690853691 804328761 928645289 866707149 216261049 779433349 177011995 154046413 230497569 131448593 119931167 421121899 980643159 934003651 761309543 241395325 756631333 312561313 15581711 692596611 319253305 997919971 368519073 818381219 883751725 301927139 29079557 658527661 844610691 31682851 706501013 340878617 354303399 94443853 321671691 28873477 954039013 615931705 89580429 699800377 742650745 876424669 511609769 425213221 986382469 335972961 481985619 481829087 386255377 145161997 409513705 283110437 21358095 598147157 235966769 735326049 867698521 187529173 10241111 280895137 859697837 5874511 632430065 361288349 66563511 565532591 762537211 676377521 448086537 815255559 352846045 31429353 829432345 616815765 841616993 730646257 381327435 558062521 637792447 367288611 239085543 267863811 242520721 774308475 43102237 232917537 484710623 837117089 448580875 91356657 948540439 338458343 695759021 252796789 88577803 474457921 544555503 81739481 473688571 6034769 780307361 966448753 585851275 103239515 795642237 327492535 313678793 430657361 528296741 130071117 968160553 366108105 906112801 504285441 833162633 661155075 658364387 244826823 169565485 873278437 524846787 890268087 763252165 62571775 957517059 285048853 984046949 640862089 217899213 233848653 118833545 695590497 661876273 814054643 604390935 362785039 932719657 447232961 455404637 519237827 314858391 683158171 550949905 572363601 772080707 14996877 662680653 68814909 718383581 949473479 263108761 179709355 110019329 612848551 518437857 532837739 78438961 627551665 129553275 607076339 77844177 484726157 1894437 647724389 391042103 884218897 38248707 452763271 926729883 152066361 820831393 371050439 513181727 54548773 468022263 863156797 340491211 246523169 174429537 917267113 173889679 656832163 68327843 152776819 560545863 927267907 942339821 288071335 580552883 498630855 848502737 256837377 138461821 931810327 895947343 548160731 30851125 91478603 609432781 418491455 93744981 973292697 188623635 315974877 820553021 321710695 617544029 251181835 364565561 594687041 115929923 343229129 185043063 89754841 414009037 567990461 3366675 487546377 305275239 22856503 328590605 698082263 639819495 293490479 195198543 873782637 110508169 187557187 396188841 617036829 198641653 355574971 877321427 417627237 935005237 177151111 745897331 981487333 597704383 541565499 571152397 381964139 59902579 502907163 812271127 102845417 788987027 981792523 216963557 271669625 475624911 320253339 280323005 343369057 454272825 211110657 666007239 409139211 844129105 520058655 4319763 844276747 760748795 348911225 132969881 288746265 390740613 875650883 261316927 918884637 659723427 313532495 940544457 53520671 366381427 646232095 615839211 873777235 28052345 541638617 548559679 700670741 749525669 337190991 978698565 464226279 811672395 270410997 201044581 406901877 479755559 65639149 50766067 976713875 855560799 122483195 696160805 526464827 953744003 910394257 511756577 915816335 271883139 400389061 33258987 126217181 964070079 429091413 358737527 420322969 554654717 450165165 802967967 733611355 277760619 616740823 764696609 417396199 775583643 415636877 511752107 904232233 146430605 588716333 969095625 985560629 312017571 205546943 946079481 286035781 859138735 260182001 841343385 906439357 682671075 817848605 796524275 670307367 111497435 804683327 373930553 412620089 856815265 561024257 581019525 597686475 413970847 864774833 686443733 946412513 48547497 82655557 42043671 724316839 975487999 170881119 336272663 763386225 755937861 673690691 95233681 590545851 228601737 405344997 606718759 130060581 703844415 435047639 12802403 349707387 149135431 568957531 987958707 839943859 640338915 485438039 649892721 452939237 530522817 561281373 415593439 21464149 540630263 275518625 906727721 278021489 803849217 928676099 434571099 715842761 737624519 864905741 782447473 998023961 580987795 370481897 372084301 614543175 593260829 923959667 598568887 845567833 760110975 932282153 250051425 852211591 957038657 98542641 348706277 483342121 599928913 217616987 93177793 200790981 101892353 393865247 403913825 349595141 187082513 765750683 76472085 414881467 239409061 970902423 890026007 813645797 242650443 913927299 383883657 657938339 560431863 8295283 246880371 995959107 102263047 693095723 542510535 738292279 893655617 924340493 481618269 181572377 308075729 918181421 917262073 252401839 121064267 571581503 631973183 218011363 704684977 992110757 813751495 358297543 201271907 271700325 241303301 929798809 837865265 282166317 172901213 545100473 987116625 595797845 881922581 37448885 330064221 267841245 892845411 635843391 722058845 133450093 250976349 437967923 996620989 965759313 880342533 521495443 449047637 431901059 272192581 293816459 634491485 37109921 985661165 54100079 989223039 839648757 705242807 455264697 28763079 337812585 682143301 216100619 423393703 894588825 819210015 506791475 773992193 678723779 110826165 480381733 180225305 787353037 51887973 348072695 807235225 494610503 594109803 196339955 797521051 975947881 535347185 99765631 33785753 304920593 968067595 690565937 301748857 892395975 642700721 935223747 325440393 795503545 957540549 514649367 438240639 576476865 738653199 992874045 226229877 272995163 874322495 366544995 149109491 865382577 425571569 709532647 851182309 556890513 260055461 252690763 282501793 129616241 766610629 388264509 707170275 771808115 858882209 959400077 658393811 594551131 64366193 222683959 547494651 890723995 504787291 467533151 45872211 43046219 318088549 136047439 296893495 347960615 194194559 504075133 604898411 650563223 902128517 449701761 14911005 73503659 500260663 261402911 451162853 361866011 159806269 881533253 77682109 538215751 218605867 37326083 593643019 976487219 83937145 746687125 272271003 342090641 922804359 189249119 5549223 889690039 525145505 282430957 830512839 710595235 770379253 231391983 146138113 135651327 427224479 465438789 971741893 932573977 801332895 613021421 367127527 160187369 622639581 58548503 673182115 438089229 946791469 158849299 448890017 700739021 497289031 994760799 736589035 833393943 367257803 565481627 199715063 700143237 198324035 751715989 592758949 795731027 846645537 591637309 316890167 218829675 560699839 716850355 965483355 808630875 135199325 772848439 18113065 909218393 732308771 556557365 616644121 980826183 61752357 105554239 843830037 171838377 17504857 810363155 5704297 15046577 146632357 905565329 812062151 822052405 231295181 102493639 596546129 613763253 166891141 744263399 771994507 120911193 855936615 548568397 631086177 291206125 519647985 508546171 799240231 958269675 898098063 306594587 184846749 109456497 787020179 12076549 489516009 836294473 159555381 85330225 196496789 725802973 625054357 896209089 135934871 882223433 224506557 978829827 40044109 666992715 561425055 893902953 620426877 149879881 609239571 334263951 380244563 895051859 643021021 322947895 890550885 567106591 790318499 706038351 208284337 464053519 479909111 435059173 750130073 477436201 519630933 967829817 292719343 313894941 567080731 624860589 12718307 439561791 367871379 547662283 151299351 620708753 140372975 999318599 432668045 328089787 345882439 537602301 21093301 288153611 753480863 384300017 632750945 754440823 721047005 503730251 789526993 528004257 269631699 85934433 494316201 937508301 708910653 455392685 660759799 889764589 701871799 221893587 90357807 701277591 942630863 403502493 395607343 797415691 61066997 303370495 641300797 407203121 412482691 626116887 874448645 323036565 911914679 306760995 3256733 135258737 692240573 762535825 630828929 783853987 126568357 423537397 899198361 424564147 559704425 61133579 665706543 146756305 858872299 435630515 802593273 496400339 114552307 915454457 630783255 448126263 162529843 533371667 19934731 895178791 961716803 871842137 962351811 62933873 783559077 460582737 920522647 938018957 798450883 824917667 275258431 456423577 957763053 915332389 650288357 11278173 464149599 317291475 764107541 523471431 58654005 944030157 804335299 404174705 516244605 544994657 557668173 167022231 532794407 487407871 524882039 612056097 105390859 97368647 255977329 503330849 210591723 484136697 132278223 990836555 603663473 794015231 876272269 292965377 757533229 589087857 475256593 472759111 176312729 213379717 722020905 4259279 531992343 98416291 954799369 282245873 78632941 729585745 250201169 303453097 642057041 648658247 720742659 55593375 528254297 414098527 502312845 429427235 991705607 793278107 629196997 349703469 754007621 40950823 872124647 432810075 733091555 436582741 355003035 337020405 153011611 936834979 378161645 62538731 609751565 315618481 30392655 158833875 45315269 810592077 547798691 174751979 410440753 40188009 25232939 507822365 471477165 748380193 483230615 937611255 56685689 192788151 562372345 126779057 315431615 955269527 551471569 517134889 826057359 303044181 747665923 310602727 105519841 663993259 781499101 671284505 960994459 575554171 968170515 301764503 23070081 99775187 298878149 929238243 90751305 307461351 173934707 20747551 977336969 312178191 992797711 990423071 276109249 467078607 188794093 566065239 406613599 781857491 596999627 961763305 415962545 421634031 376689611 270917529 540458993 588174621 583502205 754942937 33638207 146881665 711278039 66341823 375264933 606251877 938244403 359243787 397730583 326987581 573577817 612391459 21551721 226849445 434110327 221564697 24899681 831965793 26820383 400141471 253988263 922152537 946616657 834611739 563365065 873507491 268938865 850650511 691442501 801037433 665368139 211968683 792120441 547987263 517796631 889951177 583900849 340098433 162654321 624297703 831004187 464803311 298596959 503778475 727840721 364714599 628785229 309756259 952862935 601577709 771528207 150010891 47941395 980170409 262652647 439138623 863097945 31034099 189940853 418942023 817721185 903685185 783326665 244110865 308685515 994240313 928815191 94742581 323333665 751872935 998721791 854157301 871499477 327598459 194017027 202275635 820832065 722437077 522247953 360742787 476826019 84570099 623141951 630691097 796879143 744028229 840364809 161664981 26032863 698169179 523218519 120157761 480502465 834681075 243183221 391000201 871064753 56481517 158617109 704489861 229371257 346868823 618300249 979559349 545752519 860642915 482145477 961860159 391394101 282795371 585284163 445956595 101944135 9674229 619361837 207645769 651614819 663124395 527255101 325070943 204772059 394893919 265341081 340449789 478844907 630897935 865310415 140435 622851761 437890267 280897235 209884727 136913719 53221905 105663491 458768039 35404143 327870755 904621605 94531149 167548465 777926573 927267941 331324727 45506623 281207665 513675865 516621339 1684803 278004059 241710845 65355099 973426895 997143165 764552119 177680893 584244569 308872469 91232087 718875311 571766597 764140421 588822797 930141387 256990683 345645399 403668347 197817165 26373709 873211967 589431203 170254813 281926835 271813401 487717877 466047949 435614479 125336807 650308419 67766545 529487947 787917269 391878605 865643851 393874743 600016951 736908343 89980095 189093775 563277703 107395725 175262559 600932591 611552105 171114823 881957313 273696229 795531431 640744001 504241701 151423713 45422133 743726529 870109041 931661115 723457583 41071475 593916469 66653749 834424537 831369067 166426537 645251577 280614299 15252779 665072299 486056087 587974667 274267795 663027907 412168969 516609763 911705331 292296993 834753585 492179719 633972735 429440921 62959063 2766465 825770199 719884207 649095597 303061895 919743229 464626567 964733003 847764849 317713247 277796593 567846963 284194243 40283475 256940131 691801295 421646123 456984471 768482303 674170735 699004025 821264717 620475531 44450381 812662697 67279623 145641077 112708489 687031519 255039927 694805205 298071599 176846183 247369145 154425451 675494189 739396785 727821271 277962399 952054879 630516571 517343291 865546877 146676101 708203561 570151801 983251903 390690121 142426885 480231313 17680837 654989883 535006721 60668135 791300243 614558677 132119129 960017225 829506011 454644599 159742323 136482027 717776883 899100013 798443477 437256555 696215259 454629351 405382199 994755279 845662521 42292219 297708657 252261507 452921693 360306351 466292873 307875421 972900927 94282731 787801513 802873755 712301181 737373055 595841315 423939039 878865247 987773989 916010869 659921467 744648661 241998461 838135103 619274783 613230963 678464531 760331855 540294765 229058429 687841877 806492311 782326887 947677655 664817567 12517683 589180603 565951503 58191919 115532645 130988161 417039457 305074483 29166489 939392051 949767337 688604601 957527649 424930999 687710061 378132921 883434875 712247897 443164385 7914265 379037895 774932433 965583319 620756125 999714643 137138491 340687057 845737721 623720017 668284701 888761589 993781191 293869085 722262883 639353109 192663687 600787769 973637219 915911845 786183073 547745105 237138905 525066949 232691561 848022585 29742059 75492159 778741527 24373995 755695143 956535167 933901259 701129867 80117891 523020189 817527183 78452579 703778905 778710359 598702165 462577639 905581937 451031831 381704951 881222067 26983671 317196013 511137845 227136137 972129923 508102539 939962295 198105431 406679821 470785877 959964943 927409451 310989823 878165841 474315961 106249797 514509859 651585583 292264211 198100231 339524785 182176069 357243751 34426109 626108997 462473105 566213863 262560215 922389477 51738301 163090349 626467955 730155515 827645975 718642103 68578771 979256673 444599701 418937331 73149477 330882129 11108057 103775533 270726585 548303217 890275367 510659363 498037259 548345039 288283507 793017715 431162559 920296159 124329295 989828775 374840991 458510207 275880957 238764849 66347169 330703093 697949283 688222825 627187933 966804205 38372115 39244179 279108505 644447613 289458497 755702997 226552381 624494115 646595533 27979329 567703649 32340673 743706689 757973201 656616635 360969385 164906439 254387559 883946545 252790667 377964091 757179339 224064207 867002505 220851483 577431471 50213573 696603941 824632973 516644269 217967475 678263887 39511137 716340803 504432729 994372953 655588111 713536733 699474977 100333315 719211189 406786251 517780899 254772849 884967963 949180489 519734485 623455793 795015599 131719539 283223517 68013879 966129291 857780055 448596999 950208481 69434219 205154533 852153029 671495411 707610553 361466357 553770675 928488093 128546435 337864779 402150033 713169779 951701887 783742093 470186575 782345585 81008143 582352717 360345087 41913087 763703353 515166213 293967065 270840295 695009195 576957975 665334853 996913247 858864829 547467723 56195275 581405703 836948847 378099025 922863391 66987745 483632233 962268613 183389469 225147995 54622199 914458153 281543879 674840651 479968019 139134049 31548233 761657839 254224987 270412869 787380725 226180843 934377753 800844425 597284169 506277451 580503095 178437071 275688935 96132487 39220049 793162147 977054617 578860411 746529189 472520565 243734099 811052907 312045849 589220253 860888881 413827591 280933181 823852637 446902645 212317283 333590089 220873437 421975947 156297467 421436955 722938931 604486151 948438197 909153083 911561811 695354531 167946719 851385303 118000927 586100547 440394029 117917385 273046883 797680881 899024061 698361485 300800461 527201505 751774485 665120333 586365945 637575535 677660193 421845719 850766183 14169887 20760631 814144929 490994817 122611097 430650133 468159437 551264151 333762739 230037215 22464287 300066275 536543079 70970657 251601673 494704261 283778777 737744339 138161059 581958025 608352595 905395791 827175593 936962269 16076619 500798047 39597699 675677533 17230937 504713515 373620033 981540297 26193475 225667147 308074907 220198345 717382129 325053117 790117361 628420849 945358969 945544165 664722247 560458169 27380245 557203089 282795087 949237377 748708139 579035637 699782239 302092949 569172801 333648047 370385525 131235619 543195151 231055813 327469627 42072647 224936557 385127331 402956031 431986177 479371105 975519519 974273209 919803193 470487827 481651829 76413703 213874883 149710299 613819979 723886641 477676631 105835823 576825009 552554533 916211605 942333109 226127895 845388157 95694599 35929401 249839711 655847029 197950241 890553773 27923915 807702007 583239479 203526187 540502537 455459473 43119759 178577145 92914991 93019001 168703311 937369985 238425787 358158225 673869195 389405525 460235409 182807133 280605243 969473843 225195005 200104719 362176063 546289147 710740151 392727933 257240929 566338491 584388059 760890151 847077715 938451109 685709039 195549749 938303151 493433877 439931613 495472243 929955827 152785293 23941887 879204955 997119117 419567033 583770127 909127691 258470345 621945195 579540275 257410123 20283365 427124385 197121273 864615819 536572159 80045437 552124501 252882657 177030689 48917321 281314215 796550413 604820541 995385209 112145329 705696629 417076011 456329897 217851041 296019241 215005871 761279899 109368589 5116383 333613935 459969595 667873009 707472633 998768639 728585885 718793397 236286589 544613845 917043195 334875171 550197275 998960725 427725751 586557299 682178087 71116743 834869855 341696577 721482403 34131037 428675239 393353873 371817527 246869807 858495079 353990611 366447921 149515073 959535523 697938905 402495623 496412281 174157191 870001635 964588763 657768617 341400423 96443797 958416241 266438797 820306877 789002237 283558203 689663683 830108973 533495439 48716751 617848533 468944769 343817769 684317805 424660531 871729327 367045649 379078397 154945339 41117135 456989427 472127755 75918377 693751333 963193829 694055633 532849705 416041503 980267363 165595181 315165259 360576077 428394579 621741991 287103115 415707755 587424005 709641071 858462405 948044893 557482025 45126747 966203335 782157103 645399009 483865833 744805441 474726929 358756015 362610243 972050379 575080289 767488641 274654007 158325735 468342179 498247597 486950205 279537407 660861057 75879409 471676275 197379429 349433805 835687793 452813729 655936079 956040323 988168635 999679285 394674399 335935431 651420865 195658825 420530465 790464997 575022053 937697433 530839301 823563599 525202155 871676557 575845731 913629599 451228927 379104311 786056957 599767707 513436085 263441995 841630077 969867053 331121165 227864875 535944819 833580647 182104941 683181531 62661209 962533511 967132319 556172045 35136913 484062189 721252057 670032921 441970017 790503975 893798585 878940665 938374911 401415911 469662533 227955803 926484097 522616071 448943851 234564745 744318441 334794125 990014077 616245885 34704417 543705763 846289465 284931029 712979961 777269405 860109511 60258521 117966123 629862131 310487601 461787513 245941591 442698061 419343087 667905611 41510665 845185651 856011997 204290445 491678383 494748505 597384767 28872745 186892709 605463577 463945925 773446317 365566251 631880443 88686209 256688721 911341419 444857701 307927795 619869683 172914805 160061675 148648447 563391771 144441155 380901451 82243827 753183991 108069045 925924967 244227459 843739487 22767767 360912713 391501517 62723539 666051735 795584293 837644375 556651643 580608337 544950615 339577101 959185189 472999237 982966625 272290885 150636615 85513179 854546415 685210811 596299267 17192039 843051989 601079703 216336669 538489633 112957709 487697251 200412679 240061993 181892027 870539541 411985367 293700745 834387241 196430093 882420045 277057845 518394061 960876045 551007695 321914881 555874623 947378757 857600109 391216819 172884291 924326471 317546719 197674995 433313991 621704723 332777605 15409743 858095065 510540299 580044131 401598277 851938747 620276737 701593897 206429747 690467787 775423015 612002865 928284005 956495509 356747291 349483129 262085897 123221711 13296611 118643877 861768249 217211985 4733673 802878729 767082489 440682271 364068615 586455195 318718001 188065383 212204919 417567737 749906095 492175737 618448351 337064043 199608369 267944657 346082127 881212639 685580629 172429075 548264759 441453805 821125029 2390539 836084855 124211157 809254035 831476139 298398805 706012543 710367353 255562509 960910717 131172217 394487189 10966391 922476295 534846969 717560085 452704593 313155947 934053087 897149445 786631475 421090195 795495605 217129571 759704787 559324105 454668711 840837133 865884695 777425605 773534861 327906765 514148363 701204643 232008167 699670613 808210913 746184167 338424539 210636093 246015477 89204865 344456249 322648585 432081607 536080579 583293817 332263199 135118343 931399277 315321273 443738321 471779207 737417123 770751681 425919067 360032831 986409459 837735425 669475547 445973335 260558161 259077007 359309915 420603159 460151069 768492841 387247821 218761715 394213143 83329337 243302665 227775365 199137905 435298253 771252689 160791443 277257919 315150747 368918223 977097479 692486911 741368069 545675669 76273397 473899667 571877137 928132249 252304791 213310027 790394989 440018495 611936591 742481757 703213169 762020303 459681195 396152933 629059103 689538171 191992925 643246183 158643993 740059227 553883713 588780497 680704179 369533297 119493211 825489275 52674785 673346215 683828947 719947677 732471619 125195471 602297853 715981537 91533859 665033631 961575255 708681043 944956781 984922297 617839747 531665767 389593529 842917545 28875851 558087931 985026887 938076127 815444901 493034579 476486397 275049395 615298729 819330335 355862891 709549927 628585371 926218099 515371465 268493093 411000807 604931787 456905461 160303359 724414753 550173455 113780855 600812523 395599875 701486985 103092095 577173707 626435953 122387439 224731617 728994155 518090613 252278111 514533665 418817403 828333125 135724383 62153571 862451091 2153785 245318365 299922037 17308213 67349463 804869931 835417811 97032395 925307591 724781319 252897433 910701733 733229279 535446425 613167245 152008701 504143897 523807085 41463075 621879539 892199065 628333429 834148717 392875155 479801259 953388563 96831021 483316685 269007553 239848971 886177995 706744953 479121525 810275207 927093331 605734489 693612941 305135905 657087615 809157141 402204657 952352467 708271791 108801601 106914743 776610051 802190055 700940373 528225307 247101823 729191641 511775155 735248509 945603195 325006043 732564641 890483563 927003029 833180909 308854101 875378069 606997715 115487157 89788133 74369755 786045345 803591555 825081425 855401789 701894613 301917519 443692423 634615269 893245611 101954999 394755669 663985195 195635659 930830851 372817781 842305157 18105919 383885603 482732935 223938459 47379839 662421675 56119831 452442933 69107301 232558047 408515219 684172103 485047355 573671073 989415255 435752171 829663145 781369477 75711139 231831911 799444423 238146497 697367967 124145957 137747731 93753395 307400031 702779577 344712305 755242081 141231067 611470811 324193327 318206077 75155699 777881203 5340929 94339935 601589105 834153865 121612037 152093059 933050377 529888849 563480769 82520081 739328591 249376551 341840415 821203419 428888521 42636429 245756281 226568277 566766813 815576111 708057737 573799071 209805791 407293409 535977335 795550851 686604295 525172379 215678413 837999981 351348853 871624581 935754113 546274675 682148659 702729447 218375155 601948249 339735603 784762165 325782245 643894403 967386191 666323467 33323909 737451011 140008007 429762349 369496425 887612299 854706627 100356995 57169807 304125823 738487895 485332003 247519579 784344293 849371257 424279879 726061977 117218925 538908301 648838483 969322881 823782251 76147675 976311249 881691567 245569251 184750487 418410613 798609703 538127993 133749717 512993819 174928985 972047739 649326235 738313159 565694487 30077925 413286095 912077729 307878049 899782483 91707715 973244415 901171357 346589195 918695859 553338971 562524693 145140735 752436157 992643161 447679359 521824199 722128363 761022661 580366009 396480415 942669487 997235343 440784905 638452847 10018145 723852759 272351003 789381321 253969733 707113179 720575493 437248481 321541249 367213323 323075139 706630295 447668519 766510071 228460477 75441267 286605363 337371227 564449725 203273381 362781315 141921051 194841595 854564099 77857761 697987651 843694483 506486029 776864255 483747845 844263945 768837865 8267637 313781179 277035083 259396199 60465861 677347563 839474609 823836671 628048217 233266751 333734133 915011023 250692739 222627977 289761595 414009503 365809273 397021125 106480405 892142301 956751199 362742809 541636981 324258211 506473021 239821517 420634809 363423149 149886979 224804691 781908391 648398949 298321551 722216011 631889003 901697241 285848989 408325237 620524955 215045823 448126425 667158461 48370995 937100665 42495443 801044533 959514521 461805325 374612741 253941019 6272155 776900393 804881105 683058127 539032687 672794661 756368255 677075167 313334959 890012161 247072063 984144125 587881315 688542051 848467247 773451269 18747897 731919005 78523979 362321401 21082179 591978659 385866879 764708869 619676545 840264725 256955803 958616445 623913813 374138941 654525017 273635545 316527313 725651973 182122329 763304641 911143783 349626633 524196391 222806269 127335925 450063495 831291443 908645249 208431039 197695589 812973525 152445801 38323573 192377907 642515791 139513847 515975721 79666217 2236875 910050713 268598363 354397733 851320409 897105117 368766193 949535407 534738675 793849731 502994485 104946165 286615417 542495085 307727581 443110609 297506999 760625573 393423111 667529151 89559387 609953633 929975097 499915241 799991041 583270137 535553375 989333533 737758505 935782129 259893199 843761105 687224893 713201397 777642567 505348647 301044877 480615129 496072937 700405987 430704979 566969751 538114887 526040951 639944111 530054739 319569233 168640505 938836397 641832281 689758313 284367401 918941499 672473369 109309521 287584879 142465333 514909491 318713401 575298775 451519067 666994533 384795571 460560923 806483543 579395743 854633407 531882139 851057847 371178481 99977153 907769179 887244281 147846039 357419655 223278349 54110333 849923573 60588357 360681733 183670153 918840983 172839065 138375239 820473937 944100653 563042697 729745527 84696815 242471063 607396993 724204261 940932963 885074387 626593877 179465097 936225429 8522001 997803847 70761985 70411097 557215905 706863095 385523349 396948839 634442241 273750645 539138867 283959903 470903505 342005559 879564917 748190411 315273693 987953687 690553495 437244191 134594075 917865309 826921603 161707695 111506341 458166967 643694277 225516225 854085309 320065591 305048729 477171067 903245005 958083933 352110297 723604209 220648301 958870027 53687057 216109595 638680403 533073811 401145453 603405785 285137255 532847015 534673605 387934197 858289073 623284069 504270233 187100705 716443749 39148113 788810001 679262967 156850397 916060507 733172985 746819317 795022495 883938775 250411467 670411657 327596629 85672065 823795109 216780799 320822995 274192511 649332047 600096917 346777107 859480159 59977017 267708777 345368119 539178773 820850297 582537605 408482957 828954879 41098703 190598107 922143879 162178787 788008609 670234181 69835457 608060143 373751295 762924161 822079997 999577525 118434207 121866043 107672615 430459699 249148131 636871941 456487251 31925201 44639185 570198357 386421947 220994393 553434647 50536847 323358147 140954115 41654287 556117499 483249909 719851881 871507893 625308875 416990981 958896021 178037171 764484889 57050575 924724719 814597207 827644899 19623253 143380561 214282391 207120661 7200965 750839797 198797589 647908993 18560879 90770561 416098581 939891421 41994703 704188163 446680457 803887309 759198343 540094191 145183751 632403417 996679015 535890211 730135503 392558963 464175197 731503843 217827015 319078387 665962631 813730527 886680193 854525339 614677801 274948139 528133937 377740693 330364075 891642181 741333175 481078001 518527395 584906511 831925659 190135211 289562571 419806681 944265229 658270623 37358855 580730969 508683491 422938011 712013923 355855529 244997787 109875791 388470545 108304209 29419615 653039443 424642923 862973503 697201917 806922283 466979829 422820293 216669165 613424445 426979421 984861603 992378445 861158619 95807091 412568061 91648997 797254719 710485813 7367775 111847971 800778379 307274179 805882049 232634143 415417797 720339049 435556479 175644315 430923235 273133981 165896031 822012665 820836283 527570169 723208843 913074253 962073103 110684733 378668957 646494539 510168713 403775577 337074575 475643477 206573753 754882653 481144263 353577583 497209625 758736519 81634067 308798027 875337227 129781047 126922921 706326847 149843159 665855995 813211939 120392267 938533549 20442757 476946313 220560151 486165929 744717233 229429831 535803119 879577035 572255361 645787187 845506509 292231677 922146591 189088651 384561487 354871055 510808547 696203505 925299645 482698427 764882501 16497271 107415815 252182689 196746215 491284623 402396099 786658125 74826647 627402517 453756975 530032429 299877959 742757971 769103669 535767965 717489683 425492465 744775011 146943453 715556669 162520073 935292401 870172183 597891377 206231573 880076733 143599195 878508419 918267387 948389453 439356323 781290221 411651337 787912405 15035087 477947985 350968563 71492903 354315691 57192381 855767 487166149 263843813 790656357 768738363 537770455 563345433 428508319 895489547 222911531 978058951 919038709 949142427 783451703 362294103 617860877 234100653 263677467 165028125 56561085 188944737 542619297 3181649 86552319 385958217 536915509 463782163 790960885 830687829 967084015 826011759 407446255 130326759 182219407 405277523 86499419 177420225 20219771 841878939 125758935 877866257 629054403 287460613 648014887 354946925 106384671 172886591 122859827 921406675 525581037 888758231 198352145 238476199 837466935 392693573 332302075 355657655 151557031 611136493 346052181 207545143 950634137 397376537 617788841 80892357 743443465 330373623 229851565 456232805 278123169 389682339 905966649 336471943 773876911 290928411 204147539 171539455 631095083 774878029 651337251 615541257 478602931 184119045 44201983 604301643 68125837 150781697 436618083 715822803 968618925 613015519 310041327 256918039 866148261 234483497 207071343 52688369 471369655 583740497 928185817 658472361 816635339 91572657 594443845 684811243 771694447 177492871 539085561 731071437 637283033 125839105 253815391 794388429 152348137 453941547 163278601 194957005 48091433 696410627 669348533 308807967 529456837 858146151 818501443 974383477 44256149 71227937 745114561 348160491 786442775 581441763 224676703 121461003 363110775 584705861 280262781 7726269 237464191 301200075 131366811 450688859 550301353 582304219 485576293 563877023 11783955 458568393 496234669 241710255 800878981 242438859 658220401 517894937 428692847 685880581 818016721 719758289 738244837 715089279 520302107 618600501 900104107 519978539 766958273 907194891 579543077 630143969 798088543 165587071 178273379 464142181 239359927 558975783 2655003 646274141 501777077 547172095 229689007 595118683 985210219 200221039 127238693 212643289 153589271 613111105 547985451 897916729 662293275 30289325 907428377 228419011 64343041 528898381 38770417 458228393 729081469 242105129 852444757 659153411 720731499 934633391 500988313 45844947 541057997 951940017 847298737 87758083 471365071 472605551 603614525 336771685 249024453 833844109 184421255 346319791 912806185 96160281 395240827 335408773 1730973 444119431 563689393 20237679 301345777 766969779 656649831 266478813 386670867 476225255 444590729 904300075 410713889 72888525 140851361 487255707 537650781 308433787 858160105 610823249 28918837 475945581 180271935 638561125 131838009 915218825 834359851 724555979 476130597 735591453 719209435 319272293 521126877 342716383 985115177 409236735 171109483 816962025 178240147 378753865 639979779 902004163 845593917 324799707 674172163 669609049 692646907 900724279 848643049 686704385 865179459 39401671 691575907 385828473 83003187 627943387 777247047 946821605 201847441 408414125 970644107 692696529 698954193 630447709 277589077 906893621 161797 837317879 108697583 578817133 752877551 120899691 882507983 666159165 304475383 389925009 174287245 900549333 747519017 354808107 498822383 779632839 383417663 611550945 990299359 13977619 774304665 270914119 889509743 626333983 453872443 333536469 957578715 236104627 596723671 675707373 229132167 15591435 204302787 950226901 526136575 103201215 584156927 144111299 718989045 107008215 517115441 832286669 400623427 679022783 434646441 411950581 892803055 540523341 608278111 213462819 104951331 485824445 913423601 700712747 605795633 145079223 28183719 825698501 344684439 77675077 319209071 871959185 312268789 605937885 402974179 261209627 54880793 627158111 96671297 543022801 837020661 105627149 752658285 40488719 715907749 791105687 447410939 723935509 2577771 60177167 755404065 746026507 547217585 476500469 210941883 475998981 617594127 964039725 530117973 318557691 433627709 877096453 528684571 311610061 691319837 698559537 156948199 312098887 436338621 173471439 416949813 88276759 805505103 34204771 418333485 926888663 74971695 194759901 715852449 951279371 631271903 750716049 404475909 737889307 296124683 742415675 634060409 188842581 423790471 801644289 433607623 839080695 673578061 386747249 865614169 204109087 286122623 829057665 758860619 117937367 32810093 943931275 877072731 665188883 472949381 657970775 616126959 685129127 289676389 756134419 403598615 387037273 329560527 184379473 500458379 733995471 910343599 539245071 212981161 273670557 190864665 200677557 598068857 483045433 167760967 129251599 619600555 373492231 289813917 794033745 604740499 837546065 609559205 306786071 415156277 595808325 419992341 910594155 489456693 439752189 289587141 389019831 106989793 87077757 833266617 915484367 137589301 914672043 712795935 930223347 654131661 482702169 676355143 886081479 957359087 313546307 155909805 369383257 401221261 439603207 137616885 910496285 11756607 496545071 655606505 516609011 13577537 167960621 104645759 379133213 888297595 486099033 767725263 891453257 145469567 651782391 74056223 450002573 428959361 896358445 693849559 717863525 978728289 417385485 280977293 559935673 988463271 184184211 132728829 102270675 834065795 875446685 404563463 815225963 209807819 80037877 886516153 394113179 915690239 208592461 387124035 998980843 265740613 525071677 538884101 474149961 910452845 419585351 992188797 139823111 592112367 363630037 245808219 287959269 224604393 494350905 319775087 32075271 319998243 247707305 770536631 585996795 25614347 329114441 375379027 540413365 931198651 345123105 262689681 509422995 173390831 900250403 262894563 867539547 783309073 677623591 866580963 146991673 263282991 167332591 305853015 578345409 748097023 243841829 386681641 494876405 415273187 243638873 753665133 3020853 539549153 210354693 306201947 820322641 930549927 959536523 539051867 95765631 869534605 842163507 564455669 924266841 727379603 835906351 628866781 269666279 837503583 176901271 841574125 859368341 76019523 831378541 210325291 616483899 685605427 623575195 303642817 654411025 462713295 987217649 822451971 915311041 905840479 239399465 683707499 707498325 868951507 959364837 271422365 822542149 949710529 38834347 490816611 990171245 82143593 986066673 567213233 880324627 636673969 153776653 148118947 454625505 119913769 902433857 123204731 710059505 193607177 483090103 297512869 228123581 533559343 857925759 96946613 177511211 582088227 998459283 772379749 741869193 183067155 431569875 430055833 876245131 548809945 591789579 411395163 554058577 936101105 561678059 118471135 533957981 365700485 789030409 833236609 191232669 493492065 74359531 439923909 352782183 471774721 960459769 425634387 888499575 434255487 725023619 929987329 713047285 258679975 995230915 958682057 292429163 983578085 260899545 65183183 901229777 533771857 289603025 58128221 196632707 287738283 573296537 678955241 273147973 871319643 547226381 323367435 616777541 554445933 166571757 368474759 735179035 184719515 687120611 6164811 909822657 887755077 684691583 528759143 665695133 319362415 14815801 44757271 538573435 536124361 840732791 524055231 663137939 503378349 473290365 657152491 486178435 755104281 922951553 222201421 567216971 922321587 501851543 541327551 159662429 115393739 817137861 887651399 718422413 433113177 22768115 973513997 646413335 427268347 307043311 366650727 730268579 821534457 488542839 860421841 335673915 268778561 416093993 474307307 1906261 67280749 922010769 497868931 347727313 342410425 572563229 275150987 455515377 139247887 106672681 105843997 43149667 345644795 513635059 88595583 790618941 836275129 590976937 738476059 962665981 62826531 164900439 816269699 864134023 383149509 119213563 500358517 660313385 966651851 638437235 847758033 656119445 804451341 672491145 597523365 126712045 90024971 666819823 312550947 643394485 106620395 591404351 486788007 256997337 498768767 25036793 16435123 573332653 64876859 262812293 606931699 100264689 605295935 649652277 659828281 749565899 82555475 587687749 768291715 275790787 841745127 579048403 581125363 296471509 74904593 883639529 959621587 88912473 178835087 952879481 900957079 413172247 903736779 754153821 304126169 450416443 804083925 334042707 429694561 457299547 131750239 663211271 278116373 949439349 653516493 213481995 871901705 977704171 255906085 397161685 872447355 846855823 956513301 4544201 373043661 748134033 298723319 266992175 797431177 453983891 191264455 10814265 893064037 114221207 365755183 456505089 306297143 805177869 172251003 767353477 11060489 627470023 167725735 473394097 684551169 716111365 658880845 932167255 602256757 168009067 66501305 693345581 370171871 764882439 723095511 549942487 883046883 474334029 405028927 21854941 754120011 422960155 928199473 823055025 463254541 532201399 714793107 394875563 195832641 718574285 107849719 869873933 909533739 469765235 197821329 950183169 700306233 931940133 240310593 548123545 905270523 632811979 333212047 815280843 413275437 223439535 178023595 705838203 168898483 920464519 584337771 204260209 584525207 915308403 717321293 238044253 649617423 418312181 379933307 957463773 218756979 895560187 974781123 754020973 648695881 457188829 380485789 285653881 209002553 31977811 620624167 865386065 795061531 6251655 959115305 717502511 713739237 764179205 479326993 7424053 486672317 967536321 34004983 982682731 96006383 105026329 859130525 307359425 332257261 699744209 640373093 675031571 499689553 821718553 571081315 944687905 30725089 894346117 984745035 796841365 694583687 856121617 151508351 908370175 285557845 750931491 438457091 20412889 838147719 410534281 754338185 775519877 305966723 864097911 312565863 897655371 211041233 196860813 948216989 358614107 293831715 458160589 23314387 25399505 743948889 295592357 151189845 756903853 383312755 524270571 395349277 287516633 58033053 145428187 557966537 620239397 562232617 105655581 358477473 540897867 261999509 63863483 774541461 224252909 191325827 930971693 456081211 217788305 596542141 693045071 826991313 764622253 697417527 160349797 79667777 38222743 690146827 512674079 781730329 711419023 253684095 525114767 102857105 244805827 648337149 483757365 826041223 811670593 375885337 120530421 654201729 96553987 616825229 680563485 63700659 500335337 718037565 675168353 661203695 947212991 918371379 540418785 47659959 765014835 517949347 548103197 409266483 207940321 980111337 867097351 925361969 324554825 317751943 883768051 97759783 512502995 228945961 653381277 655482933 326526931 262579107 16891693 140391461 222199169 543540975 472043821 994823779 174934525 401756721 680517525 100798983 423848019 697841331 145880767 267035601 15483761 548530155 96051571 227462439 626108211 347258481 894921183 432921881 520776537 301320969 984607381 461663071 388273291 149441439 367520149 677972311 2673501 215819847 22335811 26658057 755953989 208926267 476841323 613867557 58779561 105708767 784846917 557923073 196062925 578280127 622925165 156854171 381047013 294387851 142901993 592184989 818146059 313558563 516013093 121251413 102856253 38984581 792082677 201603003 36643433 281871841 47179931 128822125 738234203 881505415 538727095 769100977 695570385 908580339 260151385 431190651 546062953 520196297 769655541 902793309 589930669 313199317 329864043 589477273 412989969 538994183 721950461 366777367 634310889 15157119 287982681 934044515 277150075 508920957 870621333 617943993 155051245 650687339 371693613 946820339 81505873 775737569 288765961 207256477 883928995 764507285 252733557 413076961 379570881 609854061 986522147 683351197 538577013 808688501 883154741 338213961 281948529 23775455 647129645 520245267 484458831 543502597 107219195 248539333 711570317 718833261 306003955 652426713 707410583 21386433 504788177 366366317 525286079 878673363 915149755 802938441 467352891 769151137 393203261 563193565 692973359 712328781 289025105 576357949 386541731 464408863 597981007 712252461 866760585 348981647 396861183 940350225 991910073 749879095 585454733 487370489 560419063 650367449 234750351 534464155 901697513 690119777 58203905 834432089 551154465 536900579 252783177 687696185 38484761 710164631 856801847 774296041 78453299 365473509 845045243 934542785 250048439 374768725 640511031 577556417 58450647 973084315 700547053 130985873 746729899 804679827 96715149 385209471 543448631 968195903 948377065 579306113 371857249 811126987 65589569 485206839 109694971 994911627 793259065 914593003 346772415 415401721 136992477 720335753 428039247 667237049 532978085 788469161 42173491 50743701 397950573 72249737 85302747 949726849 940053883 236153877 109336741 655139225 485270139 459911639 231017421 440778017 419770753 195311625 844740991 377372801 455603215 405633417 796444619 497549135 774187013 612343263 369043371 629484613 933898419 678039097 589043713 892863047 852565453 446135409 272419987 161897823 172533875 837508101 299213079 501993923 808506919 430941465 154815523 221855435 335867863 779600257 691996729 960980475 769309401 39726515 863745731 7138305 559389675 240832973 763269393 211344301 512893999 567590549 32040797 306110715 657127479 887207037 428679625 252794383 530215669 802127005 202666843 85247029 409984197 720893361 171150601 225779421 990172273 799654177 986007209 135807655 106813475 214780415 689435645 397991505 599316079 438146559 946269615 5110219 118501717 660598915 541487183 665612581 248719161 210338703 783441749 37164957 2673641 825774293 418083367 651464851 700082585 487100587 825373963 830162067 834583527 69622545 6094385 454947923 549003481 950964397 947182261 799311277 532758491 433493967 998855575 135573155 482155715 750290287 494133439 469546591 445576911 63350315 586592769 777458745 253430689 166103883 490362389 82929831 26362441 765928381 736095131 387076689 359642685 78407451 559489567 915956989 366096473 404663457 129526543 357136035 211396065 96114233 658732231 239639645 418241923 625876337 44106631 456670573 384179799 358308481 302974583 272025663 342767831 491855173 588535979 50625893 436411881 350686793 235434523 472472733 431542233 752695225 874370215 875128265 451358047 740096111 541079323 326918131 146386071 60804327 102813221 535135311 511600135 90079817 808727393 219068215 98606491 497186151 203611725 379025203 302678953 822561717 485606231 415896041 10247149 538141267 607619275 598375213 32962189 20993801 313839591 243851261 612403479 428531015 522126281 402418555 228762497 80709923 426800253 240149489 256267557 61706845 778030065 604174291 104601035 374206811 779668223 201200829 834637471 772441645 269366379 931330163 121868599 311008651 175456219 936459741 276174481 201979859 174780643 856954385 889796113 992438797 915793401 932590409 350497411 941379817 569269635 981354983 505943327 736937403 825235141 80017787 850578049 301708679 704375539 465463731 624096173 955884527 79066661 209729389 995080979 690781255 870674527 359744941 717146503 134035589 684022407 246484635 314169157 41055813 528681841 595539597 624899827 439367123 518582483 594629373 117490335 70876955 749783121 709842831 873884349 457706167 130492531 146581775 807865643 920432867 863309227 339971181 513007663 780560519 585370963 824886217 218073973 608628789 423666857 770701665 863530771 24988961 113933273 859530917 55271559 281623083 222810869 208475429 561091507 81444059 27315955 913972125 594825705 534421601 439995063 277905137 192194265 110836371 43032073 280172845 521671077 473427185 993624731 413755011 852220367 290186145 460027653 781881421 485208647 77076083 617414089 320582161 39193183 483085279 85249619 544431223 672207063 749641731 844938223 309126231 137162451 382981031 574014681 844807591 264801503 955486521 248627507 629183631 844613621 746046419 5249541 308717141 733098605 447478833 338638401 312817777 681613069 729841085 783270847 47808381 433592837 290167173 858751041 78444603 363135977 75031871 618772593 847659671 524042421 669896781 115625183 10065571 41507537 990608563 113617669 358183837 207742983 618032677 93463109 294601957 329271949 290069749 129354983 714441481 992485379 170044197 960099101 195894971 337390699 471195483 35030527 389955031 938508595 275872745 562570383 733332575 709374513 319669699 882546359 790432127 970061987 867382665 383509063 854690441 150823469 174849155 929610233 897346555 567437787 644814241 794405999 554310263 185469733 903121529 944494385 69145031 668828903 336613963 454363567 850256351 684511845 880717565 580978757 722956763 307980879 485079583 464979251 298220797 565048249 286067689 686188963 797240753 712439071 807781433 957020325 271254667 827658087 854712215 619007539 172614981 175352031 173909041 599377967 824688067 553809467 671002849 764819295 30517519 354216857 489876515 808039033 846872159 704418175 165905697 35946259 176664075 171834841 817758887 124475567 538926231 473328381 481178161 915858357 395966895 32228009 267039449 209803385 612936999 206796543 548748395 242144307 605557241 566836113 644590163 396552709 646444873 2674257 51945641 816547829 600554339 272156827 405490477 43630585 112557239 904318519 258559047 835208933 302590179 628062803 897406467 152876927 15816619 732747905 25815323 759223151 255756791 42544577 272429549 379738693 359702749 182161271 342404995 654459001 894908057 505924721 3982471 91396209 511814539 617690595 690459221 55263601 8282943 812786283 781243371 924553391 336421739 318883599 194591983 992019519 494604519 374128187 505151153 198864935 313538745 59142341 563398953 179592527 436130571 381937897 433477621 396852869 323178031 695323469 57226077 156727175 192271265 390519807 995946831 797812723 395276039 120780661 502311525 493934165 910938407 750169993 155519195 441999131 554065657 238329989 386281883 537226657 321909911 509544465 131705649 209040165 452741185 125311557 216899801 383133653 976515943 489546399 779358061 652214717 974153627 240035075 479417465 497233371 245921685 578007741 673248041 294750989 139669053 877397381 578753877 869579549 574050715 508149879 243631229 808271295 371147745 157662489 312732871 957119367 671338095 678342229 705823237 297874683 559994053 834870661 554822827 990502785 382465935 327708515 355280601 563748461 138865057 292332821 618537815 491878389 306260211 759428905 269461141 479447101 214985645 903759507 154010537 481659469 424558871 48030131 166938961 894562583 748537509 737966923 490512119 653247093 860406515 943950729 304142249 223900197 139693763 98133251 21482783 405533909 309821441 507375541 955331767 307740433 467201729 66354695 863761017 287560791 992105021 997659075 221508115 623073283 706470871 139546913 285332447 237793893 142294559 942507453 160969689 425247657 76140995 964760475 245453995 599297257 120038561 67232299 337909921 726965543 71820475 398535999 69918903 26033741 656813885 621745175 90650503 842919469 457711995 770600023 246467165 320046973 653526511 338687757 319074853 972836577 674512189 871226285 772285047 393621473 218234161 276293909 271840403 694945775 499785659 977617035 172927583 642134371 316868601 116254395 736157037 282822785 307733295 788442299 963959281 862867567 738746309 368661767 92283851 11977791 408180305 785861765 634781571 418571755 19992717 879038341 388497737 748192597 209017437 113200311 618656241 98963781 920340173 997557821 6252543 211155565 471388941 79661721 829187735 428037733 824939389 221554105 51081353 33331887 845952155 304936435 941261645 781767605 732921879 177710853 718386177 587626951 677740993 634050835 206161003 674217503 371284629 901590953 63128575 454621151 442503609 596079807 888479439 723718415 250715507 609438641 317124253 953050527 967389243 89966149 333235153 383166059 501066153 685466535 579732089 810406965 245071235 115370347 344102731 170620577 330555059 901465745 969639081 481685317 358170187 821378175 440975255 53108891 197692041 879737855 265376455 407397119 43779021 163783239 60374927 49072063 350749093 952641525 743216367 334688265 881020867 317778959 575799437 371322361 953661697 279122179 230510011 574815119 654655077 313984419 803507309 491038133 611966489 430531629 742877763 392231739 147022449 219369801 965994885 936067035 179896549 541790977 828216867 66454327 979747613 943803341 33316017 630782933 548648417 464911241 886170483 452642859 348311589 627485305 823324493 574115215 898039813 520481357 976238799 881201475 476120515 207272215 469453617 198703471 769909451 28066391 28224847 822548007 450076335 169258481 459369141 521808995 689499181 919439155 117938833 571319555 611076135 13666769 989564599 380258259 854076071 124182249 179233449 829293697 340427745 245018625 915788431 326467497 728626481 41859589 49390133 276836811 751245849 988858955 386034711 51807825 803657543 942699407 634132047 328482953 140879241 551462137 891241385 875196081 398001887 358816019 514061457 313085159 22844779 260551379 481777695 718728759 427798137 119356057 974430995 160901519 140302201 418779943 20432083 299276491 340680969 778471085 834459247 857020843 406962155 778719677 709613471 992233175 612345357 122991703 133229505 107128547 454084991 150297821 330198237 762474311 338030973 939858721 601814691 832094051 389574507 49871189 565303145 478013313 543625683 962157335 60895021 930117075 715946347 758744685 910032025 294871411 663343115 615239361 983624187 182349153 801756089 414662125 455772747 424749957 829761437 892732203 745261095 684375475 950206733 523389985 85356245 746837153 873294979 457249757 484237129 469478131 856648357 441619413 974777109 384305715 908320057 648429795 361285499 925098959 765037111 346611279 438231139 598379553 33012407 134261957 799639897 665410413 658924543 881409373 28119705 7821529 77357177 201992847 936133117 823276409 101317815 436912453 440508431 916099395 987879029 870789065 842989311 143100955 576613785 341321427 388087203 629327049 865781033 279473791 873120891 421755903 589559901 934202705 285116591 853636951 953578895 914820409 842016011 407600207 206811969 745356937 741952265 902675795 357960989 664288513 571097031 362231989 969256187 553889477 296654605 948133803 927477715 785004899 860587081 250380633 987731655 206896335 942507413 804229063 825405989 893729897 482691759 391327975 50904671 946048497 753124861 744166801 772301073 508028569 118878607 86261897 859893245 649932789 336225819 142881141 381089807 948337411 970290691 972723687 963394649 240339237 456918605 227522139 628507417 879324971 662041511 405068589 453150895 298138699 766246761 481022379 725713067 689214241 916667027 685641477 882925755 734138545 753979085 530440019 169789373 476520297 22760291 811701401 697661107 683189791 426691665 696636349 584874441 43291921 784410417 626598289 525757779 794420451 187738191 899828687 278886091 629933987 395873173 397312025 167668691 363379141 157708703 605634295 784162107 982618919 75414187 872901339 917285361 823639053 4383647 213789 594524691 321783335 353755917 832333567 208086499 60834697 646962217 253324459 330590925 841531311 431078867 887383089 29497445 490571903 926785427 751142539 477785445 907763529 747167383 864155291 476330673 149288381 35699385 768687657 519699029 903302907 46983029 711269093 247657601 205922953 161817333 224825195 252398227 911936853 944663303 624905787 96118287 255824561 710897699 725994175 687477149 945625435 68158565 673156679 244976659 939439227 481405593 711580429 365257069 841054875 357238571 306841907 15287243 688635571 728822581 824257 601992825 143284511 949020019 927415719 816048365 384215717 339915085 299534529 184504255 89378159 833882069 896117967 126559669 310494231 926347455 740552827 435344567 377656983 341656427 89597013 397913309 922906453 535580131 851433431 673530717 332008479 767839187 431703649 994242461 969760553 415412115 152824895 646796329 280330769 51205921 419852191 302501299 88741597 916423465 282700701 263592469 9069305 860428277 445662521 611106133 894737467 825495679 726057053 529707677 637469663 518705509 624893143 843684671 672682381 861303279 160055141 486626233 522219087 939352843 68933799 40836779 963122589 743333459 438760995 922703331 676805713 559930627 266440525 755719507 660132277 206476037 642663551 411678741 484974193 857921511 897596921 24038255 712763293 897635809 322565349 142672331 884433335 24586959 859276369 958539709 376607139 555297597 958986299 269676285 158694831 27184471 321556609 315277171 21412495 899901941 298482671 795458087 124221537 728680345 486645555 222449229 624755115 512795493 38138345 659762241 529302615 809408045 330174863 888161925 955041471 503939429 424114323 551068357 541324957 597687341 732234563 161591509 546729497 598078541 829698775 829495727 535635133 427510581 266054771 669269109 825648255 210596091 500578849 427799925 471839423 134118239 641993167 144892707 798836543 856208583 495737945 71975191 788438317 960007491 642342525 829805333 108211743 445424523 537482215 727221257 640012563 805432317 692234793 116678919 153824621 761057697 679032251 535823945 854424569 574757671 328522493 455135283 327020015 211101155 923524921 492245583 531543019 585514201 466654625 513749075 73785585 46936491 878830671 236453655 924289393 122366381 599660353 375268255 299462717 548112085 311433059 993875991 4107669 467716799 601186695 664868051 128913439 398816183 57689955 379535695 204574691 219674025 398370971 622370091 261832029 824793901 919852471 680788787 465079909 490316419 806554921 834473565 550443331 486525075 777626699 800510145 986951587 689888745 511448667 266141349 1887131 345473473 437213061 37971825 632925863 895327989 997756891 586122427 346262703 132924175 751457875 893159231 132825853 542244671 824542161 897659869 422072649 823763291 605891101 88070305 340359853 896135907 422913769 88398785 353645235 467206141 505593037 290229397 217287235 382381177 307722829 294919331 740724407 609360079 248322767 834038933 477086407 942474013 179576229 861416765 292723101 194097707 33423113 373005977 525560261 31748199 415622429 662404297 953097779 608280299 528436969 270960923 967925573 673436275 749359455 310904065 36718017 635177577 300189271 325953813 100788691 478316507 646605203 461539357 50887697 172268671 790606781 679061507 708881015 684511159 187268965 823384281 123919211 758330247 355496455 906367965 354760379 652124065 899461375 369845361 81580701 286991965 651995803 90885917 907367595 108288951 845212939 93382297 946812653 388493399 870053223 522332351 28564689 580679823 560106673 787905937 188344361 301264723 672423123 155038267 431596085 602139971 437430685 190359569 182957207 167307175 997758409 53689229 674013793 268549487 552383993 725087569 424358661 615172145 336988085 495010091 314958177 386674477 35109997 849872655 769219257 592515657 464956541 682717715 491909053 178844437 191524389 513593217 22252927 88206793 104606863 14102463 288531583 606820419 833187019 367656291 164181411 216335625 772032211 416608807 343383349 704352847 168290953 601783277 217713643 96891111 425520819 147679685 237501923 314654549 629076487 888761053 950826915 785884859 562808347 370490259 773413143 606337517 511751281 254157929 84993685 724253793 739476337 880760077 639628251 716373811 72697199 478597455 875015947 191877167 9879971 571416619 414389173 308295873 998520111 542727365 862440399 523476737 710998553 731013991 172533941 25957039 353042519 939735175 896750635 455780403 431016639 414104509 401856865 471048601 727061521 442988237 552909289 529112987 791249915 37593765 385619651 810150551 955532299 377470037 27932499 590631319 927525563 925419545 125126247 409502021 478700139 374043733 607494451 852400381 284217447 528145557 761072725 888042429 191547357 946199689 533609171 486137643 801441513 954755857 882485017 342747799 215340425 630321963 977535483 407541753 347495083 868066055 90432443 505589487 181697309 531699445 203249401 459567039 233911447 729963123 476278725 905826909 383745215 957951777 793448597 568881499 930673689 471640013 607253315 281991421 994222873 332796265 863765015 250913829 563424025 595588623 182024383 154055527 212267865 415613957 475449677 96741369 906523137 500630709 836351807 781718199 950583077 902249393 90328701 411479853 175047099 447166391 145784403 989034119 870145191 706649511 173389941 524722333 609212339 218142095 761972225 920762095 390801037 135581601 162838651 852309923 878930895 188153145 488198867 447769227 449299965 297325017 982271581 3685403 129029757 331989035 58098645 825586291 716573859 257837319 659483233 677587547 300846757 704816741 94087823 684076611 70264487 845448807 210603347 127843137 357929907 936473179 231871243 304252435 8620215 230383539 299852413 345703971 342888333 739367179 877628375 29117567 419511289 235275045 638331307 131939039 856970401 951373807 36131319 129095841 499676183 914628983 295607075 341233101 521528279 532324605 859631353 451642897 589886783 905570275 378380209 653559751 972893337 822468787 45117157 11682027 905264663 775403041 905505951 26074663 861218001 910537225 303414855 90457543 805581257 118718063 525038007 299814087 604878571 135361147 571941929 871142337 901448707 710916483 649508163 70793217 553876429 22157313 313851409 458965619 937707755 246713497 975333901 661302447 364159205 856950037 896840207 874006005 935813933 375418217 524501341 904219179 21166107 724249779 190738599 4233955 774875123 829138993 471776513 617071695 899315675 879721041 879373033 436560981 685878501 735649703 478965057 74983287 845974283 250357231 327571033 193530855 454033455 33107209 686418151 317943929 126038809 419089921 627104517 457329073 68877947 947389453 352664891 151957683 26578925 331865477 298802039 279857743 438443761 670052079 19459595 861858301 407438321 665363955 861898935 67627739 534101309 273875559 322315679 753538223 796282895 926812487 173170255 192153837 992444809 42628019 870685375 605410215 683955 936818169 905510475 656547999 570964607 375181961 478763193 838673469 70357189 981619971 64254259 404867215 585408839 58008871 318690131 269832267 418040751 500467167 734582291 464346067 245338509 375601219 420854489 684418091 417163099 953911433 534766707 624562181 554147705 203546393 709227031 751575223 197954867 719220601 610636383 655995713 242061753 740934497 471881811 867923273 51585827 755991979 692093023 771680289 762023283 793615705 233131353 488096701 963209617 875772055 879239551 295242685 641360465 70593463 749146995 653540969 961895275 438677047 377690951 633494449 14826625 885126071 813506413 288128553 663186457 37210373 663496641 884947477 772961449 494401299 442134157 222571609 373116807 937819133 672045945 249395589 966892533 611836421 779401887 556245711 793784859 726257303 76533113 595809561 659856909 608516935 358655469 381666281 821409987 400277199 99372361 418727021 825272095 343991825 214518081 313651327 292502247 354829597 46007027 298839451 978716625 782849569 260501989 391919595 611384433 391827579 36403971 789970235 949068109 672042925 818255265 170946567 555241421 37860963 502729345 951461993 817821505 891879281 669263043 395346733 770481121 984003793 539519735 854683327 228752851 662790311 360097811 239947319 42687003 850112061 866764403 73565269 955007917 968976647 779212507 735218303 16627299 106717089 437098361 550791621 463077373 580760783 693657827 434664415 621557539 499391609 880450327 976433707 431451753 695968437 842138233 92461745 802966343 96480445 469657303 457856289 623880477 669000693 894974053 633890257 157663797 477678825 787452097 695662271 903660227 432363081 468556783 722015893 907318235 828862451 116098399 960009633 578180227 109790699 346971365 601725147 849867937 796826457 17164733 64693983 604078089 624567701 650030477 3033849 38462833 760346901 75748195 642553877 538847613 612385919 346541237 956842445 54195639 649269151 459521117 190190429 508929933 108478053 279653795 43499183 944089945 403441137 159344947 729767247 392553311 999921025 294681123 146727287 587288773 217020805 253300465 960108295 354798239 968029325 382829695 667093123 459018979 180620375 924073247 796775453 116922229 423340739 865747331 864769195 952402717 455117023 91300807 556831917 681681037 306082781 422861429 261668169 543478623 138774551 307479925 671135569 12934417 17699347 472331041 131552825 363193361 272505723 242094899 877369633 245429931 118144033 294858705 13872593 214692379 727591171 216670857 700988855 88560515 392468289 283768655 995859181 321272555 535514409 522816385 480138033 766966341 539696941 696958181 434409705 131648619 707264233 452913831 778759715 887980059 591326239 311667805 892952475 257900801 703212475 769496323 881126829 759542445 897770193 591773185 467743585 849892763 845290393 196519969 883292005 909213225 85140091 602500251 384230673 916230049 332313855 684445705 395614565 526199603 947212505 238315379 62032905 247486717 548896997 816318791 342267465 578801915 735759397 374580823 807571489 532574233 863274181 830487779 88256299 19787559 66081561 429512079 199994289 409757151 373035675 493358183 86391715 958622179 945757423 449245667 945053079 237585339 238889695 941984223 108703181 586983385 69907807 963670689 800946475 686985621 954175627 625690581 914310723 412898865 718733479 142810513 153378887 69324759 951708443 281169745 237135389 856281751 115501437 768642811 495974727 456497515 482250375 457449437 694180597 861508405 278588701 329211309 729472257 836576701 624457033 422747013 822590183 385230003 221859649 94242029 713580241 466520243 815311965 834574545 801913485 292970047 6065185 589510791 452577427 141814971 839410491 654761677 367144191 884913533 839327867 163316423 474180253 435210941 652095965 336696065 818776537 965266589 693249925 821648499 209661901 683440165 731861183 184664441 35585845 852985413 479065339 601513687 311674745 305881305 731133145 47274173 801304491 141738913 138555671 468513725 773224319 23181639 140167589 774520791 971848277 614889563 459167379 227522927 22242871 509120087 483661597 529953363 645759185 589237915 447405737 358130361 350867067 86249843 91761085 658988603 358937907 191844109 780381969 292046049 262695333 345405061 496177791 589902871 622987803 330826971 765899271 17559475 931435919 819903993 26489049 447113969 246459551 797289391 349566533 214051193 219541139 978722997 515040969 154006101 584474201 837154737 27817221 951388923 991971723 225031719 432469191 420486731 974906725 471282061 543972353 369866119 386694609 832976951 508101071 55653215 34515549 555844203 434094963 766080229 163909951 546144081 842353497 668483737 409725017 202999289 989476371 758254943 772747825 344217179 846264159 8560005 679547125 690645085 177606429 64857535 223053693 373102787 371645531 841030187 106890825 31170113 841434189 214878541 341638273 56294513 84701513 363798293 715824881 184809683 590116311 830490071 231601429 439983055 17567649 296131919 824858119 410571193 882703483 18595747 196193169 45223879 785668447 919047265 952219939 355259679 655048049 858252671 77488851 410983877 877795579 547363927 952957537 460046253 1308273 763261617 359057971 257941937 462498671 666824635 22071385 933171855 628757943 659591431 688204683 417700853 411153463 943448979 617901095 34273135 492536829 781385415 337790773 484048251 94003529 746807151 412962659 83729015 281034877 359615167 939632139 897108397 411193637 368156499 827243561 668016719 514734833 265677365 292128103 195864183 512662207 799297997 560568083 232430115 816852369 650439413 507486501 438214207 426664341 125327847 760379705 292915101 561101083 469661513 921264539 53726707 688929183 668626729 802599479 400248037 129023173 989289979 856095141 331337981 55768409 900223391 866301989 476051113 479293515 498961493 929202847 582986051 760677817 702628305 720410015 405598733 439532519 186321955 800997471 338182963 172690493 448966857 698828735 516297409 562502739 218690987 630995779 462898611 121442015 37178387 514542109 45475563 279924423 762980793 135346723 227796529 321376279 263657399 148527317 916954423 184085247 913310613 430870105 183393941 482215647 867910209 201211519 424805583 17022263 88705293 194120639 188648267 511897777 411795641 674555447 25573211 66485285 384402025 754553519 434241337 550620553 801265835 604388757 419852039 953923843 886257779 6678531 366335437 641450463 619850271 679787701 604741757 193483151 755368565 116818709 733435631 582090927 928506783 614146097 526947557 499100673 196946999 444366783 617294089 339024751 331955769 894897953 88926189 96059153 529396743 545939547 317665031 687356957 926957425 785347359 369818043 236133371 125430955 820903365 25035855 579314483 247197525 482723913 117838073 531537529 783372657 720010579 889046223 531351465 210456685 8558387 453657299 931121861 71525921 18380515 714968815 9860857 424624581 813824765 600975603 14814103 472228611 929608907 698369433 821554461 385791205 75083581 679333763 666677293 894351075 218802153 473033273 885639825 89246169 234693647 766467883 77263421 771066637 904187797 74545333 602964045 660695337 263008779 832862489 789184515 92274503 519203239 470651259 870527947 403770849 360432715 340952817 743843897 110383581 5307517 123630451 46031623 827192713 563073133 56167651 627695129 464727449 583106799 473267209 52447353 168162349 396234375 935803797 328704347 524458439 410478167 31948067 203904283 633683541 102403891 610672179 178846781 421043757 573928593 216341807 426136169 560603915 923072909 170625639 458026357 573224215 228435443 256489747 31547995 298207195 575969071 405270105 912339007 581373263 656176473 864796733 381728107 214219471 196695601 465266357 66692693 922328095 340806173 288935575 637512853 987447405 511016751 555565733 125106673 121911121 940390939 81342087 609743185 80906181 685415233 261461457 694494155 152537391 387327401 784535803 842768283 912017499 654949379 75384421 731837217 444452481 551788965 754013531 330336745 690288703 415013775 689173771 420524969 346063509 667249511 457768849 465711417 196806645 36165757 765594349 134755231 931925811 203788489 817085447 40500995 25840779 640700393 263312819 797630397 846230181 763415075 534429607 61863235 281127819 653919595 69155721 724683067 123767731 61280339 169259997 917262449 49538301 155349279 417139479 682352599 920238507 374744753 295319185 762764679 164104043 983089053 465143691 676501959 51704403 287411991 333644333 74469377 240456673 68509697 603883147 287861703 179536377 487559649 139326363 316150743 744802793 741848549 81521217 445179153 921833827 318535653 60122695 328844675 900629385 206632801 526379867 959779167 769491935 350383231 758848023 925838337 72998737 219067153 363279615 390502123 988478771 463817099 613164409 580394697 111212613 698760205 764091609 277415021 617044909 431741279 993732949 638805461 491601907 854684145 711057171 481080099 706825235 545432793 844483863 337207201 807148133 829365461 288912469 334039235 390773169 146177359 337172133 1063717 321825315 696134997 506863051 922195337 693492305 799275679 174956653 131228635 288587833 38731403 958365469 167835695 226012733 442762017 480738135 939260351 337589295 698927119 196757625 570348013 246410815 834324911 215895245 83217735 459714063 633684477 975914117 809069185 391701921 838230435 629213369 670952307 774514789 508263661 462039149 828446753 315556909 844373719 881364871 861247415 722116665 27578875 730579417 966328201 436081197 756705189 598145053 144883217 48938263 768142529 719759605 353918963 851350635 845282535 250438121 327103225 726696711 198344535 754652779 481736473 201463857 220656631 390740691 113155435 596312213 512601175 797337957 912716595 461078857 837103279 501386567 806426335 911443657 532067039 885632395 664474367 985237501 752044907 763585579 756618575 638660399 390835331 160322825 627138483 877149461 199598849 475306733 200396087 486786511 756863843 782476937 452633867 677502943 652700367 185222517 897500557 603226419 834996245 473384243 543392065 714406947 224754349 67311149 142385617 344511079 620256179 603018931 233112335 797910057 632578291 32712703 384779255 102288117 357097435 360390963 325736877 541497535 404215423 124524119 386021501 839379685 26500769 834387293 821577433 699812651 753099945 271787805 732046427 187238593 973607077 885806681 884402889 559208251 16749899 537756859 273480461 778740117 700509435 868849619 270414905 328944949 192585407 362582043 103730827 601011945 24610115 168894451 816428643 842014693 367857119 108996775 642172751 18489545 657291155 796815719 362179329 4811927 958883845 192813643 584290387 866709437 514420359 447754581 977331787 670745361 986850573 294126959 99985683 916327119 92540727 610510697 27781887 356460959 617253197 851819771 36772231 900002187 555426623 793802699 341154899 455031563 604743073 610880607 790478891 410324475 846779063 973735207 916248067 321369247 379402597 844768127 294668791 582489255 932361275 859990695 300755017 913454629 303500399 774407881 990581349 516718745 587650275 558950901 529474013 342663655 420792093 811197219 311917935 370439005 922558539 670570297 651470845 604244655 719708231 253705723 920192913 129436411 961123469 283077919 208179295 64860615 172243271 575279419 627236291 176909823 770217537 644318927 71385919 165031161 556062199 948537161 628308863 42669425 709123203 851533303 485800791 366518415 824744111 186680593 96007873 806886109 366678763 802138813 920093153 238782803 753506895 547886591 396560385 554818123 341748629 570644941 800051863 469293709 980283435 702320635 585805371 180412999 847689499 274746447 695848881 514964491 142916639 305027439 619418343 42076633 951890581 794906095 323263469 796101141 376412293 558590279 921391103 432333451 644067231 486677719 654572673 632502131 886080057 559515881 86095869 386645097 822784081 536276913 653846825 317517171 347656849 222301763 42509789 800024061 538842951 99001253 110099485 537852891 737001835 51836349 744252183 704547405 934474137 539269727 859746843 139930873 978593565 654141505 298807205 192801001 241067235 328861193 370845785 489749907 443208837 395925819 533657603 734918103 668495167 682000203 790069909 840135927 84504827 350342803 752332585 376368033 975134021 131044177 860296965 871878379 575383639 506143409 913780369 92603217 978184721 70205893 323499109 160399291 455555831 68205699 294467127 653040245 601830203 458127567 597285357 27027505 639833011 817242483 147672723 591408401 494763231 382802717 967462235 963352471 155384805 387146599 606868129 342016947 200232343 201544661 753760997 420705721 134790505 95149773 679919063 558428517 997857403 492192929 735749961 984538333 875344533 934632077 523761203 860871597 575093541 647522733 794398653 39590351 195952709 548103185 47599663 40929947 871765939 316260771 311496701 962622937 922279379 578959171 124305601 178949813 342919865 811882925 139914305 634596549 339843355 904636045 25134439 355014917 221755223 281644405 33357127 206286555 923840115 206817499 947373083 554422551 921210659 723879203 693628485 869519081 709932729 919336853 469073747 764297971 976097335 844851555 295700217 108513335 583775557 605390501 734204429 337735971 502553903 444293981 541038489 941266575 149099503 350149749 827572163 842914485 94354725 190485181 11232991 269369 557564181 289864177 46094955 654676269 147905969 827364781 615066121 295462915 935754127 233908351 212467331 107121305 605638895 705902295 769052367 427922229 788087991 698809869 99659013 12113283 472736633 983828835 962455401 646173079 535211623 456203011 294822759 961565937 412340327 767662845 262996627 612155255 918582523 121079371 615703463 903863411 876599635 109097423 914706311 240388507 14725961 755399505 316508223 434792463 290834009 442104451 257882111 473453905 891131053 572358141 817277477 900277839 965428243 280670273 553409077 964469855 197501185 805857975 928607447 566828095 709757849 575147701 84236513 590814993 496792737 711754863 791144525 637295975 561558151 173575687 585696063 718562867 733423205 882033801 496563971 820453329 228218615 591019235 851673867 224459019 922367909 689973489 195488241 999663113 603976577 422350963 408652923 259944805 964233279 131461139 347520657 420825369 825162559 756758625 341747273 792409995 23739019 617531095 664552671 262090889 912571343 763355861 11988403 946455111 834964323 130019495 709806419 719672419 703232325 487380603 817388143 213133539 300262431 992558957 900291815 757206835 80952897 523252861 627346619 518053673 746549405 805961621 761197333 449028099 273834969 385830533 770907469 379342691 176632631 919480839 606796761 289326169 686405543 394289339 170688865 158939227 887972035 825206315 622734765 748788805 403688391 482726859 813992625 198375771 838179485 899535345 933637511 895143499 807393491 760603869 416254837 6086189 127523999 158260157 514657509 782550395 496128995 304287647 680997483 265423641 391713573 638121083 965065151 571405145 858196115 548793911 337507529 579490541 346566405 664312727 45559953 569584627 181234939 656438095 305825355 312086257 682397 815975673 582561363 829744083 450574775 801226261 78116139 452738797 677960899 548436747 721254527 834123265 471047137 148849199 282703395 116059951 146155221 909428921 176190735 106141703 322522385 459946953 817549931 17355391 560030891 169473897 522357375 38530545 206044003 435157387 729811393 490778149 60063647 721080073 52887495 929149511 295819119 578098337 443566683 891162605 575575947 114253313 356903011 438921237 943500369 271443125 917092085 372193827 935344841 281361723 304567883 773680867 128064929 967881201 71110345 235762573 793641523 229268001 641934329 129734845 467950459 674729725 966065551 694179703 971815715 618070687 411453543 670900779 814396025 257948421 41503621 569175981 370022771 663499549 735133457 282474041 206589363 745210803 927860577 358944885 962728319 620512901 852978671 838085231 4836549 180361009 552916575 510816411 876469277 122110529 709323133 354436311 891977159 337959 806720569 836401001 390456491 821055035 730180787 989263357 211222357 637877185 571060009 807375529 622276351 270752479 547980555 40255211 681690249 833916839 174734313 532832421 105040247 447795987 511392383 47893799 39031035 921238021 449833395 721310247 892596971 367929925 488689547 705041601 237488837 356633989 695889983 702037625 916788917 476336223 596258599 643639871 156682373 152115537 529348041 705378661 349971629 131445703 453742287 877009067 628433233 919275281 424235787 759123765 425292081 465161067 130823289 345929103 613332163 252096753 931410751 963084467 780719897 440912561 142411429 975202041 594543863 838393243 657650717 350667559 801302465 648318855 756658247 825329517 484071045 76727353 165801955 167753311 517043967 606970967 456518365 915064313 874531467 759476851 671163207 127015587 706848559 579742215 898145887 239216167 540029597 137968757 604051333 721955003 723751211 291566085 74290503 290772991 474080475 303023335 738645079 781670389 264622671 949273143 349919377 957094411 398644185 351360247 780308983 17313303 158493297 759060235 284861365 823151959 478445239 95940683 463081759 350499183 636803567 705071979 930013357 480438123 869660427 169048333 842899207 369692355 768623521 729852093 658635765 83090003 984581359 456402923 924012907 948859743 777909471 250439407 879388805 989269655 808410881 480562187 144857221 246106383 310216071 858292327 270871513 136750403 327543381 934704407 227827471 810725401 499724785 400151571 192488423 166720479 86502539 420100925 68263491 352013129 126403319 217496925 975021357 709419125 199770553 409038115 969858011 644335593 224525811 405183019 664040101 108951441 360226937 454948341 453978639 185061827 873447103 62192875 297694149 174741053 9875431 120387933 81253787 28285217 99819959 811370629 639707277 861278209 16632221 568419203 793971129 98524365 250359729 460232291 595496817 362968295 186422195 882756371 49820195 63887377 270814217 414466159 823762799 314505083 474113733 254502711 186588435 75552951 924530843 406996243 801244159 551673029 722982379 906793879 943852867 934532873 756293053 756906811 464010011 502054993 813422273 194310239 855588843 60084689 599483981 938896463 150638911 508330535 913790305 313382969 248004295 532065369 907704739 668522041 179411299 888531667 205507683 508535375 824106513 550581355 600451479 948263267 134681345 313451869 245972193 303687753 336451715 524973647 95617671 762036409 398523413 363702095 434445945 159373907 889929559 197520083 133536075 505574817 925729559 87968949 209114945 659419925 434510405 714757951 800403261 552518153 787977473 600587289 300667347 739549117 994945419 945129819 508020279 7827545 162194765 589422211 509680459 787216369 219322847 631030645 716393619 205911419 904026615 285904765 708315459 217639389 790457981 739699795 926821165 271426779 507260793 849206035 457944019 514998313 958433055 517219649 261153115 408945249 422298313 758921165 352383893 983145473 411664893 107846155 628719353 898322551 703931237 367080119 846256551 344189199 817119189 981372663 71111267 498462727 91594567 436178265 712169887 922287997 549547997 652051153 75426927 453223547 999173349 470255551 939578775 908281331 414937553 763953381 689301627 901921213 826055997 714806385 981030443 892073373 184165867 569803513 597996127 97825337 597971911 367439481 769319541 203585061 428745957 804974937 760993909 965967575 290290303 387563875 485687821 906290099 992286201 585667791 889771413 991814913 639235549 165609785 728353039 743141619 806451423 758975653 181310749 470098593 804508379 483124355 250594835 745112335 818335187 658683045 501653221 125014051 345330933 56853067 817378869 731977647 649423249 512507673 479252297 896285295 750775331 441233437 351335695 363999487 298154829 333774027 909407007 848783599 36370143 636102145 366841529 258914217 620390087 985899781 605060035 121234829 579792419 328035971 392349133 681901271 868777015 6184337 303998735 153115827 243347307 851991211 688941417 304860209 543308885 689261239 474633055 427437387 730633903 863853571 427423009 835246563 37334111 622939461 799094665 345626817 254338155 840338585 309759253 382582935 790278155 264160899 696125163 156234493 329109399 72029425 250121179 521676661 658172309 922530361 463128923 237890153 130099629 475450905 388430989 660338217 606126005 976604853 994229559 341558769 988875433 571166617 348140231 689945309 569755561 838016189 393733975 978042619 161770241 847118717 524867235 527183419 793676071 964605855 364402453 241230197 492713909 513772623 521596091 958937451 908921963 643555617 420568651 298227655 377092665 876311317 921991205 611673113 565109807 684085137 998314835 1679579 583822987 234574687 248169601 693153391 742754221 134815157 130145031 666507803 454360355 595704113 77577189 24442645 994128031 623098073 9420481 912591731 401590013 144213785 396394731 240590647 92492095 24898249 367184475 954269003 696049551 667083297 541933745 191867007 353685573 282794955 993016881 429212301 373640921 36135889 898813643 589095189 200631021 553133227 777449241 521475235 605994831 416852533 624290649 943382949 436589809 323926195 815801457 389571959 583314927 875970517 527127793 92256089 242164363 59335597 950970895 732174709 907427377 585997755 693825709 63707611 19869301 235617763 483941969 477842309 115834897 233415539 687468073 824115539 660189159 740452383 54745615 82788623 689988613 377882885 472459135 393068653 841688735 427888043 821538979 800030723 733523211 541284605 484592455 126939219 991731923 292578385 773603301 687110853 980418205 672745571 479083677 366992045 422547775 990152795 369545779 51720259 118409907 64225475 690485529 673322919 812356379 386428561 972514405 874884579 960200135 119146021 257692375 240906731 150754341 942761537 911847895 511600019 368571091 968211731 151829617 519164065 598245013 788948275 238929503 379947965 421525331 480368795 854232831 67081589 289622307 462158767 705406041 120571719 779561791 493469761 563157533 232903313 227707147 454297731 393053855 607043487 323692305 29496339 571777507 155071135 198616583 341766903 106475149 617730219 596930501 439412377 79904493 793585351 830076497 295887571 839527417 941325529 952700627 41005279 321571923 292644021 11930273 735018083 366953793 977053459 268074039 277552237 85021105 995105427 125530165 55556211 967843645 426980031 679600743 865504079 600623393 63368457 491845315 894873673 573750597 657832395 835118177 730064909 298054459 341227843 780559495 452770737 173902647 77589663 551345567 867784627 719605019 533577963 525419579 24661239 263862635 400718885 931341849 938405833 765417561 614258219 392942361 122445537 59845307 123219399 2817609 624428123 143031569 915489707 77368025 646043835 40527489 756523887 746021161 374736881 962930653 7141015 436365753 353429071 834143895 473507721 767472181 283323797 953757653 779572375 881786479 419082215 561701209 946387709 799799653 351557331 982633619 777342425 52344887 593282125 361178525 786627893 473751859 174591411 806674483 302431491 332759755 346523851 693528767 621281307 104568987 726386369 918348623 54980415 399877733 544966955 332742299 381228057 245184789 846751495 936551681 918101051 131888061 393146295 788755847 239778843 751811227 298040843 857933025 571993117 147982353 312125753 135108705 374652809 411382697 877956573 518272265 708379025 827061015 69336827 839684737 550905933 739959095 783041793 312629269 956507071 419290379 251636421 210167231 619841745 838883519 624964229 928456991 501193299 986758311 107913957 695819385 73073153 347709501 262457843 364571583 727972727 318840101 877233699 523073927 642213187 732632105 659805523 709295121 178329045 547008573 804811719 897857603 26123909 346214781 575528239 129997997 436621973 408344107 542359455 322662023 885944367 423069109 700991123 356324015 976496995 269866923 375565297 383214765 731559725 988661449 47268103 241879985 964972649 220911091 799276939 747508625 754141413 565731123 643365527 186229195 172845137 119717053 394762675 439118473 935310149 197226991 606057421 7995801 292104259 909261895 763710519 947694449 233791157 711185523 501602223 257902131 561615851 479606601 388990301 550448293 529390111 696480959 936613323 405890357 452232049 590611707 279266289 729519867 748769005 969027399 336980523 5629625 254994307 750586649 125892925 789494737 965905673 98904841 615893335 917734231 24454981 861197789 830068493 894895871 803723999 626120575 69451867 286166569 265177191 999305217 606260135 234256095 507126103 542741151 424199871 90602699 236792593 398575805 806960087 409202761 18700763 515112679 980414093 785465175 472659435 402570191 597696743 818962587 901556821 699289935 702480465 902627943 711974943 752524653 225445537 368377773 304451889 175400787 328309523 457222929 312827227 362352211 569708367 308654553 356471127 541291755 115912799 699690229 416568773 232757691 770084283 845684731 265806385 560401041 762146877 668774953 869506569 786533215 183308591 693050217 692070825 74943297 896964409 247393609 902930769 990380409 452419955 579001855 190707241 833742449 144320603 833172333 197537605 800860865 572256469 639964697 806281373 826974241 668581167 719694897 864188945 251268723 912922141 386810509 191102571 227271365 154516413 946549677 333715039 409740873 656045717 145085625 569447809 200727899 283445391 487029885 152882519 83081853 755567109 506393203 4821063 148886363 885585585 368544699 144764581 891621321 805220027 299426841 740104105 5519041 440420269 798916351 601023091 605531495 361624957 398284931 847759629 404285445 671860107 641449061 830546793 527054095 824101273 256151307 710783585 694089249 95018197 127474309 722917557 168451837 609556181 242737547 285019149 43695759 968801431 726605947 372750845 203291627 184302463 98164317 311941371 583545163 690119257 502713823 3391851 514858771 827617373 865398875 94762133 48904909 134239783 68305613 272164781 108076079 775372987 145197279 92204743 255599121 42133641 402411487 805441513 456555383 163295843 972940227 38664697 861295247 130517641 573245997 550772169 151458729 218116001 309279587 281934101 930367553 520744371 490923859 864170363 336781819 621744955 509374613 758883205 738480033 138148881 890284905 157255077 477699113 860731517 622466231 892336435 775099819 60950571 664317707 800296307 539881069 135971121 348549535 877738123 816911831 994865931 423412051 784941197 691018623 702507937 342635947 932055669 934293025 845617725 353615321 519431455 833548957 794414743 591823795 665342043 601177857 658887113 307600567 862961107 516459901 309750621 908845327 495980583 649618289 870655547 42740363 783685075 703522395 845098429 779452317 61813315 715176171 752756379 795178601 737803975 605403633 823177727 507004853 114360219 198523755 601580661 699016177 502109405 193364857 323586801 599051825 613883799 26639209 849992657 135650105 793987257 468905133 55194587 826773613 858419745 149832671 690801467 584058075 352249227 787017157 748849287 965690943 507007907 370062921 911601595 7978995 838314745 331517311 846103357 525179395 334494983 455206559 247567579 959142427 845499695 774119185 524274891 827482771 186153401 940694877 726957223 373669227 446462165 823372343 387912311 862494539 428642209 441512825 459977129 59503231 703016217 482478377 504231439 220172289 996778281 301991027 483107047 204120689 904888737 430068901 379826649 215668499 290467131 329295423 726584817 987206361 168076439 956807139 864749219 268921177 544031553 521160539 448138957 339219921 793263785 610874011 520115123 165931051 372053287 617236671 131917317 176337397 346696445 19577097 134611157 371386215 119454549 128525285 943877795 117778015 759417151 177299431 999602261 208767845 387309749 217780425 353261619 72353449 757959063 918496879 407050489 552702719 36938417 794901987 125007039 531193065 788961457 896788569 442115597 652102031 515675955 728993837 256036047 733561791 488355255 91884515 139995995 525418735 62057639 622453027 392195439 698492481 829231699 698440643 446418221 546913659 512957429 109902525 857169445 650662411 407332525 175100725 643393613 534482441 398184583 124671861 575497473 973404469 98929009 85769715 334974981 542730229 171959879 652970567 22252169 185918555 80247241 111588405 819438111 727311131 246222751 870164139 640292295 936517781 971114845 357596345 503316709 20814289 265476475 675490459 350826055 676607871 157376601 776458421 847190817 797306613 13624643 623293075 574449169 654594355 319863655 977496551 397115933 796383711 260838625 579533195 59668399 497989705 352231345 875512965 752218529 315133031 621572799 811208445 668489263 498370523 845193439 552551243 241729019 951798507 449655241 918244069 241347349 193355143 189925661 605974385 528628723 879424579 987228005 764012475 245096047 705979233 498903829 70344885 425675985 100200393 154626945 977429113 466333895 318333961 576282095 651129165 136200803 219477847 802085509 707325083 710557475 804347029 744974167 323685365 89715951 996139335 71025501 422852121 688970003 236917919 884821879 459096551 364462915 316206197 992754543 672054637 910600861 409210437 358047991 195021533 926656165 619716663 812128425 514923923 33939019 42693659 543565059 813335825 552551139 910483049 730368371 629547523 935927081 369725761 403278149 428068155 99391043 366706535 854428343 37514423 540678847 495944013 593196007 230249113 425524113 257818119 165481439 935045675 336691479 873482329 689755537 400370401 882168855 122259367 30585559 154782551 306816701 900415233 622409071 166691407 822611359 684387871 133712901 980572597 564287675 834969695 464663339 660049819 122727541 469471689 428180567 732082495 315399321 854896651 111798509 471904771 58311007 70949757 224126261 145851505 331022945 245335585 662706017 576730943 282702249 194966681 581912715 13916229 210677407 506400057 574031793 235394439 922362141 950090997 426365631 29179953 851183197 986354287 537505669 245042583 809621509 284828907 822439615 209166387 729684769 773667675 675313419 944268457 367680811 917325655 296296435 402352323 716453627 654238235 777208553 422197367 95325655 668904335 352828997 589143773 639167599 115343683 639750729 136286009 39366103 569047919 877259295 522979321 139347597 756043761 567892695 209201069 564665715 520844627 503626861 243756049 183352537 280875455 345449149 549150985 460305781 514212369 345923733 811116959 122326881 691749063 139947685 754440457 843268389 807847687 592908421 775619487 52478639 699118497 197927865 556406247 457992273 69526027 943437477 354497419 924752843 213480295 843503009 393264221 815460161 169309563 441638881 34005849 103176767 545397685 549772423 923954595 340441789 272739375 171670431 385192327 364800023 79588005 741741849 967485303 987203091 849889665 103801805 464383245 273013211 685506255 840017533 145403407 267783945 137132363 186501331 51295591 869667991 133419343 193655903 593277479 85990379 825919975 584462235 570982027 660846035 676862399 610617065 714196729 929213829 421156911 353770385 200089849 189924251 178038327 760640707 125387325 170961693 198348157 38057627 760858533 566362231 747257681 389374745 546430001 513792639 747728299 294497575 794882573 556283251 529938987 346903957 853719947 9753589 96586517 397827613 438676521 404979223 909090905 945267807 957500297 322248267 199509137 460655847 50215541 223707245 61069819 519996451 246053345 576943303 104079229 946751343 160286695 57031937 963828135 264738827 306183885 838668597 89110959 181247009 659547645 402127581 23517815 468845505 988165899 221142495 340618629 646223333 503441585 898630023 70976519 643958125 685729747 9915791 524624855 358549541 634095227 85207311 968388721 360407483 636276957 460153231 374903805 798226635 658658389 336090619 326014029 40774613 415285861 574867879 226622933 226378305 910558649 973501269 943890615 190992227 663303973 536390181 501274551 114543987 385278627 924399783 355962183 201861777 638593623 62661073 155551869 646162377 93312907 846077439 69024281 779784201 256900021 81495029 437860225 539456813 105004397 709076961 609365447 132130547 451529591 301151833 818738335 875100169 133653951 7572827 197569897 417941757 386903641 188741963 13751853 230323015 937277567 78527479 848033435 735226955 398475669 432586131 576693511 34813523 785545255 413906877 763635573 464960909 285918949 235784313 317991049 369970453 886311343 926276407 80667283 231350249 536349827 219217355 887226505 249136631 393422481 490477425 262247693 795549451 455379753 536070095 915022693 151144931 106770119 817221619 919407231 812783901 639745039 168906065 474779637 883431491 213364429 712479945 758747395 170552007 844622579 481514397 113673617 425842435 577173403 694851707 888983857 465373493 379543563 448986745 912677399 94187147 162725547 256410645 913611813 899814929 521417747 78787121 720810975 311562693 453045753 721137951 195829111 143434629 557048387 209163665 121559491 368678939 370369533 44029347 196987715 661072953 609787481 731247583 512001821 493811063 423750577 43355693 312985633 984078169 487910027 743888103 902026183 214005317 560642705 156105159 987426093 904236685 77245847 735419635 164526109 669290861 320041621 750819321 243472385 507963907 34166963 584409293 531085557 689454169 916135991 180004045 382748341 329474145 800138137 700413887 155662763 622966515 388422771 623866575 380952037 292750545 196146823 439344531 716400155 465173415 842589377 377526535 30144171 868114689 886692917 880722579 146542747 779680091 674632989 353279745 706304669 5650199 60258267 922092425 940935177 756422525 843808765 633831621 873258459 21770175 799705397 536866237 709089213 791553525 657848927 83413215 590541051 424536609 367783037 933958397 537545615 402063661 788005821 481795159 468042521 733517291 798072941 763732881 511411165 573718033 787917325 124497079 921571789 666289475 490773055 408994881 271105919 228699143 426093517 960794123 792941875 961972435 184337835 921991259 522697167 608150781 759923701 769263325 917769187 602524617 627032815 161657767 635866279 812458331 920227329 626240565 528968953 556344267 933996225 62628461 907646049 112816653 573948393 97991581 258121743 966166275 102720605 383613307 594961369 402563193 811434535 761430305 45345597 997946911 41674109 747578903 221808229 846806157 82999735 858989385 654272799 220276805 346276953 960176141 36920289 581544113 233710609 159244577 822779085 500281121 815790511 733935529 996090537 747639759 112239407 446482481 521893347 980923099 16048309 943253937 977178515 34782033 51346317 259809413 495829625 17752609 531236647 648974193 650172413 878855971 41046051 795509413 528992555 123972633 761312063 664941235 370799039 77789099 784805483 823094683 859931923 848829037 523186103 427569601 7206193 799700439 204642913 921096947 702180297 292283211 78519241 72122727 905529649 786346767 863522939 309946039 205471081 133121881 284857133 11559147 967484695 159858495 665172921 198119791 396578955 355831747 468313633 627297817 65294013 926558925 489509263 69541925 643976779 210141745 198676315 466822971 961487485 972360359 808363003 282779237 429572163 68617423 497974295 200218393 219207987 744184885 3844981 22275639 353431691 498951751 263243789 481928961 904444469 709614945 106553081 706363431 945998783 614001091 586399611 567037115 87709023 546624149 62813695 251491133 440546039 567332075 587141911 532765841 376494861 814281405 494306433 890355459 762269647 264240619 904860703 901156173 280287253 152331583 616410875 859560327 379596383 794145133 417616457 857769527 309501397 158911497 267110501 781721421 469393731 854385305 617344465 152109853 859629091 943977349 86706745 830104931 299314069 494471963 649552751 582743621 286311773 306394265 807792241 573908817 701265133 107918621 587366497 111523453 470893659 747748017 575417737 413107491 527888743 250210121 479109213 486329099 594947191 660693945 66220153 632821603 752681371 974704839 398147489 860637117 354571147 818074137 369860797 255844631 442163365 647977795 873634019 287744217 38956017 577521851 38439501 302410191 319558685 442869989 523822941 467727147 785894019 967835403 727626147 211239823 368848927 826589787 28345549 114244607 392115355 735852271 238328249 373855973 663306565 423238859 538631019 941450011 844934163 444253909 225629707 384682203 797193895 380625375 746862575 418200267 686738247 451296677 260302481 455108345 736493025 56491973 794695573 775746521 199287565 7855305 144839 363846475 123916043 425155875 443621911 579474319 667860675 35539499 210674853 422232153 710342849 203457829 216115119 783807417 201494591 331638839 33581733 849659693 623110685 852995955 738408215 492239005 942454239 201835477 782071233 751257427 815815863 778115643 37102471 429320965 89075323 869662831 347309173 538671827 665236137 386113059 50935997 206756927 211940203 925746671 330169 216799289 772949137 143229013 402133231 780294163 816325773 195932863 43279113 568366733 917590915 478785151 990275801 43105483 590831673 480595915 907921499 232296795 211430175 50091207 748351413 47521585 891087689 816254587 16359469 410934443 12013947 294552535 734407483 151856271 520283927 509943993 282949497 604336391 401036081 699378909 645943721 786029741 715511679 936120559 708627383 843365243 919929181 135665023 159428533 384904153 473961175 41925127 555534049 958369681 565012889 715781097 918202011 83971289 903793147 213168493 303287153 244613457 721072637 64165573 115545109 596062971 423081031 304034057 328973411 500538693 650402085 506183995 774575709 660992005 771276689 647317317 392238895 918755961 966859307 479812855 161382445 311175749 361897527 529211147 458023375 311964789 532451495 850080291 181772477 734663809 373279505 121962437 121011903 755145541 352192179 225277799 930458569 642097159 850558839 289119071 982004471 272606065 728074987 941937135 843272075 768389789 673106759 627594305 467460593 912784389 981023849 508711781 249438397 719933583 468185 341136725 313764777 926756489 608786629 167470065 925131929 46740135 88954631 61160965 152355479 559043849 436553243 337287743 203100377 367017521 348364587 615692859 556730807 422204941 396294405 274285433 985278389 579364083 552957215 521608803 375563391 703132319 710635163 564142921 429551593 844935481 490468669 319301989 266721005 108738123 268240505 472598999 384867503 206246861 907831905 570495147 611025787 467748633 245461687 77518287 551062465 877792249 34376673 96599583 386149151 459462549 573551601 939360859 314971481 160197511 13613467 606714413 705794391 898687689 150780223 414392611 449185327 587259073 204690917 841661883 234013213 273656379 907538493 917706325 764839809 318187631 126947229 760966711 484081639 607633913 488545027 314117781 678505221 665819615 673894937 471921545 988848563 42421389 533714479 596739859 876177143 704712921 5183287 897427483 481524475 515728127 514608853 899631477 771989009 7783335 938160463 411620057 840614837 832436955 124868245 364599271 7025037 391782673 93235515 380418859 110035039 660518441 489529731 884262163 421631779 761027685 735867989 682017529 696686579 505120115 196418111 276906529 524210447 826550633 602173047 359234739 712743399 901489093 352139743 431099581 869150733 89030251 224954363 140443453 444423737 155288743 214859261 191959825 775715667 712580145 162869693 982773763 14263139 79188517 597001911 355519429 733022875 58043401 170722579 960341233 142647387 523717833 563298465 397935623 586757667 576947641 822740441 445100655 822912671 347082649 191836379 288797563 319717539 437641613 729797739 699107175 31792167 597834787 846444281 594944593 660403539 807514705 770291615 493159747 226788207 692785265 229404443 447325999 936219119 28326219 362036947 809118703 688447855 416504075 600442839 993408833 623286961 108803655 873075679 730503633 27616673 272275197 739866185 380994097 935016531 117635983 32186651 668154327 530921985 496229839 439459849 284924967 600172047 736565741 799741797 647396201 617245959 464947595 536194867 430487503 48705949 307546795 669036053 301274739 812979629 319504573 473666143 177439827 107018553 124726675 586714885 926286171 714101103 80652909 82372265 69474141 408858525 769863407 869128847 759788303 949641283 221642791 610186153 279605525 594286083 907185545 992940431 508919031 722146985 529465843 362389371 117501479 569190949 88033451 125205851 584554749 66584981 585019997 162488505 891997115 145171517 990328351 542391759 876441995 430059653 340499565 573195899 350274943 19843331 636294703 399860039 428054925 718038385 837611439 569035869 309303193 328428979 326793635 290491033 896215147 340167381 716103211 358950009 265070771 729173511 675137481 361615139 346482701 454361001 20496491 715612519 475595771 430294073 374189161 297255611 660457187 311374183 12638075 107563585 419499287 354753283 110629835 898701247 991518673 464374793 981568229 568219299 841161779 145614751 107442877 141032711 358015043 29797899 468757681 779509927 82058231 420040133 269544069 686356461 505264677 977357413 804696425 521112805 366318479 299160497 76730609 540874315 90653663 433652371 720799257 869104249 344570021 766837277 852965447 178556027 932795483 292329101 105217097 494365437 3063139 881532995 327562067 231620951 635991301 384947405 101036037 228896905 731416177 304816093 304604513 695444025 96862659 625129037 935676885 965953463 203202299 106217251 236014135 375766779 904908547 217992329 828832963 463718307 967806123 333300435 138558497 414547961 991102893 221272441 523877979 951310823 757584809 284690467 327514089 425978377 886097707 91513241 832794791 300190365 481415331 766349007 438642393 876799113 216295271 750889441 49318959 334388827 679002813 671457041 282255547 768766799 123292365 591487947 562221053 156226113 489073575 121668515 773310937 8596665 3525701 456599889 567372701 840670181 187774855 43675581 320054013 976356255 830618425 592849135 775466775 294006115 434757897 826253595 631963505 166921049 262324627 419901853 477441783 318625107 449661271 94056441 924590847 437791173 201624509 285426903 64200261 454353617 910207001 127076619 762220529 50304315 294039715 220757651 880653965 832715125 79049595 116921745 937171729 261715093 432987053 47806801 902324695 664521051 950053927 815584579 929166759 4989229 180368581 676178949 593001647 236908317 169950535 410245209 597883777 397481695 247406165 905417773 786635293 776534483 546245251 688376721 784674023 484030465 398172999 651785665 853089195 550704409 46187527 757846561 589265569 688049519 876879111 845573435 699057509 99734279 622218875 724935109 335196669 702752389 557444477 32466327 931470805 900911673 110368523 256313527 556170945 88219929 484912403 748107341 438575105 13920199 269782881 726150575 635714363 318494089 850044595 765124953 879925625 959534925 656072615 616544235 193979441 497984173 142502343 663129393 137046595 836711653 922095749 530434337 38733039 196131805 734301243 263612115 925013737 100171047 484470569 967560077 451136833 582231799 689270903 652274617 415402613 989961519 613378359 259120617 586854765 574815315 47731045 871566809 890990195 990263445 792684255 375060335 413634111 641859787 973638767 10211761 823498477 351982453 659220679 888521175 368696577 754647993 261339521 609114683 114244203 723769447 285683227 510659423 875675519 292261111 921801473 435608815 547320825 700956807 773433477 561709757 369966079 244832991 351841757 379391943 282542365 618108271 800041517 778556205 113816909 284830285 277078397 657673533 313371111 168189751 190291391 979573865 807643315 665859223 299066827 476113997 211126493 957336699 132268645 12876459 552501243 437109147 454613299 6125679 499263753 336329299 501718983 349952683 678796141 149655471 247359131 122828701 945530359 318264923 218094609 410401703 211835863 39812529 948956017 161358931 981108655 491147437 921096685 283136853 885892737 242149111 854984605 92055945 571054779 486074337 567543429 264167409 496883509 839799135 696976779 257212601 658313257 300142355 310211457 259630133 969975355 320094017 914656801 74701279 749101949 474407387 657196301 453979481 285052513 264588151 570658509 200971635 601927877 649839701 645765073 222367515 146720495 885104475 25262455 365577327 268692107 937014553 373035259 797164977 364925869 705539783 878561417 20264013 445006293 449522499 332492849 62306263 377614057 560865301 131904749 242846985 787006515 291883629 820541855 105914055 260555113 823197727 229136397 424524573 902978475 303211695 978166253 147483707 232406139 154680385 109882837 311986559 865636039 117309093 179351111 26528365 628351461 167717969 74336429 731655597 129336467 617505639 729544791 63009813 92192243 954541741 3981183 832881057 941558935 29360273 750429255 100767345 790282609 914850347 251975093 55680977 456166109 646960187 402836671 411364151 786161061 651583529 933881147 363377979 27990513 44297473 528049387 853472931 131002459 206567551 171344503 862609751 673869021 940063741 548135539 867042159 415862237 225683845 415648343 497439777 999261481 909892807 691918213 52852435 404102901 395126297 356431427 769217553 687579871 74691451 164648135 273430157 209451245 346759571 915175975 131875361 325044875 812007089 323727205 212173011 552835983 353942989 711607913 145091021 418074935 690487685 479440135 636065889 222678821 591591201 21673975 307025677 687210601 911491473 506021849 558813297 113007737 12826729 295901241 549650011 90889777 271120109 640307845 345260221 823360213 23585025 263179545 654356145 687177491 914682421 455701045 233212797 890221059 204935359 539215105 55898507 671048735 577175169 337488017 577402223 540571723 529587711 499049693 688601315 477182169 493184365 606555589 54057929 182251643 494067613 147886613 562796335 957488975 245015825 727583355 542673479 656925147 858639089 537146515 700440429 81905163 871038473 879192539 103300387 285698099 410081747 842409665 679810325 278350869 924814191 395667345 496593175 295111633 728075937 917051785 587466787 550622967 229815003 60904903 511297883 565840765 706826803 470832215 369002765 398858941 553182311 666919207 252946349 979401343 373376995 216573201 20227795 762678767 398046897 709451993 847004739 819812515 976985995 430662693 943278825 262039961 624483023 766643849 860683225 820954677 371454341 28623483 675213645 485244227 480865883 189111391 539228073 267481083 716686507 322732415 132469879 88762105 750381937 832927497 377274221 606230337 472281687 666599191 972860771 468589891 345838763 600305069 575446877 412289491 523737699 359783857 360083337 179294509 175015713 67590135 639104565 961446903 471110955 242420789 892429027 748457535 696531055 62655503 189520177 717827705 560628613 626188301 872755179 461576323 436458157 462262945 65947143 60402851 688885453 121484581 402472861 226949765 671420535 969056471 478919411 30845503 190668511 685336547 671190897 21880143 380930277 93565531 114786989 905781143 973484051 483041077 626523491 265589351 82639765 303612757 786142323 533448053 752006465 559690883 148316649 347808221 975620251 217042545 952731131 683494691 861170631 877195191 536999425 127867447 251834517 294583511 206357889 405581419 343000445 288706363 673524005 24000639 277189789 728891957 788307903 175896983 148295357 132942843 53477709 560491071 320694349 305925809 904421871 624711023 846119521 670506335 483984627 363459973 531515325 282734839 390487499 223045441 508371395 236603217 875288849 935796437 140523399 644738607 358403979 235668693 931831487 51744827 49966371 172788029 704500935 299959301 527652331 902941813 906605995 502809863 525665569 165859911 990547223 680847523 755922983 583848681 383602019 816729889 877648773 302408699 508115087 561565363 23316981 322646399 256864579 842777713 125077323 851175139 69841355 321243485 94060431 855540733 208834337 851543905 596145643 465382923 904462821 812313677 612180915 185959601 121885019 873774299 685529953 714759931 950901365 481225645 511297431 44129889 196562631 780614729 345221667 984927679 256062869 440793637 813071097 283163225 733716163 671499671 899067697 766135007 935489505 307525857 525225487 789267045 775705383 225598253 791004159 661671271 65626739 387815819 382833557 107142347 913688653 278430197 252308107 648303839 433262307 736436811 963560131 148375127 552043279 779472217 217330509 865198929 140884301 273554383 92976983 619988563 728349895 966537541 56057151 664277321 771469899 837411133 565594503 436945545 448606543 46005279 684044253 137324497 588145397 822303807 34812945 779869507 252264705 649735893 234236191 198720113 69612773 323845377 701196843 426649419 659116217 749388495 797872511 116055859 220982841 431557679 121705873 304858091 812483021 322540535 173732345 786003107 102853509 678152941 391471739 212986093 499533851 957443769 916015621 459679689 370397673 845894891 750156199 666458267 340760569 316366331 906306973 606516273 108994299 968029775 732275787 174398911 390227013 346643243 957180221 745977315 865733845 542796229 19506211 233612195 599436373 419356721 70904285 468481387 950860307 910007413 242470249 27294737 908849159 66436985 686613751 390522833 881718223 608345611 689601239 604227409 960392627 480340457 44449927 764895903 584999841 619948209 125747623 291867185 449641523 151860463 410637573 626590689 292774821 183269137 140277651 797624313 630417633 663847539 790672235 341105185 907229301 442472531 193860307 116271217 416503703 142222559 583247669 809656935 912427305 20694051 482771491 872850407 702023855 930519325 360668763 14806077 769464155 445889195 456925885 571853601 834466563 700666007 42485079 67933103 926664487 918869653 567512667 501305707 778436591 366171961 502597925 716230469 237827367 900541705 774387511 854492817 597713225 387356011 630078781 771024907 824304243 827541939 572868105 692862169 931393903 421704727 177413017 690825609 933790887 337417403 19407885 237518095 263419191 597460135 477009587 525380043 545421277 63386317 19065599 374752895 136713727 221932807 436780423 533347673 807276205 111704339 289391891 103343855 439964063 635568031 547942287 363900221 928828465 882419511 925887753 949224107 922167919 947945815 234504385 825834243 471256071 699366753 677607961 752909437 318160205 586126239 418299803 555733173 131475523 502244925 920978427 279715759 862786961 416158299 503381781 300591323 692042629 363988213 289770221 325198347 500028693 834932215 260765867 729845887 961823971 139614515 96029605 263815131 868481075 151763807 230953557 275672365 605882871 281248031 122092895 897364969 670218693 684004347 763168909 235825901 595204829 488786277 572572115 292118911 875887911 366657973 878126671 939495499 5649455 230722861 505230655 321026663 83844143 353288951 587532049 133013071 869640453 695440933 213311065 947067625 389776185 157267117 105216723 297280643 89616635 404546163 951073375 639303635 825197857 264650303 601372681 364757749 416778283 369479361 628212487 559687789 952333119 369737111 403682225 203733545 943806765 798455869 411783821 793807487 109179243 584042783 897552707 708627245 492905755 475443853 320109481 588977751 103156739 539184577 284438715 319646601 616851345 533805533 93558169 359481531 227069919 958600425 207677073 885512521 82256041 520904405 946965011 64409337 641046105 879260285 822331839 867661559 955536123 974084259 554861909 167474903 168021323 189208811 473706431 32843161 603991459 912917227 308801557 404856483 789574415 467517211 163892365 23275199 782814267 653670365 994512271 22145827 953292927 107032185 753753249 697328237 380758235 422653983 601917819 868247971 960933621 206592747 17686775 593400113 810277405 581103325 478673431 589634543 669416011 255980767 215914759 80338965 49919773 896431041 16945689 671458893 852590299 613306685 650569931 421784737 920208245 561572085 795764413 902984585 550632833 564000111 586793661 374676193 484726077 596441377 478551997 326610157 706272147 898192737 610110937 878018397 260418833 576359793 908617043 190702147 520140015 782024057 475935127 184035615 261384715 128661901 218261049 596392405 376995821 365589669 367237107 569588659 764135363 822653857 570254247 117893741 966501733 138046029 245680485 152587553 755684949 257773143 175610715 294009173 532174005 4399195 956185831 162862581 136755289 467762393 190117771 75456599 400095669 68265275 50047475 234937655 393533675 522262223 484601075 553288637 548410047 868833747 249364101 306615923 761182115 313742437 555392205 389203535 250099885 37709201 76477205 813451185 582258845 574744645 112950993 597851995 111118041 119261277 312981661 819016571 419845747 919124889 209831229 54621353 550550303 995964577 264244377 809671389 745497661 442086409 156731591 649600129 990298581 305281863 479819521 302868321 304076693 969164737 896788139 107140529 88751575 748190139 499881553 983876879 650225817 741828457 154014883 685182847 469700225 746967525 729068415 47522417 909455839 470375471 436464873 145011641 719918505 79967791 586978315 160330387 603811969 628617145 18635319 24149669 803631533 46867331 152078825 524742909 310134299 381071921 229299141 956236049 271938403 649817421 325992855 820535739 947463879 125965381 60481871 23280195 133113897 133454707 170510349 305032533 601426717 730209051 393640207 760270343 742893527 945848931 523319493 312774871 908092985 649299551 386668991 283259561 103972551 574807301 848192443 798995913 66049971 120127545 602752665 373915887 446668243 316827331 92292967 106953271 764646311 991777621 887556439 639720997 893054037 371627401 289247427 644221609 129933997 236114653 226496561 222178325 976748071 672372669 408810315 777191977 816060897 64214139 565722083 229454601 22860195 952092237 811475703 239013955 725890781 393071191 853886375 129594315 731251621 612173473 390464065 600699647 210556345 148103453 358167351 220478885 521043843 894316707 808524837 67136233 583660817 539461111 555379917 391581793 279367961 118006463 523543579 754849035 740118013 197985421 214997283 575989321 292211395 584298461 203902493 530380011 176976921 51869963 109955441 522941479 122982745 725984101 818405031 938263191 633123711 122439707 236279667 541534533 437810227 978402117 654912689 758040217 407211207 523791591 995132259 928418155 774277935 855442919 796526005 579293689 951535373 72246039 586910715 97666791 617491621 500158001 8547759 584328259 97682409 535705303 761770101 600226433 597296495 323711377 273910551 423319423 362810231 957219537 13517961 477482881 856876775 507130351 699573991 227656247 219408463 989465645 908477045 353797045 61884135 846687157 306959003 164466551 287418765 489082007 33577711 974464355 471226313 424795085 916966955 615089351 281583307 296215097 126971187 936493913 919489639 923238819 553861649 472450099 975752737 464708027 201137915 199934685 811552285 246166301 302475081 652690501 771948075 643228745 992473215 860796861 333075137 287200937 362165579 112038403 572900865 614921613 421682301 750432831 487259313 867489071 422670865 43742459 978794303 350503345 623137835 310174511 312724163 971615257 644892183 41548599 57349629 523723613 216719685 290677719 1162837 525458771 545946709 221919039 79232727 412606909 292222981 83084803 498236733 232788293 617157189 724469279 501063911 301976699 813694245 620082681 653166553 326578393 387930593 674089311 236067269 948628927 331646943 285191301 709939969 343904633 477460389 392113417 693474701 493314613 767405035 646617329 575793679 264006927 272425611 556165545 337861335 604182279 250730885 959940359 903725277 561231365 943452681 588688455 734557375 273229277 219614055 67596049 194145733 657396039 356285469 277706351 660243679 713537253 289159883 154042841 170573729 938439229 145100095 248293417 774909263 520643779 825194347 254287529 823740365 261861585 883849323 723888129 864544425 118571687 241130881 543151945 250887199 661553519 486267673 550876927 553199115 3681335 838885829 560265735 368302323 116617981 361594691 190160047 829768459 278422943 984317299 993239979 24017701 376626921 296628579 472803097 639186371 224912265 869478471 484655997 387404299 665970459 538178677 540302023 396419791 81145117 733149813 680045899 641257347 194697725 885272051 729526469 957718345 935467529 73351869 849057117 476181477 59810937 998298579 543233181 474233033 370309233 945699415 355104379 385754635 379171323 16747667 355635287 465401193 103772933 815021307 726929907 588880207 512576617 236228395 533877373 229925319 423655147 400206053 823395723 954732937 771626545 3941655 590525467 577679097 697755087 677899983 683135375 829010713 196663357 131054157 634843833 649667737 674594267 130954227 320192715 279728339 462866419 598190925 425543779 363509955 947894199 242441227 386000005 555473427 711583039 661463819 667577761 549466129 875931791 573308753 563820681 666700979 836630157 685136133 810474877 293742491 323981837 633600125 269208355 908862221 778164421 165953843 249875331 85903613 8121433 134818507 952873753 867042813 790146897 102637585 962927037 261433423 807181855 296067573 712065975 737207001 209011741 665733781 560542387 247487533 698142345 907964981 968139463 666403711 102292367 903453757 390050671 755725743 50527553 498421829 536824467 273630791 61830293 569128707 718558589 622187121 265066095 506830685 604149733 846730761 374476951 922864479 900801765 254678157 357141183 985837369 800205831 831381539 42783615 917147723 271702067 462250139 52425563 859167253 993389763 702277229 795549625 182159169 819818607 975625655 24470507 370749095 807710817 779573569 999326763 88878141 79408421 446088059 149814427 670141481 614267311 312663929 157971523 852254135 215056989 941782013 802721301 783540313 312434677 109049967 193640937 448186027 413894819 178869725 824642433 908109167 583822589 650433533 772082567 373749391 412629759 806513713 662067339 99392547 329543951 927366783 979206153 562596193 936648443 877689493 374134621 578764209 464908537 98856651 321339093 207642523 418374819 924565793 385382561 765934547 552589313 282337855 722267609 822983733 293320321 276573809 206005631 297495235 926140917 31414449 819614589 295914665 38281627 992939421 174515107 147688249 976301339 961128575 988747435 31334641 593021313 757351489 926650679 418239603 807514177 101906559 426893007 141073801 809779255 634097271 67907811 940744231 541212845 528419343 189057999 824371561 796471885 869419223 885731795 315496081 267208747 769192199 295960601 713061899 406824647 501856893 610994609 944215147 794082567 106909121 104521365 344884587 698105651 352530689 211886759 609686767 599173639 468404503 100283053 929579521 426824091 280172159 89671517 249957333 641209975 276384355 691821133 274358983 39072391 23936401 151190271 144650075 766136865 645545855 291620315 223559993 364806401 933117263 930065205 924637751 747887951 402353349 581928005 426969935 60551829 144446291 871398957 282397093 243652811 827884305 245809395 326984581 956491597 407918011 953949837 874734943 629719007 584040377 965862351 515967185 231030705 709982491 552998271 55440287 904051797 379636377 965328197 860436657 165640395 899484307 234627761 884548893 469284471 333206029 930558525 620006687 804993063 773176249 680573001 539094807 748372239 278387949 664002079 77857425 118534093 47345319 390242547 779554627 226125671 263429777 340347097 977640453 969539143 148371449 951829975 322360797 647718215 563863767 189014741 427853045 427200163 416925897 854482595 110803359 443375869 154380311 940467961 39787351 957097573 357905583 150722939 395835841 853384529 931839275 468779699 172912553 974387611 258788295 874278159 416909313 354080139 955132781 620236779 95270627 888896719 81414315 194674821 239749781 976799609 252923575 323547915 141851777 322622215 884840051 57635211 252879929 256024929 205888355 137476349 743383675 468812243 668318905 944408133 518823975 98861585 896596555 776444205 177953611 400891705 943805849 408341347 181072409 127777999 238721739 431629697 353838573 707460035 560740781 584649739 948364873 297877863 518837433 422615655 807163353 617465981 138583565 187081193 867293039 221015077 152569459 890781895 209473289 252644079 407459413 410367269 34416841 324973519 175652047 690798605 58122233 420291363 9795743 351927405 105884173 674673073 892958507 663505439 331180961 437275045 897265027 734114023 439165815 172671381 839939421 57556331 819817851 241343359 675844635 488716349 705932737 606184391 723023811 367818457 818666371 679346745 292743173 56962205 705246243 188605197 406937909 963790291 314921521 53008861 331525973 283410093 523374171 893687475 557019405 313509443 889374847 626847479 179647147 882963863 221108895 11339907 257891621 182591125 650350055 373280401 472062749 789854473 671779755 33403591 748383191 82060207 892753509 549824561 266515525 15696681 230742713 582782025 884155389 258139391 112963697 516865511 825370687 818645667 353607555 164332625 822873843 429253741 829527303 886561847 75403173 586590369 65494593 571744429 454246543 321518181 138984863 673809457 604816271 988487371 557362097 641445285 828942125 656846797 7213619 33010521 879564185 788270925 582924041 335380995 644768681 580798483 645064511 32539069 731416027 143028433 425544709 637614351 174907225 214423839 421810107 659008999 267138801 490666623 812692703 120944279 767644699 729418587 608828193 272689375 501283317 747752963 340007505 387433185 924586567 794416561 327822699 170465327 181988479 657648007 336158611 805413051 630652087 754688909 81246997 170754019 85711019 551696819 625294947 385345387 711398083 350906071 859291927 92093059 344037649 988979637 336410359 945620159 453258825 259663351 779338477 767788827 761812173 739048755 861285899 239837437 802391969 139147741 293175951 340925235 324858231 934664791 604938969 55064307 798059431 130558445 350813815 407341783 304872235 619725263 385682203 748290023 344463281 203423253 431247263 162184847 199818371 481472705 541449481 783818661 106156955 108641467 670409603 564745063 695705239 614897879 410584929 799610999 256150463 686783181 485766171 436176103 770770179 81662527 223902041 613797159 77313785 80693171 213980643 970874649 577881567 703166367 624503469 248367873 54230175 812049753 274349523 347158665 782630343 618112035 896821143 424866251 343749775 850585637 777052005 385328705 448175573 811871091 485892815 284077009 463590689 138190085 687532691 286437319 788827553 486654909 170983315 20405725 101950253 440527713 322346457 929533739 428715335 189695909 808078745 565897017 35442193 306842403 575218735 479298291 523136863 398148187 985160989 931118509 746785701 752033975 652013841 595939369 752502021 613831047 526229721 187229063 825965635 946721027 265559157 524699223 491352529 367038289 663084039 908578703 79802053 331082101 191998169 156234635 130117599 698043491 735515745 20644111 433111685 160677877 734692663 876600905 165751239 486285291 13868063 37803983 793082717 577697517 359747335 589440927 78961319 744859023 284340735 592343581 5585321 333323593 687664195 323643671 630477331 565735291 226399543 947857089 311260735 281772143 122388325 966266041 475337259 630249047 972274051 971183363 929316989 205868621 969276777 936248079 714352003 419509073 685094683 344647345 580377657 954010955 882173383 820196133 828062011 282756111 168375485 24199697 656063441 415241811 286263929 238893187 6645481 442854587 181063583 529407471 220030491 713308881 149238779 624148277 383820967 171023363 646480255 463765399 637636213 892138155 693561157 489193411 445513491 713260813 87711891 27249871 185186487 886677071 919448529 216027961 397248833 230881669 851689879 201883107 817463099 148823205 394910619 386123039 41031889 573305747 636161477 916975007 53382875 818262295 436748571 867680127 19750873 639047139 101525205 813670729 881863921 307136913 262375757 869976293 714403059 509344159 357304067 537306797 499245399 70877817 976042407 114725467 994197307 683826289 148995339 49786901 350069863 718542525 620749351 314436457 467579979 607445633 128017443 612969547 679702269 5684165 636663111 708258329 889143355 106392187 312439815 542401689 488459887 243385213 356219901 301435639 196082599 830954889 427429103 71741129 848693401 352466507 694199751 456972043 365755303 147078483 534007705 231382309 8075735 330952989 923817119 443799009 184707031 349519879 839378747 428078199 172136193 971816795 841177851 643387777 569409617 180974153 28123539 629423623 46746479 758747375 259125209 276060279 213288365 602376521 968010967 327147939 579228927 57492547 817388211 370025419 829383431 322758317 585330113 268673427 240003081 743528001 767757183 728418567 156449271 906632353 737259407 449336479 952941415 655084629 783226555 127388727 365375641 604885455 218733561 221285909 480642675 463295079 606836065 560763365 156363653 933248863 421023031 108746173 115483911 999913697 433382119 312444185 921643479 680568573 64797701 856934879 117783421 397262509 638422347 792568157 114424105 639769811 191026589 609297225 859502255 294752567 869838087 772743869 608576403 407749513 146497977 769771329 808417785 828496997 583332113 777415617 241305009 426586699 235354259 920904083 995409713 555936421 710526695 627641717 431764123 854551235 862029539 175198859 784355507 436920543 565490817 656343393 429736429 71411995 10828261 942424815 138933595 696566911 131140187 712351633 34877887 553255419 883632981 44403211 735513729 338514795 58873197 37605517 770913965 244015247 941656425 178076073 940814333 189360145 258313521 556945247 807882705 220063873 155001051 729437203 873262637 103071577 732335011 201097619 604058307 405402617 95805673 446837781 391469545 192884909 993393979 301316915 592365471 763787171 405131593 598432501 794238091 174194167 729282291 672915655 582193917 656035497 81698873 207518847 821220333 805202851 515069511 506601305 162259449 173044403 733647983 964659963 285863017 963220631 615923501 532448373 481072685 146236399 862385447 747755831 636481753 878189633 668189221 56201251 797877681 459532035 342902299 222423675 36002457 735262345 310342691 770266863 37254431 515199769 578802051 176692369 375826815 936395227 327565477 577579489 627542933 79663581 319219741 35794883 240025575 752186653 115209123 919042691 860182695 488149881 861478687 161087193 747273901 737925565 397921689 489368291 727776373 897659031 611252805 790181153 200254247 678032291 118159743 803665797 928975253 374336097 638840777 158353507 405438259 716579641 429083343 204366711 119737633 210027135 209345125 390547175 570997545 743937897 925127043 665045057 224700087 476141341 758431057 418365819 146198499 783710111 501200407 958743023 362430059 114439907 71537739 751499109 188569273 83887043 684786563 696218891 474923229 74202877 481654153 97120883 123525001 438593087 689412419 322907291 306379553 161158421 147269063 303170283 435424939 912544765 582755151 206796335 27716823 32310613 740226623 446802841 226513659 443378791 40440865 410891723 68389909 846281829 573733033 229372361 401402319 108006761 498254005 713089533 912366967 678831473 409867587 494629185 982388483 764374889 741772417 942232527 970601493 590630435 835250883 532640845 495615729 872861525 250139523 357090505 629401481 617322659 654218853 395835319 92689013 376509591 888360501 169290999 451467249 57883037 195955173 431405769 385136357 168941333 66538383 346655457 51114979 802858555 382409079 506874189 739798559 635388219 964336907 20714385 737062009 898983463 106299867 559955853 441565819 454557173 292262563 491324563 911595855 909059465 224302153 88452691 869557969 653585579 451924179 90485743 637952127 286268685 273985145 667459305 756642431 345165639 969128083 854865457 718787233 309759965 522635431 627241753 596695389 462326837 795619679 245915745 755697873 473725857 536989581 344836397 546123717 768439387 218649391 282293771 928562855 982602885 763627109 685881839 830713489 380486951 92552829 560578871 541656127 387092275 29764839 301903017 589119259 886113921 301817923 118045295 3003955 705460435 30498641 385837859 156260157 134952659 958244861 25323199 499955611 640224531 256442457 362954667 488628051 861825801 283311523 466000305 568897555 87415319 977694011 490852103 530803763 650470025 418915247 452206413 201483187 360152207 272196017 921005189 920562489 619898177 825917213 308921885 49483031 669636001 2208757 231700459 216941633 282330521 61769061 391839533 139894615 728849145 133128385 493417863 225508771 556797051 574321795 424930821 757045775 60531393 486035789 499575839 794110007 506422099 916244717 99938993 479626073 615099809 115127637 393641217 436077915 981974535 973739937 607836601 361468365 367096005 713301781 323395059 734539495 852399365 446512153 466959401 429022343 392513495 761593153 925215041 38095669 255311157 833678411 607064457 864817951 741874945 148968729 456297909 134277919 623480321 168602805 867392485 660346801 885559531 758607957 400545435 587373567 462912853 719414865 492830149 806935255 949846721 435289901 570007481 46384559 692781465 10550423 825416243 987906473 735309867 739635293 595471707 972065929 125144501 968995713 927155899 282921921 785465687 876711201 357074507 993292649 361664791 241162121 425128293 664917821 608428779 596736301 764380115 406740389 989888937 443670443 724215997 322058929 60392979 491545793 159642557 489634073 338574289 967069023 269007309 742668093 770755703 264282773 424621651 325444129 805590141 270495903 384926235 153051255 248580163 336073697 732393565 593251221 777222421 480354279 563910581 183984761 33817633 917574753 308599593 434624717 241899395 73117743 177285413 285070815 919836473 942285391 724821119 208474023 325574193 656292081 340983667 6749123 9582393 80244837 126450345 6709371 25439753 115506729 327415339 218703293 271290951 550469597 530892911 624566819 396862071 535176271 834470229 231157737 495894797 673237103 797654815 863221241 960725859 36300893 353550715 220965087 835077305 421419097 618806911 581382103 947054903 511943119 267693993 258942907 7472881 686911569 721664733 164387863 167089373 694047387 317569895 379523607 805445599 396609939 901537023 426466195 88393153 219715905 252308161 783968267 704821809 388908505 536422451 424881575 849171913 893498549 634678849 864705587 624675085 270763867 50877503 228400169 186164579 580601461 877014765 407156135 793182239 403410135 308772719 873885045 205095799 922434171 947366483 788270595 514126223 704957827 739572367 995768423 344442225 102417213 13661821 280221025 546043403 612359963 800927973 137692247 109210935 680864185 626803187 66889817 976307385 227151321 162581053 528775453 743839031 361633127 67551169 835799557 258381635 357458551 17844449 488680215 899380825 840141379 653059951 417210369 700698583 863989807 106840475 478918941 514955271 620777669 774292743 666890855 700059419 674112185 784575413 670226057 850591787 973155815 789258517 185680849 603270715 227914833 782180601 487527733 879933233 554618149 986502305 469479767 122373855 210884531 120041905 255743355 814240767 774691447 641898295 346113683 758155059 973989909 618065063 58138677 318097923 898684503 524233951 156796833 795428321 303881521 733284133 859049151 271373605 505386943 481531941 373297947 641102867 435760453 453596405 563739887 103371729 938445355 221351441 978283545 563296625 179492615 43757665 875837729 2956525 85316501 985769007 27039287 198467111 99372469 181739569 976153137 624415719 821060723 273630343 707765645 787179743 615802117 349098419 214177653 4154023 786326979 682376099 919746743 935751361 525734707 118547631 645578955 881612695 461640445 435111055 674538191 84309369 234925815 11701613 112911499 544435105 239244829 706694869 353297773 472829745 621659023 665699515 640487309 928570417 292280219 751516797 528908461 257786515 11420337 324226527 74721071 275515695 49764465 536316433 203672359 68406983 648605337 346452135 582113097 309710085 129260569 348905117 577390583 612101497 228199427 77240665 420677685 479104157 976590991 103689129 22763701 449355985 453524515 298472641 747610829 881328481 801332299 659617601 511582589 808514941 34136761 259269675 545492589 195902269 479030345 692825069 63203049 213405859 300851197 216638301 394554091 942407319 942592001 407340215 167974929 485708781 209054375 124236451 812328099 435931741 656002413 75360043 978628241 794017161 712348659 674388679 860563057 73721337 539531527 332847955 782982785 690009117 856109979 562137363 553236395 777472337 888013771 781412791 992949885 865702101 215740377 485867345 598966319 861214419 557973809 592381793 296098207 303737177 321420135 190820811 157501011 17550181 48647989 47863773 862202239 67510743 272024957 114878283 119132917 206282869 313370189 810231603 98826295 471151861 368032729 327999771 301757293 981728747 344587639 573059055 442547813 115747805 931708593 874585349 590465941 827963443 745902125 27235097 103226653 302156349 222184129 139621203 124297671 506841651 133093991 438214205 373215743 178503227 637469507 635306191 709917405 935587161 185885343 746686819 846173473 562082435 320122351 480449729 768339505 750310285 163161039 144654615 629816093 927736381 677412099 222395127 631179677 201255225 710316403 588376673 111165713 803508501 734407989 371400633 403947389 52879177 942632323 290549451 162812561 348830517 227069889 653958095 196562087 912705827 8684667 805405793 926631357 333174087 809024609 537863303 930805367 551290037 395550033 199212461 384932137 407570035 687934287 403406759 647521993 128291431 904429443 923400629 184210421 974641253 70277443 506446205 811604981 509179683 947965707 500558345 863350199 826175815 226105723 328888015 687320787 838853717 10861151 938767533 429561993 215048641 799630765 217966825 611622081 671176675 237495423 541847089 412821257 55764223 369123861 193386391 888541591 124445755 224371423 991634841 596737099 973417643 601810285 376607007 993383855 435875909 463457149 542125171 832538607 129442541 231061231 279842893 697991139 865709933 33658065 249796809 393543691 41725043 513452627 211109995 136114061 209554841 566847957 488589091 181632313 139081825 795795927 473429829 241717895 303372599 34127877 220917899 828422293 428938343 832521777 258340641 257793323 780075821 161482585 391031949 932842937 113370795 49706141 332162763 939534931 349452009 849136203 72119603 661573821 858060249 638015701 975865229 855995227 171903573 389250007 963312389 841339453 32928539 633823507 408647983 740677145 926452183 476675445 157556493 217869137 27555867 410379279 194363391 449703147 899122781 99628319 911178455 534170005 432943361 519252231 858766021 998131879 861212495 52825425 746181739 741058851 52902519 147275185 814799563 538221227 253354135 268754179 876422739 192670867 342589867 949875273 21854683 492899023 363539103 270848943 335666589 290521343 82587715 769855369 674151485 93317485 587755601 862367569 338980301 835891205 185886315 404075691 46819519 6195551 321939737 125432929 964313841 510161339 717302989 498958695 556482217 628199423 713362655 452930521 72041875 788592315 215500433 624025593 130892739 806606119 271505933 163182389 776500409 452340769 441792355 663401757 729294939 108245809 745530253 448439917 230284787 618244487 319835501 724242441 315926327 780694263 221962443 512276475 327916871 217607941 868047191 517359735 172989349 198449621 959397805 291434715 676569919 618812725 542046799 207693989 592709483 438157729 925893281 482529413 385344743 5297461 744658425 473890123 362714325 837997751 820070543 996437235 152989639 732176027 203421829 853300641 176855727 113340403 597069539 706968223 635287529 408069505 314460825 638882147 620692543 582715565 647909763 253548677 383632345 25373315 128906081 246764235 491967313 229308093 69841117 543702559 744308897 784694971 881538695 434549395 792870447 469580417 536867289 488414051 5747657 365361601 174143027 456941555 661781411 690765521 937425377 690937039 624698203 542029745 72973585 995791017 580393207 672313607 622618335 965922139 866794467 264523555 868835403 681256683 253451765 75314941 63744319 711575171 206724203 471134003 921326987 124288373 964321511 152371469 612776423 524562495 49235577 418456443 79322873 391609217 258326679 824901137 611991621 476266761 905496605 513225235 273976129 571378889 286060623 843705187 53758531 389781469 291691995 623267733 455743371 736406407 851770329 960212703 976430663 13828659 479936705 229963039 70148485 956993139 180909949 354451675 832618813 721311237 305311833 621373509 623025493 261447369 213273097 660589621 250772625 225531341 160340139 325753639 435678629 732945987 774447813 482029123 125084203 939124359 748946499 942077019 842802595 132190491 363951993 75551459 184045685 97487787 971878441 662265595 417042165 835630603 526828659 633790061 927484505 722221877 789242855 681462435 638541767 278632525 45377147 387445689 866738499 634964893 45282185 573237101 491822785 108568473 366141657 289500709 55621915 806784477 487898007 778750449 106376975 276017707 337039705 729140617 209058891 658786159 882454301 344894795 6242907 21485245 170195527 214496831 597105597 556923983 16427427 978559253 994224847 517822089 979859049 999125281 328448731 93460725 3029301 596523879 424040723 449690953 561465611 880359307 153325457 395050077 707133531 653616347 617585747 381877557 533496825 247767379 604459079 821817343 289791009 382558351 870299705 869603083 933862777 957191381 640332261 74127317 407579663 922273303 15719661 900004353 330439255 621791469 322307035 976250457 91612207 149633427 52458269 16488915 106326493 555685105 940496397 330192007 619513613 302884249 3872237 62819515 507907541 650606271 457123049 856723415 91880883 434121027 182810893 616687985 158800009 136212653 66996565 376759365 434476967 778704429 713260195 245101875 312879299 257432985 856198335 354673737 560534265 141367409 655116123 461549495 55048653 552433371 255640337 291097309 613602351 824430247 770684511 478453561 860977521 539887181 514257585 680088443 712004179 728094699 82434391 257250931 604515833 859216457 718907021 67308575 371943663 237725141 403081839 783378591 619825197 188532649 379637259 328133953 677317137 168700033 89072721 355939191 174870875 745948615 888368921 667071451 127661629 108892809 44011047 179601203 127770955 844832893 178173983 731907945 823114369 229646085 684917657 482136721 162697797 874511911 131315209 184292835 949180519 397591441 214003923 253232327 632363287 92287387 538689597 46291909 101804535 929664069 1885309 941217169 293203721 500096565 922615465 246653957 969862075 167452605 350842307 55725865 840678883 862957521 740296629 105080867 211154111 21850385 526281295 643276871 418983923 311233221 242513997 334010899 278604939 284910557 149033547 998636585 364877823 97588719 797451735 797887571 417121579 666362939 890335329 847422597 578609491 469194407 139215425 521707483 375159079 832288451 673243065 678252951 899136955 232074951 97539569 416353829 828165515 166300305 707403773 893173785 944486781 635531945 977793493 850294573 255896031 887453501 303625051 918077253 76396389 596743975 248437079 865114987 671797293 156628195 682811001 532664019 278811325 846157723 822527069 249703897 13079809 294352411 976642179 159396609 491888463 793853407 145096021 840296947 659506021 654093315 974454051 839004293 938905445 172602957 57568039 804517809 81781985 804902959 506055297 753026715 987376585 84310975 49048381 2308493 68617599 859670717 8027977 673268989 132453317 867957137 920765313 457089155 724912075 884278855 576328869 114653157 274782499 665239961 145127005 74876939 82470093 434259431 713733181 522435595 21605933 530181685 71850685 605540383 400875537 860437301 113567293 273989291 228814253 726572603 980679689 900453179 211161503 955939915 857865039 802556289 25769197 453629705 651664939 90173015 313345539 879519685 584402077 569829571 596423095 269833847 356659597 963242221 966713925 357835965 625054159 283724077 844607059 833134303 268179227 81132281 512812015 822893771 627757329 732894199 239342991 501983003 103334459 184390387 618810125 62508555 236024075 680784607 836383409 525966469 85817563 278816213 958198825 366593813 374795499 438156315 603664775 812463863 894794083 977815323 472181323 623273221 123636311 762619495 563973721 356062923 835198653 784456381 591537917 560085365 806155131 106380541 956589039 510319835 685629013 367846709 864829003 283207805 109188863 254499223 188508565 773040769 430873107 889678719 174766781 934630585 24201743 313724015 607079703 129454489 833932383 646258451 378486623 501476161 513928789 860992573 242807483 797059705 882506793 889598443 516509625 135765425 409278459 758185535 330875213 973312511 480358613 862689923 62138327 245473827 818576297 465784875 335910425 718611331 953526863 707679187 881859649 222182703 124785291 278208573 268680933 431676125 552365827 912936277 774386689 563064303 292088907 552706863 582962173 811783275 232830937 256690435 232687267 306732543 442993425 564937785 649130539 204257029 683739707 691711321 579279409 608749945 88334729 891925273 398586041 333020165 114865171 157949265 150155059 309158135 633046749 157712901 535348593 457310021 247694285 963783777 434478259 391362959 239352501 958950841 495853213 975676191 21934161 255137927 320523837 530304225 493378365 935271279 837711623 16584301 10018567 528007739 648814553 181786371 747744543 515492065 976368633 416019593 733711839 1912441 977663507 730938001 546081157 165573191 147127613 382717263 892436797 949632697 462242803 949481123 275282967 146946655 597951771 159260437 101814797 761578741 925692675 39305941 612358401 776837727 766111329 645273273 124043707 598796199 950738767 391878463 512432877 2140675 23742039 784667025 119848495 475328971 91420001 554871933 867933955 392409477 780649157 696805755 927194579 131653851 455861313 794633641 401398511 944959903 128394745 690425039 208571795 502516941 861771641 630511707 709808859 817919369 579906233 305162341 791189717 994156063 893041941 279536815 432076145 11544833 714730067 207809947 667627399 843669449 420450719 700794685 717900249 966563901 586667149 390297161 107807761 822829383 627601949 235223841 21726143 941078521 636398517 258165961 788607325 621127823 716827167 249114611 519642957 870914927 674853009 903254517 243652309 730511905 873658793 501307855 535160107 907233369 706688109 614181673 130784357 63816945 697394505 619506511 906129029 924977903 696230675 371826747 338336373 333324925 613796361 993507723 589955333 447965677 177266895 845915527 564507119 740606653 377326961 738003487 952751315 994284175 299196007 994156521 428900925 61500973 1222541 182851363 514678427 543867531 395056935 75088055 605028681 987502019 104426213 701893427 510114695 744531995 874824921 687336399 977371519 983377151 503849091 794717545 968268609 223240701 140510151 536753543 229575621 612314069 584840691 452359517 752440305 599027561 548851899 804807869 774876041 718312643 908672829 721690921 273476675 389268503 640559359 375254217 721515701 562963137 531090157 808551787 743762271 482283075 169248861 633675653 102170031 189371209 468219403 898058551 533649651 482433703 167455007 564228427 357504357 56495191 429826595 227078701 98656037 897179261 948629005 389990133 602360637 361261155 640940861 619203171 510534817 222203775 739530869 443853277 701739301 497536105 633301475 119100019 59661455 235388901 735600159 469400541 434139015 594219999 618724641 226678137 18194587 769109611 616612691 68479313 145108809 571261125 99364481 243540239 71503087 899832907 306706655 696219919 154399705 413072271 890673163 654269773 375652405 772933951 421363721 853937779 700747549 61299515 378615369 879949007 902434709 643209089 979683999 309341529 522517379 164604737 395162695 758844591 516004027 440265675 212816103 666463767 301795829 925620123 787920269 616202373 396173777 956900181 128923055 387645835 753487321 687312581 796425767 377503851 536324479 501452253 212952637 546929421 29853981 78389175 646961309 565150461 918577905 257738649 798963293 514827895 562293799 581676523 598572027 226762581 151424977 294208837 951892059 440401443 162314725 185437021 498418633 708600077 526527559 553291801 699550973 77760235 169636289 532325509 816524307 581375547 470563073 28036051 862154639 730065449 912043937 419994205 207065953 415059327 979168549 973406377 614513627 277606327 975015923 378348129 835093693 49484783 686153309 445817689 61335083 966268911 675640735 28066441 521853875 211346727 411108567 657643801 567888201 329140139 825766927 259590481 529383499 625732415 486458681 882247589 363584639 100444743 753774893 878179759 512119569 165141203 102270637 769297205 29064087 970901401 847656291 999495969 399488271 420704507 619516641 195779207 543115995 701145599 829262749 728261025 978040267 777818963 16029179 410931921 318383893 983687759 167902019 299709349 974672211 708742133 463343783 843107279 633359759 671946215 460191295 536253483 951584305 794630009 942947853 647544763 590479377 651993759 944575227 628602541 430674797 571279609 594619353 236350287 735453417 253955281 727557731 880744737 104190611 321191443 388348469 605978053 257299167 30703959 210093021 857949189 936000939 931203291 662246347 796548309 370976059 932110219 948284247 553097297 966547775 917572593 367980483 97155773 220842443 665452359 833962809 370588033 913626715 288178795 366958025 798105139 655552213 221154021 875373165 859451277 848118919 389799395 873444359 161818739 493482791 179375423 454498399 451055343 21764559 758520439 786740519 368163639 529195527 417772463 750429431 255135907 556715709 808997051 343893585 71566519 849156419 483475473 732870303 655449633 256139351 925721039 402486065 867747249 659903777 838298299 696592961 339139939 856094763 227064649 746351087 877709659 93224045 434274443 295604551 864405733 335919683 894869827 261592375 709245297 772769905 579371735 548635035 309645727 860057895 868259929 653266483 242471981 699721977 279884157 621601705 922424075 98806243 525619621 276495501 854263369 269392459 385466581 198546521 221938981 163687423 33266367 417968237 194929919 711799091 960419769 791448341 156128869 940541317 773525955 766053505 758629895 397556987 169802115 577122247 505186757 799618817 693416265 906733 367246751 226450797 473102349 358105307 633762495 443444603 747768429 739873889 56245373 808507603 959682481 869626681 451535183 896184447 978152647 788000259 640137181 450962935 389416265 276945995 456364525 537763349 33899637 643286911 440928631 953163299 268388911 477147643 637475733 62065865 445150731 972406269 853423497 869435167 273924159 274733235 638318527 64169379 799253671 599466795 409384649 140071737 519359951 203880799 790861413 709038639 201501667 10973999 50577013 506446137 640213949 814541157 230816771 449967221 769617881 860563635 37713987 287702631 417569119 70485171 868589457 313346303 960311585 409675493 525016175 120041617 375224467 211292593 95832201 872927449 67779285 643629419 601855409 403868671 995376561 559464779 693525733 858300813 454831761 887454833 903846215 986282873 218335121 110032615 290009889 51325219 195706991 438889631 473466087 302993485 419683729 91618931 102469173 949164581 368013575 127252771 198161615 768886337 556078473 671613527 510905757 291407775 697852789 312593825 993878453 413608865 678419411 781762941 750999377 629903641 114013011 693328969 785348821 81964857 768160585 831554895 202584523 450628255 628199609 927821761 239304679 687780943 581224775 904872889 956034053 990952121 701840961 530972469 956924201 668429999 871915939 836399395 585872251 568373873 236261129 4847183 431492945 304292003 669595833 912986231 397114405 720743763 739636901 98576697 706896283 372150007 248639845 94252319 163848319 81610089 199519541 559709339 709061569 34797809 830202109 813600517 711682433 883659067 444535119 192681889 947970557 472359005 108897631 910827157 395476645 140410835 126916109 256980467 357152521 447691653 905028321 595371703 915060197 528147645 700650763 86045629 4429853 424970035 916730977 151048405 241253309 775639553 610017891 105336745 201943287 433281201 792571703 277758169 660194085 745437227 93770413 848848609 888695757 717867465 644457277 816823085 71038361 918244419 926063877 138670349 22399323 702590147 498898637 539421373 548933903 132051413 723564291 872349273 737961179 975209581 225600193 17137903 111279109 680769769 121755843 132718959 108458501 873469455 607103603 585845681 254188917 871970827 103082207 366029177 219511063 655416691 641355709 230013805 33259223 968949827 269573231 735026719 739165383 68166369 438430457 468834569 412208165 162350875 185584399 105925517 705899089 132498727 453461251 900433907 634522585 936415391 229587671 347237483 402309999 654111627 211805489 778131473 787904751 168153945 118917731 639173095 204030043 181274075 947386721 223800273 47287519 771257423 195711691 480084391 804123599 503964253 444565481 908433949 89800099 341777169 556255147 647229909 249030403 647983071 375478695 45092955 783613367 32593315 316293405 222224671 58895795 433251239 119626739 501474937 974546451 872341653 703418297 15358635 410081305 415100801 351808679 54137055 314820659 859484907 83195035 299613221 876518639 56610745 48659997 537037943 56020493 594606131 218149723 515509685 612534639 457266453 262621487 883564203 898616351 292680311 164880917 761215495 546112851 425740513 66745655 22929765 253387619 16378943 199681377 195996741 218722003 465559271 141262351 125068049 720201551 836596373 593136731 324549145 333671595 94987633 454398993 687950999 818375649 637735685 90504861 653046699 959072789 783162185 680095767 909353313 123541395 733097369 970444351 415967655 181368011 466074553 444485501 422329177 587040091 462275801 853445085 297815863 118468871 466167947 870821913 683127529 21937335 448400847 388951695 972314115 891057537 979569673 552115273 961271037 981803425 769708039 968432113 809553975 84515191 759088893 779659491 629001469 852778127 788313993 984133661 638718077 803488927 383649455 729455941 687229651 701390975 410437855 851306923 682763263 911812917 241492717 96769351 872366825 419370219 429679895 167796663 293596261 236208115 309646847 949409603 782506539 405412809 832688565 945594841 714358747 556672531 193171631 367415315 464975359 267909015 338351303 305979949 752888587 390944589 178300997 686510865 815117907 838570319 27514069 619264843 645075741 459567071 441530511 66305047 800544143 782472807 114093803 77975119 761096125 687953023 547473363 80098687 128475807 816603357 791492755 567525075 474531093 254167145 60857567 585102371 608230121 232486187 232828885 167001327 912395213 311640407 673960697 36885853 159639131 350601287 944351547 453883199 897392913 538805633 349493229 35118857 181073245 410438575 992873425 694025435 176115339 320841125 79595527 112205693 902154969 666193243 504532767 799933279 924810853 783561977 469087245 357828503 730067001 770717639 971667247 743116515 462872391 21591865 332330827 372832941 291444583 720840683 221606029 209810947 816749149 276562591 447345035 124032157 871656143 821285697 644413507 131626969 648335185 655395301 350482201 156324287 630225753 514467781 502914521 483636733 746451019 288479301 297766075 995796205 863935087 12220399 46252889 867517067 272771063 686508407 900515261 864921985 74172411 137428153 311101775 398252571 12027263 166551991 920200169 555228501 435778665 729480607 111857349 504168905 302335115 871137215 681606025 664127683 558638241 54126231 72920897 154013487 966887753 527192265 6929255 233207461 531254285 948217377 871425235 4249189 193111645 918743695 401551051 96222293 785617559 894666033 660465663 449357831 52318455 454664523 183583619 351889327 891338409 146191173 834815443 367268653 688524989 988247989 47460823 247755529 149201199 688249941 733497305 833693555 357869019 371094281 564761745 759461697 158924687 738154205 498430489 299236081 709156603 968613121 793202425 541533101 804735415 876977621 942959903 636848707 320924485 425048023 579748573 602776107 770809359 45373623 894395379 813476995 606268007 139845 815076995 886403347 35326851 172422525 278683679 213876553 988464261 664144773 957402297 194795837 815285113 718067875 141981103 25415345 978047567 412255055 408608965 988487175 182041055 151319331 383718187 361497427 894348011 304123359 71868533 13010249 721901341 237729395 736699807 979173963 637442565 222935535 115998735 757759837 128756765 873010833 866122899 376494897 398134727 828017849 115725409 366297885 401326153 473107445 597623315 424653345 704648921 263382519 105598129 19793891 305524621 388761499 798546087 916972469 168223847 10069985 440798411 506418059 356842065 913275129 318440283 169400069 700205083 822155061 210110713 133946987 605432703 839551501 440319415 584779693 863194653 793850665 53356549 452253025 313458817 697046865 977904581 681327045 535910681 929617273 625993019 362927555 593680193 708185021 230806545 351200745 23745081 353315423 572213857 549127023 662004267 5818059 716843429 523533107 340305191 698790037 197152707 310598843 470489639 60906613 578013703 36437307 359886347 467574099 58914347 425088645 895937183 386548023 818204487 22786075 546847633 635778133 904593121 701095461 628726141 67736073 550916073 534712431 756093155 337678807 599145395 99598709 269303595 107314791 499435773 529096529 475880873 687265423 377533673 326832335 187400853 959766089 103360519 932613211 127314959 450778551 748434765 669050637 663435555 800089641 885204759 696834469 66943167 958986509 961177129 606835593 690853055 369732353 430993073 839121353 638878945 551892679 602195781 703266845 494036947 410230861 552983011 579869667 258507297 281845667 726737647 942527779 291172681 480097285 535288375 924669837 196357289 835656919 849673199 52246903 441934477 631142051 629520821 249049311 384274211 83248671 307125133 428299887 151766407 309497635 306217703 507968629 3203255 117033397 441424791 782994921 47359137 694202109 270393049 288738665 119603473 763181137 4853331 856968763 167232709 648812077 639413011 79483731 607921243 67462961 874589325 974590019 364114269 646521641 417174945 220977229 173012797 83276811 7014801 746509145 638032981 611935471 859848971 853722355 983205091 482970395 195356965 753027927 923490837 965008121 493247069 435671135 619430647 166960923 671171477 256743575 703788423 683417405 435205407 116228137 502550435 888310085 233261485 428677619 638452245 692634169 532111195 979111021 956191631 738879825 608013491 779268293 85973417 560676583 21973917 58887621 293510631 902466429 424020083 749641447 981415087 435208383 627287279 489675081 653167187 749109375 604737335 737024179 953223695 754639803 930787033 203851413 290481921 349372819 378814409 538253571 335508275 21405269 345291109 820138945 194555543 660890739 18592627 698603315 883920389 84022153 467462431 804159849 954580543 548201305 228013567 913799449 474472175 930794191 144756495 688440997 822676903 173471997 347673015 196268307 242724573 455939617 869775553 518434065 950358773 964680861 807741797 230111223 665616183 806005243 338296893 922550981 248883413 784095727 989577809 27764003 915948007 614590805 773497359 537727071 242228335 238156591 661290057 285722223 980631383 371381161 780339007 959203059 230393201 918885143 634697621 977418805 405409395 742992115 873132887 747206175 238451713 85184223 815856893 931335503 666640545 539082155 53394019 660996093 618582729 182512197 82354127 554620695 996703695 853800139 697608941 754848039 401804533 719570815 649518547 812158823 440680037 708668879 901832701 478974645 580839985 95960393 929910609 285375641 303145295 613196973 727743773 547375681 188329121 100749021 588993301 321659271 41476595 526511077 87895641 136659943 994389749 822640117 128828011 630138251 594563135 183171691 324929081 725421633 766421075 809176779 773767449 824864385 141834907 755208637 359289289 995199081 175473255 193691671 943374189 556266175 354151921 218116053 549352081 863364085 990466393 973003543 250641965 941214499 534270379 206061353 280446621 33355013 816651223 40089985 972448933 462599427 25102773 698172599 965399157 256820271 283466503 912490897 48162463 488064061 882460789 203316215 82870051 885541519 44328083 667281409 618013285 24660265 888886489 600222437 750564915 360295869 9547945 11318281 609751233 331865761 79455305 172953593 408027055 877650901 179168751 212381031 565420287 786093055 305034929 459852333 473980959 647755631 211601807 286680145 904527075 992507165 607993975 313134333 482756749 728936871 320799543 304808323 358762173 463742037 587269257 116874849 21794437 204639253 197658893 191406135 750096725 334312065 88481359 965831891 753950223 823549141 725243325 633584167 791061493 502425339 974778803 338539341 855290807 812975745 516495473 949715851 166503 807998879 144507167 344623435 948478597 55619633 232584401 213955873 476844277 252968643 651686783 557006023 190808067 817382785 928705289 284128287 158020711 272834885 218025017 362568247 101339709 754719883 272234435 439291969 60575243 191714427 955408187 4268185 553684413 636920295 449440295 940228033 240784809 626169923 274824429 551135589 466968971 587672239 806074337 448115033 518334857 216770803 68248123 373177495 916234545 523895935 773469467 262698049 60517497 918537065 234602635 278939303 532561595 687462769 29953661 781985847 875087295 705212669 607443915 192592015 428792499 708553245 393205045 842819953 318908713 730499977 894201955 33521097 921822239 959816095 389992681 886433451 232098045 662085479 297420093 700626513 281653903 806662033 262614979 412173087 684640263 446019953 426941893 591987871 472677895 314022411 382230129 901498503 93688723 734028033 779721185 383473071 306815253 215863719 428600857 961444123 998014311 401605107 511571455 625248505 612821699 648423297 66326629 146466713 425019343 879293597 505157383 848755831 233031833 856610099 880775043 407046967 685077397 656944605 578161763 769339555 150228643 34647767 67027481 626093489 104723971 251315977 427990525 927277177 643634023 47349507 610599251 617533249 200834275 45901823 869513281 293031281 164444661 403984599 895566041 604932767 80573055 107450133 855522839 478961543 503309267 615852521 744317145 808831241 32657825 984910633 467634921 311737649 388513547 760342613 587107833 429989941 912725907 802602899 813528225 255471981 927249961 210175155 898536803 505370719 231107103 732561965 825439145 245231541 864283189 460293663 528593093 631824961 806114703 47272273 448356589 108173313 885030587 616452657 910868037 644977941 122240173 20628953 214956501 164213963 857266115 708703493 760162957 403521685 381119169 619253023 672507979 183478029 900704215 841277237 838398667 885667577 925149081 531284733 328291001 901333059 984627203 474621913 199749285 400283901 957473661 883609037 256057865 933856357 480645585 565782667 686176839 217111005 362969909 326655595 769756071 488236015 234836809 401602409 220743769 764141903 100122127 384247341 273906043 143342551 565614325 383275785 412570121 995159949 621431761 977836273 882745839 809312667 757246945 688701061 701476093 810061141 780734153 501068557 338764781 460181301 973012373 205492089 19231071 710074845 584416701 152709471 737147103 820706075 927172125 3644927 8668125 841645283 396241403 390839615 448167601 617370701 573800449 856789167 15581085 458331805 51831625 773685383 625330635 276463167 726876749 379266725 263790155 78357959 244254195 435959695 769973015 343227119 204424329 884815225 64304143 697666969 835939523 957832501 838300159 918410965 993776321 260838727 322234773 892558801 392093445 14874323 606835309 597982955 379677565 397321895 231555079 445727909 494089343 581155391 836828877 735994029 206590919 697579189 872711951 693415123 320264573 959364565 84924423 963811347 177752875 750039307 187094229 473288593 734697161 529747567 954038149 186381207 264705457 445823937 855346693 87489179 377762733 194017129 679950129 333770293 695146469 456164211 490266569 908820009 249981427 52672153 730072439 757793637 29302481 791242041 617045961 473543929 17845221 953764957 604240701 455574817 956048891 969236655 68504627 927466049 946213451 614585227 615535601 791700965 124936561 649367535 742644651 169745341 457545331 782581121 885282683 459739305 809804733 138097041 745173857 145372585 587784229 646116887 813492293 906435815 744591335 442765489 267131643 743112377 823305131 371803559 972690235 837620379 804390779 661410535 357069477 165049901 957516237 775919369 8750021 882759229 234233985 865411663 585093897 165175229 481115609 576390043 267719115 491195591 766552451 891035521 417799503 355770785 334037397 43938615 426738619 210209205 20740493 382417305 274822947 970347669 496049999 354269747 982378111 952219391 127762471 759363633 698306223 685235155 592079309 617441131 204798845 842877727 60234077 750760289 654552731 504193301 283216989 541962297 147030691 694553873 850509239 746092485 718150163 688979605 831958213 57997945 503133785 449390157 659569729 565809781 726153409 282859787 986192209 700911233 542666633 756231373 53980291 540828941 222335183 388624819 63133901 297319215 664834461 489361163 148194953 892122021 352287461 386942025 773609599 307791833 987759233 942197763 725456091 755937497 287485487 257138947 954433587 941112925 859145883 596033327 840578181 986307011 846897239 457382555 659797555 405397779 191828697 109954693 60034319 461212155 303871877 155265103 185224521 924717781 900687523 476868227 983693443 264185245 580472421 576594389 745607359 175386365 4880357 443471905 343980909 752492353 728733217 272788331 963905631 468759397 825174277 653015259 174054613 945699331 293884515 722732999 649423475 657940583 508047089 430409897 138037319 142102397 163438419 213572645 849636293 2741469 908326673 46345221 634163659 96871367 750588317 896182847 276674975 972411937 686888271 998444011 193261549 479778685 251383401 852579405 274079179 680883215 532897813 381260755 25673141 541785527 377026405 180706061 417128595 189223677 281530447 476290487 239571631 908428305 112736439 458047413 686067391 734575047 158114147 989980177 419674339 185441443 698429705 309337601 876502429 498784713 200501567 149238237 413432027 699301385 558629257 815850539 99812085 87117531 308064333 989043347 711196067 862844765 965903837 750626541 816687887 953336149 153583475 433287215 10484421 893573175 389067313 438260607 617622201 537843733 81605149 317908777 814789705 445325489 859434797 769941405 659531065 183996019 362977335 3530875 595023545 121938793 33994237 776662403 27790429 525199433 869235241 263251871 629149985 694251893 658453067 706848231 235373675 943259121 510324957 899996305 247285001 7684719 98206273 655479301 903310383 109393477 828594623 953808329 670117501 423186547 273183879 291704725 351435509 522040991 367391413 647093315 457139205 764610587 428402761 963460821 719758467 105864923 58337837 444585335 766177963 692748415 68380977 846589563 54185765 641476431 382080271 951268191 421944827 3626299 240742247 143714243 441755557 439207639 254360261 63840885 683903487 70783079 821993881 784882791 331756877 177972943 673612089 125181365 75161407 922219167 477073643 331313313 669088231 193895183 677546199 909590167 288870085 181661435 14051597 135886635 364503997 796297711 736001671 385325335 767393309 741760281 496171045 893761341 972475289 766733389 28647859 868851629 943266639 128616205 412273375 350909077 479829189 433995137 105369157 977707859 138585319 825041781 386520677 121249641 256835339 920970597 135480487 186560387 120530925 867794795 135513695 926517877 125819573 773053011 685222853 457498681 661612525 720191625 964812025 315870451 764667021 625811749 570461959 395427821 945677039 677395687 874467037 937117851 547912155 284852021 821680727 379412889 727722367 157191967 960927539 781466027 838808173 318234717 409730079 607448761 203397797 145242189 933644201 244344025 750720139 839897335 582296393 986640197 664931307 309425163 655427683 745127265 843476221 925758943 518914881 856943545 61512541 421383793 584602129 968253181 429233425 784504939 291292655 313172747 823705477 817678363 459162585 837315047 917340813 627303545 433617853 4079803 303479145 31311395 306722663 113799385 513905599 438552159 668539797 76808893 362387097 878568993 556752613 620586251 289805165 862503675 996742369 126220687 533561113 662864431 924041467 936688697 47866083 351518629 45959565 832799785 963450233 759440617 581335767 184298653 512785389 684113975 590531073 218468357 763291325 883415401 951438365 278272753 559289041 71207689 16842535 98041119 532687475 562686791 744286461 692404335 178258011 277179129 461979241 154850287 840161445 641839263 469876253 739588305 667709397 657469793 974571441 616290671 50384347 176423947 586135721 595307087 725149449 440815639 927729003 580886811 917719839 571218083 7031371 443258277 315925059 781259639 271390335 755724523 500053501 110603265 71883563 463070733 275851849 385265755 650900567 776353113 656428671 223061059 946084853 230849345 553408103 528293407 217139933 276828001 178114861 284488189 546746835 855718267 632258149 396046489 704013437 450309755 996499217 615641167 76360301 796666229 336404625 967908903 380476957 40354977 742485431 838150863 958858735 502107239 949835699 548261279 639692587 906467919 504830759 53735319 904444163 39744013 778889493 365386335 738210191 586416253 153721835 760654147 369657553 428530337 213255297 350920767 352251827 90496165 399368975 571005165 61963015 323389149 973105727 459845529 615513731 618372291 462639133 299118637 742039499 565836283 886602525 281221445 858809191 555419983 848081693 662744351 253572551 198177715 878006883 777593505 378740807 89382211 60215961 41644637 388340265 241773123 507975129 477440903 144539539 641587739 978492829 14293247 857512087 944786017 146060237 789002829 24556079 170894287 908656051 798307487 562287931 566167881 509876997 575200719 442078599 127625433 119657187 778017113 491499203 234715829 912511695 930896231 893808007 32549941 777706935 751967687 283530837 472019677 159616753 805125361 198137495 777157979 104506683 965568769 420096925 771758207 328966583 583041219 592018337 547443781 845623543 871446691 935585987 557812945 728866285 3321787 773754895 804861295 805524725 11787975 613759093 849156495 613215449 840860975 582369741 359567825 69518273 687021061 536203225 992260339 442448455 147827965 61068609 254581989 508746341 428897143 533981849 66489783 117873793 450125181 459878745 949801637 252093545 278842555 941168867 206626581 667097169 646088585 536013181 216871309 425570263 864304613 307685725 285842629 949292801 840706683 902854041 523591831 851183931 316490645 609058611 886054147 646588507 841650221 253763091 371128121 608730527 672058081 235714061 415070345 66563753 300879097 969015257 779335025 733416073 903160163 822736407 628852881 810356405 124265913 354529875 182149047 885575689 585056055 917745659 950995157 657533385 857803207 506963307 179113735 26165923 968412407 479065827 464249231 185275311 532829951 198442891 806901465 630561125 78116795 423000695 548530039 695426735 704719799 312451487 690070311 921784281 377308447 634853603 67688905 815093655 84888267 770662671 491248235 488771591 386475837 641956561 902629441 722153903 638604695 613016003 495088033 826266235 26172075 876190057 279577875 79064255 842463731 799930923 19445315 13972029 934617737 572390487 485336319 7156501 919238711 112400171 765633607 495452887 789415021 446147013 214010173 267384695 237152065 482990639 464684075 35642965 17734259 477020765 590518149 985390387 904292969 847831331 987465447 856452415 607872819 520346951 813764627 572579343 917286793 594068591 816437239 376835745 964581321 387314735 152358817 464612441 788267259 675494141 283113297 888545283 719538639 203851069 830482281 120432855 493749145 759685689 587387765 788167537 214663005 213785887 215327525 913858773 328677053 485390857 880521559 876348275 184563469 448734971 452957455 740452383 784633411 639174363 711126645 257975061 316655099 536857213 119426015 7845627 791459969 240217495 897800391 144227807 818114497 897840589 724598481 303789109 410799187 231710631 539050697 308411867 217195127 403466647 847632287 623112471 981272341 73590005 342543217 933663125 152039609 29505797 121496195 83873643 701372063 95614957 483867711 581226007 425722785 223342015 978043447 61199739 871831881 663290231 169942311 160224487 300933831 866255859 93506035 121689617 147188721 965653245 885818535 863848469 257566279 861699655 978971507 853110903 327175663 564445801 144518071 895285285 787721913 443977701 720748787 304349815 907768093 765325349 728589265 950794791 483648825 189576315 166328617 681117275 993935829 14787357 138460401 124126111 856314207 707363375 803442511 969842411 883415281 724229305 679481743 603714715 587236167 15591853 168420643 280212853 519514059 533795555 566208679 233023397 750154635 637041181 742678749 132576193 320206909 510824453 555033007 853223877 938911043 119506731 547799349 810274327 674038945 63566089 186353831 209908871 880644105 887679745 377836391 276385093 483565523 890260827 672826883 515100659 737018875 248994377 665062701 35265171 438483753 96371427 15678145 173873299 218765743 120834091 345930433 930125257 632744577 98121227 422659161 624023923 877854271 232384083 607210203 410323765 826623025 686490557 805449413 650492443 148444487 60885227 75785913 427779485 852669207 900135779 377094273 662572695 841365217 578275995 596293137 334395981 603859595 709408489 845873285 543886191 363239333 544320655 22736159 750640401 869125733 13745335 394542667 979252143 543636653 395096689 547860125 232774703 554883331 761799095 73715663 35356383 284134807 388511849 39827909 389194867 499261245 302466387 85409673 209651465 909656185 695985445 476699215 387855143 584935533 835547511 81716851 749729465 950580717 757288907 32614521 921323541 546711663 586051209 913152009 319907065 99197199 235741701 209030905 291273095 317803417 796474743 355860547 815139153 463107961 138142207 924300043 481546823 921974471 545261993 703945629 919645131 273114947 289899107 297836137 470998943 643673941 468045065 138161933 233577715 218529033 281400923 799030093 860994905 576186137 54420483 890326545 27285457 64861667 736551825 612524143 634606527 938799729 532176765 904162467 766185969 935948653 502766637 834001677 81446299 981956659 115040485 222807865 179252571 401733057 434371291 99483869 681612855 312464829 363409955 499082449 433585307 369030519 679701699 567262747 434397021 626440935 470645667 85040357 36737209 580866475 27779473 729469313 457121109 715556873 671139915 127914347 166422847 565589493 160705391 581654599 866430701 821271041 440605577 876808929 607850553 533176945 330610439 835252267 871965547 878494247 844123973 141866559 688894001 692935607 643830145 415990115 561146525 334931029 826259433 914094337 318916655 645781731 328311433 117238957 653580491 657630439 973511775 702848799 801637309 193635727 194381897 706129727 407346365 223262899 934516753 569927443 760522471 280606163 567249257 476532947 786070975 631891221 196084459 168992729 689736757 15270475 199609111 456002471 257614237 421275625 845464405 408651497 549053619 89824783 622061305 717270129 78438557 514054533 142032953 203333181 837966313 469207739 310707513 992004719 543472523 972038855 87011585 740846161 288116195 889791079 600298627 498165079 302391731 560091397 667144601 381478941 592440617 536398255 703878145 964414821 755358427 458309149 843102311 215961371 474612933 921737133 637748061 211807059 499600719 723508839 479182937 950585159 159563843 411085305 987925695 226581081 683217369 242072253 717470935 971180313 550781869 218719919 536487635 490981429 799172035 874381945 994448845 240071051 611123083 159798887 942516931 512853789 956082903 705509749 155720097 475442199 135336167 162279997 555414585 588513741 150270303 542229515 133723969 523125433 113672013 530011083 828551517 577849215 720974885 158639893 347626517 760637417 627399365 863049001 108523227 78627821 938873971 365615085 816938503 289836195 750981083 773421809 474965979 268601169 189093905 450671213 609674625 448616543 182699415 142022209 956080139 261882467 150902093 22527729 874451311 777949975 25145219 10008239 614950289 913088607 376097519 617693775 901368121 303064391 738971051 146872917 751003927 818432255 414337089 951841253 259926729 90337767 29973145 916115919 24823755 406316669 394236171 163018635 434566793 868523633 226484565 954896439 387553619 726450067 671184283 521527193 51075939 348932319 110227305 279913253 121431515 888509817 601158839 24041709 302122179 324872109 287288033 467207859 168626699 161638893 839893933 501327583 916450447 780934099 573972039 738407807 752952079 577887525 560549955 172643145 18782005 88174285 327193761 385085599 454791313 505249757 132958919 18332805 874794397 647794835 315900799 925333421 761887419 204589903 960090111 63017325 589636915 327500191 989999845 246485189 726649909 660675893 630084407 401279323 733456861 871135467 475695969 791561345 525443627 552222151 760351289 528031275 622854153 997922291 672232957 450070009 766536775 146815427 11227473 325407283 179101343 184767151 1342529 479212745 210854579 187120223 867736901 519113807 487234825 198657947 839714873 255059209 740702231 650991447 40514401 673432027 134747955 724562351 441519211 856688469 351533471 548645093 76632943 82552493 777393027 228146277 406976487 639050437 524347635 332414401 817150905 583483683 653044967 968459703 824587315 156045557 270185535 13303081 607019273 676752405 231162055 14597665 227019609 773695999 460192813 59419347 956191913 788919517 134350605 540334747 611239397 772972667 399394791 234303739 986607203 971161941 985285155 243477665 441730783 896186757 799735061 870926427 169302655 23712727 659279093 584275497 597827539 939803319 200900067 81916973 906251211 219369277 954959083 938791345 928817865 509028391 875752187 922096171 432829327 394888929 69596655 167530035 12968523 688895605 422887303 78651533 940531605 239508125 928588907 114328871 732915557 77166775 682999087 319808529 857121829 114000075 999126345 886857351 803175329 449815689 672084511 809146861 171433997 29086279 889711605 856385229 405193991 52518403 792133375 527577053 173642899 721428583 976589911 714783477 823091745 108606401 549282045 660616729 65826181 119678217 11067097 835292279 59901435 723336923 999672253 737727327 712096041 277739139 778831973 348747085 135538205 818702061 287675247 729389285 959908941 695933363 258789989 953189363 425888403 696496145 896862395 982954601 963088439 135226353 522469061 537702753 303526373 344105695 104024777 91137569 393073331 748796693 586170349 144870163 736457503 769555571 62227267 994874569 659164173 402012029 246929607 81557759 612215753 836650597 579659863 951545243 472085771 21045761 958693565 498987939 4409839 136256209 222116523 114728015 62320377 250023931 129590203 625184761 878798873 121423441 941080939 363745571 221484961 793345863 299499559 131309431 786491217 425890301 484162113 707593933 401117517 258961467 759023855 685076507 43472675 730820975 375192405 148008073 557790407 380043187 783402363 276785759 308934039 702187205 644528467 378710033 101194585 176889097 288616373 717610297 983812921 772480659 785331045 705685405 767018189 911692825 415318025 465409575 506640145 27063801 519516979 477281259 818577773 39867193 953806173 837283107 300916395 519618701 764455657 593091121 556568579 90659655 163348255 516748963 483711503 133283433 496807729 278528045 7309785 854590363 164180791 55911845 723948489 212168745 523751733 506382357 54512311 85836303 419336209 36483491 823119073 874099943 451830941 255277731 642347755 897372923 591307923 325447315 791082723 461598267 24572309 371048725 974421309 165099837 852284459 474307315 450624983 660418625 396269765 495451427 346352373 113974829 384319169 26438077 858397255 468861331 679478619 782153989 707397089 71883173 528105663 232479847 740719935 413381961 851431165 441952119 188139591 211089921 256473359 624984303 292659783 150302461 412735959 693789107 523291381 915664919 405934363 274603983 111423851 347816651 399077521 548252019 999853361 414508355 750686927 811492861 112573747 212264269 428489303 213131505 560544457 716732257 528025235 418050295 772848811 938480539 373216979 272682213 633923075 919828679 517987153 71257269 828088667 711881041 342294063 649740941 898102187 50009683 636539507 802134451 86904143 658693257 706140947 81812383 927649035 349732187 85231077 884456681 482025231 244763611 57715883 525743703 899206127 285921213 904795663 885059537 359512487 609543777 555681953 314064749 527470237 535918033 421852121 877737063 863538335 311233465 85500701 81374751 196183521 674783345 794147507 772379939 682034177 964545527 607363275 378130469 124035845 644125431 628870785 698602239 823240793 547794875 233012437 483211191 171281363 58708285 86465967 438219127 206977199 903840795 647049443 452769169 563260053 166787485 39193897 697669249 269997199 289024689 998688545 245465837 876304917 182665969 281482327 163179165 143653889 721816473 429787193 434045317 470609307 637473427 923433251 674508991 459172753 383326573 901358933 826951569 545941749 427848285 749744631 58161765 386955335 656239941 846260765 540603343 59896939 811934891 852272063 372873607 441907631 688028861 346763965 737930101 595079367 893258323 781892579 556609185 55866833 531067885 360415 230882367 994030417 703846067 124743245 558379179 888424759 191373681 253317291 675013735 637949399 115622307 41957735 226752799 124606189 360009315 158349517 482783399 426366113 143149435 120290331 515612151 289270909 751121499 815814767 335194167 656515191 172439833 986272213 788502959 996641775 353696117 444338747 386163413 596234919 903784917 647450235 637523265 571880397 950916169 465567065 106757303 985828599 952151945 129606779 937852451 28502819 716776435 314855285 904087705 309839795 790316175 456439997 725580883 795585913 464460811 290290873 490539445 261497767 643879361 723134125 523539017 64872155 771175085 207860173 430164419 744240665 834435193 558571057 640408833 31755729 356697715 900470237 138283777 584264405 250209939 150966711 614687217 928609125 307342965 377913491 565851685 534375461 3260005 112369703 173903129 390780707 809333327 464140823 392730733 493936341 5007051 111546603 261484781 677682965 471132185 756931861 196415887 878895147 952120609 570004975 982272107 557774787 670662767 870582455 159147461 502979571 485892925 522397081 441186571 807998519 420929643 244578471 154751437 384289399 866134909 415410903 440181959 819800573 634060197 988893965 874551007 770315905 771220153 113322769 343439899 444290845 297483321 768710293 202814643 125771099 700873291 743612977 635040767 146553891 919843519 87727721 757156229 611052749 393259533 91897507 687294447 886977559 277648979 238862897 596131855 24335653 211439705 346508621 494508515 633031301 912755341 423447065 521406347 247959851 122868233 287054749 439560277 514968949 756709769 722034379 938457523 503843881 215835255 564185979 412109375 948342131 795998687 569102191 834507967 713427431 703129981 285750609 162048285 37172615 877063853 843244465 844915563 555895987 872683893 512267275 256116455 425788731 882691975 822337979 18277617 834390357 465689915 466832655 82858519 816770715 356316301 657551927 204701963 615298837 293007397 503818827 808136105 244682289 224402003 462037581 813417971 535552449 599587857 10792999 517802261 56685827 799431673 875501993 159767139 544725407 107884885 616202125 854675543 271502497 609459477 107648117 819021203 123148157 410352847 860066793 168978405 809547535 712205761 739013977 944619839 866259105 951058391 784229153 945168061 436884189 173990043 573528961 362390947 402511063 497943621 942650787 103095897 192635663 656247991 326901399 831624563 825857641 914611319 349444695 678577327 848501043 623886261 235160261 924474351 294699043 113857349 184473767 638851133 623143763 88094635 734116019 691624655 733589835 81386505 542229119 272620029 593419255 503661363 216973709 410816075 690079149 530475167 849239109 328367463 26448425 339832681 381138171 350296863 264559507 270598493 831868135 998979701 132630389 130470887 356265771 290546311 953724871 136446751 694483405 138138017 544054245 601416389 692396739 69313079 998563731 40054591 911731425 680331239 66605057 606380191 296369901 374795375 695773889 465983897 73929871 608313535 625497299 444634765 110930775 830496743 959251355 531019395 575982527 854173731 545127399 360769067 364949031 364964311 967652587 444360923 721377753 10536079 969737541 792863123 720427529 252142587 352315385 968239609 358814411 201556731 503404919 763182429 25638437 55134349 59785875 985540023 203726591 956560609 670640521 67589283 947079719 710245959 162129665 167769197 282124123 394342973 726578949 792987907 140147769 659283555 784538637 7311609 697572685 47598983 409892851 623180947 237595397 882250905 529203455 644489907 64452285 156150201 529277149 466704877 804600755 809830695 794808741 410119029 282184725 67842639 117341903 447567917 276532207 396828355 843951173 187824539 37334079 230222655 262679379 637927661 371135459 341985449 833181101 540026363 666630823 152430345 337106545 892081221 540409913 762455187 173474595 152862705 888678707 602270881 369110195 764915407 746381337 301434553 709983859 417425753 843350097 744853893 71037221 257141673 289605935 824489945 592679913 202140297 329580777 502473647 469352783 764227689 890259875 192201513 819028555 940055647 858313829 897585045 677760315 265162025 670196257 582039141 620687077 857810993 784330417 269571125 901973365 858252933 942362579 962998215 36689793 600824797 861344309 379328775 820043527 571643799 430085219 411041289 149032555 592724411 703131099 242392071 226964345 846545399 261216763 742695013 274035305 360703653 638786829 569589165 846446805 202300865 956313923 238850707 516453575 392008179 891103669 759618803 423644583 979952525 240871781 33759439 504799055 824300931 748151869 827236693 31500025 710815863 889618959 304020949 516008011 183519663 818849169 692567755 67941457 12404249 946982247 913010395 395190403 755514701 756058393 507808207 703295423 296112779 904050713 747083675 416757573 99427257 16462527 763508059 697461191 212218471 174373199 833171539 869938777 811515597 835900655 962164459 573394807 187669707 639951537 469852601 992214537 376465125 944761487 724833401 339710041 106977099 321089643 312123147 572397343 405571287 997611277 547869307 19541621 768302087 777892647 589501439 547401443 795094529 825211473 567793135 669533271 530468245 863797261 789674193 576669475 862630969 755475653 179609677 529398535 221408527 77951177 568219705 884271653 921794013 916939603 513748881 921414159 52498451 855762821 583266165 506288311 881845701 958612327 901375027 405613947 479395509 509618921 502588987 852664863 597145931 916363495 633962797 189982163 437511061 717661731 3046601 776264235 910671433 247524417 910311929 673203235 5088711 405528793 251217877 468721953 126397721 762619999 113331347 997875187 801511147 702039349 925612697 208546767 679177365 978828455 399255411 36138319 975864599 260483555 320182483 605897083 716706839 811755269 724434837 895972543 46068455 58890255 183687355 771741681 490519417 631449061 574662769 751828815 968143731 396408669 118182665 562840443 330662679 59101743 520403969 45671559 77105237 267768317 947696889 117596387 785747399 709879117 300066495 677441137 496846251 240706709 179849797 230104437 200457447 206759211 991511975 64618393 674676235 768819281 183954215 955192055 515104333 424492079 955331633 889433865 894302863 525650137 385743449 148783541 49669719 106749767 100695641 899671623 226748627 578700377 842296083 759386233 531838429 834006491 613795477 852745059 494595313 691997563 414721811 734698635 220068921 237296597 763838949 55823585 582517121 798299497 719298191 701152185 781880643 325347745 453287357 753130449 776175007 295339467 310843459 734403147 550334297 678644261 143595547 114802103 941437667 826359503 766521193 423775499 879136597 148959951 852919671 120956577 969930089 114985753 721596345 198321475 84128909 419012999 624195275 195313945 810581963 491128281 888440177 564253883 272674013 968815287 209139603 424099879 530014497 145965749 581508423 85849537 118248095 812757323 917351367 25668439 859130631 948166105 28749431 855444765 732896431 178312361 413451235 119232175 382549397 343009773 100083899 465915415 968656483 585566399 678320349 786324159 49057127 561568799 913818701 365405821 587856791 100442613 99725363 634822797 921720213 710697493 880571877 829744789 250092711 162700085 714342367 206852003 644874683 546210297 267757249 489201963 8846443 476264939 955094615 775488525 195586035 830151289 203593367 900908427 589490237 728386557 901179035 363531347 88621269 2579131 223349667 786569595 566768629 924126681 768184863 619993985 763082109 276641899 725673119 405706055 47898097 760660583 645955297 264057631 274552195 976856497 720993477 591010235 495237385 318416657 964285785 288591159 277329667 423412025 658417103 761710109 681518743 683678659 95137409 34354261 128024215 101607981 929664501 966423097 581186677 291820259 872719829 972925827 955272023 761610807 242977779 416347225 372292351 664624479 17469773 733715017 264750813 280679807 272044803 684326215 921873163 804724383 155437923 619262641 346364229 382275249 190545631 573957197 830736885 343084175 975906067 634358087 904809257 226194167 512967617 738410805 467282841 394920341 155833301 218065171 936374691 291984377 968011873 223076425 325363789 733363359 724031907 811748769 165617739 799627747 969306109 320226385 308426991 411341587 800771833 113545465 551034683 410317663 159885899 989377691 845022423 610931937 524830927 406316455 171598095 653867927 538270599 403263727 28201949 643325549 911233695 476364467 404304097 301219379 529004139 473841559 605755487 156163747 144058981 887416231 890145865 699903839 344580657 994263899 147064117 224358639 143612057 452864655 626261347 345158597 555408529 264715657 145113529 943623993 279693877 236956661 948555463 765690509 971598791 818193897 245304261 524643307 655059637 306271457 845674897 917567843 85856399 760417987 269925299 584541167 846749713 509186269 490563931 37471345 89644063 716524771 600127583 991197873 47904451 596290549 272049213 658264159 997558321 561674133 295940895 157143575 758418887 536091825 490192595 965646425 23755011 60073119 192934351 6017167 664199317 373000221 366285365 382272521 85788493 965046863 337637579 701133057 874466087 289478593 444208127 440605081 257352775 727527275 570056425 873760473 331059191 701362601 811633227 916825521 845218733 908207935 127357831 338229757 332894721 581819997 827042225 774766973 778062777 614043541 777220733 271591643 962951871 627283687 692431691 868439207 483275557 296774839 934937125 635835995 300500519 660547283 799926453 15726935 516979497 679300975 540345687 169321959 725004983 46151211 949039625 594212409 708491139 544893703 225421169 280096617 88621927 462033783 350748129 191601271 344779369 966168393 91036235 546455373 135844787 441949633 100806997 6798777 82614935 410908799 817413185 300602489 1976211 528822933 287093759 820849709 915130183 192505203 333927977 605411931 795954049 269768699 526647291 188950649 654188083 678002031 743359327 13668571 580156537 108082815 718491107 345260999 357171605 742066237 454409149 590972005 122375667 245927721 458979535 536760771 128764965 194071079 544186783 416601055 86834153 631893891 477966427 861790871 990374175 854626293 634446299 40508599 438151381 365846425 63715999 28263149 918682685 735489269 401447375 323752661 232489907 796979189 776728631 844728303 318735801 551733487 219600209 135746211 668853243 7626143 645810237 642030405 551383117 452500523 800217279 40932619 636607401 120545825 19327049 962744089 365455155 157922679 704584433 226223481 403775285 671761287 673615991 24296473 844929059 961288729 470931777 541483477 113330073 43467355 434607455 964595563 445186905 135091167 499977097 98443911 296095823 488999331 41160221 261237435 254053263 657943823 162349603 761609343 444057427 48297711 815040073 194533939 252673023 739868789 477073385 201597217 444748061 192612419 843715583 670468731 334102115 489307997 1976373 517875291 105523369 404728365 660893145 802453695 604625651 628035981 644591841 346595987 517176175 630395831 967396591 242445993 710765 306344273 429420617 364089015 555878249 112222313 15449821 585519201 854175239 478993779 422764867 693420591 272902929 789630543 649084347 375580307 453005693 649397053 556302637 27289831 912544611 660772847 114248741 674627177 19709705 139140729 929666013 22872389 518571479 552454233 559039285 374498189 651530083 532952945 509161393 697528887 920841833 982813971 42042499 880347175 877614537 955245807 823632257 540656421 824424337 714149927 425701417 179989219 745894385 440247869 78409895 223356409 965458505 878580257 630682821 225360619 716414999 124159269 310678779 551019807 757847563 783057417 414262123 442995175 540755701 892246001 9513179 422660477 970778835 734159723 716662203 298171395 927051717 146928491 467887391 834438273 56096025 978899535 123976651 642267113 760541249 454535899 625202979 739053587 362132439 655756607 175289909 699924161 725763233 153759247 485640893 220570781 51861641 468336455 383199255 70608441 373939619 892582735 943535177 813891339 289812263 613998577 564570885 653269621 909272189 399659363 404462241 533524675 83211821 538261829 969908509 261913637 602306283 175850393 848235297 763577267 453623441 370568141 358937337 595532911 14951207 96107447 446225311 250020931 716179411 449881749 181169587 742047487 943535081 234390027 990220921 930183005 986230247 74990373 803846371 144274943 223731311 735216475 249148551 224358509 14987595 339876745 609497251 179230743 868144239 969225973 325321505 513323865 301910263 727210569 180010385 734382195 677027877 187988639 160214565 905120399 204935781 35555441 95642817 324683965 458175051 997132453 613371371 208044791 690444689 294377865 111847379 871921439 807894555 319165905 507925837 674143739 748684019 378370973 201056477 886360129 331453261 689609581 99132837 389211527 858340229 147435317 590188153 524702543 592663583 204453189 675176653 240589313 998080195 885670235 21579715 45317617 647243079 676539295 28950305 849670231 136859301 63663003 961412181 281474645 619756545 450021191 922264951 883478513 831244709 574005245 238164551 196517665 487992839 342779783 81112363 845678267 520777407 713833741 136772661 81996671 239887763 680566313 608105497 36414747 690466667 145665491 525123895 119254301 350474077 301046645 643644567 976626687 721636771 38908891 735898857 258361377 551513761 946417721 573422979 379109583 959957987 915894573 272849253 856502071 766514971 74640317 440327221 989081973 710064419 351468117 359758659 92079495 905741569 391705035 380764293 303344731 472046301 421776987 711123357 567403711 490857743 180701357 343681233 739593835 27327245 403232459 819237393 830922501 131116669 507173675 188582897 66495249 722352683 822136237 988049077 664785155 958077705 750798995 626557247 637730869 959865649 911861131 792663075 21806055 6384361 655760555 739452053 437331009 315486107 842297713 777340791 474455895 136682201 241748929 654102605 750451231 746399073 772431079 458798155 5720445 899347475 537768603 653975875 630126395 961292541 314043385 720727735 695043335 715886673 805155975 448497869 327336315 2610539 915322671 489487701 832368411 87863757 751945035 389249223 652720461 684432419 225167253 400494403 186805605 874227007 926167859 296943501 443301273 807852319 31319219 656261143 832155661 707332069 29810955 741362165 319812043 271738075 603456661 445731819 974943681 993997173 182233625 237554013 724756425 206137423 254112707 397337435 409056679 407431723 353774121 234498973 251176961 654852341 878022985 611042689 453237097 718289089 717289861 357418767 15150939 123005639 398135983 699984885 526097205 55341167 680090359 950765707 108753729 47041089 158523903 35921107 586158513 338935027 942630857 937206127 90828701 695788125 733810629 874675 184177673 392581763 388065221 632226195 632756955 320798353 966746889 148211889 937397733 234478555 727797557 517626195 707368929 266780379 658896727 214656615 674317169 392427573 877611747 917267845 570209309 415010739 962286775 98945005 636612439 924358475 978169369 555127173 545257847 815152661 387500981 166493149 740659905 694807893 737280161 964005677 13173339 715679609 764746073 407970645 822775127 871860497 675461317 648749785 987726767 858611161 54944047 116664297 199340357 111439285 392381261 804512607 55768289 74212783 935186239 206359481 399660853 707111677 195232135 393253917 148621785 670279671 568800787 887075675 228876879 696843555 589929275 968946921 166398209 929703467 640672951 84605929 13634111 395900129 592879281 595533345 529357123 162389569 796584629 411575039 322519343 270772591 74117303 810029213 652468747 380666039 596802069 169707703 974800329 40658059 310362771 459852727 77768513 62864005 552593761 275023785 715067701 356425323 430349843 754866505 733986639 499339047 629167525 729720561 316191 766737355 791163773 770609069 175536415 994044563 347767913 418867241 60691887 849707493 820321693 989891005 470413851 323959625 117456825 941799273 310242707 938700403 824496063 928549075 848527407 50407485 649145885 927076171 167006705 334479789 622319017 461772489 444022209 425342701 549357727 124449005 680237171 275658319 19797927 664473083 135901631 366675281 63239883 162356195 647523143 568689557 414808707 93650239 508623251 884196837 908540075 819600973 800360723 442467637 497982855 322322419 999700259 651335583 158552775 758557377 620429571 807873897 506398845 722266093 671725275 924085247 452972073 457628249 82481343 623440111 953092015 314171787 903918503 574988025 382843485 421969585 129579125 286257919 586154471 897591205 305400559 276585227 925396843 606725603 817743563 351639889 175077487 882157459 516730013 305742125 88965599 457687175 287332587 738307105 73927441 977338163 30187293 153003737 763928257 199344569 850148995 45659177 647400983 833478365 441047893 990172171 705781149 665018641 841008569 968182947 995969099 503957355 313666227 390608187 227525755 888625323 714682679 691051337 127295221 560006713 964921119 689847141 935069159 898600737 871254571 365374547 675386851 283571485 277779715 171036671 208813801 68221835 432255547 821302397 835661149 965932147 704349515 445948681 117610251 708996485 586538387 704454915 677285419 689267477 238901085 413667063 302555737 2273575 52728541 384375705 470846875 426605663 804654375 436176583 494836573 7848717 535758145 324828799 244277619 300212263 202349329 547471345 192696093 773300815 781212267 146791021 9806337 111558859 793259013 312731247 464575785 51751561 727178371 998996123 352443403 634696483 436454767 18968253 144076165 572568021 121808439 220385479 428655837 546943623 222995765 139052499 207815873 234656971 608688813 190732071 814454339 988805845 106511301 172635947 151718881 174134407 168685969 957015671 242861699 527084133 404001799 332904129 429181043 554486945 92969227 277168111 122763369 618179601 150073189 421206285 665991809 50858805 754579911 763746125 266311999 316663603 418785227 774048521 983935123 370112219 801940719 715460295 483677903 186302885 320943009 112006193 317889459 102232753 806877229 989505307 148730213 101369283 126113231 816725629 213768557 382956619 408224681 403554687 945211335 829146211 606708163 874212969 783365579 793084359 123059215 752428975 575177025 248042209 95595367 713755883 778010453 96987583 416159369 52168163 62618523 847315225 931923745 599779201 973146389 458781005 993992383 552122585 628971299 548712289 900752351 47339557 799859863 38152713 496853215 491080647 52712097 653571223 687085833 854057293 412808163 337977357 412269453 881975913 30594399 446207507 896563337 306907127 242581891 396737525 368587769 341593849 948029735 596133805 204250313 375348125 783880323 329545435 152499657 650497585 829574721 310813123 13835955 3348533 978537069 180010071 884456745 228649803 930370939 141020973 31679411 779978301 95940937 173663877 947368643 509310977 751197213 794021189 56130481 505164975 119539617 111373821 59119039 928498827 341485039 108802533 716716823 553359105 792904833 190157787 120444361 93485989 106772287 273731943 534151375 937669425 939394931 467061177 324226827 479381129 886417107 5281447 237947461 296901047 978697343 746509231 748918829 646113009 658215929 909777147 215700831 411232655 964375087 909381721 898586205 946347287 861342327 816653887 557846667 341012529 6149005 240054479 564506431 582326195 797917337 317028559 830147761 410755991 662786087 888734893 141059 569082881 296898345 112492417 407385405 933991997 874977281 359384589 8589391 75705275 128247155 791238067 906674709 765824795 977998761 639375239 43147343 203246363 432755517 136865085 549975975 288059307 304175145 951548981 992030381 536812251 303900883 751435385 193055963 415087081 538899209 78341555 433685905 813960757 188674815 203377727 405141275 739113549 96205395 638779931 83730343 205722849 837942027 604627949 603215953 396361681 548996755 974551559 234112025 207704349 570026689 506493275 253953257 205059567 879128275 400758413 246310545 669831583 770540139 598636771 307252681 241457827 278523545 642359117 624675639 230320547 524164819 701953889 933737055 27757671 364355061 813010013 174033079 233203937 257106755 77384235 217335955 521945649 737760619 745258073 381696057 365220247 5408133 702522653 565011665 793318271 594595849 616605785 478569835 89810555 832344545 949376147 782114815 433874505 962393433 24188921 917923955 290347211 1597221 305205603 565500811 66589451 382958947 970219345 756295163 359120957 557543065 326314219 642179421 25198781 498169523 255609085 384646961 342692109 472785413 887062785 857286623 362186457 974215249 444441623 820101563 340782579 632554423 571073027 122827259 243655001 742844871 974147127 96748485 172653101 651293813 62041801 975068957 422591161 197587745 836144505 820889591 753401713 752435597 193107629 484217133 565319665 901397735 815235701 334059389 714235901 365718213 926157705 679104149 79944829 121341989 831781447 366298625 535847047 356911723 347270583 831970879 546047061 162520163 562963591 108937133 848556619 67962693 85600785 79384981 976218099 129611693 403020625 37169449 996644097 445524127 10115569 789413507 819795025 926443147 316224831 693976993 439185639 619652165 496474417 286475631 489260267 317792777 63716201 151294143 819353267 454656125 786723885 519260999 143698361 5767599 101002603 686922411 243139489 524612627 748810683 845073269 891490615 954684807 594639197 147830803 149691243 651691089 606250809 145433567 448600669 636620317 523509723 213521435 43619915 203028225 972958333 649922803 180185253 641902203 419551231 96726643 257225467 91842669 399582693 436063639 64101385 569144359 693494625 487713089 708727987 173833055 980603977 125939001 418267397 377351985 658145819 516031281 142006577 856783137 913985793 225816001 554058897 187347485 603607243 49367405 350533803 37771133 643975659 777977243 705403945 519064059 585073285 149412253 731187677 451903677 150127455 761103277 721470915 510690895 327575785 92120557 499261441 935412137 287633975 509505893 712594397 410490663 218075149 299832583 741832911 475447695 424482255 752362155 306389361 24615181 383995019 836652563 151883909 119497271 772812797 233486825 862479863 190044937 611688319 261123263 917692377 40110569 299369757 8449547 954753897 679355047 388355715 372761393 342302215 523772787 661512201 124390007 89094721 77988845 168592303 398221331 676094665 762098717 653883933 972144411 14589307 632450923 631451551 509841041 926709849 970698159 200908591 16923743 639228047 959026727 409141613 574462037 93541745 802141301 340156317 943210797 330212215 248689579 946914481 335390089 882390857 98481979 423668287 199401713 101639855 234378243 116504965 757219029 698198429 741196103 568320109 866041745 620316975 889281463 913418373 528514407 216705703 458449511 526845445 333975419 304930419 545315795 872474315 542457571 614372641 600611553 279960927 764462487 540408945 553188831 775926769 156402041 565480005 400140673 617967957 89952593 875305383 149133285 234340877 824497103 70686157 175451025 823014721 338312335 987804943 759045233 973981631 474064145 590488049 287645915 353743101 65774527 717571615 328372877 395831837 785714409 210796397 733431721 563938021 807932871 483507413 841159617 446626499 644226943 890369915 720580293 978202575 303575063 526579627 556149783 692196809 245351295 750527445 636810617 713959703 514620051 630065047 814486043 275547083 775038995 509685941 930527119 727684761 60147111 325563415 720610517 900891617 541621475 994440917 268745553 420092075 855460927 314569509 472921553 134435751 735098907 253978477 880859017 529815083 92163011 815893815 975947031 521979191 927452261 361403961 863640449 368822385 671284765 568535371 438634291 566741289 607223531 116352371 639319297 930743637 710296503 632874203 654669613 517602967 900553045 876720085 353291863 669626677 55827835 25298397 943925391 838559007 957462479 311230617 368389707 48795369 193955541 408162511 495786341 61303509 99570945 903546231 724142629 867324875 674014125 98449067 521057337 522615385 306561561 105966765 834028467 793766837 164711021 540290791 81859091 214599873 585577149 314553585 330084667 655136001 928703487 592978305 480968317 184599463 446262041 223481215 797304203 301542539 394764239 555439859 575128451 962340137 382354389 280688657 791684073 963959209 324131781 27533363 885637037 282420187 170705949 567298783 457982499 620182071 498795081 103121599 531735047 331085021 550520219 177478311 135378559 808707217 171886153 93799567 247306777 905362883 325120121 845447839 965128137 224475021 213604655 936231455 881217007 260025005 567765855 721583235 458845005 136951433 592451809 823092327 737310225 940066865 980395897 751744141 372537041 404152669 331829709 970987233 922077065 903856491 166728303 215857527 423261345 831396449 395888859 568262537 218157027 23413235 945685103 994721915 683159431 954784883 931228533 588547799 346707753 729480677 121901599 720032593 643527373 940075243 261980549 460841413 143185891 291897305 350890155 206649397 374854717 107210147 720205687 886088655 207071003 501690603 201958331 155175905 997883425 710560501 472911921 315609835 304467549 471694515 175180667 9602959 652035907 468315069 286918433 470818201 445443505 564362575 823725717 11074297 550177517 35665745 82225201 430397645 705581987 988494675 625133107 463307353 852046055 357889933 864762311 972367365 15215931 352298461 829395453 705981543 524972415 639010509 549827279 191271225 821366787 255885447 287178271 596493919 192697725 571149799 675726005 641978085 219957255 165433707 186546499 384484347 498524203 280972857 892489057 265314305 904211921 339693345 264351889 550221173 957729617 325211033 152876349 213572615 529828457 856134339 502877621 379783047 823357245 574076517 17211701 718414065 198857561 266940909 141579993 519402859 312987317 18972533 745850543 404517691 416541869 576664249 818353319 161405145 235571975 275794467 645399961 688389087 420646127 477552575 240778823 762440205 689176057 309857865 485861467 53070931 498738469 982712347 318738789 274820545 119102937 914514497 773615583 996411029 872380639 380181863 671350825 247268143 247579501 276334821 248189327 616236829 372047905 935156155 882456897 885219345 941195777 215621007 661872983 411058919 357868921 883855793 979019219 1867423 470033759 868944409 351183263 841787241 780043249 35699303 510206859 544274839 494928339 532013791 583573329 712974499 972420881 399504241 254421137 783278127 734576675 66280631 59731927 208982281 963058915 716210415 377373073 270620707 142119323 90693375 222597915 360048537 347481587 559109495 37096885 9113005 830345221 114622349 691591561 529279947 625413963 268264483 558849703 194088839 515242411 275147455 159877639 143002521 475393139 578584719 630685327 890967785 985705303 961796461 394974211 92462463 457425269 365246165 248887833 532624271 567766611 510796015 844977511 464714869 617741533 901981069 280143469 162956213 658773097 559559971 145154201 808295927 874798515 318560211 239743801 856688145 314585569 353705569 865377927 918466557 983626627 460535615 14469283 815084509 403102601 113179523 371045527 393699585 525816917 512741869 428581719 527556823 152843945 969704931 392246967 655624701 960947379 969563255 840729213 253931829 820239115 206442333 474197841 688353901 839938473 666290677 701906881 411945909 745435895 1426503 355063115 328868937 555676353 102637059 810571597 136783245 999629627 320081277 575848467 341530635 533448707 322618553 966983115 419829881 164326173 944478811 892145039 571445935 721025017 883481779 280501859 49695923 651284075 243707063 757140013 560733613 709067183 424918281 903331009 961860851 532927851 908531951 934072023 522284289 276312237 484838231 405269263 626159735 494709995 688347611 575946483 202673441 102403839 410707383 280313333 134466805 54295601 798930643 676159599 297202955 601244461 853051073 133539487 252381353 427076361 514983861 736976817 100784185 308684355 561123729 473269431 507874381 914064319 698563801 142536615 684074657 997339593 704363455 375539301 905526043 534572825 814766873 62587835 809501891 161112523 212446567 946764375 44964043 16307299 750364111 57493459 280275859 903977681 791377185 305985459 503267739 485870439 631808213 351765085 354001551 500454373 187456009 646826019 707402817 444747375 657392775 793017921 967683503 417069715 114853305 308415955 700846073 680524869 91084219 380681449 655780205 827249891 721129033 590493037 431843453 947569203 905599949 209987647 800182981 455019873 506332245 860760603 857768967 674927107 477437593 94273197 396090159 384059669 188845301 423715719 572242767 575725567 452301941 936175903 283486373 601219979 320900549 579058649 779509139 86573297 637465151 516039933 241556387 740750539 345230559 887006653 574553737 556078115 178623311 267315761 484790561 864435553 97624283 806175323 683423853 197461341 267112829 282140965 310586521 460890197 176602837 368173919 254342137 139937517 28814119 987696325 961999367 683332403 175598693 892598515 37846629 757945243 711063845 330894455 581974499 510414851 855765415 672215489 419130735 403252911 162691281 840930857 137708327 181519695 578925363 690496753 813421901 487941623 492065797 37591107 101092687 917349923 546974757 704452143 143107771 51088825 590984987 202554799 990184531 23810055 966997527 220100005 289162483 120256707 217370863 195299289 871855277 851991303 726869793 82498557 908094895 989982299 120282839 618816169 368090967 295461803 144161247 51023455 553047849 407613007 50308783 638929543 135317453 791558911 122718057 216143479 381816345 419206885 449141459 832957027 4270601 612087435 515067739 421747821 3561917 275906793 636413465 689064353 872766081 783498331 549575117 205488877 709601739 820346277 377976287 185043501 353881651 450489079 49074523 149357857 955837055 140884709 350310397 606936179 147688087 253647211 241780511 335653043 86664339 708372207 757928139 364606811 548033961 984307519 788422833 92430283 973352255 156268687 786275111 125593167 939465185 41704573 334114861 121610517 688044609 697659151 161518185 676650809 144663097 266591153 727771179 229448635 689314767 641250361 693069419 829181573 566787117 323227619 369637831 48661351 460026021 974015575 556852615 32259355 674867637 587215519 49485467 694407745 355370493 885650483 341355673 173362275 446135627 459445229 523908287 542813429 972742545 596271381 241985271 314877517 554793961 412556889 824914127 342354091 409680281 576764619 262198909 635254589 804512523 580843243 567912931 885953297 961301715 828729757 365852039 974648863 75282091 964308783 654091159 552639053 504202869 512257621 252102891 956756063 441040703 960873773 116760067 455208201 636763707 80242235 663286791 861971941 94471109 449842543 452087747 616334963 58699871 95650589 910040241 102186267 563313589 703445761 486652401 309362225 491591067 112494915 846786375 794343661 170380043 389090669 705248805 178482287 915096359 186259317 464230049 543753409 537050175 10193595 819549307 97338325 197654209 282708225 367238169 780637829 784187467 374828405 439024523 830333327 918703775 193892269 946789769 939532449 478176937 238220455 503333489 50399559 571453821 596393413 368878923 788876287 37512533 893326809 80815301 526230823 608836245 237551637 870255161 10611209 333086919 894345495 300209315 323529687 966649249 47045091 319078317 601350827 45743099 99935977 251319461 483107971 938717913 307885307 163721601 731532877 532316265 415575129 114042851 117146837 647325435 341298599 390924305 162023385 226243083 809920755 721492473 663614711 182224189 554781363 547237939 512573113 624340315 884303553 860935935 202223505 67033947 764643685 793893189 564173015 545941845 519541835 870755217 19025359 229652367 85182345 436419869 986112671 899228529 784034459 402095817 356169049 69207697 654648681 726004761 336276215 381504939 959951165 544909887 989172827 503605151 103300559 508248849 199697229 435623033 377057337 660041229 957209983 454629487 75880453 413529437 742935435 238232795 90510875 452694223 554294255 821586749 504700883 325885659 347802647 567491653 914775019 532881823 894460243 17145027 409084295 233460195 221360095 430466741 455869749 685420055 505626583 255638587 693167593 131138383 72431689 200571043 386520065 756950607 218273317 827700063 858523715 701490809 989551427 885832457 954462427 208529121 155209063 276450407 276567133 660681021 772383031 923385699 724095691 117929705 234051909 438863887 696723589 874496497 238381835 697095593 688468315 986952705 733865963 327439251 569404291 778338673 563930157 235191895 714749591 773360705 881972225 55379113 478587551 799277337 687297667 235033699 392661257 180566597 954248885 156984715 707139495 850600127 632237179 917423435 978769847 621149479 184477101 504693495 348757217 803057857 867634431 435823369 561230385 783655551 127028499 668885027 47442203 57814007 102166389 896863765 354252923 46690407 751262101 526880461 860078491 52295097 102180299 586529641 457765157 855117691 587101785 890707755 523980845 867715557 611710055 325509759 818585907 955219157 254739723 8610297 20877083 133112019 804411959 880719699 975967283 893192205 416526291 63584367 364589361 440737117 31787173 668019293 849352239 653102399 58512733 412993099 32322997 147423965 112115095 878344343 424816047 128413957 98768595 126172099 702605427 639615277 690719611 383664509 33628605 765196919 988931551 630351765 452549045 496827559 835539257 974090503 748369893 265715505 414214825 551143159 55154245 703546919 137062971 165401519 336625713 591080267 161482717 122858917 903240557 465718531 453739627 859141745 7784233 958861665 291096229 967830999 551773431 899668761 102492723 112446661 483152855 815799947 466655401 275857995 881166637 474096319 43388543 818803877 183135687 928963685 518088213 503518263 822113497 55993555 924717239 503032973 168370433 271755015 290508179 166565209 24816963 932540075 753204933 39488885 447808527 542953231 409848397 163590119 680055865 472697381 14677779 980028631 84541949 894189969 788385259 382800027 682150403 751808409 335608461 197780655 856965717 326584363 585863321 932805299 232810345 792304097 666283673 542830965 322170143 986018039 251389697 900245479 866821049 939103831 582842661 236953635 211221221 47974543 960431179 868118127 591497915 153592021 397589657 976223285 782952115 458461707 665380387 847943431 103676087 978503093 678379489 802149283 479002131 992983301 59848371 629969641 109141627 790129107 899081315 75582183 533839629 982656921 372651171 400722383 603366221 623764613 571522573 275196157 426363435 176893537 456453919 431496179 920656633 752511399 956606791 936908125 870770295 620881527 737226705 303437837 105956811 619019669 793961723 44197377 790429567 331839857 590129891 615114073 405250697 279200037 171210899 203225443 797370695 195790703 91822333 230809491 314324607 652858805 72342521 19585151 131493469 392473351 942881099 431888625 929735543 95242013 560224665 366767823 764451787 715035477 90335607 866436653 786209211 967041973 56187483 835409993 232993049 330119665 221818793 331674757 235850775 324325467 250843561 789186411 518964817 103972599 728853645 191324591 963808209 600518759 971374445 458003245 14100991 631903999 729530189 622973417 192851637 867439027 630720019 255124235 336028461 857839397 614649233 320757737 897361165 47951001 498658435 268641021 133022561 708378881 134841735 937907947 543922593 242109939 932707367 341103997 534611115 976144559 383935443 518432425 281008575 972648733 997741289 304422279 485858703 338995913 979613605 859046235 44968239 193757677 584254771 586254995 11408155 860474983 53947043 210291135 514377275 224316609 477029361 84614811 708601049 543511333 142723833 933126923 791274925 112301679 355829897 600983065 847141073 912734493 570207569 595606779 777841869 523474517 488948457 741058569 313482639 481310439 533614803 832455625 913336169 13901897 910003577 47656931 636703259 77835677 531257133 520216111 482438599 197278889 919451941 296858019 942052351 818842331 683664515 777913701 853425845 96869965 250216275 425795521 10457415 88598203 362862981 771033895 51904377 222279823 863992305 420850487 543940731 681769429 491805017 696208305 308159457 701806921 571093863 580415871 252943015 178757445 559998891 998479801 232123955 232100565 79236767 57103509 626273107 58038949 736298149 439902843 772540733 340329997 76847875 311355633 629480075 876344333 532301039 938794415 321749573 148727371 78929535 760384399 243766999 24903191 283378613 482604435 63658263 240730473 293728635 894663143 688791363 998477279 667923105 19896029 658743293 539487683 54657249 368825843 401139543 84311807 34053595 615090889 471206337 258694191 120366619 841767469 252969245 569869713 740545551 854935825 930801071 847685129 386534163 22825361 546012449 287876139 20898919 957277167 718599053 752057133 527935029 903340951 593806957 845458925 780043405 844359197 617831847 121202675 390981225 25835067 917331079 574759533 559686313 262457043 644299463 580502323 561909017 201249781 263335807 486596039 345673063 772881359 203204149 39540299 444178991 188727231 729096665 529476243 430502897 265898823 368380351 461281555 296495637 355150611 785901733 534958573 572328943 432741367 193460653 222800357 110643639 972099053 732031847 378491757 157652877 495660313 494736585 486029723 362682491 704923845 721262637 30542639 489777013 287059557 976977501 640275343 505533519 761452693 532231553 109370829 165408463 828271641 903970353 547387293 125570973 279481049 420168299 478592095 783220551 606577387 393800851 526928923 856123723 242462601 244683383 681996415 261851911 907664919 374058057 876388325 923721415 971988257 201288107 934381131 311336121 195496791 70887585 12627543 534470647 307483801 545809559 745288281 844573061 226393317 364436323 207358791 675485001 119800683 348388929 253608387 819495191 101070715 730970839 516574995 848702375 943417745 820757043 168481829 26517913 322619473 759537097 523898001 810682487 683690375 511672441 933531033 224210867 747487011 45671301 768019231 347675559 830688325 497588635 5604023 388176529 608029227 86391249 295564949 428213663 747432261 538260133 54320283 285040605 744979491 34092281 499658573 932810569 241137283 789884191 530931933 972621761 361841733 833273799 302911009 835716623 709186679 46725907 38340505 980268773 766506571 742325639 877012075 442003931 242102299 612067085 335508839 937900661 245165677 726910975 520825861 689959193 495528683 951420951 333680483 668060185 226186599 31262587 71694153 93707953 534164703 216802745 131004711 130814975 502096499 419252933 46722323 838616589 662556785 177950205 408252107 347283149 904796491 303652647 210915001 802340631 316331165 484477807 78039275 627465645 994821673 151771243 723045401 779082297 332516059 933438743 259850399 711953997 550870983 971578587 940315529 131817055 950041893 441220225 515100035 778208467 515050845 413582143 951350759 731299569 67827703 825399733 552568241 311376363 426739879 521516773 41215625 421671897 491831881 373885759 442119105 266688189 680645599 369761173 339638093 47990145 377550229 871917095 421928143 439399159 26336191 697627545 545830539 191565013 640628695 809596407 472160371 559341245 624968065 930657721 121799965 998782267 705992583 108257979 926218953 887473343 945812189 698721603 773107805 809107105 123787679 876224765 452174441 841770531 805011473 408869885 515230245 950213487 70947227 797364165 85559919 33599637 332091859 887571509 230421199 594498705 166026099 853142685 408146037 83141183 834571103 984687281 673340725 31986541 32206753 39715729 648159379 949956043 957561455 146897599 253003443 588629489 106646305 445465897 227711845 887821921 415996219 192473125 767269663 585064581 872521579 318811249 705861123 744874925 744928897 466288433 735181527 569083923 159910009 459796209 844027401 995691991 578392951 214626985 280784561 50830341 270634695 823834293 980533135 330552717 93303257 797094361 325203467 977879109 167045965 488770117 261658417 200030197 361208801 395318923 633209021 651122495 931573125 707049131 127562761 178962617 266353225 559133449 298789663 241714139 486270825 72420211 452497327 684760583 295673931 654307869 240602127 535562115 161258357 760418983 565589055 104246917 365665183 459672337 975490789 186833443 916619939 986185423 159094353 166132061 637135489 838233519 628689275 182810657 722847849 348765941 735181569 464816701 938039213 592430657 797819947 439699563 141855941 933080741 244426729 595697995 292820055 461272977 376035279 949781609 408437295 355987943 2486049 983640371 683491391 783470313 959216579 745959941 304590755 316439367 728811333 28355359 800862621 816549907 574148573 644587433 249219737 891273677 332591981 374204087 681827625 396977497 832477305 480431169 23044875 817841923 985516341 743159847 917398049 264787843 651760755 293516595 262023541 363325685 318305973 335501849 255280699 273450463 7270691 115779181 238533837 8303661 129985161 94146997 179603891 72697909 122739297 475604055 827394707 216052659 185629643 786863783 533838657 679438029 307988107 423599069 241369787 231953681 822943763 237889817 751093283 582253685 900371065 414052965 850204611 75333715 81453435 766162355 254721551 745522291 940435845 495610845 800750243 222598659 352711329 770044323 952810817 205085845 936306569 596973229 859438807 921240871 180061339 881518735 583885939 104759073 960526047 463228863 316406357 457070927 561309955 759276193 213971167 171117795 623819873 699716733 670240157 555616383 985373173 75686535 23172671 69689639 218258793 80310995 336335267 386066245 95317515 110165863 980873421 21517235 654384081 571349801 477776869 638966443 894314589 442254059 299080513 387624147 28093941 645430377 322588251 742541369 771654279 470225217 224740055 664319825 731953323 982764029 499189121 229692409 180982945 316598031 36809545 585710711 641213775 582469583 40452685 104527991 196697415 401740673 857991889 167105551 320569789 665220683 29284927 986029245 676107153 807282239 594912297 985892451 96136781 204969049 915166539 415889491 174967579 862393719 278342793 130422845 184287191 119571299 376052207 297575235 37247487 34599373 798455727 867333351 560923577 577751379 555884835 94118937 971890389 153790577 291647953 18536491 178565067 476677779 408752225 670350813 778441401 726092041 368849323 110712403 141099623 731356687 952479653 473006619 20567365 128442307 24879221 380334633 777627239 325566255 233213799 722999515 868613777 570431299 834855405 467567349 312962853 545612765 691087011 344842919 435307319 532029113 544453707 761212037 553804925 635844227 462520527 942986891 774883923 329301963 900144199 21945633 552009925 313503243 303767019 16472593 993268095 138935461 156165405 608779153 697468121 595749857 646262891 197659457 384048339 878476783 258892423 831775523 714514965 706048493 177405773 953277605 904783083 207725783 861824703 373890973 954121295 245865625 692847625 83629385 263518945 84337923 302980221 796033869 655516133 547913935 852265625 209384117 8734285 914010781 876202239 757370105 865422253 959174137 287691129 970767093 692870473 789456467 754812411 363520495 199814405 182050819 776110497 556377233 776460401 361451339 548065197 436472821 263797189 461593941 991158923 404276885 243951327 786374961 528262863 231558487 160473159 464307929 322337331 213232777 201103915 740097069 297216155 449543391 732865381 408058361 706839825 802127481 24036977 89354987 862043849 60145111 957714553 672437407 687923743 561305325 988137035 423488149 101467543 152914955 975010141 130648887 192667865 432237807 261451473 82861269 196705211 389923777 47857259 180989609 502485815 898599435 738542493 911830995 940253809 93308357 797071487 395400799 200575925 650991689 563269325 429290555 972470643 164653921 283501295 497706051 417806153 753081397 413322997 997122359 439253243 880618591 430088089 752041153 719249265 395281623 274476853 374968943 537354689 738025223 419391699 71826623 161974823 924624827 731300643 219676687 570526979 162980903 363844987 641465259 466709473 622219497 792399065 150144193 560026231 753091847 301257447 131269997 675892637 830812397 387852531 389946287 454788185 133144945 774554869 686967407 514886357 136169167 17849995 713019521 524064611 238816175 795401725 521924509 534167423 171306011 418169657 790371171 258703053 605320841 983202521 121024093 633450521 841914073 434948889 547380479 369885781 947121485 184008931 584850077 681581469 666764179 699901125 814661245 582061105 548905409 418419189 308465861 326680449 824100181 378874197 77874057 534735647 856727091 923389033 524871105 14998467 87439783 951022179 554342989 125871701 851017577 275269913 302772983 191224539 423785621 507154955 906559345 310297485 420061361 283141985 761966165 513699781 34512551 957816551 292168737 13361413 813424593 189290263 361954371 762040313 651985129 542365711 684298759 443485557 525602581 618506905 707771307 633376113 983101155 815363871 687255373 315344405 789673801 343988413 524663799 564749481 638247073 491618865 890786459 928323233 920999859 43037921 139802899 727016601 455824043 241485789 873461533 320997203 640080927 583671517 854563685 360583867 277645325 498436925 633256573 862912741 794825943 928860425 437972955 951499019 47974479 552496623 808064739 477298831 709875877 71203907 101651933 603772417 544027515 930062855 512960251 561992207 178848467 648122339 596918615 90498199 247606813 99264549 778936303 88051099 611029291 660641219 95101103 238249543 910061885 833815391 687715687 796961775 287774711 576192061 928554707 94179085 442874471 550084431 708886929 470330949 97320961 883199019 4415275 604375907 501055907 917556241 535272723 128465495 28440723 148382441 321407393 533433407 852046717 108965951 785090839 30541919 257357687 852067405 83827359 820547871 200692477 961229041 701657417 751519509 737809655 144044723 555047185 260181499 178259375 265647555 333135315 287178165 434182107 834787063 995453021 121176399 670407067 152650445 240499039 245176313 63300977 15150703 10396785 665543187 272535371 606317227 651272471 94598171 570397567 288329465 854031797 98582977 331845579 582000247 996982435 286977237 716090451 196985581 493615893 321281107 908391077 447394761 167624237 504099681 924932789 382756645 647342071 676206661 625714145 872684221 982128739 416896887 81430509 357000443 739045961 701130383 861186057 943449579 904390251 171566931 393417159 475978311 877759603 39955117 195433001 732549231 393616369 460213679 88793231 166270313 812724063 472533143 645929417 944639459 508142879 287940037 907622155 463053109 730120313 744070855 737397493 736099935 155725469 767901519 690761863 496617735 926834599 950837815 758661685 218592893 849572759 944790149 31460559 824415417 861754199 465730147 170694803 300327769 815374263 516975141 43174441 592583845 773552753 623108931 977320859 171765901 471619365 207373157 949713761 474218407 866792031 750037331 899794263 454362673 138035341 18150913 880587201 866122517 910087435 534915467 258687567 926204641 762820377 222999603 442083603 45155021 242675425 330561893 176422285 888328119 49818739 252518067 845512609 160560423 173835465 385216731 499882141 657435723 863679683 416822463 239159861 130401531 445255725 683404905 346540935 696252089 168855733 836403213 731566617 204001191 117371127 495039239 159275735 313988505 82770291 799143641 47037719 965938947 649179025 250199089 616501653 300890631 144129189 965198813 169671033 101192553 985153767 235979229 743727949 68362651 450246775 138092627 60179465 471024563 150292577 456572041 920323079 680617585 721297299 786272245 463499279 599283515 49958889 298470191 958531663 284307747 661475617 123319547 472889177 881797083 919904745 983452487 531553069 779114185 776870095 188017699 230728239 66682863 68560715 914294475 260279339 780494589 983880385 617106083 753178969 10266701 205993851 199603253 183844181 257526749 191733159 59277879 166420005 250058323 109539425 526870145 852165429 671638015 626558119 591866647 811932249 297746903 107288679 496296743 735506641 176014461 931370861 929644545 645348419 982082359 210778743 65081377 875578297 898888435 875165731 81877549 672898217 855184201 448594939 528920043 463279089 793594235 761466737 570647379 850495703 526964075 787789535 84874621 891909129 583284909 574747779 97669039 401972377 821586805 792912267 145589331 218525957 382966691 707685635 316471803 166509621 190389697 30855401 606014563 696568435 62100987 451374875 811955057 366476919 678337833 608066659 649947691 987594333 523377611 356041075 21978057 474482857 992026887 764330467 286923429 994191179 766327725 790761271 142392129 29999765 406151989 350749653 732896583 349861447 82748093 957696527 357297295 533598341 675090957 986235169 410046479 555441885 161339541 76197417 76193519 151661379 385796203 642158897 117212023 510773015 12590413 6463019 667426331 546394649 931230629 536492015 703082613 445354365 559359873 922322241 887229003 949081297 539468695 874426823 408927367 933973273 77451849 297143571 420571197 826311093 635525277 438196127 163548071 775447927 394362689 927808461 609248551 546155407 97563023 397043941 487756875 385745055 101557891 650618905 816561863 881711017 84144581 195807105 291064177 632819483 709549223 478325023 980713811 333318605 180611357 861697501 167550611 903015927 173197001 28163725 190998407 283735619 767551471 448813797 927088551 95833277 315130497 360845961 313128603 304094169 116304661 801542145 829956395 900414325 237649899 131747773 31710285 935572951 197581801 669686041 898259993 118262441 643178399 344186711 183452371 605389317 519590469 327596699 217533927 550704997 214581433 872922877 278452969 680228017 910328963 217299313 566673043 637720883 87775443 441344729 541769161 968024737 869500797 207190785 567964823 245796889 636882437 190889369 508177709 898755363 462653071 997467449 404924649 911398055 543914731 11538019 996752719 709510653 199758223 151153793 299704583 689094113 741320861 507177699 761502439 55003003 536092379 265940419 201817833 998643543 54771895 201147201 182524211 432049767 525346121 243819625 98982667 701417741 70717777 556622891 932943337 811715597 549905975 551004255 256335461 1424273 363028231 961020615 403072837 871021619 90634107 250036235 627534449 827327469 62753011 811539647 277803007 135325477 257114483 685407323 376465707 408567721 413022893 382832705 252277077 755017645 637540087 88204471 409635595 112043215 804382289 496436211 766355199 579225877 716766561 811158283 115456779 599792619 167021687 913066241 617280821 289687847 820959883 755193277 123847847 811672071 63332411 707535635 648964275 957646893 137736911 502688187 901176277 803338921 41464631 903236181 36171443 666426609 929894663 570927213 801694485 624735713 302326147 415058801 867613935 335706301 121963663 770380733 56449883 214272563 108684729 771389841 268181407 726327131 249026365 205700629 851925029 554153645 579633399 927391325 908566913 681548563 507731821 735362657 929412459 993643225 705597651 927989761 166090187 145518771 380428283 13875719 938720681 33918655 330460007 8703271 889173049 928049539 133040701 245801717 25417687 230372075 643056463 552306935 726772997 628155211 26741777 873147285 521570159 191108197 562570659 339723037 288003817 889416281 636196303 429925069 760566893 495318711 237029889 424532419 539466013 68776819 778789969 768257545 943574855 939659757 890572925 21291923 891059551 582565351 20719343 463805237 824806653 194509967 971809719 709053365 940973541 436126075 430934919 599754425 942190339 363475881 456527557 340269013 805193579 301854845 505750129 95997311 508308311 18891459 787096897 180299291 285055787 270498739 46574729 800815347 912367217 302731241 719696711 369459509 125138653 348641385 347751717 634328315 534987597 407486883 486397297 782704713 571957951 868171371 745429025 267367429 916953441 703190269 341375703 498155777 580033927 305433599 543669719 263171321 892444845 132068223 906988821 591952779 274698355 127917041 867050275 12807489 142746533 582692147 697854019 268793997 240607033 421899659 540654427 711405255 67503943 425803429 12366077 253165875 807795731 839338135 275226717 159231991 154134283 775709405 350767195 514588453 632223167 619011935 399098497 738365369 996761323 207539559 720030201 464538769 758589301 342488237 274832543 36218743 259760483 142318157 925306865 398890525 236963565 692411339 751003669 722207515 625816427 515313173 74759387 141888755 742922339 782417539 6094523 39121679 266713727 75886543 944934355 180653761 46970513 843460383 63157995 159653951 381457047 884515071 503137905 250834349 995417777 76670055 656513919 831138835 371842093 296192947 151392977 769269857 100656253 364326825 175884753 584827509 962077755 104339061 970361741 73744395 520501805 888657069 257771451 690857935 458666557 949412941 548015037 776201809 904484989 355169723 215004569 205422347 801819179 268698311 229115133 460639583 129000615 783412641 678988865 14668181 977636991 745264105 402544997 664511967 685750373 225692583 309051665 876622677 184677941 685668419 283498385 258792697 769137649 509729685 198948319 948348597 955714245 129534171 483089561 196355161 563177477 595449783 363028745 657677983 128740907 132612411 657590809 450895913 87779289 242632409 20722021 386881149 511854301 355187055 228245035 499898641 593709353 289169473 383118929 374488635 114435033 19272191 338219367 652683325 379471921 146274235 984969637 376700481 985073817 468347895 707147497 941563223 591274919 556985747 400907195 299668345 628090643 855252703 497374281 763562631 603046597 182482575 81040749 699035981 811902407 921380545 42495395 127523451 92339529 519229435 857829909 672572839 804704681 745976873 915943825 131232343 639284585 982419361 732854669 871104243 349928503 673590305 606306603 53078987 969569249 632158155 478554671 92784153 422963049 464518705 355802123 457468157 745692653 474607939 178708183 449785475 854772153 566543971 407162447 201415833 505052481 734083411 45130459 190739995 217258019 279534403 985154699 389613513 518686749 203048901 624086039 905905997 154879519 179751897 571998687 535054391 600915769 157626083 288815847 661099263 879727527 922780081 494927329 382921739 366547405 14850423 34032163 665437343 511995703 176100563 935030443 872628207 320842133 174097099 635713827 33645077 30714311 518822859 149682905 395332881 577149131 97172135 134815173 907195851 898048721 644391841 5296517 36957975 806443049 34576217 226740321 318530733 733403729 703778271 708563527 346633261 492421353 990806441 5714897 443993123 417309887 586606737 132066619 406531837 494056131 382630623 653706607 389063189 97385749 331976257 869807867 760750255 707849717 276660425 109412117 360286963 125115087 41650167 384505503 947832559 62234933 362796973 798016797 335232929 973266405 816095549 706685377 167291879 625742783 409706585 834171489 475086219 872245457 829275679 671376509 335283775 953275213 822656019 396291645 417088669 221584013 497543461 18108269 962844965 894071831 100191913 333571719 170253631 685336213 575540059 847374761 38661693 696497883 340212833 278691741 712585819 305983715 609014857 176241869 436445623 263228111 27322887 377935957 845230427 623412205 219857915 865454835 967556153 460005807 861263591 344092173 189310507 536011953 499267321 752874675 957096687 154509237 750395591 94131355 662731057 931217575 573389901 399394087 365595011 757910427 318186995 719563357 761125723 532627915 148814723 152618989 876578845 322048667 237712181 976153131 577958929 746999957 401207461 28744473 580167017 60319853 34340823 692854623 825045311 941420031 496482361 292993355 658460817 620238671 287781795 404489171 323505483 687098245 922792783 986523545 642954559 538946551 390406371 341678049 555846435 922322719 311177581 691475869 241809819 480757153 667373153 215998051 348694575 507404103 915530397 911610739 376151633 882057221 9990503 865817781 423600217 282927863 919711083 240588213 963189385 288105313 849628605 893146797 377198091 349404075 841531615 194896251 286278129 387872875 758833585 847123111 390613041 550090077 880861315 150716513 186336943 644618337 349412875 274079615 604547635 142310531 363555427 341298303 988817261 316218105 94568981 940841611 179417593 836995099 9020681 598151281 300334425 929876591 162179479 820906921 958896115 502407581 55093629 270208337 406273561 500544891 951690463 314079537 569100549 726849797 321758537 652330679 664692697 266334555 526811827 566368253 829069469 728233675 698384505 78021311 469053249 595132357 637183073 386947429 934398625 89727977 2566549 489199617 34395517 774212343 641000879 887188295 883869055 440596953 288197545 358267289 779559479 182520743 358116075 150888955 215046175 760269463 276357695 703015711 419363225 822539535 584343771 146839133 502382061 659202715 705237853 665028271 418484299 31978733 473350859 9966019 913108687 945452257 534243729 744252131 175604089 394730361 1708677 567797769 935804211 515075809 880724965 237833427 315062477 250993003 719760981 527701385 623883777 165730965 619338209 35956763 581999727 883239423 624657153 276946719 646104227 911201911 624029583 812249299 347682061 130761967 100540373 488120353 603825925 82903939 819217787 215320983 204686795 514606197 510956187 114052205 999273869 874078001 910120623 147202945 492950105 515935563 603067805 581826651 33832233 723654013 552991411 4265001 310781149 789264041 267640229 168056003 914261313 568171229 410966929 539821995 659575299 146406477 972974589 278509827 745918399 23096913 695737813 698763935 10333429 44381805 897884783 6267635 838489357 839493453 656693383 307941409 952770395 14216645 410272067 280535789 587665431 393989071 751193907 50969033 712200033 631329679 179188039 137839051 245777989 21056591 528944609 360781235 996498353 251972995 964605891 763715815 830066049 506601927 848943899 510985335 615431541 584066527 782855809 24296475 715148853 138788787 576273389 303124787 441866325 238573913 604648905 434492867 502702923 140332043 678112225 40075643 858364541 565626669 619283049 972766901 567298095 790284107 750876927 403496815 944316053 811316501 615719335 676805197 184166601 452960361 131078097 321797539 375743945 182547787 172810577 483758183 143090563 661472483 906218339 150069047 280885699 112292487 667286957 590682459 283864391 206280883 389275453 430087617 696733869 77305351 128655753 745856001 405626239 206291025 228490091 504872283 520177457 696045953 386799147 917436343 965850647 745903287 737977461 827763363 324429431 750201137 716158303 362928725 853828471 388516703 916468583 96436397 66049065 169978321 225580913 708078645 282637449 960638533 179004873 865386777 549788277 942350491 490830631 398193201 749328567 211799009 436359591 63422461 985094657 135179081 242894797 289286563 627439597 572704557 688065929 437588979 769622521 608305683 508785453 550134373 119164561 382031269 306445433 746304535 713431047 869999029 259515281 28596945 419613585 940560705 656871939 475394051 934386259 548713 226867139 986948547 683149909 891714683 842687535 622990799 232280457 96254185 518510349 842827921 417942215 640553551 147703177 365807639 891125971 539790447 942778169 882037527 849279315 883391541 347652377 945763827 729187289 994290355 338610833 672310193 395768031 630481447 529807979 340310271 50271431 631982323 886130655 767343927 158349017 716481697 670458247 852356437 980553799 583326949 232610413 477187329 407821097 734941339 272927481 358223757 279863683 820130501 416915459 908662509 894255675 451768207 398065097 436543681 197483555 254257997 319614191 940441427 283328245 31930745 289585027 9309327 260779603 245573559 272560633 309885709 786783941 101220049 717958703 403449613 712560827 47321019 821842025 368162677 942787475 707075217 112688727 372518613 679178377 708284821 587657229 334834277 812557257 484370997 64933639 624118019 466813283 669495809 313196843 819314231 186283089 63408053 288386503 543275825 601546613 25825845 876146833 182543813 940859541 269138827 883712675 828581239 737400167 734001131 526955909 383301227 357918337 31026867 190268963 706847343 646914149 747839841 111538133 41275903 83061373 882535589 791475027 920682295 850490905 221889359 831761351 562630877 783049587 173614427 12322747 668121957 438959277 944137965 658118695 628680161 600065229 70997839 813157223 538074387 287624905 565879287 626471999 199266403 598382711 921927037 768379103 130561245 829409177 116354727 814815195 528172603 202262233 514727775 486980399 722366941 692908741 484731319 605509953 626576327 906528987 185417451 658332639 593354155 169895547 673364063 300427069 108522463 398470125 348963999 204543737 880525411 104637793 399809629 622143257 824482781 107402739 853949811 298912009 230950557 39668899 537527783 773624479 948319643 46934361 391224547 816146711 372275061 178484201 958025145 521142809 272297331 775236875 82927335 847003311 65973893 362543455 639179021 865291345 946966591 952741489 683770361 7272409 655993317 345548207 326759837 520822927 931636059 177619829 86447381 59828001 744924207 432829955 541050787 76575905 146646173 991536769 124992947 776731535 209111169 989976579 999211991 246006991 550095457 405540481 815410637 432680623 662374511 383838683 56380789 152247779 315241859 188037853 581715933 945939081 839535129 574732853 161727543 894286117 464671065 324436351 433218783 172866983 755122197 263758905 592921175 474643555 755740609 780357841 551700555 469478165 449765757 584739219 223864463 939611109 922107155 61821885 372689437 651342429 618071023 169381997 738009113 456225395 19418665 507246511 330278605 39244165 524661631 305816433 312358061 807383899 674818139 810338445 587687253 400102173 462674125 254435783 358308999 531850339 805108103 955568837 385526575 227428395 567556333 625852699 449351265 566237655 378164229 518084927 430274135 94627897 950890879 392609687 382932341 48111235 111172273 198217063 394222917 93913427 243719833 519902179 761153917 779336109 176820449 919708963 724350197 95374849 643633879 629950763 179557041 826816289 435869297 999616225 40129759 853152589 213088593 536774937 996114895 465752361 714685883 539131785 984571133 196360899 321717153 264837077 594961421 980140689 46304667 668388997 873198025 483929197 964688357 707996171 809688359 562142367 415226727 660006849 882083391 287396563 49949363 515126501 129052503 602999583 650723069 511990691 97677783 450701567 415640869 252161549 979024213 788846171 233561269 641726233 87506573 484977277 648197847 273275307 849862239 826785053 746512231 7793547 885795033 734829397 750210019 520905323 4462635 670721199 368680049 578312931 755735989 441038867 555247841 702041973 217866997 820501721 109985707 251316107 496466075 421477311 143048941 434753143 551412599 483935209 171671919 305522799 572112263 944405989 782607263 282686359 475305707 341286055 145997463 229706487 739709169 212560525 143364371 269041537 160404747 412605533 18335869 321804045 989943765 893261379 190042083 836659549 949071887 795145427 868615931 265691419 310596521 436002831 771563303 394014423 303997109 574509143 737537133 185233931 687733355 340924283 437979259 691265049 136399411 866043825 725679529 564289865 833429141 345912979 248816119 175192013 965264965 166797353 303435275 595004093 429878559 71781343 104633911 275839771 735486245 662470541 912819055 880552657 967722371 511133291 127214675 41811887 650509195 788418083 151859245 170041455 814451131 638265793 655086055 303335859 177501365 277474489 408381213 292192001 866450499 778779111 56210189 861385679 845220953 785251989 144393629 340318835 356934675 311828333 892643421 82936111 353576115 484116867 121243013 789850925 860908197 679327063 65012467 524504445 264890493 150657485 602828591 267038745 289322997 133443379 519463527 36005601 266532593 390372927 421764469 932747937 272772731 290977035 813893845 144283657 607549895 439691807 23572401 844142769 206783281 215519079 256551639 546159643 760992061 194188089 986589629 337375407 572400019 837785937 931538821 387729089 179487753 435798487 119737331 699806089 449530265 499181141 617226873 550500905 706664807 488805059 666847533 892572327 999958973 408775805 460765647 321088249 687060241 334627143 936952519 768538099 757744379 336944719 311028769 844561499 800865601 864415533 616861847 33059801 907601099 568356571 841648265 666758653 860384943 969880767 516233979 162754367 729752871 393954725 122110111 739787781 871525017 881100999 98572489 932157843 212880523 959068349 859292285 123714335 398899381 773203085 704658783 997019325 357435375 254109863 337967807 555234419 707810111 679760863 330445461 136804137 130892493 614881905 853625983 721675181 454454001 191296773 532410053 429181885 75331361 602952101 682435413 499727095 187270915 373507783 543551689 392352231 982398307 447575115 810379613 426814203 814083891 831056499 911470075 395984783 500120205 600820461 888855343 809813729 834192823 976396241 286454837 426065695 655820827 843807895 755368935 279525973 338904395 326155049 201057745 344408449 599450117 456194259 617493791 846679937 785941289 462431561 613330345 534427167 848402117 463273895 781695215 489384719 273516811 691522935 178179865 220309733 175987543 851187107 381911539 591683623 936215339 984098175 118091255 307237947 411698995 51147211 937045315 917558389 433723969 956076973 789686431 796583179 976098387 161415599 474014843 307836449 167844235 778851527 750203885 644812991 751626035 538084179 26206133 896000983 462700735 768722969 463970105 905791299 806112971 451816261 62868361 701445825 796518937 405960557 842273883 902928639 776927893 105080463 521063697 585969289 334250579 995171597 393076657 467571931 486230667 611161785 943262185 649844055 866957989 11201989 691251219 63630919 173684521 779367885 520496683 95784409 606067917 575464155 54235867 213531943 943675753 362292311 171843185 766690099 495202049 651307035 486972899 756285927 402976961 460346207 872868819 992611093 501870589 177379279 109392773 234031475 302273839 677393521 877544939 239010213 852109563 908707519 193577627 52319027 338247979 459366295 841059541 235182479 51174837 493501497 445981311 393285905 487318961 291922775 804700971 605477883 361150563 532895749 287388941 966478199 615898169 210463935 590205445 602971287 537295811 422423661 680938651 649824081 795497149 706160473 586365183 89617801 351156491 773998651 648091143 681459207 244399545 951086893 464477233 25661819 3877879 712854711 605004455 68407683 712865827 289309383 511081527 505472923 949594305 622461359 164430425 341362223 344860539 955837231 684301867 726630287 981397539 694944105 588929909 514023157 826544565 244245999 633896357 794748803 222926677 999142067 166609107 106343233 94994255 374092563 92942529 906987551 981747733 331680979 79364049 685746937 676824897 316856099 784860183 488896145 637598873 686710167 300832327 776984203 740922631 783674155 949960387 737161341 798478749 169490245 509242511 817620193 106144409 33397427 944985693 492371987 904029787 75888299 82930051 457812321 451758193 371607495 43930881 695883257 399501965 735783695 747970175 685020151 177578377 672521455 350638409 971595611 719113835 133240381 299059033 166226703 35039069 534105399 337773133 838013923 27365041 819406975 840463981 668256145 405188581 545051175 442964393 610272187 486448795 120538783 161682583 335081703 182166941 137133001 487117173 138287499 554227167 547854823 884962093 757673213 750947195 612528297 76320333 657099903 762468537 716784675 779398669 260677689 998052095 502593999 740303179 994090559 842560993 553477529 393738125 667194761 202877981 457818311 673282055 318405879 686326933 406963475 480223883 18041941 645558099 160540059 332717211 768009041 876948619 688183775 478032479 132857479 389132697 425428177 238515109 626841719 753622015 893864901 104937699 319842443 289216617 897085817 8461881 645177873 199315883 381805327 950942321 205842759 10393535 119019799 505468919 994545227 403039945 811902087 35503587 690723369 120603155 4287929 609109749 428857295 740108563 62690167 571203219 940846361 506155617 573330409 165753293 374029255 784158401 319926695 771434587 959187585 964393503 827855023 734677403 7537627 840553103 324386149 402874263 600476493 357691725 214091669 803197433 868553271 745222585 113885559 296349981 221556451 938080351 10352807 382191359 794647427 970345459 754412843 722967625 726194993 378399827 154943599 4332873 961034477 256027005 174755399 452868855 394074783 15606945 144593909 631135729 970219547 185069839 188900121 158573439 451139607 736348995 79264451 447706255 176491319 601891297 431624807 781095097 708297989 782704309 967992549 360182077 8822511 53987249 221911423 602125315 551721807 858766831 100144355 109363865 507631721 286001845 218531879 300049205 804549475 200699499 79457737 633523639 864844625 543574441 65318571 321784489 944188457 796352549 887713055 678249527 655151055 517840325 794066901 578847545 868427019 454110101 647718639 524657199 557284495 960479943 188256497 363696703 403214325 778055607 759548357 523178553 36849339 254209765 97047493 206082965 881773389 819110913 610824363 46060913 31418365 294321885 765045917 762515861 822212609 609519217 813380393 563862897 325260413 194236389 574883907 9345305 973048185 508220289 139448649 876945489 707058919 567801273 122967041 814491517 110528927 689243175 940298135 954185389 781213797 547240081 478213025 766334103 720370399 764816865 487165723 288517533 907801247 204592427 757492589 963890885 296715809 467383977 639243105 836105917 877561793 724991165 355990061 352449245 728693453 208374005 808594033 656082983 787065973 616669443 68623151 99672637 294916817 487010243 515835095 607217779 390464997 965967415 138240571 881655485 325695127 411448973 892418971 209064635 738001849 731082003 517064091 150058679 407900933 432941897 79028807 399104669 555434013 326314193 751007767 326001413 430258569 736427637 562797287 976757293 458966459 944037163 434340093 258189057 918334987 985090315 672569861 671869451 797608891 779310681 36662291 961480837 987659509 164789889 286976169 483603789 879793097 593552663 610364327 735917547 78056241 859251413 835598429 943261069 861544975 413417119 967173247 459480077 111277611 275551359 127706925 128601833 69348149 49210539 510844393 50044997 371477449 583109755 608257953 630073333 857786471 651462517 182591915 934109807 836203129 257515073 855796933 516427217 721226063 625993653 783749649 175740641 928720163 160209355 113695777 743618579 708946455 171285671 682142183 430265465 870703409 149027221 35316673 621192917 696400743 227927045 524270195 70654095 514492047 984642199 988665389 880354995 391182955 356110857 311728513 111149819 665236389 691552331 608833135 560261831 642332877 858866029 9593691 470138907 766108509 760307885 427045395 635435177 628170421 739837803 952696011 775944903 500412193 984386101 607166755 794880629 744348879 784761275 642641179 788991065 462512859 825771997 736322597 309633731 714330181 254439067 648951317 698244779 498386677 745387807 107539497 167700143 919590079 930959553 144462339 137316375 640525915 945862647 952321205 533263827 658888811 804896617 892364719 661732215 121746037 822079711 5060563 527135815 2177517 461551179 367429731 400736293 407343917 89762509 147652623 109395621 993665141 758950309 398541801 937914877 844982511 83356991 296825457 890015755 246542761 491324461 4617355 297917269 217313953 333289005 614642307 13297677 848696245 943016737 641623313 392702731 655123889 890640403 354083921 130816715 4856131 46931511 911827657 477450357 783818247 149584873 892607589 409872091 663240571 619548075 656521595 682662769 922011661 123132713 200552391 859374423 609029131 161899061 685541231 966855767 277341357 791745485 333975041 465799643 621999895 915096339 273585523 321030655 513823571 762667601 630290207 141856385 462965583 65969659 322945229 789592519 369879525 889125293 598214569 752424929 962052569 919168299 949076299 184987527 842940625 207393629 65022123 706682647 297210465 47895385 326791475 670858137 731226369 369677145 29288365 314696637 427658001 248312257 725923665 149116119 485783515 330945051 357703867 938244075 363600017 180591131 146630385 985821341 634935627 227194525 781934685 196167739 371064845 920555685 935785433 502672065 418444221 729065563 633245599 155849163 40230703 361776661 280895061 686065567 416300569 768229709 563344393 371853871 102731807 799092135 495679791 414706707 407183817 497122287 234795941 705456519 1978761 806025493 373698481 735700339 538328761 20589369 723532031 299832425 968541847 640667289 139078565 618409373 605547343 563312293 257418017 630096879 435224307 732685549 328319317 617299687 841471097 279843373 219296659 727056821 406532293 88902985 850470795 155888175 493477279 564809805 368969823 57564629 231204025 344300395 862504849 628918989 658655915 423295997 778372113 207302375 238861817 887593865 455545649 943618715 388807689 964705977 646517681 935715335 596595245 382079583 507716277 767332851 866692767 208327287 795223755 379796173 574517121 883173671 484135655 76518831 143750619 529358261 647852391 852921685 602326687 650944409 314413327 167367977 612299685 14609773 620192271 581277241 927406255 574641139 847116539 90383931 398163559 176961815 865189327 949713041 52329821 582015211 659618547 883085121 643649805 578495149 599246897 561290745 284378323 760292285 818318783 728852241 569116413 159417001 568852285 813144713 866275771 915655203 939502765 26223879 119483941 136363015 593564029 317904605 118733117 87750743 11152259 954041087 552120557 120113215 392879613 162864653 953084165 639750931 236482703 537832271 348567615 338981195 674843717 216529333 746534205 327777679 97421463 801601237 291562887 589212071 102744161 469582831 912079501 20548487 598967017 975496425 48890539 428984907 917499609 450318675 342750753 670109493 681760075 633972581 194118681 592306355 604201145 456854269 150491555 77633363 37417481 395034787 332002489 197518037 237044617 424822405 834135869 573131035 249993709 161855357 299015669 909586223 944455509 683769863 580331415 501279303 142096449 358371661 549992377 52124859 736302757 663201819 342241757 359303951 431552209 298049005 494359659 535746799 655111299 249307615 473414583 766556207 297512419 182605751 550041849 996709321 525957755 902932199 981639507 700068065 775465027 250711429 325154507 858805699 843955861 411898193 341976407 715145951 288355643 246855347 245638605 189699027 744403805 156272055 388144877 180010083 560770197 543614743 620550757 456639863 624626139 788567347 209405379 487560231 262897817 14866703 288078209 768340649 93222299 224666973 423266815 817133411 582673429 719025521 334974599 664884703 929346213 116817487 979222093 471711699 565462609 87934875 429427047 508509719 848233349 300437157 358615509 23908273 389562135 659944805 735691909 454915787 592031555 559934841 659355717 863447479 80003247 857334057 206932173 198643185 847453035 585220707 554982337 366880031 668375527 801067969 842879915 485107719 665959429 32064895 446319353 691427233 410499591 128582791 134772487 374968839 908549019 968587109 793098003 941789051 748204759 950066517 29001547 751736679 647817017 370450225 87149501 761600355 110295205 500987013 239583073 225224741 448260199 750519933 359735579 511984789 216097847 929187057 751070389 790086843 730220337 802821985 369366493 214883531 916072667 193586163 873124653 975067167 173350943 433107577 652586281 11417661 728535127 245388135 527809335 928329679 479480893 374307549 317727403 745002409 420633335 152696227 648455099 977788867 962716947 869765161 591694475 337244229 893820295 710336389 964996133 962065015 460151981 700855925 98122103 343055309 755453261 738761317 683722843 708841699 692370835 18134111 462299797 281951867 793346069 403489819 202909899 166945409 95028433 299227387 864483215 374754057 395369001 122943237 58602589 608274765 920729069 557332455 60782227 702995121 162822739 518763003 832842363 888968639 966344439 295602493 456206407 897838379 377079773 641720919 849838351 270293713 216405109 104632215 852911061 911166643 770064529 886017011 894047365 426426367 396726641 49756171 368547563 461023235 100171961 275543849 337252291 373168961 558424439 614049337 446009263 577890389 955307807 401119443 851361847 873360145 284212879 579616311 219817165 557085027 627200269 72206923 661093321 183448681 613929285 572656289 872814959 979091815 248470093 825317741 574937317 704253637 455372961 516660879 395684669 677097753 532265255 94419599 827946097 238586909 475507759 19605405 960836707 512380341 534905449 663126671 535626203 957130477 235456503 507986403 441915275 732407 427629403 12610243 408988427 91382317 870734467 288797693 420015069 576147731 483995077 101892361 666841195 522764631 285007583 836440325 284403461 199313097 373229045 633764793 637136101 845980263 719869077 882786451 297288493 822632785 451806387 62121899 131770853 238391763 609555371 195201731 88834301 63843427 888022343 321110589 127246163 202789531 553856177 937420845 233818531 946395195 46727549 962688839 445180825 659392051 404617901 32901101 235428037 830586259 951799713 444999971 41284001 847858329 372635945 34095515 150609549 973636005 23327353 782698667 480721109 806305349 985178161 493730643 464769449 230423083 322281809 820155195 950089505 319800883 334868045 966378415 85363007 906170719 644258293 555932329 433565931 985707481 265162887 187177927 267375353 771123705 224744619 137074513 191321377 151006007 672833131 877458231 451700997 49667381 942243903 402071055 580306731 650921665 380758531 921526295 347943433 820836045 930565627 680173113 310852341 135695733 612591575 840363267 302006577 785491707 740557737 391526829 370217189 646002379 251469041 238090517 678014501 620212857 401011091 674321601 590277097 43984573 954373341 791811557 714034451 543211135 924287107 33532499 506227561 226219463 718289827 321059213 845361825 852273865 646987715 547217851 680197455 232592609 84591567 496105131 217289721 669835155 408949021 964488403 839102471 424776071 46877289 803588691 517576393 490718099 790046427 404065781 929405047 939905969 768591613 72300069 716203831 641657859 517433799 123113979 756909581 717558745 171402643 724445239 661533677 247260833 31620905 468414527 776777393 288784121 630208183 154643747 463003673 459034533 220345039 527770779 750091981 148600461 287450993 638208517 523343201 947607495 609715969 726266729 982789453 233686157 123734859 882635383 887116273 55386179 599660167 232066437 493270423 417938291 121452625 365303953 267776113 55097555 447810223 887935045 122570649 116478523 585578763 677996783 71464463 729119153 586740031 712685959 309631931 581165149 836244613 277660843 221169265 632817557 891862661 201579937 266616039 84870613 894044745 406287709 359445441 239072189 646499143 144168305 853449353 845705497 533949533 62405919 35367597 437083103 803545297 832767567 505714311 649214247 743274321 890914445 87268443 733971511 380973807 13406741 847700303 675399033 495638569 825012417 788655223 504504191 129669607 549725469 271540169 474957829 892315763 708467029 275256617 404778225 752451205 217054273 984352095 307595595 184892473 782301791 384651549 411615813 640170003 280480475 634369021 180558911 256419843 27038335 547823997 92435385 627023963 746924741 252772873 770126943 583219419 104755915 228971507 441706499 136792487 489075801 442532465 181257123 838786637 746609375 688829607 755312735 195015361 442208369 583564445 829659781 837128803 872339155 154411077 749037191 91900659 152184937 730331769 229781505 692557731 961165123 918250487 914377397 772082183 87436311 316410987 131401615 895399197 810854727 502505317 573975969 162027079 833553369 501625185 781759785 849789013 664398971 542671549 518407305 177702013 544120965 52639427 349402955 528179547 372894455 445461155 474486051 395764211 301246841 274166395 690173165 574129843 495737177 418710599 705940907 66197107 227257997 36560115 997642633 400787307 307987125 183052111 726372059 537559109 412671515 927314197 750739227 202668813 70727339 439559655 228278251 723676215 318679805 18809933 344213019 275042721 920777551 148804281 74279065 61998993 518299789 945617027 388320643 523606449 232129857 291490541 455556379 154037787 749862565 486682145 202308815 514459209 82089879 176384559 977162285 225672739 968361887 828076049 124972023 780133107 834159083 219651753 610060553 37943919 966423125 758523327 967146357 331005365 902682715 307741955 807732585 431307339 617598497 131629841 9143363 243272479 577856891 467869801 759115655 416259971 981826783 345350261 779732957 52537909 690458219 347205253 234485275 497126493 667075301 691130067 435419197 796007559 221185727 301375361 752915555 284390821 598749457 678215575 174913497 483394073 927439511 195913733 145864725 258334375 421830841 975220391 154723247 741696889 587731593 112711997 285921645 318135593 884386747 676777585 146715447 774935473 251453361 179588819 183028005 225689975 952307311 235754461 487039085 781316169 291789223 929813231 743180405 784049755 710988719 718532181 800399817 308261707 248823943 751711293 730391323 206543135 160007893 844331459 562802757 403009859 891506409 506467815 495922509 643352461 758211515 20220563 208802653 490564921 57726953 443098519 822412231 869018607 718936251 772183979 39184137 786381497 77746975 837279605 416247235 222405903 198093487 565742201 573971907 479301069 618635945 294453805 893768443 332277303 422149873 530443493 462088325 12414715 743254811 905202407 121611687 933022001 302777181 259111259 820278475 801039185 52103571 911355217 33045125 991261253 89546313 76014273 495035535 61392985 495827371 60552081 802930891 260742209 729181331 383796869 985115719 591377947 780038525 739768913 748968501 591686765 356218769 876213391 152612081 326796067 961061281 83948223 408919293 706541201 779407649 954481993 243268613 934748281 342276401 89644161 922586077 734453499 101259675 205366685 432256895 895756199 690013641 42526659 109419021 630740081 492978647 988354295 292579799 29253305 540555651 645380397 58097995 570936897 713182515 387162943 759937543 948714039 486771959 268147691 337902541 33155121 645520263 39366367 66886537 479395117 698665281 655085991 704221263 122979471 817697069 395493569 562676313 449291555 771742715 409398411 912355339 996221985 31517439 317628495 287484655 633222693 843295549 275858751 461991611 686735411 534466137 616183669 117132871 688791739 662560161 844824815 852474007 63468177 363953425 814461081 524745177 818945009 526492229 670511429 602051677 61634945 534329219 778301609 933327775 860943695 311872189 701415017 620270403 59802575 5780107 995391247 742770195 375918815 482335529 219029769 600114437 684220101 535666047 866490801 627430449 238752045 383624223 145172041 683077085 838115373 247207485 193297659 494556017 954765121 393765561 68046809 691091075 702466641 619302683 33823193 445054415 851021991 604576403 341977055 800332341 320964603 409335543 533348275 86814145 158731113 863295943 291056903 601365673 558200437 985920809 126011507 696970823 33361421 654038253 345866875 725270043 241389449 380364171 976302213 197354709 631037347 604453153 322143203 209706821 782372737 740766839 941920975 674497897 110082479 764311035 766406507 407456097 825096997 945894087 144538303 712174203 528659519 408075671 292667837 978922537 883226563 69649877 679960637 327214853 65059293 349585551 521906177 371882965 309468451 309559163 706990003 576152195 49218449 117218299 40728549 701229347 249377165 124677651 552278541 261034221 238931173 932469623 531752333 720302409 592845775 409875065 763714737 789911743 282814437 206972187 23578025 46616067 109632303 377834499 717391245 596776687 322898715 821811075 365928287 673456009 283458939 420156047 394367241 863492859 570449807 626299847 331838043 477023385 801187577 456762995 866885135 781215453 720528075 976333187 235563719 642689641 246522487 195629197 701963787 96853261 8413915 691889873 759432011 331407031 468475707 478864437 230318819 786530949 781019719 22718537 464331027 169065401 809169681 322720069 792128773 203239615 100405275 432046343 513145289 216364587 260185157 756136471 750591321 834981303 508051935 941873315 485877655 269578565 639525277 947366277 107277641 122487781 256129949 47988025 296353061 858094277 366110821 448095465 461490881 549021763 65660897 489649505 433571743 275719905 337842791 31121949 48757289 965960269 685021621 511520311 926934703 260804695 773332461 527659899 412636265 188573691 418032801 122715989 11024509 165621341 974153153 739652573 819242735 593729479 8670383 529276115 646917557 145700015 198749997 152147615 986392997 893751981 71843947 627874125 627438977 190602117 517847035 60188567 966520049 170642469 80353501 417383899 173289865 475257757 756009589 988383011 577525697 582350377 766618513 226396185 156285433 534018605 922432869 107277849 348132221 22893877 985792655 858211361 335101819 309296371 266442261 835702231 277622799 446970433 633397859 546614411 464384823 761945637 325161549 600794165 704020449 760916167 410681365 420805747 511987931 658969725 822561883 158415757 945470941 152984771 304440111 311654257 416701069 764428601 859650311 342357177 151710063 713941165 662769085 221606817 533335287 787030545 427967385 228056339 5929087 618068351 888358985 739649947 482484551 799216445 153457631 920897141 42107255 816773301 870921179 629379707 365935395 418655097 410448927 236223801 546148673 611293767 883004413 163798491 654443701 700353023 228311335 808621113 183169865 546673839 43592891 41130451 976620715 131302025 667126333 187159247 478056309 267306729 380148893 195839231 259716139 572201297 126576943 528580823 167766579 341159021 40057007 150232695 245832417 10620175 29592131 249309351 486575723 815067957 386546809 82258391 697903349 660376319 871089221 217429277 257429897 926627771 401045511 8377143 318620437 447464669 164613247 597058959 208031091 304253691 120475617 344834867 346290279 585481439 288029373 763235291 301007511 619659887 715218193 897294053 900782741 141597119 387854661 672640601 224415709 36390413 272781603 636773861 331876301 421128379 474351331 538907619 30225583 847667795 61065761 585120335 596547253 394111881 304497377 585923027 300779767 264246329 241282193 989861051 205130873 134760551 712513801 699163139 647460129 669332283 887349123 544408133 992560833 371563019 499683749 356843213 428558355 213892433 492704381 945467015 736982969 951088049 452764543 312338699 53755195 461052149 670374281 949780377 128983563 611502867 928089569 466548759 196371585 125861155 69698355 205227031 506956001 281408617 766831251 477326285 695648849 758058835 843759235 173822745 229384163 344840305 472053219 246045827 651328401 891347327 659553539 718467131 887796541 464961121 979743897 965239063 365907887 150965793 531613375 167176597 858142617 211479029 789653503 528368351 564005011 420958261 819152961 994606531 598315551 531419495 270494685 476537273 369660583 241466675 901546129 678531039 47092859 564704625 252129409 318121979 707584213 388585751 511232825 907771265 423414487 223761227 533407921 702520963 216297097 90647129 250910789 432356549 798458333 697296051 439370683 579944105 384013739 568896499 942723645 2656835 295341237 995849183 126656357 708470855 186600101 564651871 292887085 330306839 644393227 801341835 194180603 401064375 127006305 581308569 809912733 172097753 536105735 891686641 229526089 227835347 754904649 408299545 264939161 284649893 699421015 312835017 828794773 746998773 245005897 215535835 24319401 630678037 826001697 142075985 752965035 756533753 208300743 68971607 199186393 373078849 154555921 177105215 716864727 23735861 136068273 572445831 450739889 824107717 231746639 297037263 74013151 972270983 378174833 464820197 365850171 959064249 164554887 711150011 256194063 455102277 963352301 431885165 384201987 779245497 970653155 334178109 972815665 70572877 799877523 401708695 693606419 339681501 618281995 356326671 849937807 252444661 208854089 699153247 953498355 247056835 265782573 376013419 727030259 384543771 317355133 109202493 198207917 939876479 542324719 16243465 259441575 230714647 789947415 980802091 350107853 325732783 974168443 313946405 416080501 688486595 31554435 223447715 916807515 256252013 447974783 379289465 92499109 849785 276212647 986025377 474564835 101451859 867956257 475365695 605736197 539635219 255725041 234662813 17131885 663967097 337687053 230404143 523080925 662784491 22785097 573767571 500018563 854006393 639173227 472789127 389270519 808443611 945811737 270051577 48717873 168089199 799508199 231978749 629200027 587251005 510671181 924021197 311858433 911295733 316405675 488113357 858383767 321415149 126044747 824935049 892656635 892417059 690806113 703922609 680838193 491227713 640622593 250290213 734099881 241289877 285489457 449349091 67158583 941647895 210497751 698173979 555688727 425390949 656559303 410694173 646756335 945965509 403922359 510599269 311798221 401524267 930865229 162219415 718355495 839360553 978181133 342578559 26795991 75192065 518357611 245955597 750244901 861986971 276532673 862751841 560886717 842225795 233236045 643655099 794094517 772880629 296485179 75820677 911867019 409183179 461811613 590329173 42450211 960446865 340855145 238638567 834294729 873368689 497907843 589134875 183911733 129697609 876859829 651755775 901550467 822155409 276667821 172125637 329264951 164225911 282721285 458824391 714854977 832605893 225677375 254930571 613391091 845072885 708667079 21322939 483599629 763717669 573076457 380903209 631301299 958197533 939138785 549651667 495695731 523365965 276196561 21955289 307723585 274759625 226671043 78702473 182893435 348205397 837557155 845651797 438857703 323665237 821571409 712088537 924087217 331942873 328414601 244974295 529475183 980543383 764710903 992054075 124276509 816889585 302436397 615901721 391163683 14649069 431334049 459954601 677285195 437007417 768527287 683652179 223421645 673862701 544179383 833174431 248717891 973526985 732072659 636345665 639151799 652714677 172707363 897397781 789054097 21698623 903892137 336805149 829053097 483203165 967647055 331342981 748972861 90145967 843922149 865674401 622582513 223903615 84043045 454071531 288430035 278650551 568299441 864514823 994937431 611892979 779917073 850771903 676731995 258967153 730745271 988411911 421891619 2216473 194940155 642071547 298995551 674908791 351808031 136823775 100127779 820115653 191675725 590773019 455074795 409141217 190913685 899619141 453325981 225897811 952696561 662562583 622766983 274004553 392768323 161535349 175747167 900196509 760881491 954063977 787468863 466235339 333468881 953428521 698399919 240675837 749936219 436966925 601361051 583378689 70682733 343452569 375420249 186452303 56880753 16399739 21606311 253977347 494970811 666885251 28368041 46877929 989167235 674088109 552503019 971457389 96447211 116696093 314425189 793741737 183803387 401452063 554297971 165721689 129837219 435891235 590926553 588886245 375045311 842926281 337083591 30068319 100627983 51291855 499962063 533853307 745022269 858999333 977402609 130181787 174266585 410869467 823388051 555148483 235861085 802727469 515382397 665640101 468138281 283398017 636517355 455152791 976304009 152848221 586626421 551741593 61839275 165497977 649476387 436922705 939290795 229032623 780921441 755452175 114154377 418027007 525801221 36854475 942209583 711430553 710572619 608298275 970806381 698120911 556355547 653485919 724222717 202542105 527879871 914732653 702601855 757181471 980360815 90017767 730354813 646609575 746437 333889801 210211947 14995881 33909769 316903357 405688479 189052479 838082025 237984657 609710937 469028267 630365303 151374013 137061831 188897369 317639219 134168861 779576055 572000987 470016513 493527869 998439137 671489263 192368687 317741385 996629867 391897719 597336433 261178905 683495257 265286781 861303781 772999727 50222943 532274229 83596303 405433517 144336151 300779513 241803231 642827879 900367361 682917457 37837225 409864401 722161797 297324259 641586473 311658763 343897335 275189635 403146375 296398045 504463503 418297135 90253133 490959287 751354989 188837129 167254385 234036143 403576987 962815323 22019153 939148421 567635723 554685081 675484597 272196255 106923159 990819423 980243653 11938829 309478909 209245807 419886361 142036359 432921835 972913591 842601903 838580587 557906157 880575303 333358569 321836225 623200385 596131163 699645593 523781689 189412357 944941653 371422961 560197415 988127427 958334917 938945421 220058767 152628717 854728025 603610999 411635219 972001181 127002095 857702169 791568647 839681489 391683211 838132551 257960289 367697271 548162389 885353025 851796669 610250075 812803747 990090411 95875943 969151291 998941167 708045971 737020747 6478005 201741533 895983727 383618305 899724371 236851257 609717785 138912971 197240967 14693107 381611481 396472715 353519785 529453353 867281243 922933715 646067197 665121567 201229493 348729565 618571945 65123391 318837603 115315075 164824255 652124699 94912845 957858639 915005753 85646191 470864317 237249905 497024761 880630047 924527211 763930047 595625927 891116855 107525745 311984057 650641237 728557545 928629081 184334213 31688253 464478351 403531275 680364275 436706557 491942063 971107295 652443771 169729281 770660593 775710611 311164987 368901529 124132909 894063179 273048315 219899137 714758233 792292501 466010409 918424917 295952285 563543909 884050399 154037155 821475647 440797465 997089241 102841563 490734263 641185911 223064705 380544213 577749151 546510251 871316709 906660181 965657529 958705993 451345595 239027457 486949871 270653779 138001765 519249003 154011993 93243433 746436839 711897357 711187247 45176731 73842931 126187593 307911891 441719263 10760673 71558759 859598035 595765903 140712365 222474647 586431969 312299443 558170367 485223669 624409561 151798455 694723113 296394625 519996093 538812275 408705567 737066277 819298745 618362143 65387393 210963377 126522911 814394213 955045783 988557281 460159597 262538577 30189905 635562577 475477829 678892117 73218117 20233871 507489393 476606291 666134963 432567307 468867045 431425423 256934785 383635229 354948285 786870197 791260479 728152583 169792571 987525849 628196133 426767857 427230923 135953787 600214289 227758575 99028737 134252671 913903497 359733753 392682647 16088115 407048897 258903025 940818289 625167693 885629835 556393119 330585241 88707559 482282091 32530611 771599171 952943753 306752645 882118601 564990925 440281887 200229031 673990497 702440117 317156863 628025421 794634213 939732393 67868901 320270993 125854629 892777085 880570873 596296511 895827931 849710635 998263493 476824515 198282663 561119191 255004481 943023669 386295573 726885837 928926409 680587861 259010579 175374461 797946145 839175819 816432509 20337029 557459831 482124003 118304787 897693353 952342371 831464983 839426429 887685841 367845343 151829125 236969807 456555283 578613841 690778935 562513921 578772395 229469061 858732759 260742643 882509049 122347701 134440641 556454513 681915017 77593209 763761651 336463017 870577681 660998615 117738003 958678711 16233577 950845759 124743281 891189403 859825303 175079301 571109637 392651581 640204997 76503269 843400557 531494769 945922373 310642695 101222897 168683759 867497363 473183477 226788479 730988375 822648149 742665765 731512751 366452531 705673553 559527287 641696195 456663797 342734975 352260909 971108765 538612215 604023545 215623925 404549585 529350521 686659839 222956775 28634517 637881763 264766465 220812411 111656901 659761289 227569553 649474971 304925677 370393889 550612071 500437395 334467385 267836497 606376811 415528983 38390657 870803933 198620835 816869443 42228293 791007097 847016519 645187489 83417003 727562175 360414641 558526235 652960133 886974765 190705763 732063749 190853191 802142511 475594505 672270111 127237137 869443351 20929655 249494927 150021035 478992157 633097381 336215519 272576901 506664289 684526011 490928901 709933749 854147309 478119169 458187103 256649721 209693363 302193131 458978739 75466427 163641995 362843413 935161389 599189513 939404345 751071041 735805283 786462107 654143587 883657307 248213331 289765583 633747869 417600631 440676447 335328685 936619869 856993487 443481177 515006435 515665159 31429317 898396019 984659915 689833699 174541545 812647241 159716193 852948771 664835561 983792613 805334863 354329823 398048163 218357423 187310049 93281051 612481049 197301121 194784275 576494013 172235383 317824915 922767487 376896151 308265489 527906959 228853873 472026725 544477537 778546049 677041877 677583299 25456907 765257693 341585731 464862271 988355803 470013571 525779195 843593 495433409 244909747 240481763 668983611 650884571 14029087 464727437 779338835 168346477 508645595 222845485 761434045 580126687 762740323 521129891 27886729 479112647 335921311 174680183 76516529 825131231 558116825 719896793 207459351 793841931 944517831 841630109 772191107 705405783 231947145 197650759 365226407 610105075 119491233 747184379 965592603 619437631 362215423 563159945 193701473 417675193 215225845 251226729 516259043 517406481 765935683 402602681 921946097 17667607 589078795 844164159 162774727 218696135 551773663 489993839 912622721 294171975 524660913 376514395 952277293 814177501 144296671 183702213 538313915 898888449 77600301 853304085 110849539 994869579 242297803 736857177 280539591 500311937 742165325 502546247 249056177 465610381 991367599 247833153 453707601 933757825 625003095 691683915 196138785 824064667 100301331 321510935 551656323 979789883 96322071 510609659 335504317 122178031 348983043 387424759 286750469 605662057 740692953 527446705 977803633 417750915 91155719 751519355 322737923 424097603 147880803 497961289 960909989 825815763 461464875 302637755 571609383 571369607 836736769 226267929 796186179 889097687 806182647 408731219 264776601 671289963 901114749 786189053 195399093 601272587 812903541 33253211 656409861 467010219 122196001 662443601 825227493 535652199 81201201 224127599 674155157 407302017 504612535 936673005 3568191 798623845 417081139 624575655 870377459 848786341 144134537 206134057 338765993 269862911 426287367 97052575 981000007 910382165 911519073 29567459 611120017 314712753 894155191 495542641 329719613 193101639 396880265 273171571 265144033 52048755 359249353 341475509 122220285 608795831 818912715 209667763 62165759 510639041 985878605 537392263 23046197 544803167 55191153 571668221 114826457 293913489 858839239 413231233 509872907 793111673 516304453 884424747 228754389 634262369 827804997 906386619 280346155 105223615 930556049 301495703 834112993 702572075 800895569 759807951 9169597 270413161 672497949 179805979 584165735 717594471 283640051 478690521 954781805 476487733 371530807 150332177 754702669 506074895 255137973 531122547 909474149 643410265 492851365 216474197 734829313 814399901 192697251 664906677 597824079 896833169 558927797 962945085 248193641 12228109 663351367 643927099 651882579 153662487 44208941 827230887 297790963 398136279 868406697 331744797 97158941 593475235 665825627 267293161 836173449 263250677 990575955 887959289 465440471 364835187 310860037 810704609 759201681 561382883 298694993 511488227 556206633 282254397 629340025 231968487 345132793 545259417 378098219 135677561 268186687 505232701 468494973 659443157 763594535 956505491 595643629 525343957 688513731 859255597 358186589 712428547 468417291 988803527 303917343 560601487 61094367 416619335 325479907 672382031 274491913 126856883 471492811 630017219 495047227 556772163 166040155 909324817 190471693 189920593 831934589 293636363 453932803 933895519 118583179 44285733 564166531 179073303 281485631 625040255 150850015 923352657 565370815 21343201 30849363 359420931 427095705 564696505 126343421 852986197 971677121 325389601 564013287 16737935 31918229 812494295 959465219 815063077 366291675 96175681 928468521 507756465 274108863 403704429 669108507 534792443 557022935 691433751 833728899 715420903 486487327 661063323 677628147 562419855 934038527 120912385 326811105 258772011 286870593 107411959 397672625 850858013 415631131 484130773 857427115 635592179 338497837 488968859 432271617 651107169 583642489 42442737 808639435 362165565 902877807 44438819 454591243 445762705 115328737 597289517 418603435 953534339 960723215 492385449 562469499 544339049 843673501 539771105 581842231 472080059 853658263 327674565 426852219 668717601 180255861 350631147 599396309 274803555 778809107 843951507 282115253 448921463 282305207 651026339 126172019 402358389 203793165 331366829 920386897 582653089 376051753 693403875 445970553 744018279 936131981 984005163 517585147 467331163 587527961 415720711 917944787 223688759 283379741 150000807 678692829 263807455 357292109 227427557 457916647 145930591 201023689 355829565 977089185 430159591 842681619 724177881 508788643 694933461 409730585 850650759 840640623 276098989 263212337 471684031 16145007 83371287 532452633 539718557 991317235 474311913 664146675 266026733 281327157 329901853 705595729 294095899 683914837 271192537 561553701 273824321 719499871 960933987 423778509 763536411 551396161 564018739 625084173 770217233 407930583 399755233 153725461 523462709 530852577 696184883 232685175 455071035 137985545 526662929 789246515 290566019 215432927 43800721 732015533 143681303 507840733 374685679 926050483 108483491 705749859 651972747 282837881 549935999 418359997 825715443 421572511 695457961 190743835 18879449 435723045 939255757 715233683 466920215 642453373 90420021 696742187 338594995 544626299 401519067 875537867 694839767 572277085 256702045 14958915 812730325 948400069 696911363 59691597 284624683 945446597 259530171 180245897 591005305 410792397 571986207 522488451 867659661 131111359 256162667 197679273 36948569 150236125 268330633 702941783 375899639 278939863 544806407 797731789 420034989 722331071 804799003 911655475 863371749 643808533 856416423 775022237 175436083 355147709 258276401 360237315 755021135 828920323 396369127 514536261 114991137 418119839 685962657 863657517 731158193 598427565 685434079 966848623 729687091 708120499 399869385 960069535 401351939 514579101 748674859 445694275 744321955 874637505 716763777 471358913 592187839 170970587 678139621 348326253 31150379 547138577 763471393 603001215 284005089 560453873 949265829 188494615 12172803 993011313 763621255 70436415 115660511 514977771 145070983 501989609 42831337 728462631 823811595 654277615 732204729 322987857 144466723 992607761 127932179 685704705 690118023 621234423 3673059 877397551 669776789 725517877 569773629 967709509 437271637 783970369 697162843 706255373 934359669 371009407 778258593 783046591 716846415 971524919 608960665 113478391 219139041 959150235 257472503 373589691 428254671 538563525 339452313 501253493 691689069 715057333 415834237 67915775 21911985 129528403 630749905 437114003 419307319 120407409 508999913 197165527 575881035 992090571 433818689 322510809 12351961 221709055 686750841 679939853 932445561 706513303 186971741 366240081 408197227 645161989 539874531 943711467 360748951 809983905 281132067 404110215 248921481 772791215 636789345 909409595 43111803 643803733 508981003 228158853 775272525 310723493 713156529 99348039 231638915 890793627 782453007 998703315 93177423 289090579 285640715 919278297 366168199 310323165 357661867 329345403 410516395 550582691 840568615 162687547 959770081 828909573 913909975 206023177 29012729 805413247 460263233 318156343 162910571 304887677 90927887 789735813 627818837 153599311 206158611 309329175 15569279 979253553 123569483 44650363 65079895 30390591 617479639 488784805 850083575 213831815 709030405 961043955 687720987 966455801 712643911 931450153 484346669 518593389 356837943 434407287 163082043 487786151 920572827 460754801 210750971 612991565 898062173 931675923 986565327 316191985 903053199 709592261 221391803 983535629 946967407 913762385 917803121 120222979 413575261 437164525 602690377 227215387 484197607 777466681 324779071 149808005 754349503 712300087 826499579 91337821 511907009 451631701 5972687 779036069 783419887 444644201 188062639 371270977 608968309 811648689 46070075 701677833 534370215 317515729 788626619 387212721 736108543 359953877 123091231 521220571 529196063 740634677 19549693 392511763 528283093 658970573 915331221 919320265 644643605 755659745 621696205 349534037 299733749 298887969 236848181 576484601 811770559 568204961 750990083 61426911 767607001 457702621 630348569 808082967 83318233 342801083 727329533 244630171 643375993 112186505 88379103 600753227 453203867 854017787 272885651 845221363 224471887 466689073 792582045 460643393 155529155 292449451 999566367 893310161 368576853 446667357 38116333 336442147 771412615 902246295 572265597 28625313 772989191 183239191 397270763 866842779 12634277 534998533 309267715 248117067 694128221 439320299 464990257 744189649 164486995 787266753 679215245 798537529 830757329 390609633 724484055 321858673 480176715 689425173 656079989 869912405 950084191 241501317 945628281 407565477 425700299 979411147 103222423 136383497 446734207 320435935 697044783 360413461 953951371 519332907 744826697 73946177 284214059 527295867 784709013 980209645 123960771 464638467 122979689 33158501 916450783 932775009 864456645 699386839 943648559 584315291 813370959 880629087 769266835 603099165 954412631 127993853 143983881 977648829 518689749 571550361 753383617 723824055 124301927 319612423 119655435 735401905 172341331 699942399 631060581 170515131 576058765 872463905 556129135 831344965 582955175 82475255 667911159 957112625 324827621 293630709 420512493 490387649 331078697 22745455 49101937 634120099 73288199 124680619 893341891 108008429 614573235 869206991 209178447 524799773 216912143 503466991 576162215 771763991 776081569 297962755 324527753 681718567 680299671 198225899 426022101 215739653 884609225 982705777 775171225 933845453 831078583 454178887 305888263 90367237 917456519 724165127 492809337 845755287 828613131 768142383 738556789 628518109 644296119 356670509 488781221 247112081 467223467 425420109 575321053 67527897 445971119 715423693 525824535 724071235 680130867 308243915 589089909 192834501 77655629 506284625 168820805 926943929 393815227 884818001 843570425 631007975 911100903 235481509 645180205 506290299 797809375 408525835 223711651 802599435 518878555 171482159 887392839 497222035 211909817 112837795 865968429 593741179 574998785 175861469 396621199 337644429 133460449 775266881 825380049 687051265 107070387 735140631 294722941 909952115 139869299 630842769 758424647 289312999 490821835 167238345 886016779 809447629 194452231 395303357 952618957 711989239 290552867 771688537 146507701 91840933 23149753 443864173 516737561 636320123 647521813 560389301 923164019 484065927 323569443 13331407 914116199 727284797 142444923 512232261 112106687 193631099 309981277 233297545 950274159 854542215 757209007 748792307 983380629 400693005 131547393 850822085 488936559 705672483 253426827 445235497 775325291 360199749 287824941 406485295 446645021 678395737 928223339 949476819 941347393 992548527 112055159 477945585 484993463 947669239 938352677 363400535 740072075 61472339 875656441 353535413 110345715 746744645 383580951 686148003 434720327 376871867 177381711 530331301 366862861 722285579 217990937 121860895 607145197 788332019 140431761 825248617 198811325 879857559 482456707 541656247 811085433 484479621 248803677 905436715 192173377 594813105 363772467 120973777 631652195 16233847 906861767 382714265 344628047 345940129 207920001 552488027 501600421 82763097 956563055 565405401 764069157 229567795 410824263 340755645 320848825 632879921 679528811 751994263 40781177 954561715 640144607 489650145 872537755 59127433 785629013 859935741 688208773 726066663 31815203 825419569 753013187 776429931 833043529 602063539 768342279 782580763 502107501 95237273 188965421 38412901 778173665 713835749 339438135 337656603 369162393 461358721 557102929 776259707 981988917 410720317 358304717 766479149 60425213 105626067 389841193 828366139 936128993 556634339 315670789 48050973 108432501 558944761 737315375 244469423 706270205 652562307 39809433 587307061 54377309 126149341 522115423 498579807 96104741 414590279 464917443 546619455 100925579 43208939 950210097 659267669 971758705 798309337 895475773 517553029 244640349 146553611 28423841 232367901 408871293 687167329 752348735 35359441 935230891 966320807 752376613 99992511 243216995 628041355 856392071 128583533 119751119 97730985 394302653 908512967 456896955 725281409 716457547 351154979 230571171 557183611 862598365 884961085 329556641 779136747 777611591 964794941 648296065 424386569 667069315 705108141 767692973 572482037 432629685 328895363 476316739 828161467 638583079 9368351 870162939 653315145 508562765 896691267 412113731 544986491 864795331 603215135 948911909 458466063 305935437 726915141 986165083 292907443 599553491 394398133 544514371 858754035 173506923 876615123 418221797 916688717 6898255 858390123 904704497 958094623 812759011 634653109 458742461 533546421 990447795 9923917 273569607 905868605 972692847 57967929 502990393 41781459 976348149 334636259 383381473 269743989 698622025 586350629 757424951 20902161 482358675 758982201 434010327 165792627 717216043 810614471 801891853 527446361 191512967 818625241 260771269 708692321 20290893 249472485 762999193 872332053 48374857 929436873 364625093 486562791 167759979 68412619 254700851 450667569 631150291 788941977 432042607 702792241 167735487 465103173 942973619 861718805 760528031 224534349 594213343 84054505 558396675 880564121 434467959 850006187 787767721 951703155 388008621 831460665 582753905 4121747 242888535 957004381 911885417 338323477 781620981 190037193 428963523 410807677 581000365 310400021 872588249 134795451 464398673 257262533 671343665 136631841 436079701 124943935 329107829 527294831 230565593 579091413 428253559 264837321 889713317 966164419 914507573 386553789 780398887 80307495 116265423 767076415 924095609 496470539 387080083 520789423 193146457 893934689 572512499 7366093 766641963 167102721 476770699 201975755 822159619 155417773 97155357 200076605 175437463 411540753 789765781 464665377 707742277 536834489 346094341 509983961 295760147 719473441 654492331 903936309 467299765 332903339 871315433 505981291 195849597 876692639 31158857 106443287 479890797 682129711 297825663 55382077 101487917 308586355 56547431 26647115 372967433 200034157 919502339 23609625 807763965 850870279 745976447 681971935 101736611 820813331 986884655 502567495 26729029 354662727 974027405 807689053 53169363 559781703 374066493 443741333 338221795 644474521 132438281 412348877 109252789 862164403 706686693 770378059 857171247 508591595 693972717 452093113 413047523 778146437 782780773 12611633 498901251 413027749 775506869 75388205 446433397 981687139 478182259 221968789 307333307 359791795 840539481 82878643 700051717 494840439 762142283 370380861 94612781 779127931 862437971 575082321 596428463 299359343 472235431 573693813 632884149 630327019 90751391 874943383 583685133 601458289 300025791 513859337 659678255 687596651 676512949 805881993 939780663 713366057 156669265 580555583 846371569 666366949 607387023 38978999 179352265 874689471 404839315 695467747 698606809 916824259 405640873 608361253 549408221 164002273 927856705 3452225 2427197 339698929 895190777 911297889 153816075 390400437 485722517 472678943 52599291 953738453 829002239 903096181 767360109 873191653 35473993 769433545 610038123 852470621 59133359 98006249 543674017 634934687 269041559 984143625 237351015 668687857 234209415 810487239 510003899 774053001 399203127 241685801 687041095 439489149 739942271 769039515 154648923 303004367 814702949 358221811 240195307 440427367 550271507 650196589 559843223 797352985 351595227 386051505 544906407 682415517 535147579 235853001 447065865 665032339 740389587 168329005 588031575 849047687 534219377 141662135 678271437 64821479 60762375 198259121 708037461 972449295 188126641 919983555 734558333 100441151 634756017 749202695 882744699 965386399 577224563 346533877 67705905 582276675 81425801 680536439 303037733 707888931 807946161 441698265 418843781 352260895 608368587 370189263 829454633 242759937 902491877 955904887 802626961 469949309 896091185 195888983 464114405 45997095 603256843 672260443 812226545 974797445 614501621 979890135 492135985 627363069 923140763 543635595 675036863 719730147 729536209 64125341 542848869 39928431 563519633 658898071 864151955 494469057 447286015 337510767 600638303 581287907 503467109 584463237 307422345 531793097 18674999 863034523 955402615 684026183 364723473 145851359 640644665 693526051 398247349 876475111 65226119 962697475 57494033 426154161 77264831 7310203 114445619 284084897 77223913 50369537 752117083 514642819 795163827 506284793 162055403 213827215 832968055 332000173 643406703 986390113 101720881 881822027 509532311 951472125 112952715 253587437 777768769 850108883 812192723 369982359 221681263 731786421 714186241 169405743 773884495 309068517 935672241 563485575 615672625 44847875 580547375 80556635 277680785 41814815 323049063 53465417 979309587 335659437 216355313 53302491 920354945 467522699 543841293 871202179 118013649 78555135 180674979 645423769 718351131 892501429 642421055 647038817 297368485 763261379 279659035 441491969 529525719 99972517 432492823 759173771 201752905 120555331 219184055 67475451 217850545 455960039 230393645 716486447 801264885 512123209 592742735 436107761 506654753 237667973 824117659 572282355 410942565 832224543 65914941 739815373 403301153 356951045 554182399 925888513 672690645 366059151 254565465 436165625 973638955 73787255 656065135 553358087 374791163 314843107 208769025 28292961 764682811 360400991 971761029 93083947 799706641 441342435 512641039 245889901 498091721 905410763 958682205 996987671 281494997 926346717 881061337 779034119 485302737 628294981 781100431 612037113 100723069 370961305 573231419 986318233 788271305 195231445 808242233 942296439 21622215 207620447 313020047 48353549 764342191 210784517 216873455 907172797 328774633 130762237 17611441 854672335 918012157 705687009 760034513 40178549 359549855 165906105 382725367 402035143 363007403 584729075 243994995 392308167 482083619 830180193 675899709 36820319 452911411 305724483 296084213 25778271 894957869 701778491 653199327 736480129 757236623 790442075 179898093 868255077 686767355 275285525 978656693 725702039 106518331 536324679 432809333 138235783 660386371 68760629 585651225 97364365 426645807 81937551 711730475 990316523 704796481 561807975 670532835 538992587 718656741 153283135 251691811 639215165 526925487 390029559 534763633 131629883 367965785 446866655 253006589 189165733 972575175 733938347 575317403 573649223 633320963 884005497 914360015 90677199 684385345 764557007 420928443 447845337 647427293 312467865 937963315 146112741 494968411 146507565 835741867 655375709 961525859 641802057 874296133 356632977 560471755 753927695 697904839 828583099 76096141 785218833 577907871 28503035 424481485 90888255 347514597 247296349 128013269 590558459 348783961 268626127 727076379 425453831 309851233 801632557 833427255 472742291 193779215 754999 959291631 705170481 830790935 326363799 266761259 199600609 66696665 152888539 900009985 297499143 63746909 933687937 405151915 705620849 607105107 936071657 888505999 581338963 63623185 243450969 941638963 500523595 20453271 970010373 68330063 632341855 562695819 990228487 968589499 452045051 144118333 243772255 791558525 900745715 571202211 821774837 272660157 597549705 371185503 8646813 925332179 108126557 286497975 653067023 543647029 955070079 664265371 906335979 117154697 100890725 170329503 47901885 337942683 797179113 815102471 873289971 271242077 430765651 359632565 978448615 908805097 58455121 67988541 570038749 469251205 728835317 98335699 79413243 473910427 370958271 414065753 191770965 971868605 71519889 957914453 545723107 324968105 337689789 789012469 752447877 705068095 955465717 424483345 157926149 946717325 38195031 414568745 35930389 861843909 232851559 664122723 169360463 91816259 628267541 397127823 377120563 668276873 19079605 992476453 286766377 26257475 473781251 562290501 31005571 45043523 839653413 728299443 303665277 357000583 743872681 175554273 392908853 391671089 766114435 169111525 836323253 131023755 93645331 608136573 97733103 178757641 143476761 191780115 698410173 331823943 853023945 616530357 159772637 858459655 674982067 885688603 309945339 79966261 163911125 766883491 148277673 979072997 536255127 864680021 913749085 142717007 321367747 705938911 222585211 983883483 212028561 857703323 891675467 42523153 460946845 226955653 676436479 783546535 786882027 201138245 117413553 439900789 726696681 371067949 270550111 311223167 905934447 964393521 673396469 333203697 655260599 531114739 304682565 362203167 566850151 308540857 538106117 890115971 677380493 920489841 139047897 380371905 403539613 719201203 282638921 410812579 283324533 295717311 744890311 247992351 965465691 268467067 285529771 698911565 643854075 147870327 283291959 562527601 427877737 309267179 179874453 146467577 613189671 903664311 468866007 895578229 362526741 545538143 355409651 592759201 23433603 222337043 556861901 584638561 935781159 772804781 748460845 125427137 292961563 16161451 434596803 686188273 812108775 212332851 567871787 665033295 809362297 661344533 282176743 571182687 854108195 510522823 672008029 766356683 878003621 433860203 904369375 757782885 91450915 743686343 673625767 819509545 182534953 264830027 551417815 776587579 623551151 122947339 614228085 115553767 832477201 990168265 834113655 991932831 557422869 411035117 13915827 9326589 522445029 7998085 176117227 672303303 874850075 158438727 239195081 968444135 949216945 459190419 19866077 764527471 390582029 569732467 838443681 663400605 953071357 236522131 663225975 577785553 160859063 183207755 99922599 755176857 266269141 592242331 901048929 879416999 80090207 379478569 304827329 782660821 437529537 109585221 69156551 184851753 130429649 326973415 290704989 324462029 559308237 809256367 513746259 753391381 397761881 312279777 187245923 884200569 264832385 480905069 942331949 843742625 88997053 622711789 345590333 440293205 970978023 112151199 760020483 201071241 488217161 973018217 865593045 706514775 559983243 16785883 912625657 386181639 660208071 213149227 372709271 270303231 17278839 190926395 56534463 303316691 324649345 745476497 268188011 375801153 453413171 420416859 272017275 328075307 886353473 238992755 902391227 912717211 758880201 608890197 908111833 830358981 445503313 105036587 689717361 15785989 375292357 175495361 607066627 328688093 335563899 273866897 681575415 505760761 203636271 204713147 354133921 868067117 697917447 61107203 132818745 840589171 216168083 224378075 945022687 462737135 123265731 804089433 685465503 739654379 967768313 802923837 579108967 966685917 704393207 911624943 310649107 991838045 106008043 437929595 444394849 24346927 637550957 913490843 400304127 365028417 73621109 929997229 621136251 166109345 612500845 624714937 157144909 222458769 77645857 24686191 146029787 6231151 186070213 889205027 85931625 538090439 614096631 548436697 840502315 159786063 52306107 140435509 579163451 84595167 460098433 229498759 888360599 402070139 172108573 829771717 871398445 811512657 211998923 998644113 383743433 976309169 652218417 245455409 630725161 425484823 983679581 444821139 645375979 421574951 368690373 469445713 575177369 792127661 181250115 337484967 518419365 294056603 925240863 592873341 373579113 567331851 567320325 682542181 758163493 651025987 725230091 413995923 493996801 401280427 536357295 293819625 752120079 216276187 283726037 764400363 921522763 366108553 428171721 572405707 957061779 543826843 567447875 667139167 533321905 347621405 56225629 562252071 922837847 402948673 393169569 783195977 775155229 964278883 680256761 288582551 788993671 249409795 310868153 854661507 346858747 897931729 250800033 592453171 944917453 126149791 456564693 13742441 993584179 449564261 427123427 960653973 877584721 850484299 333486783 949520337 316911919 831501465 495644871 878494937 433868223 255287235 94216897 212886551 910863321 409826659 936844761 104363417 34679361 227310911 445136293 387884567 985194653 924510785 670986529 781685231 840023679 70320509 847370165 332795943 320607329 865198893 744835627 999833971 425800869 485735859 836944827 200774949 785772179 124433053 391160575 216515135 616831325 945490845 138713343 718216809 319816475 294277007 603145769 345976559 278484945 755292021 891715407 242294219 624347235 779336061 517363377 624847517 981455785 699240437 610551539 710083497 696193879 589568605 898064419 349869793 562865937 4189783 990792885 138758363 91416415 861478573 989322887 317561815 838666929 123165781 654397405 133597371 862318691 882481511 548437607 610849815 166398391 496747047 50534457 458285347 154767059 509139969 469956303 785990845 827611081 20504713 830721551 208958573 564395411 444649593 522040135 691743587 609326865 963084981 901274157 288510325 893248527 893595463 733188059 323574305 241418813 442620517 292453849 10929553 687391795 682969959 83944723 465849235 946654323 295896531 40052447 563553437 577865831 902642769 21410299 625104081 248677727 213861303 825033099 38276853 952595349 131060735 45897755 747019639 147944747 645818701 86372515 796988783 526912807 158312173 984310143 822179231 140497535 763221073 308423539 842764137 564827913 80764435 869083823 297478113 974810247 463868151 475803589 832538811 759782305 173827819 721132213 945131351 266291947 168710143 35801061 888527807 831293917 822869361 397346077 23221149 418810841 486338721 983491225 468962125 231658277 923080221 433196017 406307021 917712375 696546965 882347309 700312771 789451621 690557417 762244537 948180865 442106481 882782745 924468075 350938617 77230851 548462671 210325375 775140561 949850863 449743331 431367581 133286219 215696109 913378123 338560719 992135255 902482333 549537071 497533581 851990415 616937099 294086487 722768305 303098415 910052645 597638581 326205315 118843937 294139335 961174377 834601649 749423859 600369841 202343859 652291149 535473371 431589643 243847935 44016343 17924539 936249321 528045537 300195123 914946585 6977347 560841745 800839087 113587747 76962041 858000759 160893695 918604465 891006935 779292443 487918913 700312131 51435147 945221681 696634617 663391745 64450225 123824405 771666455 358069431 940490183 715852873 946599151 869673951 975202363 716688249 848719165 443164825 126122585 121535607 989494567 956310185 773296991 141680193 139152957 845929345 528391275 532868089 430252655 324243767 307328393 348904425 666547997 114021771 560528039 38606469 101784589 314595555 800641695 628744041 677991021 846696271 28346933 734542425 987735503 522176903 755452175 613602365 40795443 475738089 302999233 28052011 942452219 154913661 202086849 697666653 760264441 888843505 198548083 238071095 475667807 70121887 73480225 617586243 405324745 27447427 295949817 99514165 292946241 105824071 414528021 635180777 757117489 552023865 942720633 986361443 637881709 52385359 777938955 347719115 626505525 697474091 421603743 818620279 244938285 6526227 228752619 879659233 784331363 923585269 336759187 641766317 18214475 29637225 116356639 935055527 924509637 578339759 3014401 290437823 683084563 18496431 679445395 87060501 417893859 135106805 579411731 106912999 144287307 49852603 55480749 660210341 761587655 196157921 155594099 976049887 522028607 638782443 560377691 673186897 933345533 305905675 265917513 973281759 269705657 939963415 252292101 247721877 835905933 568713101 25655873 554372005 356333059 418248857 166414741 530808681 943260163 869950725 732426371 710401639 378207461 800779081 129558133 405994825 926997863 848254855 95486141 471597281 967081133 914104965 55709073 603390763 352406341 946108595 995744021 551712333 510011427 830818597 351160913 570109839 560227237 937983647 76830775 313486435 789165201 740260485 146278559 83451241 917138707 921852389 796110155 541033825 346213311 874056315 867143909 265901623 873566359 296123809 866124797 891512317 276534267 485312867 297062925 600428017 721442747 193894765 778809975 63581555 585699853 386957335 868365699 756118801 179869323 37275489 520176483 920765821 137399613 546367987 205289263 38547 562720655 68056601 295563241 182101589 772917593 619945165 764001659 493210095 794724819 81886383 806089141 744341173 478913191 185092867 180305745 473773343 32185057 305340603 841290481 232142293 347538419 903609709 217157659 239806111 670383295 211899991 717410373 326782833 108889225 820526947 177372101 320284519 909921277 705848865 720441565 988349891 738814511 758245059 62089911 313389299 490195871 594514221 755551331 958374277 719885105 494685669 96895451 278953785 720975155 639278875 651550975 194454513 501960795 370575267 60152987 128108727 793298627 72649217 543197023 451772097 980279027 575809879 977859299 789703783 513605847 792245369 256329385 475373101 343458501 552147163 570492697 111716799 413078137 583637407 382855815 946702577 392877083 212642443 365081643 470388413 678947125 495179021 961550117 789859399 755107263 757274429 34478977 80557019 314658581 592007387 362533165 822277097 88868603 977798221 326644997 760547855 180853407 923500965 674892745 332435473 765419929 739304343 896415523 725451481 18542819 375991939 574363299 697612665 461613539 842170737 101297345 228959277 280283493 587925777 252282851 317883737 574800547 758192313 490745165 92234377 979183669 492936041 233190965 23677293 289 364658375 815128239 867683045 719308759 152169507 317423809 680200175 153534763 376959347 913290067 978252987 293286745 770054745 310913331 57788825 131579657 40857883 740850207 894136325 215539269 266526121 27355061 939418533 355674499 168308375 328417921 513308991 680605347 665659943 84060401 375998923 70336999 689333569 225327713 908438371 702722813 309745779 696671247 823227465 466939901 10123507 851064873 241714663 415765599 393196451 448420027 802507221 663077389 158647303 818936003 833281225 507847763 608061265 219262751 229415339 602378469 924126553 855646617 853081731 714227423 167475099 947718629 168296325 132882379 547419711 866184855 805919243 223204499 391684885 307427893 851491739 757074571 758064277 928228901 134589151 163017331 403509471 982424507 930001067 852543857 887632055 932408621 511021305 188350991 178126479 470028959 400321003 691553091 524294011 304951065 327075023 765265259 318072895 381019021 73253143 159674701 893855295 356970965 363213151 174393109 661898379 369066415 818895465 207785817 872348379 868117961 979767329 1161751 800533645 379461295 599987355 326200753 87466921 831442909 840921361 290429945 173872093 430803637 217524967 15870751 957926785 792463745 363719847 325326021 960557719 514778733 369513221 821164783 717084097 891287705 753373149 931407623 795526995 117607681 535818545 797269223 903782465 192288145 353760815 283115975 54781741 582175771 209886245 190078801 318557531 968226645 404600725 136157841 802729405 629422563 7660827 918968059 126466539 41837901 250860681 19397997 66252577 753652997 19406285 145009965 266113863 949058915 303749637 568628967 294086125 938120873 819047541 86889905 10059083 868489729 247207301 669593607 37638465 10190973 363473867 883475665 185104467 831757331 500906241 241039449 558006449 772132519 788299531 846398805 760843061 6614273 330905845 300728805 485347933 408844753 541816305 345699467 537897295 743412917 177893465 827085111 889448155 482947881 162582705 14790715 211300983 771859353 551088295 346133845 4599109 296752213 224612363 480405165 659184395 226286743 658490331 178348495 337291575 871472513 95143735 660505775 233195491 443498779 377972331 729612971 181693131 856246101 636427245 324567431 870154329 859484427 9257303 71911027 527834265 19236605 648917097 23363331 401233479 422384853 537808915 303395379 291959741 345946147 917943653 942844777 94181895 363871073 963381917 896945011 576456657 914649841 89745435 272854405 176673907 112613403 744834413 776724031 525178093 79656975 307875909 998974627 380551397 724159721 632187775 980448543 494511531 876777641 837989405 214720137 609641271 218913849 728242249 645451039 90060585 952740969 852493403 331806595 408165317 744800499 250990027 743506375 698560251 736236921 689199163 348969051 893120357 141665921 968139385 823504161 393969985 98286721 492122999 293727323 580611957 444061391 445379409 299636153 497200785 350208173 451279433 56049485 93993931 574633539 872365515 18937495 451512837 299509669 451089771 159113595 238023877 109444043 694884321 419368263 198761785 443413397 72761877 860313519 36135227 588064463 414912527 335510483 198422087 820622119 178480643 527498547 273162885 553691449 163955021 495832257 291217351 651542917 487944561 736045009 33056385 361074547 606309143 231999265 444381397 394963031 906008341 430651859 871559047 809197673 327523685 295329399 833789705 798144457 131233321 159041539 997670001 842251139 710916273 570230993 713063039 101914757 706371179 525989291 127081115 816026795 93428725 217856697 202183121 492690869 990255635 241162387 656791003 354240075 942474413 13937975 499061783 761705217 237115865 439225609 473036941 977362253 290386641 108170197 934039277 534856341 105243385 629393363 860453771 186803997 522722523 293051039 80304747 217222425 857228589 287635007 895314481 127668643 500959687 411106335 961162541 205804987 830121135 409549843 722709589 888605001 767801613 83385693 762420299 844153377 496744503 402881949 644378197 930217721 223919785 614107619 65483617 21012597 152124163 143272867 634842889 13876255 159028497 735466429 423398537 639611237 471831753 348051315 678091721 972637345 288217411 768546163 478659163 226382871 684518341 669542099 333351539 563567341 193182393 918230031 524236787 77807157 19755185 481936911 381350239 639512555 956972395 494421791 22084329 295504365 875743431 141910513 941887335 312882949 493434323 188420263 547644249 613500389 452714943 724138437 221396453 256106535 143602411 234689333 119943131 603480905 210107351 874557777 92061363 954686903 261723183 532101075 962096525 455061955 837519813 457351393 424761901 951543459 678599063 191792649 134876675 248633211 333568197 900408127 621081897 516151379 392802205 802622433 736228187 72682269 769590929 529811381 792087299 455699121 346778941 528003559 425708079 743137235 519993187 227487757 284105111 23663145 377723375 947822883 597071769 76846405 787279347 725781649 965371195 80733089 196340653 974707489 487663919 800319391 135344511 860686345 300728013 49872519 770814195 621190633 139895569 662896523 262578621 959268291 463434149 20167875 978135225 853999111 191579093 879422003 540334313 878483847 558230427 149260993 54989945 711803523 58814615 415936831 495859645 178912671 896551181 139359079 377387055 342643943 573790447 861051611 232015217 634819795 657109715 467187235 849399891 529712959 192849145 279910831 59816899 531819121 942036551 827090141 274086879 937116693 366513485 386706665 13774569 401005119 110795587 715032575 828183631 357210737 231476487 359113263 11799455 707990155 719267873 48109683 777759643 811192285 72531905 259698093 592283935 737774107 485299133 549908387 259608637 669715557 253706131 163510283 156521251 948624445 303476589 492057467 78783791 353876113 401668889 870774901 117261285 215762615 766231821 381602403 347046893 408880493 688301419 303542421 616109597 633037269 253013241 828704069 524552817 228634753 167218213 84395669 2695945 2931811 877879303 582312331 710977329 667123161 308832607 124041501 715993183 403801511 88597397 887860513 146073899 926627837 560994743 450965849 75612763 437667181 489897339 354701935 300687833 825404407 687802433 204958963 415237047 929875967 502506513 245087839 222627121 129914195 769965723 349151251 843618219 772209191 786268213 551389787 307535793 568496667 155033311 957863781 378429429 52185903 888525631 152067149 192307793 984399061 618675621 872373267 680807627 482655969 831290633 996104863 371102861 536733329 648406025 574632389 582977769 535826823 328575981 153292861 148387421 740789461 819599269 877351081 20987785 53034475 307895495 382360719 153909819 316527531 704871057 61983075 449226853 801918295 522290413 407164799 330857251 668041629 599989097 937731875 372857269 202076053 544471099 803338615 767596171 353569721 325735749 111457679 882025527 248005359 713762573 393917283 546340467 556862339 287351233 426629331 439792929 727778349 479847993 536940203 61190991 287373065 474867957 340908953 380748335 420342429 892093213 977246521 710954525 279681749 688744317 957379337 240575899 819123207 751987087 110997879 639456853 816507887 285131379 783275217 626599455 750623923 864355309 632503887 962691059 824075745 274713455 721233173 956909811 971054447 863407375 140399405 523941231 897818295 22492301 671545477 299277781 757745537 727998543 359437815 434578883 849077497 108845157 543893575 722513659 655285431 306748807 896612123 860775529 144590259 698993171 282104839 432063777 491312471 104206097 531305347 641315677 779090541 408113455 999894511 166120321 610667565 640194503 550592661 225992471 89271603 257503189 157736103 276790741 942747269 277159683 959102013 414328979 33839245 959426207 152432987 117208149 704918053 394373279 716055271 524461897 514713991 111874725 356750261 461978559 928340825 998740727 969601915 989026099 878499241 879526787 975892445 988197705 762172651 876132577 952323427 677913803 978341117 765345617 759073407 538222255 226100773 626393531 612037771 531668749 724063759 348587691 571987653 354645547 152579281 114090331 538651993 894880113 220182505 346281131 974572121 363613813 597971769 798657055 466751163 240903155 60291091 677234409 755826531 707208907 799958567 374457567 987861529 661320969 528499351 669265791 192618127 43886819 556020965 581551347 211230557 654468019 872026625 599432971 588349191 435984121 147675453 443838521 900733171 383347045 339976537 895973025 726394995 706032583 262267257 612137737 160259009 623061533 804359723 928046561 549282047 181548167 64996963 754674237 392247605 228207187 40991359 573766881 490293589 744947955 212877635 978930479 715318071 271591169 910034655 491370043 925478557 396047683 291670503 979064763 993801265 780052899 249244247 185477899 77771395 466375733 965278359 740981815 701272335 541640753 51067505 900876523 488187185 499412735 473175067 952740735 122479415 773463847 778297653 276981235 524916049 366795613 662921665 807779055 358363799 416159611 457488685 86209727 477322251 210354055 922212687 48450653 753933719 540208811 664260965 840764521 854341899 456781883 510463763 550318631 811421473 33893041 862850917 124793481 775782523 338692271 372787667 609786661 902438049 55299589 742478137 135354681 464809731 846510241 733823707 569022127 678523389 777370529 257255273 41769749 29259727 981779527 450600951 873940643 123792291 875262207 206258945 97610039 431608969 43881053 886893933 645958489 396458619 627562011 64386953 104273209 135963995 464550941 924798985 604198315 494554095 67690861 449265419 14014769 79916781 251807551 269217557 358602483 445169643 662923247 687797267 826062783 230484587 434509313 836943963 333642507 549966549 300253981 466588075 657071097 631600509 641104665 939476519 175260239 216692123 240312559 62979419 827115387 513023057 427966915 649685311 307782037 761478565 911057887 588917037 552039005 686930829 732234681 522384623 427164217 980132573 282907369 705570733 301147963 516409435 310697267 736594175 14288919 435128239 2544517 329186275 638596397 943657065 99454191 261578173 52683653 569471235 401860525 706871131 620399567 370359261 152805411 256926193 658695009 129668673 702991837 138071581 842575673 265261923 187717773 582726373 379997955 652783447 609449741 336067253 78024201 7857187 816214627 364284003 473694275 196957871 51408055 765492779 18519891 658204105 22954591 5955251 870792575 597756719 81987287 998950923 637314231 831299199 636483519 510646947 560088463 210867269 931298789 549045341 319060041 773071599 147455547 407585147 781913549 172923353 413568731 481530795 309589673 686524993 705773067 302797059 50969619 527492181 377781557 717614337 152906989 858581025 276027371 209416585 677465275 514338467 241394411 863800295 24649391 435188921 954908437 543252435 350166177 825497135 993825399 384458345 695657485 660365491 750003523 380384047 302958363 806581983 233275093 307446031 896679323 673227575 740723887 336090979 463729669 35960097 689510781 613953253 733679737 687368177 499901457 392871611 105043387 700410845 722983017 670368115 28799035 410767625 24632485 417683459 701271315 235163261 359583253 827105477 361186561 368797485 343769639 142377601 44892011 306155245 740038519 430194531 310263137 313870209 840458445 647833089 694510235 823566741 865064463 940836951 656138359 155334069 340701009 3484877 407864571 29206367 859060689 30030637 400362459 162012657 826824433 170803119 469884265 172072373 152876347 380859887 401789865 952328925 214926691 838367729 477796669 747152001 119079237 306555685 476909177 566145955 363350757 984135517 377092689 649099309 308971883 669542361 750028135 617757681 14945325 538381373 82817279 54061989 495175589 748645271 664952843 110359533 789485175 518133083 197694499 457499729 390627949 963566183 734534785 768065091 356614013 311205377 343548691 879560219 562364095 358985429 341546851 566102045 278358903 43123193 386447787 414220143 751702547 96398313 589821385 654790947 908538147 514358155 5402183 643589427 917010531 885820207 617289551 630663553 732133815 395908997 719351741 857364693 706326057 528378031 158435855 76713441 61282543 967567151 425497451 584654397 651910753 666728691 694803105 986485611 743328517 147150417 163569959 317022165 387845251 581346567 565321759 868355531 120292019 73070393 499516239 448139399 452101259 105870453 657396773 134779179 416729393 525111469 503869627 560879551 991390449 263330627 459704013 771696691 945080893 669958139 942455493 94694245 541247151 199552001 871333039 461717521 468513805 71673065 214155591 188466145 747403073 717656501 892016359 280137323 724042077 330682309 356909723 306901027 939350685 226718697 468464911 636620139 554734439 694086485 993904027 867419023 65778499 796587687 782456127 103127999 713157091 673903845 384654753 710054419 119682599 828543101 271644689 215598221 185539855 808730689 865478279 306398741 300390087 169014895 402394785 329440639 589681057 989965743 253770921 302175363 590182171 772696075 483829385 234641091 704837335 572973563 534078685 3819205 717367197 214019419 284734947 974883071 974936679 900779631 39404161 800777415 473052489 392912103 748892999 977687391 248919691 415132373 273661291 471667439 170232727 81487289 743082959 472140171 555782145 135280503 800309241 656993323 156442243 340561245 502454551 618770865 592439809 35490079 104378627 473484259 869102725 482595291 677037369 896646261 15449667 254941975 769806305 382110721 257097367 357077951 708588749 452228871 775404291 815990057 560492145 350583025 109268019 789827601 910977775 258101005 861656827 330053535 970277643 851766681 563482965 435837021 715721015 832179381 917001061 926044993 135771273 340103015 463501429 641805995 608974273 754312867 783565305 824255325 906178629 985279555 690902671 299585415 438152999 950107143 657690357 742395323 491970075 662851735 790029081 968229881 397041281 449537159 178385167 234902691 17113697 238370127 476966929 956321163 684773227 517888591 410315651 36847843 923025395 280282065 428841969 145715785 160484349 791273991 694332427 219198915 377595949 774756875 457834929 79673019 366294227 671877853 591065825 187264779 533780197 503836773 220934859 887408621 982757637 8053367 353297599 753317641 344540793 399038921 136019769 537904489 748133423 520871167 385309917 817782915 502709697 95333283 317519735 162838325 795565675 298365731 613314295 263912133 932923925 908667353 249752189 55942623 771614801 738626569 407692105 649415579 90536787 802737881 819429829 527073905 834838269 805063517 87292039 628695371 213601235 969558923 991450443 330655347 424177671 584778055 343315953 254989473 233830511 614163801 809721223 289090545 133662091 463486579 201549119 253960935 260311169 885902895 98206579 444846963 21787169 33920523 155701929 240835559 991523811 254101107 856025227 400970755 232038117 487090105 912524523 703612907 863654639 498607891 426199239 323549485 854013809 453593509 723825473 167657917 637553793 396095863 712754849 988373755 855193053 483662459 491944799 37247655 510721519 576027019 368771349 905122803 713313989 896904549 689553285 63313523 298784535 424059829 867863451 838060325 978660673 216308747 489786987 984167787 217285711 821716195 875038765 289260565 542607597 188423321 680469833 799174233 887464565 271893115 365309255 335653587 630833635 315248057 318592475 822548103 806403295 176525933 430893537 120449507 829363899 551174805 451766363 612182975 284267883 546277149 113922421 390581331 990668945 905861845 292736899 979703881 311951985 797978487 377203199 179418029 628703997 169733797 850974861 51538675 466407115 768182503 944070135 556069881 997805595 434053295 57967409 401126659 974416851 573212501 943907415 12093377 781002883 330569755 614048173 155077703 977595747 975874859 86221467 735291921 242772817 401481877 139371191 447464711 266101205 926261075 771404475 561690739 199937567 923621447 965322123 967169035 352120325 917840697 49973041 978011885 351534853 126390233 677415907 533157535 725491529 736781507 926676729 481234447 14259359 86955639 54849015 13933199 721093501 614474335 236160395 258387677 590761477 585137611 563831941 112258593 561075965 282871029 642576609 191014119 670320339 503991295 373457091 925930017 960626335 124607473 546627959 344157233 837892897 518559675 593847917 641782747 6726593 874105657 142136901 282960713 910650251 515433515 5181373 904578325 420196411 195419451 967206085 198990137 30127403 448203513 258389357 30285339 395320933 364947167 515653875 380396425 6748569 109718605 102679735 63671735 320702749 952383887 932326213 504224835 987241201 829621459 834928467 897921843 861648315 675047733 768035003 507385331 175213003 163222453 954761085 990665817 659175961 107719741 169311945 314517921 727506755 414139035 296391665 740842355 186207889 348703629 489891181 330786521 845281011 745225139 438692325 79394635 480676351 411961491 641870111 723888547 296023283 918513059 417176851 842914603 991131577 972350775 42681563 903757451 117858271 494544277 175196601 579989723 8785819 983772133 951282201 722563737 531475151 261914933 81954957 668427945 567517185 64488323 896047315 880932185 438360415 378486445 109519565 547108701 330069441 669867391 978388357 968702675 890935207 719701671 467106863 208221249 454676025 207483329 43257125 142546321 619286083 528605261 30170351 720148765 162189119 349460147 716924211 296905375 42264653 888884039 4954053 664311871 7867185 875087167 450111907 287364487 880432989 513004479 348037103 889929837 317930215 972342481 251246835 423898193 891484559 837617251 767144739 853501685 253303227 904635217 813044763 417950087 953184123 146727513 675484573 685755805 374271879 744570665 877211799 579910709 632041021 143829325 360586265 419801779 248387237 518227779 178961503 506063843 426071405 932736873 677876683 371364605 704745455 947133705 153193453 987416221 822876455 72682837 709837939 206376391 276092095 723484775 8956475 722030315 373091845 17766461 90844745 330967259 748200687 753719747 374779589 697955287 765905183 150530507 521994245 756529285 43776731 416924683 954913155 722047215 85608465 206904871 871400675 551774603 909869401 557598375 66087665 930409527 538381043 498115581 103208093 954359097 46994887 783451523 289088005 204974141 793893473 755499127 210171757 579705177 481929211 183121669 356922431 183449097 291530611 469537087 342197773 352140341 767796819 201408539 501833619 738600743 111966151 493049469 839273909 669525655 42721701 982380589 186760831 318860705 961831793 322832605 703731235 251408841 599957327 456141093 671922171 640261117 647154959 727437193 421577613 48434069 296348457 205106543 722065281 833014603 251570619 503075369 167935663 367456837 184455565 620569073 208090893 508992271 87695119 813768425 877648579 75476641 22145365 350482457 853834007 804863831 644229411 939900531 922274689 729549815 444767707 761013199 460478619 976844973 686133905 47409135 529858855 933510671 112946939 523726205 968731921 604828697 630675573 156377867 948136555 732862769 133952779 942141967 615031411 385885989 30977129 847721963 936788105 925665323 905759975 830935787 274676027 779769821 300144773 160342847 797268795 727398979 16161259 358783999 904015973 50467019 838103909 806489133 995262651 5749575 238826989 446969267 35475817 779299575 839175203 691819617 388466113 247908733 804308811 893390577 977759809 341518315 263631447 177131013 999919499 424764851 930641115 269344549 670226793 802717107 897017883 769296321 620190671 571146031 613443067 441512501 382503897 68673239 320013835 667564225 525078729 408282045 218208899 746855567 778947339 688589921 190735681 821401263 132100403 694741417 446548173 175771931 135330043 58331615 35636565 619628469 59283527 590184889 383519155 75711811 912464417 295509845 843872867 740504699 468544447 772067641 244594831 383452915 355761017 191347537 692656901 93250605 94259667 159715827 903855419 318573201 672232057 643197661 996177491 411142259 464156479 659310129 745744401 521335563 90838815 810499969 483514857 823445371 607691581 944757437 227493357 380388809 491484645 370050887 797081055 145300971 833470343 39034593 954874917 835998391 559977409 695154363 972430033 311362287 27531351 83661415 790943895 429550139 705921073 84482277 969717207 810672687 508416101 365511065 898954649 297767747 100649775 800709457 86148237 303675863 373216495 849684289 216251913 344017719 399114545 585597447 929529099 432491153 920403371 335320745 958360893 449948673 566988085 805356435 790056941 923654021 487318229 110934425 698626323 382491147 553754293 909260541 942846029 832124513 635282727 323437151 972439523 526513727 216210343 924192207 542709699 272797515 61146587 430431683 250538631 922728969 99004553 413443093 798759531 939321581 75724969 330414349 500131929 221738321 149501525 608972889 279063775 789949557 816176077 147591691 981271859 571642497 134153345 633495971 383276087 666645385 79733763 995703555 2460527 157322371 121104139 555623293 157063693 758276691 787064961 865375939 779808743 526659267 278574699 743776243 954788989 534113665 550826753 436626065 265321975 93074727 621340061 617236877 415609377 358486585 27729857 429585979 392908661 65375773 507392025 227263319 534834705 202827303 365227897 107047431 561607871 886298253 916001753 563551961 906729961 924494707 171629409 254458561 299400875 387133923 950774105 385626141 446385091 123331275 507533621 263912883 732707991 692741 992673169 349141425 57591351 289722709 787242799 900283561 47181915 974876513 715527163 846397081 8713313 585607355 454352393 257313769 298902095 68582623 643289235 25883235 677540825 809526571 693198587 48537151 935074641 944937449 894490577 546607897 781710521 34780491 649612739 413352181 982665401 371438697 879991471 232547137 143771039 843919943 940830871 595245013 421613665 373603531 170087591 790085611 284338081 103542727 142604339 362722601 528097443 819941365 641752501 53276829 422983257 686231031 608767953 675793851 347235417 675763029 316118611 96647009 584343011 6157697 61265195 731895509 1667295 866513619 391092599 79274177 52566745 139187087 789492859 827823167 49088011 549373147 103027871 861618123 118624339 87248841 487435897 869952583 54331961 636872275 263125443 718874627 916488173 340762203 521729121 341987765 465215045 790019753 182402399 539130231 311672769 349216239 47742957 228472273 999721351 224245189 484284523 385112241 841229927 937079213 35302743 184966761 569425367 502589969 182488161 194311353 137225465 637006145 94468953 776179653 766330771 758515319 614864187 137771289 24364307 772309717 489587501 617699501 43808659 977828963 768412021 860664797 982337743 134134035 123583627 726758511 334929713 493962173 216122375 245104013 76193989 128710947 366089135 425382609 22852679 15449327 675424877 34372405 674053649 251838129 824938323 52268575 390753583 88371427 947970207 577848925 814813261 31418853 243146417 526906661 326140099 829546243 642698519 95176465 505643921 858374509 763736451 313641 681182813 850414907 88561359 784335321 839928951 34975343 634836481 421112311 402021335 544283121 461385539 75419585 872010267 776151189 470883561 443778521 574916493 272676883 720339051 570261073 82147863 281594381 504220017 214681499 109680213 689211659 116741315 982636435 747650693 637966717 609942869 307857539 511640459 926178495 445549379 703204371 282892283 378037777 529604815 127997021 752670475 346889115 747684709 912620251 174818713 168630641 124829335 206578547 31003949 846293131 562467619 418282355 108119285 865691595 612757483 208723087 590219465 497187575 765810937 784443877 770212907 316557765 704230529 328337147 348653373 47301833 833117663 276170941 530080211 533353097 634551957 898155649 729544801 515582061 872296273 286833411 475956489 60790725 345495777 272729449 948402831 68834505 941900613 960104515 40292197 226814879 538157215 573322881 57872033 921119563 710597691 169336453 208602883 179462849 895363977 762480913 165903857 563585499 204053799 969328211 222702717 632826969 762090455 88585955 873914459 483575011 417044359 167846073 897923819 683764237 353634887 338925119 550105141 740945743 338933075 886653761 909794279 677347849 512416271 549948915 899829339 289839749 971142917 40823283 439137167 659564791 189830379 592690501 197248553 907374195 538314649 7998297 514225785 164520959 840953109 753582083 540394357 107119489 553115783 959351935 516047295 567557837 620744005 625321587 221506205 300752025 821565897 3055853 896986877 719641483 114634425 936269667 307527287 726453031 223923163 324566703 447317069 482517729 409574695 521563673 20059233 31401233 667760053 304953421 623209543 275884027 130858187 324750945 536327731 285478597 953293523 911800019 245315079 318985859 76065375 48331397 9567815 167693611 11213099 877840329 806594341 212171937 333542685 373912401 719591287 97303471 945786171 921457465 776422333 863165187 204335293 602687499 204397341 27389495 506701309 68062639 518701159 44732621 398010749 343480959 815396627 910512433 937399015 117378101 243606079 427604911 291259411 811633911 951686579 763660675 525989879 285512787 437928671 231961551 880078267 885380669 218354137 318904475 944738727 488971283 163330143 689907673 98356271 229044635 246611675 576833635 626237679 117490177 202825563 162421495 740790697 648665307 198345879 774974273 54026057 483557157 530052331 978257619 930538209 641347143 531442531 383497763 778601135 374278411 7566507 612525461 271888659 815012009 951712797 797423729 891972509 373155771 319290037 50733031 662391291 923474761 506835995 496411157 726164235 734701505 187957665 303352567 606473167 601463797 548074299 516070777 957510259 158341157 537123979 104181355 784708427 434277621 161461205 195937671 57765841 797077619 640428811 213345391 704827815 164938003 531771587 751563691 952067995 498440883 755887933 69896109 769523873 749196695 743684447 749460429 907696849 508106095 475926969 529747789 766659695 703292495 478308227 571072599 867033319 320929715 809444763 728790779 611169229 223732097 98316681 475969587 748221403 992901383 961163901 548194529 508361717 446551035 855601227 336609997 694959655 301751159 513368695 661132711 539100321 46042883 961370917 943190027 944422593 963030411 507632677 649994875 851630603 518086757 729650157 731897435 436679975 449961551 895414431 440902401 736801515 678024301 963670273 114367141 929780051 606149963 196249985 876867433 766667391 124030945 4325687 494869077 456779707 601227915 118267619 86828633 752218237 14825485 975417837 918040913 548999517 837627031 482672993 754200317 757817121 542462651 548639995 720781319 92799921 944583801 66225173 635419391 660857125 266356791 860131001 872032095 558169267 215402941 785579159 172155015 384174017 58758983 544474629 768179907 392528603 100075117 502765315 758548033 174711475 773258039 58818103 565470237 710384419 522702609 866994161 303174999 842616369 516957137 222584617 142876633 453948167 399607987 749216893 169523059 784377591 907958111 572707125 885622493 496129151 57051359 404106817 490859709 275508287 111625385 913338165 842840215 345512965 395986845 69885781 398187489 303138243 597420797 367038597 788215023 442013331 7127417 664318037 431665671 210121147 376642595 479707387 705197649 639008165 8433531 484002393 662138589 785012453 365148261 994428659 924908963 151632691 312988975 193496317 371036809 152637559 86999693 765508425 898713171 410384825 505194141 634826841 808378293 827584045 799938531 236494163 127043657 628510767 527658575 623066889 149157775 387415617 173389877 892310255 176131055 25782287 250394449 17172519 709935037 367526253 176011721 187980917 39995439 129043797 881558829 103455563 933649515 274623721 125930349 96137407 404550773 693238391 321121769 399779983 782356033 528280179 411637351 367304487 971416745 854323317 424858645 716898961 802775147 888703041 194301573 150393735 187403573 381371075 78549687 108678247 848140947 525025039 156804109 791126073 344457987 828173663 977668441 734404523 420515555 223603223 509409741 5343767 437861757 794196161 708168709 813920377 886413315 297327891 449586955 502594683 406158991 160937957 43316041 302544235 257881887 314604603 914101139 591348543 361411233 609600577 301518377 366213529 165446625 633251403 141818287 157902525 394092699 406975445 463544883 607396511 934098545 315003519 182353961 925137361 749595117 7697173 201724273 459623061 527662973 936788109 396912717 451583953 672517243 683596031 415494251 982053911 311893033 253162671 286522849 84598427 622668467 740696331 769144875 192302653 285908005 119751075 549055793 854424711 861600635 838867763 178602557 967621795 176412055 984545953 965695239 21962349 224713281 913537011 30533289 872401763 537307947 887831905 32421035 508563883 114248431 351272003 274656763 576867093 324105739 9125407 463492075 51810329 797580267 118014879 4731195 606632661 243283935 228555669 48677647 641301521 954499617 803126783 779679733 835295805 908638419 178261245 731786465 642654829 566936317 860691933 667856433 277381989 9446289 662179345 852284587 755272327 968289895 470935091 17114235 771914471 97702211 677906697 57276469 551607353 674606793 281038461 641986523 725835743 801590161 709550241 268493773 837768671 709869839 317081267 810584027 746785255 790336167 676227603 835526715 138214479 908170911 624636239 873149063 586983703 882215725 150021401 965945031 491034855 662785895 677925197 994434663 341856779 852481615 992362477 912118591 869512573 643199439 79803941 304293511 514406363 761477559 503590217 142726633 223653999 270673089 34444755 955406961 646715427 979764111 398233189 738995089 100654227 583632809 202703053 753590315 909323517 788649087 569090815 598251395 556226887 726136943 231891473 818591299 782250753 316858293 937596237 562206597 60929123 834418555 177070873 504175555 423264587 310024917 461107723 407505379 234803777 91894715 744955869 943263283 760763763 550085647 854043761 854766953 234973627 822616217 482564823 715383711 137957269 606805513 15717949 108879709 128178731 763564539 26182401 491141263 865399883 698468335 466955173 835488139 345264491 361854543 184725975 682231309 433246893 117121899 945888103 40007741 126257621 108408955 436489041 854945189 254558293 803144357 957659321 989440573 206144069 612219887 334954985 94132577 75204961 830032457 912570711 541785813 738238993 190191247 672901787 599919559 864467557 846695809 658568569 903700943 24599317 348653767 904741599 896606695 562889345 254995445 156548573 552996725 114335149 988435331 962513583 427451205 288465739 304841681 181108153 36322961 292936369 428167723 805805703 279984625 485298397 939353023 189696201 623536747 278562169 914144425 473134943 998101103 277146579 783975145 580199751 902137041 700067811 111200103 376089265 789626829 710960967 724859127 520319469 685246987 362067015 751520593 286198905 799057301 766868177 537562645 237036021 39017185 393686911 59370957 454228783 404359631 67963021 301285099 103162135 735766689 715785957 191378633 71738317 819787525 139263253 889405607 503911313 981798675 220652627 156014765 85572047 461037123 963289473 706939119 831641113 435759231 31790627 734559331 154786093 374541587 191993707 126585839 152047083 656037297 188719407 307735383 898366561 205659003 140664047 920168015 104561857 601084405 708841683 828185969 798467175 350101515 862038695 477368123 344901333 10502929 487374565 232657689 874032821 302080455 387980203 475213405 786650335 401360723 438399939 597865791 825173835 480764479 452357015 771794399 840839195 931821953 628479043 673792839 652929181 727156599 1165445 348032105 509912643 807187175 933654467 65257245 711742377 181478909 390811917 583124775 104239505 391828815 445501977 368903981 638592489 9443547 132246601 420254145 313696959 145669891 934122403 40797279 270985043 473252761 868509655 844987493 527232775 781550285 305062201 145112093 474088037 571685441 990602699 877116857 791276577 591297015 71855157 142056017 499586583 182291807 514744005 580599529 295652939 878926411 186101361 976984935 328349157 210226171 94999515 81458589 548021819 344777235 940026439 768662087 753271751 348365217 830850215 692492801 339394349 406317081 809570449 603532377 896288823 980355161 207980357 566344895 243533529 444727719 363551403 59137421 75049009 793845935 977339471 698617601 552181117 681787015 677924459 647405127 975341355 822688171 44765917 341960815 919139279 693692163 251139629 58599795 80921381 100273881 64407691 179138357 622411533 212114915 934934221 533121149 758252179 887168577 349961073 206656509 995829485 748465269 35343777 444133709 234007667 158671981 92549163 77990383 760388011 831822977 152494727 104553037 601643581 855062633 962665939 689820855 377687039 735700047 790445527 995849321 390469613 617552831 347992065 113494655 472026407 287386797 662365291 705805575 991071227 487370359 847478993 257105393 719288025 287356641 285137819 481891861 244568929 257854747 267482331 857488437 116246355 540422329 492206405 680830971 740848025 95915191 241671995 400886007 33579339 647066747 980279233 949250979 36492447 995857619 988085641 872299617 596206589 583217907 565137899 482277495 501825259 810582907 84580835 319674651 238669089 993256813 29847321 91995747 792305529 889581367 247608029 653042257 662502645 330319791 286685991 882401231 153240513 849692433 777414037 894608813 601002543 105559557 567739503 299807653 511237053 284770967 978185125 763323223 230592523 949809465 713700813 254490959 272326631 421709773 335856421 626143227 339496515 702351509 809753239 939356855 378623803 25503553 130873009 280964291 702174481 515893731 970923 133563465 368370481 519514619 206602595 103690073 537012015 77277037 828265569 963501291 185270725 862859655 553146067 831786981 850325461 237104637 289453713 648038411 433766765 244468719 604453149 320982291 589712065 697346781 805567129 891021715 600751913 929991097 360731353 368817163 356116521 887082455 772436049 72253417 130866797 594008565 531416355 389705339 627232969 144324405 397074451 439541243 27041591 122142759 37875603 212065417 422370267 590697409 732105913 216820015 4486655 738637917 639959621 721038049 687648535 333124291 643373981 645935987 924021183 716564257 51798995 417285803 877101755 134566921 967949465 734611761 691723251 886312315 156080469 914873235 25041277 730947547 15357961 747146063 843083923 615077621 721364069 766286787 412578969 821818625 50953923 650557755 865206811 667236763 276863777 876826085 452389833 282457289 383344165 382784219 555688833 207712247 773775389 73282849 717756231 237213433 941635077 429254301 915464259 394378513 209642617 855042851 245204429 580951519 141799617 898920299 899050075 77678195 957549515 542713877 923534483 734258241 583263023 643308715 465784385 901983273 611217455 631256735 371814229 868204909 80655021 429805131 417289455 588967099 403767869 989976045 592468557 397625129 281379091 744096945 739249119 878629171 424657679 133325737 634215989 594857409 337795259 660779723 438313741 25730335 796215363 395031035 602198087 385897471 335670911 900909059 951960817 759321219 590378991 843166609 84360253 920050991 58625977 822253119 536089733 341024749 23805101 669627281 248851023 825825047 47185987 759276013 932349765 411609703 709473689 3984805 93689145 508278275 139292279 294688245 93006633 601053561 685839949 424774651 140504117 352366269 472321841 595521985 320460971 270169901 348458721 544572729 366374141 537852047 767001031 822470459 499807943 624458767 821363185 745735817 867411915 209277251 528053781 853903053 535054069 717647655 956388501 502530457 512414551 596521249 111510647 177877859 553252143 344572929 895386217 615683215 530695391 249785079 995807685 819298405 326707697 342107301 166963079 843629591 192647193 977614861 614892375 396895677 186718771 499277215 315604103 274219353 61974849 534846509 417065227 828606933 656420207 670054391 395789957 382435329 306872081 434303905 632178489 456094617 108982177 233613111 913765145 587664441 236305603 950220593 366082235 473978479 901130561 948666731 319721567 264765099 675561487 873998891 121636587 46785093 830508361 639248669 491997935 184263295 461345587 136703573 134096803 83190147 404585781 231881557 810478053 995496801 815012069 630482429 44781885 932178707 178465533 596562845 594114779 901533051 947051105 502442473 142238355 445267041 873998619 524728833 874749929 418428791 95501153 137456999 226081025 384637269 960374411 415891721 565156267 212776061 669680157 102194237 6047837 69670489 184078533 623510465 183266105 227313721 506267475 607968951 932318981 901304919 599727555 616586673 214613551 903356115 190892089 667953569 788203983 845260985 274237441 254346979 757322917 472007927 417882251 96284737 971022361 114657641 7614069 969526757 13151031 453767119 727296643 906666595 151132601 148475603 836120735 943721403 650980607 166766341 704947419 507165777 831245581 746989023 727037555 539750387 739363733 109643969 168490189 527573 598055149 733344759 702323311 874079381 112533269 961168305 446193681 414849337 90003635 680598277 533159819 512298541 712136727 221387001 261188323 899793223 909506617 721797493 376131395 785625029 800123831 53543497 582990845 788138825 953571289 27612719 407779215 107317477 900293007 749196743 935003289 214420489 130810477 291453085 631225577 14154135 319275447 838654495 737929329 222701265 542896977 575834793 454228045 641474661 540402889 490851449 745765311 713214827 936666715 50623165 924035379 68614237 613073891 107290755 819207995 721861153 383173095 51341763 444701589 143813891 640919707 450794083 435500577 233782203 542797009 823364391 587381229 861096037 991828235 287755971 726615595 695927687 131939439 988193489 214615351 261641485 353328079 801532625 333680531 232243021 306239647 777066283 1574123 535916547 461248511 273292851 363963155 892970325 965710265 666177313 12980997 249646801 383261497 653374229 484912613 378873453 7381655 619314201 372071421 495879043 834170257 649365023 69784513 35633627 537759377 984386049 999296717 218577057 755251111 538215039 956903139 287039853 239743877 822738241 322796785 704037687 133532815 713859033 968523269 421651817 585391051 960516291 594914911 838398669 115762153 605260381 244525153 947285147 233231423 326190065 594334615 910266223 561109451 494877873 579081649 926665807 896248375 953879223 824268685 919835557 266344657 711557121 846007853 73549899 42446735 419673981 940740543 750178427 319961619 653421559 720782483 394981083 546293409 134543149 514475557 30403449 699364141 753251517 342634521 48216777 6674505 234260785 719386425 33425577 552528439 266704123 699906683 390451551 583303133 499868531 601404407 40035479 244229581 482481117 653223923 603320423 931654971 619725919 998757847 394513485 637134599 488207115 913260859 192473643 67277499 152588507 542391509 710241619 482105217 822301873 560149387 595886453 398423861 234293333 262882665 547312563 356648789 417445241 420433055 249747855 641954311 476982455 290674317 751579641 831815451 271359629 590897843 66306627 53025033 124532327 267948475 956314413 533127151 123628437 97348221 883050459 454198421 431639123 912181999 528770267 350006633 414607037 981372215 63356193 925998981 664090593 929717409 35915531 11300773 461707439 191440031 104109917 536982323 432139519 902623693 529359431 55771453 132662421 704285419 439472733 220249977 65158679 645427689 44308891 625329481 943250455 294203609 211050601 615906995 386129935 674841331 391771793 280179557 538512737 709727135 344274505 421799351 798303317 298804581 927167793 958491049 386414875 225196793 243869515 722751459 348791503 449635895 720124933 846669489 783689843 339626785 180096821 337535245 483490795 524826851 154536473 132914581 644850959 158340303 56461397 863786387 446066323 102963043 63081717 498392561 689081625 108032321 269592945 243727947 812459565 659377203 345719461 456050655 211216703 375243309 613553109 718400147 621362855 610647115 990463409 319449591 308831911 538680783 973302605 73008195 289620071 153856293 501413157 54121813 171997437 397633249 59067423 869718965 990793309 887530685 599897737 786918801 195007593 424736925 775707415 684997571 925088749 187174795 152490983 771487943 778739607 277380795 719835007 723876807 8601859 771900553 114315211 278943633 909016497 744796025 387974945 800600475 165352459 863213363 954237247 800569607 417552993 846525837 527022665 66720665 226412525 820439937 129751499 229912771 421812175 875412531 713748413 352573085 229196307 313437677 607299961 364678371 815438503 645543205 172839625 834948093 296483431 772114291 59088597 622970363 797888019 217646237 201288501 961033621 89552723 497335179 428062439 353450795 176341435 967377747 842853711 782877121 591994307 574311471 393384251 189870601 576138699 556425861 347334623 990055769 326680863 676923355 230670809 489657519 322946797 355548137 872492591 911406517 983087441 290923399 716823373 877985209 17533003 391613371 656608265 306200243 973180611 289593517 421301407 858681409 468713869 363863221 93633973 125233323 276018273 990897993 661536603 785421279 760092895 307397135 422185473 83309175 78468497 93998547 814149513 560192687 756418795 480646023 212060213 651373425 491384897 486481221 627554739 511797067 295494873 878332243 186920473 179696499 504322265 885107483 27546853 472446667 393797717 629119535 192563707 64640727 61889605 452957005 240434855 777408713 436886921 655886165 891945633 124422263 508290027 472378965 773519109 208955745 59154205 884752511 44580185 558035375 3859385 772878639 482406023 29913901 213325373 973929447 452812777 551208021 412324887 605802835 649144377 975663429 732348563 563558981 32801437 736624837 924832751 544446651 325316003 75921733 892232777 759416535 358699071 476770267 555827883 298853347 548091601 623855943 907217927 278198611 824910875 145614575 774709301 247750083 655920203 105377763 480577273 245477365 318076919 874926553 444495609 203864533 413053723 881623091 367958217 291490167 528590879 666937591 926496735 897853973 28683981 85530581 362223519 219381521 732516189 10766625 986518609 556035833 854507371 259524829 515993639 440061569 237511931 235717553 916267577 791154561 347288957 249094635 764705675 164762621 23256259 777135233 789017091 524811041 214033933 158020629 354198899 716038721 876658943 374036459 454235799 609131479 890933927 394311413 634544653 983904391 64844921 828218569 447198559 87460379 475891539 299291303 187302397 516161673 487349371 331124343 118256709 899347177 977116829 997796293 45513843 406417023 665942735 123733195 141137331 811717561 956660621 336722791 813061397 980443943 130037693 164370465 583906965 912068741 201182127 978377513 284809231 780917687 132742675 134300501 165911121 373627849 126676235 19865891 670626827 879529451 848110361 836821949 556838101 178662523 804993067 92964337 373639217 811298301 731050135 405322039 548201097 80854555 823569435 353288877 712888879 910041767 968943835 842425883 237810265 73822365 897754725 409423087 118988329 641971489 943542443 878443843 696903083 181523583 579519759 503712979 933513423 937883945 894981461 910136327 183600749 246450873 466961065 902000881 84293959 843401973 882647711 748378181 773200647 82122951 445170743 120143973 46100285 162912065 723829975 568389717 301339747 91263137 526266697 180996807 541413595 235009351 785502403 512718611 299857387 696502977 961282531 550255155 553810121 686813889 658748335 480808405 962448267 673303585 485523605 4205379 669342771 556254695 874172775 757719159 791231915 566238781 146804835 543843599 227184835 195518839 696147505 248508243 557639989 772400397 433571547 237507379 933942945 27200167 352532697 320299333 405604243 31991053 71865863 962229703 537383033 824542003 501848233 35735971 240815279 227777331 283455087 103351143 389058421 226682709 909997931 309530187 824320245 505490687 720441629 837037357 461457727 189186501 41579881 200830869 704841037 425816677 474555805 596083377 294210559 449895361 28053869 339540057 556049697 953427939 96278519 204721165 141507681 795624703 762988225 944561141 76045403 517007985 464848567 823657439 372270479 683068859 225144111 322415169 895116133 461227913 720037605 59390781 652536113 197734575 402342145 796853143 652578603 613367079 654430733 178077633 838963571 338971413 758439167 518596305 798471443 357842371 156684343 321503623 492515583 387197095 879344247 546023753 36873995 500794969 321221103 531987751 179919101 738163613 656843057 399792857 863846269 422903905 115743805 556078527 671678745 385490611 468952437 226676701 656720719 546152917 687558315 162454243 306674557 1258277 343785489 19439403 576358383 765475631 893688645 904722611 249517267 401771177 144771149 135786015 878381379 212668267 460248723 453509059 156488259 967458681 706618353 434016405 210080187 528390145 886623649 800317747 92305273 891389011 371172169 861367013 157620795 848384235 650018809 444616857 914591391 994419309 866376993 564398055 633187887 211545765 756288929 41363471 732417629 412261765 751548607 887979769 354638723 304098855 262782759 465538611 41761247 393282513 348069361 886018547 491797151 150053611 755314069 512174105 863376079 128474125 182537981 417015599 534017645 934039789 5741683 71136097 511606615 324159857 877789359 309019015 104222807 527876261 536734157 612545569 374756383 225676731 107512401 717388885 813208135 95177999 550748715 421423859 762445395 241198369 101002669 239688051 756251305 46224289 483382423 590586099 372636571 780553825 819896077 457803067 331152997 140743769 442842269 788956091 61977125 783028401 498628411 798744201 408238309 412404145 759004231 89360227 660691095 801174477 977216385 249198259 438054931 549981343 945633819 334253703 304249883 65178605 380948905 252276117 138856537 799211169 272124713 381914175 287815775 578045391 458443261 271738251 155376803 905468337 236628213 878136871 100692361 427797673 615910215 1439595 512275545 653569093 601759119 743561305 871298629 458219063 290469585 419966611 815696229 895207259 875036027 12275053 892487611 824577205 519954533 779674331 954364465 682346605 640944583 462221949 932294553 134960855 170938955 159475357 863100841 459993457 527014909 403700007 837254659 469036509 801692497 934460083 111691571 588798693 557953061 942959489 257779625 787725183 893633725 450388087 584278717 728095683 320128713 391459877 697221553 867711477 546365021 594780099 155044015 992210305 765774069 55568431 736439753 258335227 551854201 3654385 691625461 555605533 112685619 746759481 990986773 186907851 392963033 118406875 232675829 427426319 760936585 391351643 869100357 170862623 97838025 264270557 172683933 392819795 156959879 791869743 539649151 380623409 38685205 432694989 792760917 54604385 659064113 256480723 1362287 791237049 557541123 357648135 152506887 806618675 305503767 955783389 173210173 73799667 826361695 861291623 397237021 141217349 889329981 993648743 197640087 997487259 528805493 200974917 738816387 108605839 278718257 928761101 191083171 238993895 893312011 161916025 516321183 15044491 589545725 118633961 801255179 344312465 441918573 721441633 81043551 869440565 249217577 390429331 914472189 456661975 850623589 714419157 352249131 397422597 284904639 637538087 962531103 928873839 517174077 855621935 578209263 828492789 548055371 840224829 256192667 587684247 88016575 817483593 464704273 327102847 627984085 87319281 407614239 647389957 413759797 785260157 747789183 82567327 959766761 659728093 316084433 180483317 521763689 966546853 664704673 377001935 29525903 618419737 99094109 993517345 456917157 420630043 14110817 945336325 161598291 987782463 233987821 562757569 129989809 161149883 743318313 830335167 990737213 357483885 50870825 362364819 53858779 952482523 109883877 17438197 314374873 407511607 996009533 833500109 985253611 949136985 352231931 798943267 599629359 648252349 248717267 368385067 566566187 915786635 513516377 599797825 631510473 744721557 620981267 761679079 899777635 256259663 56910951 900860873 994337459 796717529 666074281 524294843 431472353 372386557 592067601 746641589 325064823 210545447 702122943 666894559 988838251 160501869 107446717 450163073 204373277 224137363 880846333 657599759 867691855 471659005 888791385 628594981 28262191 704912573 780253329 714052999 9835603 948352901 128585037 839052061 487653817 411746489 171269409 504027901 2967237 535364959 598333571 996754785 595056195 53307431 99318743 600970925 856632171 250481765 847129189 187849835 202118873 625114397 973896033 514023503 524010897 36895731 603848415 441337141 803410435 312736821 687887589 810977313 977189121 238200799 279369817 608810299 989355211 804115085 626256909 350768857 698136071 45348485 222413757 506040949 631444671 546694585 909441287 397025203 363799913 437163713 239074421 638957919 906775011 70750169 792564857 744984169 822879859 313949673 85111403 828070641 112822469 372860803 338631055 109643573 911600367 193562075 47306763 295783589 177312365 435722193 30377457 990928593 756466983 304512749 590726205 405359733 714677351 952685151 608900045 890705013 306612197 318602749 470302315 923265757 512872637 499788103 913421769 65526751 603892851 154842723 347379839 728547541 908815861 205946657 84389647 218389829 820783259 882914809 420220131 577283033 687410975 13087497 970903373 744534883 576350885 394155289 159782531 569839071 719826367 853162135 211875497 885481331 269559647 660442269 503660743 654481255 904922083 554893287 939843533 745872685 477484049 347145695 846525849 97010533 293508117 623606163 549369831 763537615 105763461 223947961 672948579 690868567 803911005 654359219 930304157 613572367 429608707 171593095 242017039 65175861 324714309 84197091 554855963 936779049 105030745 597499679 125320713 491230585 40754649 715015227 128699145 960630999 16416717 850962141 274064441 212307231 60186019 541491031 879083157 774001235 357499181 141464221 887551497 180888991 665312683 12370767 793932901 17426519 320974527 181165751 973581923 382703347 852276091 24934335 640539299 721791515 851055953 423512067 272794801 807664023 850370847 419950785 255030269 369980251 594446377 983810527 557819103 914463875 819471647 173279981 923960729 578391121 643133203 634904611 135215957 152378163 837224069 573315935 561332003 769686967 93374555 99708201 547602685 104724893 268689119 202262447 882318531 937202887 650289863 260026827 291540289 546943551 750949425 20712441 167320357 347137339 36076963 506977635 190961675 451394579 57436425 586529495 450081139 179347275 759993529 462921163 744291271 194451599 198539889 529408353 48851799 576482739 847218771 418595677 953015133 648175537 697010161 900272945 119458553 690090925 527050043 886198515 533225015 649602035 165756307 233703523 603973381 229039859 945742523 251479529 690057791 947796557 11369955 474545041 772014245 410077631 303699613 265128469 830771169 672479289 111156201 235450325 253268353 53336779 364479787 877166037 939347971 762137009 163133745 872498375 960110535 530329423 986612015 109431295 753035795 218567473 395879363 494239361 78195227 206052103 977624051 916091889 783401465 863769521 302765611 631778719 642974637 89658413 362354495 54756739 738397727 65447595 809956209 143869755 955873315 99984251 859371361 217954575 743509361 430280219 19938079 553356013 65848745 595344427 983280417 994078063 36669269 46050935 593504577 538139345 953907433 860083189 176881607 469139965 941363129 588465855 237330529 198143359 539977483 109044503 563562785 379567251 618232581 116539495 340203399 720443411 732378555 150435911 961348469 409233803 545088037 868823917 654079549 971343399 687491875 143847617 950837649 382713279 997570175 910238283 561348239 475075539 901249515 6091327 357037755 958579339 842234881 612161527 561488133 832798643 569942335 187467513 369720513 406565317 940176147 979464175 148484779 869852383 860392137 186820013 467911145 236329417 564928671 638085165 889937673 357609715 926777011 816309649 76126463 974201715 65785871 850893607 254377513 553046537 222889893 638142049 599990605 515770907 104423247 191321563 441813657 98283193 858515659 775564375 824308895 431490969 419339461 809228737 459408221 411213853 998823375 880104493 164572987 20703819 697289567 772105429 716610563 81126865 123325145 61126941 692249581 814845193 613789317 145476495 383423123 68694511 176973461 644382943 807241215 212876077 81019427 876509417 389355417 835258129 965656109 695170991 37329211 573667473 130435743 680396895 486606367 381006927 443046731 182710345 649080299 577035663 140225767 528337385 89874861 738741571 856880151 6117857 135174361 757277953 343862371 477178881 974139469 31475721 566416701 570220087 307473229 387206209 303668989 70773153 992923785 774710075 802014181 791166339 790891285 66458923 933708575 636127813 411418991 194055153 705778107 909425277 212870777 251990549 759273909 469069285 381670531 55082439 233970921 692769889 451481667 691291101 698341925 779374845 120360403 546420437 841047577 202512619 87205819 469379033 105072733 116476037 30194153 376099767 747156597 29533263 115913903 60572647 618562247 696813047 129604557 551449991 313971621 341180237 682130279 543537759 604243529 609126735 31430409 127493085 699118037 448179485 806628523 971714585 552514639 493148419 393316265 109176533 16512941 856406391 342021065 977168499 253888709 252584979 212159029 206356231 835306073 441776279 907989127 575866693 890185747 528288755 104380345 203518351 557514627 145500471 472208177 888436457 804709667 638889633 274850237 356065285 521566037 429948561 715466899 680255033 457044321 22766229 966778445 53272197 636600439 297291359 781644787 203843217 878844595 104654027 374684145 978095529 332720149 612846811 322088221 643302343 561384839 701757113 981466549 39740553 555484633 68885693 877016155 522911799 399228101 621877343 515932961 344784065 389231595 798054209 457418873 604148413 959965143 193275441 354114111 880423529 500226295 716985889 64569533 121638063 769776807 837932333 801731995 112384029 893304871 862669719 50663155 918101483 352424353 393011915 941682751 346136311 186838821 699367517 573560165 337305799 706283437 736284935 394408883 13555343 771918873 188329899 968345309 646853665 159758389 165130839 924182529 997007615 257993647 265829695 705120421 570536273 525026595 880556473 668202421 482608869 427680017 487034703 876246149 962404401 200351969 688787111 295791063 401651541 906273767 146839191 43006667 209196315 225806939 735459609 930596339 281205231 526430813 535759951 815529535 675925225 58359033 972245897 599225873 971180233 966223645 220787765 283019819 431101173 301708453 935065841 572264123 339104893 916779343 799304833 30891607 634256153 909097417 179303117 848255741 551775271 473957537 397672939 712463633 417856433 31212879 115452693 409940065 875008865 342012215 279487919 538775329 765887891 101294755 687017027 238210799 212996675 302687169 266258823 114231759 414355995 362008493 32094547 8321329 392562537 393620325 728033709 529742569 285911333 360267479 833461693 881950771 844977645 971459535 44138713 447462069 25575175 460033803 578508669 788194173 393629031 751626537 311753289 286740481 554703519 132677555 417529097 158749979 740123633 414096923 931539379 909755923 574153029 545054907 613302111 690237333 109556265 693639633 501948243 297263799 329677011 30690443 150313465 509869047 527555363 493206005 377811939 374937143 824811939 43439117 800827599 288524745 249199743 599374513 476360861 27254623 465557647 726234795 83602523 517431061 777506897 967920301 712851257 24356213 955460849 372137551 111735191 933922919 5060409 177027861 986356213 803307077 655250595 916662629 765779967 242852041 69934157 671004051 771304327 182902809 648101887 130592981 903853963 863932355 546495785 293130319 666473259 963732411 896394719 58960393 623106741 511163743 253723109 702510581 540044443 758628981 169998239 138639083 46808697 429789225 788234525 873180079 757993489 740114961 87108885 927975911 154891855 99939625 401191913 524278053 829798469 356510937 754514591 727794659 413071409 275835371 849047013 619648131 293841525 195607959 189532947 641048141 558012059 880138359 190652203 518083699 528610391 356447123 801387471 169884941 695045765 374051673 625700435 347635741 592061991 475504283 933513387 64336013 695890793 795273113 724478583 586578735 723689631 176114423 759620097 479562169 280062275 75011779 295416629 147828687 546265847 44369777 330681003 131416057 162426507 37757661 649058465 536330919 407220973 55743825 712315395 882061109 265511995 465353847 924576603 618458341 445811383 322817125 390559715 950095323 163359695 869533335 13636217 135758895 739022611 401668339 753474725 860598485 349896511 341532359 605787541 934484655 764673335 214438857 750734115 628335497 325121285 133403923 788650701 843707667 828663005 337241133 410522807 819918309 608832029 982731779 700309173 334711937 847048259 111596011 172523325 236967505 864627197 256783011 866895469 470225573 142828577 804375375 720218379 676281783 635362981 456594555 179814283 267144615 304338351 679012127 772619007 892895617 180972681 493020055 135125033 906884661 837428393 5359783 692841073 595060123 912030375 144101503 905339107 561173365 157003081 48707505 737277753 562650731 779184761 164620349 973369555 768214289 490427977 889363593 994710453 255869663 251663349 709900893 491299217 339692343 249723105 861141493 34037949 368497759 192520601 131993321 848445753 799292045 371680975 125411137 94296491 174931671 520252509 701855337 269376099 627196479 328853577 859638327 334505561 401884333 167534013 132427239 577773611 743980533 52350475 56430369 3588897 600163535 761171377 272450287 197207593 245567963 5450575 679245511 355542237 989116581 940191411 533499273 679238779 456902299 401234383 337715831 492095719 772906009 730134463 451979841 957678005 531485023 620708293 978343929 132587803 395973525 151682635 222172191 847502581 348293071 251530729 703546775 570388431 536436229 890868311 885256879 401563605 44158999 802924407 108127771 630581217 265071825 155654743 574463481 69253743 721892577 556048425 621839053 712623783 664829921 942023497 284019335 980171099 60317013 213424697 699707771 705231871 21851557 269764773 475560805 925159859 864816927 899196001 637998699 38313537 185783553 514351207 570931739 85039891 810353769 859260889 74745451 655299141 760789857 380378887 112873141 967052181 611365341 488377951 110265537 346312041 818788017 602203519 603715517 792489937 674685603 225204265 349188923 941102469 582954329 59549513 852666937 76602083 949256807 944485875 30148127 374399219 388299331 39656033 712266169 219110501 736196433 24614135 270512187 858915981 714157787 490393407 942977601 267119727 288708111 300311791 146095829 504379311 243456263 795307231 385983585 361309595 615585735 668060691 483483065 527436847 240146229 154794169 743310109 345452807 515744803 277411617 62570289 731588201 891141709 661513415 194079747 924505671 597418321 911869263 104306183 882239801 59917753 563952515 583557405 157362043 284112375 442516569 872550279 276086773 247851875 438713321 728332019 597566777 831206209 82475641 892351351 41670267 838675895 284843377 834271375 577630363 677455063 680320615 535239715 754736417 581788573 888989719 512817021 916751677 64200935 692823393 5291605 569257157 801987199 315919443 101457349 77623609 855797783 946843421 984266581 82326207 127449671 682151711 432283123 903272743 246135185 44637655 229547761 773701353 541087071 742771189 488115983 798350883 21968643 960468041 355886449 471415197 647752371 280110801 76289189 113854917 120392851 9733037 549770655 275398069 606586795 527012907 142102205 515525673 257845485 261807037 255313605 683645579 477271601 944207101 918656483 381450729 523746105 600140465 661822123 838605817 485468335 875498691 92777247 326147101 402145059 621308743 912860575 268304475 368756751 44818293 214742011 861034081 712035541 648865461 489506921 607841927 803659197 377888143 681614467 267483853 215014137 746401975 439344721 785121753 355233185 69677575 496565567 94625789 417630903 32431493 803233573 558710317 876631077 70455387 641336635 538848521 310903227 745559005 687230763 521672665 706717747 653063813 801171967 570304909 408826927 233012983 539040047 344805307 820328757 705426685 948876183 204420003 129083067 244372107 869026941 83549995 914920215 838521021 719779979 115093987 424644747 555945173 342178011 16497667 983896641 256859967 299753447 940285801 982742345 45540495 834756757 263120541 9316765 818591871 10222387 924124109 469625117 847729907 236190325 837197779 521857685 441371381 594624635 290533163 453364917 899488697 686693831 961807615 862396179 281994651 147127879 252491803 594606389 253257503 65192529 474957307 284726659 203918317 965556641 221857209 568452685 485919707 727459935 102634785 177865933 343255523 310288405 175436703 36607011 979106089 658845371 505793867 305568347 215416823 795508653 70613477 159371107 919964867 362434223 746038741 906097175 640830757 497013487 885032231 324935479 839634657 916023813 772596885 169936493 208885989 488773867 743198335 675940681 757055041 906497287 591833065 561913411 932980529 252539173 939129219 999814593 253595673 954965117 752370343 762373895 774530693 374982573 248621651 400534859 691094567 543918517 462395437 133186209 983875033 678066951 467153797 490040079 90706081 827512951 782956627 48161661 884897447 209535041 692277301 267429049 234611777 464063757 126816627 567300225 893225195 31869157 555341819 529963635 235085381 808084031 929321063 700172571 928057629 163434235 734811379 441394407 12997221 988452699 40882825 351881523 573315127 973787917 8818101 813838141 656102105 612845095 179635123 421972787 603769269 807212583 876713821 206307105 612577373 745869041 963727423 990957061 512903567 526317523 550421893 295815869 512411179 749170303 220668167 824691987 822084671 872045079 595210309 908238009 831542781 128381471 724412261 916152905 914472641 973779331 765153337 661382211 626945037 84870039 755985717 271627279 529975949 919365403 822384249 856969983 336206611 702913845 519615693 206845263 80419741 368388205 536831137 114479389 139700813 472384959 909037835 544737651 330761837 132343683 686551753 458852163 517034865 885650561 670661445 748362855 782381555 848769253 335812495 712992413 429939899 387543365 339885401 450871441 143906223 841136031 584941575 311981781 42229987 803074645 229216159 153952991 169062293 193577273 898270159 710513683 352988967 784190075 848731377 360463545 316842531 727678909 538590977 265488131 512908095 345663745 613299369 604154379 739772497 320121271 52118069 61392591 623823715 998642609 263174305 211397435 826609563 593423919 730928775 979864353 732363855 224099029 834652467 90195255 580735993 193173681 977908625 805534241 399536957 622634295 481416505 380297575 713242085 156430661 457229163 212167291 626461671 53325857 262888973 884209589 353796187 606131319 660329649 838528855 316226181 997943645 706690955 347360907 122730195 574080847 576201851 824310883 773327317 976073013 852348937 840732373 122762055 992772441 612879461 935444421 113742605 585232497 21762661 38824443 334348849 422404253 565610631 389698087 168962537 666698847 357089269 580337639 94834317 241794981 825393021 273541815 17358499 809614535 11818135 621309187 474996691 443202429 48664161 170120475 192094709 721740273 224598691 942621753 590773759 242464687 463214283 943192959 638893335 106144939 470119665 864995573 157652873 945729091 351688919 229716619 441311175 881255995 663543007 407807773 344115051 542736323 355940637 247282539 206617147 432115311 220450373 399217439 747478305 325981499 726619321 784518089 913908527 30636941 554153853 871160803 676296865 697195571 116071235 895421903 622249437 295593569 639372129 137634517 755117675 785294007 974433495 62968357 319474173 496615991 488345933 548705243 519707507 308370767 38540303 841690615 129033165 191754965 600785687 253273443 981162807 889031941 390856195 652075759 17480707 889648775 407218459 647943765 510341039 988948837 964553807 443556663 105503197 949222423 368575541 324034587 373851479 680426105 233511691 522708855 87837969 398036687 520153531 816165025 745487141 965259465 258936019 35015385 719488985 618878073 57400203 890374733 24779415 181378399 133529793 934290187 754859763 557356383 545913339 253986317 738799015 713129927 154045037 461168691 30511511 325136459 477508073 28925257 338240205 141658635 526920177 791448829 473870717 404116103 838206637 939460587 348919043 46101169 62242283 538629779 40667361 693714909 924625441 562993757 261137859 791233223 360362863 507395229 145282173 122794135 754926239 318235531 487266569 273053143 816864797 145630535 491618699 71921535 453636865 567749853 740754253 882274281 597383179 776283963 543853509 818019805 625658017 954533949 637589899 488854921 669630931 614881187 625133411 803021183 407636313 79015445 769759033 656860095 878438545 80720423 434343713 740621997 1674115 72427343 587072085 276974101 901999583 574138099 547787833 898116655 2629627 259419991 874207577 440880791 432744405 662925999 444968549 166728019 889274903 810546197 177958205 282663375 489436431 953069191 326361567 544849375 995889077 200551923 631985531 74495173 900527271 944498725 829443425 551748129 321080107 369208795 278886925 269872387 379633717 637546931 348394019 239911647 27894615 758233911 671279983 380632725 110894035 184774107 21745121 790539623 340584337 901112819 31040665 746774531 766397469 405956037 528262871 486005631 274223539 254877815 892654853 828897879 490492461 347660059 449473467 496384883 770878487 25972653 699964591 824085279 666838939 635558411 233678791 11072525 912619415 366831871 498639887 674698335 11697283 824120123 349039801 281595031 248130445 631690329 323736095 957431973 8852863 647598551 86590151 354910941 256735187 845668897 877260379 69604603 578780583 875624841 996998317 794479909 741520067 112339781 796859067 797760231 39088279 668823161 539081639 447495739 804822327 218371373 525051321 782851705 880067175 582550867 899253097 6215529 936905867 698639811 960854609 536278071 589781427 59601729 130525235 42191993 628143765 879140723 261191163 633399083 958597523 180923371 310816957 779860403 993704883 546165539 611706545 217267937 779672995 305542525 279603775 441042917 122674875 919094849 604987631 306299745 958327291 440701089 362745461 1693271 689698059 696664757 549267373 448145719 374955321 888507009 841052569 380464339 596184699 808869611 518560357 249291115 709338737 246510277 357829221 820855715 928236389 9233353 797816083 735724935 364032835 474015641 791108115 842362255 118838435 290313405 719041071 108576151 195523 159669157 365824603 478429669 129916303 640121263 979155635 998569509 3405457 600238103 194419579 967179371 402337795 230777609 202327579 831748153 485339331 138359445 54958121 833867119 722082905 734293429 764358751 74327901 409102835 739376459 885351329 934541239 476164971 381875997 6392313 226440093 672506943 522624225 303211933 796291217 229617299 198667053 86950885 680666497 904551995 601548419 530515029 814514627 928072109 567257677 489881499 535930901 876926727 801473499 180563079 644181913 21234959 221573479 129580821 682720993 707013175 894529299 900111209 596110047 71216535 493438437 484505295 761811951 10276331 832835795 874035383 177630427 483224219 548183987 478830529 584838093 839879353 841500743 635866795 338264921 802421753 34834745 766548325 780677503 839876029 877868825 686880767 248258723 714015753 431982943 430439351 706999955 854748815 607787377 438128109 214885763 319568805 397040533 751984429 583564049 865735499 586434555 173730861 865636163 996892711 618477503 790505159 985328517 248791689 732984801 451838205 933304749 28431721 144521801 689693689 762893561 828391781 574887627 573161747 646984459 714316741 258364447 472148673 343680755 667788663 803813093 583276459 760597543 541315605 761527977 908339607 387275139 605642459 600427737 652150909 312810059 290441139 102980049 375146871 987035437 341058603 654780881 538452423 89008961 111821947 501662209 331152345 620354305 931989631 444019061 134846527 986217299 455622851 116712997 417755319 36661891 720274291 452849137 629230371 429370697 993948521 990939557 66698381 929716161 240631585 388099055 664620585 2441329 587674051 804979307 749070929 156370245 874711585 554277527 590669197 385943699 316531631 456916193 373884803 539041815 88931213 887347605 608631303 529861623 814953347 756077553 670379543 749852609 976794881 828141843 220319957 36926315 720229405 171698951 864743563 537834063 221051543 462993339 938640301 477414965 818382549 719624201 710817751 584159305 73758439 657755829 324325069 420254753 463771013 483987301 702749047 51514555 303558925 717341101 342078187 812461435 725266055 451765251 831122787 525998893 335568547 247857869 965717825 480183561 989010101 281903439 136206357 441766315 637730753 625712829 187319181 508487191 238280041 810419503 499398791 649059005 640175873 103233193 723049991 931138673 37822591 763444241 460451893 308163439 120940415 504518203 596574567 499570781 40384077 964098781 89903383 456812873 197849813 762773915 210281193 783658663 854781873 453952253 941210537 374202965 545372445 279952245 624279623 546984089 931446273 278013533 978768611 40405791 641497839 552218867 450877371 936113661 954966811 166332259 549717055 773596337 112676197 83896767 959190015 532547357 606554453 112447229 205339575 434605715 22274075 674909697 282087499 479726787 117014413 577950355 539377095 846161615 696015147 125460581 418309725 442073145 169053467 919714831 210036071 519505905 307674925 580311059 650818667 76636489 948568537 122418141 460278289 887758593 990567741 444394169 535500081 927432765 858014753 943978723 496682945 980824457 772522739 909781117 261151209 624894943 550093005 825546383 269538031 982570903 721722475 298106891 256469579 370691959 993150775 128919753 94203543 894283695 876486207 641778315 69150357 653957331 288913721 61181435 828287025 714115807 965895559 168998313 280102781 470516795 370032429 336930063 170502071 317372081 653662175 2338191 146506303 749797495 703876591 977951089 42247587 349703469 26824543 760343271 930411157 677449429 545264341 329944329 724457713 750445277 515153571 157657817 552377017 175694107 267711933 960372289 243104537 947574989 30018755 118072593 108989283 717287831 170935549 438719491 523498517 567820421 230196571 269148089 105516497 177080591 541575027 122731963 120079969 801922577 802788997 350892409 90516921 885007567 209990263 542398287 778511605 525542905 335346905 271228797 311336279 721299619 8311267 619183917 610890059 345408841 593825651 710745967 361727845 17609425 398818833 931453501 681381215 824830345 980412395 224599417 741261085 249795621 583207899 524451817 810210729 836672195 147646045 667503683 258235449 402315241 392823963 155554333 302049061 550787971 229558113 666750713 808026353 356968423 619701291 281238335 558240073 814742739 419758099 712771907 395315201 83517033 150169317 978633789 259949587 723153467 965201933 613267279 182176931 919531067 910132643 557684863 113934333 572891077 213414247 94665155 513942673 376209057 915037633 488822255 231846909 864793085 371486909 883857865 511116805 674060651 738255125 174993657 714435985 873605099 770743591 404326671 190965687 897790177 669267453 880528515 903897779 997570843 762347073 487467451 757384421 465324493 900563279 837977595 490660825 15624597 304437285 827064953 188703045 697007993 310028905 159065417 845356545 884483557 492606315 876862577 161828115 551696815 839626019 612185305 228675237 625709843 902028079 355817807 282712841 619511991 56994775 151659409 488743355 786534569 566496521 927197501 968837729 111033183 563710815 945756895 956662721 705713843 874179349 517363941 190267091 363846383 699678997 842032299 507109809 60058555 676009451 828706159 398662299 315242287 400550099 797593439 759745281 845818057 230309031 461002375 103876213 200067693 506662131 104757733 247440815 887607655 752548067 449077847 906328471 134997871 14979663 739285415 288375861 220628897 64640695 210166153 586378683 409815427 240444481 37687953 918230409 216290303 920410815 841929541 684632351 921017967 523166885 332411659 414483241 72012173 934909459 189138231 92519547 204351103 186661329 419657215 25649933 382567379 664089167 916437895 328089863 917679741 821271203 734781655 811384241 587936477 382578571 438133473 560758399 563769781 338365553 681902463 902003725 75817779 843614819 620956783 962118941 682743789 585565977 448255583 486165403 140286943 77821937 647341019 441070491 842853745 175569139 457002593 46485591 774466157 829091277 517103437 96001329 790114571 773541081 431425775 246107833 166072551 960524819 237296499 145266589 828668421 747469861 282683891 793206203 501917141 858427227 31398257 388180245 966618153 53776561 172768727 474307287 519070273 64177345 767345399 200540757 703380417 792253655 97389959 204950025 268946871 138214879 174813739 47084695 181853079 354732401 882511979 682681803 354283583 399938253 743612857 477498261 472106229 141506521 230255213 673791763 701220965 554661927 716944075 1459081 467644837 895205355 575681529 424150879 302081329 912919301 382925065 690608427 564105199 414373885 84314101 475069607 214689839 39415555 605687455 739358135 471540385 652151019 377180111 498946919 296542567 473301049 356246583 462418151 445873923 975241233 995664751 432608919 616231779 965430595 285991161 787105013 925800669 820892487 332432191 492097457 323818287 206904123 488069265 992815259 524189309 506874597 201958953 792136367 3014227 446001593 462054185 782486803 961012393 883525577 244776857 927388685 912064731 389386967 545896297 778671125 706101935 446054731 9709429 680512707 507980625 338126643 466018943 151761885 31460949 637459269 478819883 39048269 362411707 583495651 566574607 281083173 298317801 179276305 331596453 430605987 838824617 252701825 505524809 852109607 448364593 491377289 815872585 998115903 135818527 54278953 379050963 131389853 100125305 683962887 619298563 1114139 909236397 763465845 145611225 572399295 991824013 228154471 337376575 525449651 884210775 884735357 187984389 675887947 506098355 106603519 297990117 786035967 360927147 862896605 213340801 973175415 803146167 288253355 24777823 909980283 771297459 984698797 733370869 178939391 620350179 103079623 780482713 385298719 637430775 574681481 115753869 376811549 295631361 548076331 901118713 53863013 557286017 78203529 887951089 264126345 996724059 305707823 753724525 894576199 760664029 384111179 360271949 872919937 296294843 968961969 512152669 612578625 752119315 930001123 32825931 534440379 330282603 672090121 302253235 220766283 86517679 665028335 109731349 105013363 880689973 193028113 908774875 63052513 325627833 396913545 282694995 702005347 637928547 914603555 148238523 433052921 175046077 305877067 405932593 933702341 787241149 700247833 658676929 155396883 112289731 738188621 925594457 754003795 836540817 747194445 560659413 438226467 440855639 309980969 630015477 250574917 49222823 714427289 830522465 361960871 353802881 630187259 892127149 577810009 192306759 801859415 240365905 158006167 954243019 765753437 166170285 97640133 374417727 510397539 674721803 862759533 319216705 44183399 265347997 276763973 467055831 709231635 610940541 182138661 226502251 523014325 994187179 909453331 401295063 260463685 60707087 964502327 730251093 703740769 823154301 322078695 135508875 683696975 549736619 558973085 334001287 267239683 248583741 277712895 961415615 98835471 416761533 620596179 103268877 437453749 852414873 313697297 731033273 960542173 742862123 252493777 915848303 18507283 40082871 82023513 855605831 818706067 486601315 461301267 150732473 69975863 530424387 637329 990828207 242863753 447201613 53504143 493139059 583045817 358147941 52401907 66274493 946443933 524359507 113768387 742588329 240663733 624173001 808743479 28961723 429537321 254197857 69015209 857964259 906173381 147615385 964296603 980042099 408030979 848942813 226273975 984375083 658967297 953998719 107282901 510146095 658809735 934959029 653384173 297379341 886083075 808934563 268713505 769352889 103183503 888891985 760010431 600075155 66277097 273583793 845256249 42046555 317164407 833109147 843580459 194771011 204735049 239506643 187573335 282717919 600514581 290492159 426503593 834492205 538114365 157467825 543599411 456861839 372847303 330813541 18943283 687344597 853691745 360657527 826309641 814304821 21789795 529461 608606021 9297995 17322701 544138959 158782613 831195419 964227143 103556189 190708951 899840275 479114781 423169251 568816909 42971913 595869771 897678151 161657187 966494011 303319659 984142939 363439661 227029069 271527113 975999961 173479653 307910733 154470223 1528163 47322413 401068975 93222041 764648321 696444885 891931729 130406629 265372325 24994251 878764151 275501849 567485991 184266541 834383313 549041607 293937993 693207101 630758003 100063779 460038197 762183783 78699993 948635917 398698235 303511871 843168233 89047053 529578133 559695743 751596531 624805457 883329509 94721035 760175527 611140019 551451315 842145519 863588389 289041839 17820847 828819035 594595059 346585711 121004661 595277229 576943359 488993217 814060165 413228649 300253595 102394397 589747785 267381559 777565061 277645727 241003793 874662125 423885285 142286099 126373143 194312583 366548805 716538085 226013821 450580261 837281437 946376239 710767691 55451411 691586633 926982573 438783857 633572551 20000015 300203719 693179339 869061849 380855577 527834767 728631577 830127631 128423681 872486585 441009669 606104145 481046721 512786085 598781215 306426295 378641599 753414237 290543585 663015799 255910601 643366797 70782379 22910711 643306259 711483021 1613001 371404995 38031675 809886555 549521257 973373325 842392903 122164899 586241191 563119919 350740131 87037615 152013187 984032175 87026981 226999929 612324839 53739575 494928905 686527135 241749409 45365273 46966007 263324265 806085999 994897363 130995449 766136005 565509617 916500997 181214087 237703501 718012077 818665085 161606011 870316861 508467479 368047405 710295583 487393407 863102857 994656047 10984987 789659297 46144579 335852489 993230471 8993243 83140207 42902373 272914913 40701449 31669531 660453015 585051405 996861879 867511877 209059607 419109465 280973073 79686603 478257869 766910585 565674735 728694393 762275009 339187595 148185043 867901693 616874535 328423445 554946271 366099699 59288411 724485633 320818407 256189913 905743583 970592681 472123743 557198365 340239967 444749511 719294311 9690125 883144623 732383619 212992711 371580641 809117641 265581415 205673711 195496893 318445519 925011561 934449141 821950123 5422095 445010921 664916889 629660569 974842621 120379305 876272193 126482787 985254449 608815831 475838461 746604743 187046255 969411849 591305605 489563505 77045155 516503357 336479031 845555955 399172577 258146519 192662043 739251653 787183203 671710883 536031457 886912071 874545037 698576857 903865053 734162371 980688105 546129173 417235219 360215915 544035373 806106971 228505893 841427289 46327345 694645019 889055335 100187019 673726969 68040999 717156559 508649709 596450225 937859007 67422201 673668689 122710957 900807561 467359793 674722157 370538857 517886605 842358627 309810149 255637125 487639367 909845543 187377217 858721229 280617871 608051389 267475699 352245303 853702573 142787597 105781589 574569435 433968973 794525347 102719141 794519807 544006789 104802235 783671567 324371211 2465489 159079471 203645605 35486101 222463001 578255241 708094045 106074969 570754471 746390265 969020699 204276535 296561459 338567253 838270119 604806459 40846295 310635805 133867187 423786907 96919325 339542391 6567383 500292015 906728941 623165235 671398039 899520765 104796577 810569417 628666969 546173999 347265265 42089047 475039855 439852567 868110599 744066213 967349523 4978867 46294127 179154977 570820711 639263267 293278749 443622885 91544947 724786613 293554287 891429037 54487849 965676251 525628971 483096035 495434081 128587311 709868925 253978773 710611933 624596087 457646331 260841593 318289735 477688733 70107297 368237297 870257711 791878579 91269845 539740673 827697169 298446839 638962533 804539227 588881993 430735307 548062343 427102551 281221925 70348215 623305685 883320305 331024597 612288115 365844311 630779345 695723121 588910041 73576571 941696329 189226235 190400491 903078675 75562317 570090077 901170645 568611423 572468861 446275687 952296683 452558849 585414177 843215827 192508839 330917131 749601065 377089347 632290475 120319727 957853995 616591423 528590277 81803915 507874663 428937783 539233001 90101027 845951427 810630023 309997869 711176551 66670543 316047471 283530203 81547369 170673091 773385241 778047321 942204585 193888125 70187413 767417405 94917389 84386179 980110045 304053313 833350111 767812105 894268883 304280903 38716373 503848417 189657917 823410271 621209869 467271055 490553809 696851127 614084621 95446069 732767525 719850157 915170497 742828711 340485819 736367811 928839039 920266843 620395771 983408295 706580997 135270509 329692217 73933353 633216117 712147625 184715693 462966341 468014175 239618683 469318265 766135839 838093241 429212155 651733667 926674945 814359007 640373481 792692769 88008289 779455125 935784877 563350473 580830423 163996427 109301331 774446171 309706535 683927251 228012437 144083845 249251903 527125229 433293265 527049429 398211887 348139197 603586577 426610373 851682867 443750673 124801279 905874357 902024111 859275549 535700471 864156913 181068079 257953151 931908599 972325287 358315619 221749053 38834853 978625011 360032811 143640771 747342161 232154579 710357893 942015717 61984243 490882101 748344481 303386597 479770153 583541735 639637455 926937699 24757305 29510305 206228109 330962543 652386327 213066761 930808955 466303103 461340757 530583715 979734119 290652269 928485687 429973219 453864771 891480705 907260319 992187427 824706857 111263849 10233377 296210851 736526943 52256823 632765939 378873227 989265487 873263465 61242353 40341999 131767947 147830759 866905511 582713285 694559185 8530173 345308225 965720561 332658433 204646495 322209687 799504445 637841449 909998379 839039785 97986647 223498107 320946405 131707677 489232089 50760275 905648765 622200133 54916167 402986547 842069831 820713493 287496711 278524357 186968575 69844397 803308397 665214433 438764491 708989141 541355695 387853951 416682297 798924797 922405361 689528257 491767613 268970043 267437117 895369461 197933621 299707469 684276353 885511565 797637863 845935005 33431 310757413 82755969 168871225 877947459 637223295 136601749 863540441 167900203 644844425 339938337 753777627 644294881 568998481 922789517 33305671 688626145 850529559 825373603 155795915 895119497 770553149 962117531 310642369 860729123 16742733 686953487 275106085 788278753 179808251 900406537 943945633 563806171 550614307 596559857 143648385 924446227 725186249 79005345 812819649 814640757 65058325 718446675 638171387 146903757 63044189 777637037 16878203 125886935 60760603 795376315 444007469 239922229 532197875 877524471 30810025 867989359 742847407 78198585 202746927 387822327 344082755 182358471 454664613 481986341 777153485 112347217 280273309 298632253 105961611 201557995 21498441 111743845 214547947 743303955 873197967 296399791 138578049 310335147 976928241 746050837 468689929 697942275 781702561 153521017 615839331 877119185 989274995 441950627 33052315 296958511 674394091 301893189 167445991 445809061 808161325 722937079 767120543 620389153 389201673 228280123 650590025 927934197 31554039 656576379 64041357 612317921 628263957 474551815 93502785 586145033 951379241 101072921 978436961 126898425 156484263 995197651 746819853 181627561 21285025 634914365 554707603 18844021 601565913 158982217 65138275 138629411 22656951 484197327 342921757 926983389 618754889 628273041 572458369 751891005 552027205 427134265 71131513 526360637 898392333 633456215 179588381 174452291 206706853 16919909 788162723 805511453 249120191 894932163 970819699 755486721 738605489 85620157 607160339 446892937 443413883 890864003 802541883 496646333 250919619 917762093 572159173 818009609 662395611 972680637 649764787 120367171 113468855 874107675 576115761 502357417 638091511 226226459 439457425 618034909 337849059 172738933 199121489 550241265 114416491 312437707 834764561 242664791 636826915 238459555 230303 748251371 456927823 790434931 651234541 688704247 913044947 311504529 712868631 793105699 690267199 326505023 474560607 462425481 219817673 727986597 534360113 786135459 759657043 172595927 213958177 365736279 344015459 721852109 415674601 328236019 941657639 177092201 441203563 277632811 917011321 359070577 778155447 869556253 222175701 103133595 100951547 184123471 337480037 715927419 563685269 825182893 896006645 914372503 833108999 221207691 529516545 402662743 611414525 299649195 783785379 690191371 888771659 635848237 159751079 703993835 76831467 830333857 627913849 67921181 861538305 811048957 15115569 372724901 998651607 755470749 991924879 407127927 87054561 621489477 832313849 514562413 148759227 746914083 456635519 888944711 240237353 854525389 540085209 782334125 755708947 811582273 961392485 367702323 491275663 756724195 341768491 326767953 154792151 448104833 689111259 700330087 819499343 100155983 702035659 372215487 666853251 442464747 868306681 36029581 570826275 650328665 655026191 731034341 857925901 40375049 562628187 625112269 214254661 766511567 868652757 551917099 152963315 543353831 922102297 119671507 887268463 650222839 399054195 564666747 797137711 407548429 271756239 339295943 622894553 114918559 301493447 724716609 853023289 187859335 722171287 745629527 899493951 699594253 985249321 269848163 673354507 441678557 826144777 448354729 712775131 176544013 634031473 39065167 880224031 42359579 695761985 947240297 269378919 182597097 279630589 682774765 403116657 766336457 43804631 214684351 508435485 490144109 443280293 798704551 107974521 574770417 929560807 817812567 715249079 706637535 274456259 671795305 735734065 102404383 230646283 1236827 640844397 732097035 790588979 591895451 778933525 666235741 732719195 633504117 452318971 347213627 670536267 736371749 588464925 296226099 578174833 793735885 4639387 679448377 19934183 261849973 661232579 799934123 671003499 80118799 464126727 888706383 667951715 496333173 384140291 514807889 859701981 609904741 233423481 678389063 669102997 469209227 19475797 306357037 964501223 413879671 640578987 807361387 145937883 613155749 811575731 330559691 862790431 738115955 384222165 357492869 868568075 650044971 714715033 537291059 928309151 664982781 456542899 330323933 614882691 627762183 992468991 70377713 396487939 601493317 662043775 800846657 470301723 972071843 865792095 243002125 503517797 931782641 845422579 756622073 925377579 973037545 635680437 419494161 971529053 454799149 638023241 644478413 347607697 311582277 601730425 99282185 892317191 151924643 45674297 614969099 500224677 884788895 366028709 186889087 662449405 300608123 812293377 353392763 894322241 690759009 16642741 728146299 93604695 100914529 692633175 433327205 342459329 242162037 58544801 643918471 619454127 484272767 289262199 958499223 302155771 587205191 391306723 748775087 782835489 108643453 648831771 783356759 215628363 99519421 731967863 459021435 547065671 906541193 537646203 882531697 688477837 589022277 962282709 810500855 161665081 836769351 715991893 549774897 863418647 259241671 873178615 231519147 429723539 791098855 92965599 191834717 537063111 406598831 155644249 98355875 13254511 128654351 633266389 123899201 889934579 125037539 83415027 911053927 336517221 287908331 774711153 794661031 932928377 229059793 46438207 197591041 445957007 621559589 550988653 518363865 996000433 42394209 215677751 902598397 559349387 301860837 595039235 509076643 152307061 866455037 715149399 474707813 681761133 844824791 460172523 571177803 550399263 55103375 310611353 989589441 332801237 633568549 252315745 679712925 788517769 946160003 941361267 193499931 897991641 727128697 543736607 108881123 397519629 986246847 58488547 403024639 408072723 985730299 169457759 185658085 679187077 465987249 378330465 828271989 577171871 748865879 530442715 917633009 924623691 833716545 565251817 117861641 74832151 456369333 562453453 871553487 264812345 453611739 840586483 627223747 432563091 316472003 785015021 704762057 712323755 574547045 327096185 383632943 291437743 372212647 216360567 67330473 752578679 668157773 292716277 956033365 77199491 842117643 967694375 39966647 970111995 720074107 910136931 36146879 433012651 429960477 880530481 378396353 715766543 918819161 434429243 213418873 229436225 839605891 192513877 672942349 83893771 161176017 584321401 110919435 262371037 762494057 201366731 857921897 627955661 911908943 905466773 680541569 46719643 964521847 93123147 112957211 825944493 473005243 396078217 316907365 764056851 206644953 827205137 582132721 749353861 607375743 141019089 90005437 479476577 123038265 39295191 86535729 929041839 662558597 15341411 75307033 551934237 846603201 593348567 267277481 594209029 365310007 837948863 495700093 816490595 858485273 739450059 44970143 414637793 454065537 159891929 444880759 225481677 804963437 287163371 693289439 693106463 356306889 863652143 467237393 541732979 266081383 652198389 747885235 729297429 906635773 312944057 304712147 232122353 534818863 251434527 619592165 850758303 717867911 763324915 843428553 258276447 605419123 697423397 150927551 252225561 440182861 370524371 242732411 498389081 724018775 693073985 986953997 961125977 863192765 611688919 638636275 697367289 801737611 716130605 79059733 268510141 355400637 512805625 951722173 147134935 534780469 954842657 662700963 790477597 751679675 20806321 799503073 416766223 360877313 907136217 889430015 568637907 909633439 620506617 971345899 592475961 583232281 662369681 918195191 352691641 386594517 876192843 925647587 755079025 940700197 583494911 234396115 11157801 116108099 378301347 876522325 863610191 213909073 871223901 335192669 94952701 266297943 144666745 660867913 143618287 580213319 26270569 293479647 710729359 133085689 287283145 154377545 651044075 86037807 301403227 439328545 269527993 4163731 982355209 332736099 166898779 34737847 819839979 763812209 181168341 522218257 916096055 674264603 955609305 164467461 682455381 956526741 319018687 618869977 417005517 490770559 837833347 212872899 720831059 770866651 471766221 609319385 57221315 348934679 973268461 980212509 563830559 993594635 660699869 915940985 675128979 69926383 373290551 798719933 760322161 344522349 700923717 654087587 559997239 577681807 942800119 606826701 986706311 23385805 127609571 37980355 698372395 248693507 723073097 281764085 392170007 932020087 833104655 278899135 238738279 751097043 799006405 10407779 782837853 193400881 294107041 759704837 431602533 947575819 529968005 164752827 629339411 501589831 59199223 701766525 458474785 206945843 784549415 36753965 472433011 250049411 706451945 135438483 240853267 622037847 534693569 133014879 709967669 951090225 844448721 436236333 693363253 6646271 385292781 529904765 879781527 14070039 398880395 326461113 855601155 961292597 320301767 45050673 923149391 822010497 119387245 53649693 426192501 708503173 899447017 385545123 290318745 344545593 351740499 889621703 286373381 776115705 919693419 737832575 18682927 885205129 276037527 784481697 358859695 504163351 85848041 253075183 368858187 51740731 377068053 444638225 130766059 812350959 445026939 353890459 961544357 575849113 538207267 150679301 832625589 816469765 518692797 337700271 248356987 299421803 399350943 195539429 881021059 539546985 281640905 502069973 568921987 833708287 818590433 239133339 132085843 488256927 749922615 975590711 323497977 797569053 397829827 735627665 445281949 547723445 901955363 732206205 640483479 978524687 456437917 904607665 855203677 583526453 477549861 452779731 743599765 498396061 416500557 220852327 684233483 210604071 211635545 427379425 935052209 348680725 535424043 151635355 361990817 221880597 923547223 227467733 429236257 923980605 636680465 457928119 414829979 597240843 778181947 239044437 203688097 653165923 412932699 941177765 495345137 149740179 96288671 152579979 696918635 566049101 108985567 754979025 881649181 464210611 643884443 992194341 977210681 212464713 322719737 492925217 840929051 948930811 664467915 884822857 63698757 521482781 761230213 882746627 288282211 383498351 918774087 636854179 314961223 512957207 157094361 30436191 902128111 853398685 462158763 952330845 523029629 753760765 612257747 594354081 74746939 368281487 215248655 660571167 828651677 870161435 930486985 806784943 779137087 888745421 456847887 351362069 199730147 654276923 500040345 929034743 778594677 141757027 57628101 122106343 388704009 202405799 676482459 128956257 68637657 131499225 981607881 647941571 787743559 261845033 222692521 391978327 214786529 979184953 552486967 664642127 15648859 707598347 213722909 534981059 484511373 915165711 995189159 839636663 901469819 994198295 748424401 277880081 109720913 987229795 779619637 630784675 284070499 299374999 743827487 619118631 877238827 960195521 230212731 746380863 438313293 134080597 923999713 252672115 181798291 770273329 38855057 943723573 617799411 871029403 574604145 428882909 708873861 134057023 147236113 444965807 119913869 449518131 756477097 687855313 457640569 284866291 536981017 368934997 244732377 359223655 707529701 492039733 654331241 84011481 817322045 855654995 909026061 99252479 260084219 602826615 286482897 696424697 325520285 77399123 497267429 577003081 680951369 894803583 716726951 490955485 510713551 364315005 739761563 819084557 316215975 309479863 977071979 748539537 154071789 97067901 733738985 754088339 598481773 8080905 914010641 16983967 393880981 503277693 861032199 117107369 582171513 876035297 82409751 932335631 44821211 161363239 857103027 901936533 340462115 656902695 481775989 669163115 253600607 460737187 653375267 118625829 739615045 611591749 562187943 70265791 675937333 303982237 131922707 908055199 950693689 868613669 685639845 172460435 358293245 975477565 129156541 848993743 72298713 591953201 567192553 967188979 403022797 854096177 291854555 991680257 658479487 741550933 605941101 657343335 663956289 102311839 358397605 86035451 854714119 863628025 553641133 467733241 827890289 428790323 532707801 65914121 707157959 95561989 97842081 894367797 203782905 686438677 722936749 763625717 208585883 251923689 971824837 442362661 203337969 1423089 746564573 421713161 702229727 989602441 564081425 876574289 697619701 908580593 831641251 159100175 483208809 243991123 349536767 395749571 287072285 262812351 512818359 368662353 840404375 444526893 353246089 335725575 414401541 628530819 461010775 817718425 398862657 738412165 855176235 317512741 538986183 662100713 407713849 735432241 168959681 292043845 275319005 340004265 558161659 476781849 506645401 158528995 217526769 80969939 482472217 302878619 323142589 565716673 804457521 121815033 671443241 665155355 453184731 151264647 902768293 771676167 292729659 43232573 417588041 341413001 693257883 627829109 196154319 214744471 889400945 225576183 609095589 501168901 668337493 657275377 785430485 157525145 48149515 346134261 100262425 91886329 938823297 22313475 26425295 36260537 667113159 662688127 675327231 602728273 64873497 133693749 14530905 569931809 423950811 447042909 657763123 565823347 941818007 978843539 495911051 200533371 435822851 282370013 575861259 438156621 78862071 496677799 515816449 885579759 797842039 879789765 687801701 294403911 118292145 79283831 591872211 875978025 890236661 256920163 513546135 87627851 533544895 840040851 907978909 594952531 147244979 935945597 349705087 589003717 324883101 495604993 958377337 672383765 880270959 204187489 777908853 331803037 168671299 909260619 541558783 501181851 440380255 339804117 280527441 405342779 362301483 890896763 396579659 821410959 493773631 225190181 929079665 749489805 760790097 174579999 67986165 472839705 767619399 40357403 980778669 798791677 121524525 665175611 354636057 957201127 743057717 105504257 258175839 546814065 412567995 38019933 446605905 652238367 709461311 614145187 948167523 970134103 432061809 665603983 222261173 899716459 442519587 511901767 278348559 465591959 316109389 676522583 25161439 123489015 914205463 767020473 834744639 519535259 280555721 647669701 972000237 864348525 832899543 149676099 986707277 103877709 424443867 605041247 11485043 846274039 982426779 454939567 960070421 64133655 49016065 10982703 242386065 448847423 935347233 739598405 935748845 514543845 935314485 653714881 409749213 349751405 804631967 882510035 174382515 572082207 737424877 899716637 542405745 118286125 334567635 924197025 581245631 386868655 97449767 591448781 816467433 621995431 818514931 103374713 577344489 331698175 52332381 503590623 307029599 801744775 199127993 250090403 85925263 634810875 353681029 407951831 60644715 959289079 996904291 437214189 146602633 287249161 462634781 852150723 9897769 477548705 960154281 395079583 657806385 1570583 130130463 81273645 965237811 511746989 20770243 507548289 15828577 676335757 909222657 778227483 790193569 669268935 909626733 377903329 610673525 97950805 192440769 721500445 331466509 549555993 904174817 436931461 515839555 247805403 914202841 475347257 460261523 436745293 527242201 952500667 461776935 716089607 564609855 653080057 111950029 361930891 185458831 884992841 439188731 191328321 211085425 685599337 161204947 535181695 974260155 368775291 946603803 9384569 370705511 540680721 25727553 50882385 716215449 329461277 212438367 502899475 917374877 268449019 567934257 554644653 818484453 712869749 40748319 418105339 233159947 194594739 591062075 326476477 34225365 592837199 379268665 727252381 725557291 503322435 84208249 824831787 673706275 467210997 615317253 839012577 935607033 662459187 645668233 403888671 455033613 4039217 363408989 435685169 78808557 352259469 772669823 348094533 682543689 737431373 891564441 582841463 76465665 973758685 875545339 276751047 813765397 840074259 810526871 946118431 623295663 663321133 420717843 192570191 723948071 883180749 181372849 292606481 622189555 48015619 228011361 630127109 344686779 667791941 510312893 31975093 825068103 368090991 318510593 599906197 351051915 32721861 375400471 164039419 782113441 252399093 857350029 276509991 417987023 315475735 88906393 696084807 407400575 950781349 597583133 803140201 447121733 88782467 760488351 83784837 83339225 990817283 959446093 298613121 428481571 678240983 901227007 127805985 426943275 633922845 603408693 521246489 220749861 867700571 966797079 289999875 220347757 447659389 94731889 519364703 527360901 261723607 719873213 437385877 202574873 934187563 940040475 464211705 246638333 87439513 468025679 82915523 447273 518789297 356170955 259591443 428419525 936502377 98494885 614827507 26780953 381012251 54279069 490676053 670003099 707929231 15539481 285336595 443536097 577852401 45403177 644951787 959152821 184665303 893245829 725499787 783962109 614392895 847758731 629373311 195009999 307409805 548139843 462654789 812008549 782309261 926692187 858895675 461812259 348888951 391545645 119908523 443771027 308954599 335915445 615443655 142552937 650194913 496135325 765920169 812163457 941522389 569043763 466405711 270178783 94376599 323536237 767856807 794004139 192418915 771165421 883492477 119107131 872221663 141951481 303342223 915550217 666372889 22641791 281849979 340918713 564785285 942127383 111109835 743010839 64541185 339635201 541939697 201141267 266311123 131557413 681720133 313097165 81817511 854053391 187999243 316145539 475626387 934522617 748226153 936085157 808903957 896973763 122564209 379904195 926223887 575476721 280272669 587262617 368733649 881515189 559407951 250396429 255368209 148924389 957229775 798544421 125544427 670593279 157695823 803181081 639725795 190923311 21884265 288453697 919919081 880898879 669211035 391887907 899841103 627287719 151102801 86835305 673766613 770795659 308431323 936648677 612447903 959980971 78946165 881429139 444109369 876391549 318219835 546495129 309748893 873243667 861707579 371908415 20140579 795207985 227994469 254965239 197271953 293550907 265520785 870467937 127354135 503396671 464622211 74245181 744285001 420046073 857136097 151124599 895144995 746447301 822477117 326677025 707919885 237662121 511718929 939921529 789374673 910610007 20867519 902700255 817219749 322151461 854117007 506465249 111278889 420908309 451581617 655155761 476415583 507362249 149155137 131588523 247374261 688239763 989455169 229743697 636205825 530731627 327698581 886930767 316486529 109005809 807267605 479186425 554208473 913671785 254515061 405361863 367193109 426130629 224525911 871817825 310710957 465192091 764120903 97354895 94502269 331135785 836954037 40912197 448412105 363821657 617068537 140295071 299589697 64472507 634785365 838159583 408236537 58557825 661150705 835648371 919471469 271055759 19800545 365438441 861442947 961093227 942389277 336502785 425305737 947953733 509661319 351305117 890629939 127519729 842063335 702805959 992311711 626161139 386283245 681637813 554027091 243775341 808675125 619787711 172482875 100640051 208465471 720916073 76123309 488721081 175424629 310875487 668015207 166880545 346991655 302162037 556633227 112771121 414832783 333953703 387094699 453457239 871247565 622585619 258322615 196621995 582293741 645895179 304299025 739193325 732025053 392039421 236687995 822655875 867267961 425920137 574843173 476519295 636371841 744585581 293683617 550817429 665246365 727625113 631906543 930189605 434752609 462826525 480121459 496929335 54469957 724033845 571315451 17119355 625488809 7412037 417797051 533457223 246117593 215722969 579395409 614818715 252884483 309128865 838386883 409007389 238045507 363782781 148995197 659170589 15238809 477871723 336559445 855213457 236004077 689640603 612664199 985810971 583416595 270535517 85046201 437594881 10388675 14998063 52534265 227170355 251152285 541417649 293094077 232517701 773724203 507963313 596130271 806450555 688449759 114904607 973163945 327312567 610299667 664397851 545750467 46597773 334106119 355947493 721981509 822878257 968023011 150788327 554610861 661141125 301501115 997903545 300725471 752452877 585926021 562370577 701434919 653458685 187837223 254439895 965718589 991234087 355339109 818846227 66547261 15744525 833928691 611508473 674294699 378260181 741224811 716062179 843147127 841160783 814589003 709226071 42779381 747770099 462998017 670191871 361762017 233535713 746766297 242177711 253209185 642761437 805786641 261392225 596026883 593715033 356733127 965814071 774378171 109716329 47565573 71742335 504926441 17978833 489532861 515415467 13920079 98942453 77531335 367198295 282751515 135108837 746804711 804182085 602208739 780008025 68964291 696254305 819268771 553809839 420682991 272942527 969881283 578128623 279283937 326833305 879070221 59050439 657277181 328475475 752484537 760742031 230057867 504606327 441181795 203595081 801500861 401717433 534656783 765742743 463537579 527804405 230130733 473343693 945359705 414742573 780656527 138001631 72129453 349349519 19554933 754978671 321167993 929357419 789362819 369309123 960265337 613652029 121969351 182457545 969393225 938802343 16215221 748138009 643978617 545790841 411325739 901593331 329861491 100297889 746597743 923893053 510611607 814318909 130187309 978116743 17317153 302412433 673480827 190151433 617220157 306942213 664586453 282810531 285113595 67277615 744652321 234975705 868760917 454046921 562137261 174182619 270209837 724506041 75485487 700566147 468732747 19121925 929507267 421516623 953516129 416831973 698740461 548255333 173595655 29328049 575198363 93786773 428319679 656885231 533031203 457870677 366619123 957180743 702003779 787449287 972416755 844581519 754883103 650344881 461931515 792220867 86062659 58951809 896621607 522666243 167783079 555406929 330298757 32650651 379060391 278317277 926838789 60769025 838738441 106461327 482111615 67640015 373742073 460232565 408693173 938032325 118165515 446001221 740398929 761247187 546050879 740889439 358251747 951033097 168131835 743560653 17067237 410410661 455511049 192038971 409835449 358279943 651367839 294278145 228219557 272332221 535312987 912879647 54118623 378382969 600279875 306615867 147998845 544848407 648862915 987222949 603478913 174921113 277862835 519305813 656799445 289458473 725758027 451228139 876767561 752016671 912237365 239836331 889831063 642422515 602128507 786496645 820542559 771899463 59821205 678202899 301687085 861538793 565089119 657451411 195389295 236453067 306253597 812748779 454513281 74307849 511995775 107768747 43927459 498042085 7279255 98647561 100986623 143424971 683754981 350527975 522608805 258077007 779061581 282966731 147654543 619862571 684936733 749798371 302834333 238886721 243074057 561012489 579676569 523071135 979784239 306423225 51894327 398588537 684712469 501112349 543190797 294599717 846581927 445440001 390477981 578145069 605345083 779728863 588019279 501633079 855607437 955729367 957223799 529863705 553332677 160436909 549583437 536443085 221017965 480429779 466688753 526290037 743417979 866761055 426456685 911114337 716207951 59784465 701155253 97372671 341772971 404591441 25535645 47978989 900652733 902911787 422771435 119302383 728695325 790480473 677380935 600525037 379139269 389722169 7513151 68012541 189339417 566013139 168510289 924339033 906788587 794021847 246617563 792411237 16986221 790423961 409215529 992282539 137860925 167092765 574356585 501065697 818424161 81705479 709188021 367788767 367806531 212677031 764110609 687609515 408561597 635582963 728520291 901029485 912559369 560403853 374122879 286141819 808106957 783118779 91734813 497265745 8119063 211347819 761074653 434200975 378611293 7633975 36144457 24748801 7323769 729337179 440643283 467743389 402077363 180191935 478972629 654781819 272366007 765270005 760450445 293739233 106827931 548717873 317741609 341570361 544741341 712764501 418416053 741065493 853002849 520522213 142612527 317494323 598585459 522592787 580155253 525475955 663497419 504478133 543610961 324367075 346828677 681557835 671941493 686287539 485873957 394704891 11903097 266520131 21116315 497741975 74077921 901067795 149900601 843628177 408948499 211136463 12252607 738725135 351359329 308428617 850691409 342746579 961054471 490073471 662153597 787027533 648269091 446168465 962082871 177098391 853275583 780397005 689933533 247021165 939820237 627582117 557091637 570356793 900477221 243579829 865459307 195214857 145624457 610214079 17972757 257915541 382444451 883771055 81189681 496013883 42470149 839823511 853288225 356014593 805628965 788112053 821949109 457086619 849200487 418185067 372090659 501820251 839858195 942200387 944218887 609190211 450186075 452294897 918315877 152710139 507499351 759132753 795258027 197362383 503322633 805302117 288375727 44665785 207801947 542785625 292651695 710951513 325307677 759653761 131663 949307635 973598731 247584855 72040093 17065849 820327617 686314111 104292365 883468929 568427469 786250435 990649981 455390795 80336287 959061015 816551473 509465021 27885455 842138775 31117017 258884967 578731743 598822533 82737289 474139777 469650361 724217167 355738813 976753129 569311277 572507269 561035099 561650983 83616055 412675811 545371057 537466731 496594355 955555661 642498933 218818699 872816495 140591053 567361985 977506821 952303643 288294551 691951133 940259331 773751887 571742985 536512887 558489683 174775437 518740641 630393633 57066347 741502527 590038029 162385881 386953581 163035317 259950115 467045063 222215455 185110569 431027417 137091701 914791663 595117243 38446677 919852507 991849973 750805879 713055713 488195413 548201203 880558925 116518643 889949095 728996171 367887891 37576739 891788545 248715793 20257679 62699063 188877815 726646009 563340905 972944153 390356101 701527907 498178353 337783003 753483025 374842201 361558881 909219513 910627177 364398213 19339355 193862167 560157633 236100931 33804901 836301185 598783927 802064273 515089333 449668009 386332497 114480149 376532319 923132009 195260923 93125921 720268393 815392199 235542923 980503463 52552891 900849389 359293757 290966091 620636709 250709805 111791801 882436691 869111137 115585285 613440265 560878255 782941455 906007829 923392933 274086133 92683963 336358187 932712295 788177507 390198739 50627897 622891929 151712483 814382771 930354779 598565091 318630403 838256539 742446547 394963037 212434425 653446067 467829771 220639877 614817447 415491087 594400155 172021823 889770131 471387815 429524539 420864473 202327531 785784667 980974541 606477319 897793927 887395061 625353055 37618407 3060199 106749993 289776163 551292671 310738483 37694603 907764853 306290745 360245047 848561057 158052055 614606063 156856941 727095249 311303413 337342171 683397365 389727599 386641059 762991141 277102739 265682355 1699547 242758231 277254329 426284989 867463873 809356135 556447101 541136791 301585567 683009205 255797407 291474227 782517481 817300483 212300421 817249131 457931067 201704575 785718079 617386239 58006359 2743743 388376965 911880599 613754921 632551617 155505077 444146375 98367173 829008105 253625047 90060549 113857381 18108675 382702489 586463925 741292141 695062087 157948245 711436575 432395623 824499025 6498055 877741943 831885321 406637861 223672409 604128721 256623403 115746867 258433689 684057651 209975761 480467277 146179005 632881539 98434601 957281971 932685159 777824915 328852611 45869835 200945629 269110047 978843739 419700829 518717197 556746949 547717973 648234789 97859471 354460687 945133115 484582203 524883875 845839215 814791683 267626727 823411761 60064829 717527749 165318101 593706437 625393085 243405511 511143451 854679961 491653653 890377585 511408949 696249485 940199255 243794009 708346123 568143909 478419583 541504059 442182375 307051923 990000745 346268663 42234497 491114157 504036581 327002523 432448243 797593841 764948381 654755159 818113991 130916489 335263537 913383051 249459173 590904645 693684253 250149557 313126055 917793687 87159245 643770501 120951493 481337763 815093137 699731659 288938345 361544751 254107045 788178821 472496415 97170859 464468007 682680019 877600987 147657003 739489313 948868099 238598395 965171059 521373827 597127815 349081157 268164071 458048299 399476985 708212453 597451669 542931413 807216159 559085937 988300345 94894893 142648291 749449189 551702317 232607683 95210585 621836967 702895741 776845585 976983737 179557765 431102421 501069433 391989867 202366645 397102989 371716675 404122103 293310929 43472805 272713375 53612049 988949729 518367429 121279659 35367059 70973779 566007609 606502755 925085571 318475001 843451387 236677811 876602893 523071761 626967979 993201771 363534207 113992515 869025165 18640709 167225433 776605339 723425939 984745953 161510205 337437325 914634323 231600075 792438773 779917303 615841803 483370099 697174645 377438237 510857125 375384113 419399129 531584431 454551727 41514823 289488739 437169087 15315297 910544095 133773183 544495309 256973209 29465097 153537729 618423743 238996447 487692479 452323 19332317 175354467 640915169 397185481 17620195 293487609 337560379 559086205 696280041 847089955 170410107 534634547 854038647 588845321 811901501 58116423 649368697 413457017 230008833 691205693 408516677 152650473 62893617 315344061 967100825 216848763 212052765 142028957 93630615 493434357 106699775 950585047 257355983 793371589 887079927 511179407 398858807 72695555 681843473 826882063 954598443 137393007 439518011 875047373 626291823 872565615 765995345 572707169 785061939 917987093 770645523 279894671 54593289 884459797 283918633 339185733 828164081 782830031 858258983 475771283 780288591 402011211 618185093 52514997 933678833 411768121 611783587 850610703 316752651 979074543 259939789 639545645 626170171 971468141 359953201 8178113 840772231 869283673 503012843 967829669 449022297 874030339 300455931 580812511 957058699 612129889 872555593 243563159 204394585 728433429 380058025 864891429 548237669 984496485 50608083 794621695 775976383 856234817 503448679 66480331 134123997 173999421 75015663 248464469 158688665 35873691 470379231 935776911 123152187 924526915 178748555 687429523 877864049 770797763 746858553 796845479 947379021 431112529 782170639 610089013 33962317 589105615 472103457 21849807 803816537 295230401 913695079 476469811 864904637 383376985 309038273 611253569 11587885 986796911 59766265 769124359 531513799 689134719 504076993 540570295 116491535 42977713 636139955 214064301 384794613 475907797 658891597 31325035 378902989 303003235 64563453 501661 411854675 406228091 250287631 836188693 475875245 356102625 146033345 721387217 377045865 372751623 955561265 377147379 642414459 130507009 788273257 729085637 774580801 835908755 625413979 983674043 331951233 19128609 87133153 255500913 454767207 348920251 940710841 895570089 535743625 278834201 35573135 385643343 74140389 516310937 888970229 4534901 855057375 621338691 291086945 112559961 562837827 209936837 86244407 513399645 285102921 646158967 819086271 301410059 232124811 49423451 894735147 617512729 16695315 30104595 616804757 83717983 493720137 485650419 990902267 941698017 567091719 770568943 218638409 995316171 270323335 112115625 849915983 543998065 219723631 939717477 412890313 409136717 648300491 345219861 663518293 27167235 768491285 668416081 777982077 413332829 162042917 903909461 653687987 302779473 376393281 814520073 986969935 719377911 165088793 672922109 176544915 263254419 473981633 583362921 392911785 726172051 859516599 121339691 779845537 263392391 790951133 828325325 731218551 999441963 474315139 949482873 904978951 698436707 572532063 7987979 759172895 990852665 679044235 828565249 730678383 848912611 242164623 124595841 111065487 503150777 49554009 902241883 573621251 4226625 593488187 599248901 723601455 380545829 322614261 669210785 187715179 956060471 384683179 976506357 301059563 667851123 87701737 241363823 854473169 650796285 862640807 280026409 889546281 977912865 914707777 399938783 358890723 933040465 621806205 677832443 674876119 661013031 670904709 303463817 189795527 602060393 86823411 216450373 180986973 206899969 966919361 696849033 645653801 269997313 203696981 779938913 464015269 788568741 580568189 943072121 271632947 818004563 624698735 275654953 288794651 698483091 750637253 884355697 267264653 730603031 627946375 15292663 844626341 752941759 834324513 680439307 264632675 387051659 513024361 234911653 843717809 374879143 881076125 624818533 752791135 911837285 168291679 311890831 959814695 241359427 301448385 637675539 430144425 14318819 226071093 28874635 674593649 466913039 537440151 372407349 440621549 72292795 930743601 637043959 996160633 788984065 84295339 251874913 563791957 53434151 447830047 66653097 453396395 89739159 477460743 598813617 777273483 837552613 301203273 90504703 117392879 377255115 595235377 305369025 326969527 509517613 410791801 489705169 752110767 622176533 380427833 369580715 231729541 137053879 382654457 378072951 632143317 638787439 242954149 881470727 248979487 218719935 935626897 209110479 669674955 945659219 137351551 474672113 221189677 145790975 396942735 107292721 225838973 531133117 823287121 111915265 373935579 169757105 581296571 31282039 139758163 545277989 315974441 890695251 210033619 818130831 22790239 845339387 542392375 878308999 556459915 185429121 680736061 198173137 838965571 835429529 166571411 19082585 874174853 325271203 441498567 357177651 615818933 786341543 286170961 400501401 843037345 950938709 183953813 934952175 412780925 470685697 816828125 773062337 87735527 353031599 194154839 575735999 423287011 82013699 742167583 427416777 854298337 261262157 839160371 210437341 592117941 980369539 944805761 2995755 428791707 384602183 66099157 30142467 824551737 783848927 541064685 57632993 970861725 166976057 711838311 67199337 977926971 399182063 973043405 199390567 814412787 28381501 79532177 472598733 261621255 564339467 680706061 306220725 295859237 738948075 677467519 292714597 137515875 528612881 969848853 791674949 160814655 783624543 601820379 249329901 99916699 212438105 289006031 435917843 697910217 145084721 804303055 418162589 476978555 301580477 992787621 246189207 994043597 545424765 753430019 638542899 177348681 278949015 438945409 386265803 928643543 557940443 291427747 638060261 102311377 559449537 983815119 312466475 76729841 934532199 384073559 229375601 799998045 484996247 471259511 995196591 605658787 884150203 337768269 168902157 613752503 455320559 864464099 973360337 772863479 235099887 799950379 925209459 834051113 66526501 430352381 503588749 935284345 338011807 764330779 250239713 473605757 98865173 192600369 541686875 949284657 29498853 573819339 106702607 167249405 319955733 967501157 256314167 180270507 787451991 438745185 495275317 458268531 781357315 218065927 903917719 910431727 380809237 146567561 187752207 917667879 669884727 807753983 949588857 313496201 758247861 784766571 628711127 454435303 700447113 900030647 468070743 325408897 131483219 214786741 631901511 87322875 241344599 333417499 615309351 159300961 685200263 52796045 490646937 510336555 933393017 912278673 10379879 807134517 842187629 848706205 464104837 357223621 97829193 82825735 517807375 361092231 404233885 162864659 545224521 460462225 320102049 362818789 704630683 758306911 583483443 464536213 539410843 97057239 15221467 904418839 641746947 556054599 996003273 913634381 459501495 192172389 607916755 41037059 980097729 438297163 248955255 6523369 285915479 172529281 285145055 674515351 820954321 845564659 329930713 639107215 289500339 492705015 235612123 395474491 505444779 120890187 991775751 178348523 252834953 131256595 170814243 184663001 848605513 693866203 856970653 423621669 658159119 632699803 893758605 601968091 145295399 864055215 543345843 109295083 53633281 126950875 452561271 668348973 428066109 30834767 625575909 356266595 305123225 359287709 370581945 185209653 537184773 551321029 972931661 101123895 745142929 647282987 448118187 710296545 873117819 533843357 118249347 80247445 812558627 540105553 192264747 994353561 283218197 253844961 471320483 690988835 570726663 853508437 589880977 173822537 894096595 315912985 165454149 772772365 874524795 225026819 797016759 56516695 515076905 966515279 56603525 172872955 189759541 66323621 265694967 98941105 908008469 807676687 502365693 599759897 846923121 316641027 555688493 204317887 209297935 913019233 278989509 47326225 721268711 536883563 865034671 44544107 225799699 511158737 700342905 523625997 564732373 51326373 955602777 118255135 944304025 875131239 503957041 538621365 294094321 997399547 549097351 763191495 787705499 24807853 117280649 622043957 330127737 499136311 489873679 85532105 827698069 29827249 561439385 988996919 558826019 701755553 15945039 215424275 429839743 378411767 353111037 681455843 494486571 490440199 570476061 264451343 376027091 973300109 591283407 403784165 852103753 956143535 491241943 547911331 62852235 225300475 106250407 223229031 856677307 586366055 72021 873126715 302363171 851773517 809411489 630136595 106673719 44552053 832770033 894374083 229958547 956341005 921159765 260706065 948696059 22868135 780011909 764145571 699557975 576788289 6315999 176625165 852762045 490280003 188914283 726379717 507747431 828227193 771904471 812486703 471985847 288531221 404789629 494521749 129539645 761322681 798974553 550368293 56819879 739417193 75550229 205894137 345725651 272527 332857343 186117909 693756869 69764101 279664653 421859935 847610277 297180933 852557281 611067049 377298633 399733813 33127361 226283439 91190443 63966115 965783963 374391055 724629231 444115907 762430983 983923539 176270433 114495605 837479237 184378093 10412017 871947257 370417213 865140533 479065535 826945027 408247163 157895023 764076553 954363043 652827193 86105025 819111999 283011927 725908311 900061757 695618545 839247367 494482521 765681631 717130203 562265597 481779825 594674565 438425313 640270575 83160437 961860857 36451599 714589181 933310179 952943085 926364311 185350313 534293733 952294137 751788755 396724707 447149899 660235935 809294153 831507197 866496647 410945609 473947299 847745719 868738749 808124745 842965427 610791989 806988979 911179221 63842933 53900805 526124249 763051025 288343823 537608987 57157699 121096965 137379015 21673941 371452853 804024737 980050197 502131449 842003601 105145795 294104211 386431665 189941739 377270055 415624707 558694807 899494777 755259001 705512273 588277669 147100311 605037129 617813135 545470275 930281297 169589777 943754491 330527291 739927379 408452915 450844149 953996483 785885941 25852919 474856971 315664507 775679031 782213775 425894895 2947429 833339841 143722515 941585277 481550063 565324767 589680005 386801847 99823855 217045387 152521423 556031177 144583331 484082021 868767681 188654855 184904623 723957425 919579413 95303657 574548767 570639969 572755821 29154839 57679467 419969035 56874063 371169625 276718703 280073453 439043377 462093219 576876657 235499249 113129577 172257297 819955995 159699365 271837753 456174053 640612743 553875777 958411 829303691 560465455 806897571 288394799 240750487 36610041 641323347 653960031 291480003 279806771 785108607 937421627 75400179 448948369 201108993 512264847 509325105 357415987 833465941 46595593 934421171 70147739 774050469 698181445 106062545 724319159 506667455 918693315 503495183 244515805 943464729 713644013 295512089 998901449 901469141 667098643 272266435 519604899 642521527 787816303 169963783 432592629 607829555 573565729 814922249 166485431 370210651 490177845 982713365 854562371 802111729 63279513 263331227 606283363 773906779 425912105 830037561 594172735 466026667 382588581 260995507 611418225 743390613 607834039 43646193 63626483 118155385 224639469 343008009 85103659 678280287 903811525 114480183 529978597 5933047 489828767 117636827 808191577 188210839 531381441 957561473 398860579 732390717 668899423 265255647 445851721 770224019 870210707 718352589 738618423 733193961 849889117 108943697 48100803 676629809 295630245 997847189 157755177 836470799 203222079 228966635 140152081 233028041 258703075 183467983 381777797 959991887 864811825 452995303 346501883 505552949 462784949 352577273 438905683 333427133 362100445 648548093 686549711 779761103 685625859 36774157 141866781 127821561 237606507 921535849 760517203 871967857 953252925 907081601 871642095 961705753 105822087 483476199 226446805 828843637 749363015 920018515 970094417 224461239 583785051 373391021 979852315 891470007 216862861 103389693 982139727 970428657 132685711 417809013 770128499 651455629 570641915 43671413 891014771 542524763 301697617 782004349 613376163 650113491 442344953 514684473 233936835 889202197 443642949 58177917 348010743 768640741 739868017 975032897 160018125 20603059 748633499 534511277 27561019 693977753 328379341 879581705 993256347 677432149 891243257 948598729 996582325 787901005 640133369 375445641 373627061 64566417 920095115 337988363 701703985 861470681 336997723 826431291 599000871 800016259 927127803 255722797 727009529 560552341 965142497 871971867 369029241 767687107 217578353 113353577 512822231 941086815 902668275 149947809 40877237 99872109 400103833 301384567 899406613 326328719 201859453 735345863 427115623 571758873 784916125 99664787 601832573 633088767 747694309 788675337 5529239 707421667 438825511 903281783 341422169 220036361 351136025 222960221 247567057 634322787 804473439 586330973 925920115 407708297 151521665 851325251 514849565 808937909 243813361 146510847 678446357 139370709 937886215 889033903 593560583 583901043 185049093 731853975 322013961 496439241 37686037 99039775 957288087 431110581 247265353 71152093 61684121 125413825 736471959 942765963 419850329 171131415 676933859 116274957 597227405 8271763 673006325 841941359 670050133 831951539 610347645 168524257 417260595 885261469 249927447 706225859 851224597 580282401 645022789 623285395 533207379 703212213 695137389 263607041 340657573 221581179 830079969 8271325 310100277 189194297 483516891 725227043 784506255 961494109 807804285 523347705 422142631 864868865 565236429 440351909 675864027 567822561 250421697 260503967 503920367 171631975 889996079 232459647 208911123 590797727 249326041 949745163 439240667 895713349 812393833 747148333 585308739 539406259 595586927 30417143 623503793 912796917 980108901 107487399 892639987 573911223 232582317 940517789 221151037 638381137 718240655 419634023 691002159 227934915 458774587 7952823 850498507 73904051 248505549 382161255 435353471 262166641 744681797 291543421 684833 940292341 365179533 290635299 759490285 465374941 898718581 347267501 845364107 579851379 428370871 994625427 30317829 831923617 59807987 883888509 647643603 755404547 127804853 106133043 480938961 81214167 104894061 205476521 302704451 406650883 434150513 663611643 46800857 41995541 479289607 197105515 461227429 917427017 363140183 841549157 664428071 661755771 920497265 168746109 409160515 460662067 579647567 436454251 387528775 848699807 469052113 399579415 707646183 852081817 304830915 122370953 112790593 154449309 663390419 737802485 128734171 646031571 80527517 366431415 855300257 241097229 456897953 991471699 412766185 558024127 71801159 340471921 668402287 341359627 474857187 751115749 948355419 983533493 502230701 70809773 690551095 865803567 963552453 932209899 346176763 570760591 52584503 797329899 413971713 517411221 974473713 577939741 440955409 189101223 856282063 980149023 704110681 649593815 987723665 259435187 342870635 981331673 887725023 712885703 200049223 798536461 337348941 616915563 290557521 21462139 645908305 759645659 18088021 7608531 903909713 732990331 826269323 820943977 523228049 989813717 517330575 174206785 174911557 597669791 842651239 6885375 873714311 660970673 309446015 440455411 270081365 333467409 97890731 229768467 383613085 575310823 501985323 330923777 763638315 307593353 987929253 571168771 699180733 653269363 326067747 229406983 123474673 629676869 508138011 49278887 426222161 436353995 838325101 378523423 576885327 687448827 180204889 942853975 16931653 629260269 753642643 823879649 823157107 576785895 843496491 370474737 974354945 155689811 416682655 458019433 227038209 85810883 700327127 172345037 154253679 7544307 524101405 143239759 182758953 551267017 17318441 718652357 284928761 287135819 50424343 462605743 711652497 983876529 910558059 386196787 670141579 49387349 997290005 460311841 457614949 813152697 174960745 348941553 299892875 522295433 717977123 1711041 375424335 786604951 146937705 445980505 535155687 775683041 970156999 816261929 212893047 950266503 421846839 658633031 34876935 21862871 33045777 213990257 297893769 521406019 473456413 362076689 638751445 73493863 983421063 196164917 438123183 377620741 568217317 627156373 792742589 972306953 457639731 257534349 532545681 19249029 409852119 81568297 351708325 686658999 945032353 183494677 670480731 767576321 952946625 105263275 881463803 717210349 226896089 16905959 702353335 610443055 227754219 131715185 824321703 802682531 248171621 427750555 74908879 986523723 290073631 312617817 579376917 129050707 727151187 266234957 12553291 31352079 923978661 277790651 888339499 847275513 468490791 950744981 491706455 672765107 160232011 689636977 495067479 941601805 252296175 834006671 321264027 947323125 844748121 175079125 566894209 822189449 165676085 263014867 205971269 909964811 851394199 673851585 280068115 844308455 223306239 129631869 709914363 257520817 340425811 58449551 486778615 100750115 553813725 364083239 987895017 851212321 763174739 829630233 271900823 213694391 501630677 101625065 660160951 233770005 984159461 61213627 410323679 30017689 367694449 870406495 468061841 770391239 735318735 617113163 908146231 833040199 851207357 957704865 117467425 623650031 417886045 144305959 286668169 367573947 704249153 202253899 536213905 293469643 547759963 227960613 268802111 706123371 272292359 160734325 994591881 865644305 467547663 948560803 294862917 294739541 161464731 397478331 920490293 326105853 659413317 826215033 630677505 936668913 568267015 642725175 563510589 268541513 436789575 418753535 266899553 195128379 26858963 950193281 220048591 492025901 195977439 183464723 342346445 374375083 715857417 191366069 452056209 444835431 833437527 756904205 891340593 162387771 937279541 470386027 893101487 847725869 56854649 537477575 398362611 557733223 170083169 103703743 131327953 205807419 258506895 967476635 946173441 318464807 698841363 977334603 355786019 50355659 211716195 238900579 564229827 271554293 460661083 374211879 140020303 874175639 701764927 228383355 823872547 833945035 764082365 483391215 792963199 314772439 815811309 178225337 993650827 31626021 10924617 814375355 506413403 374214217 119441845 786370681 915741415 819169533 572784003 612597031 144353039 60884259 3314789 93322903 501973151 904440777 754667129 854280011 198617669 702400545 759270469 147639915 775968669 285313159 11290037 247215811 281955365 249509245 302360861 43209165 945061451 293568687 401516607 966306473 482919003 583121905 402798395 612092187 288681875 657792061 809917857 462508693 270302481 494116021 377415015 58853165 92573409 722100647 314339815 103454369 529762033 138610055 232399081 344705373 60932123 200500717 172459929 788914027 780959011 414863005 710006669 903863685 640688047 939700355 289475011 805847049 676198739 390758579 660744607 967741951 142263429 930351463 138569709 397592085 909190057 795632387 941199333 703694757 763539465 58864913 368097315 453884843 589525203 596411719 944996267 92891089 278736929 33465469 996593901 790231397 811364343 18276279 140721853 561212509 75588411 103160099 927339351 408261211 865338049 899029263 5352801 843671973 399261759 352562941 637159145 728894505 450177369 604832395 457313891 29617791 576790679 574739077 776318381 420495079 326358123 919264225 958139149 763988039 36170287 383268023 271754287 928322353 856872737 928147277 426021673 39035097 764331373 195489035 121853305 394618399 255580965 943327111 203066113 13416077 419178815 35750781 280086801 173285199 491358367 542963149 795989343 592204347 269239565 306835587 205575943 803219157 423585339 622121941 450976141 154741569 975498945 802855195 748147169 842553679 272963873 940947419 68189525 756832631 877363909 453100223 973413033 915032023 524386047 575805593 693849857 776874295 867509253 401341287 82595049 42923527 693142523 81603401 839847257 261355355 458180585 531011981 356210351 432512503 428658369 220445093 238815659 272831293 182187611 785236523 181173375 186899009 783821433 883182053 280382399 848637113 696178117 358106301 993680231 216694785 989224655 737557701 946867679 623044133 499766545 336715067 437548273 589608145 624725485 370745217 844848339 619933789 30448043 433363999 337520421 258650825 145393277 590223311 973652969 292444349 833625979 193215589 961050765 174626437 38087079 932734953 118001895 629438235 96478955 256204677 156567093 7056671 56789783 610220685 918937115 542938581 810829029 328733051 948756901 662437423 734076663 67226353 6448715 105098177 437295827 80317629 155658985 846843855 332070383 846869203 383860931 490885693 320298657 564366411 920531081 891902619 836426027 657564265 139747663 464763169 835532471 536145817 935396241 170716077 420920405 155600495 919687221 326553799 226906111 521060005 447183241 353770141 197422485 662368285 840749121 376819721 864522211 263078887 170164347 810322311 865600921 684153649 343049405 574165569 10229327 921591385 44088051 24474885 538425223 179153377 927965555 54221641 784049065 927043959 322872315 223863343 389180681 743549163 971485357 480784763 296617183 517190969 25222939 507142815 559621707 991608709 730450229 27174835 608690009 464713241 748787293 2065523 396212217 334439787 370078293 713025863 451491073 578541331 231332429 928141375 617996599 591146197 899444183 373388309 995385923 439849375 650983411 60410659 383283125 296586881 823450629 948508787 682000389 547115959 414774491 942001845 341402009 540164005 114082217 492369727 534687157 324656087 736072973 928574735 545991055 338771965 479771149 700708815 858252603 767291639 401202453 755222733 562568383 460560835 417822971 706063361 86286083 433224849 906558971 486888713 645607125 758111153 401758907 268747821 748493811 700612769 968181065 493428571 410375163 24077057 384785947 740057389 942465401 908290975 729135883 952763871 201705179 614676333 790494819 174877787 941499773 197615749 662431691 928185135 338110109 19241261 192197979 786225041 944217193 35611343 946173585 358441059 976730861 369573629 272885585 71580969 370049831 874878581 218294503 63914773 959175157 86631447 957800203 261815293 576258849 380568049 302220505 815299425 891090527 597151285 164877781 828725609 246225987 862405183 978435311 184771553 46077267 123338129 239786875 901705539 641692917 369885399 237720629 203211693 614906493 937731811 926091843 950871017 695085601 577556403 258319411 306361953 906599429 387106151 479892217 698972209 119533873 494615373 976964853 670559767 819601047 457098457 350972137 842890617 11392529 146826401 878623491 469490023 160365405 875914093 595184089 274139545 831187753 416503593 86479207 969362283 413783553 99775459 574430229 988415721 282096993 272381659 82844077 784310721 633500331 539436403 217419367 896576071 865557545 764913717 445723103 346765437 13487111 382131157 278296601 563869963 956348261 5529647 872003205 630169663 666622783 745205575 483021045 523616527 279519105 830219845 628859561 158053917 420272637 552301695 486319941 957173933 457668969 194259055 757689303 393730481 966948457 909281977 553195475 790430399 372015749 156865319 929918999 430140183 788586287 313524653 510535145 399340705 913606335 239624553 9635829 662274793 383557495 728073625 167926609 959138345 44616321 868619947 285653625 1617983 901638383 438183731 581695059 165104051 730487479 595493101 100476717 816709813 503933373 553926073 377565117 338432539 699540681 571505315 884849183 237605477 982892683 59205857 74275031 844261049 842447521 326201035 447094739 191215079 685272199 816840935 995519849 552752997 757730985 282028765 836233559 276850773 815796567 941309571 327288257 448394877 428635083 318618325 519978035 779327307 966428455 8180467 674760869 999669977 19014515 992450347 918732403 940105443 164138143 129232365 388048227 525934547 671692167 462096089 737562785 87561141 834621677 575820719 682561985 959764805 241284725 381862745 953142723 401843933 647374773 626136303 916688397 755869065 576120613 13391015 847313769 97401845 15610151 885634281 252627725 73698681 520484611 531305787 955779991 744409365 524598761 169356629 932288525 361778799 6904821 976436753 484668123 352507607 942656295 475598961 429364441 592284229 221345897 918486689 204878911 30245975 206734475 334040307 835124663 719210837 229450567 781034725 596531019 254937903 194732095 113788439 838461811 131437691 727006201 115459927 406529547 337011063 436364011 587397015 310040407 864711949 878537323 303878899 484951303 998198219 972367291 568979373 428973869 471619305 993679107 273083185 482031433 598209349 187633751 639475987 867454783 983072359 820576431 950153229 853041757 207629181 667141867 814589697 32018519 734386783 697018583 873028607 415819 386505871 587502625 854247221 794286527 358160943 871249253 375174657 770565535 446920979 197686563 357960677 710220097 519971247 549299909 262319501 148920161 67507749 894834073 717087181 485205287 560168249 767964125 359999647 905989405 963429213 534843823 241316903 707749945 153844135 496968731 679944111 236276955 777494743 637635087 432746155 169623493 113629267 942579047 363227575 653215013 860662573 860431331 637500311 735504787 392624921 408343083 421482547 528746759 443244407 564654291 339598753 663527403 753441871 629396305 558505243 156888075 896423759 749472523 897111045 99480475 502314705 742337605 16455403 705443897 631480531 152254771 956945021 531761129 765775355 601353455 361095833 343852059 819588761 335842937 973514563 865684643 541573539 665164217 308702117 398134461 717039547 269433987 543970577 339652623 191472679 949263245 234404355 31274407 613949909 639963515 594491167 684124923 90864221 602071511 682923057 700140261 542897409 150733839 632532777 835737261 447855011 337381501 379331879 120132351 500968407 49853797 165815657 285697777 155275729 644464109 38483039 879332097 345574771 38017321 78518425 397667347 729554241 994387215 343847893 137743987 724835693 573129603 560946675 332641497 282129613 609855821 566828545 369640289 658133985 628453663 926471985 416131727 610840015 538654355 524429277 574323283 549573479 246611239 857779339 301628159 64386593 543237447 446997733 366794835 601720603 642724677 569511613 447542899 966582301 700729431 135475473 689084653 493160599 312625569 119401217 906314165 416519327 666421035 858125531 616104489 161959923 456749287 493206801 437639695 454446845 830661037 324887359 229988499 295766987 184142401 706708263 896317771 309725971 259853897 484025781 268757813 594813751 288682839 39709181 471260083 144007485 379088359 375557687
RLRLRRRLLLLRLRLRRLLRLRLLLRLLLLRRRLLLRRRLRLRLRRRRLRRRRLRRLRLRLLLLLRRLLRLLRLRRRLLRRLRLLLLRLRLLLRLLLRLLLRLLLLRLLLLLRLLRRLRLLRRRLLRLLRRLLRRLLRRRLRRLLLLRRLLRLRRRLLLRRLRLLLRRLLRLRRRLLLLLRLLLLLRRRRLRRRRLLRRLRRLLLRRLLRRLLRLLLLLLLRRLLLRRRRLLRLRRLLLLRRRLRRLLLRLLRRLRRRRRLRLLLLLLRRLLRLRRRRLRRLRRLLRRLRLRLLLRRRRLLLRLLRLRRLRLRLLRLLLLRLRRLRRLLLLRLRLLRRRLRLLLRRRRLRRLLRLRRLRRRLRRRRRRRLRRRRLRRLLLLLLLRRRRLLLRLRLRRLRRLLRRLLLLRLRLLLRRLLRRRRRLRRLLLRRLRLRLLLRLLRLRRRRRLLRRRRLLLRRLRLLRLRLLLRLRRRRLLRLLRRRLLRRLLLRRRRRRRRLLRRRRRLRLRRLRLLRLLLLRLLRRRLRLRRLRRRLRLRLRLLLLLLLLLLRRLRLRRRRRRRLRLRLRLRRLLLRRRLRLRLLLLLLLRLRLRRLLRRLRRLRRLRRLRLLLRLLRRLRRLLRRRLLRRRLRLRLLLLRRLLRLRLRRLRLLLRLLLRLRLRRRLLLLLLRLRRRLRLLLRRLRLLRRRLLLLRRRRRLLLRRLRRLLRLLLLRRRLRLLRRRLRLLLLLLRLRRLRRRRLLRLLLLLLLRLRLRLLRRLRRRLLRRLRLRRRRRRLLRRLRRRLRRRLLRLLLLLLLRLRLLRRRLRLRLRLLLRRLRRLRLRRLLLRLLRLRLRLLRLLLLLLRRRLLRLLRLRLRLLLRLLLRLRLRRRRLLLRRRLLRRRLLLLRLRRRLRRLRRRRRLRRRLLRLLLRRRRRRRLRRLRLLLLRLRRLLRLRRLLRRLLRRRLRRRLLLRLLRLLRRLRLRRRLRLRRRLRRLLLRLLRRRLRLRRRLLRLRLLLLLLLRLRRLLLLLLRRLLLRLRLLLRRLRRLRRLLLRLRLLRLRLLRRRRRLLLRLLRLLRRRRLRRLRRLLRLLRRRLLRRLRRLLRRLLLLRLRLLRRRLRLLLLLLRLLRLLLLRRRLRLLLLLRRLLLLLLRLRRRLLLRLLRRRLLRRRRLLLLRRRRRLRLRRRLRRRRLLLRRLLRLLLRLLRLLRRRLLLLRRRLLRLRRRRRRLRRLLLLLLRLRLRLLLLRRRLRLRRLLRRRLLLLRRRRRLRRLLRLRLRLRLLRLRLRRRRRRLRLLLLRRLLRRRLLLLRLLLLLRRRRLLLRRLLLLRLLRLLRRLRRLLLLRLLRRRLLRLLRRRLRRRLLRRLRRLLRRLRLRLLRLRLRRLRRRLLRRRLLRRLRLRRRRRRLLLRLRRLLLLRLLRLRRLLRRLLRRRLRRRLRLRLRRLLRRLRLLLLRRRRRRRRRRRRRRRRLRLRRLRLRRLLLRLRRLRRLRRLRRRLLRRRRLRLLLLRRLLLRLLLRRLRRLLLLRLRRRRLLLLRLLRRRLLLRLLRRRRLRLRLLLRRRRRLLRLLRRRRRRRLLRRLRRRLLLLRLLRRRRRLRLLRLRLLLLRLRLRLLLLRLLRLRRRRLLRLLRRRLLRLRLLLLRLLLRLLLLRRRLLRRRLLLLLLRRRRLLRLRLRLRLLRRLRRLLRLLLLLRRLLLRLLRLRLLLRLLRLLRLLLLRLRLRLLRLLLLLLLRLLRRLLRLRLRLLRLLRRLRRLLRRLRRLLRRRRRLLLLRRLLRRRLRRRRRLLRLRRRRLLRRRRRLLLRLRLRRRRRRLRRRRLRLLRLLRRRRRLRLLRLRRLRLRRRRLRRLRLRRLLRRRLRLRLRLLRLLLRLLRLRLRRRLLLRLLRRRLLRRRRLLLLLRLRRLRLRLLLRRLRRRRRLLRLRRRLRRRRLLLRRRRRRRLRLLLRRLRLRRRRRRRLRRRRLRRLLRRLRLRLRLLRRRRLLLLLRLRRLRLLRRRLLLRLRRRRLRLRRLRLRRLRLRLLLLRLLLLRLRLRRLRRRLLRLRRRRLLLRLLRRLRLRLRLLRLLLRLLRRLRLRRRRRRLLRLLLRLRLLRRLLLRLLLRLLLRLRRLRLRRRRRRLRRRLRLLLLLLRRLRRLRRRRRRRLLLRRRLRRLLLRLRLLLLLRLLRLRLRRLRLRRLLRLRLLRRLRLLLLLLLLLLLRRLLLLLRLRRRLRRLRRRLRRRRRLRRRRLLLLLLLRRRRLRRLLLRLRLLRRRRLLRLRLRLLLRLLLLRLLRLRRLRRRLLRLLRRRLRLRRRLRRRRLRLRLLLLLLLRRLLRRRLLRLLLLLRLLLRRRRRLRLLLRRRLRRLRLRLLRLLRLRLRLLRLLRLRRRRRLRRRRRRLLLRLRRLLLRRRRLLRLRLRLRRRLRLRRLLLLLLLRRRLLLRLRRLRRRRLRRLRRLRLLRRRRLRLRLRRLLLRRRRLRLRRRLRLLLLLLRLLLLLLRRLLRLLRRRRLLRRLLRLLLRRLRLLLLLRLRRLLLRLLRLRLRRLRLLRRRRLLLLLRLLLLLLLRLRRRRLLRRRLRLRLLRRRLLLLLLLRLLRRRLLRLRRLRLLRRRRRLLLLLRRRRLLRRLLRLRRLRRRLLRRLLRLLRRLLLRRRLRRLLLRRRLLRRLRRRLLLLLRLRRLRLRLLRLRRRLLRRRLRRLLRLRLRRRRLRLLLRLRRLRRRLLRRRRLLRLLLRRRLRRLLLRLRRLRRRLLLLLLLRLLLRRLLLRRRRLLLLRLLRLLLRLLLLLLRRLLLLRRLRLRLLLLRRLLLLLLLLRRLLRRRLLLRRLRRLLLLLLRRLLLLLLLLLLRLLRRRLRLRRRLLLRLLLRRRLLRRRRRRLLRLRLRLLRLLLRLRLRRLRRLLRLRRLLRRRRLLLRLRLLLRLLLLLRLLRLRLLLLLLLLLRRRLRRLLLRRLRLRLLLLLLRLRRLRLRRRRRRLLLLLLLRLLLRRRRLRLLRRLLLRLRRRRRLRRLRLRLLRLLLRLRLRLLLLLLLLRLLLLRLRRLRLRLLLLRLLRRLRRRLRRLRRRRRLLRRLRLLRRRLLLRLLLLLLRRLLRLRRRRRLLRLRLLLLLRRLRRLRRLLLLRRLRLRLLRLRRRLRLRRRLRRLLLLRLRLLRLRLRRLLLRLRRLRLRLLLLLLLLLRRRLLLRLLLRLLRRRLLLLRLLRLRLLRRLLRLRLRLLRRLRRRLRLRRRRRRRLRLLRRLRLRLLRRRLRRRRLRLRLRRRLLLLLLRLRLRLLLLRRLLLRLRRLRRLLRLLLLLRLLRLRRLRRLRLRRRRLLRLLLLLRRLLRRRLLRLLLLLLLRRRLRLRLLLRLRRLRRLLLLLRLRLRLRRLRLLLLLRLLRLLLLLLLLRRRRLRRLLRLRLLLLLRRRLRLRRRRRRLRRRRLLRLLRRLRRLLRRLLLLRRLLLRLRLLLRLLRRRRRRRRRRRLLRRLRRLLLRRLRLRLRLRRLLRRLLRRLRRRRLRRLLLRLRRRLRRLLLRRRRRLLRRLRLRLRRRLRRLLLLRRRLLRRRLLRRRLLRRRLRLRLRLLLLLRRLLLLRLRLLLLLRRLLLLLRLLLLRLRRLRRRLRLRLLLLLLLLRRLLLRRLRRLLRRRRRRRRRRLLRRRRRRRLRRLRRRRRLLLRRRLRRLRRRRRLLRRLRRRRLLLRLRRLRLLRLRRRRRRRLRRLLRLLRLLRRLLRLLLLLRLLLLRRLRRRRRLLRLRRLRRRLLLLRRLRRRRRLLLLLLRRRLRRLRRRLRRRRRRLLLRLRRRRRLRLLLRRLLLRLRLRLLLRRRRRLLRRRLRLRRRLRLLLLLRLRRLRLLRRLLRLRRRRRLLRLRLRRRLLLRLRRRRLLLLRRRLLRRLRLRLLRLLRLRRLLRRRLLLRRRRRRLLRLRLLLLRRLRRLLRLLRLLLRLLRLRRLLRRRRLLRRRLRLLLRLRLLLRLLRLRRLLRLLLLRRLLRLRLRLRLRRRRLRRLLRLLLLRRRLRRLLLLLLRRRRLRLRLRLLLLRRLLRRRRLRLRLRLRRRLRRLRLLRRRLLLLRRLLLLLLLRLRRRLLRRRRRLLLLRLLRLRRLLLRRRLRRLRLLLRLLRRLRLLRRRRLRLLRRLLLRRLLLRLRLLLLLLRLRLRRRLRLLLLRRLRRLLRRRRLRRRLRRLRRLLLRLRRLRRLLLRRRRLRRLLRLRLRLLRRLLRRRRRRLRLLLLRLLRLLRRLRRRLRRLLLLRRLRLLRRLRLRLLRRLRRRLLRRLRLRLLRRLRRRRLRLRLRLRLRLLRRRRLRLLLRLLRLRLLLRLRRRRLRLRLLRRRLLRRRLRLRLLRRRRLRRRLRLLLRRLRRLLRLRLLRLLRLLRRRLRRRLLLLLLLLRRRLRLRLLLLRLLRLRRLRLRLLLLRLLRLLRRRRLLLRRLLRRRLLRRLRRLRRLLLRRLRRRLLLLLRRRRRLLRRRRRLRLLLLLLRLLLLLRLLRRLLLRRLLLRRRRRLLLLRRLLLLLRRLRLRLRRRRRRRLLLLRRRLLRLLLLRRRLLLRRRLLRRLRRRLRRLRRRRRLRLRRLRLRLLLRRRRRLRRLLRLRLRRRRRLRRRRLLRRRRRLRLRLLLLLLRRLLRLLRRLRRLLRLRLRLRRLRRRRRLLLLLRLLLLLRLLLLLRRRRLLLLLLRLRLLRRRRRRLLLRRRLLLRRLRLRRLRRRRRRLRLRLRRRLRRRRLLRRLRLRLRLLLLRRLRRRRLLRRLRLRLLRLLLRLLRLLLLLRLLLRRLLLRLLLRLRRRLLRRLLLLRRLRRRRRLRLLRRRRLRLRRLLLRLLLRLLLRRRLRRRLLLLRRRRLRLLLRLLLRRLLLLLRRLRRRRRRRRLLLRLLRRLRRRRRLLRRRRLRRLLRLLRLRLLRLRLLRRLLRLLLRLRLLRLLRLRLLLRLRRLRLRRRRLRRRRLLRRLRLRRRRRLRLRRLRLRLRLLRRRLRLLRRRRRLLLLRRRRLRLRLRLLRRRLRRRRRRRRRRRRLRLRLRLLRRRLLLRRRLLRRRLLRLLRLRLLLRRRLLRRLLLLRRLLLRRLRRLRRRRLRLLRRLLLLRRLRLRRLLRLLLLLRLLLLRRLRLRRLLRLLLLLLLLLRRLLLRRRRLRRRRLRRLLLLLLLRRRRLRRLLRRRLLLRRLRRLRLLRRRLLRRRLRLLRRRRRRLLRRRRLLLLRLLRRRRRLRLRRRRLLRRLLLRLLLRRLLLLRLRRLLRLRRRLLRRRRLRLRLRLLLRRLLLLRRRRLLRLRRRRRRRRLLRRRRLLLLRRLLRRRLRLLLRRLRLRLLLRRRLRLRRLRLLRLLLRRLRRLRLLRLRLRRRLLLLLLRLRLLLRRRRLLRRRRLRLRRLLLLRLRRLRLLRLRRRLLRLRRRRRLRLRLRRLLRRRRLRRRLLRLRLLLLLRLRRRLLRRRRLRLRRLLRRLRRRLLRLLRRRLRLRRLLRLLLRRLRLRRLLRLLLLRLRRRRLRRLLLRRRRRRLLLRLLRRRLRLLLLLRRLLLLRRLRRLLRRLLRRRRRLRRRRRRLLRRLRRRRRLRLRLRLRLRRLLLLLLLRLRLLRLLLRRRRRLLRLRRRLRLLRLLRRRLRLRRRRLLLLLRRLRLRLRRLLRLRLLRRLLLLLLLLRRRRRLRLRRRLRLRRRRRLLRRLLRRLRLLRLRLLLRRLLRLRLRRLRLRRLRRRRLRRRLLLLRLRRLRRRLRRRRLRRLLRLLLRLRLRRLRLRRRLLLRRRLLLLRRLLLRRLRLLLLRRRLRLRRRLRRRRRRRLRRLLLLRRRRLLRLLLRRLLRRRRLLLLRLLLLRRRRLRRRLLLRRRLLLLLLRLLLRLLRLRRRLRLLLRLRLLRLLLLRRLRRRLRRLLRLRRRRLRRLLRRLLRRRRRLLLRLLLRRLRRLRRLLLLRLRLLLLRLLRLLLRRRRRRLRRLRLLRLRRRRRLRLRRRLLLRLLRLRLRLLLLRLRRLLRRRLLRRLLLLLLRLLLRRLLLRRRLRRLRLRLLLRRLLLRLRRRRRLLRRLLRRRRLLLRRRRLLLLRRRLLRRLLLRLRRLRLRLRLRRLLRLRLLLRLLRLLRLRRLLRRRLRLLRLRRLLLRLRRLRRRRLLRRLRLRRRLRLRRLRLRLRRLLRRRLLRLRRLRLLLLLRRRRRLLLLLLLLLRRRRLLRRRLLRRLRLRLLLRLRLRRLLLLRLRLRRRLLRLLRRLRRLLRLLLLLLLRLLLRLLLRLRLLLLRLRRLLLRLLRRRRRRLLRRLRLLLRLLRRRRLRRLRLRRRLLLLLRRLRRLLRRLLRRLLRLLLRLLLRRRRRLLRLLLLLLRLRRRRRLRRRLRRRLRLRLRRRRRLRLLLRRLLRRRRRLLLLRRLRRRRRLRRLLRRRLLRLLLLRLRLLRLLLRRRRRRRRLLLRLRLRRRLRRLRRLLRRLRLRRRLLRLRLLRRRRLLLRRRLLLRRLLRLRLLRRRRRLLLRRLRLRLRLRRLLRLRLRRLRLRLRRLLLLLLRLRRRLRRRRRLLLRLLRLRRLLRLRRRRLRRRRLLRRLRLRRLLLLLRLRLRLRLRRLRLLRLLLRRLRRLLLRLLLRRLLLRRLLRLRRLRLLLRLLLLRLLRRRLRLLRLLRRRLRLRLRRLRRRLLLRRRRLLRRRRLLRRRLRLRRLRLLLLLLLRRRRLRLRRRLLRRLLLRRLRLLRLLRRRLRRRLRLLLRRLLLRLRRLLRRRLRLLRRRLRRLLRLRRRLRLLRLLLRLLRRLRRLLLRRLRRRRLRLLRLLRLLLLLRLLRRRRRRLRRLLLLLLLLRLLLLLRLLLLLLLLRLRRRRLRRLRLLLRLLLLRLRLRRLRLLRRLLRRLLRLRRRLRRLRRLRRLLRLLRRRLLRLRRRRLLRLRLLRRLLLLRLLLLLLLRLRLRRLRLLLLRLRRLLLLRLLRLRRRRRLLRRLRLLRLRRLLLRLRRLRRLRLLRRLLLRRRRLLRRRRRLLLLLLRRLLLRRLRRLLLRLLRRLRRRLRRRRRLLRRLRLLLLLLRLLRLLLRRLRLLRLRRLLLLLLRLLRRRLRRRRLRLLRRRRRRLRLRRLLRLLRRLLRRLLRRRRRLLLLLRRLRRLLRRLRLLRLRLRRRLRLLRLLLRLRLRLLLLRLLRRLLLRLRLLRLRRRRRRLLLLLLRLRLRRRLRRLRRRLLRLRLRLLRRRLRRLLLRLLLLLLLLLRRRLLRLRRRRRRLRLLRLLRLLRLRLLRRRRRRLLLLRLRRRRLLLLRLLLLLLRRRLRLRLRLLRRLRLRRRRLRLLRRRRRLLLLLLLLLLRLRLRLLLLLLLRLLRRLLRLRRLRRRRLLLRRLRLLLLRLRRLRLLRLLRLLLRRRLLRRRLRLLRRRRRLRLLLRRRRLRRLRRRRLRRLLLLLRRRRRRRRLRRRLRLRRLLLRRRRLLLLLLRLRRRLLLLRLRRRLLRRLLLRRLRRLRRLLRLLLLLLLRRRLLRLLRLRRRLRLLRRRLRRRRRLLRLLRRRRLLRRRRRRLRRLLLRRRLLRLLLLLRLRLRLRLLRLRLLRRRRRRRRRRLLRRRLLRLLRLRRLRRLRLLRLLRLLLRLRLLLRRRLLRLLRRRLRLRLLRLRLRRRLLRRLLLRRLLLLLLLRLLRLRRLRLRLRRRRLRRLLRRRLLRLRRRLRRLRRRRRLRRRLLRLLRRRLRRRRLRRRLRLRLLRRLRRLLLLLLRLLRLRLRRRLRLLRRRRRRRRRLRLRRRRRLLLLLRLLLLRRRLRLLRRRLRRRLRRLLRLRRLRLLLRLLLRRLRLLRRRLRLRRRRRLLLRRRLRLRRRLLRRRRLLRLLLLRRRLRLLRRLLLRRRLLLLLRLRRRLLLLRLRLLRRLLLRLLLLRRRRLRLRRLLRLRLLLLRLRRLLRRLRLRRLRLRLRLLRLRLRRLLRLRLLLLLRRLRRRRLLLLLRRLLRRRRRLRRRLRRRRRRRLLRRRLRLRLRLRRLRLRLRRLLRRRLLRLLRLRLRRRLLRRLLLRLRRLLLRRRRRRRLRLLRLLRRRRRLLRRLLRLRLLRLRLLRRRLRLRRRRRLRRLLLLRRLRLLRRRLRRRLRLLRRLLRLRLLLRLRRRLRLLLRRLLLLRRLRLRRLRLRRLRLLRLRRLLRRLRRLLRRLRLLRRLLRRRLLRLRLRLLLLRRLRLRLRLRRRRLLLRRRRRLLRRLRLRRRRLLRRLLLLRLRRLRRLRRLLRLRLRLRLLLRRRRLRRLLRLRRLRLLRRLRLRLRLLLLLRRLRLRLRLRLLRRLLLRRRLLLLLLRLLLRRLRRLRRRLRLLRRLLRRLRRRRRRRLLRLLLRLRLLLLLRLLLLRRRLLLLRRLLRRLLRRRRLLLRLRRLRLRLRRLLLLLRRRLRLRLRLRLLRLLRLRLRRLRRRRRLRRLRRRRLLLRLRRRRLLRRLLLRLRLRLLRRRLLLRLLLLRRLRRLLRRRLLRRRRLRRRLRLRRRLRLLRRLLRLRLLLLRRLLRLLLRRLLLRLLLLLRRRRRRRLRRRRLLRLRRLRLRRLRLLLRRLRLRRRRRRLRLLLLLRRLLRRLRRLRRLRLLRLLRLRLLLRRLLLRLRRRLLRRRRRLRLLRLLRRRLRRLLRLRRRLRLLLRLRRLRLRRLLRLLRRRLRRLRLLRRLRRLRLLRRLLLLRLLRLLLLRRRRLRLRRRLLLLRRRLRLRLLRLLRLLLRRLRLRLRLRLLRRLLLLLRRRRRLLLLLRLRLRLRLLLRRLLLRRLLLRLRLLLRLLLLLLRLRLRLLLLRRLRRRRLRRLRRLRLLRRRLLLRRLLLLLLLRRLLLRRLRLRRLRRLRLRRLRLRLLLLLRLLLLRRLRLRRRLLLLRRRLLLLLRLLRRRRRLLRLRLRLRLLLRRRRRRLLRRLRLLLLRRRRRLRRLRRLRRLLLRLRRRLRRLRRLRLLLRLRLRLLRLRLRLRLLLLRLRRRLRRLLRLRRLLRLRLLRRRRLLRRRRRLRRLRRLLLLRRRLLLLRRRRLRLRLLRRRRLRLLLLRRRLRLLRRRRRRLLRRLRLLLLLRLRRRRLLLLRRRLRLLLLRLLLRLLLLRLLLLLLRRRLRLLLRLLLLRLRLRRRLRLRLRRLLLLLRLRLRRLRLRRLRLRLLRLRLRRLRLLRRLLLRRLRRLLLRRRLLLRLRLRRRRRRRRRRRLLLLRRRLLLRRLLLRLRRLRRLLRRLRLLLLLLLRLLRLLRLLLLLLLLLLRRLLRRRLLLLRRLRLLLLLLRRLLLRRLLRRLLLRLRRLLLLRLLLRLRLRLRLLRRLLRLLLLRLRRRRRRLRLLRRRRRRRRLLRRRRRRLRRRRLRLRRLLLRRRRLRRRLLRLRRRRLRRLLLLRRLRRRRLRRLRRLRLLRLRRRRRRLLLRRRLRLLRLLLLLLRLLLRRLRLRLRRRRRRLLRLRRLRRLRRLRLLRLRLRRRRRLLRLRLRRRLRLLLLRRLLLLRRRRLLLLLRRRLLRRLLLLRRRLRLRLRRRLRLLRLLLLRRRRLRLRRLLLRLLLLRLLRRRLRLLRLRLRRLRRRLRLRLRLLRRRRRRRLLRLLRLLLRRLRLLLRRRLRRRLLLLRRRLLRRLLLRRLRLRRRRLLLRRLLRRLRRRLLLRRRRLRLRRLRRLLRRLRLRLLLLRRLRRLLLRLLLRRRLRRLRRLLRLLLLRLRRRLLRLLLRRRLLRRRLRRRLRLLLLRRRRLLLRRLLRRRLRLLLRLLLRLRLLRLLLLRRRLLRRLLLLLRLRRRLLLLLRLLLLRRLLRRRRLRLRLLRRRRRLRRLRRLLRLLRLLRRLLRRLRRRLLRRRLRRRLLLLLRRRRLRRLLRRRRLLRRLRRRRRLRRLLRLRLRLLLRLRLRLRRLLRRLLLLRLLRLLRLRLRRRRLRRRLRLLRRRRLRLLRLRLLLRLLRLRLRLLRLLRRRRLLRRLLRRLRLLLRLLRRRLRRRLRLLRLLLLRLRLLRRLLLLRLRRRLLRLRRLRLLRRLLRRRRLLRRRLRRLRLRRLLRRLLLLRRRLLLLRLRRLRRRRRRRRRLLRRRRRLLLRRRLRLLLLLLRLLRLLRRLLLLLRLRRRLRRLLLRLLRLRLLLRLLLLRLLRLLLRLRRRLLLLLLLRRLLLLRLRRLLRLLLRLRRRRLRRLRLRLLRLRRLRLRLLLRLLLRRLRRLRRLLLRLLRRRLRRLLRRRRRRLLLRLRLRRLRRRRLLRLRRRRRRRLRRLRRLLRRLRLLLRLLLLLRRLLLLRRLRLRRRLLLRRLLLRRRRRLLLLLLLRRLLRLRLRLRLLLLLLRLRRLRLLRLLRRLLRRRLRLRRLRRLRLLRRLRRLRLRRRRLRRRLLRLRLLLLLLRRRRLRLRRRRLRLRRRLRRLLRLLRRRLRLLRLLRRLLLLLRRRRLRLRLLRLRLRRRRRRLLLRLRLLLRRLRLLLLRRLLLLRLRRLLRLRLLLLLLLLLRRRRLLLRRRRRRRRLRRLLRLRRLRRRLLRLLLLRLLRLRLLLLLRRRLRRRRRLRLLLRRRRLRLLLRLLRLRLLRLLLLRLLLRRLLRRLLRLLRRLLRLRLRLRRRLLRRRLRLRLRRRLRRRLRLRLRLRLLLRRRLRLLLLRRRRLLRLLLLRLRLRRRRRRRLRRRLLLRLLRLRRLLRRRRLRRLRLRRRLLLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRLRRLRRRLLLLRRLRRRLRRLLRLRLLRRRRRRRRLLRLRLLLLRLLRLRLRRLLRLRRLLRRRRLLLLRLRRLLRLRLLLLLLLRRRLRRLLRLLLLLLRRRRRLRLRRRLLLRLLRRLRRLRRRLLLRLLRRRLRRRRLRLLRRRLRRLLRLRRRRRRRLRLRLRLLLLRRLLRRRRLRRLLLLRRRRLRLLRLLLLRLRRLLLRRRLLLRRLRRRLLLRRRLRRLLLLLRLLRRRLLRRLLRLLRRLRLLLRLLRLRLLRLLRRLLLLRRRRLRRLRLRLRRLRRLRLRLRLRLLLRLLRRLLLLRLLLRLRLLRLLLLRLLLLRRRRLRRRLRRLRRRLLLRLLLLRRRLRRLLRRRRLRLRLLLLRRRRLRRLRRRLRRRRRRLLRLRLLLLRRLRRRRLRRRLRLRRRRLRLLLLRRLLLRLRRRRLLRLRRRRRRLRRLRRLLLLRRLRLLLRRLLRRRLLLRRLLLRLLRRLLRLLRRLLRRLLLRRRLLLRRLLLLRRLLLLLRRLRLLRLLRRRRRLRLLRLRRLLRRRRRLRLLRLRRLLRLLRLRRRRRRLLLLRLLLLLLLLRRRLRRRLRRRRRLLRLRLLRRRRLRLLLLRRLLLLRLRRRRRLLRRRRRRRRRRRLLLRRRRRLRRLRRRLRRLLRRLLLLLRRLRLLRLLRRLLRLLRRLLRLLRRRLRLRLRRRLRRLLRLRRLRLRRRRRRLRLLRLLRRRRLLRLRLRRLRLLLRLRRRRLLLRRRRRRRRRLRLRRRRRRLLLLRLRLRRLRRLRLRLLLRRLLRRRRRRLLLRLLRLRRRRLLRLLLRRRLRLRRLLRLRLRLRLLLRLRRRRRLLLRRRLLRLLRLRLLRRRRLLLLLRRRLRRLRRRLRRRRLLLRRLRRLLLLRRLRRRRRLRRLRLLRRRRLLLLRLRRLRRRRRLRLLLLRLRLRRRRRRRLLRRLLLRRRLLLRRLRRRRRRLRLLLLLRLRRRRRLLLRLRRLRLLRLLLRRRLLLRLRRRRLRLRLLRLLLLLRLLLLLLLLLLLRLLLLLRLLLRRRLLLLRRLRLRRLLLLLLLLLLLLLRLRRLLRRRLRRLRLRRLRRRLLRLLLRLLLRLRRLLRRLRRLRLLLLLLRRRLLLLRRRLRRLLLRLLLRLLRLRRLLLLRLLLRRLRRRRLLLLLRLRRRRLRRLLRLRRRLLRRLLRLLRRRLLRLRRRLRLLRLRLRLRLRRLRRRRLRRLRRLRRRLRRLLLRLLLLLRRLRLLRLLLRLLLLRLRLRRRLLRLLRRRRLLLRRRLRRLLLRRRRRRLRLRRLRLLLLLRRRLLRRLLRLLLLLLLLRRRRRLRLLRLLRLLLLLRRRRLLRLLLRRRRRLRLRLLLRLLRLRLLLRLLRRLLRLLRLLLRRRLRLLRLLRLLRLLLRLLLRLRLRRRRLLRRRRLRLRLRLLLRLRRRRRRRLLRRLLLLLRLRLLLLLRRLRLRLLLRRRLRLLLRRRRRLLLRRLRRLRLRLLRRLRLLRLLRLLRRLRLLLLLRLLLRLRRRLLLRLRLRLLRRRRRRRRLLRRRLRLRRLLRRRRLRLRLRLRLRRRRRLRLLRLRRLLRRLRLRLRRRLLLLRLLRRLLRRLLLRRLRRLRRLRLLRRRRRLRRRLRRLLLRLLLLRLRLRLLRLLLRRRLRRLLLRRRRLLRLRRRRRLRLRLLRLLRLLLRRRRLRLRRLLRRLLLLLLRRLRRRRRLRRLRRLLRLRLRLRLRRRLLRLRLRLRRRLRRLRLRLLLLRRLLLLLRLLRRLLRLRLLRRLRRRRRRRLRLLRLLRRRLLLLLLRLRLLRRLRRRLRRLRRLLRRLRLRLLLRLRLLLRLLLRLLLRLRLRLRLRRRLLRLRRLLRLLRRRLLRRRLRRLLRLLLRRLRLLLRLLLLRLLLLLRRRRLRRLLLRRRLRRLRLRRRLRLRRLRLLLRRRRLLRRLLLRLLRRLLRRLLLLLRLLLLRRLRRLRRLLLRRLLRRRRLRRRLLRLLLLRLLLLLRLLLLRLRLRRRLLRRRLRLLLRRRLLLRLLLLLRRLRLLRRLRRRLLRLLRRRRRRLLRLRRRLLLLRRLRRLLLRRRLRRRRLRLLRLLLLRLLLLRRRRRRRLRLRLRRRLRLRLRRLRLRLRRRRLLRLRLLLLRRLLLRRLLRLRRLRRLRRRLLRLRLLRRLRLLRRRLRRRLLLRLRLLRLRRLRLLRLLRLLRLRRLLLLLRLRLLRLRRLLLRRLRRLLRRLRRLRLRLRLLRRLLLRRRRRLLRLRRRLRLLLRRLLLRRRRLLRRLRLLLLLRLRLRLRLRRLLLLLRLRLRLLLLLLLLLRRLRRLRLLRRRLRLRLRRRRRRLLRRLLLRRRLLLRRRRLRRRLLRRRLLRRLRRLLLLLLLLLRLRRLLRRRRRRLLLLRLLLRLLLLRLLLLRLRLRRRRLRRRLLRRLLLRRLLRRLRLLRLRLLRRLRRRLLRRRRRLLRLLLLRLLRRRRLRLRLRLLLRLLRLLRLRLRRRLRRRRLRRLRRRRLLRRLRRRLRLRLRLRRRLRLRLRLLLLRRRLRLRLRRRRLLLLLLLLLLLLRLLRLRLLLLRRRLRLRLLLLLLRRRRLRLRLLRLLLRRLLLRLLLRLLLLLLLLLLRLRRLRRLRRRLLLLRLRRLRLLRRLLLRLRLLLRLLRRRLRRLRLRLRRRLRLLRLRLRRLLRRRRLLRLLLRRLRRRLRRLRRRRLLRLRLLLRRRLLRRRRLRRRLRRRLLLRLLLLRLLRRRRRLRLLLRRLLRLRLRLRRLLRLLRLLRLLRRRLLLRRLRLRRRLLRLLRRLRLRRLRRRLLLRRLRLLLRRRLLRRRLLRRLRRLLRLRLLRRLRLLLLLRRLRRLRLRLRLRLRRRRRLLLLRLLRLLLLRLLLLRLLLLRLRRLLLRRLLRLLRRRRLLRLRRRLLLRLRLLLRRRLRRRLLRRRLRRRLLLRRLRRRRLRRLLRRRRLRLLLRLRRLRLRLLLLLRLRLRRLRRRRLLLRRLRLLLLLRLRLRLRRLLLLLLLLLRRRRRRLRLRLRLLRLRRLLRRLRLLRLLLRLRLLRLRRLLRLLRLLRRLLLRRLLLRRLRLLRRRLRRLLLLRLLRRLLLLLRLRLRLRLLLLLLRRRRRLLLLRLLLRLRRLLRRRLRLRLRLLRLLLLRLLRLLLRLRRRLRRRLRRLRRRLRRRRRRRLLRRLLLLRLRRLRLRLRLRRLLRLRLRLLLLRLRRRRRLLRLRLRLLLRRRLRRLLRLRRRRRRLLLRLRRRLLLLLLRRLLLLRLRLRRLRLRLRRLRRLRRRLLRLRRRRLRLLRLLLRRLLLRRLRLRLRRLLLRRLRRLLLLLRRLRLRLRRLLLLLRLRRRRLRRLRLLLRRRLLRLLRRRLLLRLRRRRRLRLLLRLLLLLRRLLRLLRRLRLRLRRLRLLLRRRRRRRRLLRLRLLRRRLRLLRRLRLLLRRRRRLRLRLLLRRRRRLLLLLLLRRRLRRRLLRRLLRRLLLLLLLRRRLLRRRLLRRLLLLRLRRLRLLRLRRRLRRLRRRLRLRRLLRLLLRRLLRLLRLRLLLLLLLLRLRRRLRLLLLRRRLLLRRLRLRLLRRLLLLRRLRRRRLLLLRRLLRLLLLLLLLRRRLRRRLLLLLLRLLRLLRRRLRRLLRLRRLRLRLRRLLLLLLRLLRRRLRLRRLLLLLLLLRLRRLRRLLRRLRRLRLLRLLLLRRLRLRLLLRLLRRLLRRLLRRLLRLRRLRLLRLRRLRLRRRRLLRLLRLLLLRLRRRRRLLLLLRRRRRRLRRLLRLRRLRRRLLLRLLRRRRLRLLRLRRRRLRLLLLLRRLRRRRRLLRRRRRLRLRLLRRRLRRRLRLLRRRLRRLRRRLRRRRLLLLLRLRLLRRRRRRRLRLRLLRLRLLLRRRLRLLRLLRLLLRRLRRRRRRRLRRRLLLLLRRRRRRLLRRRRRLLRRRRLRLLLRLRLRLLLRLRLLRLRLRRRLLLLRRRRLLRLLRLLRLRLRLLLRRRRLLRLRLLLLRLRLLRLLLRRRLRLRLRLLLRRRRLLLRLLRLRLLLLLLRLRLLLLLRRRRLRRRLLLRRLLLRLRRLLLRLRLLLRLLRLRLLLRRLLRLLRRRRRRRRRLRRRRRRLLLLRRRRLRRRRRLRLRRLLLLLLRRLRRLRLLLRLRRRRRRRRRRRLLRLRLLRLRRLRLLLLRLRRRLLLRRRLRLLLRRRLRLLRLRRRLRRRRLLLLLLRLRLRRRLRRRLRLRLLRRLLLRRLRLLRRLLRRRLLRLRLLLLRLLLLRRLRLRLLRLLLLRRRLLRRRLLRLRRRRRLRLRRLRLLLRRLLRRRRRRLLRLLRLRLRLLLRRLRRLLLLRRRRLLRRRLLRLRLLRRRRLLRLLLLRRRRLRRLRRRLLLRRLLRLLRLLLRRLRRRRRLLRRRLLRLRLRRRRLLLLLLRLLRLRRRLRLRRRRLLLLLLRLRLRRLLRRRLLLRLLLRLLRLRRRLRRLRLRRLRLLLLRRRRRRRRLRLRRRRRRLLRLLRLRRLRLLRRRRLRRRRRLRRLRRLRLLLRRRRRLRLLRRLRLRLRLLRLLLRRLRLRRRLLLRLRLRLLLRLRLRLRLRRRLLRLLLLLLLLLLLLRLRRLLLRLRLRLLRRRRRRRLLLRRRLLLLRRRLLRRRRLLRRLRLLRLLLLLRLRLLLRLLLRRRLRRRLRRLLRRLLRRLLRLLRRRRRRLRLLLLLLRRRRLRRLRLLRLRRRLLLLLLRLRRRRLRRRLRRRRLRLRRRLLLLLLRRRLRRLRRRLLRLLLRLLLRLRRRRLLLLLLRLLRRLLRRRRRRRRRLRLRLLRLLLLLRRLRRLRRRLRLRLLRRLLLLLLRLLRRRRRLRLRRLLRRRRLLLLRRRLRLLRLLRRLRRLRRLRRRLLRLRRRRRLLRLRLRLLLRRRLLLRLLRLRRRLRLLRLLRLLRRLLLRRLRRLRLLLLRRLRRLRRRLLLLLLRRLLLRLLLLLRLRLRLLLLRRLRLLLLRRLRRRRRLLLLLLLRLLLLRLRRLRRRRLRLLRRLRRRRLLLRRLLLRLLLLRRRRRRLLRRRRRLRLLRRRLRRRRLLRRLRRLLLRLRLRLLRLRLLLLRLRLRRRRLLRLLLLLLLLLLRRRRLRLRLRLRLRLRLRLRRLRLLLRRLLLLLRLLLLRLLLLLRLRLLRLLRLLRRRRLRRRLLRLRLRRRLLLRLLLLLLLRLRLLRLRLRLRLRRLLRRRLLRLLRRRRRRRLRLLRRLLRLLLLRLRRRLLRLLLRLLLLRRLRRLRLRRLLRRLRRRLLRRRLLRLRRLLRLLRLLRRLRRRLRLLLLLLLLLLRLLRRLRLLLLLRLRLLRRLRLRRRLRLRLRRRRLRRRRLRLRLRLRLLRRLRRLRLRRLLRLRLRLRRRRLLRLRLRLLLRRRLLLRLLLRLRRRLLLRLLRRRRLLLRLRRLRRRRLLLLRRRRLRLRLRRRLLRRRLLLRRRLRRRLRLLRRLRLLRRRRLLRRLLRLRRRLRRLRLLRLRLRLRRLRLRLLRRLRLRRLRRRLRLRLLRLLLRRLRLLLLRLLRLLRRRRRRLLRRLRLRRLLRLRLLLRLLRLLLRLLLLRRRRLRLRLLLLRLLLLRLRRRRRRRLLRRRLRLRRLRRLLRLLRRRLRRLLLRRRRLRRRLRRLRRLRLRLLRRRRRLRRLRRLLLRLRLRLRLLLRRRRLLRRLRLLLRLRRRLLRRRRRLRRRLLRLRLLRLRLRRLLRRRLRRRRRRLRLRRLLLRLRLRRLRRRLLRLRLRRLRLRLLLLLLRRRRLLLLLRLLLLRLLLLRLLLRRRRLRRLLLLRRLRRLRLRLLLLRLLRRLRLLRLRLLLRRRRLLRLLRLLRRRRRLRRLLLRRRLLLLLRRRLLLRRLRRLLRLLLLLRLRLRRRRRRLRRRLLRLLRRRLLRRLRRLLRLLLRRRLRRRRLLRRRRLRLRRLRRRLLRRRRRLRLLRRLLRLLLRRRRLRLRLRLRLLLRRLRRRLLRLRRLLLLLRLLRLLLRRLLLRLLLLLLLLLRRRLLLLRRRLRRRRRRRRRLLRLRRRRLRRRLLLLLRLLLLRLRLRLRRLLRRLRRRRRRLRRLLRLRRRLRRLRLRRLLLRLLLLLLRRRLRLRRLRRRLRRLRRRLLLLRLLLLLLRLRRRLLLLRRLRRLLRLLLRRRLRRLRRLRRLLRRRRRLLLRRLLLLRLRRRLRRLLRLRLLRLRLLRRLRLRLRRLRLRLLLRLRLLLRRLLRLLRRLRRLRLRRLLRLRRLRLLRRRLLLLLRLRLRLLRLRRLRRLLLRRRRRRRLRRLRLLLRLRLRRLLLLRRRLLLLLRRRRRRRLRLRLRRRLLRRRRLRRRLRRRLRLLRRLRRLRLRLRRRLRLLLLLLLLLLLLRLLRLLLLLLRLRRRLRRLRLRRRLRLRRRLRLLRLRLLRLRLRRRRRLLRLRLRRLRRLRRLRRLLLLLRRRLRRRLLLLRRLRLLLRLRRLLLRRLLRRLLRLLRRRLRLLRRLLLLLRRRRLRLRLLLRLLLLLRLRRRLRRRLRRLRLRLRLRRLRLRRRRLRLRRRRLLRLRRRRRLLRLRLRLLLLLLRLLLRLRRLLLLRRLLLLLRLRLLRLLRLRRRLLRLRLRLRRLRRLLLRRLLRLRRLRRLRLRLLRRRRLLLLLRRRRLLRRLRLRLLRLRRRRLLLRLRLLLRRRRRRLRLLLRLRRRLRRRRRLRLRRRRRLLLLRLRLRRLRRRLLLLRRLLRLRLLRLLRRLLLLRRLRRRLRLLLLLRLRLLLLLLLLRRLRRLRRRRRLLRLLRRLLLLLRRLRRRLRRLLRLRRLLRLRRRRLLRRLRLRRLLLRRRLLRRRRRLLRRLLRRRRRLRLLRRRRRRLRRRLRLRLRLRRLLRLLRLRRLLLLLLLRRLLRLRLLRLLLRRLLRLLRRLRLLRLLLLRRRRLLLLLLLRRLRLLLLRLLRLLRLRRLLLRRLLLLLLLLRRLLRRLLRRLRLLLRLRRRRRLRRRRRRRLLRLRRRLLLRRLRRLRLLRLLRLLRLRRLRLRLRLLRRRLLLRLLRLLRRLRRRRLRRLLLLLLRRLRLLLLLLRRRRLLRRLRLRLLLRRRRRRRRRLLLLRLLLLRRLLRLRRLLRLLLRLRLLRLRRRRLLLLRRRRLRRLLLLLLLLLLRRLRRRLLRLRRRLRRRLLLLRLRLLLLRLLRRLRLLLLLRLLRRRRLRRLLRRLLRRRRRLLRLRLRRLLRLLRRLRLRLRRRRLRLLLRRLRRLRLRLLRLLLRLLRRRRLRLRRLLRLRLLLRRRLLRRLLRLRLRLRLRLRRLLRRRLRLRRRRRLRRRRRLRRLRLRLLLLRRRRLRRRRLRRLLLRRLRLLRRRLLRRLLLLRLRLLRLLLLLLLLLLRRRLLRLRRLLRLRLRLRRLRLRRRLRLRRRRRLRLRRLLRRLLLLRRLLRLLLLLRLLLLLLLRRRRRLRLRLRRLLRLLRRRLLRRRLRRRLRLLLRRLLLRLLLLLLLRRRRLRRLRRLRRLRLRRRLRRLLLLRRRLLRRRRRLRRRLRLRLLRRLLRLRRLRLLRLRLRRLLRRLRLLRLRRRLRLLRLRRLLRRLRRLRRLRLRLLLRLLLRRRRLRRRRLLRRRRLRLRLRRLLLRLLLRRLLLLRLRRRLLRRLLRRRRLRRLRRRLRRRRLRRRLLRLRRRRRLRLLLRRRLRRRRLRRLLRRRRLLLLRRRLLLLLRLRRLLLLRRRRRRLRLLLLRRLLRLLRRLRLLRLRRRRRRLRRLLRLLLRRRRRRLRRLLRLLLLRLLLLRRRRRRLRLLRLLRLRRLRLLLLLLRLLRRLLLRRRRRRRRLRRRRRRRRRRRLLLLRRRLLRRLLRRRLLLLLRLRRRRRLLRLRRLLRRRRRLRRRRRLLLLLLLRRLLRRLLRRLLLLLRLRLRRLLLLRLRRRLLLRRLLRLLRLLRRLLRLLLLLLRLLLLRLRLLLRLLRRLRRRLLRLRLLRRRLRLRLRRRLLRRRRRRRRLRLLLLRRLRRRLLRLRLLRLRRRRRLRRRLLRLLRRLRLRLRLLRLRLLLRLLLRRLLRRLLRRRLRRRRRRRLLRRLLLRLRLRRLRLRLRRRLRRRLLLRRRRRLRLRRRRLRRRLRRLRLRRLRLLRRRLRLLRRLLRRLRRLLLRLRLRRRLLLRLLLLRLRLRLLLRRRRRLRRRLLLRRRLRLRRRRRRLLLLRRRLRLRRLLRLLRLLRRLLLLLRRLRLRRLRRRLLLLRLLLRRLLLLLRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLLLLRLRLRRRRRLRLLLRRLRLLRRRRRLLLLLLLRRRRLRRRLLRRLRRRLLRLLRLLRRLLLLRRRRLRRLRRLRLRRLRRRRLLLRRLRRRRRRRLLLLLLRRLRLRRRRRLRRLLRLLLLLRRRRLRLRLLRLRLLLLRRLLRRLLRLLRLRRLLLRRLRLRLRRRRLRRRLLLLLLLRRLRLLLLRRLRRRRRRRRRLRRRRLLRRLLLRLLLLRRLRLLLLRLRRRRLLLLLRLRLRRRRLRLRLRRRLRRLRLRLRRRLRLRRRLLLRLRLLLLRLRRRLLRLRLLLRLRRRRRRLLLRRRLRRRLLRRRRLRRRLRLRRLLLRRLLLRLLRLRLRRLLRRRRRLLRLLRLLLRLRLRLRLLLLRLRRLRLLLLRRLRLLLRRRRLRRRRLLRRRRLLLLRRLRRRLLRLRRRRLLRRRRRLRLLRRLRLRRLLLRLLRRLRRRLLRRLRRRLLRRLLLRRRLLRRLLRRRLLRLRRLLRRRLRRLLLLRRRLLLRRRLLRRLLRLLLLLRRRRLLRLRLRRRRRLLRRLLLRRLLRRLLRLRRLRLLLLRLLLLRRLLLLRRRRRRRRRRRLLLRLLLLLLLRLLRRLLRRLRRRRRLLRLRRRRRLLLLRRLLLLLRLLLRLRLRRLLLLRLLRRLLRRLRRLLLRLRLRLRLLRLLRRRRLRRRLLLLLRRLLLRLRRRLLRRRLRRLRLLLLRLRLLRLRLRLRRRLLRRRRRRRRLLRLRRRLRLLLLRRLRLLRLRLRLRLRLLLLLLLRRRLRLLLRRLLRRRRLLRLLRRLRRLLLLRRRRRLLLLLRRRLLLRLLRRLRRLRRLRLRLLLLRRLRLLRLRRRLLLRRRRRRLRLRRLRLLRRLRRRLRRRLRLLRLLRLLRLRLLLLLLRLLLLRLLRLRRLLRRLRLLLLRRRLLRRRRRLRLRRLRRLRLRRRLLRRRRLLRLLLRLRLLRRRLLRLLLLLRLRRRRRLLRLLLLLRRRLRLRRRRRLRRRLLLLLRRRLLRLRLRLRRLLRRLRLRRRRRRRRRRRLLRRRRLRRRRRLRRLRRLLLRRLRRRRRRLRLLLLRLRRLRLRLLRRLRLRLRRRLLRLRRRRRRRRRLLLRRLLRLLRRRRRRRRLLLRRRLLLRRLRRRRLRLRLRLRRLLRRRRLRLLLRRLLRLRLRRRLLLLLLRLLLRRRLLLRLRLRRLRRLRLRRLRLRRRLRLLRLLLLRRLRRRLLRRLLRLLRLLLLRLLRRLLRRRRLLRLLLLRRRRLLRLLRLLLLLRRLRRLRLLRRRLRLLLLRLLRRLLRLRLRLRRRLLLLRLLRLRRRRRLLRRLRRRLRLLLLRRRRRLLRRRRRLLLLLRRLRLRRLRLLLLLLLLLLRRRRLRLRRRRLLRLRRRLRRLRLLRLRRLRRRRRLRRRLRRRLRLRLLRLLRLLLLLLLLLRRRRRRRLLLLLRRLLLRRRRRRRRRRRRRLLRRRLRRRLRLRLRRRLLRLRLRRLLRLLRLRRRRRLRLLLLRRLRRLRRLRLRRRLLRLRRLLLLRRLRRRLRRRRLLRRLLRLLLLLLLRLLLLRLLRRRLLLRLRRRLLLLLRRLRLLLLRRLLRLRLLRRRLRLRRLLRRLRRLLLLLLLRLRRLRRLLLLLLRLRRLRRLRLRRRLRRRRLRRLRRRLLRLRRRRLLLLLRRLRRRRRRRRRLRRLRLLRRRLLLLRLRLLLRLLRRRRRLRLRLLLLLRLLRLLRRLLRRLRLRRLRRRRRLRLLLLLRLLRLRRLLRRLLRRRRRLRRRLRLLRLLRLLRLLLLLLLRLRRRLRLLLRRRRRLLRLRRLRRRRLLLLRLLRRLRLLRLRRRRRLRRRLLLRRRRRRRLLLRLRLLLRRRLLLLRLRLLRLRRLLRRLLRRLRRRLLRLRRLLRRLRLLRLRRLLLLRLRLRLLLRLLLRLRLLLLRRLLRRRRRLRLLRRLLLRRLRRLRRRLLLRRLRLRLRRLLRLLRRRRLLLLLRLRLLRLLLRLLRLRLRRRRLRLRRLLRRLLLRRRLLLLRLRRRLLLRRLRRRRRRRLRRLLRLRLLLLRRRLLRLLLRRLLLLRLLLLRLLLLRRRRRLLRRLLLRLLRLRRRLLRRRLLLLRRLLRLRRRLLLRLRRLLLLLLLRLLRLRRLRRRRRRLLLRRRLRRLLLLLLLRLLRRLLRLRLLRLRLLRLRLLLLLLLLLRRLRRLRRLLRLLRLRRLLLLLRRRRLRRRRLRLLRRRLLLLLRRLLLLLRLRLRLRRLLRLRLLLLRRLRRLLLLLRRRLLLLLLLLRRRLRLRRRLRRLRRRLRLRLLRRRRRLRLRLRLRRRRRRRLLLLLLLLLRLLRLRLRLLLLRRRLLLLRRLLLRRRLLLLRRLRRRLLRRRLLLLLRRLRRRRRRLLLLLLLLLLLLRRRRLRRRLLRRRRRLRRRRRRLRLLRLLLLRLLRRRRLLRLRRLRRLRLLRLRRRLLRLLLLRLRRLRRLRLLRLLRLRLRLLRRRLLLRLRLLLLRLRRRRLLRLLLRRLLRRLRRRLLLLLRLRLRRLLRRRLRRRLRRLLLLLRLLLLLLLRRLRRRRRRRRLRLLLLRRRRRLLLLLLRRRRLLRLLRRLLLRRLRRLLLRRRRRRRLRRRLRLRLRRLRLLRLLRLLRRLRRLRLLLLRLLRRRRLRLRLRRRLLLLRRLRLRLRLRLRRRLLRLLLLRRLLLLRLRLRRLLRLLRRLLRLLLRRRLLRRRRRLRRRRRLRRRLLRLLLRRLRRRRLLLRLLLLLRLRLRLLLLRRLRLRLLLRLRRRRRLLRLLRRRRLLRRLLLLRRRRRLLRLRLLLLRLRRRLLLRRRRLLLRRLLLRRLRRLRRRRLLLRLLRRRRRRRLLRLLLLRLRLRRRLLLRLRLLRRRRRRLRRLLRLRLLRRRRRRLRRRRLRLLRRLRLLRLRRLRLRRRRRLLRRLRLLRLLLLLLLRLLLLRRLLRLLRLRRRRRLLLLLLRLRRRLLRLRLRRRRRRRLRLRRLLLLLLLRLRLLRLRRLLLRRRLRRLLRRRRRRLLLRLLRLRLLRRLLRLLRRLLRLLRLRRRRRLLRRRLLRLLRLLRLRLRRRLLLRRLLRRRRRLLRLLRRRLLRLLLRLLRLLLRRRLLRRRRRRLLLLLLRRRLRRLLRLLRRLLRLLRLRLRRLRLLRLLRLLRRLLLLRRLLRRLLLLRLRLRLLLLLRRLLRLRLLLLRLLRLRLRLRLRLLLRRRRLLLLLLRRLRRRRRLLRRRLLLRRRLLRRLLRRRLRRLLRLLLRLLRLRLLRLRRRRLRRLRLRRRLLRLLRLLLRRLLLLLLLRRLLLLRLLRRLLLRLRLLLRRRLLLRLLRLRRRLRRRRLLLLRRRRRLRLLRLLLLRRRRRLLLLRLRRLLLRLLRRLLLLLLLLRRLRRRLRLLRLLLRLRRLRLLLLRLRRLLLRLLLRLRRLLLRRLLLRLRLLRRLRRRLLLLLRLLLRRLLLLRLLRLRRRRLLLRLRLRLRLLRLLRRRRLRRLRRRRLLLRLLLRRRLLRRLRLRRRRLLRRLLRLLLRLRLLLRRRLRLLLRRRLRRRRRRRRRLRLRRLLRLRRRRLLLRRLRLRRRRLLLRRRRRRLRLLLRRRRRLRRRLRRRLLRRRLLLLLLLRRRRRRLRRLRLRLLRLLLLLLLRRLRLLRRRRRRLRLRRRLLLRRLLRRRRLRRRLRLRRLLRLRLRLLLLRLLRLRRRLRLRRRRRLRLLLRRLLRRRRRRRRRLRLRRLLLRRRRLLLLRLLRRLRRRRLLLLLRRRLLRRRLLLLLRLRRRLRLLLLLLRRRLRRLRLLLLRRLRRRRRLRRRLLRRLLLRLLLLRLLLLLRLRLRRLRLRLLLLLRRLLRLLLRLLRRLLLLRLRRRRRLRLLRRLRLLLLRLRRLLLRLRLRLRLRRLRRLRRRLLRLLLLLRLLLLLRRRLRRLLLRLRRLLLLLRRLRLLRLLLRLRLRLLRRLRLRRRRLRRRLLLRLRRRLRLLLRLRRRLLRLLLLRLLLRRLRRRRRLRRLRRLLLLLLLRLLLRLRLRLLLLRLRLLRLLLRRLRRRRRLRRRLRLLLLLLRLRLRLLRRLLRLLLRRLRLRRRLRRLLLRRRRLRRLRRRLRLRLLRRRRLLLLLLRRRLLLLRLRLLRRLRLRRLRRRRLLRLLRLRRLLLRLLLRRLLLLLRRLRLRLRRLRRRRRRRLLLRLRRRLLLRRRRLLRRLRRLRLRLLRLLRLRRRLRLRRRRLRRRLLRRLRRLRLLRLRLLRLLRLLRRLLLRLLLRRRLRRRRRRLLRLLLRLRRRRLLLLRLLRLLLLRLLLRLLLRLLLLRLRRLLRRLRLLLRRLRLLRLRLRRRLLRLRRRRRLRLLRLLRLRRLRLRRLRRLRRRLLRLRLLLRLLRRLLRRLLLRRLRLLRRRLLRLLRLLLRLLLRLLRLRLLLLRRRRRRLLLLRRLRRLRRRLRRRLRRRLRLLLRRLLLLRRRLRRLLRLRRLRLRLRLLLRRRLRRRRRLLRLLRLLLRRLLRLLRRRRRLRLLRLRRRLLLRLLLRLRLRRLLLLLRLLRLLLRLRRRLRRRRRLRLLLLRLRRLLRLLLRRLRLLLLRRLRLRLRLRLRRRRLLRRRRLRRLRRRLRRLRRLLRLLLRRLLRLRLLRRLLRRRRRRLRLRRLLLLRRLLRLRRLRRRRLLRRRLRLRRRLLLLLRRLLRLRLLRLLLRRLLRRRLLLLRLRLRRLRLLLLLRLRLRRLRRRLRRRLRLRRLLLLRRRLRLLLLRLRRLLRRRRRRLLLRLLLRLRLRLRLRLRRLLRLLLLLRRRLRLRLLLRRLRLRLLLRRRLRLRRLLRRRRLLRLLRRLLRLRLRRLLRRRRLRLRRLLLLLRLRLLRRRLLLRRLRLLRRRRRRLLLLRLLLLLLRLLRRLRLRLLLRRRRRRLLRLLRLRRRRRRLLLRRRRRRLRRLRRRLRLRLLRLLRLRRRLLLLRRRLLRLRRRRRLLRRRLRRRRRLRLRRLRLRRLRRLRRLLLRLLLRLRRLRRRRLRRLRRRLLLRLLLRLRRLRRLLLLRRRLLRRRLRLRRRLLLLRRLLLLRLRRRRLLLRLRLLRRLLRRLRRRLRLRLRRLLRRRRRLRRLRLLLRRLRLRRRRRRLRRLRLRLRLLRRRRLRLRRRRLRRRRRLRRRRRRLRLLRLRRRLRLRRRLLLRLRRRLRRRLLLRRLLRRLRRLRLLRRRRRLRRRLLRLRLRLRLRLLRRLLRLLLRRRLRLLLRLLRRRLRRRLRRRLRLRRRLLRRRRLRLRLLRLLRLRRLRRLLLRLLLRLLLRRLRLLRLRRRLRRLLRRLRRLRRRRRRRRLLLRRLLLLRLLRRLRRRRLLRLLLLRRLRRRRLLLLLLLLLLRRRLRLRRLRRLLRRRLLRRLRLRLRLRLLLRLRRRLRRRLRLLLLLLRLLRRLLLRLRRLRRLLRRRLRLLRLRLRRRRRLLLLRLRLLLLLRRLLRRRRRLRLLLLRLRLLLRLRRLLLRLRLLRRRRLLLRLLRLRLLLLLLRLLLRRRRRLRRRLLRRLLLRRRLRRLRRRRLLLRRRLLRRLLLLLLLLLLRLLRLLRLRRRRRRRRLRRRRLRLRLRRLLRLRRLRRRRRLRLRRLLLLLLRLLRLLLLRLRRLRLLRLLRRRLLLLLRRRLLLLRRRLRLRRLLLLRLRLLLRLLRLRLLRLLRLLLRRRLRRRLLLLRRLRRRRRLLRRLLLRLLLLLRLLLRRRRLLRRRLRLLRRLLLLLLLLLLRLRRRLLRRRLRRLRLLLLRRRLRLLRRLRLRRRRRRRLLRRLLRLRRRRRRRRLLRLRRLLLRRLRRLRLLRRRRLRLRRRRLRRLLRLRLLRLRRRLLLRRRLRRLRLRLLLLRLRLRRRLLLRRLRLLLLRRLLRLLRRLRRRRRLRRRLLLLLLRLRRLLRLRLLLRRLLRRRRRLRRRRLRRRLRRRRLLLRRLRRLRLLLRRLLRLLLLRRLLRRLRLRRLLLRLRRRLLLLRLLLRLLLRRLRLLRRRLLLRLRRRRLLRRRLRRLLRRRRRRLLRRRLRRLLLLRLLLLLLRRLRLRLLRLLLRRRRRLRRRRLRLLRLLLRRRRRLLRLLLLLRRLLRLLLRRLLLRLLRLRLLRRLRRLLLRRRLLRLLRRLLRLRRRLRRLLLRRRRLRRLRRRLRLLLLLLRLRRRLRRRRLRRLRLLRRLLRLLRRLLLRRLLLRLLRRRLRRLRLRRLLLRRLLRLRRLLLRRRRRLRRRLRLLLLRRRLRLLRLLRLLRLRLRRLRRLRLLRRRRRRLLLLLLRRLRLLLLLLRRLRLLRLLRRLRLLRRLLLRRLLRRRRRLRRRRRLLRLLLRLLRLRLLLRRRLLLLLRRRLLLRRRRLLRLRLLLLLLRRRLLRLLRRRLLRRRLLRRRRRRRRLLRRLRLLRLRRLLLLRLLLRLRLRRLRRLRLRRRLLLRRLRLRLLRLLRLLRRLRLRRRLRLRLRLRRRLRRRLLRRLRLLRRLLLLLLRLRLRRLLLRLRRLRRLRRLRLLLRLLRRLRLLLRRRLRRLLRLLLLLLLLRLLRRLLRLRRLLLRLRLRLRRRLRLLLLLLRLRRRLRRRLRRLRRRLRRLLLLRLRRRRLRRRLRRLLRLRLLRRRLRLLLRRLRLLLRRLLLRLRLRRRLRLLLRRLLLRLRRRLLLRLRRLLRRRLRRRRRLRRRLRRRLRRRRLRLLLLLLLRLLRLRRLLLRLRLRLLLLLRRRRRRRLLLLLLLLRRLRLRRLRLLLLLLRRRRRRLLRLLLRLLLRLRLRLRLRRRRRLLRRRLRLLRLLLLRRRLLLRRLRRLRRLRRRLRRLLLRRRRRRLLRRRRLLLLLLRRLLRLRRLLLRLLRRRLRLRLLLRLRRLLLLLRLLLLLLRLRLLLRRLLRLLRLLLRLRRRLLRLRLRLLRLLRRLLRLLLLLRRLLLRRRRLLRRLRRLRRRRLLLLLLRRLLRRRRLRLLLRLLRLRRRRRLRLLRRLLRLLRRLLLRLLLLLLRRLLLLRLLLRRRRLLLLLLLLLLLRLRLLRLRRRLLLRLRRRLRLLLRLRRRRLLRRLLRLLLRRLRRRRRRRLRRLRRRRRLLLLRRRLRRLLRRLRRLLRLLRRRLRLLLRRRLRLRRRRLRRRLLLLLLLRLRRLLLLRRRRLLLLRLLRRRRLRLRRRRRRRRLLRLRLLLRLLRLRRRLRRRRRRLRRLRRLLRRRRLLRRLLLRLLRRRLLRLLLLLRRLLLRLLRRRRRLLRRRLRRRLLRLRRRLLRLLRLRLRRRRRRRLRLLLLRLRLLRRRRRLRRRRLLRRLRRLRLRRRLRLRLRRRLLLRLRLLLLLLLLLLLRRLRLRLRLRLRLLLRRLRLLLLRRRRRRRRRLLRRRLRRRLRLLLLRLRLLRRRRRRRLRRLRRRLLRRRRLRLRLLRLRLLLLLRLRLRRLLRLLRRRRRLLLLLLLRRRLLRRLRRRRRRLLLLLRRRLRLLLRLLRLRRRRRLLRLLRRRRLRLLLRRRRRRRRRLLLRLRLLRLLRLLRLLRLLRLLRRRRLRLLRLLLLRLLLLRLRLRLLLRLLRRLRLRRLLLRLLRRRLRLRRLRLLLRLRRLRRRLRRLRLLRRLRLLLLRRLRLLLLLLRLLRLRLLRLLRRRLRLLLRLLRRLLRRLRRLRLLLLRLLRRLRRLLLRRRLLRLRRRRLLLRRLLLLRLLRRRRRLLRRLLRRLLRRRLLLLRRRRLRLRRRRLLRRRRRRLRLLLLLRLRRRRLLRRLRRLRRRLRLLLLLRLLRRRLRLRLRLLLLLLRLLRRLLRRRLRLRRLRRRLLRRRRLLRLLLLRRRRLRLLLRRLRRRRRLLRLLLRLRRLLLLLRLLLRRRLLLLRRLLRLLLLRRRRLLRRLLRRRRLRLLRRLLLLLRRRLLLLRRRRRRRLRRLRLLLRLRRRRLRLRRLRLRRLRLRLRLRRLLLLRRLLRLLRRRRLRLRRRRRLLLRLRRRRRRLRRLLLRRLLLRRLLLRLRLRLLLRLLLRLLLLLRLRRRLLLRLLLRRLRLRLRRRLLLLRLLLRLLRLLLRRRRRLRRLRRRRLLLRRLLRRLLLRLLLRLLLRLLRLRLLRLRLRRLLLLRLLRLLLLLLLRLLLLLLLRLLLLLRRLRRRLRRLRLLRLRRLLLRLRLLLLLLLRLLRLRLRLLLLLRRRLRRLLLRLRRLRLLLLLLRLLLLRRLRRRLLLLLRLRRRRRRRLRLRRLRRLLRLRRLLRRRRRLRRLRLLLLLRLLLRRRRRLLRRRRRRLLLLRLLRRLLLRLRLLRLRLLRRRRRLRLRRRRRLRRRRLRRLLLLRRLLRRRRRRLRLRLRLLLLLLLLRRRRLLLLRLRRRLLRRLLRLRRRLRRRLRRRRLLLLRLLLRLRRLRLRLLLLRLRLLLLLLLLLLRRLLRLLRRRRLLRRLRLLLRRRRRLRLLLLLRRLRLLLLRRRRRLLRLLRRLRRLLLLRLRLLLLLLRLLLLRLLRRLRRRRLRRRLLLRRLLRLLLRRLLRLRRLLLRRRLRRLLLLRRLLRLLRRRLRLLLLRRRLLLRLRLLLRRLLLRRLLRRLLLRLRLLRRLRLLLRLRLRLRRRRLRLLLRRRRLRRRLRLLLLLLRRRRLRRRLLRRLRLLRRLLRRRLLLRRLLLRRRRRLLLLRLRRLLLLLRLLLRLRRRLRRLLLRRRRRLLLRRLRRLRLLRLLRRRRLLRLRLLRRRLLLLRRLLLLLLLLRRRLLRLLLLLRLLRLRLLLRLRLLLLLLLRLLRLLRRRLLLLLLLRLRLRLLLRLRLLRRLLLLRLRLRRRRLLRLLRRRRLLLLRRLRLRLRRRRLRRRLRLLLLRRLLLRLLLLLLRLLLRRLLRRLLRRLLLRRLRLRLLLLRLLLRRRRLLLRRLRLLLLRLRRRRLRRRRLRLLLRRLLRLRLLLRLRRLRLRLLRLRLRRRRRRLRLRLLLRLLLLRLRRRLLRLLLRRLRRRLRLRLRLRRRRRRLLLRLRLRRRRLLLRRRLLLLLRRLRLRLRRRLLRLLRLLLLRRRLRLRLLRLLRLLLLRRRLLLLLRLLRRRLRRLLLLRLRLRRRLRRRRRRRLRRRLRRRLLRRLLLLRRRLLLLRLLRRRRLRLLLLRLRRLLLRRRLRRLRRLLLRLLLRRLRLRRRRLRRLRLLRRRRLRLLRRRLRLRRLRLRLRRRLRLLLLLRRLRLLLLLRLLLRRRRLRRLLLLLLRLLRRLLRLLRRLLLLRRRLLRLLLRLLRLLRRRLLLLRLLLLLRLRRRLRLRRLLLRRLRLLRRLRLRLLLRRLRRLRRLLLRLLLLLLLLLRRRRLRRLLRLRLRLRLRRRLRLLRRRRLLLRRRLLRLRRRLLLLLLLLLRLLRLLRRLRLRLLLLLRRRRRRRRRRLLRRLRRLLRLRLRLLLRRRRLLLRLLLRLRRRLLRRLRRLLLLRLLLLRRRRLRRLLRRLLLRRLRRLRRLLLRRLLLLRRRLLLRRLRLRLLRLRRRRRLLRRRLLLLRLRLLLLLLRRLRLLRLLLLLRLRLLRRRRLLRLLLRLLLRRLLLRRRRRLLRRRRRRRLLRRLRRRRRRRLRRLRRLRRRLRRRRLLRLRRLLLRLRRLRRRRLLLRLRRLRRLRLRRRRRRRLRLLLRLLRLLRLLLRLRRLRRLLLLRRLRLLLRLRRRRRLRRLLLLLRRRRRRRRLLLLLLRRLLLLLRLRLRRRRLRLLLRRLLRRLLRLLLLRRLLLRLRLRLLRRRRRRLRRRRRLRRLLLLRLLLRLLRLRLLLLLLRLLRRLLRLLLRRRLRRLRRLLRRRRLLLRRLLLRRLRRRLLLLLRRRRRLRRLLLLRRRRLRLLRLRLLRRRRLLRLLLLLLLLLRLLRLRRRLRRRRLRRRRLRRLLRLRRLLLLLRRRRRLLLLRRRRLLRLLLRLRLLRRRRLLRLLLLLLRRRLRRLLRLLRRRRRRRLRLRLLRLLRLRLLRRLLLLLRLRRRLRRLRLLLLRLRLLRRRLLLLLLRLRRLLLLRRRLLLLRRLLLLRRLLLLRRLLRLRLLRRRRRRLRRLRLRRLRRLRRLRLRLLLRLLRLLLLLLRLLLRRLLRRLLLRRRLRLLRRRLRRRRRLRLRRRLRLLRRLRLRLLLRRRLRRLRLLRLLLLRRLLRRRLLRLRLLLLLLLLLLLLLRRRLRRLLLRRRLRLRRRLLLRLLRLRRRRLRLRLRLRRLLRLRLLRLLRRLRRRLRLLRRRLLRLLLRLLRLRLRLRLRRRLRRRRLLRRLLLLLRLRRRLLRRRRRRRRLLLRLRLLRRRLRLLLLLRLLLLRRRRRRRLLLRLLRLRRRLRLRLLLLRLRRLRRLLLRRLLLRRLRLLLRRRLRLRRLLRLRLLRLLRRLRLRRRRLLLRRLRRLLRRRRRLLRRRLRRRRLLLLLRRLLLLRLLRRLLLRRRLLRRRRRLLRRRRLLLRRRLRRLRLRRRRRLRLLRLLRLLLLLLRRRLRLLLLRRRLRRRRRRLLRLRRLRRLRLRRLRLRRRRRRRRRLRRLLRLLRRLRRRRRLRRLLRLRLLLLLLLRLRRLRLRLRLRLLLRRRLLLRLLLRRRRLRLRLLRLLRLLLRLRRLLLRRRRRLLLLLLRLRLLLRRRRLLLLRRLLLLRRLRRRRLRRRLRRLRLLRRRRRRRRRLRRLLRRLLRRLLLRRLRRLRLLRRLRLRRRLLLLLLLRLLLRRRLLLLRLLLLLLLRRRRRRRRRLLLLLLLLRRRRLRLLRRRLLRLRRLLLLRLLRLRLRLLLRRRRLLRLRRLLRLRLLLLLRRRLRLLLLLLRRLRRRRLLLLRLRRLLRRRRLRLRRRRRRLLRLRRLRRRRLRLLRRLLLRLLRRRRLRLLRLLLLRLLLRLRRRRRRLRRRRRRRLLRLRLLRRLLLRRRRLLLLLLRRRRRRLRLLRRLLRLLRRRLLRRLRLLRLRLLLRRLRLRRRLRLLRLRRLRRLRLLLRLLLLRRRLLRRLRLRRLLLRLLLRRRLLLRLRLLLRLRRLLRRLRRLRRLLRLRLRLRLRRLLRRLLRLLLRLLLLRRLRLLLRLLLLLLLLLRRLLRRRRRLLLLRLRLLRRRLLLLRLRLRRLLRLRLLRRRRLLLLLRRLRLLRLLLRLLRRRRLRLLLRRLLLLLRRLRRLLRLRLRLLRLRRLLLRRLLLLRLLLLRRRLLLRLLLRLLRRRRRRRLRRLLLRRRRLLLRRRLLLLRRRRRRRRLRRLLLLLLRLLLLRRRRLLRLRRLRLRLLRRLRLLRRLLRLRRLLRRRRRRLRRLRLLLRLRRLRLLLRLRRLRRRLRLLLRRLRRRRRLLLLLRRRLRLRRLRRRLLRLRLRLRLRRLLLRLLRRRRLRRLLRRLRRLRLLRLRRRLLRRLRLRRRLRLLRLRRRLLRRLLRRLRRLRLLLLLRRRLLRRRLLLLLLLRLRLRRLLRLRLRRRRRRLLLRLLLRRLRLLLLLRLLLRLLRLLRLLRRLLRRRRLRRLRRRRLLRRLRRLRRLRLRRRLRLRRRLLLLLLRLRRLRRRLRLRRRRLRLLRLRRLLRLLRRLLRLRRRRRLLLRLRLRLRLRRLRRRLLLRRLLRRLLLLLLRRLLRRLRRLRLRRLRLLLRRLLRLRRLLRRRLRLRRRLRRRRRRRRLRRRRRRRRLRRRLLRLLRRLLLRLRRRRLRRLLRLLLRLRLRLLLLRRRLRLRRRLLLLLRLLRRLLRLLRLLRRLLLRRRLRRRRLRLLLRLLLLRRRRRLLLLLRRLLRRRRLRLLRLLLLRRRRLLRRLLRRRRLLLLLLRLRLRLLRLLRRLRRLRRLRLLLLRLRLRLRLRLRRLLRLRLRRLLRLLRRLLRLRRRLLLRLLLRLRLRLLRLLLLRLRRLLLRLLRLLLRLRRRLLRRLRLLRLRRLRLRLLRRRRLLRLRRLRLRLLLLRLRRLLLLLLLRRRRLLLLRLRLRLRLLRRRLRLRRLRRRLLRLLLRLRLRLRLRRLRLRRRRLLLRLRRLLLLRLRLRRLLRRRLLRRRLRLRLLLRLRLLRRLRLLRRRRLRRLLRRLLRLLRLRLLLLRLRLLRRLLLLLRLLLRRRLRLRRLRLLLRRLLRRLLRLLLLLRRLLLLLRRLLLLLLRRLRLLLRLLRRRRLLRLRLLRLRLRRRLRLLLLLRLLLRRLLLRRLRRRRLLLRLLLRLLLLRLRRRRRRLLLLLLRLRRLRLRLLRRRRRLLLLRLRRLLRLRRRRLLRRRRRLRRRLLLLRLLLLRLLRLLLRLLRLLLRRRLLLLRLLRRRLLLLLRRRRRLRLRRRRRRLRRRRRRLRRRRRLLLRLLLRRRRRLLLRLRRRRRRLLRRLLRRRLLRLLLLLLRLLRLLRRLRRRRRRRLRRRLLRRRLRRRRRLRRLRRRRLRLLRLRRLLRRLRLLRRRLLLRRLRRLRRLRRRLRLLLRLLRLRRRLLLLLRLRLLRLRLRLRRLLLLLLRLRRRLRRRRRLRLRRLLRLRLLRLLLRRRLRRLRLLRRRLRRRLLLRRLRLRRLRLRLRRLLLLLRLRRRLLLLLLRRRLLLRRLLRLRRLRLLLRRRLLLLLRRRLRLLRLLLRRLLLRLRLLRLRLLRRRRRLRLRRRLLRRRLRLRLLRLLLRLLRRRLRLRLLRRLRRRLLLRRRRRLRLLRRRRRRRLRLLLRLLRLRRRLLRLRRLRLLRLRRRLRLLLRRRLRRLRRLLRLLLRLLRLLLLLLRRLRLRLRLLRLLRRLLRLRRRRRRRLRRRLLLLLLRRLLLRLRLLRLRRLLRLLLRRRRRLLLLLRLLLLRLLLRRLRRLRRRLRRLRRLLRRLRRRRRLLRLRRRLRRRLLLRLLRRLLRLRRLRRRLLRRLRLLLLLLLRLRRRLLLLRRLRRLLRLRLLRRRRRLRLLRRLRRLLLRLLLLRRLRRRRLRLLRRLRLRRRRLLRRRRLRLRLLLRRRLLRLLRLLLLRLLRRLLRLLRLLRRLLRRLLRLLLLRRLLRRLLRLLRLLRLLRRLRLLRRLRLRRLRLRRLRLLRLRRLLLRRRRLLRRLRRLLRRLLRLRRLLLLRRRLRLRLLRRLRLLRLRLRLLRRLLRLLLRLRLLLLRRRLLRLLLRRLRLLRRLRLRLRRLRLLRRLRLRLRLRRRRLRLLRLRRRLLRRLLRRRLLRRLLLRRLLLLRRLLRLRRRLRRLRRRRLLRLLLLLLLRRLRRRLLLLRRRRRRRLRLLLLRLRLLRRRRLRLRLLRRRRLRRRRLRLLRLRRLRLLLRLLLLLRLRLRRLRLLLLLLLRRLLLLLLLLLRRLLRLRLRLLRRRLLLLRLLRLLLLLLRRLLLRRRLLLLLLRLLRLLLLRLRLLRLLRRLRLRLLLLLRRRRLLRRRLLRRLRRRRLLRRRRLLLLLRRRLRRRLRLLLRLRRLLRRRLLLRLRRLRLLLLRRLLLLLRRRLLLLLRLLRRLLLLRRRLLRLRRLLRLLRRRLRLRLLLLRLRLLLLRLRLLRLLLLRRRRLLLRLLRLRLLLLLRLRRRRRRLLLRLRLLLRLRLRLRLRLLRRLRLLLRLRRLLRLRRLLLLLRRLRLRLLLLRLLRRRLLLLRLRRLLLLLLLRRLRRLLLRLLLRLLRLRRLLRRRLLRLRLRLRRLRRLRRLRRLLLRLRRRRRRRRLLLRRLRLLLLLLRRRLRLLLLRLLRLRLRRRLRRRRRLRRLLRRLLLRRRRRLLLLRRLLLLRRRLRLLRRLLLRLRRRLLLRRRLRLLLRRLLLRLRLLRRRRRLLRLLLRLRRRRLRLRRLLLRRRRLLRLLRLRLRRLRLRRLLLLLLLLRRLLLRRRLRLLLRRLLLRLLLRLRLLRLRRRRLRRRLRLRLRRLRLLRRRLRRLRLRLRLRRRRRRLRLLLRLLLRRLLRLRLLLRRLRLLLLRRRLLLRRRLRRRLRRRRRRLLLLRRLRLRLLLLRLRLLLLRLRLRLLLRLLRLRLLLLLRLRLLRRRRRRLRRLRRRRLRRLLLLRLRRLLLRRRRRRLLRRRRRLLRRRLLRRRRLRLRRRLRRRRLRLLRRRLRRRLRLLRLRLRRRLRLRLRLRRRLRLRRLRRLRRRRLRRLRLRRLLLLRRRRLRRRRRRLLRLRLLLRRLLRRRLRRLRLRLLLLRRRLLRLRLLRRLLLLRLRRRLRLLLLLLLRRRLRRLLRRRLRLLRLRRLLLLRLLLLLLLLRRRRLLRLLRLRRRRRLLRRLLRLRLLRLLLRLRLLLRRRLLRRLRRRRRRLLLRLLLLLLRLRLLLRRRRLRLRLLRRLRLRRRLRRRRLLLRRRLLLRLRLRLLLLRLLLLRLLRLRLRRRRRLLRRLRRLRLLLRRLLRLRRRRLRLRRRLRRRLRRRLRRRRLRRRRRLRRLLRLRRLLLRRLRRLLRRLLRRLLLRLLRRRRLLRRLRLLLRRRLLRLRRRLLRRLRLLLRRRRRLRRRRRLLLLRLLLLRRLLRLLRRRLLRRLLRRLRRRRRRRLLRRRLLLLRRLRLLRRRRLLLRLLRRRLRRLLRLLLLLRLRRRRRRLLRRLRLLLLRLLRLLRRLLRLRLRRRLLLLRRRLRRLRLLRLRLRRLRRRRLRLLRLLRRRRLRLRRLLLRLRRRLLLLRLLRRLRLLRLLLRLLLLLLLRLLLLRLLRRRRRRRLLLLRRRLRLRLLRLLRRLLRRRRLRLRRRLLRRLLLLLRLLRRRLLRLRLRRRLRRLRLLLLLRRLLLLRRRLLRLRRLRLRRRLRLLLLRRLRRLLLRRLLRRRLLLLLLLLRRLLLLLRLRLLRLRRLRRRRLRRLLLRLRLLRLLLRLRLRLRRRRRRRRRRLLRLRLLLLLLLRLRLRLRLLRRRLLLRLRLRRRRRRRLRLRLLRRLLRLLRLLRLLRLRRRLRRLLRLLRRLLLRRLLLRLRLRRRRLLRRLRLRLLRLRRRLRRRLRLRLLLRRRRRRLRLLLRLRRRLLRLRRLLLRRRRLLLLLRRRLLRLLRRLRRRRLLLRLRRLLLRLRRRRRRLRLLRLLLLRRLRRRRRRRLRLRLRRLLRLLLRRLLRLRLLLLLLRRLLRLLLRLLLRRLRRRRRRRLRLRRLLLRLRLRLRRRLLRLLRLRLLRRRLRRLRLRLRRLRRRRRRLLLRRLRRLRLRLRRRLRRRLRLRLLLLRRRLLLRRLLLRRRRLRLLLRLLRLLLLLRLLLRRLRRRLLLLLLLRLLRLRRRRLRLLRRLRLLRRLLRRLLLRLLLRRRLRRLRRLLRLRLLLRLRLLLRLLRRRLRRLLLRLRLLLRRLRLRRRRRRRLRLLRRRRRRLLRRRLRLRRRLLRLLRLLRRRLRLRRLRLRRLLLLLRRRLRRLRRLLLLRLLRLLRRLRRLLLRRLLRLLRRLLRRRRLRLRRLLLRLRRRRRRLRRLRRRRLLLRLRRRRRLLRRRRRRLRLLLRRRLRRLLLRRLLLLRRRRLLLLLRLRLLLRLLLLRRRLLRRLRRRLRRLRRLLLRRRRLLLRRLRLLLLLLRLLRRRRRRLRLRLRRRRLLLRLRLLRRLLLRRRRLLLLLRLLRRLRLRLRLRRLRLRLLLLLLRLRRRRLLRRLLLRRRRLRRRRRLLLLRRRLLRRRRLRRLRRLLRLLRRRRLRRLLLRRLRRLLLRLLLRRLLRLLRRLLRLRLRRLRLRLLRLLLRRLLLRRLLRLRLLLLLLRRRLRLLRRRRLRRLRLLRRLLRRLLLRLLLRLRLRLLRRLLRLRRRRLLLLLLLLLLLLLLLLRLRLLRLRLLRRRLRLLRLLRLLRLLLRRLLLLRLRRRRLLRRRLRRRLLRLLRRRRLRLLLLRRRRLRRLLLRRRLRRLLLLRLRLRRRLLLLLRRLRRLLLLLLLRRLLRLLLRRRRLRRLLLLLRLRRLRLRRRRLRLRLRRRRLRRLRLLLLRRLRRLLLRRLRLRRRRLRRRLRRRRLLLRRLLLRRRRRRLLLLRRLRLRLRLRRLLRLLRRLRRRRRLLRRRLRRLRLRRRLRRLRRLRRRRLRLRLRRLRRRRRRRLRRLLRRLRLRLRRLRRLLRLLRRLLRLLRRLLLLLRRRRLLRRLLLRLLLLLRRLRLLLLRRLLLLLRRRLRLRLLLLLLRLLLLRLRRLRRLLLLLRLRRLRLLRLRLLLLRLLRLRLLRRLLLRLRLRLRRLRRRLRRLRLRLLLRRRLRRLLLRRLLLLRRRRRLRLLRLRLRRRLLRLLLLLRRLRLLLRLLLLRRRLLLLLLLRLRRRLLRLRLLLLLLLRLLLLRLLRRLLRLRLRLRRLLLLRRRRRLRLLRLRRLLLRRRLRLLLLRLRLLRLRLLRLRLRRRRLRRRRLRLRLLRLLLRRLRLLLLRRRLRRLLRLRLRLRRLRRRLRRLLRLRLLLLLLRRLRRRLRLRRLLRRRLRRRLRRRLRLLRLRLLLLLLRLLLRLRRRRRRLLRLLRLLLLLLLRRRLLLRLLRRRLRLRRRRRLRRLRLRLLRLRLLRRLRLRRLLRLRRRRRRRRRRRLLRRRRRLRLLLRLLRLLLRLLLLLRLLLLRRRRRRRLLLLRLLRRRLRLRRLLLLRRLRLRLRRRLRRRRLRRLRLLRLLLRRLRRLLLRLRLLLRLLLLRLRLRRRRRRRLLRRLLLRRLRRRRRLRRRLLLLLRLRRRLLLRLLRLRLRRLRRLRLRLRRLRRLRLLLLLRLLLLLLRRRLRLLRRRLLLLRRLRLRLRLLLRLRLLRRRRRRRLLLRRRLRLLRLLLLRLLRLLRLRRLLLLRLRLRLLRRRLLLLRLRLLLRLRRRRRRLRRRRRRLLRRLRRLLLLRRLLRRLRRRLLRLRRRRRLRLLRRRLRRLRLRLLRLRRLLLLRRRRRLRRRRRRRLRLLLLRRLLLRLRLRRLLLRRRRRRRLRRLLLRRLRLLRLRRLLLLLRRRRRLLLLRRLLRRLRLLRLLLRRLLRRLRRLLRRRLLLRLLRRRLLLRRLLRLLLRRRRRLRLLRLRLRRLRLLLRRLLLRLLRRLRLRLLLLRLRRRLRLLRLLLRRLLLLRRLRRRLLLRLLRRRLRLLRLLLRRRRRRRLRRRLLRRRLLLLRRRRLRRLRRRLRRRRRRLLRRRRLLRLRLRRRRLLRRRRRRRRLLRRLLLRRRLLRLLRRRRRRLLRRRRRRRRRRLRRLLLRLRLLLRRRLRRRLLLRRLLLLLLRRLRLRLRRLRRRLRLRLLRLLRRLRLLRRLLLLRRRLRLRRRLRRRRRLRRLRLRRRRRRRRRLLLRLLRRRLLRLRLRRRRRRLRLLRLRLLLLLLRRRRRRRLRRRLLLLRLRRLLRRRLRLLLLLRLLRLRLRRLRRRLRLRLRRRRRRRRLRRRRLRLLRLRLRRRRLRRLLRLLLRLLRLLLLLRRLLRLRRLLLRRRLRRRRRRLLRRLRLLLLLRRLRLRRRRRLLRLLRLLRRRRLLRLRLRRLRLLLRLRLLLRLLRRRRLRLRRLRLRLLRRRLRLLRLRLRRRRRRRRRLLLRRRLRRRLRRLLLRRRRLRRLRLRRLLRRLRLRLRRLLRLLLRLRLLLLLLLRLRRLLRLRLRRLLLRLLLLRLRLRLLLRRRRRRLRLRLRRRRLLRRRLRLLRLLRRLRRRRRLRRLRLLRLLRLRLLLLRRLRRRRRLLRRLLLRRLRRRRRRRLLLRLRLRRRLRLLRLLRRRRRLRLRLRLLRLRRRRRLRRLRRRRRRRRLLLLRLLRRLRLRRRRRLLLRLRLLLLLLRLLLLRRLRRLLRLLRRLLRRRRLLRRRLRLRRRLRRLLLLLLLLLLLRRLLRLLRRRLLRLRLRLRLLRRLLRRLLRLLLLRLLRRRLRLLLRLLRRRLLLLLRRLLRLRLRLLLRLLRRRRLLLRRLLLRRLLLRRLLLRLRLRLRRRRRLLRRRRLRLRRRRRLLRRRRRLRRRRLRLLRLLLRLRLRRRRRRRRLLRRRLLRLLRRLLLLLLLLLLRRLLLLLLLRLLRLLLLLRRRLLLRLLRLLLLLRRLLRLLLLRRRLRLLRLRRLRLLLLLLLRLLRRLRRLRRLLRRLRRRRRLRRRRLLRLLLLLRRLRLLRLLLRRRRLLRLLLLLRRRRRRLLLRLLRLLLRLLLLLLRRRLRLLLLLRLRRRLLRRRLRLRLRRRLLLLLRRLLLRLRLLLRLRRRRRLRLLRLRRLLRRLRLLLLLRRLRLRLLLRRRLRLLLLRRRRLLLRRLLRLRLRRLRRLRLLRRLLLRRRLLLLLLRRLRLRRRRLLRLLRRLRRLRRRLRRLRLLRRLLLLRRLLLRLRRRLRLRRRLRRLRLLRRLRRRRLLRRLRLRLRLRLLLLRLLRRLRRRRLLLRLLRRRRRRLLLLRLRLRLRRRRLLRRLLLLRLRLRLRLLLRLLRLRRLLLRRRRLLRRRRRRRLRLLLRRLLLLLRRRRLRRLRLLRRRLLLRLLRLRRRLRRLLRLRRLLLLRLRRLLRRRLLRRRLRLRRRRRRLRLRLLLRLRRRRLLRLLRRLLLLRLLLRLLRLLRRRLRLLRLLRRRLLLLRLLRRLRLRLRRLLRRLLLLLLRLRRRRLRRLRRLLRLLLRLLRRRRLLRLRRLLRLRLRRLLRLLLRRLLRLRLRRLLRLLLLRLRLRLRLRLRRLLLLRLRRRLRRLRLRRRLRLLLLRLRLRRLLLRRLLLRLRLRRLLLLRLLLRLRRRLLRLLRRLRLRRLRRLRRLLLRLLLRRRRRRRRLLLRLRLRRRRLRRLRLLRLRLRRRRLRRLRRLLLLRRRLLRRLLLRRLLRLLRLLRRRLLRLLLRRRRRLLLLLRRLLLLLRLRRRRRRLRRRRRLRRLLRRRLLRRRLLLLLRRRRLLRRRRRLLRLRLRLLLLLLLRRRRLLLRRLRRRRLLLRRRLLLRRLLRLLLRLLRLLLLLRLRLLRLRLRRRLLLLLRLLRRLRLRLLLLLRLLLLRRLLLLLRLRLRRRRRRLLRRLRRLLRLLRRLRLRLRLLRLLLLLRRRRRLRRRRRLRRRRRLLLLRRRRRRLRLRRLLLLLLRRRLLLRRRLLRLRLLRLLLLLLRLRLRLLLRLLLLRRLLRLRLRLRRRRLLRLLLLRRLLRLRLRRLRRRLRRLRRRRRLRRRLLRRRLRRRLRLLLRRLLRRRRLLRLLLLLRLRRLLLLRLRLLRRRLRRRLRRRLLLRLLLRRRRLLLLRLRRRLRRRLLRRRRRLLRLLLLLLLLRRRLRRLLRLLLLLRRLLLLRLLRRLRRLRLRRLRLRRLLRRLRRRLRLRRLRRLRLRRRLRLLRLRLLLLRLLLLRRLLRLRLLLLLRLRLLRLRLRLRRLLLRLRRLLLLLRRRRLLLLRLRLRLRRLLLRLLLLLLLLLLLLRLRLRLRRLLLRRRLLLRRLLLRRLRRLRLRRRLLLRRLLRRRRLLRRRLLRLLRLLLLRLRRLLRRRRLLRLRLLRRLRRRRRLRRRRLLRLRLLRRLRRRRRRRRRLLRRRLLLLRLLLLRLLRRRRRRRLLLLRLLRRLLLRRRLLRLLRLRRLLLRRLLLRLRRLLLLLLRRLLLLRRRRLRRLLLLLRLRLLLLRRLLRRRLRRRLLRRRRLRLLRRLRLLLRRLLLLRLRLRLRRRLLRRRRLLLLRRLRLLLLLLLLRRLLLLRRRRLLRRLLLRLRRRLLRLRLRRRLLLRLRLLRLRRLRRRLLRLLRLRRLRLRLLLRRRRRRLRLRRRLLLLRRLLLLRLRLLRRRRLRLLRLRRLRLLLRRLRLLLLLRLRLRLLRRLLLLRLLLRRLRLRRRRRLRLLLRRLLLLRLRLLRRLLRLLLRRLRRLLLRLRLLRRLRRRLLRLRLLRRLRRRRLRLLLLRLLRRRLLLLLLRRRLRRLLLRLRRRRRLLRRRRLLRLLRRLLRRLLLLLRLLLLLLRRLLRLLLLLRLRLRLRLRLLRRRRRRRLRLRRLRRRLLLLLRRLRLLLRLRRLRRLLLRLRLLLLRRRRRLLRLRLRLLRRLRLRRLLRRRRRRRRLLLLLRLRLLLRLRLLLLLRRLLRRLLRLRRLRLRRRLLRRLRLRLLRLRLLRLLLLRLLLRRRRLRLLRLLLRLLLLRLLRRLRRRLRLRLLRLRLLLRRRLLLRRRRLLRRRLLRLRRRRLLLRLRLLLRLLLLLLLRLLRRRRLLLLRRLRRRLLRRLLLLRRRRLRRRRLLLLRLLLRRRLLLRRRRRRLRRRLRRLRLLLRLRRRLRLRRLRRRRLLRLLLRLLRRLRLLLLRLLRRLLRRLLLLLRRRLRRRLLRLLRLLRRRRLRLRRRRLRRLRRRLLLLLLRLLRLRRLRLLLLLRLRLLLRRRLRRLRLRLRRRRLRLLRRLLLRRLLRRRRRRLRRRLLRRRLLLRLLRLRLRRRLLRRRLRLLLLLRRLLRRLLLLRRRLLLLRRRRLLLRRLLRRRLRLLRLRLRLRLLRRLRLRRRLRRLRRLRLLRRLLLRLRRLRLLRRRLRLLRLLLLRRLLRLRLLLRLRLLRLRLRLLRRLLLRRLRLLRLRRRRRLLLLLRRRRRRRRRLLLLRRLLLRRLLRLRLRRRLRLRLLRRRRLRLRLLLRRLRRLLRLLRRLRRRRRRRLRRRLRRRLRLRRRRLRLLRRRLRRLLLLLLRRLLRLRRRLRRLLLLRLLRLRLLLRRRRRLLRLLRRLLRRLLRRLRRRLRRRLLLLLRRLRRRRRRLRLLLLLRLLLRLLLRLRLRLLLLLRLRRRLLRRLLLLLRRRRLLRLLLLLRLLRRLLLRRLRRRRLRLRRLRRRLLLLLLLLRRRLRLRLLLRLLRLLRRLLRLRLLLRRLRLRRLLLLRRRLLLRRRLLRRLRLRRLLLLLRRRLLRLRLRLRLLRRLRLRLLRLRLRLLRRRRRRLRLLLRLLLLLRRRLRRLRLLRRLRLLLLRLLLLRRLLRLRLLRRRRRLRLRLRLRLLRLRRLRRRLLRLLRRRLRRRLLRRRLLRRLRLLRLRRRLRRRRLRRLLLRLRRLRRLLLRLRLRLLRLLLRRRLLLLRRLLLLRRLLLRLRLLRLRRRRRRRLLLLRLRLLLRRLLRRRLLRLRRLRRLLLRLLLRLRRRLLRRRLRLLRRLLLRLRRLLLRLLRRLRLLLRLRRLRRRLRRLLRLLRRRLLRLLLLRLRRLRRLRRRRRLRRLLLLLLRLLRRRRRRRRLRRRRRLRRRRRRRRLRLLLLRLLRLRRRLRRRRLRLRLLRLRRLLRRLLRRLRLLLRLLRLLRLLRRLRRLLLRRLRLLLLRRLRLRRLLRRRRLRRRRRRRLRLRLLRLRRRRLRLLRRRRLRRLRLLLLLRRLLRLRRLRLLRRRLRLLRLLRLRRLLRRRLLLLRRLLLLLRRRRRRLLRRRLLRLLRRRLRRLLRLLLRLLLLLRRLLRLRRRRRRLRRLRRRLLRLRRLRLLRRRRRRLRRLLLRLLLLRLRRLLLLLLRLRLLRRLRRLLRRLLRRLLLLLRRRRRLLRLLRRLLRLRRLRLRLLLRLRRLRRRLRLRLRRRRLRRLLRRRLRLRRLRLLLLLLRRRRRRLRLRLLLRLLRLLLRRLRLRLRRLLLRLLRRRLRRRRRRRRRLLLRRLRLLLLLLRLRRLRRLRRLRLRRLLLLLLRRRRLRLLLLRRRRLRRRRRRLLLRLRLRLRRLLRLRLLLLRLRRLLLLLRRRRRRRRRRLRLRLRRRRRRRLRRLLRRLRLLRLLLLRRRLLRLRRRRLRLLRLRRLRRLRRRLLLRRLLLRLRRLLLLLRLRRRLLLLRLLRLLLLRLLRRRRRLLLLLLLLRLLLRLRLLRRRLLLLRRRRRRLRLLLRRRRLRLLLRRLLRRRLLRLLRLLRRLRRRRRRRLLLRRLRRLRLLLRLRRLLLRLLLLLRRLRRLLLLRRLLLLLLRLLRRRLLLRRLRRRRRLRLRLRLRRLRLRRLLLLLLLLLLRRLLLRRLRRLRLLRLLRLRRLRRLRRRLRLRRRLLLRRLRRLLLRLRLRRLRLRLLLRRLLRRRLLRRRRRRRLRRLRLLRLRLRLLLLRLLRRLLLRRLRLLLRLLRLLLLLRLLLRRLRRLLLRLLLLRLLLRLRLRRLLRLLRRRRRRLRRLRLRLLLRLRRLLLLLLLLLRLRLLLLLRRRRRLRRRRLLLRLRRLLLRLLLRLLRRLRLLRLRRRLRRRLLRLRRLLLRLRLLLLLRRRLLLRLRLLLRRLLLLRRLRRRRLLLRLRRLLRRRLLLRRRRRLRLLLRRRRLRLRRLLRRRLRRRRLLLLRLRLLRRLRLRRRRLRLLRRLLRLRLLRLRLRLRRLRLRLLRRLRLRRRRRLLRLLLLRRRRRLLRRLLLLLRLLLRLLLLLLLRRLLLRLRLRLRLLRLRLRLLRRLLLRRLRRLRLRLLLRRLLRRRLRLLRRRLLLLLLLRLRRLRRLLLLLRRLLRRLRLRRLRLRRLLLRLRLLLLLRLLRRRRLLRLRRLLLRLLLRLRRLLRRLRLRRRLRLLLRLRRRLLRRRRLLRLRLLRLRLLRLRRLRLLRRLLRLLRRLLRLRRLLRRLLLRRLRLRLRRRRLLRLRLRLRLLLLRRRLLLLLRRLLRLRLLLLRRLLRRRRLRLLRLLRLLRRLRLRLRLRRRLLLLRLLRRLRLLRLRRLLRLRLRLRRRRRLLRLRLRLRLRRLLRRRLLLRRRRRRLRRRLLRLLRLLLRLRRLLRRLLRLLLLLLLRRLRRRLRLRRRRRLRRRRLLLRRRRLLRRLLRRLLLLRRRLRLLRLRLRLLRRRRRLLLRLRLRLRLRRLRRLRLRLLRLLLLLRLLRLLLLRRRLRLLLLRRLLRRRLRLRLRRLLLRRRLRRRRLLRLLRRLLLRRLLLLRLLLRLRLLLRLRRLLRRLRLRRRRLLRRLRRRLLRRRLRRRRRLLLLLLLRLLLLRRLRLLRLRLLRLRRRLLRLRLLLLLLRLRRRRRLLRRLLRLLRLLRLRRLRRLRLRRRLLRRRLRLLLRRLLLLLRLRRLRRLLLRLLRRLRLLLRLRRRLRLLRLRLLRRLRRLLLRLLRLRRLLRLLRLRRLLRRRRLRRLRRRRLLLLRLRLLLRRRRLLLRLRLRRLRRLRRRLLRLRLRLRLRRLLRRRRRLLLLLRRRRRLRLRLRLRRRLLRRRLLRRRLRLRRRLRRRRRRLRLRLRRRRLLRLLLLRLLRLLRLRRLLLRRRLLRRRRRRRLLRRRLLRLRLLRLLRLRLLRLRLRRRRRLRRRRLLRLRLLLRRRRLLLRRRRRLRRLLLLLRRLRLRLRLRRRLLLLLLRRLLRLRRRRLLLLLRLLRLLRLLRRRLRLLLRLLRLLRLRRRLRLRLRRLRLRLRLRRRRLRLLLRLLRRLRLLRRLRLRRLLLLRRLLLLLRLLRLLRRRRLLLRRRRLLLLRLRLRRLLLLRLRRRRLLLRLRRLLLLLLRRLLRLRRRRRLRLLLLRRRRLLLRLRRRRLRRRLRRRRLRRRRRRLLLRLRRRLRRRRLRLRLLLRLRLRLLRRRRRLRLRLLRLRLLRLRLRRLRLRLLRLRRLLRRRLLRLLRRRLLLRRRLRLRLLLLLLLLLLLRRRRLLLRRRLLRRRLRLLRLLRRLLRLRRRRRRRLRRLRRLRRRRRRRRRRLLRRLLLRRRRLLRLRRRRRRLLRRRLLRRLLRRRLRLLRRRRLRRRLRLRLRLRRLLRRLRRRRLRLLLLLLRLRRLLLLLLLLRRLLLLLLRLLLLRLRLLRRRLLLLRLLLRRLRLLLLRLLRRRRLLRLLLLRLLRLLRLRRLRLLLLLLRRRLLLRLRRLRRRRRRLRRRLLRLRLRLLLLLLRRLRLLRLLRLLRLRRLRLRLLLLLRRLRLRLLLRLRRRRLLRRRRLLLLRRRRRLLLRRLLRRRRLLLRLRLRLLLRLRRLRRRRLLLLRLRLLRRRLRRRRLRRLLLRLRRLRLRLLRLLLRLRLRLRRLLLLLLLRRLRRLRRRLLRLRRRLLLRLLLRRRRLLLRRLLRRRLLRLRLLLLRRRLLRRLLRLLLRRRLLLLRLRLLRLLRRLLRLRLRRRRLLRLLRRRLRRRLLLRLLRLLRRLRRRRLRLLLRRLRRRLLLRRLLLRLLLRLRRRRLLLLRRRLLRRLLLRLRRRLRRRLRLRRLRRRRLLLRRLLRRRRRLRLLLRRRRRLRRRRLLRRLLLLRLRLRRLLLLLRLLRLLRRLRRLRRLLRRLLRLLLRRLLLRLLLRRRRRLLLLRLLRRLLLLRRLLRLLLLLRLLRRLRLRLRRRLRLRLRLLRRLLRRRRLRRLRRLRLRLLLLRLLLRLRRLLLLRLRRLRLRRRLRRLRLRLRRLRRLLLLRRLLRRLLRLRRRLRRLLLRLLLRLRRLRRRRLRLRRLLRRRRLRLLLRRLRLLRLRRLLRRLLLLRRLLLRLLRLRLLRRLLRRRRLLLRRRRLRLLRLLLLLLLLLRRLLLLLRRRLLLRLRRRRRRLRRLRRLLRRRRRLRLLLRLLRRRLRRLRLRRRLRRRRLRRLRRRLRLLLRRRRRRRLLRRRRLRLLRRLRRRLRLLLLRLLRLRLRRLRLLRLRLRRRLRRRLLRLLRLLRRRLRRLLLRLLRRLLLLLLRRRLRLRLLRLLLLRRLRLLLLLLLRLLRLLRRLLRLRRRLRRRRRLLRRRRLLRLRLLLRRRLLRRRLLLLLRRRRRRRLLRRLRLRLRLRRRRRRLRLLRLRRLRRLLRRLLLRLRLLRLLRLRRLLRLLRLRLLLLRLLLRRLRLRRRRRRLLLLRLRLLLLRLRLLLRLLRRLRRLLLRLRRLRRLLRRRRRLLLLRLRLRRLRLRLLLLLLRRRLRLRRRLLRLRRRRLLRRRRLRLLRRLRLRRRRRRRRRLLLLRRRLLLLLLLLRLLRRLRLLRLLLRRLRRRRLRRLRLRRRRRLLLRLLLLLRLRRRLLLLRLRRRLRRLRLRRLRRRRLRRRLLRRLLRRLRRLLRRLRLRLRLLLRRLLLRLRLRLLLRLLLRLRLRLRLRRRLLLRLRRRRLLLLRRLRRRRLRLRLLLLLLLRLLLRRRLRRLRLLRRLLLLRLLRLRLLLRRRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLRLLRLLLRRRRLLRLLLRLLRRLRLRRLLLLLLLLRRLRLRRRRLRRLRLRLLRRLRLLRRLLLLRRRRLRLLRRLRLRRRRRRRLLLRLLRRLRRRRRRLLLLLRLRLLLRRRLRRLLRLLRLLLRRRLRRLLLRLLLLRLRRLLLRLLRRLRLLLLLLLRLRLRLRRRRLLRRLLLLRLLRRRRLLLLRLRRLRRRRLRLLRRRLLLRRRLLRLLLRRRLLLRLLRRRRRLRRLLLRRLLRRLRRLLRLRRRLRRLRLRRLRRLLRRRRLLLLRLLRLRLRLLRLLRLRLRLRLRRRLRRLLRRRRLRRRLRLRRLRRRRLRRRRLLLLRLLLRLLRLLLRRRLRRRRLLLRLLRRLLLLRLRLRRRRLLLLRLLRLLLRLLLLLLRRLRLRRRRLLRLLLLRLLLRLRLLLLRLRRRRLLRRRLRLLLLRRLRLLLLLLRLLRLLRRRRLLRLRRRLLRRLLLRRRLLRRRLRRLLRRLRRLLRRLLRRRLLLRRRLLRRRRLLRRRRRLLRLRRLRRLLLLLRLRRLRLLRRLLLLLRLRRLRLLRRLRRLRLLLLLLRRRRLRRRRRRRRLLLRLLLRLLLLLRRLRLRRLLLLRLRRRRLLRRRRLRLLLLLRRLLLLLLLLLLLRRRLLLLLRLLRLLLRLLRRLLRRRRRLLRLRRLRRLLRRLRRLLRRLRRLLLRLRLRLLLRLLRRLRLLRLRLLLLLLRLRRLRRLLLLRRLRLRLLRLRRRLRLLLLRRRLLLLLLLLLRLRLLLLLLRRRRLRLRLLRLLRLRLRRRLLRRLLLLLLRRRLRRLRLLLLRRLRRRLLLRLRLLRRLRLRLRLRRRLRLLLLLRRRLLLRRLRRLRLRRLLLLRRRRRLLLRLLRLLLRLLLLRRRLLRLLRRRRLLRLLLLLRLLRLRRLLLLRRRRLRLLRLLLLLRLRRRRLRLRLLLLLLLRRLLRRRLLLRRRLLRLLLLLLRLRRRRRLRLLLLLRRRLRLLRLRRLRRRLLLRRRLRLLLLRLRLRRLRRRRRLRRRRRRRRRRRLRRRRRLRRRLLLRRRRLLRLRLLRRRRRRRRRRRRRLRLLRRLLLRLLRLRLLRLLLRRLRRRLRRRLRLLRRLLRLLRLRRRRRRLLLRRRRLLLRLLRRRLRRRLRRLRLLRRRRLRRRLLRLLLLRRRRRLRLLLLRLLRRLRLLLRRLLRRLRRLLLRRLRLLLRLRRLRLRLRLRLLRLLLLRLLRLLRLLLRLLRRRLRRRRRLLRLRRLRRRLRRRRLRLRLLLRRLRRLLLLRRRLLLRLLRRRLLLLLLRLRLLRLRRRRRLLLRRLLRRLRRRRRRRRLLLLLRLRRLRRLRRRRRLLLLRRLRRRLLLLLRLRLRRRLRRLRLRRRLRRLLRRLRRLRRRLLLRLRRLRRLRRLRRRLRRRLRLRLLLLRRLLLLRLRLRLRRRLRLLLLLLLRRLLRRRRRLRLRRRRRLLRLRLRRRLLLRLRRRLLLLLRRRLLRLLRLRLRRLLRLRRLRRLRRLLRLRRRRRLRRRLRLLLRRRLRLRLRRLLLLLLLLRRLLLRLRLLRRLLLLRLRLRLRLRLLLLLRLRRLRLLRRLLRLRLRLLLRRRRLRRLLRRLLRRRLLRLLRLLRLRRLLLLLRLLLRLLRRRLRRRRLRLRLRRLRRRLLLRLLRRRLLLLRRLRLLLLLRLRLRRLRRLRRRLLLLRLRLLRRLLRRRRRRLLRLLLLLRLLRLLRRLRLRLRLRLLLRRLRLRLRLLLRLLRLRLRRRRLLRRRRRLRRLLRRLRLRRLLRLLLLLLLRLRRLRRLLLRRRRRRLRLRRLLRLLLRLLRLLRRLLRLRLRRRLRLRRRLRRRLRRRLRLRLRLRLLLRRLRLLRRLRRLLLRRLLLRLLRRLRRRLLRLRRRLRRRRLRRRRRLLLLRLLRRRLLLRLLRLRLLLRLRLLRLRRRLLLLRRLLRRRLRRLLRRLLRRRRRLRRRRLLRLLRLLRRRLLRRLLLLRLLLRRLRRRRLRRRRRLRRRRLRLRLLLRRLLLRLRRRLLLRRRLRRRRRLLRLRRLLRLLLRRLRRLLLLLLRRLRLLLRRRRLLRLLRRRLLLRLLLLRLRRLRRRRLRRRRLLLLLLLRLRLRLLLRLRLRLLRLRLRLLLLRRLRLRRRRLLRRRLLRRLRLLRLLRLLLRRLRLRRLLRLRRLLLRLLLRRRLRLRRLRLLRLRRLRRLRRLRLLRRRRRLRLRRLRLLRRRLLRLLRRLLRLLRLRLRLRRLLRRRLLLLLRRLRLLLRLRRRLLRRRLLLLRRLLRLRRRRRLRLRLRLRLLRRRRRLRLRLRRRRRRRRRLLRLLRLRRLLLRLRLRLLLLLLRRLLRRRLLLRRRLLLLRLLLRRLLLRRLLRLLRRRRRRRRRLRLLRRLLLLLLRRRRLRRRLRRRRLRRRRLRLRLLLLRLLLRRLLRRRLLRRLLRLRRLRLRRLLRLLLRRLLLLLRRLRRRRLRRLLLLRLRLRLRRRLRRLRRLRLRLLLRLLLLRLLRLLLLRRLLRLLLRLRLRLRLLLRLRLRLRRRRLLLRLRLRLLLLRRRRRRRRRRRRLRRLRLRRRRLLLRLRLRRRRRRLLLLRLRLRRLRRRLLRRRLRRRLRRRRRRRRRRLRLLRLLRLLLRRRRLRLLRLRRLLRRRLRLRRRLRRLLLRLLRLRLRLLLRLRRLRLRLLRRLLLLRRLRRRLLRLLLRLLRLLLLRRLRLRRRLLLRRLLLLRLLLRLLLRRRLRRRRLRRLLLLLRLRRRLLRRLRLRLRLLRRLRRLRRLRRLLLRRRLLRLRLLLRRLRRLLRLRLLRLLLRRRLLRLRRRLLLRRLLLRRLLRLLRRLRLRRLLRLRRRRRLLRLLRLRLRLRLRLLLLLRRRRLRRLRRRRLRRRRLRRRRLRLLRRRLLRRLRRLLLLRRLRLLLRRRLRLRRRLLLRLLLRRLLLRLLLRRRLLRLLLLRLLRRLLLLRLRRRLRLLRLRLRRRRRLRLRLLRLLLLRRRLLRLRRRRRLRLRLRLLRRRRRRRRRLLLLLLRLRLRLRRLRLLRRLLRLRRLRRRLRLRRLRLLRRLRRLRRLLRRRLLRRRLLRLRRLLLRLLRRRRLRRLLRRRRRLRLRLRLRRRRRRLLLLLRRRRLRRRLRLLRRLLLRLRLRLRRLRRRRLRRLRRRLRLLLRLLLRLLRLLLRLLLLLLLRRLLRRRRLRLLRLRLRLRLLRRLRLRLRRRRLRLLLLLRRLRLRLRRRLLLRLLRRLRLLLLLLRRRLRLLLRRRRRRLLRRRRLRLRLLRLRLRLLRLLRLLLRRLRLLLLRLRRLRRRLLRRRLLRLRLRLLRRRLLRLLRRRRRLLRLRLRLLRRRRRLRLLLLRLLRLRRRLLLRRLRRLLLRRRLRLLLLLRLRRRLRRRRRLLRRLRRLLRLRLRLLRLRRRLLLLLLLLRRLRLRRLLLRLRRLLRLRRRLLLLLRLRLRRRLLLLLRRRRRRRLLLRLLLRRLLRRLLRRRRRRRLLLRRLLLRRLLRRRRLRLLRLRRLRLLLRLLRLLLRLRLLRRLRRRLLRRLRRLRLRRRRRRRRLRLLLRLRRRRLLLRRRLLRLRLRRLLRRRRLLRLLLLRRRRLLRRLRRRRRRRRLLLRLLLRRRRRRLRRLRRLLLRLLRRLRLLRLRLRLLRRRRRRLRRLLLRLRLLRRRRRRRRLRLLRLLRRLLRLLRLRRLRRRRLLRLRLRRRLRRLLRRLLRRLLRRLRLLRLRRLRLLRLRLLLLRRLRRLRRRRLRLLLLLRRRRRLLLLLLRLLRRLRLLRLLLRRRLRRLLLLRLRRLRLLLLRLRRRRRLLRLLLLLRRLLLLLRLRLRRLLLRLLLRLRRLLLRLLRLLLRLLLLRRRRRLRLRRLLLLLLLRLRLRRLRLRRRLLLRLRRLRRLRRRLLRLLLLLLLRLLLRRRRRLLLLLLRRLLLLLRRLLLLRLRRRLRLRLRRRLRLRRLRLRLLLRRRRLLLLRRLRRLRRLRLRLRRRLLLLRRLRLRRRRLRLRRLRRRLLLRLRLRLRRRLLLLRRRLRRLRLRRRRRRLRLRRRRRLLLLRLLLRRRLLRRRLRLLRRRLRLRRRLRRLRLRRRLLRRLRRLLLLLLLLLRLLLLLLRRRRLLLLRLLLLLRLRLLRRRRRRLLRLLRLRRRLRLLLLLLLLLLLRRLRLRRLRLLRLRRRRLRLLLRRRLLLRLRRRLLLRLRRLRLLLRLLLLRRRRRRLRLRLLLRLLLRLRLRRLLRRRLLRLRRLLRRLLLRRLRLRRRRLRRRRLLRLRLRRLRRRRLLLRRLLLRRLRLLLLLRLRLLRLRRRLLRRLLLLLLRRLRRLRLRLRRRLLRLLRRRRLLLLRRLLLRRLRLRRLLLLRRLRRRRLLLLRLLRLLLRRRLLRRLRRLRRRLLRLLLLLRRLLLRRLRLRLLLLRRRRRRLRRLRLLLRLRLLLLRRRRRRLRLRLLRRLLLRRRLRRRLRRLRLLLRLLRLRLLRLRRRRLLLLLLLLRLRLLLLLLRRLRRLRLLRLRRLLLLRLLLLLRLLRLLRLRRRLLLLLRLRRLLRLRLRLRRLRRRLLRLRLLLRRRLRLRLRRRLRLRLRLRLLLRRLRRRRRRRRRRRRLRLLRRRLRLRLRRLLLLLLLRRRLLLRRRRLLLRRLLLLRRLLRLRRLRRRRRLRLRRRLRRRLLLRLLLRLLRRLLRRLLRRLRRLLLLLLRLRRRRRRLLLLRLLRLRRLRLLLRRRRRRLRLLLLRLLLRLLLLRLRLLLRRRRRRLLLRLLRLLLRRLRRRLRRRLRLLLLRRRRRRLRRLLRRLLLLLLLLLRLRLRRLRRRRRLLRLLRLLLRLRLRRLLRRRRRRLRRLLLLLRLRLLRRLLLLRRRRLLLRLRRLRRLLRLLRLLRLLLRRLRLLLLLRRLRLRLRRRLLLRRRLRRLRLLLRLRRLRRLRRLLRRRLLRLLRLRRRRLLRLLRLLLRRRRRRLLRRRLRRRRRLRLRLRRRRLLRLRRRRLLRLLLLLRRRRRRRLRRRRLRLLRLLLLRLRRLLRLLLLRRRLLRRRLRRRRLLLLLLRRLLLLLRLRRLLLRLLLLRRLLRLLRRRLRLRLRRLRLRRRRLRLRLLLLRRLRRRRRRRRRRLLLLRLRLRLRLRLRLRLRLLRLRRRLLRRRRRLRRRRLRRRRRLRLRRLRRLRRLLLLRLLLRRLRLRLLLRRRLRRRRRRRLRLRRLRLRLRLRLLRRLLLRRLRRLLLLLLLRLRRLLRRLRRRRLRLLLRRLRRRLRRRRLLRLLRLRLLRRLLRLLLRRLLLRRLRLLRRLRRLRRLLRLLLRLRRRRRRRRRRLRRLLRLRRRRRLRLRRLLRLRLLLRLRLRLLLLRLLLLRLRLRLRLRRLLRLLRLRLLRRLRLRLRLLLLRRLRLRLRRRLLLRRRLRRRLRLLLRRRLRRLLLLRRRLRLLRLLLLRRRRLLLLRLRLRLLLRRLLLRRRLLLRLLLRLRRLLRLRRLLLLRRLLRRLRLLLRLLRLRRLRLRLRLLRLRLRRLLRLRLLRLLLRLRLRRLRRRLLRLRRRRLRRLRRLLLLLLRRLLRLRLLRRLRLRRRLRRLRRRLRRRRLLLLRLRLRRRRLRRRRLRLLLLLLLRRLLLRLRLLRLLRRLRRLLLRLLRRRLLLLRLLLRLLRLLRLRLRRLLLLLRLLRLLRRRLRLRLRLRRRLLLLRRLLRLRRRLRLLLRRLLLLLRLLLRRLRLRRLRLRLLRRLLLRLLLLLLRLRLLRRRLRLRLLRLLLRRLRLRLLRLRLRRRRRRLLLLRRRRRLRRRRLRRRRLRRRLLLLRLLRRRRLLRLLRLRLRRRRLRRLLRLRRLRLRRRLLLLRRLRRLRRLLLLLRLLRRRLLLRRRRRLLLRRRLLRLLRRLRRRRRLRLRLLLLLLRLLLRRLRRLLLRRLLRLLRRLRRRLLLRLLLLRRLLLLRLRLLRLLLRRLLLLLRLRRLLRRLRRRLLLLRLRLRLRLRRRLLRLLLRRLRLLRRRRRLRRLRRRLLRRRLRRRRRRRRRLLLRRRRLLLRLLLLLLLLLRRLRLLLLRLLLRRRRRLRRRRLRLRLRLLRRLLRLLLLLLRLLRRLRLLLRLLRLRLLRRRLRRRRRRLLLRLRLLRLLLRLLRLLLRRRRLRRRRRRLRLLLRRRRLLRLLRRLRRRLLLRLLRLLRLLRRLLLLLRRRLLRRRRLRLLLRLLRRLRLRRLRLRRLLRLRLRLLRLRLRRRLRLRRRLLRRLRRLLRLLRLRLLRRLRLLRLRRLLLRRRRRLRLRLRRLRLLRLLRRRLLLLLLLRLLRLRRRLRLRLLRRRRLLLRRRRRLLLLLLLRLRLRLLLRRLLLLRLLLRLLLRLRRLLRLLRLRLRLLLRLRRRRRRRRRRRRLRRLRRRRRRLRLLLRLLRLRLLLRLRLLLRLRRLRLRRLRLRLLLLLRRLRLRLLRLLRLLRLLRRRRRLLLRLLLRRRRLLRLRRRLRLLRRRLLRRLLRRLRRLLLRLRRLLRRRRRLLLLRLRLRRRLRRRRRLRLLLRLLLRLLRLRLRLRLLRLRLLLLRLRLLLLRRLRLLLLLRRLRLRLRRRRRRLRRRLRLLRRRRLLRRRRRLRLRRLRRLRLLLRRLRLRLRLLRLLRRRLLRRLRLLRLLRLRLRRLLLLRRRRRLLLLRRLLRLRLRRLRLLLLRRRLRLRRRLLLLLLRLRRRLRLLLRLLLLLRLRLLLLLRRRRLRLRLLRLLLRRRRLLRRLRLRRLRRLLRRRRLLRLLLRLRRRRRLRLRRRRRRRRLLRLLRLLLLLRRLRRLLRRRRRLLRLLLRLLRRLRLLRRLRLLLLRRLLRLRLLRRRLLLRRLLLLLRRLLRRLLLLLRLRRLLLLLLRLLLRLRLRLRLLRRLRRLRLLRRRRRRRLLRRLRLRRLRRRLLRRLRRLLRLRRLRRRRLLLLRRRRRRRLLRLRRRRLRRLRRLRLLRRRLLRRRRRRRRLLRRLLRRLLRLRRRLRLLLLLRLLLLLLLRRLRLLLRRRLLRLLRLRRLRRLRRLRLLRLRLRLRRLLLRRRLRRLRRLLRLLLLRLLRRRRRRLLRLRRRRRRLLLLRRLLRLRLRRRLLLLLLLLLRRRRLRRRRLLRRLRLLRRLRRRLRLRRLRLLLLRRRRLLLLRLLRRRRRRRRRRLLRLLLRRLRLLLRLLLRRRRLRLRRRRLRRLLRLRRRRRLRRLLLLRLLRRLLRRLLLLLRRLRLRLLRRLRRLLRLRLRLLLLRLRRRLLRLLRLRLRRLRRRLRRLLLLRLRLLRRLRLRRRLLLRRLLRRLRLRLRLRLRLLRRLLLRLRLLLLLRLLLLLRLLRLRLRRRRLLLLRLLLLRLLRRRLLRLRRLLLRRLLRRRRLRLRRLRRRRRRRRRRLLLRRLRLLRRLRLRLRLLRLRLLLRLRLLLLLRLRLLRRLLRRRRLLRRLRRRRRLRRRRRRRLLLLLRLRLRLLRRLRRLLLRRLLLRLLLRLRRRLLRRRLRRRRRRRLLLLRLLRLLRLLRLRLLLRLLRRRRLLLRRLLLLLRLLLRLRLRRLLRRLRLLRLRRLRLRLLRRLLRLRRLRLLLRLRRLRLLRRLLRLLRLLRLRLRRRLRRRLLLLRLLLLRRLLLLRLRLRLLRRRLRRRLLRRRRLRLLLRRLLRRLLLLRLLRLLLRLLLLRLLLRRLRLLLLLRLRRRLLLRLLLLRLLRRLLLLRRRRLLLRRRRRLRLLRRRRLLLLLLRLRRRRLLRRLRRLLRLRRLRLLLLLLRLLRRLRRRLLLLLLRLLRRLRRRRLRRRRLLLLLLRLRRLRRLRLLRLRRRRRRLRRLLRRRLLLLLLLLRLLLLLLLLLLLRRRRLLLRRLLRRLLLRRRRRLRLLLLLRRLRLLRRLLLLLRLLLLLRRRRRRRLLRRLLRRLLRRRRRLRLRLLRRRRLRLLLRRRLLRRLRRLRRLLRRLRRRRRRLRRRRLRLRRRLRRLLRLLLRRLRLRRLLLRLRLRLLLRRLLLLLLLLRLRRRRLLRLLLRRLRLRRLRLLLLLRLLLRRLRRLLRLRLRLRRLRLRRRLRRRLLRRLLRRLLLRLLLLLLLRRLLRRRLRLRLLRLRLRLLLRLLLRRRLLLLLRLRLLLLRLLLRLLRLRLLRLRRLLLRLRRLLRRLLRLLRRRLRLRLLLRRRLRRRRLRLRLRRRLLLLLRLLLRRRLLLRLRLLLLLLRRRRLLLRLRLLRRLRRLRRLLRRRRRLLRLRLLRLLLRRRRLRRRLLRRRRRLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRRRRLRLRLLLLLRLRRRLLRLRRLLLLLRRRRRRRLLLLRLLLRRLLRLLLRRLRRLRRLLRRRRLLLLRLLRLLRLRLLRLLLLRRRLLRLLLLLLLRRRRRRLLRLRLLLLLRLLRRLRRRRRLLLLRLRLRRLRLRRRRLLRRLLRRLRRLRLLRRRLLRLRLRLLLLRLLLRRRRRRRLLRLRRRRLLRLLLLLLLLLRLLLLRRLLRRRLRRRRLLRLRRRRLRLLLLRRRRRLRLRLLLLRLRLRLLLRLLRLRLRLLLRLRLLLRRRLRLRRRRLRLLLRRLRLRRRLRLLLLLLRRRLLLRLLLRRLLLLRLLLRLRLLRRRLLRRRLRRLRLRLLRRLLLLLRRLRRLRRRLRLRLRLRRRRLRLLRLRRRRLLRLRRRLLLLRLLLLRRLLLLRRRRLLRLLLRRLRLLLLRRLLLLLRLRRLLRLRLLRRRLRRLLRLLLRRLLRLLLRRLLRRRLLLRRLLRRLLLRRLRLLRRLLLRLLRRRRLLLRRRLLLRRLLRRLRRRRRLLLLRRLRLRLLLLLRRLLRRRLLRRLLRRLRLLRLRRRRLRRRRLLRRRRLLLLLLLLLLLRRRLRRRRRRRLRRLLRRLLRLLLLLRRLRLLLLLRRRRLLRRRRRLRRRLRLRLLRRRRLRRLLRRLLRLLRRRLRLRLRLRRLRRLLLLRLLLRRRRRLLRRRLRLLLRRLLLRLLRLRRRRLRLRRLRLRLRLLLRRLLLLLLLLRRLRLLLRLRRRRLLRLRRLRLRLRLRLRRRRRRRLLLRLRRRLLRRLLLLRRLRRLLRLLRRRRLLLLLRRRRRLLLRRRLRRLLRLLRLLRLRLRRRRLLRLRRLRLLLRRRLLLLLLRLRLLRLRRLLRLLLRLLLRLRRLRRLRRLRLRRRRRRLRRRRLRRLRLLRRLLRLRRRRLLLRRLLLLLRLRLLRLLRLRLLLRRLLLLRRLRRRLRLRRLLLRRLRRRRRLRLLLLLRRLRRRRRLLLRLRLLLLLRLLLRRRRRLLLRRLRLRLRLLRRLLRLRLLLLLLLLLLLRRLLLLRLLLLLRLLRLLRRRLLRLLLLLLRLRRRRLRLLRLRLRRLLRLRLRLLLRRLRLLLLLLLLLRRRLLRRLRRLLLLLLLLRRRLLLRRRLLRLLLLRLRLRLRLLRRLLLLRLRRRLLRRLRLRLLLRRRRRRLRRRLLLRRRLRLRLLRLLRLRLLRLRLLLRLRRLRRRRLLRLLLRRLLRRLRRLRRRRLRRLLRRLLLLRRLRRRRLLLLRRLRRLRRRRRLLRLLRLRRLLLRLRRRRLRRLLRRLRLRLRLLLRRRRLRRLRLLLLLRRLLRLLLRLRRRRLLLLLRRLLLLLRRRRRLLRLRLLRLRRRRRRRRRRLLLLRLRLLLLRRLRLLLRLLRLRRLRLLRLLLLLRLLLRLLLRLRLRRLRRLRRRRRRRRRLLLLLLLRRRRRLLRRRLLLLLLLLLLLLLRRLLLRLLLRLRLRLLLRRLRLRLLRRLRRLRLLLLLRLRRRRLLRLLRLLRLRLLLRRLRLLRRRRLLRLLLRLLLLRRLLRRLRRRRRRRLRRRRLRRLLLRRRLRLLLRRRRRLLRLRRRRLLRRLRLRRLLLRLRLLRRLLRLLRRRRRRRLRLLRLLRRRRRRLRLLRLLRLRLLLRLLLLRLLRLLLRRLRLLLLRRRRRLLRLLLLLLLLLRLLRLRRLLLRRRRLRLRRRLRRLLLLLRLRLRRRRRLRRLRRLLRRLLRLRLLRLLLLLRLRRRRRLRRLRLLRRLLRRLLLLLRLLLRLRRLRRLRRLRRRRRRRLRLLLRLRRRLLLLLRRLRLLRLLLLRRRRLRRLLRLRRLRLLLLLRLLLRRRLLLLLLLRRRLRLRRRLLLRRRRLRLRRLRLLRRLLRRLLRLLLRRLRLLRRLLRLRRLRLLRRRRLRLRLRRRLRRRLRLRRRRLLRRLLLLLRLRRLLRRRLLRLLRLLLRRRLLRLRLRLLRRLRRLLLLRRRRRLRLRRLRRRLRRLRLRLLLLRLRLLRRLLRRRLLLRRRRLRLLLRRRLLRLLLLLLLRLLRRLRLRRRRLLLRRLRRRLLRRRRLRRRRLRRRRLLLLLRRLLRRRLRRLRLLLRRLLLRRRRLLRRLRLLLRRRLRLLRRRRRRRLRRLRLLRLLLLLLRRRLLLRLLRRRRRRRLRRLLRRLRLRRLRLRRLRLRRRRRRRRRLLRLLRLLRRLRRLRLLRRRRRLLLLRLLLLRLRRLLLRRRRRLLRRRRRLRLRLRLLRRLRLRRRRLLRLLRRRRRLLLRRRRRRRRLLLRLRLLLRLLRLLLRLRLRRLLLLLRLRLRLRLLLLLLLRRRRRRRRRLRRLRLRLRRRRLLLRRRRLLRRRLLLRRRRLLRLLLRRLLLRRRRRLLRLLLLLLRRRRRRRRRRRRLLLLRLLLRRLLLLLRLLLLLLRLRRLRRRRLRRLLLLRRLRLLRLLRLRRLRLLLRRLRRRRLRLLRLLRLRRLRRLRLRLRRLLLRRRLRLRRRRLRLLLLRRLRRRLLRRLLRLLLRRRRRLRLRLLRRLLLRLLLRLLRRRRRLRRRRRRRLLRLLLLLLLLRLRRRRLLLLLRRRRRRLLLLRRLRRLLRRRLLRLLRRRLLLLLLLRLLLRLRLRLLRLRRLRRLRRLLRLLRLRRRRLRRLLLLRLRLRLLLRRRRLLRLRLRLRLRLLLRRLRRRRLLRRRRLRLRLLRRLRRLLRRLRRRLLLRRLLLLLRLLLLLRLLLRRLRRRLLRLLLLRRRLRRRRRLRLRLRRRRLLRLRLRRRLRLLLLLRRLRRLLLLRRLLRRRRLLLLLRRLRLRRRRLRLLLRRRLLLLRRRLLRRRLLRLLRLLLLRRRLRRLLLLLLLRRLRRRRLRLRLLLRRRLRLRRLLLLLLRLLRRLRLRRLLLLLLRLLLLRLRRLLRLRRLRLLRLRLLLLLRRLLRLRRLRRRRRRRLRRRRLLRRLRRLRLLLLLRRRRRRLRLLLRRLRLRLLLLLLLRLRLLRRRRRRRLRLRRLRLLRRRLLLRLLRRLLLLLLRRRLRRLRLRRLLRRLRRLLRRLRRLRLLLLLRRLLLRRLRRLRRLRLRLLLRRRLLRRLLLLLRRLRRLLLRRLRRRLRRLRRRLLLRRLLLLLLRRRRRRLLLRLLRRLRRLLRRLRRLRLRLLRLRRLRRLRRLLRRRRLLRRLLRRRRLRLRLRRRRRLLRRLRLRRRRLRRLRLRLRLRLRRRLLLLRRRRRRLLRLLLLLRRLLLRRRLLLRRLLRRLLLRLLRRLRRRLRRLRLRRLRLLLLRLLRLRLLLRRLRRLRRRLLRRRRRRRLLRRRRLRRLLRRRLRLRRRLLLRRRLRRLRLLLRLLLLRRRRLLLLLRLRRLRRRRLLLLLRRRRLRLLRRRLRRLLRRRRRRRRLLRLLLRLRRLRRRLRLLRLRRRRLRLLRRRLRRRLRLLRRRLLRRRLRLRRLLRLLLRRRRRLRRRLLRRRRLRRLRLLLLRRRLRLRLRLRRLRRLLLLRLLRLLLLRRRLRRRLLLRRLLRLRLLLLRRLLRRLRRRLRLRRRLLLRLRRRLLLRLLLLLLLLLRLRLLRRLRLLLLRRRLLRLRLLLLRRRLLLLLLRLRRRLLLLLRLLLRLLLRRLLLRRRRRRRLLLLLLRLLRLRLRRLRRRRRRRLLRLRRLLLLLLRLRLLLRRRLLRRLLLLRLLLRLRLLRRLRLRLRRRRLRRLRLLLRLRLLLLLRLRRRLLRRLLLLLLLLLRLRLLRRRLLLLRRRRLRRLLRLLLLRRRRRLLLRRLLLRRRRRLRLLLRLRRRRRRLLLRLLRLRRRRLLRLLLLLRLLLRRLLRRRLRRRRLRRRRRLRLRLLRLRLRRRRRLLRRLRRRLRRLLRRRRLRLLLLLRLRRLLRLRRRRLRLLRRRLRLRLRLRLLRLLRLLLRRLRRRRRLRRRRRLLLRLLRRRLRLLRRRRRLLRLRRLRRRLRLRLRRLLRLRLLLLRLLLRRRLRLLLRLRRRLRLLLRRLRRRRLRRRLLRLLLLLRLLRLLRRRRRRRLRRRLRLRLRRRRLRLRRLRRRLLRLLLLLRLLLRLRRRRRRLRLRLRRLLRRLRRRLLRLRLLLRLLRRRLLLLRLLRLLLRLRLRRLLLLRRRRRRLLLRRRRLRLRRLLRLRLLRLLLLRRLRRLRLLRRRLRRRLLRRRRRLLRLRLRLLRLLLLLLLRRRLRLLLRRRLLLLRRLLRLLRLRLRRLRRLRLLLRLRLLLLRLLLRRLLRLLRLRRLRLRRLRRLRRLLRRRLRRRLLLRLLLLLLRRLRRRLRLLLLRRRRLRRLRRRRLRRRLRRRLRRRRLRLLRRLLRLRRRLLRLRRLRLRLLLRRLRLLLLLRLRRLRRLRLLRLRLLRLLRLLLRRLRLRRRLRRLLRRLLRRRLLRLRRLLLRRLRRLRRRLRRRLRRLRLRRRRLLLLLLRRRRLLRLLRLLLRLLLRLLLRLRRRLLRRRRLLLRLLRRLRLLRLRLRLRRRLLLRLLLLLRRLRRLRRRLLRRLRRLLLLLRLRRLRLLLRRRLRRRLRLRLLRRRRRLRRLRRRLRLLLRLLLLLRLRRRRLRLLRRLRRRLLRLRRRRLLRLRLRLRLRLLLLRRLLLLRLLRLLLRLLRLLRRLRRRLLRRLRLRRLLRRLLLLLLRLRLLRRRRLLRRLRLLRLLLLRRLLLRLRLLLRRRRRLLRRLRLRRLRRRLLRRLLLRRRRLRLRLLRLRRRRRLRLRLLRLLLRLLLRLRLLRRRRLLLRLRRRRLRLLRRLLLLLLRRRLRRRLRLRLRLRLRLLRRLRRRRRLLLRLRLRRRLLRLRLRRRLLLRLRLLRRLLLLRRLRRLLRRLRLRLLRRLLLLRLRLLRRRRRLRLRRLLLRRRLLRLRRLLLLLLRRRRLRRRRRRLRRLLRLRLRRRLLLLLLRRLRRLRLLLLLLRRRLLLLLLRLLRLLLRLRLRRLRRLRLLLRRRRLLLRRLRLLLLLRRLLLRLLLLLRLRLLRLRLLRLLRLLRRRLRRRLRLLRLLLLRLLRLLLRRRLRRRLRLLRLLRRRRLLLRRLLLRLRLLLRRRRLLRRRRLRLLLLRRRLRLRRLLRRLLRLLLRLRLRLLRRLLLLLRLLRLRRRLLRLRLLLLLLRLLRLRLRLRRLLLLRLRLLLLRLLLLLRLLLLLLRLRRLRLLLRLRLLLRRRLRLLLRLLLRRRLLRRLLRLLRLRRLLLLLRLLLRRLRLRLRLRLRRLLRRLRRRLLLRLRRRLRRLLLRLLLRLLLRLRLLLRRLLLLRLRLRRLRRLRLLRLLRRRLRRRLRRRLLRLRRLRLLLRLLRRLLRLLRLLLLLLLLRRRLLRRRRLRRLLRLLLLRRLRRRRLLRLLLLRRRRRRRRRRLLLRLRLLRLLRRLLLRRLLRLRLRLRLRRRLRLLLRLLLRLRRRRRRLRRLLRRRLRLLRLLRRLLLRLRRLRLRLLLLLRRRRLRLRRRRRLLRRLLLLLRLRRRRLRLRRRLRLLRRRLRLRRLLLLRRRLRRLRLRRRRRRLRRRLLLLLRLLLRRLLRRRLLLRLLRLLLLRRRLLLRRLLRRRRRRRRRRLRRLRRLRLLLLLLLLRLLLLRLRLRLLRRLRLLRLLLLLRLRLLRRRRRRLRRLRRRRLRLLRLRRLRRLLLRRRRRLLLRRRRLLLRLRLLRRRRLRLRRRLRRLRLRRLRRLRRRLLLRLLLRRRRLLRLLLLLRRLLRRRLRRRRRLRRRLLLLRRLLLRLRRLLRRRRRRRRRRLRLLLRRLLLRLLRLRRRRLLLRLRRLLRLRLLLLLLLRRLLRRLRLLLLLLLLRRLRLLRRRLLRLLRLRRLLLLRLRLLLLRLLRRLRLRRLRLLLRRRLLLRLLRLRLRRRRLRLRLLLRRRLLRLRRRRLLRRLRRLLRLLLLLRLLLRRRRRRLRLLRRLRLRRRLLRRLLLLLRLLLLRLLLRLLLLRRRLLRLLRLRRRLLRRLRRRRLLRRLLRLRLLRRRLRLLLRRRRLRRRLRRRLLRLRRLLLRRRLRLLLLRRLLLRLLRRLLLLLLRRLLLRLLRRRRLRRRRRRLLRLRLRRLRRRLLLLLRLLLLRLRRLRRRLLLLLRRLRRRRRLLRRLRRRLLRRRLRRLRLRRLLRLLRRRLLLRRLRRLLRRLRLLLRLLRRRLLLLRLLRLLLRLRRRRRRLRLLLRLLLLRLLRLRRLLRRLRRLLRRRLLRRRLRRLLLRLLRLRLLRRRLLRRLRLLRRRLLLLLRLLLRLRRRRLLLRLRRLRRLRRLRLRLLRLLRLRRLLLLLLRRRRRRLLRLRRRRRRLLRLRRLRRLLRLRRLLRRRLLRRLLLLLRLLLLLRRLRRRLRRLRLRRRLLLRRRRRLLLRRRLLLLRRLRLRRRRRRLLLRRLRRLLLRRLLLRRLLLLLLLLRRLLRLRRLRLLRRRRLRRRLRLRLLRLLRLRLLLRRRLLRLRLRRLRRLRRLLRLRLLLRLRLRLRLLLRLLLRRLLRLRRLLRRRRRRLRLRLLRRRLRLLRLLRLLRLRRRLRRLLRLRRRLLLRLLRRLRRRRRRRRLRRLLRRLRLLRRRLRLRLRLLLRLRRRRRRLRLLLRLLLRLLRLLLRLLRRRRLRLLLLRLLLRLLRRLRLRRLLLRLRRRLLRLRRRLLRRRLRLRLLLRLRRRLLRRRLRLLLRRRLRLLRRLLLRLLLLLRLLLRLLLRLLLLRLRRRRRRRLRRLRLLRRRLRLRLRRRRRLLLLLLLRRRRRRRRLLRLRLLRLRRRRRRLLLLLLRRLRRRLRRRLRLRLRLRLLLLLRRLLLRLRRLRRRRLLLRRRLLRLLRLLRLLLRLLRRRLLLLLLRRLLLLRRRRRRLLRRLRLLRRRLRRLLLRLRLRRRLRLLRRRRRLRRRRRRLRLRRRLLRRLRRLRRRLRLLLRRLRLRLRRLRRLLRRLRRRRRLLRRRLLLLRRLLRLLRLLLLRRRRRRLLRRLLLLRLRRRLRRLRLLLLLRLRRLLRRLRRLLRRRLRRRRRRLLRRRRLRRRLLLLRRRRRRRRRRRLRLRRLRLLLRRRLRLLLRLRRRLRLLLLRRLLRRLRRRLLRLLLLLLLRLLRLLLLLRRRRLLLRLLRRLLRLLRRLRRLLLRLRRRLLLRLRLLLLRLLLRRRRRRRLRLLRRRRLLLLRRRRLRRLLLLRLRLLLLLLLLRRLRLRRRLRRLRLLLRLLLLLLRLLRLLRRLLLLRRLLRRRLRRLLLRRLRRRRRLLRRRLRRLLLLLRRLLLRLLLRRLRLLLRRLRRLRLRLLLLLLLRLRRRRLRLRRLLLLLRLLLLRRLLRLLRLRLLLRLRLRLLLRRRLRLRRRRRRRRRRRLLRLRLRLRLRLRRRLLRLRRRRLLLLLLLLLRRLLLRLLLRLRRRRLRLRRLLLLLLLRLLRLLLRRLLLLRLRLRRLRLRRRRRLRLRLLRRLRRLLLLLRRRRRRRLLLRRLLRLLLLLLRRRRRLLLRLRRRLRRLRLLLLLRRLRRLLLLRLRRRLLLLLLLLLRRRLRLRRLRRLRRLRRLRRLRRLLLLRLRRLRRRRLRRRRLRLRLRRRLRRLLRLRLLRRRLRRLLLRLRLLRLRRRLRLLRLLLRLLRLRRLLRLRRRRLLRLRRRRRRLRRLRLRRLRRLLLRLRRRLRRLLRRLLRLLRLRRRRLRRLLRLLRRRLLLRRLRLLLLRRRLLRRRRLRRLLLLLRRLLRRLLRRLLLRRRRLLLLRLRLLLLRRLLLLLLRLRRRRRLRLLLLRRLLRLLRLLLRLRRRRRLRRLLLRLRLRLRRRRRRLRRLLRRLLLRLRLLRLLLRRLLLLRRLRRRRLLLLRLRRRLLRLLLLLRRLRRRLRLLRRRRRLRRRLLLRRRRLLRRLRRRRLLLLRRLLRRLLLLRLRRLLRRRRRLLLRRRRLLLLLLLRLLRLRRRLRLLLLRLRLLRLRLLRLRLRLRLLRRRRLLRRLRRLLLLRLRLLLLLRRRLRLLLLLLRLLRRRLLRRRLLRRRLRLRLRRRLRRRLRRRRRLRLLLRRRLRRRLLRLRLRLLLRRRRLRRRLRRLRRRLLLLLRLLRLLLLRRRLLRRLLRRRLRRRLRRRLRRLRLRRLRLRLLRRRRLRRLRRRRRRRLRRRRRRRLRRRRRLLRLLLRLLRLRRLRLLRRRLRLRRRRRRRLRRLRLRLRRRRRLLLRLLRRRLRLLRLRRRRRRLRRRRLLRLLLRRRRRLRLLLLLLLRLRLLRLLRRLRLLRRLLLLLRLLRLRRRRRLRRRLLLLLRRLLLLLLRRRRLRRLLRRRLRLRRLRLRRLLLLLRLRLLLLLRLLLLRLLRRRRLLRRLLLLLLRLRLRLRRRRRRRRLLLLRRRRLRLLLRRLLRRLRLLLRLLLRLLLLRRRRLRRRLRLLRLRLRRRRLRLRRRRRRRRRRLLRRLRRLLLLRRLLRLRRRLLLLLRLRRRRRLLRLRRRRLLLLLRRLRRLLRLLRRRRLRLRRRRRRLRRRRLRRLLRLLLLRLLLRRRLLRRLRRRLLRRLRLLRRRLLLRLLRRRRLLRRLRRLLLRLRRRRLLLRRRLRLRRRLLRRRLLRRLLRRRLRLRRLLRLRRRLRLRLRLLLLRLRRRLLLLRLLLRLRRRRRRLLLLRLLLRRLLRLRRLLRRLLLRRRLLRRRLLLLLRRRRLRLLRRRRRLRRRLRLLLRLLRRRLLLLLRRRLLRLLRLRRLRRLLLLRRLRLRRLLLRRRRLLRRRRRRRRLLLRRLRRRRRLRRLRLRRRLRLRRRRRRRLRRLRRLLLRRRRRRRLRLRLRRRLRLRRLLRRRRLRLRLLLLRRLRRLLLLRRRRLLRLRLRLLLLRLLLRLRRRRLLRRRLRRRRRRLRRRLLRRLLRRLLRRRLLRLRLRRRRLRRRLLLLRRRLLRLRRRRLRLLLLRLLLLRLRRRLLRRLRLRRRLRLLRLRLRRLRLRLLLLLLRLRLRRRLRRRRLRLLLRRLRRRLLRLLLRLRLRLRLLLLLLRRRLRLRLLLLRRRLLLRRRRRLLRLRLRLLLRRLRRLRRRRLLLRLRLRRLRRLRRRRLLLRRRRRLRRLLLRLLRRRRLRLRLLLRLLLLLLLRLLLRLLLRRLLRRRRLLLRRRRLRRLLLLRLRRRRLRLLRRRLLLRLLRLLRRRLRRRLLRLRLLLLRLLRLRRLLLLRLRRLLLRLRLLRLRLRLLLRLRRRRRLLRLRRRRRLRRRLLLLRLLRRRRRRLRRLLRRLRRLLRRRRLLLRRLRRRLRRLRRLLLRRRRLRRRRRLRLLLRLRLLRRRLLRLRRLLRLRLRRRLLRLLRLLRRRLRRRRRRRRRLLLLRLLRRLRLRLRLRLLLRLRRLLLLRRRLLLRRLRLLLRRRRRRRRRLRRLRRLLRLRLRRRRRLLLLLLLLLLRRLLRLLRRLRLRLRRRLLLLRRRLRRRLRLLLRRLLRLLRRRRLRRRRLLLLRLLRRLLRRRLLRLLRLLRRRLLRRRRLLLRRRLLRLRLRRLRLLLLLRRLLLRRRRLRLRRRRRRLLRLRRLRRRRRLRLRRLLLLRRLRRRLRRRLLRRRLLLLLRRLLLLLLLRRLLRLLLLLLLRLLRLLRLLLRLLLLRRLRLLRRRLRLLRLLLLRRRLRLLRLLRLRLLLLLLLRLRRRLRRLRRLRRRLRLLRLLRRRRLLRLRRRLRLLLLLRLLRRRRRLLLLLLLLRRRRRRLLRRRRRLRLRLLLLRLRRRLLRRLLRRLRRRRLLRRRLRLRLRRLLLLLLRLLLLLRLLRRRRLRRRLRRLRLRRRRRRLRRLLRRLRRRLLLRLLRLLRRLLLLRRRLLRRRLLRLLLRRRRRLLLLLRLLRRRRLLLLRLRRLRLRRLLLLRRLRRRRRRRRRLRRLRLLLRLLLLRLLLLRLLRRLRLLRRRRRLLLLLRRRRLLLLRRLRRRLRLRRLLLLRRLRRRRRRLLLRLLRRLRRLLLLLLLRLRLRRLRRLRLRRLLRRRRRLRLLLRLLRLRRRRLRLRRLLLRRRRRRLRLLRRRRLLLRRRRLLRRRRLLRRRRLLRRLRLRRLLLLLLRLLRLRLLRLLRLLRLRLRRRLRRLRRRRRRLRRRLLRRLLRRRLLLRLRRLLLRLLLLLRLRLLLRLRRLLRLRLRRRLLLRLLRLRRLRRRRLLRRLLLRRLRLRRRRRRRRRRRRRLLLRLLRRRLLLRLRLLLRRRLRRLRLLLLRLRLRLRLLRRLRLRRLRRLLRLLLRLRRLLLRRLRRRLRRLRLRLRLRLLLRLLLLRRLLRRRRRLRLLLRRLLLLLLLLRRRLRLRRLLLRLRRRRRLRRRRLLLLLLLRRRLRRLRLLLRLRLRRRRLRLLRLLRRRLLRRRLLRLRRRLLLRLRLLRRLRLRRLRRLLRLRLLLLRRRLLRLLRRLLLLLRRLLLRLLLLRRRRRLLRRRRLRRLLRRRLLLRRLLLLLRRLLLLRRRLLLRLLRLRLLLLLRLRRLRRLRRRRRRLLLRLRRRRLLLRLLLLLLRRLRLLRLLRLRLLRLRLLLLLLLLLRLLRRLRRLLRLLLLLRLLRRLRLRRRRRRRLRLLRLRLRLRLRRRLLLRRRLRRRLLLLRLRLRRLRRLRRRLRLLRRRLLLLLRRRRRRLRLRRRLLLLRRRRLLRRRRLLRLLLLRLLLRLLRLRRLLLLLLLLLRLLRRLLRRLLRRRLLRLLRLRRLLRLRLLLRRRRRRRLRRRLLLRRRRLRRRRRRRLLLLLLLLLRRRRRRRRLLLLRLRRLLLRRLRLLRRRRLRRLRLRLRRRLLLLRRLRLLRRLRLRRRRRLLLRLRRRRRRLLRLLLLRRRRLRLLRRLLLLRLRLLLLLLRRLRLLRLLLLRLRRLLRRRLRRLLLLRLRRLRRRRLRRRLRLLLLLLRLLLLLLLRRLRLRRLLRRRLLLLRRRRRRLLLLLLRLRRLLRRLRRLLLRRLLRLRRLRLRRRLLRLRLLLRLRRLRLLRLLRLRRRLRRRRLLLRRLLRLRLLRRRLRRRLLLRRRLRLRRRLRLLRRLLRLLRLLRRLRLRLRLRLLRRLLRRLRRRLRRRRLLRLRRRLRRRRRRRRRLLRRLLLLLRRRRLRLRRLLLRRRRLRLRLLRRLRLRRLLLLRRRRRLLRLRRLRRRLRRLLLLRLRRRLLRRRRRLLRLLRRLRLRLRRLRLLRRRLLRRRRLRRRRLLLRRRLRRRLRRLLLLLLLRLLRRRLLLLRRRLLLRRRRLLLLLLLLRLLRRRRRRLRRRRLLLLRRLRLLRLRLRRLLRLRRLLRRLRLLRRLLLLLLRLLRLRRRLRLLRLRRRLRLLRLLLRLRRRLLRLLLLLRRRRRLLLRLRLLRLLLRRLRLRLRLRLLRRRLRRLLLLRLLRRLLRLLRLRRLRLLLRRLLRLRLLLRLRRLRLLLRRLLRRLLRLLRLRRRRRLLLRRLLLRRRRRRRLRLRLLRRLRLRLLLLLLRRRLRRRLLRLRRRRRLRRRLRRLRRLRRLLRRLLLLRLLRLLLLRRLLRLLRLLRLRLLLRLRLLLRRRRRRLRLLRLLLRLRLLLLRLRRLRLLRRLRRLLRRLRLLLLLRRRLRLRLRLRLLRLLLRRRLLRRLLRRRRRRLLRRLLRLLRLRLLRLRRRLLRRLRLLRRLLLRLRLLLRLLLLLLLLRLLLLLLLLRLLLRRLRRLLRRRLRLLLLRLLRRLRRRLRLRLRRRRLLLRLRLLLRRRRRLRRLLRRLRRLRRLLRRRLLLRLLLLRLRRRLRRRRLLLLLRRRRRLLRRLLLLRLRRLRRRRLLLLRRLLRRLLLLRRRRRRLRLRLRRLRRLLRLLRLLRLRRRRLRLRLRLRLRLLRRLRLRLLRRLRRLLRRLRLLLRRRLRRRLRLRLRRLRRRRLRLLRRRLRRLRRRLRLLLRRLLRLRRLRLLRLRLRRLLLLRRLRLLRLRLRRRRLRLLRRRRRRRLLLLRRRRLRLRLRLRRLLLRLRLLRLLLRRLRRRLRLRLRLRLLRLRLLLLRRRLRLLRRRRLRLRLLRRLLLRRLLLRLRLRRRLRLRRLLRLRRLLLLRLLRRLLRRLRRLRLRRRRLRLRRLLRRRRRLRRRLLLRLRLLRLRRRLLRRLLRRLRRRRRLLRRRRRLLRRRRRRLLRLRRRLRRLLLLRRLRLRRLRLRLLLRLRRRRRLRRRLLRRRLLRLLLLRRRLRRRLRRRRLRLLLLLLRRRRRRLRLLRLRLRRLLLLLRRRRLRLLRRLRLLLLRRLLLLLRLLLRRRRLRRRRLRRLRRRLRRLRRRLLLRRRRLRRLLLRRRRRLLLLLRLRLLLLLLRLLLLLLRLLLLLRRRLRRRLLLLLRRRLRLLLLLLRRLLRRLLLRRLRRRRRRLRRLRRLLRLLLLLLLRLLLRRLLLRLLLLLRLLRLLLLRLRRLRLLRRLLRLRRLLLRRRLLRLLRLLRLLLRLRRRLRRLRLLLRRRRRLRLRRLRLRLRLLRRRRRRLRLLLRLLLLLRLRLLRRLRLRRLRRRLLLRLLRLRRLLLRLLLRRRLLRLRLLRLRLRLLRRRRRLRLLLRRRRRRLLLRRRLLRRLRLLRLRRRLLLRRRRRLLLRLRRLRRRLLRRRLRLRRLRLRRLLLLLRLRLLLRRLLLRLRLRRLRRRLRRLLLRLRLRRLLRLLLRRRLLLLLRLRRLLLLLLLRLRRRLRRLRLLLRRLRLLRLRRLRLLLRLRRRLLLRLLRLLRRLRRRLRRLRRRRRRLLRLRLRLRRLRRLLRRLRLLLLLLLRLLLRRRRRRLLRRRLRLRRLRLLRRLRRRLLLLLRRRRRLRRRRLRRRLLRLLRLLLRLLRLLRRLLRLLLLLRRLRLLLRLLLRRRLRRLLRRLRLLRLLLRRLLRLRRRRRRRLRLLLRRRRLLRLLRRLRLRRLLLLLRLRRLLRLLRRRLRRRRLLRLLLLRLRRLLRLRLLLLRRLLLLRLRLRRRLLLRRLRRLRRRRLRRLLRRLRRLRRLLRRLLRRLRRRRLLRRLLRRLRRLRRLRRLLRLRRLLRLRLLRLRLLRLRRLRLLRRRLLLLRRLLRLLRRLLRRLRLLRRRRLLLRLRLRRLLRLRRLRLRLRRLLRRLRRRLRLRRRRLLLRRLRRRLLRLRRLLRLRLRLLRLRRLLRLRLRLRLLLLRLRRLRLLLRRLLRRLLLRRLLRRRLLRRRRLLRRLRLLLRLLRLLLLRRLRRRRRRRLLRLLLRRRRLLLLLLLRLRRRRLRLRRLLLLRLRLRRLLLLRLLLLRLRRLRLLRLRRRLRRRRRLRLRLLRLRRRRRRRLLRRRRRRRRRLLRRLRLRLRRLLLRRRRLRRLRRRRRRLLRRRLLLRRRRRRLRRLRRRRLRLRRLRRLLRLRLRRRRRLLLLRRLLLRRLLRLLLLRRLLLLRRRRRLLLRLLLRLRRRLRLLRRLLLRRRLRLLRLRRRRLLRRRRRLLLRRRRRLRRLLRRRRLLLRRLRLLRRLRRLLLRLRLRRRRLRLRRRRLRLRRLRRRRLLLLRRRLRRLRLRRRRRLRLLLLLLRRRLRLRRRLRLRLRLRLRRLLRLRRRLRLLRRLRLLRRRRRLLRLRLRRRRLRRLLLRRRRLRLLRRRRRRRLLRLLRRRLRRRLRRLRLLRRLLLRRLRLRLRLLRLLRLLRLLRRRLRLLLLLLLLRRRLLRLRRRRRRLLLRLRRRRLRRLRLRLLLRLLLLLRLLRRLLRRRLLLLLRRRRLLRRRRLLLRLRRLLRRRLRLLLRRRLLLRLRRRLLRRRLRLRRLLLLLRRLRRRLRLLLLRLRLLRRRLLLLRRLRRLRLRLLRLRLLRRRRRRRRLLRRRLLLRLRRRLLRRRLRRRLRLRRLRLLLLRLLLRLRLRLLRLRRLLLRLLRLRLRLRLLLLLLRLRRRLRRRLLRRLRLRRRLLRLRRRRLLLRRRLLLRLLLRLLLLLLRRRRLLRLRLRRRRLRLRRRRLRLRLRRRLRRLRLRRRRRLRLRRLLLLLLRLLRLLLLRLLRRRRLRLLRRRLLLLLLRRLLLLLRRLLLRRLLLLRLRLLLRLLLLRLRRLLLRLLLRLRRLRLRLLLRLRLRLRLLLRLRLLRLLRLLLLRLLRLRLLRRRRLLLLRLLLLLLRRLRLRRRLLRRLLLRLLRLRLRRRRLLLRRLRLRRLLRRRRLRLLLRLRRRRRRRLLLRLLRRLLLRLRRLRLLRRRRLRRRRRRRRLLLLRRLRRLRLLLLLRRLLRRLRLRRLRRRLRLRRRLLLRRLLRLLLLLLRRRLRRRRRRLRLRRRLLLLRLRLRRLLRLRLLLRLLLLRRRLLLRRRLRLRLRRRRLRRRRLRRLRLRLLLLLRRLLRLLRLRRRLLRRLRLLLLRLRLLLRLLLRLLLRLLLLRLLLLLRLLRRLRLLRRRLLRLLRRLLRRLLRRRLRRLLLLRRLLRLRRRLLLRRLRLLLRRLLRLRRRLLLLLRLLLLLRRRRLRRRRLLRRLRRLLLRRLLRRLLRLLLLLLLRRLLLRRRRLLRLRRLLLLRRRLRRLLLRLLRRLRRRRRLRLLLLLLRRLLRLRRRRLRRLRRLLRRLRLRLLLRRRRLLLRLLRLRRLRLRLLRLLLLRLRRLRRLLLLRLRLLRRRLRLLLRRRRLRRLLRLRRLRRRLRRRRRRRLRRRRLRRLLLLLLLRRRRLLLRLRLRRLRRLLRRLLLLRLRLLLRRLLRRRRRLRRLLLRRLRLRLLLRLLRLRRRRRLLRRRRLLLRRLRLLRLRLLLRLRRRRLLRLLRRRLLRRLLLRRRRRRRRLLRRRRRLRLRRLRLLRLLLLRLLRRRLRLRRLRRRLRLRLRLLLLLLLLLLRRLRLRRRRRRRLRLRLRLRRLLLRRRLRLRLLLLLLLRLRLRRLLRRLRRLRRLRRLRLLLRLLRRLRRLLRRRLLRRRLRLRLLLLRRLLRLRLRRLRLLLRLLLRLRLRRRLLLLLLRLRRRLRLLLRRLRLLRRRLLLLRRRRRLLLRRLRRLLRLLLLRRRLRLLRRRLRLLLLLLRLRRLRRRRLLRLLLLLLLRLRLRLLRRLRRRLLRRLRLRRRRRRLLRRLRRRLRRRLLRLLLLLLLRLRLLRRRLRLRLRLLLRRLRRLRLRRLLLRLLRLRLRLLRLLLLLLRRRLLRLLRLRLRLLLRLLLRLRLRRRRLLLRRRLLRRRLLLLRLRRRLRRLRRRRRLRRRLLRLLLRRRRRRRLRRLRLLLLRLRRLLRLRRLLRRLLRRRLRRRLLLRLLRLLRRLRLRRRLRLRRRLRRLLLRLLRRRLRLRRRLLRLRLLLLLLLRLRRLLLLLLRRLLLRLRLLLRRLRRLRRLLLRLRLLRLRLLRRRRRLLLRLLRLLRRRRLRRLRRLLRLLRRRLLRRLRRLLRRLLLLRLRLLRRRLRLLLLLLRLLRLLLLRRRLRLLLLLRRLLLLLLRLRRRLLLRLLRRRLLRRRRLLLLRRRRRLRLRRRLRRRRLLLRRLLRLLLRLLRLLRRRLLLLRRRLLRLRRRRRRLRRLLLLLLRLRLRLLLLRRRLRLRRLLRRRLLLLRRRRRLRRLLRLRLRLRLLRLRLRRRRRRLRLLLLRRLLRRRLLLLRLLLLLRRRRLLLRRLLLLRLLRLLRRLRRLLLLRLLRRRLLRLLRRRLRRRLLRRLRRLLRRLRLRLLRLRLRRLRRRLLRRRLLRRLRLRRRRRRLLLRLRRLLLLRLLRLRRLLRRLLRRRLRRRLRLRLRRLLRRLRLLLLRRRRRRRRRRRRRRRRLRLRRLRLRRLLLRLRRLRRLRRLRRRLLRRRRLRLLLLRRLLLRLLLRRLRRLLLLRLRRRRLLLLRLLRRRLLLRLLRRRRLRLRLLLRRRRRLLRLLRRRRRRRLLRRLRRRLLLLRLLRRRRRLRLLRLRLLLLRLRLRLLLLRLLRLRRRRLLRLLRRRLLRLRLLLLRLLLRLLLLRRRLLRRRLLLLLLRRRRLLRLRLRLRLLRRLRRLLRLLLLLRRLLLRLLRLRLLLRLLRLLRLLLLRLRLRLLRLLLLLLLRLLRRLLRLRLRLLRLLRRLRRLLRRLRRLLRRRRRLLLLRRLLRRRLRRRRRLLRLRRRRLLRRRRRLLLRLRLRRRRRRLRRRRLRLLRLLRRRRRLRLLRLRRLRLRRRRLRRLRLRRLLRRRLRLRLRLLRLLLRLLRLRLRRRLLLRLLRRRLLRRRRLLLLLRLRRLRLRLLLRRLRRRRRLLRLRRRLRRRRLLLRRRRRRRLRLLLRRLRLRRRRRRRLRRRRLRRLLRRLRLRLRLLRRRRLLLLLRLRRLRLLRRRLLLRLRRRRLRLRRLRLRRLRLRLLLLRLLLLRLRLRRLRRRLLRLRRRRLLLRLLRRLRLRLRLLRLLLRLLRRLRLRRRRRRLLRLLLRLRLLRRLLLRLLLRLLLRLRRLRLRRRRRRLRRRLRLLLLLLRRLRRLRRRRRRRLLLRRRLRRLLLRLRLLLLLRLLRLRLRRLRLRRLLRLRLLRRLRLLLLLLLLLLLRRLLLLLRLRRRLRRLRRRLRRRRRLRRRRLLLLLLLRRRRLRRLLLRLRLLRRRRLLRLRLRLLLRLLLLRLLRLRRLRRRLLRLLRRRLRLRRRLRRRRLRLRLLLLLLLRRLLRRRLLRLLLLLRLLLRRRRRLRLLLRRRLRRLRLRLLRLLRLRLRLLRLLRLRRRRRLRRRRRRLLLRLRRLLLRRRRLLRLRLRLRRRLRLRRLLLLLLLRRRLLLRLRRLRRRRLRRLRRLRLLRRRRLRLRLRRLLLRRRRLRLRRRLRLLLLLLRLLLLLLRRLLRLLRRRRLLRRLLRLLLRRLRLLLLLRLRRLLLRLLRLRLRRLRLLRRRRLLLLLRLLLLLLLRLRRRRLLRRRLRLRLLRRRLLLLLLLRLLRRRLLRLRRLRLLRRRRRLLLLLRRRRLLRRLLRLRRLRRRLLRRLLRLLRRLLLRRRLRRLLLRRRLLRRLRRRLLLLLRLRRLRLRLLRLRRRLLRRRLRRLLRLRLRRRRLRLLLRLRRLRRRLLRRRRLLRLLLRRRLRRLLLRLRRLRRRLLLLLLLRLLLRRLLLRRRRLLLLRLLRLLLRLLLLLLRRLLLLRRLRLRLLLLRRLLLLLLLLRRLLRRRLLLRRLRRLLLLLLRRLLLLLLLLLLRLLRRRLRLRRRLLLRLLLRRRLLRRRRRRLLRLRLRLLRLLLRLRLRRLRRLLRLRRLLRRRRLLLRLRLLLRLLLLLRLLRLRLLLLLLLLLRRRLRRLLLRRLRLRLLLLLLRLRRLRLRRRRRRLLLLLLLRLLLRRRRLRLLRRLLLRLRRRRRLRRLRLRLLRLLLRLRLRLLLLLLLLRLLLLRLRRLRLRLLLLRLLRRLRRRLRRLRRRRRLLRRLRLLRRRLLLRLLLLLLRRLLRLRRRRRLLRLRLLLLLRRLRRLRRLLLLRRLRLRLLRLRRRLRLRRRLRRLLLLRLRLLRLRLRRLLLRLRRLRLRLLLLLLLLLRRRLLLRLLLRLLRRRLLLLRLLRLRLLRRLLRLRLRLLRRLRRRLRLRRRRRRRLRLLRRLRLRLLRRRLRRRRLRLRLRRRLLLLLLRLRLRLLLLRRLLLRLRRLRRLLRLLLLLRLLRLRRLRRLRLRRRRLLRLLLLLRRLLRRRLLRLLLLLLLRRRLRLRLLLRLRRLRRLLLLLRLRLRLRRLRLLLLLRLLRLLLLLLLLRRRRLRRLLRLRLLLLLRRRLRLRRRRRRLRRRRLLRLLRRLRRLLRRLLLLRRLLLRLRLLLRLLRRRRRRRRRRRLLRRLRRLLLRRLRLRLRLRRLLRRLLRRLRRRRLRRLLLRLRRRLRRLLLRRRRRLLRRLRLRLRRRLRRLLLLRRRLLRRRLLRRRLLRRRLRLRLRLLLLLRRLLLLRLRLLLLLRRLLLLLRLLLLRLRRLRRRLRLRLLLLLLLLRRLLLRRLRRLLRRRRRRRRRRLLRRRRRRRLRRLRRRRRLLLRRRLRRLRRRRRLLRRLRRRRLLLRLRRLRLLRLRRRRRRRLRRLLRLLRLLRRLLRLLLLLRLLLLRRLRRRRRLLRLRRLRRRLLLLRRLRRRRRLLLLLLRRRLRRLRRRLRRRRRRLLLRLRRRRRLRLLLRRLLLRLRLRLLLRRRRRLLRRRLRLRRRLRLLLLLRLRRLRLLRRLLRLRRRRRLLRLRLRRRLLLRLRRRRLLLLRRRLLRRLRLRLLRLLRLRRLLRRRLLLRRRRRRLLRLRLLLLRRLRRLLRLLRLLLRLLRLRRLLRRRRLLRRRLRLLLRLRLLLRLLRLRRLLRLLLLRRLLRLRLRLRLRRRRLRRLLRLLLLRRRLRRLLLLLLRRRRLRLRLRLLLLRRLLRRRRLRLRLRLRRRLRRLRLLRRRLLLLRRLLLLLLLRLRRRLLRRRRRLLLLRLLRLRRLLLRRRLRRLRLLLRLLRRLRLLRRRRLRLLRRLLLRRLLLRLRLLLLLLRLRLRRRLRLLLLRRLRRLLRRRRLRRRLRRLRRLLLRLRRLRRLLLRRRRLRRLLRLRLRLLRRLLRRRRRRLRLLLLRLLRLLRRLRRRLRRLLLLRRLRLLRRLRLRLLRRLRRRLLRRLRLRLLRRLRRRRLRLRLRLRLRLLRRRRLRLLLRLLRLRLLLRLRRRRLRLRLLRRRLLRRRLRLRLLRRRRLRRRLRLLLRRLRRLLRLRLLRLLRLLRRRLRRRLLLLLLLLRRRLRLRLLLLRLLRLRRLRLRLLLLRLLRLLRRRRLLLRRLLRRRLLRRLRRLRRLLLRRLRRRLLLLLRRRRRLLRRRRRLRLLLLLLRLLLLLRLLRRLLLRRLLLRRRRRLLLLRRLLLLLRRLRLRLRRRRRRRLLLLRRRLLRLLLLRRRLLLRRRLLRRLRRRLRRLRRRRRLRLRRLRLRLLLRRRRRLRRLLRLRLRRRRRLRRRRLLRRRRRLRLRLLLLLLRRLLRLLRRLRRLLRLRLRLRRLRRRRRLLLLLRLLLLLRLLLLLRRRRLLLLLLRLRLLRRRRRRLLLRRRLLLRRLRLRRLRRRRRRLRLRLRRRLRRRRLLRRLRLRLRLLLLRRLRRRRLLRRLRLRLLRLLLRLLRLLLLLRLLLRRLLLRLLLRLRRRLLRRLLLLRRLRRRRRLRLLRRRRLRLRRLLLRLLLRLLLRRRLRRRLLLLRRRRLRLLLRLLLRRLLLLLRRLRRRRRRRRLLLRLLRRLRRRRRLLRRRRLRRLLRLLRLRLLRLRLLRRLLRLLLRLRLLRLLRLRLLLRLRRLRLRRRRLRRRRLLRRLRLRRRRRLRLRRLRLRLRLLRRRLRLLRRRRRLLLLRRRRLRLRLRLLRRRLRRRRRRRRRRRRLRLRLRLLRRRLLLRRRLLRRRLLRLLRLRLLLRRRLLRRLLLLRRLLLRRLRRLRRRRLRLLRRLLLLRRLRLRRLLRLLLLLRLLLLRRLRLRRLLRLLLLLLLLLRRLLLRRRRLRRRRLRRLLLLLLLRRRRLRRLLRRRLLLRRLRRLRLLRRRLLRRRLRLLRRRRRRLLRRRRLLLLRLLRRRRRLRLRRRRLLRRLLLRLLLRRLLLLRLRRLLRLRRRLLRRRRLRLRLRLLLRRLLLLRRRRLLRLRRRRRRRRLLRRRRLLLLRRLLRRRLRLLLRRLRLRLLLRRRLRLRRLRLLRLLLRRLRRLRLLRLRLRRRLLLLLLRLRLLLRRRRLLRRRRLRLRRLLLLRLRRLRLLRLRRRLLRLRRRRRLRLRLRRLLRRRRLRRRLLRLRLLLLLRLRRRLLRRRRLRLRRLLRRLRRRLLRLLRRRLRLRRLLRLLLRRLRLRRLLRLLLLRLRRRRLRRLLLRRRRRRLLLRLLRRRLRLLLLLRRLLLLRRLRRLLRRLLRRRRRLRRRRRRLLRRLRRRRRLRLRLRLRLRRLLLLLLLRLRLLRLLLRRRRRLLRLRRRLRLLRLLRRRLRLRRRRLLLLLRRLRLRLRRLLRLRLLRRLLLLLLLLRRRRRLRLRRRLRLRRRRRLLRRLLRRLRLLRLRLLLRRLLRLRLRRLRLRRLRRRRLRRRLLLLRLRRLRRRLRRRRLRRLLRLLLRLRLRRLRLRRRLLLRRRLLLLRRLLLRRLRLLLLRRRLRLRRRLRRRRRRRLRRLLLLRRRRLLRLLLRRLLRRRRLLLLRLLLLRRRRLRRRLLLRRRLLLLLLRLLLRLLRLRRRLRLLLRLRLLRLLLLRRLRRRLRRLLRLRRRRLRRLLRRLLRRRRRLLLRLLLRRLRRLRRLLLLRLRLLLLRLLRLLLRRRRRRLRRLRLLRLRRRRRLRLRRRLLLRLLRLRLRLLLLRLRRLLRRRLLRRLLLLLLRLLLRRLLLRRRLRRLRLRLLLRRLLLRLRRRRRLLRRLLRRRRLLLRRRRLLLLRRRLLRRLLLRLRRLRLRLRLRRLLRLRLLLRLLRLLRLRRLLRRRLRLLRLRRLLLRLRRLRRRRLLRRLRLRRRLRLRRLRLRLRRLLRRRLLRLRRLRLLLLLRRRRRLLLLLLLLLRRRRLLRRRLLRRLRLRLLLRLRLRRLLLLRLRLRRRLLRLLRRLRRLLRLLLLLLLRLLLRLLLRLRLLLLRLRRLLLRLLRRRRRRLLRRLRLLLRLLRRRRLRRLRLRRRLLLLLRRLRRLLRRLLRRLLRLLLRLLLRRRRRLLRLLLLLLRLRRRRRLRRRLRRRLRLRLRRRRRLRLLLRRLLRRRRRLLLLRRLRRRRRLRRLLRRRLLRLLLLRLRLLRLLLRRRRRRRRLLLRLRLRRRLRRLRRLLRRLRLRRRLLRLRLLRRRRLLLRRRLLLRRLLRLRLLRRRRRLLLRRLRLRLRLRRLLRLRLRRLRLRLRRLLLLLLRLRRRLRRRRRLLLRLLRLRRLLRLRRRRLRRRRLLRRLRLRRLLLLLRLRLRLRLRRLRLLRLLLRRLRRLLLRLLLRRLLLRRLLRLRRLRLLLRLLLLRLLRRRLRLLRLLRRRLRLRLRRLRRRLLLRRRRLLRRRRLLRRRLRLRRLRLLLLLLLRRRRLRLRRRLLRRLLLRRLRLLRLLRRRLRRRLRLLLRRLLLRLRRLLRRRLRLLRRRLRRLLRLRRRLRLLRLLLRLLRRLRRLLLRRLRRRRLRLLRLLRLLLLLRLLRRRRRRLRRLLLLLLLLRLLLLLRLLLLLLLLRLRRRRLRRLRLLLRLLLLRLRLRRLRLLRRLLRRLLRLRRRLRRLRRLRRLLRLLRRRLLRLRRRRLLRLRLLRRLLLLRLLLLLLLRLRLRRLRLLLLRLRRLLLLRLLRLRRRRRLLRRLRLLRLRRLLLRLRRLRRLRLLRRLLLRRRRLLRRRRRLLLLLLRRLLLRRLRRLLLRLLRRLRRRLRRRRRLLRRLRLLLLLLRLLRLLLRRLRLLRLRRLLLLLLRLLRRRLRRRRLRLLRRRRRRLRLRRLLRLLRRLLRRLLRRRRRLLLLLRRLRRLLRRLRLLRLRLRRRLRLLRLLLRLRLRLLLLRLLRRLLLRLRLLRLRRRRRRLLLLLLRLRLRRRLRRLRRRLLRLRLRLLRRRLRRLLLRLLLLLLLLLRRRLLRLRRRRRRLRLLRLLRLLRLRLLRRRRRRLLLLRLRRRRLLLLRLLLLLLRRRLRLRLRLLRRLRLRRRRLRLLRRRRRLLLLLLLLLLRLRLRLLLLLLLRLLRRLLRLRRLRRRRLLLRRLRLLLLRLRRLRLLRLLRLLLRRRLLRRRLRLLRRRRRLRLLLRRRRLRRLRRRRLRRLLLLLRRRRRRRRLRRRLRLRRLLLRRRRLLLLLLRLRRRLLLLRLRRRLLRRLLLRRLRRLRRLLRLLLLLLLRRRLLRLLRLRRRLRLLRRRLRRRRRLLRLLRRRRLLRRRRRRLRRLLLRRRLLRLLLLLRLRLRLRLLRLRLLRRRRRRRRRRLLRRRLLRLLRLRRLRRLRLLRLLRLLLRLRLLLRRRLLRLLRRRLRLRLLRLRLRRRLLRRLLLRRLLLLLLLRLLRLRRLRLRLRRRRLRRLLRRRLLRLRRRLRRLRRRRRLRRRLLRLLRRRLRRRRLRRRLRLRLLRRLRRLLLLLLRLLRLRLRRRLRLLRRRRRRRRRLRLRRRRRLLLLLRLLLLRRRLRLLRRRLRRRLRRLLRLRRLRLLLRLLLRRLRLLRRRLRLRRRRRLLLRRRLRLRRRLLRRRRLLRLLLLRRRLRLLRRLLLRRRLLLLLRLRRRLLLLRLRLLRRLLLRLLLLRRRRLRLRRLLRLRLLLLRLRRLLRRLRLRRLRLRLRLLRLRLRRLLRLRLLLLLRRLRRRRLLLLLRRLLRRRRRLRRRLRRRRRRRLLRRRLRLRLRLRRLRLRLRRLLRRRLLRLLRLRLRRRLLRRLLLRLRRLLLRRRRRRRLRLLRLLRRRRRLLRRLLRLRLLRLRLLRRRLRLRRRRRLRRLLLLRRLRLLRRRLRRRLRLLRRLLRLRLLLRLRRRLRLLLRRLLLLRRLRLRRLRLRRLRLLRLRRLLRRLRRLLRRLRLLRRLLRRRLLRLRLRLLLLRRLRLRLRLRRRRLLLRRRRRLLRRLRLRRRRLLRRLLLLRLRRLRRLRRLLRLRLRLRLLLRRRRLRRLLRLRRLRLLRRLRLRLRLLLLLRRLRLRLRLRLLRRLLLRRRLLLLLLRLLLRRLRRLRRRLRLLRRLLRRLRRRRRRRLLRLLLRLRLLLLLRLLLLRRRLLLLRRLLRRLLRRRRLLLRLRRLRLRLRRLLLLLRRRLRLRLRLRLLRLLRLRLRRLRRRRRLRRLRRRRLLLRLRRRRLLRRLLLRLRLRLLRRRLLLRLLLLRRLRRLLRRRLLRRRRLRRRLRLRRRLRLLRRLLRLRLLLLRRLLRLLLRRLLLRLLLLLRRRRRRRLRRRRLLRLRRLRLRRLRLLLRRLRLRRRRRRLRLLLLLRRLLRRLRRLRRLRLLRLLRLRLLLRRLLLRLRRRLLRRRRRLRLLRLLRRRLRRLLRLRRRLRLLLRLRRLRLRRLLRLLRRRLRRLRLLRRLRRLRLLRRLLLLRLLRLLLLRRRRLRLRRRLLLLRRRLRLRLLRLLRLLLRRLRLRLRLRLLRRLLLLLRRRRRLLLLLRLRLRLRLLLRRLLLRRLLLRLRLLLRLLLLLLRLRLRLLLLRRLRRRRLRRLRRLRLLRRRLLLRRLLLLLLLRRLLLRRLRLRRLRRLRLRRLRLRLLLLLRLLLLRRLRLRRRLLLLRRRLLLLLRLLRRRRRLLRLRLRLRLLLRRRRRRLLRRLRLLLLRRRRRLRRLRRLRRLLLRLRRRLRRLRRLRLLLRLRLRLLRLRLRLRLLLLRLRRRLRRLLRLRRLLRLRLLRRRRLLRRRRRLRRLRRLLLLRRRLLLLRRRRLRLRLLRRRRLRLLLLRRRLRLLRRRRRRLLRRLRLLLLLRLRRRRLLLLRRRLRLLLLRLLLRLLLLRLLLLLLRRRLRLLLRLLLLRLRLRRRLRLRLRRLLLLLRLRLRRLRLRRLRLRLLRLRLRRLRLLRRLLLRRLRRLLLRRRLLLRLRLRRRRRRRRRRRLLLLRRRLLLRRLLLRLRRLRRLLRRLRLLLLLLLRLLRLLRLLLLLLLLLLRRLLRRRLLLLRRLRLLLLLLRRLLLRRLLRRLLLRLRRLLLLRLLLRLRLRLRLLRRLLRLLLLRLRRRRRRLRLLRRRRRRRRLLRRRRRRLRRRRLRLRRLLLRRRRLRRRLLRLRRRRLRRLLLLRRLRRRRLRRLRRLRLLRLRRRRRRLLLRRRLRLLRLLLLLLRLLLRRLRLRLRRRRRRLLRLRRLRRLRRLRLLRLRLRRRRRLLRLRLRRRLRLLLLRRLLLLRRRRLLLLLRRRLLRRLLLLRRRLRLRLRRRLRLLRLLLLRRRRLRLRRLLLRLLLLRLLRRRLRLLRLRLRRLRRRLRLRLRLLRRRRRRRLLRLLRLLLRRLRLLLRRRLRRRLLLLRRRLLRRLLLRRLRLRRRRLLLRRLLRRLRRRLLLRRRRLRLRRLRRLLRRLRLRLLLLRRLRRLLLRLLLRRRLRRLRRLLRLLLLRLRRRLLRLLLRRRLLRRRLRRRLRLLLLRRRRLLLRRLLRRRLRLLLRLLLRLRLLRLLLLRRRLLRRLLLLLRLRRRLLLLLRLLLLRRLLRRRRLRLRLLRRRRRLRRLRRLLRLLRLLRRLLRRLRRRLLRRRLRRRLLLLLRRRRLRRLLRRRRLLRRLRRRRRLRRLLRLRLRLLLRLRLRLRRLLRRLLLLRLLRLLRLRLRRRRLRRRLRLLRRRRLRLLRLRLLLRLLRLRLRLLRLLRRRRLLRRLLRRLRLLLRLLRRRLRRRLRLLRLLLLRLRLLRRLLLLRLRRRLLRLRRLRLLRRLLRRRRLLRRRLRRLRLRRLLRRLLLLRRRLLLLRLRRLRRRRRRRRRLLRRRRRLLLRRRLRLLLLLLRLLRLLRRLLLLLRLRRRLRRLLLRLLRLRLLLRLLLLRLLRLLLRLRRRLLLLLLLRRLLLLRLRRLLRLLLRLRRRRLRRLRLRLLRLRRLRLRLLLRLLLRRLRRLRRLLLRLLRRRLRRLLRRRRRRLLLRLRLRRLRRRRLLRLRRRRRRRLRRLRRLLRRLRLLLRLLLLLRRLLLLRRLRLRRRLLLRRLLLRRRRRLLLLLLLRRLLRLRLRLRLLLLLLRLRRLRLLRLLRRLLRRRLRLRRLRRLRLLRRLRRLRLRRRRLRRRLLRLRLLLLLLRRRRLRLRRRRLRLRRRLRRLLRLLRRRLRLLRLLRRLLLLLRRRRLRLRLLRLRLRRRRRRLLLRLRLLLRRLRLLLLRRLLLLRLRRLLRLRLLLLLLLLLRRRRLLLRRRRRRRRLRRLLRLRRLRRRLLRLLLLRLLRLRLLLLLRRRLRRRRRLRLLLRRRRLRLLLRLLRLRLLRLLLLRLLLRRLLRRLLRLLRRLLRLRLRLRRRLLRRRLRLRLRRRLRRRLRLRLRLRLLLRRRLRLLLLRRRRLLRLLLLRLRLRRRRRRRLRRRLLLRLLRLRRLLRRRRLRRLRLRRRLLLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRLRRLRRRLLLLRRLRRRLRRLLRLRLLRRRRRRRRLLRLRLLLLRLLRLRLRRLLRLRRLLRRRRLLLLRLRRLLRLRLLLLLLLRRRLRRLLRLLLLLLRRRRRLRLRRRLLLRLLRRLRRLRRRLLLRLLRRRLRRRRLRLLRRRLRRLLRLRRRRRRRLRLRLRLLLLRRLLRRRRLRRLLLLRRRRLRLLRLLLLRLRRLLLRRRLLLRRLRRRLLLRRRLRRLLLLLRLLRRRLLRRLLRLLRRLRLLLRLLRLRLLRLLRRLLLLRRRRLRRLRLRLRRLRRLRLRLRLRLLLRLLRRLLLLRLLLRLRLLRLLLLRLLLLRRRRLRRRLRRLRRRLLLRLLLLRRRLRRLLRRRRLRLRLLLLRRRRLRRLRRRLRRRRRRLLRLRLLLLRRLRRRRLRRRLRLRRRRLRLLLLRRLLLRLRRRRLLRLRRRRRRLRRLRRLLLLRRLRLLLRRLLRRRLLLRRLLLRLLRRLLRLLRRLLRRLLLRRRLLLRRLLLLRRLLLLLRRLRLLRLLRRRRRLRLLRLRRLLRRRRRLRLLRLRRLLRLLRLRRRRRRLLLLRLLLLLLLLRRRLRRRLRRRRRLLRLRLLRRRRLRLLLLRRLLLLRLRRRRRLLRRRRRRRRRRRLLLRRRRRLRRLRRRLRRLLRRLLLLLRRLRLLRLLRRLLRLLRRLLRLLRRRLRLRLRRRLRRLLRLRRLRLRRRRRRLRLLRLLRRRRLLRLRLRRLRLLLRLRRRRLLLRRRRRRRRRLRLRRRRRRLLLLRLRLRRLRRLRLRLLLRRLLRRRRRRLLLRLLRLRRRRLLRLLLRRRLRLRRLLRLRLRLRLLLRLRRRRRLLLRRRLLRLLRLRLLRRRRLLLLLRRRLRRLRRRLRRRRLLLRRLRRLLLLRRLRRRRRLRRLRLLRRRRLLLLRLRRLRRRRRLRLLLLRLRLRRRRRRRLLRRLLLRRRLLLRRLRRRRRRLRLLLLLRLRRRRRLLLRLRRLRLLRLLLRRRLLLRLRRRRLRLRLLRLLLLLRLLLLLLLLLLLRLLLLLRLLLRRRLLLLRRLRLRRLLLLLLLLLLLLLRLRRLLRRRLRRLRLRRLRRRLLRLLLRLLLRLRRLLRRLRRLRLLLLLLRRRLLLLRRRLRRLLLRLLLRLLRLRRLLLLRLLLRRLRRRRLLLLLRLRRRRLRRLLRLRRRLLRRLLRLLRRRLLRLRRRLRLLRLRLRLRLRRLRRRRLRRLRRLRRRLRRLLLRLLLLLRRLRLLRLLLRLLLLRLRLRRRLLRLLRRRRLLLRRRLRRLLLRRRRRRLRLRRLRLLLLLRRRLLRRLLRLLLLLLLLRRRRRLRLLRLLRLLLLLRRRRLLRLLLRRRRRLRLRLLLRLLRLRLLLRLLRRLLRLLRLLLRRRLRLLRLLRLLRLLLRLLLRLRLRRRRLLRRRRLRLRLRLLLRLRRRRRRRLLRRLLLLLRLRLLLLLRRLRLRLLLRRRLRLLLRRRRRLLLRRLRRLRLRLLRRLRLLRLLRLLRRLRLLLLLRLLLRLRRRLLLRLRLRLLRRRRRRRRLLRRRLRLRRLLRRRRLRLRLRLRLRRRRRLRLLRLRRLLRRLRLRLRRRLLLLRLLRRLLRRLLLRRLRRLRRLRLLRRRRRLRRRLRRLLLRLLLLRLRLRLLRLLLRRRLRRLLLRRRRLLRLRRRRRLRLRLLRLLRLLLRRRRLRLRRLLRRLLLLLLRRLRRRRRLRRLRRLLRLRLRLRLRRRLLRLRLRLRRRLRRLRLRLLLLRRLLLLLRLLRRLLRLRLLRRLRRRRRRRLRLLRLLRRRLLLLLLRLRLLRRLRRRLRRLRRLLRRLRLRLLLRLRLLLRLLLRLLLRLRLRLRLRRRLLRLRRLLRLLRRRLLRRRLRRLLRLLLRRLRLLLRLLLLRLLLLLRRRRLRRLLLRRRLRRLRLRRRLRLRRLRLLLRRRRLLRRLLLRLLRRLLRRLLLLLRLLLLRRLRRLRRLLLRRLLRRRRLRRRLLRLLLLRLLLLLRLLLLRLRLRRRLLRRRLRLLLRRRLLLRLLLLLRRLRLLRRLRRRLLRLLRRRRRRLLRLRRRLLLLRRLRRLLLRRRLRRRRLRLLRLLLLRLLLLRRRRRRRLRLRLRRRLRLRLRRLRLRLRRRRLLRLRLLLLRRLLLRRLLRLRRLRRLRRRLLRLRLLRRLRLLRRRLRRRLLLRLRLLRLRRLRLLRLLRLLRLRRLLLLLRLRLLRLRRLLLRRLRRLLRRLRRLRLRLRLLRRLLLRRRRRLLRLRRRLRLLLRRLLLRRRRLLRRLRLLLLLRLRLRLRLRRLLLLLRLRLRLLLLLLLLLRRLRRLRLLRRRLRLRLRRRRRRLLRRLLLRRRLLLRRRRLRRRLLRRRLLRRLRRLLLLLLLLLRLRRLLRRRRRRLLLLRLLLRLLLLRLLLLRLRLRRRRLRRRLLRRLLLRRLLRRLRLLRLRLLRRLRRRLLRRRRRLLRLLLLRLLRRRRLRLRLRLLLRLLRLLRLRLRRRLRRRRLRRLRRRRLLRRLRRRLRLRLRLRRRLRLRLRLLLLRRRLRLRLRRRRLLLLLLLLLLLLRLLRLRLLLLRRRLRLRLLLLLLRRRRLRLRLLRLLLRRLLLRLLLRLLLLLLLLLLRLRRLRRLRRRLLLLRLRRLRLLRRLLLRLRLLLRLLRRRLRRLRLRLRRRLRLLRLRLRRLLRRRRLLRLLLRRLRRRLRRLRRRRLLRLRLLLRRRLLRRRRLRRRLRRRLLLRLLLLRLLRRRRRLRLLLRRLLRLRLRLRRLLRLLRLLRLLRRRLLLRRLRLRRRLLRLLRRLRLRRLRRRLLLRRLRLLLRRRLLRRRLLRRLRRLLRLRLLRRLRLLLLLRRLRRLRLRLRLRLRRRRRLLLLRLLRLLLLRLLLLRLLLLRLRRLLLRRLLRLLRRRRLLRLRRRLLLRLRLLLRRRLRRRLLRRRLRRRLLLRRLRRRRLRRLLRRRRLRLLLRLRRLRLRLLLLLRLRLRRLRRRRLLLRRLRLLLLLRLRLRLRRLLLLLLLLLRRRRRRLRLRLRLLRLRRLLRRLRLLRLLLRLRLLRLRRLLRLLRLLRRLLLRRLLLRRLRLLRRRLRRLLLLRLLRRLLLLLRLRLRLRLLLLLLRRRRRLLLLRLLLRLRRLLRRRLRLRLRLLRLLLLRLLRLLLRLRRRLRRRLRRLRRRLRRRRRRRLLRRLLLLRLRRLRLRLRLRRLLRLRLRLLLLRLRRRRRLLRLRLRLLLRRRLRRLLRLRRRRRRLLLRLRRRLLLLLLRRLLLLRLRLRRLRLRLRRLRRLRRRLLRLRRRRLRLLRLLLRRLLLRRLRLRLRRLLLRRLRRLLLLLRRLRLRLRRLLLLLRLRRRRLRRLRLLLRRRLLRLLRRRLLLRLRRRRRLRLLLRLLLLLRRLLRLLRRLRLRLRRLRLLLRRRRRRRRLLRLRLLRRRLRLLRRLRLLLRRRRRLRLRLLLRRRRRLLLLLLLRRRLRRRLLRRLLRRLLLLLLLRRRLLRRRLLRRLLLLRLRRLRLLRLRRRLRRLRRRLRLRRLLRLLLRRLLRLLRLRLLLLLLLLRLRRRLRLLLLRRRLLLRRLRLRLLRRLLLLRRLRRRRLLLLRRLLRLLLLLLLLRRRLRRRLLLLLLRLLRLLRRRLRRLLRLRRLRLRLRRLLLLLLRLLRRRLRLRRLLLLLLLLRLRRLRRLLRRLRRLRLLRLLLLRRLRLRLLLRLLRRLLRRLLRRLLRLRRLRLLRLRRLRLRRRRLLRLLRLLLLRLRRRRRLLLLLRRRRRRLRRLLRLRRLRRRLLLRLLRRRRLRLLRLRRRRLRLLLLLRRLRRRRRLLRRRRRLRLRLLRRRLRRRLRLLRRRLRRLRRRLRRRRLLLLLRLRLLRRRRRRRLRLRLLRLRLLLRRRLRLLRLLRLLLRRLRRRRRRRLRRRLLLLLRRRRRRLLRRRRRLLRRRRLRLLLRLRLRLLLRLRLLRLRLRRRLLLLRRRRLLRLLRLLRLRLRLLLRRRRLLRLRLLLLRLRLLRLLLRRRLRLRLRLLLRRRRLLLRLLRLRLLLLLLRLRLLLLLRRRRLRRRLLLRRLLLRLRRLLLRLRLLLRLLRLRLLLRRLLRLLRRRRRRRRRLRRRRRRLLLLRRRRLRRRRRLRLRRLLLLLLRRLRRLRLLLRLRRRRRRRRRRRLLRLRLLRLRRLRLLLLRLRRRLLLRRRLRLLLRRRLRLLRLRRRLRRRRLLLLLLRLRLRRRLRRRLRLRLLRRLLLRRLRLLRRLLRRRLLRLRLLLLRLLLLRRLRLRLLRLLLLRRRLLRRRLLRLRRRRRLRLRRLRLLLRRLLRRRRRRLLRLLRLRLRLLLRRLRRLLLLRRRRLLRRRLLRLRLLRRRRLLRLLLLRRRRLRRLRRRLLLRRLLRLLRLLLRRLRRRRRLLRRRLLRLRLRRRRLLLLLLRLLRLRRRLRLRRRRLLLLLLRLRLRRLLRRRLLLRLLLRLLRLRRRLRRLRLRRLRLLLLRRRRRRRRLRLRRRRRRLLRLLRLRRLRLLRRRRLRRRRRLRRLRRLRLLLRRRRRLRLLRRLRLRLRLLRLLLRRLRLRRRLLLRLRLRLLLRLRLRLRLRRRLLRLLLLLLLLLLLLRLRRLLLRLRLRLLRRRRRRRLLLRRRLLLLRRRLLRRRRLLRRLRLLRLLLLLRLRLLLRLLLRRRLRRRLRRLLRRLLRRLLRLLRRRRRRLRLLLLLLRRRRLRRLRLLRLRRRLLLLLLRLRRRRLRRRLRRRRLRLRRRLLLLLLRRRLRRLRRRLLRLLLRLLLRLRRRRLLLLLLRLLRRLLRRRRRRRRRLRLRLLRLLLLLRRLRRLRRRLRLRLLRRLLLLLLRLLRRRRRLRLRRLLRRRRLLLLRRRLRLLRLLRRLRRLRRLRRRLLRLRRRRRLLRLRLRLLLRRRLLLRLLRLRRRLRLLRLLRLLRRLLLRRLRRLRLLLLRRLRRLRRRLLLLLLRRLLLRLLLLLRLRLRLLLLRRLRLLLLRRLRRRRRLLLLLLLRLLLLRLRRLRRRRLRLLRRLRRRRLLLRRLLLRLLLLRRRRRRLLRRRRRLRLLRRRLRRRRLLRRLRRLLLRLRLRLLRLRLLLLRLRLRRRRLLRLLLLLLLLLLRRRRLRLRLRLRLRLRLRLRRLRLLLRRLLLLLRLLLLRLLLLLRLRLLRLLRLLRRRRLRRRLLRLRLRRRLLLRLLLLLLLRLRLLRLRLRLRLRRLLRRRLLRLLRRRRRRRLRLLRRLLRLLLLRLRRRLLRLLLRLLLLRRLRRLRLRRLLRRLRRRLLRRRLLRLRRLLRLLRLLRRLRRRLRLLLLLLLLLLRLLRRLRLLLLLRLRLLRRLRLRRRLRLRLRRRRLRRRRLRLRLRLRLLRRLRRLRLRRLLRLRLRLRRRRLLRLRLRLLLRRRLLLRLLLRLRRRLLLRLLRRRRLLLRLRRLRRRRLLLLRRRRLRLRLRRRLLRRRLLLRRRLRRRLRLLRRLRLLRRRRLLRRLLRLRRRLRRLRLLRLRLRLRRLRLRLLRRLRLRRLRRRLRLRLLRLLLRRLRLLLLRLLRLLRRRRRRLLRRLRLRRLLRLRLLLRLLRLLLRLLLLRRRRLRLRLLLLRLLLLRLRRRRRRRLLRRRLRLRRLRRLLRLLRRRLRRLLLRRRRLRRRLRRLRRLRLRLLRRRRRLRRLRRLLLRLRLRLRLLLRRRRLLRRLRLLLRLRRRLLRRRRRLRRRLLRLRLLRLRLRRLLRRRLRRRRRRLRLRRLLLRLRLRRLRRRLLRLRLRRLRLRLLLLLLRRRRLLLLLRLLLLRLLLLRLLLRRRRLRRLLLLRRLRRLRLRLLLLRLLRRLRLLRLRLLLRRRRLLRLLRLLRRRRRLRRLLLRRRLLLLLRRRLLLRRLRRLLRLLLLLRLRLRRRRRRLRRRLLRLLRRRLLRRLRRLLRLLLRRRLRRRRLLRRRRLRLRRLRRRLLRRRRRLRLLRRLLRLLLRRRRLRLRLRLRLLLRRLRRRLLRLRRLLLLLRLLRLLLRRLLLRLLLLLLLLLRRRLLLLRRRLRRRRRRRRRLLRLRRRRLRRRLLLLLRLLLLRLRLRLRRLLRRLRRRRRRLRRLLRLRRRLRRLRLRRLLLRLLLLLLRRRLRLRRLRRRLRRLRRRLLLLRLLLLLLRLRRRLLLLRRLRRLLRLLLRRRLRRLRRLRRLLRRRRRLLLRRLLLLRLRRRLRRLLRLRLLRLRLLRRLRLRLRRLRLRLLLRLRLLLRRLLRLLRRLRRLRLRRLLRLRRLRLLRRRLLLLLRLRLRLLRLRRLRRLLLRRRRRRRLRRLRLLLRLRLRRLLLLRRRLLLLLRRRRRRRLRLRLRRRLLRRRRLRRRLRRRLRLLRRLRRLRLRLRRRLRLLLLLLLLLLLLRLLRLLLLLLRLRRRLRRLRLRRRLRLRRRLRLLRLRLLRLRLRRRRRLLRLRLRRLRRLRRLRRLLLLLRRRLRRRLLLLRRLRLLLRLRRLLLRRLLRRLLRLLRRRLRLLRRLLLLLRRRRLRLRLLLRLLLLLRLRRRLRRRLRRLRLRLRLRRLRLRRRRLRLRRRRLLRLRRRRRLLRLRLRLLLLLLRLLLRLRRLLLLRRLLLLLRLRLLRLLRLRRRLLRLRLRLRRLRRLLLRRLLRLRRLRRLRLRLLRRRRLLLLLRRRRLLRRLRLRLLRLRRRRLLLRLRLLLRRRRRRLRLLLRLRRRLRRRRRLRLRRRRRLLLLRLRLRRLRRRLLLLRRLLRLRLLRLLRRLLLLRRLRRRLRLLLLLRLRLLLLLLLLRRLRRLRRRRRLLRLLRRLLLLLRRLRRRLRRLLRLRRLLRLRRRRLLRRLRLRRLLLRRRLLRRRRRLLRRLLRRRRRLRLLRRRRRRLRRRLRLRLRLRRLLRLLRLRRLLLLLLLRRLLRLRLLRLLLRRLLRLLRRLRLLRLLLLRRRRLLLLLLLRRLRLLLLRLLRLLRLRRLLLRRLLLLLLLLRRLLRRLLRRLRLLLRLRRRRRLRRRRRRRLLRLRRRLLLRRLRRLRLLRLLRLLRLRRLRLRLRLLRRRLLLRLLRLLRRLRRRRLRRLLLLLLRRLRLLLLLLRRRRLLRRLRLRLLLRRRRRRRRRLLLLRLLLLRRLLRLRRLLRLLLRLRLLRLRRRRLLLLRRRRLRRLLLLLLLLLLRRLRRRLLRLRRRLRRRLLLLRLRLLLLRLLRRLRLLLLLRLLRRRRLRRLLRRLLRRRRRLLRLRLRRLLRLLRRLRLRLRRRRLRLLLRRLRRLRLRLLRLLLRLLRRRRLRLRRLLRLRLLLRRRLLRRLLRLRLRLRLRLRRLLRRRLRLRRRRRLRRRRRLRRLRLRLLLLRRRRLRRRRLRRLLLRRLRLLRRRLLRRLLLLRLRLLRLLLLLLLLLLRRRLLRLRRLLRLRLRLRRLRLRRRLRLRRRRRLRLRRLLRRLLLLRRLLRLLLLLRLLLLLLLRRRRRLRLRLRRLLRLLRRRLLRRRLRRRLRLLLRRLLLRLLLLLLLRRRRLRRLRRLRRLRLRRRLRRLLLLRRRLLRRRRRLRRRLRLRLLRRLLRLRRLRLLRLRLRRLLRRLRLLRLRRRLRLLRLRRLLRRLRRLRRLRLRLLLRLLLRRRRLRRRRLLRRRRLRLRLRRLLLRLLLRRLLLLRLRRRLLRRLLRRRRLRRLRRRLRRRRLRRRLLRLRRRRRLRLLLRRRLRRRRLRRLLRRRRLLLLRRRLLLLLRLRRLLLLRRRRRRLRLLLLRRLLRLLRRLRLLRLRRRRRRLRRLLRLLLRRRRRRLRRLLRLLLLRLLLLRRRRRRLRLLRLLRLRRLRLLLLLLRLLRRLLLRRRRRRRRLRRRRRRRRRRRLLLLRRRLLRRLLRRRLLLLLRLRRRRRLLRLRRLLRRRRRLRRRRRLLLLLLLRRLLRRLLRRLLLLLRLRLRRLLLLRLRRRLLLRRLLRLLRLLRRLLRLLLLLLRLLLLRLRLLLRLLRRLRRRLLRLRLLRRRLRLRLRRRLLRRRRRRRRLRLLLLRRLRRRLLRLRLLRLRRRRRLRRRLLRLLRRLRLRLRLLRLRLLLRLLLRRLLRRLLRRRLRRRRRRRLLRRLLLRLRLRRLRLRLRRRLRRRLLLRRRRRLRLRRRRLRRRLRRLRLRRLRLLRRRLRLLRRLLRRLRRLLLRLRLRRRLLLRLLLLRLRLRLLLRRRRRLRRRLLLRRRLRLRRRRRRLLLLRRRLRLRRLLRLLRLLRRLLLLLRRLRLRRLRRRLLLLRLLLRRLLLLLRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLLLLRLRLRRRRRLRLLLRRLRLLRRRRRLLLLLLLRRRRLRRRLLRRLRRRLLRLLRLLRRLLLLRRRRLRRLRRLRLRRLRRRRLLLRRLRRRRRRRLLLLLLRRLRLRRRRRLRRLLRLLLLLRRRRLRLRLLRLRLLLLRRLLRRLLRLLRLRRLLLRRLRLRLRRRRLRRRLLLLLLLRRLRLLLLRRLRRRRRRRRRLRRRRLLRRLLLRLLLLRRLRLLLLRLRRRRLLLLLRLRLRRRRLRLRLRRRLRRLRLRLRRRLRLRRRLLLRLRLLLLRLRRRLLRLRLLLRLRRRRRRLLLRRRLRRRLLRRRRLRRRLRLRRLLLRRLLLRLLRLRLRRLLRRRRRLLRLLRLLLRLRLRLRLLLLRLRRLRLLLLRRLRLLLRRRRLRRRRLLRRRRLLLLRRLRRRLLRLRRRRLLRRRRRLRLLRRLRLRRLLLRLLRRLRRRLLRRLRRRLLRRLLLRRRLLRRLLRRRLLRLRRLLRRRLRRLLLLRRRLLLRRRLLRRLLRLLLLLRRRRLLRLRLRRRRRLLRRLLLRRLLRRLLRLRRLRLLLLRLLLLRRLLLLRRRRRRRRRRRLLLRLLLLLLLRLLRRLLRRLRRRRRLLRLRRRRRLLLLRRLLLLLRLLLRLRLRRLLLLRLLRRLLRRLRRLLLRLRLRLRLLRLLRRRRLRRRLLLLLRRLLLRLRRRLLRRRLRRLRLLLLRLRLLRLRLRLRRRLLRRRRRRRRLLRLRRRLRLLLLRRLRLLRLRLRLRLRLLLLLLLRRRLRLLLRRLLRRRRLLRLLRRLRRLLLLRRRRRLLLLLRRRLLLRLLRRLRRLRRLRLRLLLLRRLRLLRLRRRLLLRRRRRRLRLRRLRLLRRLRRRLRRRLRLLRLLRLLRLRLLLLLLRLLLLRLLRLRRLLRRLRLLLLRRRLLRRRRRLRLRRLRRLRLRRRLLRRRRLLRLLLRLRLLRRRLLRLLLLLRLRRRRRLLRLLLLLRRRLRLRRRRRLRRRLLLLLRRRLLRLRLRLRRLLRRLRLRRRRRRRRRRRLLRRRRLRRRRRLRRLRRLLLRRLRRRRRRLRLLLLRLRRLRLRLLRRLRLRLRRRLLRLRRRRRRRRRLLLRRLLRLLRRRRRRRRLLLRRRLLLRRLRRRRLRLRLRLRRLLRRRRLRLLLRRLLRLRLRRRLLLLLLRLLLRRRLLLRLRLRRLRRLRLRRLRLRRRLRLLRLLLLRRLRRRLLRRLLRLLRLLLLRLLRRLLRRRRLLRLLLLRRRRLLRLLRLLLLLRRLRRLRLLRRRLRLLLLRLLRRLLRLRLRLRRRLLLLRLLRLRRRRRLLRRLRRRLRLLLLRRRRRLLRRRRRLLLLLRRLRLRRLRLLLLLLLLLLRRRRLRLRRRRLLRLRRRLRRLRLLRLRRLRRRRRLRRRLRRRLRLRLLRLLRLLLLLLLLLRRRRRRRLLLLLRRLLLRRRRRRRRRRRRRLLRRRLRRRLRLRLRRRLLRLRLRRLLRLLRLRRRRRLRLLLLRRLRRLRRLRLRRRLLRLRRLLLLRRLRRRLRRRRLLRRLLRLLLLLLLRLLLLRLLRRRLLLRLRRRLLLLLRRLRLLLLRRLLRLRLLRRRLRLRRLLRRLRRLLLLLLLRLRRLRRLLLLLLRLRRLRRLRLRRRLRRRRLRRLRRRLLRLRRRRLLLLLRRLRRRRRRRRRLRRLRLLRRRLLLLRLRLLLRLLRRRRRLRLRLLLLLRLLRLLRRLLRRLRLRRLRRRRRLRLLLLLRLLRLRRLLRRLLRRRRRLRRRLRLLRLLRLLRLLLLLLLRLRRRLRLLLRRRRRLLRLRRLRRRRLLLLRLLRRLRLLRLRRRRRLRRRLLLRRRRRRRLLLRLRLLLRRRLLLLRLRLLRLRRLLRRLLRRLRRRLLRLRRLLRRLRLLRLRRLLLLRLRLRLLLRLLLRLRLLLLRRLLRRRRRLRLLRRLLLRRLRRLRRRLLLRRLRLRLRRLLRLLRRRRLLLLLRLRLLRLLLRLLRLRLRRRRLRLRRLLRRLLLRRRLLLLRLRRRLLLRRLRRRRRRRLRRLLRLRLLLLRRRLLRLLLRRLLLLRLLLLRLLLLRRRRRLLRRLLLRLLRLRRRLLRRRLLLLRRLLRLRRRLLLRLRRLLLLLLLRLLRLRRLRRRRRRLLLRRRLRRLLLLLLLRLLRRLLRLRLLRLRLLRLRLLLLLLLLLRRLRRLRRLLRLLRLRRLLLLLRRRRLRRRRLRLLRRRLLLLLRRLLLLLRLRLRLRRLLRLRLLLLRRLRRLLLLLRRRLLLLLLLLRRRLRLRRRLRRLRRRLRLRLLRRRRRLRLRLRLRRRRRRRLLLLLLLLLRLLRLRLRLLLLRRRLLLLRRLLLRRRLLLLRRLRRRLLRRRLLLLLRRLRRRRRRLLLLLLLLLLLLRRRRLRRRLLRRRRRLRRRRRRLRLLRLLLLRLLRRRRLLRLRRLRRLRLLRLRRRLLRLLLLRLRRLRRLRLLRLLRLRLRLLRRRLLLRLRLLLLRLRRRRLLRLLLRRLLRRLRRRLLLLLRLRLRRLLRRRLRRRLRRLLLLLRLLLLLLLRRLRRRRRRRRLRLLLLRRRRRLLLLLLRRRRLLRLLRRLLLRRLRRLLLRRRRRRRLRRRLRLRLRRLRLLRLLRLLRRLRRLRLLLLRLLRRRRLRLRLRRRLLLLRRLRLRLRLRLRRRLLRLLLLRRLLLLRLRLRRLLRLLRRLLRLLLRRRLLRRRRRLRRRRRLRRRLLRLLLRRLRRRRLLLRLLLLLRLRLRLLLLRRLRLRLLLRLRRRRRLLRLLRRRRLLRRLLLLRRRRRLLRLRLLLLRLRRRLLLRRRRLLLRRLLLRRLRRLRRRRLLLRLLRRRRRRRLLRLLLLRLRLRRRLLLRLRLLRRRRRRLRRLLRLRLLRRRRRRLRRRRLRLLRRLRLLRLRRLRLRRRRRLLRRLRLLRLLLLLLLRLLLLRRLLRLLRLRRRRRLLLLLLRLRRRLLRLRLRRRRRRRLRLRRLLLLLLLRLRLLRLRRLLLRRRLRRLLRRRRRRLLLRLLRLRLLRRLLRLLRRLLRLLRLRRRRRLLRRRLLRLLRLLRLRLRRRLLLRRLLRRRRRLLRLLRRRLLRLLLRLLRLLLRRRLLRRRRRRLLLLLLRRRLRRLLRLLRRLLRLLRLRLRRLRLLRLLRLLRRLLLLRRLLRRLLLLRLRLRLLLLLRRLLRLRLLLLRLLRLRLRLRLRLLLRRRRLLLLLLRRLRRRRRLLRRRLLLRRRLLRRLLRRRLRRLLRLLLRLLRLRLLRLRRRRLRRLRLRRRLLRLLRLLLRRLLLLLLLRRLLLLRLLRRLLLRLRLLLRRRLLLRLLRLRRRLRRRRLLLLRRRRRLRLLRLLLLRRRRRLLLLRLRRLLLRLLRRLLLLLLLLRRLRRRLRLLRLLLRLRRLRLLLLRLRRLLLRLLLRLRRLLLRRLLLRLRLLRRLRRRLLLLLRLLLRRLLLLRLLRLRRRRLLLRLRLRLRLLRLLRRRRLRRLRRRRLLLRLLLRRRLLRRLRLRRRRLLRRLLRLLLRLRLLLRRRLRLLLRRRLRRRRRRRRRLRLRRLLRLRRRRLLLRRLRLRRRRLLLRRRRRRLRLLLRRRRRLRRRLRRRLLRRRLLLLLLLRRRRRRLRRLRLRLLRLLLLLLLRRLRLLRRRRRRLRLRRRLLLRRLLRRRRLRRRLRLRRLLRLRLRLLLLRLLRLRRRLRLRRRRRLRLLLRRLLRRRRRRRRRLRLRRLLLRRRRLLLLRLLRRLRRRRLLLLLRRRLLRRRLLLLLRLRRRLRLLLLLLRRRLRRLRLLLLRRLRRRRRLRRRLLRRLLLRLLLLRLLLLLRLRLRRLRLRLLLLLRRLLRLLLRLLRRLLLLRLRRRRRLRLLRRLRLLLLRLRRLLLRLRLRLRLRRLRRLRRRLLRLLLLLRLLLLLRRRLRRLLLRLRRLLLLLRRLRLLRLLLRLRLRLLRRLRLRRRRLRRRLLLRLRRRLRLLLRLRRRLLRLLLLRLLLRRLRRRRRLRRLRRLLLLLLLRLLLRLRLRLLLLRLRLLRLLLRRLRRRRRLRRRLRLLLLLLRLRLRLLRRLLRLLLRRLRLRRRLRRLLLRRRRLRRLRRRLRLRLLRRRRLLLLLLRRRLLLLRLRLLRRLRLRRLRRRRLLRLLRLRRLLLRLLLRRLLLLLRRLRLRLRRLRRRRRRRLLLRLRRRLLLRRRRLLRRLRRLRLRLLRLLRLRRRLRLRRRRLRRRLLRRLRRLRLLRLRLLRLLRLLRRLLLRLLLRRRLRRRRRRLLRLLLRLRRRRLLLLRLLRLLLLRLLLRLLLRLLLLRLRRLLRRLRLLLRRLRLLRLRLRRRLLRLRRRRRLRLLRLLRLRRLRLRRLRRLRRRLLRLRLLLRLLRRLLRRLLLRRLRLLRRRLLRLLRLLLRLLLRLLRLRLLLLRRRRRRLLLLRRLRRLRRRLRRRLRRRLRLLLRRLLLLRRRLRRLLRLRRLRLRLRLLLRRRLRRRRRLLRLLRLLLRRLLRLLRRRRRLRLLRLRRRLLLRLLLRLRLRRLLLLLRLLRLLLRLRRRLRRRRRLRLLLLRLRRLLRLLLRRLRLLLLRRLRLRLRLRLRRRRLLRRRRLRRLRRRLRRLRRLLRLLLRRLLRLRLLRRLLRRRRRRLRLRRLLLLRRLLRLRRLRRRRLLRRRLRLRRRLLLLLRRLLRLRLLRLLLRRLLRRRLLLLRLRLRRLRLLLLLRLRLRRLRRRLRRRLRLRRLLLLRRRLRLLLLRLRRLLRRRRRRLLLRLLLRLRLRLRLRLRRLLRLLLLLRRRLRLRLLLRRLRLRLLLRRRLRLRRLLRRRRLLRLLRRLLRLRLRRLLRRRRLRLRRLLLLLRLRLLRRRLLLRRLRLLRRRRRRLLLLRLLLLLLRLLRRLRLRLLLRRRRRRLLRLLRLRRRRRRLLLRRRRRRLRRLRRRLRLRLLRLLRLRRRLLLLRRRLLRLRRRRRLLRRRLRRRRRLRLRRLRLRRLRRLRRLLLRLLLRLRRLRRRRLRRLRRRLLLRLLLRLRRLRRLLLLRRRLLRRRLRLRRRLLLLRRLLLLRLRRRRLLLRLRLLRRLLRRLRRRLRLRLRRLLRRRRRLRRLRLLLRRLRLRRRRRRLRRLRLRLRLLRRRRLRLRRRRLRRRRRLRRRRRRLRLLRLRRRLRLRRRLLLRLRRRLRRRLLLRRLLRRLRRLRLLRRRRRLRRRLLRLRLRLRLRLLRRLLRLLLRRRLRLLLRLLRRRLRRRLRRRLRLRRRLLRRRRLRLRLLRLLRLRRLRRLLLRLLLRLLLRRLRLLRLRRRLRRLLRRLRRLRRRRRRRRLLLRRLLLLRLLRRLRRRRLLRLLLLRRLRRRRLLLLLLLLLLRRRLRLRRLRRLLRRRLLRRLRLRLRLRLLLRLRRRLRRRLRLLLLLLRLLRRLLLRLRRLRRLLRRRLRLLRLRLRRRRRLLLLRLRLLLLLRRLLRRRRRLRLLLLRLRLLLRLRRLLLRLRLLRRRRLLLRLLRLRLLLLLLRLLLRRRRRLRRRLLRRLLLRRRLRRLRRRRLLLRRRLLRRLLLLLLLLLLRLLRLLRLRRRRRRRRLRRRRLRLRLRRLLRLRRLRRRRRLRLRRLLLLLLRLLRLLLLRLRRLRLLRLLRRRLLLLLRRRLLLLRRRLRLRRLLLLRLRLLLRLLRLRLLRLLRLLLRRRLRRRLLLLRRLRRRRRLLRRLLLRLLLLLRLLLRRRRLLRRRLRLLRRLLLLLLLLLLRLRRRLLRRRLRRLRLLLLRRRLRLLRRLRLRRRRRRRLLRRLLRLRRRRRRRRLLRLRRLLLRRLRRLRLLRRRRLRLRRRRLRRLLRLRLLRLRRRLLLRRRLRRLRLRLLLLRLRLRRRLLLRRLRLLLLRRLLRLLRRLRRRRRLRRRLLLLLLRLRRLLRLRLLLRRLLRRRRRLRRRRLRRRLRRRRLLLRRLRRLRLLLRRLLRLLLLRRLLRRLRLRRLLLRLRRRLLLLRLLLRLLLRRLRLLRRRLLLRLRRRRLLRRRLRRLLRRRRRRLLRRRLRRLLLLRLLLLLLRRLRLRLLRLLLRRRRRLRRRRLRLLRLLLRRRRRLLRLLLLLRRLLRLLLRRLLLRLLRLRLLRRLRRLLLRRRLLRLLRRLLRLRRRLRRLLLRRRRLRRLRRRLRLLLLLLRLRRRLRRRRLRRLRLLRRLLRLLRRLLLRRLLLRLLRRRLRRLRLRRLLLRRLLRLRRLLLRRRRRLRRRLRLLLLRRRLRLLRLLRLLRLRLRRLRRLRLLRRRRRRLLLLLLRRLRLLLLLLRRLRLLRLLRRLRLLRRLLLRRLLRRRRRLRRRRRLLRLLLRLLRLRLLLRRRLLLLLRRRLLLRRRRLLRLRLLLLLLRRRLLRLLRRRLLRRRLLRRRRRRRRLLRRLRLLRLRRLLLLRLLLRLRLRRLRRLRLRRRLLLRRLRLRLLRLLRLLRRLRLRRRLRLRLRLRRRLRRRLLRRLRLLRRLLLLLLRLRLRRLLLRLRRLRRLRRLRLLLRLLRRLRLLLRRRLRRLLRLLLLLLLLRLLRRLLRLRRLLLRLRLRLRRRLRLLLLLLRLRRRLRRRLRRLRRRLRRLLLLRLRRRRLRRRLRRLLRLRLLRRRLRLLLRRLRLLLRRLLLRLRLRRRLRLLLRRLLLRLRRRLLLRLRRLLRRRLRRRRRLRRRLRRRLRRRRLRLLLLLLLRLLRLRRLLLRLRLRLLLLLRRRRRRRLLLLLLLLRRLRLRRLRLLLLLLRRRRRRLLRLLLRLLLRLRLRLRLRRRRRLLRRRLRLLRLLLLRRRLLLRRLRRLRRLRRRLRRLLLRRRRRRLLRRRRLLLLLLRRLLRLRRLLLRLLRRRLRLRLLLRLRRLLLLLRLLLLLLRLRLLLRRLLRLLRLLLRLRRRLLRLRLRLLRLLRRLLRLLLLLRRLLLRRRRLLRRLRRLRRRRLLLLLLRRLLRRRRLRLLLRLLRLRRRRRLRLLRRLLRLLRRLLLRLLLLLLRRLLLLRLLLRRRRLLLLLLLLLLLRLRLLRLRRRLLLRLRRRLRLLLRLRRRRLLRRLLRLLLRRLRRRRRRRLRRLRRRRRLLLLRRRLRRLLRRLRRLLRLLRRRLRLLLRRRLRLRRRRLRRRLLLLLLLRLRRLLLLRRRRLLLLRLLRRRRLRLRRRRRRRRLLRLRLLLRLLRLRRRLRRRRRRLRRLRRLLRRRRLLRRLLLRLLRRRLLRLLLLLRRLLLRLLRRRRRLLRRRLRRRLLRLRRRLLRLLRLRLRRRRRRRLRLLLLRLRLLRRRRRLRRRRLLRRLRRLRLRRRLRLRLRRRLLLRLRLLLLLLLLLLLRRLRLRLRLRLRLLLRRLRLLLLRRRRRRRRRLLRRRLRRRLRLLLLRLRLLRRRRRRRLRRLRRRLLRRRRLRLRLLRLRLLLLLRLRLRRLLRLLRRRRRLLLLLLLRRRLLRRLRRRRRRLLLLLRRRLRLLLRLLRLRRRRRLLRLLRRRRLRLLLRRRRRRRRRLLLRLRLLRLLRLLRLLRLLRLLRRRRLRLLRLLLLRLLLLRLRLRLLLRLLRRLRLRRLLLRLLRRRLRLRRLRLLLRLRRLRRRLRRLRLLRRLRLLLLRRLRLLLLLLRLLRLRLLRLLRRRLRLLLRLLRRLLRRLRRLRLLLLRLLRRLRRLLLRRRLLRLRRRRLLLRRLLLLRLLRRRRRLLRRLLRRLLRRRLLLLRRRRLRLRRRRLLRRRRRRLRLLLLLRLRRRRLLRRLRRLRRRLRLLLLLRLLRRRLRLRLRLLLLLLRLLRRLLRRRLRLRRLRRRLLRRRRLLRLLLLRRRRLRLLLRRLRRRRRLLRLLLRLRRLLLLLRLLLRRRLLLLRRLLRLLLLRRRRLLRRLLRRRRLRLLRRLLLLLRRRLLLLRRRRRRRLRRLRLLLRLRRRRLRLRRLRLRRLRLRLRLRRLLLLRRLLRLLRRRRLRLRRRRRLLLRLRRRRRRLRRLLLRRLLLRRLLLRLRLRLLLRLLLRLLLLLRLRRRLLLRLLLRRLRLRLRRRLLLLRLLLRLLRLLLRRRRRLRRLRRRRLLLRRLLRRLLLRLLLRLLLRLLRLRLLRLRLRRLLLLRLLRLLLLLLLRLLLLLLLRLLLLLRRLRRRLRRLRLLRLRRLLLRLRLLLLLLLRLLRLRLRLLLLLRRRLRRLLLRLRRLRLLLLLLRLLLLRRLRRRLLLLLRLRRRRRRRLRLRRLRRLLRLRRLLRRRRRLRRLRLLLLLRLLLRRRRRLLRRRRRRLLLLRLLRRLLLRLRLLRLRLLRRRRRLRLRRRRRLRRRRLRRLLLLRRLLRRRRRRLRLRLRLLLLLLLLRRRRLLLLRLRRRLLRRLLRLRRRLRRRLRRRRLLLLRLLLRLRRLRLRLLLLRLRLLLLLLLLLLRRLLRLLRRRRLLRRLRLLLRRRRRLRLLLLLRRLRLLLLRRRRRLLRLLRRLRRLLLLRLRLLLLLLRLLLLRLLRRLRRRRLRRRLLLRRLLRLLLRRLLRLRRLLLRRRLRRLLLLRRLLRLLRRRLRLLLLRRRLLLRLRLLLRRLLLRRLLRRLLLRLRLLRRLRLLLRLRLRLRRRRLRLLLRRRRLRRRLRLLLLLLRRRRLRRRLLRRLRLLRRLLRRRLLLRRLLLRRRRRLLLLRLRRLLLLLRLLLRLRRRLRRLLLRRRRRLLLRRLRRLRLLRLLRRRRLLRLRLLRRRLLLLRRLLLLLLLLRRRLLRLLLLLRLLRLRLLLRLRLLLLLLLRLLRLLRRRLLLLLLLRLRLRLLLRLRLLRRLLLLRLRLRRRRLLRLLRRRRLLLLRRLRLRLRRRRLRRRLRLLLLRRLLLRLLLLLLRLLLRRLLRRLLRRLLLRRLRLRLLLLRLLLRRRRLLLRRLRLLLLRLRRRRLRRRRLRLLLRRLLRLRLLLRLRRLRLRLLRLRLRRRRRRLRLRLLLRLLLLRLRRRLLRLLLRRLRRRLRLRLRLRRRRRRLLLRLRLRRRRLLLRRRLLLLLRRLRLRLRRRLLRLLRLLLLRRRLRLRLLRLLRLLLLRRRLLLLLRLLRRRLRRLLLLRLRLRRRLRRRRRRRLRRRLRRRLLRRLLLLRRRLLLLRLLRRRRLRLLLLRLRRLLLRRRLRRLRRLLLRLLLRRLRLRRRRLRRLRLLRRRRLRLLRRRLRLRRLRLRLRRRLRLLLLLRRLRLLLLLRLLLRRRRLRRLLLLLLRLLRRLLRLLRRLLLLRRRLLRLLLRLLRLLRRRLLLLRLLLLLRLRRRLRLRRLLLRRLRLLRRLRLRLLLRRLRRLRRLLLRLLLLLLLLLRRRRLRRLLRLRLRLRLRRRLRLLRRRRLLLRRRLLRLRRRLLLLLLLLLRLLRLLRRLRLRLLLLLRRRRRRRRRRLLRRLRRLLRLRLRLLLRRRRLLLRLLLRLRRRLLRRLRRLLLLRLLLLRRRRLRRLLRRLLLRRLRRLRRLLLRRLLLLRRRLLLRRLRLRLLRLRRRRRLLRRRLLLLRLRLLLLLLRRLRLLRLLLLLRLRLLRRRRLLRLLLRLLLRRLLLRRRRRLLRRRRRRRLLRRLRRRRRRRLRRLRRLRRRLRRRRLLRLRRLLLRLRRLRRRRLLLRLRRLRRLRLRRRRRRRLRLLLRLLRLLRLLLRLRRLRRLLLLRRLRLLLRLRRRRRLRRLLLLLRRRRRRRRLLLLLLRRLLLLLRLRLRRRRLRLLLRRLLRRLLRLLLLRRLLLRLRLRLLRRRRRRLRRRRRLRRLLLLRLLLRLLRLRLLLLLLRLLRRLLRLLLRRRLRRLRRLLRRRRLLLRRLLLRRLRRRLLLLLRRRRRLRRLLLLRRRRLRLLRLRLLRRRRLLRLLLLLLLLLRLLRLRRRLRRRRLRRRRLRRLLRLRRLLLLLRRRRRLLLLRRRRLLRLLLRLRLLRRRRLLRLLLLLLRRRLRRLLRLLRRRRRRRLRLRLLRLLRLRLLRRLLLLLRLRRRLRRLRLLLLRLRLLRRRLLLLLLRLRRLLLLRRRLLLLRRLLLLRRLLLLRRLLRLRLLRRRRRRLRRLRLRRLRRLRRLRLRLLLRLLRLLLLLLRLLLRRLLRRLLLRRRLRLLRRRLRRRRRLRLRRRLRLLRRLRLRLLLRRRLRRLRLLRLLLLRRLLRRRLLRLRLLLLLLLLLLLLLRRRLRRLLLRRRLRLRRRLLLRLLRLRRRRLRLRLRLRRLLRLRLLRLLRRLRRRLRLLRRRLLRLLLRLLRLRLRLRLRRRLRRRRLLRRLLLLLRLRRRLLRRRRRRRRLLLRLRLLRRRLRLLLLLRLLLLRRRRRRRLLLRLLRLRRRLRLRLLLLRLRRLRRLLLRRLLLRRLRLLLRRRLRLRRLLRLRLLRLLRRLRLRRRRLLLRRLRRLLRRRRRLLRRRLRRRRLLLLLRRLLLLRLLRRLLLRRRLLRRRRRLLRRRRLLLRRRLRRLRLRRRRRLRLLRLLRLLLLLLRRRLRLLLLRRRLRRRRRRLLRLRRLRRLRLRRLRLRRRRRRRRRLRRLLRLLRRLRRRRRLRRLLRLRLLLLLLLRLRRLRLRLRLRLLLRRRLLLRLLLRRRRLRLRLLRLLRLLLRLRRLLLRRRRRLLLLLLRLRLLLRRRRLLLLRRLLLLRRLRRRRLRRRLRRLRLLRRRRRRRRRLRRLLRRLLRRLLLRRLRRLRLLRRLRLRRRLLLLLLLRLLLRRRLLLLRLLLLLLLRRRRRRRRRLLLLLLLLRRRRLRLLRRRLLRLRRLLLLRLLRLRLRLLLRRRRLLRLRRLLRLRLLLLLRRRLRLLLLLLRRLRRRRLLLLRLRRLLRRRRLRLRRRRRRLLRLRRLRRRRLRLLRRLLLRLLRRRRLRLLRLLLLRLLLRLRRRRRRLRRRRRRRLLRLRLLRRLLLRRRRLLLLLLRRRRRRLRLLRRLLRLLRRRLLRRLRLLRLRLLLRRLRLRRRLRLLRLRRLRRLRLLLRLLLLRRRLLRRLRLRRLLLRLLLRRRLLLRLRLLLRLRRLLRRLRRLRRLLRLRLRLRLRRLLRRLLRLLLRLLLLRRLRLLLRLLLLLLLLLRRLLRRRRRLLLLRLRLLRRRLLLLRLRLRRLLRLRLLRRRRLLLLLRRLRLLRLLLRLLRRRRLRLLLRRLLLLLRRLRRLLRLRLRLLRLRRLLLRRLLLLRLLLLRRRLLLRLLLRLLRRRRRRRLRRLLLRRRRLLLRRRLLLLRRRRRRRRLRRLLLLLLRLLLLRRRRLLRLRRLRLRLLRRLRLLRRLLRLRRLLRRRRRRLRRLRLLLRLRRLRLLLRLRRLRRRLRLLLRRLRRRRRLLLLLRRRLRLRRLRRRLLRLRLRLRLRRLLLRLLRRRRLRRLLRRLRRLRLLRLRRRLLRRLRLRRRLRLLRLRRRLLRRLLRRLRRLRLLLLLRRRLLRRRLLLLLLLRLRLRRLLRLRLRRRRRRLLLRLLLRRLRLLLLLRLLLRLLRLLRLLRRLLRRRRLRRLRRRRLLRRLRRLRRLRLRRRLRLRRRLLLLLLRLRRLRRRLRLRRRRLRLLRLRRLLRLLRRLLRLRRRRRLLLRLRLRLRLRRLRRRLLLRRLLRRLLLLLLRRLLRRLRRLRLRRLRLLLRRLLRLRRLLRRRLRLRRRLRRRRRRRRLRRRRRRRRLRRRLLRLLRRLLLRLRRRRLRRLLRLLLRLRLRLLLLRRRLRLRRRLLLLLRLLRRLLRLLRLLRRLLLRRRLRRRRLRLLLRLLLLRRRRRLLLLLRRLLRRRRLRLLRLLLLRRRRLLRRLLRRRRLLLLLLRLRLRLLRLLRRLRRLRRLRLLLLRLRLRLRLRLRRLLRLRLRRLLRLLRRLLRLRRRLLLRLLLRLRLRLLRLLLLRLRRLLLRLLRLLLRLRRRLLRRLRLLRLRRLRLRLLRRRRLLRLRRLRLRLLLLRLRRLLLLLLLRRRRLLLLRLRLRLRLLRRRLRLRRLRRRLLRLLLRLRLRLRLRRLRLRRRRLLLRLRRLLLLRLRLRRLLRRRLLRRRLRLRLLLRLRLLRRLRLLRRRRLRRLLRRLLRLLRLRLLLLRLRLLRRLLLLLRLLLRRRLRLRRLRLLLRRLLRRLLRLLLLLRRLLLLLRRLLLLLLRRLRLLLRLLRRRRLLRLRLLRLRLRRRLRLLLLLRLLLRRLLLRRLRRRRLLLRLLLRLLLLRLRRRRRRLLLLLLRLRRLRLRLLRRRRRLLLLRLRRLLRLRRRRLLRRRRRLRRRLLLLRLLLLRLLRLLLRLLRLLLRRRLLLLRLLRRRLLLLLRRRRRLRLRRRRRRLRRRRRRLRRRRRLLLRLLLRRRRRLLLRLRRRRRRLLRRLLRRRLLRLLLLLLRLLRLLRRLRRRRRRRLRRRLLRRRLRRRRRLRRLRRRRLRLLRLRRLLRRLRLLRRRLLLRRLRRLRRLRRRLRLLLRLLRLRRRLLLLLRLRLLRLRLRLRRLLLLLLRLRRRLRRRRRLRLRRLLRLRLLRLLLRRRLRRLRLLRRRLRRRLLLRRLRLRRLRLRLRRLLLLLRLRRRLLLLLLRRRLLLRRLLRLRRLRLLLRRRLLLLLRRRLRLLRLLLRRLLLRLRLLRLRLLRRRRRLRLRRRLLRRRLRLRLLRLLLRLLRRRLRLRLLRRLRRRLLLRRRRRLRLLRRRRRRRLRLLLRLLRLRRRLLRLRRLRLLRLRRRLRLLLRRRLRRLRRLLRLLLRLLRLLLLLLRRLRLRLRLLRLLRRLLRLRRRRRRRLRRRLLLLLLRRLLLRLRLLRLRRLLRLLLRRRRRLLLLLRLLLLRLLLRRLRRLRRRLRRLRRLLRRLRRRRRLLRLRRRLRRRLLLRLLRRLLRLRRLRRRLLRRLRLLLLLLLRLRRRLLLLRRLRRLLRLRLLRRRRRLRLLRRLRRLLLRLLLLRRLRRRRLRLLRRLRLRRRRLLRRRRLRLRLLLRRRLLRLLRLLLLRLLRRLLRLLRLLRRLLRRLLRLLLLRRLLRRLLRLLRLLRLLRRLRLLRRLRLRRLRLRRLRLLRLRRLLLRRRRLLRRLRRLLRRLLRLRRLLLLRRRLRLRLLRRLRLLRLRLRLLRRLLRLLLRLRLLLLRRRLLRLLLRRLRLLRRLRLRLRRLRLLRRLRLRLRLRRRRLRLLRLRRRLLRRLLRRRLLRRLLLRRLLLLRRLLRLRRRLRRLRRRRLLRLLLLLLLRRLRRRLLLLRRRRRRRLRLLLLRLRLLRRRRLRLRLLRRRRLRRRRLRLLRLRRLRLLLRLLLLLRLRLRRLRLLLLLLLRRLLLLLLLLLRRLLRLRLRLLRRRLLLLRLLRLLLLLLRRLLLRRRLLLLLLRLLRLLLLRLRLLRLLRRLRLRLLLLLRRRRLLRRRLLRRLRRRRLLRRRRLLLLLRRRLRRRLRLLLRLRRLLRRRLLLRLRRLRLLLLRRLLLLLRRRLLLLLRLLRRLLLLRRRLLRLRRLLRLLRRRLRLRLLLLRLRLLLLRLRLLRLLLLRRRRLLLRLLRLRLLLLLRLRRRRRRLLLRLRLLLRLRLRLRLRLLRRLRLLLRLRRLLRLRRLLLLLRRLRLRLLLLRLLRRRLLLLRLRRLLLLLLLRRLRRLLLRLLLRLLRLRRLLRRRLLRLRLRLRRLRRLRRLRRLLLRLRRRRRRRRLLLRRLRLLLLLLRRRLRLLLLRLLRLRLRRRLRRRRRLRRLLRRLLLRRRRRLLLLRRLLLLRRRLRLLRRLLLRLRRRLLLRRRLRLLLRRLLLRLRLLRRRRRLLRLLLRLRRRRLRLRRLLLRRRRLLRLLRLRLRRLRLRRLLLLLLLLRRLLLRRRLRLLLRRLLLRLLLRLRLLRLRRRRLRRRLRLRLRRLRLLRRRLRRLRLRLRLRRRRRRLRLLLRLLLRRLLRLRLLLRRLRLLLLRRRLLLRRRLRRRLRRRRRRLLLLRRLRLRLLLLRLRLLLLRLRLRLLLRLLRLRLLLLLRLRLLRRRRRRLRRLRRRRLRRLLLLRLRRLLLRRRRRRLLRRRRRLLRRRLLRRRRLRLRRRLRRRRLRLLRRRLRRRLRLLRLRLRRRLRLRLRLRRRLRLRRLRRLRRRRLRRLRLRRLLLLRRRRLRRRRRRLLRLRLLLRRLLRRRLRRLRLRLLLLRRRLLRLRLLRRLLLLRLRRRLRLLLLLLLRRRLRRLLRRRLRLLRLRRLLLLRLLLLLLLLRRRRLLRLLRLRRRRRLLRRLLRLRLLRLLLRLRLLLRRRLLRRLRRRRRRLLLRLLLLLLRLRLLLRRRRLRLRLLRRLRLRRRLRRRRLLLRRRLLLRLRLRLLLLRLLLLRLLRLRLRRRRRLLRRLRRLRLLLRRLLRLRRRRLRLRRRLRRRLRRRLRRRRLRRRRRLRRLLRLRRLLLRRLRRLLRRLLRRLLLRLLRRRRLLRRLRLLLRRRLLRLRRRLLRRLRLLLRRRRRLRRRRRLLLLRLLLLRRLLRLLRRRLLRRLLRRLRRRRRRRLLRRRLLLLRRLRLLRRRRLLLRLLRRRLRRLLRLLLLLRLRRRRRRLLRRLRLLLLRLLRLLRRLLRLRLRRRLLLLRRRLRRLRLLRLRLRRLRRRRLRLLRLLRRRRLRLRRLLLRLRRRLLLLRLLRRLRLLRLLLRLLLLLLLRLLLLRLLRRRRRRRLLLLRRRLRLRLLRLLRRLLRRRRLRLRRRLLRRLLLLLRLLRRRLLRLRLRRRLRRLRLLLLLRRLLLLRRRLLRLRRLRLRRRLRLLLLRRLRRLLLRRLLRRRLLLLLLLLRRLLLLLRLRLLRLRRLRRRRLRRLLLRLRLLRLLLRLRLRLRRRRRRRRRRLLRLRLLLLLLLRLRLRLRLLRRRLLLRLRLRRRRRRRLRLRLLRRLLRLLRLLRLLRLRRRLRRLLRLLRRLLLRRLLLRLRLRRRRLLRRLRLRLLRLRRRLRRRLRLRLLLRRRRRRLRLLLRLRRRLLRLRRLLLRRRRLLLLLRRRLLRLLRRLRRRRLLLRLRRLLLRLRRRRRRLRLLRLLLLRRLRRRRRRRLRLRLRRLLRLLLRRLLRLRLLLLLLRRLLRLLLRLLLRRLRRRRRRRLRLRRLLLRLRLRLRRRLLRLLRLRLLRRRLRRLRLRLRRLRRRRRRLLLRRLRRLRLRLRRRLRRRLRLRLLLLRRRLLLRRLLLRRRRLRLLLRLLRLLLLLRLLLRRLRRRLLLLLLLRLLRLRRRRLRLLRRLRLLRRLLRRLLLRLLLRRRLRRLRRLLRLRLLLRLRLLLRLLRRRLRRLLLRLRLLLRRLRLRRRRRRRLRLLRRRRRRLLRRRLRLRRRLLRLLRLLRRRLRLRRLRLRRLLLLLRRRLRRLRRLLLLRLLRLLRRLRRLLLRRLLRLLRRLLRRRRLRLRRLLLRLRRRRRRLRRLRRRRLLLRLRRRRRLLRRRRRRLRLLLRRRLRRLLLRRLLLLRRRRLLLLLRLRLLLRLLLLRRRLLRRLRRRLRRLRRLLLRRRRLLLRRLRLLLLLLRLLRRRRRRLRLRLRRRRLLLRLRLLRRLLLRRRRLLLLLRLLRRLRLRLRLRRLRLRLLLLLLRLRRRRLLRRLLLRRRRLRRRRRLLLLRRRLLRRRRLRRLRRLLRLLRRRRLRRLLLRRLRRLLLRLLLRRLLRLLRRLLRLRLRRLRLRLLRLLLRRLLLRRLLRLRLLLLLLRRRLRLLRRRRLRRLRLLRRLLRRLLLRLLLRLRLRLLRRLLRLRRRRLLLLLLLLLLLLLLLLRLRLLRLRLLRRRLRLLRLLRLLRLLLRRLLLLRLRRRRLLRRRLRRRLLRLLRRRRLRLLLLRRRRLRRLLLRRRLRRLLLLRLRLRRRLLLLLRRLRRLLLLLLLRRLLRLLLRRRRLRRLLLLLRLRRLRLRRRRLRLRLRRRRLRRLRLLLLRRLRRLLLRRLRLRRRRLRRRLRRRRLLLRRLLLRRRRRRLLLLRRLRLRLRLRRLLRLLRRLRRRRRLLRRRLRRLRLRRRLRRLRRLRRRRLRLRLRRLRRRRRRRLRRLLRRLRLRLRRLRRLLRLLRRLLRLLRRLLLLLRRRRLLRRLLLRLLLLLRRLRLLLLRRLLLLLRRRLRLRLLLLLLRLLLLRLRRLRRLLLLLRLRRLRLLRLRLLLLRLLRLRLLRRLLLRLRLRLRRLRRRLRRLRLRLLLRRRLRRLLLRRLLLLRRRRRLRLLRLRLRRRLLRLLLLLRRLRLLLRLLLLRRRLLLLLLLRLRRRLLRLRLLLLLLLRLLLLRLLRRLLRLRLRLRRLLLLRRRRRLRLLRLRRLLLRRRLRLLLLRLRLLRLRLLRLRLRRRRLRRRRLRLRLLRLLLRRLRLLLLRRRLRRLLRLRLRLRRLRRRLRRLLRLRLLLLLLRRLRRRLRLRRLLRRRLRRRLRRRLRLLRLRLLLLLLRLLLRLRRRRRRLLRLLRLLLLLLLRRRLLLRLLRRRLRLRRRRRLRRLRLRLLRLRLLRRLRLRRLLRLRRRRRRRRRRRLLRRRRRLRLLLRLLRLLLRLLLLLRLLLLRRRRRRRLLLLRLLRRRLRLRRLLLLRRLRLRLRRRLRRRRLRRLRLLRLLLRRLRRLLLRLRLLLRLLLLRLRLRRRRRRRLLRRLLLRRLRRRRRLRRRLLLLLRLRRRLLLRLLRLRLRRLRRLRLRLRRLRRLRLLLLLRLLLLLLRRRLRLLRRRLLLLRRLRLRLRLLLRLRLLRRRRRRRLLLRRRLRLLRLLLLRLLRLLRLRRLLLLRLRLRLLRRRLLLLRLRLLLRLRRRRRRLRRRRRRLLRRLRRLLLLRRLLRRLRRRLLRLRRRRRLRLLRRRLRRLRLRLLRLRRLLLLRRRRRLRRRRRRRLRLLLLRRLLLRLRLRRLLLRRRRRRRLRRLLLRRLRLLRLRRLLLLLRRRRRLLLLRRLLRRLRLLRLLLRRLLRRLRRLLRRRLLLRLLRRRLLLRRLLRLLLRRRRRLRLLRLRLRRLRLLLRRLLLRLLRRLRLRLLLLRLRRRLRLLRLLLRRLLLLRRLRRRLLLRLLRRRLRLLRLLLRRRRRRRLRRRLLRRRLLLLRRRRLRRLRRRLRRRRRRLLRRRRLLRLRLRRRRLLRRRRRRRRLLRRLLLRRRLLRLLRRRRRRLLRRRRRRRRRRLRRLLLRLRLLLRRRLRRRLLLRRLLLLLLRRLRLRLRRLRRRLRLRLLRLLRRLRLLRRLLLLRRRLRLRRRLRRRRRLRRLRLRRRRRRRRRLLLRLLRRRLLRLRLRRRRRRLRLLRLRLLLLLLRRRRRRRLRRRLLLLRLRRLLRRRLRLLLLLRLLRLRLRRLRRRLRLRLRRRRRRRRLRRRRLRLLRLRLRRRRLRRLLRLLLRLLRLLLLLRRLLRLRRLLLRRRLRRRRRRLLRRLRLLLLLRRLRLRRRRRLLRLLRLLRRRRLLRLRLRRLRLLLRLRLLLRLLRRRRLRLRRLRLRLLRRRLRLLRLRLRRRRRRRRRLLLRRRLRRRLRRLLLRRRRLRRLRLRRLLRRLRLRLRRLLRLLLRLRLLLLLLLRLRRLLRLRLRRLLLRLLLLRLRLRLLLRRRRRRLRLRLRRRRLLRRRLRLLRLLRRLRRRRRLRRLRLLRLLRLRLLLLRRLRRRRRLLRRLLLRRLRRRRRRRLLLRLRLRRRLRLLRLLRRRRRLRLRLRLLRLRRRRRLRRLRRRRRRRRLLLLRLLRRLRLRRRRRLLLRLRLLLLLLRLLLLRRLRRLLRLLRRLLRRRRLLRRRLRLRRRLRRLLLLLLLLLLLRRLLRLLRRRLLRLRLRLRLLRRLLRRLLRLLLLRLLRRRLRLLLRLLRRRLLLLLRRLLRLRLRLLLRLLRRRRLLLRRLLLRRLLLRRLLLRLRLRLRRRRRLLRRRRLRLRRRRRLLRRRRRLRRRRLRLLRLLLRLRLRRRRRRRRLLRRRLLRLLRRLLLLLLLLLLRRLLLLLLLRLLRLLLLLRRRLLLRLLRLLLLLRRLLRLLLLRRRLRLLRLRRLRLLLLLLLRLLRRLRRLRRLLRRLRRRRRLRRRRLLRLLLLLRRLRLLRLLLRRRRLLRLLLLLRRRRRRLLLRLLRLLLRLLLLLLRRRLRLLLLLRLRRRLLRRRLRLRLRRRLLLLLRRLLLRLRLLLRLRRRRRLRLLRLRRLLRRLRLLLLLRRLRLRLLLRRRLRLLLLRRRRLLLRRLLRLRLRRLRRLRLLRRLLLRRRLLLLLLRRLRLRRRRLLRLLRRLRRLRRRLRRLRLLRRLLLLRRLLLRLRRRLRLRRRLRRLRLLRRLRRRRLLRRLRLRLRLRLLLLRLLRRLRRRRLLLRLLRRRRRRLLLLRLRLRLRRRRLLRRLLLLRLRLRLRLLLRLLRLRRLLLRRRRLLRRRRRRRLRLLLRRLLLLLRRRRLRRLRLLRRRLLLRLLRLRRRLRRLLRLRRLLLLRLRRLLRRRLLRRRLRLRRRRRRLRLRLLLRLRRRRLLRLLRRLLLLRLLLRLLRLLRRRLRLLRLLRRRLLLLRLLRRLRLRLRRLLRRLLLLLLRLRRRRLRRLRRLLRLLLRLLRRRRLLRLRRLLRLRLRRLLRLLLRRLLRLRLRRLLRLLLLRLRLRLRLRLRRLLLLRLRRRLRRLRLRRRLRLLLLRLRLRRLLLRRLLLRLRLRRLLLLRLLLRLRRRLLRLLRRLRLRRLRRLRRLLLRLLLRRRRRRRRLLLRLRLRRRRLRRLRLLRLRLRRRRLRRLRRLLLLRRRLLRRLLLRRLLRLLRLLRRRLLRLLLRRRRRLLLLLRRLLLLLRLRRRRRRLRRRRRLRRLLRRRLLRRRLLLLLRRRRLLRRRRRLLRLRLRLLLLLLLRRRRLLLRRLRRRRLLLRRRLLLRRLLRLLLRLLRLLLLLRLRLLRLRLRRRLLLLLRLLRRLRLRLLLLLRLLLLRRLLLLLRLRLRRRRRRLLRRLRRLLRLLRRLRLRLRLLRLLLLLRRRRRLRRRRRLRRRRRLLLLRRRRRRLRLRRLLLLLLRRRLLLRRRLLRLRLLRLLLLLLRLRLRLLLRLLLLRRLLRLRLRLRRRRLLRLLLLRRLLRLRLRRLRRRLRRLRRRRRLRRRLLRRRLRRRLRLLLRRLLRRRRLLRLLLLLRLRRLLLLRLRLLRRRLRRRLRRRLLLRLLLRRRRLLLLRLRRRLRRRLLRRRRRLLRLLLLLLLLRRRLRRLLRLLLLLRRLLLLRLLRRLRRLRLRRLRLRRLLRRLRRRLRLRRLRRLRLRRRLRLLRLRLLLLRLLLLRRLLRLRLLLLLRLRLLRLRLRLRRLLLRLRRLLLLLRRRRLLLLRLRLRLRRLLLRLLLLLLLLLLLLRLRLRLRRLLLRRRLLLRRLLLRRLRRLRLRRRLLLRRLLRRRRLLRRRLLRLLRLLLLRLRRLLRRRRLLRLRLLRRLRRRRRLRRRRLLRLRLLRRLRRRRRRRRRLLRRRLLLLRLLLLRLLRRRRRRRLLLLRLLRRLLLRRRLLRLLRLRRLLLRRLLLRLRRLLLLLLRRLLLLRRRRLRRLLLLLRLRLLLLRRLLRRRLRRRLLRRRRLRLLRRLRLLLRRLLLLRLRLRLRRRLLRRRRLLLLRRLRLLLLLLLLRRLLLLRRRRLLRRLLLRLRRRLLRLRLRRRLLLRLRLLRLRRLRRRLLRLLRLRRLRLRLLLRRRRRRLRLRRRLLLLRRLLLLRLRLLRRRRLRLLRLRRLRLLLRRLRLLLLLRLRLRLLRRLLLLRLLLRRLRLRRRRRLRLLLRRLLLLRLRLLRRLLRLLLRRLRRLLLRLRLLRRLRRRLLRLRLLRRLRRRRLRLLLLRLLRRRLLLLLLRRRLRRLLLRLRRRRRLLRRRRLLRLLRRLLRRLLLLLRLLLLLLRRLLRLLLLLRLRLRLRLRLLRRRRRRRLRLRRLRRRLLLLLRRLRLLLRLRRLRRLLLRLRLLLLRRRRRLLRLRLRLLRRLRLRRLLRRRRRRRRLLLLLRLRLLLRLRLLLLLRRLLRRLLRLRRLRLRRRLLRRLRLRLLRLRLLRLLLLRLLLRRRRLRLLRLLLRLLLLRLLRRLRRRLRLRLLRLRLLLRRRLLLRRRRLLRRRLLRLRRRRLLLRLRLLLRLLLLLLLRLLRRRRLLLLRRLRRRLLRRLLLLRRRRLRRRRLLLLRLLLRRRLLLRRRRRRLRRRLRRLRLLLRLRRRLRLRRLRRRRLLRLLLRLLRRLRLLLLRLLRRLLRRLLLLLRRRLRRRLLRLLRLLRRRRLRLRRRRLRRLRRRLLLLLLRLLRLRRLRLLLLLRLRLLLRRRLRRLRLRLRRRRLRLLRRLLLRRLLRRRRRRLRRRLLRRRLLLRLLRLRLRRRLLRRRLRLLLLLRRLLRRLLLLRRRLLLLRRRRLLLRRLLRRRLRLLRLRLRLRLLRRLRLRRRLRRLRRLRLLRRLLLRLRRLRLLRRRLRLLRLLLLRRLLRLRLLLRLRLLRLRLRLLRRLLLRRLRLLRLRRRRRLLLLLRRRRRRRRRLLLLRRLLLRRLLRLRLRRRLRLRLLRRRRLRLRLLLRRLRRLLRLLRRLRRRRRRRLRRRLRRRLRLRRRRLRLLRRRLRRLLLLLLRRLLRLRRRLRRLLLLRLLRLRLLLRRRRRLLRLLRRLLRRLLRRLRRRLRRRLLLLLRRLRRRRRRLRLLLLLRLLLRLLLRLRLRLLLLLRLRRRLLRRLLLLLRRRRLLRLLLLLRLLRRLLLRRLRRRRLRLRRLRRRLLLLLLLLRRRLRLRLLLRLLRLLRRLLRLRLLLRRLRLRRLLLLRRRLLLRRRLLRRLRLRRLLLLLRRRLLRLRLRLRLLRRLRLRLLRLRLRLLRRRRRRLRLLLRLLLLLRRRLRRLRLLRRLRLLLLRLLLLRRLLRLRLLRRRRRLRLRLRLRLLRLRRLRRRLLRLLRRRLRRRLLRRRLLRRLRLLRLRRRLRRRRLRRLLLRLRRLRRLLLRLRLRLLRLLLRRRLLLLRRLLLLRRLLLRLRLLRLRRRRRRRLLLLRLRLLLRRLLRRRLLRLRRLRRLLLRLLLRLRRRLLRRRLRLLRRLLLRLRRLLLRLLRRLRLLLRLRRLRRRLRRLLRLLRRRLLRLLLLRLRRLRRLRRRRRLRRLLLLLLRLLRRRRRRRRLRRRRRLRRRRRRRRLRLLLLRLLRLRRRLRRRRLRLRLLRLRRLLRRLLRRLRLLLRLLRLLRLLRRLRRLLLRRLRLLLLRRLRLRRLLRRRRLRRRRRRRLRLRLLRLRRRRLRLLRRRRLRRLRLLLLLRRLLRLRRLRLLRRRLRLLRLLRLRRLLRRRLLLLRRLLLLLRRRRRRLLRRRLLRLLRRRLRRLLRLLLRLLLLLRRLLRLRRRRRRLRRLRRRLLRLRRLRLLRRRRRRLRRLLLRLLLLRLRRLLLLLLRLRLLRRLRRLLRRLLRRLLLLLRRRRRLLRLLRRLLRLRRLRLRLLLRLRRLRRRLRLRLRRRRLRRLLRRRLRLRRLRLLLLLLRRRRRRLRLRLLLRLLRLLLRRLRLRLRRLLLRLLRRRLRRRRRRRRRLLLRRLRLLLLLLRLRRLRRLRRLRLRRLLLLLLRRRRLRLLLLRRRRLRRRRRRLLLRLRLRLRRLLRLRLLLLRLRRLLLLLRRRRRRRRRRLRLRLRRRRRRRLRRLLRRLRLLRLLLLRRRLLRLRRRRLRLLRLRRLRRLRRRLLLRRLLLRLRRLLLLLRLRRRLLLLRLLRLLLLRLLRRRRRLLLLLLLLRLLLRLRLLRRRLLLLRRRRRRLRLLLRRRRLRLLLRRLLRRRLLRLLRLLRRLRRRRRRRLLLRRLRRLRLLLRLRRLLLRLLLLLRRLRRLLLLRRLLLLLLRLLRRRLLLRRLRRRRRLRLRLRLRRLRLRRLLLLLLLLLLRRLLLRRLRRLRLLRLLRLRRLRRLRRRLRLRRRLLLRRLRRLLLRLRLRRLRLRLLLRRLLRRRLLRRRRRRRLRRLRLLRLRLRLLLLRLLRRLLLRRLRLLLRLLRLLLLLRLLLRRLRRLLLRLLLLRLLLRLRLRRLLRLLRRRRRRLRRLRLRLLLRLRRLLLLLLLLLRLRLLLLLRRRRRLRRRRLLLRLRRLLLRLLLRLLRRLRLLRLRRRLRRRLLRLRRLLLRLRLLLLLRRRLLLRLRLLLRRLLLLRRLRRRRLLLRLRRLLRRRLLLRRRRRLRLLLRRRRLRLRRLLRRRLRRRRLLLLRLRLLRRLRLRRRRLRLLRRLLRLRLLRLRLRLRRLRLRLLRRLRLRRRRRLLRLLLLRRRRRLLRRLLLLLRLLLRLLLLLLLRRLLLRLRLRLRLLRLRLRLLRRLLLRRLRRLRLRLLLRRLLRRRLRLLRRRLLLLLLLRLRRLRRLLLLLRRLLRRLRLRRLRLRRLLLRLRLLLLLRLLRRRRLLRLRRLLLRLLLRLRRLLRRLRLRRRLRLLLRLRRRLLRRRRLLRLRLLRLRLLRLRRLRLLRRLLRLLRRLLRLRRLLRRLLLRRLRLRLRRRRLLRLRLRLRLLLLRRRLLLLLRRLLRLRLLLLRRLLRRRRLRLLRLLRLLRRLRLRLRLRRRLLLLRLLRRLRLLRLRRLLRLRLRLRRRRRLLRLRLRLRLRRLLRRRLLLRRRRRRLRRRLLRLLRLLLRLRRLLRRLLRLLLLLLLRRLRRRLRLRRRRRLRRRRLLLRRRRLLRRLLRRLLLLRRRLRLLRLRLRLLRRRRRLLLRLRLRLRLRRLRRLRLRLLRLLLLLRLLRLLLLRRRLRLLLLRRLLRRRLRLRLRRLLLRRRLRRRRLLRLLRRLLLRRLLLLRLLLRLRLLLRLRRLLRRLRLRRRRLLRRLRRRLLRRRLRRRRRLLLLLLLRLLLLRRLRLLRLRLLRLRRRLLRLRLLLLLLRLRRRRRLLRRLLRLLRLLRLRRLRRLRLRRRLLRRRLRLLLRRLLLLLRLRRLRRLLLRLLRRLRLLLRLRRRLRLLRLRLLRRLRRLLLRLLRLRRLLRLLRLRRLLRRRRLRRLRRRRLLLLRLRLLLRRRRLLLRLRLRRLRRLRRRLLRLRLRLRLRRLLRRRRRLLLLLRRRRRLRLRLRLRRRLLRRRLLRRRLRLRRRLRRRRRRLRLRLRRRRLLRLLLLRLLRLLRLRRLLLRRRLLRRRRRRRLLRRRLLRLRLLRLLRLRLLRLRLRRRRRLRRRRLLRLRLLLRRRRLLLRRRRRLRRLLLLLRRLRLRLRLRRRLLLLLLRRLLRLRRRRLLLLLRLLRLLRLLRRRLRLLLRLLRLLRLRRRLRLRLRRLRLRLRLRRRRLRLLLRLLRRLRLLRRLRLRRLLLLRRLLLLLRLLRLLRRRRLLLRRRRLLLLRLRLRRLLLLRLRRRRLLLRLRRLLLLLLRRLLRLRRRRRLRLLLLRRRRLLLRLRRRRLRRRLRRRRLRRRRRRLLLRLRRRLRRRRLRLRLLLRLRLRLLRRRRRLRLRLLRLRLLRLRLRRLRLRLLRLRRLLRRRLLRLLRRRLLLRRRLRLRLLLLLLLLLLLRRRRLLLRRRLLRRRLRLLRLLRRLLRLRRRRRRRLRRLRRLRRRRRRRRRRLLRRLLLRRRRLLRLRRRRRRLLRRRLLRRLLRRRLRLLRRRRLRRRLRLRLRLRRLLRRLRRRRLRLLLLLLRLRRLLLLLLLLRRLLLLLLRLLLLRLRLLRRRLLLLRLLLRRLRLLLLRLLRRRRLLRLLLLRLLRLLRLRRLRLLLLLLRRRLLLRLRRLRRRRRRLRRRLLRLRLRLLLLLLRRLRLLRLLRLLRLRRLRLRLLLLLRRLRLRLLLRLRRRRLLRRRRLLLLRRRRRLLLRRLLRRRRLLLRLRLRLLLRLRRLRRRRLLLLRLRLLRRRLRRRRLRRLLLRLRRLRLRLLRLLLRLRLRLRRLLLLLLLRRLRRLRRRLLRLRRRLLLRLLLRRRRLLLRRLLRRRLLRLRLLLLRRRLLRRLLRLLLRRRLLLLRLRLLRLLRRLLRLRLRRRRLLRLLRRRLRRRLLLRLLRLLRRLRRRRLRLLLRRLRRRLLLRRLLLRLLLRLRRRRLLLLRRRLLRRLLLRLRRRLRRRLRLRRLRRRRLLLRRLLRRRRRLRLLLRRRRRLRRRRLLRRLLLLRLRLRRLLLLLRLLRLLRRLRRLRRLLRRLLRLLLRRLLLRLLLRRRRRLLLLRLLRRLLLLRRLLRLLLLLRLLRRLRLRLRRRLRLRLRLLRRLLRRRRLRRLRRLRLRLLLLRLLLRLRRLLLLRLRRLRLRRRLRRLRLRLRRLRRLLLLRRLLRRLLRLRRRLRRLLLRLLLRLRRLRRRRLRLRRLLRRRRLRLLLRRLRLLRLRRLLRRLLLLRRLLLRLLRLRLLRRLLRRRRLLLRRRRLRLLRLLLLLLLLLRRLLLLLRRRLLLRLRRRRRRLRRLRRLLRRRRRLRLLLRLLRRRLRRLRLRRRLRRRRLRRLRRRLRLLLRRRRRRRLLRRRRLRLLRRLRRRLRLLLLRLLRLRLRRLRLLRLRLRRRLRRRLLRLLRLLRRRLRRLLLRLLRRLLLLLLRRRLRLRLLRLLLLRRLRLLLLLLLRLLRLLRRLLRLRRRLRRRRRLLRRRRLLRLRLLLRRRLLRRRLLLLLRRRRRRRLLRRLRLRLRLRRRRRRLRLLRLRRLRRLLRRLLLRLRLLRLLRLRRLLRLLRLRLLLLRLLLRRLRLRRRRRRLLLLRLRLLLLRLRLLLRLLRRLRRLLLRLRRLRRLLRRRRRLLLLRLRLRRLRLRLLLLLLRRRLRLRRRLLRLRRRRLLRRRRLRLLRRLRLRRRRRRRRRLLLLRRRLLLLLLLLRLLRRLRLLRLLLRRLRRRRLRRLRLRRRRRLLLRLLLLLRLRRRLLLLRLRRRLRRLRLRRLRRRRLRRRLLRRLLRRLRRLLRRLRLRLRLLLRRLLLRLRLRLLLRLLLRLRLRLRLRRRLLLRLRRRRLLLLRRLRRRRLRLRLLLLLLLRLLLRRRLRRLRLLRRLLLLRLLRLRLLLRRRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLRLLRLLLRRRRLLRLLLRLLRRLRLRRLLLLLLLLRRLRLRRRRLRRLRLRLLRRLRLLRRLLLLRRRRLRLLRRLRLRRRRRRRLLLRLLRRLRRRRRRLLLLLRLRLLLRRRLRRLLRLLRLLLRRRLRRLLLRLLLLRLRRLLLRLLRRLRLLLLLLLRLRLRLRRRRLLRRLLLLRLLRRRRLLLLRLRRLRRRRLRLLRRRLLLRRRLLRLLLRRRLLLRLLRRRRRLRRLLLRRLLRRLRRLLRLRRRLRRLRLRRLRRLLRRRRLLLLRLLRLRLRLLRLLRLRLRLRLRRRLRRLLRRRRLRRRLRLRRLRRRRLRRRRLLLLRLLLRLLRLLLRRRLRRRRLLLRLLRRLLLLRLRLRRRRLLLLRLLRLLLRLLLLLLRRLRLRRRRLLRLLLLRLLLRLRLLLLRLRRRRLLRRRLRLLLLRRLRLLLLLLRLLRLLRRRRLLRLRRRLLRRLLLRRRLLRRRLRRLLRRLRRLLRRLLRRRLLLRRRLLRRRRLLRRRRRLLRLRRLRRLLLLLRLRRLRLLRRLLLLLRLRRLRLLRRLRRLRLLLLLLRRRRLRRRRRRRRLLLRLLLRLLLLLRRLRLRRLLLLRLRRRRLLRRRRLRLLLLLRRLLLLLLLLLLLRRRLLLLLRLLRLLLRLLRRLLRRRRRLLRLRRLRRLLRRLRRLLRRLRRLLLRLRLRLLLRLLRRLRLLRLRLLLLLLRLRRLRRLLLLRRLRLRLLRLRRRLRLLLLRRRLLLLLLLLLRLRLLLLLLRRRRLRLRLLRLLRLRLRRRLLRRLLLLLLRRRLRRLRLLLLRRLRRRLLLRLRLLRRLRLRLRLRRRLRLLLLLRRRLLLRRLRRLRLRRLLLLRRRRRLLLRLLRLLLRLLLLRRRLLRLLRRRRLLRLLLLLRLLRLRRLLLLRRRRLRLLRLLLLLRLRRRRLRLRLLLLLLLRRLLRRRLLLRRRLLRLLLLLLRLRRRRRLRLLLLLRRRLRLLRLRRLRRRLLLRRRLRLLLLRLRLRRLRRRRRLRRRRRRRRRRRLRRRRRLRRRLLLRRRRLLRLRLLRRRRRRRRRRRRRLRLLRRLLLRLLRLRLLRLLLRRLRRRLRRRLRLLRRLLRLLRLRRRRRRLLLRRRRLLLRLLRRRLRRRLRRLRLLRRRRLRRRLLRLLLLRRRRRLRLLLLRLLRRLRLLLRRLLRRLRRLLLRRLRLLLRLRRLRLRLRLRLLRLLLLRLLRLLRLLLRLLRRRLRRRRRLLRLRRLRRRLRRRRLRLRLLLRRLRRLLLLRRRLLLRLLRRRLLLLLLRLRLLRLRRRRRLLLRRLLRRLRRRRRRRRLLLLLRLRRLRRLRRRRRLLLLRRLRRRLLLLLRLRLRRRLRRLRLRRRLRRLLRRLRRLRRRLLLRLRRLRRLRRLRRRLRRRLRLRLLLLRRLLLLRLRLRLRRRLRLLLLLLLRRLLRRRRRLRLRRRRRLLRLRLRRRLLLRLRRRLLLLLRRRLLRLLRLRLRRLLRLRRLRRLRRLLRLRRRRRLRRRLRLLLRRRLRLRLRRLLLLLLLLRRLLLRLRLLRRLLLLRLRLRLRLRLLLLLRLRRLRLLRRLLRLRLRLLLRRRRLRRLLRRLLRRRLLRLLRLLRLRRLLLLLRLLLRLLRRRLRRRRLRLRLRRLRRRLLLRLLRRRLLLLRRLRLLLLLRLRLRRLRRLRRRLLLLRLRLLRRLLRRRRRRLLRLLLLLRLLRLLRRLRLRLRLRLLLRRLRLRLRLLLRLLRLRLRRRRLLRRRRRLRRLLRRLRLRRLLRLLLLLLLRLRRLRRLLLRRRRRRLRLRRLLRLLLRLLRLLRRLLRLRLRRRLRLRRRLRRRLRRRLRLRLRLRLLLRRLRLLRRLRRLLLRRLLLRLLRRLRRRLLRLRRRLRRRRLRRRRRLLLLRLLRRRLLLRLLRLRLLLRLRLLRLRRRLLLLRRLLRRRLRRLLRRLLRRRRRLRRRRLLRLLRLLRRRLLRRLLLLRLLLRRLRRRRLRRRRRLRRRRLRLRLLLRRLLLRLRRRLLLRRRLRRRRRLLRLRRLLRLLLRRLRRLLLLLLRRLRLLLRRRRLLRLLRRRLLLRLLLLRLRRLRRRRLRRRRLLLLLLLRLRLRLLLRLRLRLLRLRLRLLLLRRLRLRRRRLLRRRLLRRLRLLRLLRLLLRRLRLRRLLRLRRLLLRLLLRRRLRLRRLRLLRLRRLRRLRRLRLLRRRRRLRLRRLRLLRRRLLRLLRRLLRLLRLRLRLRRLLRRRLLLLLRRLRLLLRLRRRLLRRRLLLLRRLLRLRRRRRLRLRLRLRLLRRRRRLRLRLRRRRRRRRRLLRLLRLRRLLLRLRLRLLLLLLRRLLRRRLLLRRRLLLLRLLLRRLLLRRLLRLLRRRRRRRRRLRLLRRLLLLLLRRRRLRRRLRRRRLRRRRLRLRLLLLRLLLRRLLRRRLLRRLLRLRRLRLRRLLRLLLRRLLLLLRRLRRRRLRRLLLLRLRLRLRRRLRRLRRLRLRLLLRLLLLRLLRLLLLRRLLRLLLRLRLRLRLLLRLRLRLRRRRLLLRLRLRLLLLRRRRRRRRRRRRLRRLRLRRRRLLLRLRLRRRRRRLLLLRLRLRRLRRRLLRRRLRRRLRRRRRRRRRRLRLLRLLRLLLRRRRLRLLRLRRLLRRRLRLRRRLRRLLLRLLRLRLRLLLRLRRLRLRLLRRLLLLRRLRRRLLRLLLRLLRLLLLRRLRLRRRLLLRRLLLLRLLLRLLLRRRLRRRRLRRLLLLLRLRRRLLRRLRLRLRLLRRLRRLRRLRRLLLRRRLLRLRLLLRRLRRLLRLRLLRLLLRRRLLRLRRRLLLRRLLLRRLLRLLRRLRLRRLLRLRRRRRLLRLLRLRLRLRLRLLLLLRRRRLRRLRRRRLRRRRLRRRRLRLLRRRLLRRLRRLLLLRRLRLLLRRRLRLRRRLLLRLLLRRLLLRLLLRRRLLRLLLLRLLRRLLLLRLRRRLRLLRLRLRRRRRLRLRLLRLLLLRRRLLRLRRRRRLRLRLRLLRRRRRRRRRLLLLLLRLRLRLRRLRLLRRLLRLRRLRRRLRLRRLRLLRRLRRLRRLLRRRLLRRRLLRLRRLLLRLLRRRRLRRLLRRRRRLRLRLRLRRRRRRLLLLLRRRRLRRRLRLLRRLLLRLRLRLRRLRRRRLRRLRRRLRLLLRLLLRLLRLLLRLLLLLLLRRLLRRRRLRLLRLRLRLRLLRRLRLRLRRRRLRLLLLLRRLRLRLRRRLLLRLLRRLRLLLLLLRRRLRLLLRRRRRRLLRRRRLRLRLLRLRLRLLRLLRLLLRRLRLLLLRLRRLRRRLLRRRLLRLRLRLLRRRLLRLLRRRRRLLRLRLRLLRRRRRLRLLLLRLLRLRRRLLLRRLRRLLLRRRLRLLLLLRLRRRLRRRRRLLRRLRRLLRLRLRLLRLRRRLLLLLLLLRRLRLRRLLLRLRRLLRLRRRLLLLLRLRLRRRLLLLLRRRRRRRLLLRLLLRRLLRRLLRRRRRRRLLLRRLLLRRLLRRRRLRLLRLRRLRLLLRLLRLLLRLRLLRRLRRRLLRRLRRLRLRRRRRRRRLRLLLRLRRRRLLLRRRLLRLRLRRLLRRRRLLRLLLLRRRRLLRRLRRRRRRRRLLLRLLLRRRRRRLRRLRRLLLRLLRRLRLLRLRLRLLRRRRRRLRRLLLRLRLLRRRRRRRRLRLLRLLRRLLRLLRLRRLRRRRLLRLRLRRRLRRLLRRLLRRLLRRLRLLRLRRLRLLRLRLLLLRRLRRLRRRRLRLLLLLRRRRRLLLLLLRLLRRLRLLRLLLRRRLRRLLLLRLRRLRLLLLRLRRRRRLLRLLLLLRRLLLLLRLRLRRLLLRLLLRLRRLLLRLLRLLLRLLLLRRRRRLRLRRLLLLLLLRLRLRRLRLRRRLLLRLRRLRRLRRRLLRLLLLLLLRLLLRRRRRLLLLLLRRLLLLLRRLLLLRLRRRLRLRLRRRLRLRRLRLRLLLRRRRLLLLRRLRRLRRLRLRLRRRLLLLRRLRLRRRRLRLRRLRRRLLLRLRLRLRRRLLLLRRRLRRLRLRRRRRRLRLRRRRRLLLLRLLLRRRLLRRRLRLLRRRLRLRRRLRRLRLRRRLLRRLRRLLLLLLLLLRLLLLLLRRRRLLLLRLLLLLRLRLLRRRRRRLLRLLRLRRRLRLLLLLLLLLLLRRLRLRRLRLLRLRRRRLRLLLRRRLLLRLRRRLLLRLRRLRLLLRLLLLRRRRRRLRLRLLLRLLLRLRLRRLLRRRLLRLRRLLRRLLLRRLRLRRRRLRRRRLLRLRLRRLRRRRLLLRRLLLRRLRLLLLLRLRLLRLRRRLLRRLLLLLLRRLRRLRLRLRRRLLRLLRRRRLLLLRRLLLRRLRLRRLLLLRRLRRRRLLLLRLLRLLLRRRLLRRLRRLRRRLLRLLLLLRRLLLRRLRLRLLLLRRRRRRLRRLRLLLRLRLLLLRRRRRRLRLRLLRRLLLRRRLRRRLRRLRLLLRLLRLRLLRLRRRRLLLLLLLLRLRLLLLLLRRLRRLRLLRLRRLLLLRLLLLLRLLRLLRLRRRLLLLLRLRRLLRLRLRLRRLRRRLLRLRLLLRRRLRLRLRRRLRLRLRLRLLLRRLRRRRRRRRRRRRLRLLRRRLRLRLRRLLLLLLLRRRLLLRRRRLLLRRLLLLRRLLRLRRLRRRRRLRLRRRLRRRLLLRLLLRLLRRLLRRLLRRLRRLLLLLLRLRRRRRRLLLLRLLRLRRLRLLLRRRRRRLRLLLLRLLLRLLLLRLRLLLRRRRRRLLLRLLRLLLRRLRRRLRRRLRLLLLRRRRRRLRRLLRRLLLLLLLLLRLRLRRLRRRRRLLRLLRLLLRLRLRRLLRRRRRRLRRLLLLLRLRLLRRLLLLRRRRLLLRLRRLRRLLRLLRLLRLLLRRLRLLLLLRRLRLRLRRRLLLRRRLRRLRLLLRLRRLRRLRRLLRRRLLRLLRLRRRRLLRLLRLLLRRRRRRLLRRRLRRRRRLRLRLRRRRLLRLRRRRLLRLLLLLRRRRRRRLRRRRLRLLRLLLLRLRRLLRLLLLRRRLLRRRLRRRRLLLLLLRRLLLLLRLRRLLLRLLLLRRLLRLLRRRLRLRLRRLRLRRRRLRLRLLLLRRLRRRRRRRRRRLLLLRLRLRLRLRLRLRLRLLRLRRRLLRRRRRLRRRRLRRRRRLRLRRLRRLRRLLLLRLLLRRLRLRLLLRRRLRRRRRRRLRLRRLRLRLRLRLLRRLLLRRLRRLLLLLLLRLRRLLRRLRRRRLRLLLRRLRRRLRRRRLLRLLRLRLLRRLLRLLLRRLLLRRLRLLRRLRRLRRLLRLLLRLRRRRRRRRRRLRRLLRLRRRRRLRLRRLLRLRLLLRLRLRLLLLRLLLLRLRLRLRLRRLLRLLRLRLLRRLRLRLRLLLLRRLRLRLRRRLLLRRRLRRRLRLLLRRRLRRLLLLRRRLRLLRLLLLRRRRLLLLRLRLRLLLRRLLLRRRLLLRLLLRLRRLLRLRRLLLLRRLLRRLRLLLRLLRLRRLRLRLRLLRLRLRRLLRLRLLRLLLRLRLRRLRRRLLRLRRRRLRRLRRLLLLLLRRLLRLRLLRRLRLRRRLRRLRRRLRRRRLLLLRLRLRRRRLRRRRLRLLLLLLLRRLLLRLRLLRLLRRLRRLLLRLLRRRLLLLRLLLRLLRLLRLRLRRLLLLLRLLRLLRRRLRLRLRLRRRLLLLRRLLRLRRRLRLLLRRLLLLLRLLLRRLRLRRLRLRLLRRLLLRLLLLLLRLRLLRRRLRLRLLRLLLRRLRLRLLRLRLRRRRRRLLLLRRRRRLRRRRLRRRRLRRRLLLLRLLRRRRLLRLLRLRLRRRRLRRLLRLRRLRLRRRLLLLRRLRRLRRLLLLLRLLRRRLLLRRRRRLLLRRRLLRLLRRLRRRRRLRLRLLLLLLRLLLRRLRRLLLRRLLRLLRRLRRRLLLRLLLLRRLLLLRLRLLRLLLRRLLLLLRLRRLLRRLRRRLLLLRLRLRLRLRRRLLRLLLRRLRLLRRRRRLRRLRRRLLRRRLRRRRRRRRRLLLRRRRLLLRLLLLLLLLLRRLRLLLLRLLLRRRRRLRRRRLRLRLRLLRRLLRLLLLLLRLLRRLRLLLRLLRLRLLRRRLRRRRRRLLLRLRLLRLLLRLLRLLLRRRRLRRRRRRLRLLLRRRRLLRLLRRLRRRLLLRLLRLLRLLRRLLLLLRRRLLRRRRLRLLLRLLRRLRLRRLRLRRLLRLRLRLLRLRLRRRLRLRRRLLRRLRRLLRLLRLRLLRRLRLLRLRRLLLRRRRRLRLRLRRLRLLRLLRRRLLLLLLLRLLRLRRRLRLRLLRRRRLLLRRRRRLLLLLLLRLRLRLLLRRLLLLRLLLRLLLRLRRLLRLLRLRLRLLLRLRRRRRRRRRRRRLRRLRRRRRRLRLLLRLLRLRLLLRLRLLLRLRRLRLRRLRLRLLLLLRRLRLRLLRLLRLLRLLRRRRRLLLRLLLRRRRLLRLRRRLRLLRRRLLRRLLRRLRRLLLRLRRLLRRRRRLLLLRLRLRRRLRRRRRLRLLLRLLLRLLRLRLRLRLLRLRLLLLRLRLLLLRRLRLLLLLRRLRLRLRRRRRRLRRRLRLLRRRRLLRRRRRLRLRRLRRLRLLLRRLRLRLRLLRLLRRRLLRRLRLLRLLRLRLRRLLLLRRRRRLLLLRRLLRLRLRRLRLLLLRRRLRLRRRLLLLLLRLRRRLRLLLRLLLLLRLRLLLLLRRRRLRLRLLRLLLRRRRLLRRLRLRRLRRLLRRRRLLRLLLRLRRRRRLRLRRRRRRRRLLRLLRLLLLLRRLRRLLRRRRRLLRLLLRLLRRLRLLRRLRLLLLRRLLRLRLLRRRLLLRRLLLLLRRLLRRLLLLLRLRRLLLLLLRLLLRLRLRLRLLRRLRRLRLLRRRRRRRLLRRLRLRRLRRRLLRRLRRLLRLRRLRRRRLLLLRRRRRRRLLRLRRRRLRRLRRLRLLRRRLLRRRRRRRRLLRRLLRRLLRLRRRLRLLLLLRLLLLLLLRRLRLLLRRRLLRLLRLRRLRRLRRLRLLRLRLRLRRLLLRRRLRRLRRLLRLLLLRLLRRRRRRLLRLRRRRRRLLLLRRLLRLRLRRRLLLLLLLLLRRRRLRRRRLLRRLRLLRRLRRRLRLRRLRLLLLRRRRLLLLRLLRRRRRRRRRRLLRLLLRRLRLLLRLLLRRRRLRLRRRRLRRLLRLRRRRRLRRLLLLRLLRRLLRRLLLLLRRLRLRLLRRLRRLLRLRLRLLLLRLRRRLLRLLRLRLRRLRRRLRRLLLLRLRLLRRLRLRRRLLLRRLLRRLRLRLRLRLRLLRRLLLRLRLLLLLRLLLLLRLLRLRLRRRRLLLLRLLLLRLLRRRLLRLRRLLLRRLLRRRRLRLRRLRRRRRRRRRRLLLRRLRLLRRLRLRLRLLRLRLLLRLRLLLLLRLRLLRRLLRRRRLLRRLRRRRRLRRRRRRRLLLLLRLRLRLLRRLRRLLLRRLLLRLLLRLRRRLLRRRLRRRRRRRLLLLRLLRLLRLLRLRLLLRLLRRRRLLLRRLLLLLRLLLRLRLRRLLRRLRLLRLRRLRLRLLRRLLRLRRLRLLLRLRRLRLLRRLLRLLRLLRLRLRRRLRRRLLLLRLLLLRRLLLLRLRLRLLRRRLRRRLLRRRRLRLLLRRLLRRLLLLRLLRLLLRLLLLRLLLRRLRLLLLLRLRRRLLLRLLLLRLLRRLLLLRRRRLLLRRRRRLRLLRRRRLLLLLLRLRRRRLLRRLRRLLRLRRLRLLLLLLRLLRRLRRRLLLLLLRLLRRLRRRRLRRRRLLLLLLRLRRLRRLRLLRLRRRRRRLRRLLRRRLLLLLLLLRLLLLLLLLLLLRRRRLLLRRLLRRLLLRRRRRLRLLLLLRRLRLLRRLLLLLRLLLLLRRRRRRRLLRRLLRRLLRRRRRLRLRLLRRRRLRLLLRRRLLRRLRRLRRLLRRLRRRRRRLRRRRLRLRRRLRRLLRLLLRRLRLRRLLLRLRLRLLLRRLLLLLLLLRLRRRRLLRLLLRRLRLRRLRLLLLLRLLLRRLRRLLRLRLRLRRLRLRRRLRRRLLRRLLRRLLLRLLLLLLLRRLLRRRLRLRLLRLRLRLLLRLLLRRRLLLLLRLRLLLLRLLLRLLRLRLLRLRRLLLRLRRLLRRLLRLLRRRLRLRLLLRRRLRRRRLRLRLRRRLLLLLRLLLRRRLLLRLRLLLLLLRRRRLLLRLRLLRRLRRLRRLLRRRRRLLRLRLLRLLLRRRRLRRRLLRRRRRLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRRRRLRLRLLLLLRLRRRLLRLRRLLLLLRRRRRRRLLLLRLLLRRLLRLLLRRLRRLRRLLRRRRLLLLRLLRLLRLRLLRLLLLRRRLLRLLLLLLLRRRRRRLLRLRLLLLLRLLRRLRRRRRLLLLRLRLRRLRLRRRRLLRRLLRRLRRLRLLRRRLLRLRLRLLLLRLLLRRRRRRRLLRLRRRRLLRLLLLLLLLLRLLLLRRLLRRRLRRRRLLRLRRRRLRLLLLRRRRRLRLRLLLLRLRLRLLLRLLRLRLRLLLRLRLLLRRRLRLRRRRLRLLLRRLRLRRRLRLLLLLLRRRLLLRLLLRRLLLLRLLLRLRLLRRRLLRRRLRRLRLRLLRRLLLLLRRLRRLRRRLRLRLRLRRRRLRLLRLRRRRLLRLRRRLLLLRLLLLRRLLLLRRRRLLRLLLRRLRLLLLRRLLLLLRLRRLLRLRLLRRRLRRLLRLLLRRLLRLLLRRLLRRRLLLRRLLRRLLLRRLRLLRRLLLRLLRRRRLLLRRRLLLRRLLRRLRRRRRLLLLRRLRLRLLLLLRRLLRRRLLRRLLRRLRLLRLRRRRLRRRRLLRRRRLLLLLLLLLLLRRRLRRRRRRRLRRLLRRLLRLLLLLRRLRLLLLLRRRRLLRRRRRLRRRLRLRLLRRRRLRRLLRRLLRLLRRRLRLRLRLRRLRRLLLLRLLLRRRRRLLRRRLRLLLRRLLLRLLRLRRRRLRLRRLRLRLRLLLRRLLLLLLLLRRLRLLLRLRRRRLLRLRRLRLRLRLRLRRRRRRRLLLRLRRRLLRRLLLLRRLRRLLRLLRRRRLLLLLRRRRRLLLRRRLRRLLRLLRLLRLRLRRRRLLRLRRLRLLLRRRLLLLLLRLRLLRLRRLLRLLLRLLLRLRRLRRLRRLRLRRRRRRLRRRRLRRLRLLRRLLRLRRRRLLLRRLLLLLRLRLLRLLRLRLLLRRLLLLRRLRRRLRLRRLLLRRLRRRRRLRLLLLLRRLRRRRRLLLRLRLLLLLRLLLRRRRRLLLRRLRLRLRLLRRLLRLRLLLLLLLLLLLRRLLLLRLLLLLRLLRLLRRRLLRLLLLLLRLRRRRLRLLRLRLRRLLRLRLRLLLRRLRLLLLLLLLLRRRLLRRLRRLLLLLLLLRRRLLLRRRLLRLLLLRLRLRLRLLRRLLLLRLRRRLLRRLRLRLLLRRRRRRLRRRLLLRRRLRLRLLRLLRLRLLRLRLLLRLRRLRRRRLLRLLLRRLLRRLRRLRRRRLRRLLRRLLLLRRLRRRRLLLLRRLRRLRRRRRLLRLLRLRRLLLRLRRRRLRRLLRRLRLRLRLLLRRRRLRRLRLLLLLRRLLRLLLRLRRRRLLLLLRRLLLLLRRRRRLLRLRLLRLRRRRRRRRRRLLLLRLRLLLLRRLRLLLRLLRLRRLRLLRLLLLLRLLLRLLLRLRLRRLRRLRRRRRRRRRLLLLLLLRRRRRLLRRRLLLLLLLLLLLLLRRLLLRLLLRLRLRLLLRRLRLRLLRRLRRLRLLLLLRLRRRRLLRLLRLLRLRLLLRRLRLLRRRRLLRLLLRLLLLRRLLRRLRRRRRRRLRRRRLRRLLLRRRLRLLLRRRRRLLRLRRRRLLRRLRLRRLLLRLRLLRRLLRLLRRRRRRRLRLLRLLRRRRRRLRLLRLLRLRLLLRLLLLRLLRLLLRRLRLLLLRRRRRLLRLLLLLLLLLRLLRLRRLLLRRRRLRLRRRLRRLLLLLRLRLRRRRRLRRLRRLLRRLLRLRLLRLLLLLRLRRRRRLRRLRLLRRLLRRLLLLLRLLLRLRRLRRLRRLRRRRRRRLRLLLRLRRRLLLLLRRLRLLRLLLLRRRRLRRLLRLRRLRLLLLLRLLLRRRLLLLLLLRRRLRLRRRLLLRRRRLRLRRLRLLRRLLRRLLRLLLRRLRLLRRLLRLRRLRLLRRRRLRLRLRRRLRRRLRLRRRRLLRRLLLLLRLRRLLRRRLLRLLRLLLRRRLLRLRLRLLRRLRRLLLLRRRRRLRLRRLRRRLRRLRLRLLLLRLRLLRRLLRRRLLLRRRRLRLLLRRRLLRLLLLLLLRLLRRLRLRRRRLLLRRLRRRLLRRRRLRRRRLRRRRLLLLLRRLLRRRLRRLRLLLRRLLLRRRRLLRRLRLLLRRRLRLLRRRRRRRLRRLRLLRLLLLLLRRRLLLRLLRRRRRRRLRRLLRRLRLRRLRLRRLRLRRRRRRRRRLLRLLRLLRRLRRLRLLRRRRRLLLLRLLLLRLRRLLLRRRRRLLRRRRRLRLRLRLLRRLRLRRRRLLRLLRRRRRLLLRRRRRRRRLLLRLRLLLRLLRLLLRLRLRRLLLLLRLRLRLRLLLLLLLRRRRRRRRRLRRLRLRLRRRRLLLRRRRLLRRRLLLRRRRLLRLLLRRLLLRRRRRLLRLLLLLLRRRRRRRRRRRRLLLLRLLLRRLLLLLRLLLLLLRLRRLRRRRLRRLLLLRRLRLLRLLRLRRLRLLLRRLRRRRLRLLRLLRLRRLRRLRLRLRRLLLRRRLRLRRRRLRLLLLRRLRRRLLRRLLRLLLRRRRRLRLRLLRRLLLRLLLRLLRRRRRLRRRRRRRLLRLLLLLLLLRLRRRRLLLLLRRRRRRLLLLRRLRRLLRRRLLRLLRRRLLLLLLLRLLLRLRLRLLRLRRLRRLRRLLRLLRLRRRRLRRLLLLRLRLRLLLRRRRLLRLRLRLRLRLLLRRLRRRRLLRRRRLRLRLLRRLRRLLRRLRRRLLLRRLLLLLRLLLLLRLLLRRLRRRLLRLLLLRRRLRRRRRLRLRLRRRRLLRLRLRRRLRLLLLLRRLRRLLLLRRLLRRRRLLLLLRRLRLRRRRLRLLLRRRLLLLRRRLLRRRLLRLLRLLLLRRRLRRLLLLLLLRRLRRRRLRLRLLLRRRLRLRRLLLLLLRLLRRLRLRRLLLLLLRLLLLRLRRLLRLRRLRLLRLRLLLLLRRLLRLRRLRRRRRRRLRRRRLLRRLRRLRLLLLLRRRRRRLRLLLRRLRLRLLLLLLLRLRLLRRRRRRRLRLRRLRLLRRRLLLRLLRRLLLLLLRRRLRRLRLRRLLRRLRRLLRRLRRLRLLLLLRRLLLRRLRRLRRLRLRLLLRRRLLRRLLLLLRRLRRLLLRRLRRRLRRLRRRLLLRRLLLLLLRRRRRRLLLRLLRRLRRLLRRLRRLRLRLLRLRRLRRLRRLLRRRRLLRRLLRRRRLRLRLRRRRRLLRRLRLRRRRLRRLRLRLRLRLRRRLLLLRRRRRRLLRLLLLLRRLLLRRRLLLRRLLRRLLLRLLRRLRRRLRRLRLRRLRLLLLRLLRLRLLLRRLRRLRRRLLRRRRRRRLLRRRRLRRLLRRRLRLRRRLLLRRRLRRLRLLLRLLLLRRRRLLLLLRLRRLRRRRLLLLLRRRRLRLLRRRLRRLLRRRRRRRRLLRLLLRLRRLRRRLRLLRLRRRRLRLLRRRLRRRLRLLRRRLLRRRLRLRRLLRLLLRRRRRLRRRLLRRRRLRRLRLLLLRRRLRLRLRLRRLRRLLLLRLLRLLLLRRRLRRRLLLRRLLRLRLLLLRRLLRRLRRRLRLRRRLLLRLRRRLLLRLLLLLLLLLRLRLLRRLRLLLLRRRLLRLRLLLLRRRLLLLLLRLRRRLLLLLRLLLRLLLRRLLLRRRRRRRLLLLLLRLLRLRLRRLRRRRRRRLLRLRRLLLLLLRLRLLLRRRLLRRLLLLRLLLRLRLLRRLRLRLRRRRLRRLRLLLRLRLLLLLRLRRRLLRRLLLLLLLLLRLRLLRRRLLLLRRRRLRRLLRLLLLRRRRRLLLRRLLLRRRRRLRLLLRLRRRRRRLLLRLLRLRRRRLLRLLLLLRLLLRRLLRRRLRRRRLRRRRRLRLRLLRLRLRRRRRLLRRLRRRLRRLLRRRRLRLLLLLRLRRLLRLRRRRLRLLRRRLRLRLRLRLLRLLRLLLRRLRRRRRLRRRRRLLLRLLRRRLRLLRRRRRLLRLRRLRRRLRLRLRRLLRLRLLLLRLLLRRRLRLLLRLRRRLRLLLRRLRRRRLRRRLLRLLLLLRLLRLLRRRRRRRLRRRLRLRLRRRRLRLRRLRRRLLRLLLLLRLLLRLRRRRRRLRLRLRRLLRRLRRRLLRLRLLLRLLRRRLLLLRLLRLLLRLRLRRLLLLRRRRRRLLLRRRRLRLRRLLRLRLLRLLLLRRLRRLRLLRRRLRRRLLRRRRRLLRLRLRLLRLLLLLLLRRRLRLLLRRRLLLLRRLLRLLRLRLRRLRRLRLLLRLRLLLLRLLLRRLLRLLRLRRLRLRRLRRLRRLLRRRLRRRLLLRLLLLLLRRLRRRLRLLLLRRRRLRRLRRRRLRRRLRRRLRRRRLRLLRRLLRLRRRLLRLRRLRLRLLLRRLRLLLLLRLRRLRRLRLLRLRLLRLLRLLLRRLRLRRRLRRLLRRLLRRRLLRLRRLLLRRLRRLRRRLRRRLRRLRLRRRRLLLLLLRRRRLLRLLRLLLRLLLRLLLRLRRRLLRRRRLLLRLLRRLRLLRLRLRLRRRLLLRLLLLLRRLRRLRRRLLRRLRRLLLLLRLRRLRLLLRRRLRRRLRLRLLRRRRRLRRLRRRLRLLLRLLLLLRLRRRRLRLLRRLRRRLLRLRRRRLLRLRLRLRLRLLLLRRLLLLRLLRLLLRLLRLLRRLRRRLLRRLRLRRLLRRLLLLLLRLRLLRRRRLLRRLRLLRLLLLRRLLLRLRLLLRRRRRLLRRLRLRRLRRRLLRRLLLRRRRLRLRLLRLRRRRRLRLRLLRLLLRLLLRLRLLRRRRLLLRLRRRRLRLLRRLLLLLLRRRLRRRLRLRLRLRLRLLRRLRRRRRLLLRLRLRRRLLRLRLRRRLLLRLRLLRRLLLLRRLRRLLRRLRLRLLRRLLLLRLRLLRRRRRLRLRRLLLRRRLLRLRRLLLLLLRRRRLRRRRRRLRRLLRLRLRRRLLLLLLRRLRRLRLLLLLLRRRLLLLLLRLLRLLLRLRLRRLRRLRLLLRRRRLLLRRLRLLLLLRRLLLRLLLLLRLRLLRLRLLRLLRLLRRRLRRRLRLLRLLLLRLLRLLLRRRLRRRLRLLRLLRRRRLLLRRLLLRLRLLLRRRRLLRRRRLRLLLLRRRLRLRRLLRRLLRLLLRLRLRLLRRLLLLLRLLRLRRRLLRLRLLLLLLRLLRLRLRLRRLLLLRLRLLLLRLLLLLRLLLLLLRLRRLRLLLRLRLLLRRRLRLLLRLLLRRRLLRRLLRLLRLRRLLLLLRLLLRRLRLRLRLRLRRLLRRLRRRLLLRLRRRLRRLLLRLLLRLLLRLRLLLRRLLLLRLRLRRLRRLRLLRLLRRRLRRRLRRRLLRLRRLRLLLRLLRRLLRLLRLLLLLLLLRRRLLRRRRLRRLLRLLLLRRLRRRRLLRLLLLRRRRRRRRRRLLLRLRLLRLLRRLLLRRLLRLRLRLRLRRRLRLLLRLLLRLRRRRRRLRRLLRRRLRLLRLLRRLLLRLRRLRLRLLLLLRRRRLRLRRRRRLLRRLLLLLRLRRRRLRLRRRLRLLRRRLRLRRLLLLRRRLRRLRLRRRRRRLRRRLLLLLRLLLRRLLRRRLLLRLLRLLLLRRRLLLRRLLRRRRRRRRRRLRRLRRLRLLLLLLLLRLLLLRLRLRLLRRLRLLRLLLLLRLRLLRRRRRRLRRLRRRRLRLLRLRRLRRLLLRRRRRLLLRRRRLLLRLRLLRRRRLRLRRRLRRLRLRRLRRLRRRLLLRLLLRRRRLLRLLLLLRRLLRRRLRRRRRLRRRLLLLRRLLLRLRRLLRRRRRRRRRRLRLLLRRLLLRLLRLRRRRLLLRLRRLLRLRLLLLLLLRRLLRRLRLLLLLLLLRRLRLLRRRLLRLLRLRRLLLLRLRLLLLRLLRRLRLRRLRLLLRRRLLLRLLRLRLRRRRLRLRLLLRRRLLRLRRRRLLRRLRRLLRLLLLLRLLLRRRRRRLRLLRRLRLRRRLLRRLLLLLRLLLLRLLLRLLLLRRRLLRLLRLRRRLLRRLRRRRLLRRLLRLRLLRRRLRLLLRRRRLRRRLRRRLLRLRRLLLRRRLRLLLLRRLLLRLLRRLLLLLLRRLLLRLLRRRRLRRRRRRLLRLRLRRLRRRLLLLLRLLLLRLRRLRRRLLLLLRRLRRRRRLLRRLRRRLLRRRLRRLRLRRLLRLLRRRLLLRRLRRLLRRLRLLLRLLRRRLLLLRLLRLLLRLRRRRRRLRLLLRLLLLRLLRLRRLLRRLRRLLRRRLLRRRLRRLLLRLLRLRLLRRRLLRRLRLLRRRLLLLLRLLLRLRRRRLLLRLRRLRRLRRLRLRLLRLLRLRRLLLLLLRRRRRRLLRLRRRRRRLLRLRRLRRLLRLRRLLRRRLLRRLLLLLRLLLLLRRLRRRLRRLRLRRRLLLRRRRRLLLRRRLLLLRRLRLRRRRRRLLLRRLRRLLLRRLLLRRLLLLLLLLRRLLRLRRLRLLRRRRLRRRLRLRLLRLLRLRLLLRRRLLRLRLRRLRRLRRLLRLRLLLRLRLRLRLLLRLLLRRLLRLRRLLRRRRRRLRLRLLRRRLRLLRLLRLLRLRRRLRRLLRLRRRLLLRLLRRLRRRRRRRRLRRLLRRLRLLRRRLRLRLRLLLRLRRRRRRLRLLLRLLLRLLRLLLRLLRRRRLRLLLLRLLLRLLRRLRLRRLLLRLRRRLLRLRRRLLRRRLRLRLLLRLRRRLLRRRLRLLLRRRLRLLRRLLLRLLLLLRLLLRLLLRLLLLRLRRRRRRRLRRLRLLRRRLRLRLRRRRRLLLLLLLRRRRRRRRLLRLRLLRLRRRRRRLLLLLLRRLRRRLRRRLRLRLRLRLLLLLRRLLLRLRRLRRRRLLLRRRLLRLLRLLRLLLRLLRRRLLLLLLRRLLLLRRRRRRLLRRLRLLRRRLRRLLLRLRLRRRLRLLRRRRRLRRRRRRLRLRRRLLRRLRRLRRRLRLLLRRLRLRLRRLRRLLRRLRRRRRLLRRRLLLLRRLLRLLRLLLLRRRRRRLLRRLLLLRLRRRLRRLRLLLLLRLRRLLRRLRRLLRRRLRRRRRRLLRRRRLRRRLLLLRRRRRRRRRRRLRLRRLRLLLRRRLRLLLRLRRRLRLLLLRRLLRRLRRRLLRLLLLLLLRLLRLLLLLRRRRLLLRLLRRLLRLLRRLRRLLLRLRRRLLLRLRLLLLRLLLRRRRRRRLRLLRRRRLLLLRRRRLRRLLLLRLRLLLLLLLLRRLRLRRRLRRLRLLLRLLLLLLRLLRLLRRLLLLRRLLRRRLRRLLLRRLRRRRRLLRRRLRRLLLLLRRLLLRLLLRRLRLLLRRLRRLRLRLLLLLLLRLRRRRLRLRRLLLLLRLLLLRRLLRLLRLRLLLRLRLRLLLRRRLRLRRRRRRRRRRRLLRLRLRLRLRLRRRLLRLRRRRLLLLLLLLLRRLLLRLLLRLRRRRLRLRRLLLLLLLRLLRLLLRRLLLLRLRLRRLRLRRRRRLRLRLLRRLRRLLLLLRRRRRRRLLLRRLLRLLLLLLRRRRRLLLRLRRRLRRLRLLLLLRRLRRLLLLRLRRRLLLLLLLLLRRRLRLRRLRRLRRLRRLRRLRRLLLLRLRRLRRRRLRRRRLRLRLRRRLRRLLRLRLLRRRLRRLLLRLRLLRLRRRLRLLRLLLRLLRLRRLLRLRRRRLLRLRRRRRRLRRLRLRRLRRLLLRLRRRLRRLLRRLLRLLRLRRRRLRRLLRLLRRRLLLRRLRLLLLRRRLLRRRRLRRLLLLLRRLLRRLLRRLLLRRRRLLLLRLRLLLLRRLLLLLLRLRRRRRLRLLLLRRLLRLLRLLLRLRRRRRLRRLLLRLRLRLRRRRRRLRRLLRRLLLRLRLLRLLLRRLLLLRRLRRRRLLLLRLRRRLLRLLLLLRRLRRRLRLLRRRRRLRRRLLLRRRRLLRRLRRRRLLLLRRLLRRLLLLRLRRLLRRRRRLLLRRRRLLLLLLLRLLRLRRRLRLLLLRLRLLRLRLLRLRLRLRLLRRRRLLRRLRRLLLLRLRLLLLLRRRLRLLLLLLRLLRRRLLRRRLLRRRLRLRLRRRLRRRLRRRRRLRLLLRRRLRRRLLRLRLRLLLRRRRLRRRLRRLRRRLLLLLRLLRLLLLRRRLLRRLLRRRLRRRLRRRLRRLRLRRLRLRLLRRRRLRRLRRRRRRRLRRRRRRRLRRRRRLLRLLLRLLRLRRLRLLRRRLRLRRRRRRRLRRLRLRLRRRRRLLLRLLRRRLRLLRLRRRRRRLRRRRLLRLLLRRRRRLRLLLLLLLRLRLLRLLRRLRLLRRLLLLLRLLRLRRRRRLRRRLLLLLRRLLLLLLRRRRLRRLLRRRLRLRRLRLRRLLLLLRLRLLLLLRLLLLRLLRRRRLLRRLLLLLLRLRLRLRRRRRRRRLLLLRRRRLRLLLRRLLRRLRLLLRLLLRLLLLRRRRLRRRLRLLRLRLRRRRLRLRRRRRRRRRRLLRRLRRLLLLRRLLRLRRRLLLLLRLRRRRRLLRLRRRRLLLLLRRLRRLLRLLRRRRLRLRRRRRRLRRRRLRRLLRLLLLRLLLRRRLLRRLRRRLLRRLRLLRRRLLLRLLRRRRLLRRLRRLLLRLRRRRLLLRRRLRLRRRLLRRRLLRRLLRRRLRLRRLLRLRRRLRLRLRLLLLRLRRRLLLLRLLLRLRRRRRRLLLLRLLLRRLLRLRRLLRRLLLRRRLLRRRLLLLLRRRRLRLLRRRRRLRRRLRLLLRLLRRRLLLLLRRRLLRLLRLRRLRRLLLLRRLRLRRLLLRRRRLLRRRRRRRRLLLRRLRRRRRLRRLRLRRRLRLRRRRRRRLRRLRRLLLRRRRRRRLRLRLRRRLRLRRLLRRRRLRLRLLLLRRLRRLLLLRRRRLLRLRLRLLLLRLLLRLRRRRLLRRRLRRRRRRLRRRLLRRLLRRLLRRRLLRLRLRRRRLRRRLLLLRRRLLRLRRRRLRLLLLRLLLLRLRRRLLRRLRLRRRLRLLRLRLRRLRLRLLLLLLRLRLRRRLRRRRLRLLLRRLRRRLLRLLLRLRLRLRLLLLLLRRRLRLRLLLLRRRLLLRRRRRLLRLRLRLLLRRLRRLRRRRLLLRLRLRRLRRLRRRRLLLRRRRRLRRLLLRLLRRRRLRLRLLLRLLLLLLLRLLLRLLLRRLLRRRRLLLRRRRLRRLLLLRLRRRRLRLLRRRLLLRLLRLLRRRLRRRLLRLRLLLLRLLRLRRLLLLRLRRLLLRLRLLRLRLRLLLRLRRRRRLLRLRRRRRLRRRLLLLRLLRRRRRRLRRLLRRLRRLLRRRRLLLRRLRRRLRRLRRLLLRRRRLRRRRRLRLLLRLRLLRRRLLRLRRLLRLRLRRRLLRLLRLLRRRLRRRRRRRRRLLLLRLLRRLRLRLRLRLLLRLRRLLLLRRRLLLRRLRLLLRRRRRRRRRLRRLRRLLRLRLRRRRRLLLLLLLLLLRRLLRLLRRLRLRLRRRLLLLRRRLRRRLRLLLRRLLRLLRRRRLRRRRLLLLRLLRRLLRRRLLRLLRLLRRRLLRRRRLLLRRRLLRLRLRRLRLLLLLRRLLLRRRRLRLRRRRRRLLRLRRLRRRRRLRLRRLLLLRRLRRRLRRRLLRRRLLLLLRRLLLLLLLRRLLRLLLLLLLRLLRLLRLLLRLLLLRRLRLLRRRLRLLRLLLLRRRLRLLRLLRLRLLLLLLLRLRRRLRRLRRLRRRLRLLRLLRRRRLLRLRRRLRLLLLLRLLRRRRRLLLLLLLLRRRRRRLLRRRRRLRLRLLLLRLRRRLLRRLLRRLRRRRLLRRRLRLRLRRLLLLLLRLLLLLRLLRRRRLRRRLRRLRLRRRRRRLRRLLRRLRRRLLLRLLRLLRRLLLLRRRLLRRRLLRLLLRRRRRLLLLLRLLRRRRLLLLRLRRLRLRRLLLLRRLRRRRRRRRRLRRLRLLLRLLLLRLLLLRLLRRLRLLRRRRRLLLLLRRRRLLLLRRLRRRLRLRRLLLLRRLRRRRRRLLLRLLRRLRRLLLLLLLRLRLRRLRRLRLRRLLRRRRRLRLLLRLLRLRRRRLRLRRLLLRRRRRRLRLLRRRRLLLRRRRLLRRRRLLRRRRLLRRLRLRRLLLLLLRLLRLRLLRLLRLLRLRLRRRLRRLRRRRRRLRRRLLRRLLRRRLLLRLRRLLLRLLLLLRLRLLLRLRRLLRLRLRRRLLLRLLRLRRLRRRRLLRRLLLRRLRLRRRRRRRRRRRRRLLLRLLRRRLLLRLRLLLRRRLRRLRLLLLRLRLRLRLLRRLRLRRLRRLLRLLLRLRRLLLRRLRRRLRRLRLRLRLRLLLRLLLLRRLLRRRRRLRLLLRRLLLLLLLLRRRLRLRRLLLRLRRRRRLRRRRLLLLLLLRRRLRRLRLLLRLRLRRRRLRLLRLLRRRLLRRRLLRLRRRLLLRLRLLRRLRLRRLRRLLRLRLLLLRRRLLRLLRRLLLLLRRLLLRLLLLRRRRRLLRRRRLRRLLRRRLLLRRLLLLLRRLLLLRRRLLLRLLRLRLLLLLRLRRLRRLRRRRRRLLLRLRRRRLLLRLLLLLLRRLRLLRLLRLRLLRLRLLLLLLLLLRLLRRLRRLLRLLLLLRLLRRLRLRRRRRRRLRLLRLRLRLRLRRRLLLRRRLRRRLLLLRLRLRRLRRLRRRLRLLRRRLLLLLRRRRRRLRLRRRLLLLRRRRLLRRRRLLRLLLLRLLLRLLRLRRLLLLLLLLLRLLRRLLRRLLRRRLLRLLRLRRLLRLRLLLRRRRRRRLRRRLLLRRRRLRRRRRRRLLLLLLLLLRRRRRRRRLLLLRLRRLLLRRLRLLRRRRLRRLRLRLRRRLLLLRRLRLLRRLRLRRRRRLLLRLRRRRRRLLRLLLLRRRRLRLLRRLLLLRLRLLLLLLRRLRLLRLLLLRLRRLLRRRLRRLLLLRLRRLRRRRLRRRLRLLLLLLRLLLLLLLRRLRLRRLLRRRLLLLRRRRRRLLLLLLRLRRLLRRLRRLLLRRLLRLRRLRLRRRLLRLRLLLRLRRLRLLRLLRLRRRLRRRRLLLRRLLRLRLLRRRLRRRLLLRRRLRLRRRLRLLRRLLRLLRLLRRLRLRLRLRLLRRLLRRLRRRLRRRRLLRLRRRLRRRRRRRRRLLRRLLLLLRRRRLRLRRLLLRRRRLRLRLLRRLRLRRLLLLRRRRRLLRLRRLRRRLRRLLLLRLRRRLLRRRRRLLRLLRRLRLRLRRLRLLRRRLLRRRRLRRRRLLLRRRLRRRLRRLLLLLLLRLLRRRLLLLRRRLLLRRRRLLLLLLLLRLLRRRRRRLRRRRLLLLRRLRLLRLRLRRLLRLRRLLRRLRLLRRLLLLLLRLLRLRRRLRLLRLRRRLRLLRLLLRLRRRLLRLLLLLRRRRRLLLRLRLLRLLLRRLRLRLRLRLLRRRLRRLLLLRLLRRLLRLLRLRRLRLLLRRLLRLRLLLRLRRLRLLLRRLLRRLLRLLRLRRRRRLLLRRLLLRRRRRRRLRLRLLRRLRLRLLLLLLRRRLRRRLLRLRRRRRLRRRLRRLRRLRRLLRRLLLLRLLRLLLLRRLLRLLRLLRLRLLLRLRLLLRRRRRRLRLLRLLLRLRLLLLRLRRLRLLRRLRRLLRRLRLLLLLRRRLRLRLRLRLLRLLLRRRLLRRLLRRRRRRLLRRLLRLLRLRLLRLRRRLLRRLRLLRRLLLRLRLLLRLLLLLLLLRLLLLLLLLRLLLRRLRRLLRRRLRLLLLRLLRRLRRRLRLRLRRRRLLLRLRLLLRRRRRLRRLLRRLRRLRRLLRRRLLLRLLLLRLRRRLRRRRLLLLLRRRRRLLRRLLLLRLRRLRRRRLLLLRRLLRRLLLLRRRRRRLRLRLRRLRRLLRLLRLLRLRRRRLRLRLRLRLRLLRRLRLRLLRRLRRLLRRLRLLLRRRLRRRLRLRLRRLRRRRLRLLRRRLRRLRRRLRLLLRRLLRLRRLRLLRLRLRRLLLLRRLRLLRLRLRRRRLRLLRRRRRRRLLLLRRRRLRLRLRLRRLLLRLRLLRLLLRRLRRRLRLRLRLRLLRLRLLLLRRRLRLLRRRRLRLRLLRRLLLRRLLLRLRLRRRLRLRRLLRLRRLLLLRLLRRLLRRLRRLRLRRRRLRLRRLLRRRRRLRRRLLLRLRLLRLRRRLLRRLLRRLRRRRRLLRRRRRLLRRRRRRLLRLRRRLRRLLLLRRLRLRRLRLRLLLRLRRRRRLRRRLLRRRLLRLLLLRRRLRRRLRRRRLRLLLLLLRRRRRRLRLLRLRLRRLLLLLRRRRLRLLRRLRLLLLRRLLLLLRLLLRRRRLRRRRLRRLRRRLRRLRRRLLLRRRRLRRLLLRRRRRLLLLLRLRLLLLLLRLLLLLLRLLLLLRRRLRRRLLLLLRRRLRLLLLLLRRLLRRLLLRRLRRRRRRLRRLRRLLRLLLLLLLRLLLRRLLLRLLLLLRLLRLLLLRLRRLRLLRRLLRLRRLLLRRRLLRLLRLLRLLLRLRRRLRRLRLLLRRRRRLRLRRLRLRLRLLRRRRRRLRLLLRLLLLLRLRLLRRLRLRRLRRRLLLRLLRLRRLLLRLLLRRRLLRLRLLRLRLRLLRRRRRLRLLLRRRRRRLLLRRRLLRRLRLLRLRRRLLLRRRRRLLLRLRRLRRRLLRRRLRLRRLRLRRLLLLLRLRLLLRRLLLRLRLRRLRRRLRRLLLRLRLRRLLRLLLRRRLLLLLRLRRLLLLLLLRLRRRLRRLRLLLRRLRLLRLRRLRLLLRLRRRLLLRLLRLLRRLRRRLRRLRRRRRRLLRLRLRLRRLRRLLRRLRLLLLLLLRLLLRRRRRRLLRRRLRLRRLRLLRRLRRRLLLLLRRRRRLRRRRLRRRLLRLLRLLLRLLRLLRRLLRLLLLLRRLRLLLRLLLRRRLRRLLRRLRLLRLLLRRLLRLRRRRRRRLRLLLRRRRLLRLLRRLRLRRLLLLLRLRRLLRLLRRRLRRRRLLRLLLLRLRRLLRLRLLLLRRLLLLRLRLRRRLLLRRLRRLRRRRLRRLLRRLRRLRRLLRRLLRRLRRRRLLRRLLRRLRRLRRLRRLLRLRRLLRLRLLRLRLLRLRRLRLLRRRLLLLRRLLRLLRRLLRRLRLLRRRRLLLRLRLRRLLRLRRLRLRLRRLLRRLRRRLRLRRRRLLLRRLRRRLLRLRRLLRLRLRLLRLRRLLRLRLRLRLLLLRLRRLRLLLRRLLRRLLLRRLLRRRLLRRRRLLRRLRLLLRLLRLLLLRRLRRRRRRRLLRLLLRRRRLLLLLLLRLRRRRLRLRRLLLLRLRLRRLLLLRLLLLRLRRLRLLRLRRRLRRRRRLRLRLLRLRRRRRRRLLRRRRRRRRRLLRRLRLRLRRLLLRRRRLRRLRRRRRRLLRRRLLLRRRRRRLRRLRRRRLRLRRLRRLLRLRLRRRRRLLLLRRLLLRRLLRLLLLRRLLLLRRRRRLLLRLLLRLRRRLRLLRRLLLRRRLRLLRLRRRRLLRRRRRLLLRRRRRLRRLLRRRRLLLRRLRLLRRLRRLLLRLRLRRRRLRLRRRRLRLRRLRRRRLLLLRRRLRRLRLRRRRRLRLLLLLLRRRLRLRRRLRLRLRLRLRRLLRLRRRLRLLRRLRLLRRRRRLLRLRLRRRRLRRLLLRRRRLRLLRRRRRRRLLRLLRRRLRRRLRRLRLLRRLLLRRLRLRLRLLRLLRLLRLLRRRLRLLLLLLLLRRRLLRLRRRRRRLLLRLRRRRLRRLRLRLLLRLLLLLRLLRRLLRRRLLLLLRRRRLLRRRRLLLRLRRLLRRRLRLLLRRRLLLRLRRRLLRRRLRLRRLLLLLRRLRRRLRLLLLRLRLLRRRLLLLRRLRRLRLRLLRLRLLRRRRRRRRLLRRRLLLRLRRRLLRRRLRRRLRLRRLRLLLLRLLLRLRLRLLRLRRLLLRLLRLRLRLRLLLLLLRLRRRLRRRLLRRLRLRRRLLRLRRRRLLLRRRLLLRLLLRLLLLLLRRRRLLRLRLRRRRLRLRRRRLRLRLRRRLRRLRLRRRRRLRLRRLLLLLLRLLRLLLLRLLRRRRLRLLRRRLLLLLLRRLLLLLRRLLLRRLLLLRLRLLLRLLLLRLRRLLLRLLLRLRRLRLRLLLRLRLRLRLLLRLRLLRLLRLLLLRLLRLRLLRRRRLLLLRLLLLLLRRLRLRRRLLRRLLLRLLRLRLRRRRLLLRRLRLRRLLRRRRLRLLLRLRRRRRRRLLLRLLRRLLLRLRRLRLLRRRRLRRRRRRRRLLLLRRLRRLRLLLLLRRLLRRLRLRRLRRRLRLRRRLLLRRLLRLLLLLLRRRLRRRRRRLRLRRRLLLLRLRLRRLLRLRLLLRLLLLRRRLLLRRRLRLRLRRRRLRRRRLRRLRLRLLLLLRRLLRLLRLRRRLLRRLRLLLLRLRLLLRLLLRLLLRLLLLRLLLLLRLLRRLRLLRRRLLRLLRRLLRRLLRRRLRRLLLLRRLLRLRRRLLLRRLRLLLRRLLRLRRRLLLLLRLLLLLRRRRLRRRRLLRRLRRLLLRRLLRRLLRLLLLLLLRRLLLRRRRLLRLRRLLLLRRRLRRLLLRLLRRLRRRRRLRLLLLLLRRLLRLRRRRLRRLRRLLRRLRLRLLLRRRRLLLRLLRLRRLRLRLLRLLLLRLRRLRRLLLLRLRLLRRRLRLLLRRRRLRRLLRLRRLRRRLRRRRRRRLRRRRLRRLLLLLLLRRRRLLLRLRLRRLRRLLRRLLLLRLRLLLRRLLRRRRRLRRLLLRRLRLRLLLRLLRLRRRRRLLRRRRLLLRRLRLLRLRLLLRLRRRRLLRLLRRRLLRRLLLRRRRRRRRLLRRRRRLRLRRLRLLRLLLLRLLRRRLRLRRLRRRLRLRLRLLLLLLLLLLRRLRLRRRRRRRLRLRLRLRRLLLRRRLRLRLLLLLLLRLRLRRLLRRLRRLRRLRRLRLLLRLLRRLRRLLRRRLLRRRLRLRLLLLRRLLRLRLRRLRLLLRLLLRLRLRRRLLLLLLRLRRRLRLLLRRLRLLRRRLLLLRRRRRLLLRRLRRLLRLLLLRRRLRLLRRRLRLLLLLLRLRRLRRRRLLRLLLLLLLRLRLRLLRRLRRRLLRRLRLRRRRRRLLRRLRRRLRRRLLRLLLLLLLRLRLLRRRLRLRLRLLLRRLRRLRLRRLLLRLLRLRLRLLRLLLLLLRRRLLRLLRLRLRLLLRLLLRLRLRRRRLLLRRRLLRRRLLLLRLRRRLRRLRRRRRLRRRLLRLLLRRRRRRRLRRLRLLLLRLRRLLRLRRLLRRLLRRRLRRRLLLRLLRLLRRLRLRRRLRLRRRLRRLLLRLLRRRLRLRRRLLRLRLLLLLLLRLRRLLLLLLRRLLLRLRLLLRRLRRLRRLLLRLRLLRLRLLRRRRRLLLRLLRLLRRRRLRRLRRLLRLLRRRLLRRLRRLLRRLLLLRLRLLRRRLRLLLLLLRLLRLLLLRRRLRLLLLLRRLLLLLLRLRRRLLLRLLRRRLLRRRRLLLLRRRRRLRLRRRLRRRRLLLRRLLRLLLRLLRLLRRRLLLLRRRLLRLRRRRRRLRRLLLLLLRLRLRLLLLRRRLRLRRLLRRRLLLLRRRRRLRRLLRLRLRLRLLRLRLRRRRRRLRLLLLRRLLRRRLLLLRLLLLLRRRRLLLRRLLLLRLLRLLRRLRRLLLLRLLRRRLLRLLRRRLRRRLLRRLRRLLRRLRLRLLRLRLRRLRRRLLRRRLLRRLRLRRRRRRLLLRLRRLLLLRLLRLRRLLRRLLRRRLRRRLRLRLRRLLRRLRLLLLRRRRRRRRRRRRRRRRLRLRRLRLRRLLLRLRRLRRLRRLRRRLLRRRRLRLLLLRRLLLRLLLRRLRRLLLLRLRRRRLLLLRLLRRRLLLRLLRRRRLRLRLLLRRRRRLLRLLRRRRRRRLLRRLRRRLLLLRLLRRRRRLRLLRLRLLLLRLRLRLLLLRLLRLRRRRLLRLLRRRLLRLRLLLLRLLLRLLLLRRRLLRRRLLLLLLRRRRLLRLRLRLRLLRRLRRLLRLLLLLRRLLLRLLRLRLLLRLLRLLRLLLLRLRLRLLRLLLLLLLRLLRRLLRLRLRLLRLLRRLRRLLRRLRRLLRRRRRLLLLRRLLRRRLRRRRRLLRLRRRRLLRRRRRLLLRLRLRRRRRRLRRRRLRLLRLLRRRRRLRLLRLRRLRLRRRRLRRLRLRRLLRRRLRLRLRLLRLLLRLLRLRLRRRLLLRLLRRRLLRRRRLLLLLRLRRLRLRLLLRRLRRRRRLLRLRRRLRRRRLLLRRRRRRRLRLLLRRLRLRRRRRRRLRRRRLRRLLRRLRLRLRLLRRRRLLLLLRLRRLRLLRRRLLLRLRRRRLRLRRLRLRRLRLRLLLLRLLLLRLRLRRLRRRLLRLRRRRLLLRLLRRLRLRLRLLRLLLRLLRRLRLRRRRRRLLRLLLRLRLLRRLLLRLLLRLLLRLRRLRLRRRRRRLRRRLRLLLLLLRRLRRLRRRRRRRLLLRRRLRRLLLRLRLLLLLRLLRLRLRRLRLRRLLRLRLLRRLRLLLLLLLLLLLRRLLLLLRLRRRLRRLRRRLRRRRRLRRRRLLLLLLLRRRRLRRLLLRLRLLRRRRLLRLRLRLLLRLLLLRLLRLRRLRRRLLRLLRRRLRLRRRLRRRRLRLRLLLLLLLRRLLRRRLLRLLLLLRLLLRRRRRLRLLLRRRLRRLRLRLLRLLRLRLRLLRLLRLRRRRRLRRRRRRLLLRLRRLLLRRRRLLRLRLRLRRRLRLRRLLLLLLLRRRLLLRLRRLRRRRLRRLRRLRLLRRRRLRLRLRRLLLRRRRLRLRRRLRLLLLLLRLLLLLLRRLLRLLRRRRLLRRLLRLLLRRLRLLLLLRLRRLLLRLLRLRLRRLRLLRRRRLLLLLRLLLLLLLRLRRRRLLRRRLRLRLLRRRLLLLLLLRLLRRRLLRLRRLRLLRRRRRLLLLLRRRRLLRRLLRLRRLRRRLLRRLLRLLRRLLLRRRLRRLLLRRRLLRRLRRRLLLLLRLRRLRLRLLRLRRRLLRRRLRRLLRLRLRRRRLRLLLRLRRLRRRLLRRRRLLRLLLRRRLRRLLLRLRRLRRRLLLLLLLRLLLRRLLLRRRRLLLLRLLRLLLRLLLLLLRRLLLLRRLRLRLLLLRRLLLLLLLLRRLLRRRLLLRRLRRLLLLLLRRLLLLLLLLLLRLLRRRLRLRRRLLLRLLLRRRLLRRRRRRLLRLRLRLLRLLLRLRLRRLRRLLRLRRLLRRRRLLLRLRLLLRLLLLLRLLRLRLLLLLLLLLRRRLRRLLLRRLRLRLLLLLLRLRRLRLRRRRRRLLLLLLLRLLLRRRRLRLLRRLLLRLRRRRRLRRLRLRLLRLLLRLRLRLLLLLLLLRLLLLRLRRLRLRLLLLRLLRRLRRRLRRLRRRRRLLRRLRLLRRRLLLRLLLLLLRRLLRLRRRRRLLRLRLLLLLRRLRRLRRLLLLRRLRLRLLRLRRRLRLRRRLRRLLLLRLRLLRLRLRRLLLRLRRLRLRLLLLLLLLLRRRLLLRLLLRLLRRRLLLLRLLRLRLLRRLLRLRLRLLRRLRRRLRLRRRRRRRLRLLRRLRLRLLRRRLRRRRLRLRLRRRLLLLLLRLRLRLLLLRRLLLRLRRLRRLLRLLLLLRLLRLRRLRRLRLRRRRLLRLLLLLRRLLRRRLLRLLLLLLLRRRLRLRLLLRLRRLRRLLLLLRLRLRLRRLRLLLLLRLLRLLLLLLLLRRRRLRRLLRLRLLLLLRRRLRLRRRRRRLRRRRLLRLLRRLRRLLRRLLLLRRLLLRLRLLLRLLRRRRRRRRRRRLLRRLRRLLLRRLRLRLRLRRLLRRLLRRLRRRRLRRLLLRLRRRLRRLLLRRRRRLLRRLRLRLRRRLRRLLLLRRRLLRRRLLRRRLLRRRLRLRLRLLLLLRRLLLLRLRLLLLLRRLLLLLRLLLLRLRRLRRRLRLRLLLLLLLLRRLLLRRLRRLLRRRRRRRRRRLLRRRRRRRLRRLRRRRRLLLRRRLRRLRRRRRLLRRLRRRRLLLRLRRLRLLRLRRRRRRRLRRLLRLLRLLRRLLRLLLLLRLLLLRRLRRRRRLLRLRRLRRRLLLLRRLRRRRRLLLLLLRRRLRRLRRRLRRRRRRLLLRLRRRRRLRLLLRRLLLRLRLRLLLRRRRRLLRRRLRLRRRLRLLLLLRLRRLRLLRRLLRLRRRRRLLRLRLRRRLLLRLRRRRLLLLRRRLLRRLRLRLLRLLRLRRLLRRRLLLRRRRRRLLRLRLLLLRRLRRLLRLLRLLLRLLRLRRLLRRRRLLRRRLRLLLRLRLLLRLLRLRRLLRLLLLRRLLRLRLRLRLRRRRLRRLLRLLLLRRRLRRLLLLLLRRRRLRLRLRLLLLRRLLRRRRLRLRLRLRRRLRRLRLLRRRLLLLRRLLLLLLLRLRRRLLRRRRRLLLLRLLRLRRLLLRRRLRRLRLLLRLLRRLRLLRRRRLRLLRRLLLRRLLLRLRLLLLLLRLRLRRRLRLLLLRRLRRLLRRRRLRRRLRRLRRLLLRLRRLRRLLLRRRRLRRLLRLRLRLLRRLLRRRRRRLRLLLLRLLRLLRRLRRRLRRLLLLRRLRLLRRLRLRLLRRLRRRLLRRLRLRLLRRLRRRRLRLRLRLRLRLLRRRRLRLLLRLLRLRLLLRLRRRRLRLRLLRRRLLRRRLRLRLLRRRRLRRRLRLLLRRLRRLLRLRLLRLLRLLRRRLRRRLLLLLLLLRRRLRLRLLLLRLLRLRRLRLRLLLLRLLRLLRRRRLLLRRLLRRRLLRRLRRLRRLLLRRLRRRLLLLLRRRRRLLRRRRRLRLLLLLLRLLLLLRLLRRLLLRRLLLRRRRRLLLLRRLLLLLRRLRLRLRRRRRRRLLLLRRRLLRLLLLRRRLLLRRRLLRRLRRRLRRLRRRRRLRLRRLRLRLLLRRRRRLRRLLRLRLRRRRRLRRRRLLRRRRRLRLRLLLLLLRRLLRLLRRLRRLLRLRLRLRRLRRRRRLLLLLRLLLLLRLLLLLRRRRLLLLLLRLRLLRRRRRRLLLRRRLLLRRLRLRRLRRRRRRLRLRLRRRLRRRRLLRRLRLRLRLLLLRRLRRRRLLRRLRLRLLRLLLRLLRLLLLLRLLLRRLLLRLLLRLRRRLLRRLLLLRRLRRRRRLRLLRRRRLRLRRLLLRLLLRLLLRRRLRRRLLLLRRRRLRLLLRLLLRRLLLLLRRLRRRRRRRRLLLRLLRRLRRRRRLLRRRRLRRLLRLLRLRLLRLRLLRRLLRLLLRLRLLRLLRLRLLLRLRRLRLRRRRLRRRRLLRRLRLRRRRRLRLRRLRLRLRLLRRRLRLLRRRRRLLLLRRRRLRLRLRLLRRRLRRRRRRRRRRRRLRLRLRLLRRRLLLRRRLLRRRLLRLLRLRLLLRRRLLRRLLLLRRLLLRRLRRLRRRRLRLLRRLLLLRRLRLRRLLRLLLLLRLLLLRRLRLRRLLRLLLLLLLLLRRLLLRRRRLRRRRLRRLLLLLLLRRRRLRRLLRRRLLLRRLRRLRLLRRRLLRRRLRLLRRRRRRLLRRRRLLLLRLLRRRRRLRLRRRRLLRRLLLRLLLRRLLLLRLRRLLRLRRRLLRRRRLRLRLRLLLRRLLLLRRRRLLRLRRRRRRRRLLRRRRLLLLRRLLRRRLRLLLRRLRLRLLLRRRLRLRRLRLLRLLLRRLRRLRLLRLRLRRRLLLLLLRLRLLLRRRRLLRRRRLRLRRLLLLRLRRLRLLRLRRRLLRLRRRRRLRLRLRRLLRRRRLRRRLLRLRLLLLLRLRRRLLRRRRLRLRRLLRRLRRRLLRLLRRRLRLRRLLRLLLRRLRLRRLLRLLLLRLRRRRLRRLLLRRRRRRLLLRLLRRRLRLLLLLRRLLLLRRLRRLLRRLLRRRRRLRRRRRRLLRRLRRRRRLRLRLRLRLRRLLLLLLLRLRLLRLLLRRRRRLLRLRRRLRLLRLLRRRLRLRRRRLLLLLRRLRLRLRRLLRLRLLRRLLLLLLLLRRRRRLRLRRRLRLRRRRRLLRRLLRRLRLLRLRLLLRRLLRLRLRRLRLRRLRRRRLRRRLLLLRLRRLRRRLRRRRLRRLLRLLLRLRLRRLRLRRRLLLRRRLLLLRRLLLRRLRLLLLRRRLRLRRRLRRRRRRRLRRLLLLRRRRLLRLLLRRLLRRRRLLLLRLLLLRRRRLRRRLLLRRRLLLLLLRLLLRLLRLRRRLRLLLRLRLLRLLLLRRLRRRLRRLLRLRRRRLRRLLRRLLRRRRRLLLRLLLRRLRRLRRLLLLRLRLLLLRLLRLLLRRRRRRLRRLRLLRLRRRRRLRLRRRLLLRLLRLRLRLLLLRLRRLLRRRLLRRLLLLLLRLLLRRLLLRRRLRRLRLRLLLRRLLLRLRRRRRLLRRLLRRRRLLLRRRRLLLLRRRLLRRLLLRLRRLRLRLRLRRLLRLRLLLRLLRLLRLRRLLRRRLRLLRLRRLLLRLRRLRRRRLLRRLRLRRRLRLRRLRLRLRRLLRRRLLRLRRLRLLLLLRRRRRLLLLLLLLLRRRRLLRRRLLRRLRLRLLLRLRLRRLLLLRLRLRRRLLRLLRRLRRLLRLLLLLLLRLLLRLLLRLRLLLLRLRRLLLRLLRRRRRRLLRRLRLLLRLLRRRRLRRLRLRRRLLLLLRRLRRLLRRLLRRLLRLLLRLLLRRRRRLLRLLLLLLRLRRRRRLRRRLRRRLRLRLRRRRRLRLLLRRLLRRRRRLLLLRRLRRRRRLRRLLRRRLLRLLLLRLRLLRLLLRRRRRRRRLLLRLRLRRRLRRLRRLLRRLRLRRRLLRLRLLRRRRLLLRRRLLLRRLLRLRLLRRRRRLLLRRLRLRLRLRRLLRLRLRRLRLRLRRLLLLLLRLRRRLRRRRRLLLRLLRLRRLLRLRRRRLRRRRLLRRLRLRRLLLLLRLRLRLRLRRLRLLRLLLRRLRRLLLRLLLRRLLLRRLLRLRRLRLLLRLLLLRLLRRRLRLLRLLRRRLRLRLRRLRRRLLLRRRRLLRRRRLLRRRLRLRRLRLLLLLLLRRRRLRLRRRLLRRLLLRRLRLLRLLRRRLRRRLRLLLRRLLLRLRRLLRRRLRLLRRRLRRLLRLRRRLRLLRLLLRLLRRLRRLLLRRLRRRRLRLLRLLRLLLLLRLLRRRRRRLRRLLLLLLLLRLLLLLRLLLLLLLLRLRRRRLRRLRLLLRLLLLRLRLRRLRLLRRLLRRLLRLRRRLRRLRRLRRLLRLLRRRLLRLRRRRLLRLRLLRRLLLLRLLLLLLLRLRLRRLRLLLLRLRRLLLLRLLRLRRRRRLLRRLRLLRLRRLLLRLRRLRRLRLLRRLLLRRRRLLRRRRRLLLLLLRRLLLRRLRRLLLRLLRRLRRRLRRRRRLLRRLRLLLLLLRLLRLLLRRLRLLRLRRLLLLLLRLLRRRLRRRRLRLLRRRRRRLRLRRLLRLLRRLLRRLLRRRRRLLLLLRRLRRLLRRLRLLRLRLRRRLRLLRLLLRLRLRLLLLRLLRRLLLRLRLLRLRRRRRRLLLLLLRLRLRRRLRRLRRRLLRLRLRLLRRRLRRLLLRLLLLLLLLLRRRLLRLRRRRRRLRLLRLLRLLRLRLLRRRRRRLLLLRLRRRRLLLLRLLLLLLRRRLRLRLRLLRRLRLRRRRLRLLRRRRRLLLLLLLLLLRLRLRLLLLLLLRLLRRLLRLRRLRRRRLLLRRLRLLLLRLRRLRLLRLLRLLLRRRLLRRRLRLLRRRRRLRLLLRRRRLRRLRRRRLRRLLLLLRRRRRRRRLRRRLRLRRLLLRRRRLLLLLLRLRRRLLLLRLRRRLLRRLLLRRLRRLRRLLRLLLLLLLRRRLLRLLRLRRRLRLLRRRLRRRRRLLRLLRRRRLLRRRRRRLRRLLLRRRLLRLLLLLRLRLRLRLLRLRLLRRRRRRRRRRLLRRRLLRLLRLRRLRRLRLLRLLRLLLRLRLLLRRRLLRLLRRRLRLRLLRLRLRRRLLRRLLLRRLLLLLLLRLLRLRRLRLRLRRRRLRRLLRRRLLRLRRRLRRLRRRRRLRRRLLRLLRRRLRRRRLRRRLRLRLLRRLRRLLLLLLRLLRLRLRRRLRLLRRRRRRRRRLRLRRRRRLLLLLRLLLLRRRLRLLRRRLRRRLRRLLRLRRLRLLLRLLLRRLRLLRRRLRLRRRRRLLLRRRLRLRRRLLRRRRLLRLLLLRRRLRLLRRLLLRRRLLLLLRLRRRLLLLRLRLLRRLLLRLLLLRRRRLRLRRLLRLRLLLLRLRRLLRRLRLRRLRLRLRLLRLRLRRLLRLRLLLLLRRLRRRRLLLLLRRLLRRRRRLRRRLRRRRRRRLLRRRLRLRLRLRRLRLRLRRLLRRRLLRLLRLRLRRRLLRRLLLRLRRLLLRRRRRRRLRLLRLLRRRRRLLRRLLRLRLLRLRLLRRRLRLRRRRRLRRLLLLRRLRLLRRRLRRRLRLLRRLLRLRLLLRLRRRLRLLLRRLLLLRRLRLRRLRLRRLRLLRLRRLLRRLRRLLRRLRLLRRLLRRRLLRLRLRLLLLRRLRLRLRLRRRRLLLRRRRRLLRRLRLRRRRLLRRLLLLRLRRLRRLRRLLRLRLRLRLLLRRRRLRRLLRLRRLRLLRRLRLRLRLLLLLRRLRLRLRLRLLRRLLLRRRLLLLLLRLLLRRLRRLRRRLRLLRRLLRRLRRRRRRRLLRLLLRLRLLLLLRLLLLRRRLLLLRRLLRRLLRRRRLLLRLRRLRLRLRRLLLLLRRRLRLRLRLRLLRLLRLRLRRLRRRRRLRRLRRRRLLLRLRRRRLLRRLLLRLRLRLLRRRLLLRLLLLRRLRRLLRRRLLRRRRLRRRLRLRRRLRLLRRLLRLRLLLLRRLLRLLLRRLLLRLLLLLRRRRRRRLRRRRLLRLRRLRLRRLRLLLRRLRLRRRRRRLRLLLLLRRLLRRLRRLRRLRLLRLLRLRLLLRRLLLRLRRRLLRRRRRLRLLRLLRRRLRRLLRLRRRLRLLLRLRRLRLRRLLRLLRRRLRRLRLLRRLRRLRLLRRLLLLRLLRLLLLRRRRLRLRRRLLLLRRRLRLRLLRLLRLLLRRLRLRLRLRLLRRLLLLLRRRRRLLLLLRLRLRLRLLLRRLLLRRLLLRLRLLLRLLLLLLRLRLRLLLLRRLRRRRLRRLRRLRLLRRRLLLRRLLLLLLLRRLLLRRLRLRRLRRLRLRRLRLRLLLLLRLLLLRRLRLRRRLLLLRRRLLLLLRLLRRRRRLLRLRLRLRLLLRRRRRRLLRRLRLLLLRRRRRLRRLRRLRRLLLRLRRRLRRLRRLRLLLRLRLRLLRLRLRLRLLLLRLRRRLRRLLRLRRLLRLRLLRRRRLLRRRRRLRRLRRLLLLRRRLLLLRRRRLRLRLLRRRRLRLLLLRRRLRLLRRRRRRLLRRLRLLLLLRLRRRRLLLLRRRLRLLLLRLLLRLLLLRLLLLLLRRRLRLLLRLLLLRLRLRRRLRLRLRRLLLLLRLRLRRLRLRRLRLRLLRLRLRRLRLLRRLLLRRLRRLLLRRRLLLRLRLRRRRRRRRRRRLLLLRRRLLLRRLLLRLRRLRRLLRRLRLLLLLLLRLLRLLRLLLLLLLLLLRRLLRRRLLLLRRLRLLLLLLRRLLLRRLLRRLLLRLRRLLLLRLLLRLRLRLRLLRRLLRLLLLRLRRRRRRLRLLRRRRRRRRLLRRRRRRLRRRRLRLRRLLLRRRRLRRRLLRLRRRRLRRLLLLRRLRRRRLRRLRRLRLLRLRRRRRRLLLRRRLRLLRLLLLLLRLLLRRLRLRLRRRRRRLLRLRRLRRLRRLRLLRLRLRRRRRLLRLRLRRRLRLLLLRRLLLLRRRRLLLLLRRRLLRRLLLLRRRLRLRLRRRLRLLRLLLLRRRRLRLRRLLLRLLLLRLLRRRLRLLRLRLRRLRRRLRLRLRLLRRRRRRRLLRLLRLLLRRLRLLLRRRLRRRLLLLRRRLLRRLLLRRLRLRRRRLLLRRLLRRLRRRLLLRRRRLRLRRLRRLLRRLRLRLLLLRRLRRLLLRLLLRRRLRRLRRLLRLLLLRLRRRLLRLLLRRRLLRRRLRRRLRLLLLRRRRLLLRRLLRRRLRLLLRLLLRLRLLRLLLLRRRLLRRLLLLLRLRRRLLLLLRLLLLRRLLRRRRLRLRLLRRRRRLRRLRRLLRLLRLLRRLLRRLRRRLLRRRLRRRLLLLLRRRRLRRLLRRRRLLRRLRRRRRLRRLLRLRLRLLLRLRLRLRRLLRRLLLLRLLRLLRLRLRRRRLRRRLRLLRRRRLRLLRLRLLLRLLRLRLRLLRLLRRRRLLRRLLRRLRLLLRLLRRRLRRRLRLLRLLLLRLRLLRRLLLLRLRRRLLRLRRLRLLRRLLRRRRLLRRRLRRLRLRRLLRRLLLLRRRLLLLRLRRLRRRRRRRRRLLRRRRRLLLRRRLRLLLLLLRLLRLLRRLLLLLRLRRRLRRLLLRLLRLRLLLRLLLLRLLRLLLRLRRRLLLLLLLRRLLLLRLRRLLRLLLRLRRRRLRRLRLRLLRLRRLRLRLLLRLLLRRLRRLRRLLLRLLRRRLRRLLRRRRRRLLLRLRLRRLRRRRLLRLRRRRRRRLRRLRRLLRRLRLLLRLLLLLRRLLLLRRLRLRRRLLLRRLLLRRRRRLLLLLLLRRLLRLRLRLRLLLLLLRLRRLRLLRLLRRLLRRRLRLRRLRRLRLLRRLRRLRLRRRRLRRRLLRLRLLLLLLRRRRLRLRRRRLRLRRRLRRLLRLLRRRLRLLRLLRRLLLLLRRRRLRLRLLRLRLRRRRRRLLLRLRLLLRRLRLLLLRRLLLLRLRRLLRLRLLLLLLLLLRRRRLLLRRRRRRRRLRRLLRLRRLRRRLLRLLLLRLLRLRLLLLLRRRLRRRRRLRLLLRRRRLRLLLRLLRLRLLRLLLLRLLLRRLLRRLLRLLRRLLRLRLRLRRRLLRRRLRLRLRRRLRRRLRLRLRLRLLLRRRLRLLLLRRRRLLRLLLLRLRLRRRRRRRLRRRLLLRLLRLRRLLRRRRLRRLRLRRRLLLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRLRRLRRRLLLLRRLRRRLRRLLRLRLLRRRRRRRRLLRLRLLLLRLLRLRLRRLLRLRRLLRRRRLLLLRLRRLLRLRLLLLLLLRRRLRRLLRLLLLLLRRRRRLRLRRRLLLRLLRRLRRLRRRLLLRLLRRRLRRRRLRLLRRRLRRLLRLRRRRRRRLRLRLRLLLLRRLLRRRRLRRLLLLRRRRLRLLRLLLLRLRRLLLRRRLLLRRLRRRLLLRRRLRRLLLLLRLLRRRLLRRLLRLLRRLRLLLRLLRLRLLRLLRRLLLLRRRRLRRLRLRLRRLRRLRLRLRLRLLLRLLRRLLLLRLLLRLRLLRLLLLRLLLLRRRRLRRRLRRLRRRLLLRLLLLRRRLRRLLRRRRLRLRLLLLRRRRLRRLRRRLRRRRRRLLRLRLLLLRRLRRRRLRRRLRLRRRRLRLLLLRRLLLRLRRRRLLRLRRRRRRLRRLRRLLLLRRLRLLLRRLLRRRLLLRRLLLRLLRRLLRLLRRLLRRLLLRRRLLLRRLLLLRRLLLLLRRLRLLRLLRRRRRLRLLRLRRLLRRRRRLRLLRLRRLLRLLRLRRRRRRLLLLRLLLLLLLLRRRLRRRLRRRRRLLRLRLLRRRRLRLLLLRRLLLLRLRRRRRLLRRRRRRRRRRRLLLRRRRRLRRLRRRLRRLLRRLLLLLRRLRLLRLLRRLLRLLRRLLRLLRRRLRLRLRRRLRRLLRLRRLRLRRRRRRLRLLRLLRRRRLLRLRLRRLRLLLRLRRRRLLLRRRRRRRRRLRLRRRRRRLLLLRLRLRRLRRLRLRLLLRRLLRRRRRRLLLRLLRLRRRRLLRLLLRRRLRLRRLLRLRLRLRLLLRLRRRRRLLLRRRLLRLLRLRLLRRRRLLLLLRRRLRRLRRRLRRRRLLLRRLRRLLLLRRLRRRRRLRRLRLLRRRRLLLLRLRRLRRRRRLRLLLLRLRLRRRRRRRLLRRLLLRRRLLLRRLRRRRRRLRLLLLLRLRRRRRLLLRLRRLRLLRLLLRRRLLLRLRRRRLRLRLLRLLLLLRLLLLLLLLLLLRLLLLLRLLLRRRLLLLRRLRLRRLLLLLLLLLLLLLRLRRLLRRRLRRLRLRRLRRRLLRLLLRLLLRLRRLLRRLRRLRLLLLLLRRRLLLLRRRLRRLLLRLLLRLLRLRRLLLLRLLLRRLRRRRLLLLLRLRRRRLRRLLRLRRRLLRRLLRLLRRRLLRLRRRLRLLRLRLRLRLRRLRRRRLRRLRRLRRRLRRLLLRLLLLLRRLRLLRLLLRLLLLRLRLRRRLLRLLRRRRLLLRRRLRRLLLRRRRRRLRLRRLRLLLLLRRRLLRRLLRLLLLLLLLRRRRRLRLLRLLRLLLLLRRRRLLRLLLRRRRRLRLRLLLRLLRLRLLLRLLRRLLRLLRLLLRRRLRLLRLLRLLRLLLRLLLRLRLRRRRLLRRRRLRLRLRLLLRLRRRRRRRLLRRLLLLLRLRLLLLLRRLRLRLLLRRRLRLLLRRRRRLLLRRLRRLRLRLLRRLRLLRLLRLLRRLRLLLLLRLLLRLRRRLLLRLRLRLLRRRRRRRRLLRRRLRLRRLLRRRRLRLRLRLRLRRRRRLRLLRLRRLLRRLRLRLRRRLLLLRLLRRLLRRLLLRRLRRLRRLRLLRRRRRLRRRLRRLLLRLLLLRLRLRLLRLLLRRRLRRLLLRRRRLLRLRRRRRLRLRLLRLLRLLLRRRRLRLRRLLRRLLLLLLRRLRRRRRLRRLRRLLRLRLRLRLRRRLLRLRLRLRRRLRRLRLRLLLLRRLLLLLRLLRRLLRLRLLRRLRRRRRRRLRLLRLLRRRLLLLLLRLRLLRRLRRRLRRLRRLLRRLRLRLLLRLRLLLRLLLRLLLRLRLRLRLRRRLLRLRRLLRLLRRRLLRRRLRRLLRLLLRRLRLLLRLLLLRLLLLLRRRRLRRLLLRRRLRRLRLRRRLRLRRLRLLLRRRRLLRRLLLRLLRRLLRRLLLLLRLLLLRRLRRLRRLLLRRLLRRRRLRRRLLRLLLLRLLLLLRLLLLRLRLRRRLLRRRLRLLLRRRLLLRLLLLLRRLRLLRRLRRRLLRLLRRRRRRLLRLRRRLLLLRRLRRLLLRRRLRRRRLRLLRLLLLRLLLLRRRRRRRLRLRLRRRLRLRLRRLRLRLRRRRLLRLRLLLLRRLLLRRLLRLRRLRRLRRRLLRLRLLRRLRLLRRRLRRRLLLRLRLLRLRRLRLLRLLRLLRLRRLLLLLRLRLLRLRRLLLRRLRRLLRRLRRLRLRLRLLRRLLLRRRRRLLRLRRRLRLLLRRLLLRRRRLLRRLRLLLLLRLRLRLRLRRLLLLLRLRLRLLLLLLLLLRRLRRLRLLRRRLRLRLRRRRRRLLRRLLLRRRLLLRRRRLRRRLLRRRLLRRLRRLLLLLLLLLRLRRLLRRRRRRLLLLRLLLRLLLLRLLLLRLRLRRRRLRRRLLRRLLLRRLLRRLRLLRLRLLRRLRRRLLRRRRRLLRLLLLRLLRRRRLRLRLRLLLRLLRLLRLRLRRRLRRRRLRRLRRRRLLRRLRRRLRLRLRLRRRLRLRLRLLLLRRRLRLRLRRRRLLLLLLLLLLLLRLLRLRLLLLRRRLRLRLLLLLLRRRRLRLRLLRLLLRRLLLRLLLRLLLLLLLLLLRLRRLRRLRRRLLLLRLRRLRLLRRLLLRLRLLLRLLRRRLRRLRLRLRRRLRLLRLRLRRLLRRRRLLRLLLRRLRRRLRRLRRRRLLRLRLLLRRRLLRRRRLRRRLRRRLLLRLLLLRLLRRRRRLRLLLRRLLRLRLRLRRLLRLLRLLRLLRRRLLLRRLRLRRRLLRLLRRLRLRRLRRRLLLRRLRLLLRRRLLRRRLLRRLRRLLRLRLLRRLRLLLLLRRLRRLRLRLRLRLRRRRRLLLLRLLRLLLLRLLLLRLLLLRLRRLLLRRLLRLLRRRRLLRLRRRLLLRLRLLLRRRLRRRLLRRRLRRRLLLRRLRRRRLRRLLRRRRLRLLLRLRRLRLRLLLLLRLRLRRLRRRRLLLRRLRLLLLLRLRLRLRRLLLLLLLLLRRRRRRLRLRLRLLRLRRLLRRLRLLRLLLRLRLLRLRRLLRLLRLLRRLLLRRLLLRRLRLLRRRLRRLLLLRLLRRLLLLLRLRLRLRLLLLLLRRRRRLLLLRLLLRLRRLLRRRLRLRLRLLRLLLLRLLRLLLRLRRRLRRRLRRLRRRLRRRRRRRLLRRLLLLRLRRLRLRLRLRRLLRLRLRLLLLRLRRRRRLLRLRLRLLLRRRLRRLLRLRRRRRRLLLRLRRRLLLLLLRRLLLLRLRLRRLRLRLRRLRRLRRRLLRLRRRRLRLLRLLLRRLLLRRLRLRLRRLLLRRLRRLLLLLRRLRLRLRRLLLLLRLRRRRLRRLRLLLRRRLLRLLRRRLLLRLRRRRRLRLLLRLLLLLRRLLRLLRRLRLRLRRLRLLLRRRRRRRRLLRLRLLRRRLRLLRRLRLLLRRRRRLRLRLLLRRRRRLLLLLLLRRRLRRRLLRRLLRRLLLLLLLRRRLLRRRLLRRLLLLRLRRLRLLRLRRRLRRLRRRLRLRRLLRLLLRRLLRLLRLRLLLLLLLLRLRRRLRLLLLRRRLLLRRLRLRLLRRLLLLRRLRRRRLLLLRRLLRLLLLLLLLRRRLRRRLLLLLLRLLRLLRRRLRRLLRLRRLRLRLRRLLLLLLRLLRRRLRLRRLLLLLLLLRLRRLRRLLRRLRRLRLLRLLLLRRLRLRLLLRLLRRLLRRLLRRLLRLRRLRLLRLRRLRLRRRRLLRLLRLLLLRLRRRRRLLLLLRRRRRRLRRLLRLRRLRRRLLLRLLRRRRLRLLRLRRRRLRLLLLLRRLRRRRRLLRRRRRLRLRLLRRRLRRRLRLLRRRLRRLRRRLRRRRLLLLLRLRLLRRRRRRRLRLRLLRLRLLLRRRLRLLRLLRLLLRRLRRRRRRRLRRRLLLLLRRRRRRLLRRRRRLLRRRRLRLLLRLRLRLLLRLRLLRLRLRRRLLLLRRRRLLRLLRLLRLRLRLLLRRRRLLRLRLLLLRLRLLRLLLRRRLRLRLRLLLRRRRLLLRLLRLRLLLLLLRLRLLLLLRRRRLRRRLLLRRLLLRLRRLLLRLRLLLRLLRLRLLLRRLLRLLRRRRRRRRRLRRRRRRLLLLRRRRLRRRRRLRLRRLLLLLLRRLRRLRLLLRLRRRRRRRRRRRLLRLRLLRLRRLRLLLLRLRRRLLLRRRLRLLLRRRLRLLRLRRRLRRRRLLLLLLRLRLRRRLRRRLRLRLLRRLLLRRLRLLRRLLRRRLLRLRLLLLRLLLLRRLRLRLLRLLLLRRRLLRRRLLRLRRRRRLRLRRLRLLLRRLLRRRRRRLLRLLRLRLRLLLRRLRRLLLLRRRRLLRRRLLRLRLLRRRRLLRLLLLRRRRLRRLRRRLLLRRLLRLLRLLLRRLRRRRRLLRRRLLRLRLRRRRLLLLLLRLLRLRRRLRLRRRRLLLLLLRLRLRRLLRRRLLLRLLLRLLRLRRRLRRLRLRRLRLLLLRRRRRRRRLRLRRRRRRLLRLLRLRRLRLLRRRRLRRRRRLRRLRRLRLLLRRRRRLRLLRRLRLRLRLLRLLLRRLRLRRRLLLRLRLRLLLRLRLRLRLRRRLLRLLLLLLLLLLLLRLRRLLLRLRLRLLRRRRRRRLLLRRRLLLLRRRLLRRRRLLRRLRLLRLLLLLRLRLLLRLLLRRRLRRRLRRLLRRLLRRLLRLLRRRRRRLRLLLLLLRRRRLRRLRLLRLRRRLLLLLLRLRRRRLRRRLRRRRLRLRRRLLLLLLRRRLRRLRRRLLRLLLRLLLRLRRRRLLLLLLRLLRRLLRRRRRRRRRLRLRLLRLLLLLRRLRRLRRRLRLRLLRRLLLLLLRLLRRRRRLRLRRLLRRRRLLLLRRRLRLLRLLRRLRRLRRLRRRLLRLRRRRRLLRLRLRLLLRRRLLLRLLRLRRRLRLLRLLRLLRRLLLRRLRRLRLLLLRRLRRLRRRLLLLLLRRLLLRLLLLLRLRLRLLLLRRLRLLLLRRLRRRRRLLLLLLLRLLLLRLRRLRRRRLRLLRRLRRRRLLLRRLLLRLLLLRRRRRRLLRRRRRLRLLRRRLRRRRLLRRLRRLLLRLRLRLLRLRLLLLRLRLRRRRLLRLLLLLLLLLLRRRRLRLRLRLRLRLRLRLRRLRLLLRRLLLLLRLLLLRLLLLLRLRLLRLLRLLRRRRLRRRLLRLRLRRRLLLRLLLLLLLRLRLLRLRLRLRLRRLLRRRLLRLLRRRRRRRLRLLRRLLRLLLLRLRRRLLRLLLRLLLLRRLRRLRLRRLLRRLRRRLLRRRLLRLRRLLRLLRLLRRLRRRLRLLLLLLLLLLRLLRRLRLLLLLRLRLLRRLRLRRRLRLRLRRRRLRRRRLRLRLRLRLLRRLRRLRLRRLLRLRLRLRRRRLLRLRLRLLLRRRLLLRLLLRLRRRLLLRLLRRRRLLLRLRRLRRRRLLLLRRRRLRLRLRRRLLRRRLLLRRRLRRRLRLLRRLRLLRRRRLLRRLLRLRRRLRRLRLLRLRLRLRRLRLRLLRRLRLRRLRRRLRLRLLRLLLRRLRLLLLRLLRLLRRRRRRLLRRLRLRRLLRLRLLLRLLRLLLRLLLLRRRRLRLRLLLLRLLLLRLRRRRRRRLLRRRLRLRRLRRLLRLLRRRLRRLLLRRRRLRRRLRRLRRLRLRLLRRRRRLRRLRRLLLRLRLRLRLLLRRRRLLRRLRLLLRLRRRLLRRRRRLRRRLLRLRLLRLRLRRLLRRRLRRRRRRLRLRRLLLRLRLRRLRRRLLRLRLRRLRLRLLLLLLRRRRLLLLLRLLLLRLLLLRLLLRRRRLRRLLLLRRLRRLRLRLLLLRLLRRLRLLRLRLLLRRRRLLRLLRLLRRRRRLRRLLLRRRLLLLLRRRLLLRRLRRLLRLLLLLRLRLRRRRRRLRRRLLRLLRRRLLRRLRRLLRLLLRRRLRRRRLLRRRRLRLRRLRRRLLRRRRRLRLLRRLLRLLLRRRRLRLRLRLRLLLRRLRRRLLRLRRLLLLLRLLRLLLRRLLLRLLLLLLLLLRRRLLLLRRRLRRRRRRRRRLLRLRRRRLRRRLLLLLRLLLLRLRLRLRRLLRRLRRRRRRLRRLLRLRRRLRRLRLRRLLLRLLLLLLRRRLRLRRLRRRLRRLRRRLLLLRLLLLLLRLRRRLLLLRRLRRLLRLLLRRRLRRLRRLRRLLRRRRRLLLRRLLLLRLRRRLRRLLRLRLLRLRLLRRLRLRLRRLRLRLLLRLRLLLRRLLRLLRRLRRLRLRRLLRLRRLRLLRRRLLLLLRLRLRLLRLRRLRRLLLRRRRRRRLRRLRLLLRLRLRRLLLLRRRLLLLLRRRRRRRLRLRLRRRLLRRRRLRRRLRRRLRLLRRLRRLRLRLRRRLRLLLLLLLLLLLLRLLRLLLLLLRLRRRLRRLRLRRRLRLRRRLRLLRLRLLRLRLRRRRRLLRLRLRRLRRLRRLRRLLLLLRRRLRRRLLLLRRLRLLLRLRRLLLRRLLRRLLRLLRRRLRLLRRLLLLLRRRRLRLRLLLRLLLLLRLRRRLRRRLRRLRLRLRLRRLRLRRRRLRLRRRRLLRLRRRRRLLRLRLRLLLLLLRLLLRLRRLLLLRRLLLLLRLRLLRLLRLRRRLLRLRLRLRRLRRLLLRRLLRLRRLRRLRLRLLRRRRLLLLLRRRRLLRRLRLRLLRLRRRRLLLRLRLLLRRRRRRLRLLLRLRRRLRRRRRLRLRRRRRLLLLRLRLRRLRRRLLLLRRLLRLRLLRLLRRLLLLRRLRRRLRLLLLLRLRLLLLLLLLRRLRRLRRRRRLLRLLRRLLLLLRRLRRRLRRLLRLRRLLRLRRRRLLRRLRLRRLLLRRRLLRRRRRLLRRLLRRRRRLRLLRRRRRRLRRRLRLRLRLRRLLRLLRLRRLLLLLLLRRLLRLRLLRLLLRRLLRLLRRLRLLRLLLLRRRRLLLLLLLRRLRLLLLRLLRLLRLRRLLLRRLLLLLLLLRRLLRRLLRRLRLLLRLRRRRRLRRRRRRRLLRLRRRLLLRRLRRLRLLRLLRLLRLRRLRLRLRLLRRRLLLRLLRLLRRLRRRRLRRLLLLLLRRLRLLLLLLRRRRLLRRLRLRLLLRRRRRRRRRLLLLRLLLLRRLLRLRRLLRLLLRLRLLRLRRRRLLLLRRRRLRRLLLLLLLLLLRRLRRRLLRLRRRLRRRLLLLRLRLLLLRLLRRLRLLLLLRLLRRRRLRRLLRRLLRRRRRLLRLRLRRLLRLLRRLRLRLRRRRLRLLLRRLRRLRLRLLRLLLRLLRRRRLRLRRLLRLRLLLRRRLLRRLLRLRLRLRLRLRRLLRRRLRLRRRRRLRRRRRLRRLRLRLLLLRRRRLRRRRLRRLLLRRLRLLRRRLLRRLLLLRLRLLRLLLLLLLLLLRRRLLRLRRLLRLRLRLRRLRLRRRLRLRRRRRLRLRRLLRRLLLLRRLLRLLLLLRLLLLLLLRRRRRLRLRLRRLLRLLRRRLLRRRLRRRLRLLLRRLLLRLLLLLLLRRRRLRRLRRLRRLRLRRRLRRLLLLRRRLLRRRRRLRRRLRLRLLRRLLRLRRLRLLRLRLRRLLRRLRLLRLRRRLRLLRLRRLLRRLRRLRRLRLRLLLRLLLRRRRLRRRRLLRRRRLRLRLRRLLLRLLLRRLLLLRLRRRLLRRLLRRRRLRRLRRRLRRRRLRRRLLRLRRRRRLRLLLRRRLRRRRLRRLLRRRRLLLLRRRLLLLLRLRRLLLLRRRRRRLRLLLLRRLLRLLRRLRLLRLRRRRRRLRRLLRLLLRRRRRRLRRLLRLLLLRLLLLRRRRRRLRLLRLLRLRRLRLLLLLLRLLRRLLLRRRRRRRRLRRRRRRRRRRRLLLLRRRLLRRLLRRRLLLLLRLRRRRRLLRLRRLLRRRRRLRRRRRLLLLLLLRRLLRRLLRRLLLLLRLRLRRLLLLRLRRRLLLRRLLRLLRLLRRLLRLLLLLLRLLLLRLRLLLRLLRRLRRRLLRLRLLRRRLRLRLRRRLLRRRRRRRRLRLLLLRRLRRRLLRLRLLRLRRRRRLRRRLLRLLRRLRLRLRLLRLRLLLRLLLRRLLRRLLRRRLRRRRRRRLLRRLLLRLRLRRLRLRLRRRLRRRLLLRRRRRLRLRRRRLRRRLRRLRLRRLRLLRRRLRLLRRLLRRLRRLLLRLRLRRRLLLRLLLLRLRLRLLLRRRRRLRRRLLLRRRLRLRRRRRRLLLLRRRLRLRRLLRLLRLLRRLLLLLRRLRLRRLRRRLLLLRLLLRRLLLLLRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLLLLRLRLRRRRRLRLLLRRLRLLRRRRRLLLLLLLRRRRLRRRLLRRLRRRLLRLLRLLRRLLLLRRRRLRRLRRLRLRRLRRRRLLLRRLRRRRRRRLLLLLLRRLRLRRRRRLRRLLRLLLLLRRRRLRLRLLRLRLLLLRRLLRRLLRLLRLRRLLLRRLRLRLRRRRLRRRLLLLLLLRRLRLLLLRRLRRRRRRRRRLRRRRLLRRLLLRLLLLRRLRLLLLRLRRRRLLLLLRLRLRRRRLRLRLRRRLRRLRLRLRRRLRLRRRLLLRLRLLLLRLRRRLLRLRLLLRLRRRRRRLLLRRRLRRRLLRRRRLRRRLRLRRLLLRRLLLRLLRLRLRRLLRRRRRLLRLLRLLLRLRLRLRLLLLRLRRLRLLLLRRLRLLLRRRRLRRRRLLRRRRLLLLRRLRRRLLRLRRRRLLRRRRRLRLLRRLRLRRLLLRLLRRLRRRLLRRLRRRLLRRLLLRRRLLRRLLRRRLLRLRRLLRRRLRRLLLLRRRLLLRRRLLRRLLRLLLLLRRRRLLRLRLRRRRRLLRRLLLRRLLRRLLRLRRLRLLLLRLLLLRRLLLLRRRRRRRRRRRLLLRLLLLLLLRLLRRLLRRLRRRRRLLRLRRRRRLLLLRRLLLLLRLLLRLRLRRLLLLRLLRRLLRRLRRLLLRLRLRLRLLRLLRRRRLRRRLLLLLRRLLLRLRRRLLRRRLRRLRLLLLRLRLLRLRLRLRRRLLRRRRRRRRLLRLRRRLRLLLLRRLRLLRLRLRLRLRLLLLLLLRRRLRLLLRRLLRRRRLLRLLRRLRRLLLLRRRRRLLLLLRRRLLLRLLRRLRRLRRLRLRLLLLRRLRLLRLRRRLLLRRRRRRLRLRRLRLLRRLRRRLRRRLRLLRLLRLLRLRLLLLLLRLLLLRLLRLRRLLRRLRLLLLRRRLLRRRRRLRLRRLRRLRLRRRLLRRRRLLRLLLRLRLLRRRLLRLLLLLRLRRRRRLLRLLLLLRRRLRLRRRRRLRRRLLLLLRRRLLRLRLRLRRLLRRLRLRRRRRRRRRRRLLRRRRLRRRRRLRRLRRLLLRRLRRRRRRLRLLLLRLRRLRLRLLRRLRLRLRRRLLRLRRRRRRRRRLLLRRLLRLLRRRRRRRRLLLRRRLLLRRLRRRRLRLRLRLRRLLRRRRLRLLLRRLLRLRLRRRLLLLLLRLLLRRRLLLRLRLRRLRRLRLRRLRLRRRLRLLRLLLLRRLRRRLLRRLLRLLRLLLLRLLRRLLRRRRLLRLLLLRRRRLLRLLRLLLLLRRLRRLRLLRRRLRLLLLRLLRRLLRLRLRLRRRLLLLRLLRLRRRRRLLRRLRRRLRLLLLRRRRRLLRRRRRLLLLLRRLRLRRLRLLLLLLLLLLRRRRLRLRRRRLLRLRRRLRRLRLLRLRRLRRRRRLRRRLRRRLRLRLLRLLRLLLLLLLLLRRRRRRRLLLLLRRLLLRRRRRRRRRRRRRLLRRRLRRRLRLRLRRRLLRLRLRRLLRLLRLRRRRRLRLLLLRRLRRLRRLRLRRRLLRLRRLLLLRRLRRRLRRRRLLRRLLRLLLLLLLRLLLLRLLRRRLLLRLRRRLLLLLRRLRLLLLRRLLRLRLLRRRLRLRRLLRRLRRLLLLLLLRLRRLRRLLLLLLRLRRLRRLRLRRRLRRRRLRRLRRRLLRLRRRRLLLLLRRLRRRRRRRRRLRRLRLLRRRLLLLRLRLLLRLLRRRRRLRLRLLLLLRLLRLLRRLLRRLRLRRLRRRRRLRLLLLLRLLRLRRLLRRLLRRRRRLRRRLRLLRLLRLLRLLLLLLLRLRRRLRLLLRRRRRLLRLRRLRRRRLLLLRLLRRLRLLRLRRRRRLRRRLLLRRRRRRRLLLRLRLLLRRRLLLLRLRLLRLRRLLRRLLRRLRRRLLRLRRLLRRLRLLRLRRLLLLRLRLRLLLRLLLRLRLLLLRRLLRRRRRLRLLRRLLLRRLRRLRRRLLLRRLRLRLRRLLRLLRRRRLLLLLRLRLLRLLLRLLRLRLRRRRLRLRRLLRRLLLRRRLLLLRLRRRLLLRRLRRRRRRRLRRLLRLRLLLLRRRLLRLLLRRLLLLRLLLLRLLLLRRRRRLLRRLLLRLLRLRRRLLRRRLLLLRRLLRLRRRLLLRLRRLLLLLLLRLLRLRRLRRRRRRLLLRRRLRRLLLLLLLRLLRRLLRLRLLRLRLLRLRLLLLLLLLLRRLRRLRRLLRLLRLRRLLLLLRRRRLRRRRLRLLRRRLLLLLRRLLLLLRLRLRLRRLLRLRLLLLRRLRRLLLLLRRRLLLLLLLLRRRLRLRRRLRRLRRRLRLRLLRRRRRLRLRLRLRRRRRRRLLLLLLLLLRLLRLRLRLLLLRRRLLLLRRLLLRRRLLLLRRLRRRLLRRRLLLLLRRLRRRRRRLLLLLLLLLLLLRRRRLRRRLLRRRRRLRRRRRRLRLLRLLLLRLLRRRRLLRLRRLRRLRLLRLRRRLLRLLLLRLRRLRRLRLLRLLRLRLRLLRRRLLLRLRLLLLRLRRRRLLRLLLRRLLRRLRRRLLLLLRLRLRRLLRRRLRRRLRRLLLLLRLLLLLLLRRLRRRRRRRRLRLLLLRRRRRLLLLLLRRRRLLRLLRRLLLRRLRRLLLRRRRRRRLRRRLRLRLRRLRLLRLLRLLRRLRRLRLLLLRLLRRRRLRLRLRRRLLLLRRLRLRLRLRLRRRLLRLLLLRRLLLLRLRLRRLLRLLRRLLRLLLRRRLLRRRRRLRRRRRLRRRLLRLLLRRLRRRRLLLRLLLLLRLRLRLLLLRRLRLRLLLRLRRRRRLLRLLRRRRLLRRLLLLRRRRRLLRLRLLLLRLRRRLLLRRRRLLLRRLLLRRLRRLRRRRLLLRLLRRRRRRRLLRLLLLRLRLRRRLLLRLRLLRRRRRRLRRLLRLRLLRRRRRRLRRRRLRLLRRLRLLRLRRLRLRRRRRLLRRLRLLRLLLLLLLRLLLLRRLLRLLRLRRRRRLLLLLLRLRRRLLRLRLRRRRRRRLRLRRLLLLLLLRLRLLRLRRLLLRRRLRRLLRRRRRRLLLRLLRLRLLRRLLRLLRRLLRLLRLRRRRRLLRRRLLRLLRLLRLRLRRRLLLRRLLRRRRRLLRLLRRRLLRLLLRLLRLLLRRRLLRRRRRRLLLLLLRRRLRRLLRLLRRLLRLLRLRLRRLRLLRLLRLLRRLLLLRRLLRRLLLLRLRLRLLLLLRRLLRLRLLLLRLLRLRLRLRLRLLLRRRRLLLLLLRRLRRRRRLLRRRLLLRRRLLRRLLRRRLRRLLRLLLRLLRLRLLRLRRRRLRRLRLRRRLLRLLRLLLRRLLLLLLLRRLLLLRLLRRLLLRLRLLLRRRLLLRLLRLRRRLRRRRLLLLRRRRRLRLLRLLLLRRRRRLLLLRLRRLLLRLLRRLLLLLLLLRRLRRRLRLLRLLLRLRRLRLLLLRLRRLLLRLLLRLRRLLLRRLLLRLRLLRRLRRRLLLLLRLLLRRLLLLRLLRLRRRRLLLRLRLRLRLLRLLRRRRLRRLRRRRLLLRLLLRRRLLRRLRLRRRRLLRRLLRLLLRLRLLLRRRLRLLLRRRLRRRRRRRRRLRLRRLLRLRRRRLLLRRLRLRRRRLLLRRRRRRLRLLLRRRRRLRRRLRRRLLRRRLLLLLLLRRRRRRLRRLRLRLLRLLLLLLLRRLRLLRRRRRRLRLRRRLLLRRLLRRRRLRRRLRLRRLLRLRLRLLLLRLLRLRRRLRLRRRRRLRLLLRRLLRRRRRRRRRLRLRRLLLRRRRLLLLRLLRRLRRRRLLLLLRRRLLRRRLLLLLRLRRRLRLLLLLLRRRLRRLRLLLLRRLRRRRRLRRRLLRRLLLRLLLLRLLLLLRLRLRRLRLRLLLLLRRLLRLLLRLLRRLLLLRLRRRRRLRLLRRLRLLLLRLRRLLLRLRLRLRLRRLRRLRRRLLRLLLLLRLLLLLRRRLRRLLLRLRRLLLLLRRLRLLRLLLRLRLRLLRRLRLRRRRLRRRLLLRLRRRLRLLLRLRRRLLRLLLLRLLLRRLRRRRRLRRLRRLLLLLLLRLLLRLRLRLLLLRLRLLRLLLRRLRRRRRLRRRLRLLLLLLRLRLRLLRRLLRLLLRRLRLRRRLRRLLLRRRRLRRLRRRLRLRLLRRRRLLLLLLRRRLLLLRLRLLRRLRLRRLRRRRLLRLLRLRRLLLRLLLRRLLLLLRRLRLRLRRLRRRRRRRLLLRLRRRLLLRRRRLLRRLRRLRLRLLRLLRLRRRLRLRRRRLRRRLLRRLRRLRLLRLRLLRLLRLLRRLLLRLLLRRRLRRRRRRLLRLLLRLRRRRLLLLRLLRLLLLRLLLRLLLRLLLLRLRRLLRRLRLLLRRLRLLRLRLRRRLLRLRRRRRLRLLRLLRLRRLRLRRLRRLRRRLLRLRLLLRLLRRLLRRLLLRRLRLLRRRLLRLLRLLLRLLLRLLRLRLLLLRRRRRRLLLLRRLRRLRRRLRRRLRRRLRLLLRRLLLLRRRLRRLLRLRRLRLRLRLLLRRRLRRRRRLLRLLRLLLRRLLRLLRRRRRLRLLRLRRRLLLRLLLRLRLRRLLLLLRLLRLLLRLRRRLRRRRRLRLLLLRLRRLLRLLLRRLRLLLLRRLRLRLRLRLRRRRLLRRRRLRRLRRRLRRLRRLLRLLLRRLLRLRLLRRLLRRRRRRLRLRRLLLLRRLLRLRRLRRRRLLRRRLRLRRRLLLLLRRLLRLRLLRLLLRRLLRRRLLLLRLRLRRLRLLLLLRLRLRRLRRRLRRRLRLRRLLLLRRRLRLLLLRLRRLLRRRRRRLLLRLLLRLRLRLRLRLRRLLRLLLLLRRRLRLRLLLRRLRLRLLLRRRLRLRRLLRRRRLLRLLRRLLRLRLRRLLRRRRLRLRRLLLLLRLRLLRRRLLLRRLRLLRRRRRRLLLLRLLLLLLRLLRRLRLRLLLRRRRRRLLRLLRLRRRRRRLLLRRRRRRLRRLRRRLRLRLLRLLRLRRRLLLLRRRLLRLRRRRRLLRRRLRRRRRLRLRRLRLRRLRRLRRLLLRLLLRLRRLRRRRLRRLRRRLLLRLLLRLRRLRRLLLLRRRLLRRRLRLRRRLLLLRRLLLLRLRRRRLLLRLRLLRRLLRRLRRRLRLRLRRLLRRRRRLRRLRLLLRRLRLRRRRRRLRRLRLRLRLLRRRRLRLRRRRLRRRRRLRRRRRRLRLLRLRRRLRLRRRLLLRLRRRLRRRLLLRRLLRRLRRLRLLRRRRRLRRRLLRLRLRLRLRLLRRLLRLLLRRRLRLLLRLLRRRLRRRLRRRLRLRRRLLRRRRLRLRLLRLLRLRRLRRLLLRLLLRLLLRRLRLLRLRRRLRRLLRRLRRLRRRRRRRRLLLRRLLLLRLLRRLRRRRLLRLLLLRRLRRRRLLLLLLLLLLRRRLRLRRLRRLLRRRLLRRLRLRLRLRLLLRLRRRLRRRLRLLLLLLRLLRRLLLRLRRLRRLLRRRLRLLRLRLRRRRRLLLLRLRLLLLLRRLLRRRRRLRLLLLRLRLLLRLRRLLLRLRLLRRRRLLLRLLRLRLLLLLLRLLLRRRRRLRRRLLRRLLLRRRLRRLRRRRLLLRRRLLRRLLLLLLLLLLRLLRLLRLRRRRRRRRLRRRRLRLRLRRLLRLRRLRRRRRLRLRRLLLLLLRLLRLLLLRLRRLRLLRLLRRRLLLLLRRRLLLLRRRLRLRRLLLLRLRLLLRLLRLRLLRLLRLLLRRRLRRRLLLLRRLRRRRRLLRRLLLRLLLLLRLLLRRRRLLRRRLRLLRRLLLLLLLLLLRLRRRLLRRRLRRLRLLLLRRRLRLLRRLRLRRRRRRRLLRRLLRLRRRRRRRRLLRLRRLLLRRLRRLRLLRRRRLRLRRRRLRRLLRLRLLRLRRRLLLRRRLRRLRLRLLLLRLRLRRRLLLRRLRLLLLRRLLRLLRRLRRRRRLRRRLLLLLLRLRRLLRLRLLLRRLLRRRRRLRRRRLRRRLRRRRLLLRRLRRLRLLLRRLLRLLLLRRLLRRLRLRRLLLRLRRRLLLLRLLLRLLLRRLRLLRRRLLLRLRRRRLLRRRLRRLLRRRRRRLLRRRLRRLLLLRLLLLLLRRLRLRLLRLLLRRRRRLRRRRLRLLRLLLRRRRRLLRLLLLLRRLLRLLLRRLLLRLLRLRLLRRLRRLLLRRRLLRLLRRLLRLRRRLRRLLLRRRRLRRLRRRLRLLLLLLRLRRRLRRRRLRRLRLLRRLLRLLRRLLLRRLLLRLLRRRLRRLRLRRLLLRRLLRLRRLLLRRRRRLRRRLRLLLLRRRLRLLRLLRLLRLRLRRLRRLRLLRRRRRRLLLLLLRRLRLLLLLLRRLRLLRLLRRLRLLRRLLLRRLLRRRRRLRRRRRLLRLLLRLLRLRLLLRRRLLLLLRRRLLLRRRRLLRLRLLLLLLRRRLLRLLRRRLLRRRLLRRRRRRRRLLRRLRLLRLRRLLLLRLLLRLRLRRLRRLRLRRRLLLRRLRLRLLRLLRLLRRLRLRRRLRLRLRLRRRLRRRLLRRLRLLRRLLLLLLRLRLRRLLLRLRRLRRLRRLRLLLRLLRRLRLLLRRRLRRLLRLLLLLLLLRLLRRLLRLRRLLLRLRLRLRRRLRLLLLLLRLRRRLRRRLRRLRRRLRRLLLLRLRRRRLRRRLRRLLRLRLLRRRLRLLLRRLRLLLRRLLLRLRLRRRLRLLLRRLLLRLRRRLLLRLRRLLRRRLRRRRRLRRRLRRRLRRRRLRLLLLLLLRLLRLRRLLLRLRLRLLLLLRRRRRRRLLLLLLLLRRLRLRRLRLLLLLLRRRRRRLLRLLLRLLLRLRLRLRLRRRRRLLRRRLRLLRLLLLRRRLLLRRLRRLRRLRRRLRRLLLRRRRRRLLRRRRLLLLLLRRLLRLRRLLLRLLRRRLRLRLLLRLRRLLLLLRLLLLLLRLRLLLRRLLRLLRLLLRLRRRLLRLRLRLLRLLRRLLRLLLLLRRLLLRRRRLLRRLRRLRRRRLLLLLLRRLLRRRRLRLLLRLLRLRRRRRLRLLRRLLRLLRRLLLRLLLLLLRRLLLLRLLLRRRRLLLLLLLLLLLRLRLLRLRRRLLLRLRRRLRLLLRLRRRRLLRRLLRLLLRRLRRRRRRRLRRLRRRRRLLLLRRRLRRLLRRLRRLLRLLRRRLRLLLRRRLRLRRRRLRRRLLLLLLLRLRRLLLLRRRRLLLLRLLRRRRLRLRRRRRRRRLLRLRLLLRLLRLRRRLRRRRRRLRRLRRLLRRRRLLRRLLLRLLRRRLLRLLLLLRRLLLRLLRRRRRLLRRRLRRRLLRLRRRLLRLLRLRLRRRRRRRLRLLLLRLRLLRRRRRLRRRRLLRRLRRLRLRRRLRLRLRRRLLLRLRLLLLLLLLLLLRRLRLRLRLRLRLLLRRLRLLLLRRRRRRRRRLLRRRLRRRLRLLLLRLRLLRRRRRRRLRRLRRRLLRRRRLRLRLLRLRLLLLLRLRLRRLLRLLRRRRRLLLLLLLRRRLLRRLRRRRRRLLLLLRRRLRLLLRLLRLRRRRRLLRLLRRRRLRLLLRRRRRRRRRLLLRLRLLRLLRLLRLLRLLRLLRRRRLRLLRLLLLRLLLLRLRLRLLLRLLRRLRLRRLLLRLLRRRLRLRRLRLLLRLRRLRRRLRRLRLLRRLRLLLLRRLRLLLLLLRLLRLRLLRLLRRRLRLLLRLLRRLLRRLRRLRLLLLRLLRRLRRLLLRRRLLRLRRRRLLLRRLLLLRLLRRRRRLLRRLLRRLLRRRLLLLRRRRLRLRRRRLLRRRRRRLRLLLLLRLRRRRLLRRLRRLRRRLRLLLLLRLLRRRLRLRLRLLLLLLRLLRRLLRRRLRLRRLRRRLLRRRRLLRLLLLRRRRLRLLLRRLRRRRRLLRLLLRLRRLLLLLRLLLRRRLLLLRRLLRLLLLRRRRLLRRLLRRRRLRLLRRLLLLLRRRLLLLRRRRRRRLRRLRLLLRLRRRRLRLRRLRLRRLRLRLRLRRLLLLRRLLRLLRRRRLRLRRRRRLLLRLRRRRRRLRRLLLRRLLLRRLLLRLRLRLLLRLLLRLLLLLRLRRRLLLRLLLRRLRLRLRRRLLLLRLLLRLLRLLLRRRRRLRRLRRRRLLLRRLLRRLLLRLLLRLLLRLLRLRLLRLRLRRLLLLRLLRLLLLLLLRLLLLLLLRLLLLLRRLRRRLRRLRLLRLRRLLLRLRLLLLLLLRLLRLRLRLLLLLRRRLRRLLLRLRRLRLLLLLLRLLLLRRLRRRLLLLLRLRRRRRRRLRLRRLRRLLRLRRLLRRRRRLRRLRLLLLLRLLLRRRRRLLRRRRRRLLLLRLLRRLLLRLRLLRLRLLRRRRRLRLRRRRRLRRRRLRRLLLLRRLLRRRRRRLRLRLRLLLLLLLLRRRRLLLLRLRRRLLRRLLRLRRRLRRRLRRRRLLLLRLLLRLRRLRLRLLLLRLRLLLLLLLLLLRRLLRLLRRRRLLRRLRLLLRRRRRLRLLLLLRRLRLLLLRRRRRLLRLLRRLRRLLLLRLRLLLLLLRLLLLRLLRRLRRRRLRRRLLLRRLLRLLLRRLLRLRRLLLRRRLRRLLLLRRLLRLLRRRLRLLLLRRRLLLRLRLLLRRLLLRRLLRRLLLRLRLLRRLRLLLRLRLRLRRRRLRLLLRRRRLRRRLRLLLLLLRRRRLRRRLLRRLRLLRRLLRRRLLLRRLLLRRRRRLLLLRLRRLLLLLRLLLRLRRRLRRLLLRRRRRLLLRRLRRLRLLRLLRRRRLLRLRLLRRRLLLLRRLLLLLLLLRRRLLRLLLLLRLLRLRLLLRLRLLLLLLLRLLRLLRRRLLLLLLLRLRLRLLLRLRLLRRLLLLRLRLRRRRLLRLLRRRRLLLLRRLRLRLRRRRLRRRLRLLLLRRLLLRLLLLLLRLLLRRLLRRLLRRLLLRRLRLRLLLLRLLLRRRRLLLRRLRLLLLRLRRRRLRRRRLRLLLRRLLRLRLLLRLRRLRLRLLRLRLRRRRRRLRLRLLLRLLLLRLRRRLLRLLLRRLRRRLRLRLRLRRRRRRLLLRLRLRRRRLLLRRRLLLLLRRLRLRLRRRLLRLLRLLLLRRRLRLRLLRLLRLLLLRRRLLLLLRLLRRRLRRLLLLRLRLRRRLRRRRRRRLRRRLRRRLLRRLLLLRRRLLLLRLLRRRRLRLLLLRLRRLLLRRRLRRLRRLLLRLLLRRLRLRRRRLRRLRLLRRRRLRLLRRRLRLRRLRLRLRRRLRLLLLLRRLRLLLLLRLLLRRRRLRRLLLLLLRLLRRLLRLLRRLLLLRRRLLRLLLRLLRLLRRRLLLLRLLLLLRLRRRLRLRRLLLRRLRLLRRLRLRLLLRRLRRLRRLLLRLLLLLLLLLRRRRLRRLLRLRLRLRLRRRLRLLRRRRLLLRRRLLRLRRRLLLLLLLLLRLLRLLRRLRLRLLLLLRRRRRRRRRRLLRRLRRLLRLRLRLLLRRRRLLLRLLLRLRRRLLRRLRRLLLLRLLLLRRRRLRRLLRRLLLRRLRRLRRLLLRRLLLLRRRLLLRRLRLRLLRLRRRRRLLRRRLLLLRLRLLLLLLRRLRLLRLLLLLRLRLLRRRRLLRLLLRLLLRRLLLRRRRRLLRRRRRRRLLRRLRRRRRRRLRRLRRLRRRLRRRRLLRLRRLLLRLRRLRRRRLLLRLRRLRRLRLRRRRRRRLRLLLRLLRLLRLLLRLRRLRRLLLLRRLRLLLRLRRRRRLRRLLLLLRRRRRRRRLLLLLLRRLLLLLRLRLRRRRLRLLLRRLLRRLLRLLLLRRLLLRLRLRLLRRRRRRLRRRRRLRRLLLLRLLLRLLRLRLLLLLLRLLRRLLRLLLRRRLRRLRRLLRRRRLLLRRLLLRRLRRRLLLLLRRRRRLRRLLLLRRRRLRLLRLRLLRRRRLLRLLLLLLLLLRLLRLRRRLRRRRLRRRRLRRLLRLRRLLLLLRRRRRLLLLRRRRLLRLLLRLRLLRRRRLLRLLLLLLRRRLRRLLRLLRRRRRRRLRLRLLRLLRLRLLRRLLLLLRLRRRLRRLRLLLLRLRLLRRRLLLLLLRLRRLLLLRRRLLLLRRLLLLRRLLLLRRLLRLRLLRRRRRRLRRLRLRRLRRLRRLRLRLLLRLLRLLLLLLRLLLRRLLRRLLLRRRLRLLRRRLRRRRRLRLRRRLRLLRRLRLRLLLRRRLRRLRLLRLLLLRRLLRRRLLRLRLLLLLLLLLLLLLRRRLRRLLLRRRLRLRRRLLLRLLRLRRRRLRLRLRLRRLLRLRLLRLLRRLRRRLRLLRRRLLRLLLRLLRLRLRLRLRRRLRRRRLLRRLLLLLRLRRRLLRRRRRRRRLLLRLRLLRRRLRLLLLLRLLLLRRRRRRRLLLRLLRLRRRLRLRLLLLRLRRLRRLLLRRLLLRRLRLLLRRRLRLRRLLRLRLLRLLRRLRLRRRRLLLRRLRRLLRRRRRLLRRRLRRRRLLLLLRRLLLLRLLRRLLLRRRLLRRRRRLLRRRRLLLRRRLRRLRLRRRRRLRLLRLLRLLLLLLRRRLRLLLLRRRLRRRRRRLLRLRRLRRLRLRRLRLRRRRRRRRRLRRLLRLLRRLRRRRRLRRLLRLRLLLLLLLRLRRLRLRLRLRLLLRRRLLLRLLLRRRRLRLRLLRLLRLLLRLRRLLLRRRRRLLLLLLRLRLLLRRRRLLLLRRLLLLRRLRRRRLRRRLRRLRLLRRRRRRRRRLRRLLRRLLRRLLLRRLRRLRLLRRLRLRRRLLLLLLLRLLLRRRLLLLRLLLLLLLRRRRRRRRRLLLLLLLLRRRRLRLLRRRLLRLRRLLLLRLLRLRLRLLLRRRRLLRLRRLLRLRLLLLLRRRLRLLLLLLRRLRRRRLLLLRLRRLLRRRRLRLRRRRRRLLRLRRLRRRRLRLLRRLLLRLLRRRRLRLLRLLLLRLLLRLRRRRRRLRRRRRRRLLRLRLLRRLLLRRRRLLLLLLRRRRRRLRLLRRLLRLLRRRLLRRLRLLRLRLLLRRLRLRRRLRLLRLRRLRRLRLLLRLLLLRRRLLRRLRLRRLLLRLLLRRRLLLRLRLLLRLRRLLRRLRRLRRLLRLRLRLRLRRLLRRLLRLLLRLLLLRRLRLLLRLLLLLLLLLRRLLRRRRRLLLLRLRLLRRRLLLLRLRLRRLLRLRLLRRRRLLLLLRRLRLLRLLLRLLRRRRLRLLLRRLLLLLRRLRRLLRLRLRLLRLRRLLLRRLLLLRLLLLRRRLLLRLLLRLLRRRRRRRLRRLLLRRRRLLLRRRLLLLRRRRRRRRLRRLLLLLLRLLLLRRRRLLRLRRLRLRLLRRLRLLRRLLRLRRLLRRRRRRLRRLRLLLRLRRLRLLLRLRRLRRRLRLLLRRLRRRRRLLLLLRRRLRLRRLRRRLLRLRLRLRLRRLLLRLLRRRRLRRLLRRLRRLRLLRLRRRLLRRLRLRRRLRLLRLRRRLLRRLLRRLRRLRLLLLLRRRLLRRRLLLLLLLRLRLRRLLRLRLRRRRRRLLLRLLLRRLRLLLLLRLLLRLLRLLRLLRRLLRRRRLRRLRRRRLLRRLRRLRRLRLRRRLRLRRRLLLLLLRLRRLRRRLRLRRRRLRLLRLRRLLRLLRRLLRLRRRRRLLLRLRLRLRLRRLRRRLLLRRLLRRLLLLLLRRLLRRLRRLRLRRLRLLLRRLLRLRRLLRRRLRLRRRLRRRRRRRRLRRRRRRRRLRRRLLRLLRRLLLRLRRRRLRRLLRLLLRLRLRLLLLRRRLRLRRRLLLLLRLLRRLLRLLRLLRRLLLRRRLRRRRLRLLLRLLLLRRRRRLLLLLRRLLRRRRLRLLRLLLLRRRRLLRRLLRRRRLLLLLLRLRLRLLRLLRRLRRLRRLRLLLLRLRLRLRLRLRRLLRLRLRRLLRLLRRLLRLRRRLLLRLLLRLRLRLLRLLLLRLRRLLLRLLRLLLRLRRRLLRRLRLLRLRRLRLRLLRRRRLLRLRRLRLRLLLLRLRRLLLLLLLRRRRLLLLRLRLRLRLLRRRLRLRRLRRRLLRLLLRLRLRLRLRRLRLRRRRLLLRLRRLLLLRLRLRRLLRRRLLRRRLRLRLLLRLRLLRRLRLLRRRRLRRLLRRLLRLLRLRLLLLRLRLLRRLLLLLRLLLRRRLRLRRLRLLLRRLLRRLLRLLLLLRRLLLLLRRLLLLLLRRLRLLLRLLRRRRLLRLRLLRLRLRRRLRLLLLLRLLLRRLLLRRLRRRRLLLRLLLRLLLLRLRRRRRRLLLLLLRLRRLRLRLLRRRRRLLLLRLRRLLRLRRRRLLRRRRRLRRRLLLLRLLLLRLLRLLLRLLRLLLRRRLLLLRLLRRRLLLLLRRRRRLRLRRRRRRLRRRRRRLRRRRRLLLRLLLRRRRRLLLRLRRRRRRLLRRLLRRRLLRLLLLLLRLLRLLRRLRRRRRRRLRRRLLRRRLRRRRRLRRLRRRRLRLLRLRRLLRRLRLLRRRLLLRRLRRLRRLRRRLRLLLRLLRLRRRLLLLLRLRLLRLRLRLRRLLLLLLRLRRRLRRRRRLRLRRLLRLRLLRLLLRRRLRRLRLLRRRLRRRLLLRRLRLRRLRLRLRRLLLLLRLRRRLLLLLLRRRLLLRRLLRLRRLRLLLRRRLLLLLRRRLRLLRLLLRRLLLRLRLLRLRLLRRRRRLRLRRRLLRRRLRLRLLRLLLRLLRRRLRLRLLRRLRRRLLLRRRRRLRLLRRRRRRRLRLLLRLLRLRRRLLRLRRLRLLRLRRRLRLLLRRRLRRLRRLLRLLLRLLRLLLLLLRRLRLRLRLLRLLRRLLRLRRRRRRRLRRRLLLLLLRRLLLRLRLLRLRRLLRLLLRRRRRLLLLLRLLLLRLLLRRLRRLRRRLRRLRRLLRRLRRRRRLLRLRRRLRRRLLLRLLRRLLRLRRLRRRLLRRLRLLLLLLLRLRRRLLLLRRLRRLLRLRLLRRRRRLRLLRRLRRLLLRLLLLRRLRRRRLRLLRRLRLRRRRLLRRRRLRLRLLLRRRLLRLLRLLLLRLLRRLLRLLRLLRRLLRRLLRLLLLRRLLRRLLRLLRLLRLLRRLRLLRRLRLRRLRLRRLRLLRLRRLLLRRRRLLRRLRRLLRRLLRLRRLLLLRRRLRLRLLRRLRLLRLRLRLLRRLLRLLLRLRLLLLRRRLLRLLLRRLRLLRRLRLRLRRLRLLRRLRLRLRLRRRRLRLLRLRRRLLRRLLRRRLLRRLLLRRLLLLRRLLRLRRRLRRLRRRRLLRLLLLLLLRRLRRRLLLLRRRRRRRLRLLLLRLRLLRRRRLRLRLLRRRRLRRRRLRLLRLRRLRLLLRLLLLLRLRLRRLRLLLLLLLRRLLLLLLLLLRRLLRLRLRLLRRRLLLLRLLRLLLLLLRRLLLRRRLLLLLLRLLRLLLLRLRLLRLLRRLRLRLLLLLRRRRLLRRRLLRRLRRRRLLRRRRLLLLLRRRLRRRLRLLLRLRRLLRRRLLLRLRRLRLLLLRRLLLLLRRRLLLLLRLLRRLLLLRRRLLRLRRLLRLLRRRLRLRLLLLRLRLLLLRLRLLRLLLLRRRRLLLRLLRLRLLLLLRLRRRRRRLLLRLRLLLRLRLRLRLRLLRRLRLLLRLRRLLRLRRLLLLLRRLRLRLLLLRLLRRRLLLLRLRRLLLLLLLRRLRRLLLRLLLRLLRLRRLLRRRLLRLRLRLRRLRRLRRLRRLLLRLRRRRRRRRLLLRRLRLLLLLLRRRLRLLLLRLLRLRLRRRLRRRRRLRRLLRRLLLRRRRRLLLLRRLLLLRRRLRLLRRLLLRLRRRLLLRRRLRLLLRRLLLRLRLLRRRRRLLRLLLRLRRRRLRLRRLLLRRRRLLRLLRLRLRRLRLRRLLLLLLLLRRLLLRRRLRLLLRRLLLRLLLRLRLLRLRRRRLRRRLRLRLRRLRLLRRRLRRLRLRLRLRRRRRRLRLLLRLLLRRLLRLRLLLRRLRLLLLRRRLLLRRRLRRRLRRRRRRLLLLRRLRLRLLLLRLRLLLLRLRLRLLLRLLRLRLLLLLRLRLLRRRRRRLRRLRRRRLRRLLLLRLRRLLLRRRRRRLLRRRRRLLRRRLLRRRRLRLRRRLRRRRLRLLRRRLRRRLRLLRLRLRRRLRLRLRLRRRLRLRRLRRLRRRRLRRLRLRRLLLLRRRRLRRRRRRLLRLRLLLRRLLRRRLRRLRLRLLLLRRRLLRLRLLRRLLLLRLRRRLRLLLLLLLRRRLRRLLRRRLRLLRLRRLLLLRLLLLLLLLRRRRLLRLLRLRRRRRLLRRLLRLRLLRLLLRLRLLLRRRLLRRLRRRRRRLLLRLLLLLLRLRLLLRRRRLRLRLLRRLRLRRRLRRRRLLLRRRLLLRLRLRLLLLRLLLLRLLRLRLRRRRRLLRRLRRLRLLLRRLLRLRRRRLRLRRRLRRRLRRRLRRRRLRRRRRLRRLLRLRRLLLRRLRRLLRRLLRRLLLRLLRRRRLLRRLRLLLRRRLLRLRRRLLRRLRLLLRRRRRLRRRRRLLLLRLLLLRRLLRLLRRRLLRRLLRRLRRRRRRRLLRRRLLLLRRLRLLRRRRLLLRLLRRRLRRLLRLLLLLRLRRRRRRLLRRLRLLLLRLLRLLRRLLRLRLRRRLLLLRRRLRRLRLLRLRLRRLRRRRLRLLRLLRRRRLRLRRLLLRLRRRLLLLRLLRRLRLLRLLLRLLLLLLLRLLLLRLLRRRRRRRLLLLRRRLRLRLLRLLRRLLRRRRLRLRRRLLRRLLLLLRLLRRRLLRLRLRRRLRRLRLLLLLRRLLLLRRRLLRLRRLRLRRRLRLLLLRRLRRLLLRRLLRRRLLLLLLLLRRLLLLLRLRLLRLRRLRRRRLRRLLLRLRLLRLLLRLRLRLRRRRRRRRRRLLRLRLLLLLLLRLRLRLRLLRRRLLLRLRLRRRRRRRLRLRLLRRLLRLLRLLRLLRLRRRLRRLLRLLRRLLLRRLLLRLRLRRRRLLRRLRLRLLRLRRRLRRRLRLRLLLRRRRRRLRLLLRLRRRLLRLRRLLLRRRRLLLLLRRRLLRLLRRLRRRRLLLRLRRLLLRLRRRRRRLRLLRLLLLRRLRRRRRRRLRLRLRRLLRLLLRRLLRLRLLLLLLRRLLRLLLRLLLRRLRRRRRRRLRLRRLLLRLRLRLRRRLLRLLRLRLLRRRLRRLRLRLRRLRRRRRRLLLRRLRRLRLRLRRRLRRRLRLRLLLLRRRLLLRRLLLRRRRLRLLLRLLRLLLLLRLLLRRLRRRLLLLLLLRLLRLRRRRLRLLRRLRLLRRLLRRLLLRLLLRRRLRRLRRLLRLRLLLRLRLLLRLLRRRLRRLLLRLRLLLRRLRLRRRRRRRLRLLRRRRRRLLRRRLRLRRRLLRLLRLLRRRLRLRRLRLRRLLLLLRRRLRRLRRLLLLRLLRLLRRLRRLLLRRLLRLLRRLLRRRRLRLRRLLLRLRRRRRRLRRLRRRRLLLRLRRRRRLLRRRRRRLRLLLRRRLRRLLLRRLLLLRRRRLLLLLRLRLLLRLLLLRRRLLRRLRRRLRRLRRLLLRRRRLLLRRLRLLLLLLRLLRRRRRRLRLRLRRRRLLLRLRLLRRLLLRRRRLLLLLRLLRRLRLRLRLRRLRLRLLLLLLRLRRRRLLRRLLLRRRRLRRRRRLLLLRRRLLRRRRLRRLRRLLRLLRRRRLRRLLLRRLRRLLLRLLLRRLLRLLRRLLRLRLRRLRLRLLRLLLRRLLLRRLLRLRLLLLLLRRRLRLLRRRRLRRLRLLRRLLRRLLLRLLLRLRLRLLRRLLRLRRRRLLLLLLLLLLLLLLLLRLRLLRLRLLRRRLRLLRLLRLLRLLLRRLLLLRLRRRRLLRRRLRRRLLRLLRRRRLRLLLLRRRRLRRLLLRRRLRRLLLLRLRLRRRLLLLLRRLRRLLLLLLLRRLLRLLLRRRRLRRLLLLLRLRRLRLRRRRLRLRLRRRRLRRLRLLLLRRLRRLLLRRLRLRRRRLRRRLRRRRLLLRRLLLRRRRRRLLLLRRLRLRLRLRRLLRLLRRLRRRRRLLRRRLRRLRLRRRLRRLRRLRRRRLRLRLRRLRRRRRRRLRRLLRRLRLRLRRLRRLLRLLRRLLRLLRRLLLLLRRRRLLRRLLLRLLLLLRRLRLLLLRRLLLLLRRRLRLRLLLLLLRLLLLRLRRLRRLLLLLRLRRLRLLRLRLLLLRLLRLRLLRRLLLRLRLRLRRLRRRLRRLRLRLLLRRRLRRLLLRRLLLLRRRRRLRLLRLRLRRRLLRLLLLLRRLRLLLRLLLLRRRLLLLLLLRLRRRLLRLRLLLLLLLRLLLLRLLRRLLRLRLRLRRLLLLRRRRRLRLLRLRRLLLRRRLRLLLLRLRLLRLRLLRLRLRRRRLRRRRLRLRLLRLLLRRLRLLLLRRRLRRLLRLRLRLRRLRRRLRRLLRLRLLLLLLRRLRRRLRLRRLLRRRLRRRLRRRLRLLRLRLLLLLLRLLLRLRRRRRRLLRLLRLLLLLLLRRRLLLRLLRRRLRLRRRRRLRRLRLRLLRLRLLRRLRLRRLLRLRRRRRRRRRRRLLRRRRRLRLLLRLLRLLLRLLLLLRLLLLRRRRRRRLLLLRLLRRRLRLRRLLLLRRLRLRLRRRLRRRRLRRLRLLRLLLRRLRRLLLRLRLLLRLLLLRLRLRRRRRRRLLRRLLLRRLRRRRRLRRRLLLLLRLRRRLLLRLLRLRLRRLRRLRLRLRRLRRLRLLLLLRLLLLLLRRRLRLLRRRLLLLRRLRLRLRLLLRLRLLRRRRRRRLLLRRRLRLLRLLLLRLLRLLRLRRLLLLRLRLRLLRRRLLLLRLRLLLRLRRRRRRLRRRRRRLLRRLRRLLLLRRLLRRLRRRLLRLRRRRRLRLLRRRLRRLRLRLLRLRRLLLLRRRRRLRRRRRRRLRLLLLRRLLLRLRLRRLLLRRRRRRRLRRLLLRRLRLLRLRRLLLLLRRRRRLLLLRRLLRRLRLLRLLLRRLLRRLRRLLRRRLLLRLLRRRLLLRRLLRLLLRRRRRLRLLRLRLRRLRLLLRRLLLRLLRRLRLRLLLLRLRRRLRLLRLLLRRLLLLRRLRRRLLLRLLRRRLRLLRLLLRRRRRRRLRRRLLRRRLLLLRRRRLRRLRRRLRRRRRRLLRRRRLLRLRLRRRRLLRRRRRRRRLLRRLLLRRRLLRLLRRRRRRLLRRRRRRRRRRLRRLLLRLRLLLRRRLRRRLLLRRLLLLLLRRLRLRLRRLRRRLRLRLLRLLRRLRLLRRLLLLRRRLRLRRRLRRRRRLRRLRLRRRRRRRRRLLLRLLRRRLLRLRLRRRRRRLRLLRLRLLLLLLRRRRRRRLRRRLLLLRLRRLLRRRLRLLLLLRLLRLRLRRLRRRLRLRLRRRRRRRRLRRRRLRLLRLRLRRRRLRRLLRLLLRLLRLLLLLRRLLRLRRLLLRRRLRRRRRRLLRRLRLLLLLRRLRLRRRRRLLRLLRLLRRRRLLRLRLRRLRLLLRLRLLLRLLRRRRLRLRRLRLRLLRRRLRLLRLRLRRRRRRRRRLLLRRRLRRRLRRLLLRRRRLRRLRLRRLLRRLRLRLRRLLRLLLRLRLLLLLLLRLRRLLRLRLRRLLLRLLLLRLRLRLLLRRRRRRLRLRLRRRRLLRRRLRLLRLLRRLRRRRRLRRLRLLRLLRLRLLLLRRLRRRRRLLRRLLLRRLRRRRRRRLLLRLRLRRRLRLLRLLRRRRRLRLRLRLLRLRRRRRLRRLRRRRRRRRLLLLRLLRRLRLRRRRRLLLRLRLLLLLLRLLLLRRLRRLLRLLRRLLRRRRLLRRRLRLRRRLRRLLLLLLLLLLLRRLLRLLRRRLLRLRLRLRLLRRLLRRLLRLLLLRLLRRRLRLLLRLLRRRLLLLLRRLLRLRLRLLLRLLRRRRLLLRRLLLRRLLLRRLLLRLRLRLRRRRRLLRRRRLRLRRRRRLLRRRRRLRRRRLRLLRLLLRLRLRRRRRRRRLLRRRLLRLLRRLLLLLLLLLLRRLLLLLLLRLLRLLLLLRRRLLLRLLRLLLLLRRLLRLLLLRRRLRLLRLRRLRLLLLLLLRLLRRLRRLRRLLRRLRRRRRLRRRRLLRLLLLLRRLRLLRLLLRRRRLLRLLLLLRRRRRRLLLRLLRLLLRLLLLLLRRRLRLLLLLRLRRRLLRRRLRLRLRRRLLLLLRRLLLRLRLLLRLRRRRRLRLLRLRRLLRRLRLLLLLRRLRLRLLLRRRLRLLLLRRRRLLLRRLLRLRLRRLRRLRLLRRLLLRRRLLLLLLRRLRLRRRRLLRLLRRLRRLRRRLRRLRLLRRLLLLRRLLLRLRRRLRLRRRLRRLRLLRRLRRRRLLRRLRLRLRLRLLLLRLLRRLRRRRLLLRLLRRRRRRLLLLRLRLRLRRRRLLRRLLLLRLRLRLRLLLRLLRLRRLLLRRRRLLRRRRRRRLRLLLRRLLLLLRRRRLRRLRLLRRRLLLRLLRLRRRLRRLLRLRRLLLLRLRRLLRRRLLRRRLRLRRRRRRLRLRLLLRLRRRRLLRLLRRLLLLRLLLRLLRLLRRRLRLLRLLRRRLLLLRLLRRLRLRLRRLLRRLLLLLLRLRRRRLRRLRRLLRLLLRLLRRRRLLRLRRLLRLRLRRLLRLLLRRLLRLRLRRLLRLLLLRLRLRLRLRLRRLLLLRLRRRLRRLRLRRRLRLLLLRLRLRRLLLRRLLLRLRLRRLLLLRLLLRLRRRLLRLLRRLRLRRLRRLRRLLLRLLLRRRRRRRRLLLRLRLRRRRLRRLRLLRLRLRRRRLRRLRRLLLLRRRLLRRLLLRRLLRLLRLLRRRLLRLLLRRRRRLLLLLRRLLLLLRLRRRRRRLRRRRRLRRLLRRRLLRRRLLLLLRRRRLLRRRRRLLRLRLRLLLLLLLRRRRLLLRRLRRRRLLLRRRLLLRRLLRLLLRLLRLLLLLRLRLLRLRLRRRLLLLLRLLRRLRLRLLLLLRLLLLRRLLLLLRLRLRRRRRRLLRRLRRLLRLLRRLRLRLRLLRLLLLLRRRRRLRRRRRLRRRRRLLLLRRRRRRLRLRRLLLLLLRRRLLLRRRLLRLRLLRLLLLLLRLRLRLLLRLLLLRRLLRLRLRLRRRRLLRLLLLRRLLRLRLRRLRRRLRRLRRRRRLRRRLLRRRLRRRLRLLLRRLLRRRRLLRLLLLLRLRRLLLLRLRLLRRRLRRRLRRRLLLRLLLRRRRLLLLRLRRRLRRRLLRRRRRLLRLLLLLLLLRRRLRRLLRLLLLLRRLLLLRLLRRLRRLRLRRLRLRRLLRRLRRRLRLRRLRRLRLRRRLRLLRLRLLLLRLLLLRRLLRLRLLLLLRLRLLRLRLRLRRLLLRLRRLLLLLRRRRLLLLRLRLRLRRLLLRLLLLLLLLLLLLRLRLRLRRLLLRRRLLLRRLLLRRLRRLRLRRRLLLRRLLRRRRLLRRRLLRLLRLLLLRLRRLLRRRRLLRLRLLRRLRRRRRLRRRRLLRLRLLRRLRRRRRRRRRLLRRRLLLLRLLLLRLLRRRRRRRLLLLRLLRRLLLRRRLLRLLRLRRLLLRRLLLRLRRLLLLLLRRLLLLRRRRLRRLLLLLRLRLLLLRRLLRRRLRRRLLRRRRLRLLRRLRLLLRRLLLLRLRLRLRRRLLRRRRLLLLRRLRLLLLLLLLRRLLLLRRRRLLRRLLLRLRRRLLRLRLRRRLLLRLRLLRLRRLRRRLLRLLRLRRLRLRLLLRRRRRRLRLRRRLLLLRRLLLLRLRLLRRRRLRLLRLRRLRLLLRRLRLLLLLRLRLRLLRRLLLLRLLLRRLRLRRRRRLRLLLRRLLLLRLRLLRRLLRLLLRRLRRLLLRLRLLRRLRRRLLRLRLLRRLRRRRLRLLLLRLLRRRLLLLLLRRRLRRLLLRLRRRRRLLRRRRLLRLLRRLLRRLLLLLRLLLLLLRRLLRLLLLLRLRLRLRLRLLRRRRRRRLRLRRLRRRLLLLLRRLRLLLRLRRLRRLLLRLRLLLLRRRRRLLRLRLRLLRRLRLRRLLRRRRRRRRLLLLLRLRLLLRLRLLLLLRRLLRRLLRLRRLRLRRRLLRRLRLRLLRLRLLRLLLLRLLLRRRRLRLLRLLLRLLLLRLLRRLRRRLRLRLLRLRLLLRRRLLLRRRRLLRRRLLRLRRRRLLLRLRLLLRLLLLLLLRLLRRRRLLLLRRLRRRLLRRLLLLRRRRLRRRRLLLLRLLLRRRLLLRRRRRRLRRRLRRLRLLLRLRRRLRLRRLRRRRLLRLLLRLLRRLRLLLLRLLRRLLRRLLLLLRRRLRRRLLRLLRLLRRRRLRLRRRRLRRLRRRLLLLLLRLLRLRRLRLLLLLRLRLLLRRRLRRLRLRLRRRRLRLLRRLLLRRLLRRRRRRLRRRLLRRRLLLRLLRLRLRRRLLRRRLRLLLLLRRLLRRLLLLRRRLLLLRRRRLLLRRLLRRRLRLLRLRLRLRLLRRLRLRRRLRRLRRLRLLRRLLLRLRRLRLLRRRLRLLRLLLLRRLLRLRLLLRLRLLRLRLRLLRRLLLRRLRLLRLRRRRRLLLLLRRRRRRRRRLLLLRRLLLRRLLRLRLRRRLRLRLLRRRRLRLRLLLRRLRRLLRLLRRLRRRRRRRLRRRLRRRLRLRRRRLRLLRRRLRRLLLLLLRRLLRLRRRLRRLLLLRLLRLRLLLRRRRRLLRLLRRLLRRLLRRLRRRLRRRLLLLLRRLRRRRRRLRLLLLLRLLLRLLLRLRLRLLLLLRLRRRLLRRLLLLLRRRRLLRLLLLLRLLRRLLLRRLRRRRLRLRRLRRRLLLLLLLLRRRLRLRLLLRLLRLLRRLLRLRLLLRRLRLRRLLLLRRRLLLRRRLLRRLRLRRLLLLLRRRLLRLRLRLRLLRRLRLRLLRLRLRLLRRRRRRLRLLLRLLLLLRRRLRRLRLLRRLRLLLLRLLLLRRLLRLRLLRRRRRLRLRLRLRLLRLRRLRRRLLRLLRRRLRRRLLRRRLLRRLRLLRLRRRLRRRRLRRLLLRLRRLRRLLLRLRLRLLRLLLRRRLLLLRRLLLLRRLLLRLRLLRLRRRRRRRLLLLRLRLLLRRLLRRRLLRLRRLRRLLLRLLLRLRRRLLRRRLRLLRRLLLRLRRLLLRLLRRLRLLLRLRRLRRRLRRLLRLLRRRLLRLLLLRLRRLRRLRRRRRLRRLLLLLLRLLRRRRRRRRLRRRRRLRRRRRRRRLRLLLLRLLRLRRRLRRRRLRLRLLRLRRLLRRLLRRLRLLLRLLRLLRLLRRLRRLLLRRLRLLLLRRLRLRRLLRRRRLRRRRRRRLRLRLLRLRRRRLRLLRRRRLRRLRLLLLLRRLLRLRRLRLLRRRLRLLRLLRLRRLLRRRLLLLRRLLLLLRRRRRRLLRRRLLRLLRRRLRRLLRLLLRLLLLLRRLLRLRRRRRRLRRLRRRLLRLRRLRLLRRRRRRLRRLLLRLLLLRLRRLLLLLLRLRLLRRLRRLLRRLLRRLLLLLRRRRRLLRLLRRLLRLRRLRLRLLLRLRRLRRRLRLRLRRRRLRRLLRRRLRLRRLRLLLLLLRRRRRRLRLRLLLRLLRLLLRRLRLRLRRLLLRLLRRRLRRRRRRRRRLLLRRLRLLLLLLRLRRLRRLRRLRLRRLLLLLLRRRRLRLLLLRRRRLRRRRRRLLLRLRLRLRRLLRLRLLLLRLRRLLLLLRRRRRRRRRRLRLRLRRRRRRRLRRLLRRLRLLRLLLLRRRLLRLRRRRLRLLRLRRLRRLRRRLLLRRLLLRLRRLLLLLRLRRRLLLLRLLRLLLLRLLRRRRRLLLLLLLLRLLLRLRLLRRRLLLLRRRRRRLRLLLRRRRLRLLLRRLLRRRLLRLLRLLRRLRRRRRRRLLLRRLRRLRLLLRLRRLLLRLLLLLRRLRRLLLLRRLLLLLLRLLRRRLLLRRLRRRRRLRLRLRLRRLRLRRLLLLLLLLLLRRLLLRRLRRLRLLRLLRLRRLRRLRRRLRLRRRLLLRRLRRLLLRLRLRRLRLRLLLRRLLRRRLLRRRRRRRLRRLRLLRLRLRLLLLRLLRRLLLRRLRLLLRLLRLLLLLRLLLRRLRRLLLRLLLLRLLLRLRLRRLLRLLRRRRRRLRRLRLRLLLRLRRLLLLLLLLLRLRLLLLLRRRRRLRRRRLLLRLRRLLLRLLLRLLRRLRLLRLRRRLRRRLLRLRRLLLRLRLLLLLRRRLLLRLRLLLRRLLLLRRLRRRRLLLRLRRLLRRRLLLRRRRRLRLLLRRRRLRLRRLLRRRLRRRRLLLLRLRLLRRLRLRRRRLRLLRRLLRLRLLRLRLRLRRLRLRLLRRLRLRRRRRLLRLLLLRRRRRLLRRLLLLLRLLLRLLLLLLLRRLLLRLRLRLRLLRLRLRLLRRLLLRRLRRLRLRLLLRRLLRRRLRLLRRRLLLLLLLRLRRLRRLLLLLRRLLRRLRLRRLRLRRLLLRLRLLLLLRLLRRRRLLRLRRLLLRLLLRLRRLLRRLRLRRRLRLLLRLRRRLLRRRRLLRLRLLRLRLLRLRRLRLLRRLLRLLRRLLRLRRLLRRLLLRRLRLRLRRRRLLRLRLRLRLLLLRRRLLLLLRRLLRLRLLLLRRLLRRRRLRLLRLLRLLRRLRLRLRLRRRLLLLRLLRRLRLLRLRRLLRLRLRLRRRRRLLRLRLRLRLRRLLRRRLLLRRRRRRLRRRLLRLLRLLLRLRRLLRRLLRLLLLLLLRRLRRRLRLRRRRRLRRRRLLLRRRRLLRRLLRRLLLLRRRLRLLRLRLRLLRRRRRLLLRLRLRLRLRRLRRLRLRLLRLLLLLRLLRLLLLRRRLRLLLLRRLLRRRLRLRLRRLLLRRRLRRRRLLRLLRRLLLRRLLLLRLLLRLRLLLRLRRLLRRLRLRRRRLLRRLRRRLLRRRLRRRRRLLLLLLLRLLLLRRLRLLRLRLLRLRRRLLRLRLLLLLLRLRRRRRLLRRLLRLLRLLRLRRLRRLRLRRRLLRRRLRLLLRRLLLLLRLRRLRRLLLRLLRRLRLLLRLRRRLRLLRLRLLRRLRRLLLRLLRLRRLLRLLRLRRLLRRRRLRRLRRRRLLLLRLRLLLRRRRLLLRLRLRRLRRLRRRLLRLRLRLRLRRLLRRRRRLLLLLRRRRRLRLRLRLRRRLLRRRLLRRRLRLRRRLRRRRRRLRLRLRRRRLLRLLLLRLLRLLRLRRLLLRRRLLRRRRRRRLLRRRLLRLRLLRLLRLRLLRLRLRRRRRLRRRRLLRLRLLLRRRRLLLRRRRRLRRLLLLLRRLRLRLRLRRRLLLLLLRRLLRLRRRRLLLLLRLLRLLRLLRRRLRLLLRLLRLLRLRRRLRLRLRRLRLRLRLRRRRLRLLLRLLRRLRLLRRLRLRRLLLLRRLLLLLRLLRLLRRRRLLLRRRRLLLLRLRLRRLLLLRLRRRRLLLRLRRLLLLLLRRLLRLRRRRRLRLLLLRRRRLLLRLRRRRLRRRLRRRRLRRRRRRLLLRLRRRLRRRRLRLRLLLRLRLRLLRRRRRLRLRLLRLRLLRLRLRRLRLRLLRLRRLLRRRLLRLLRRRLLLRRRLRLRLLLLLLLLLLLRRRRLLLRRRLLRRRLRLLRLLRRLLRLRRRRRRRLRRLRRLRRRRRRRRRRLLRRLLLRRRRLLRLRRRRRRLLRRRLLRRLLRRRLRLLRRRRLRRRLRLRLRLRRLLRRLRRRRLRLLLLLLRLRRLLLLLLLLRRLLLLLLRLLLLRLRLLRRRLLLLRLLLRRLRLLLLRLLRRRRLLRLLLLRLLRLLRLRRLRLLLLLLRRRLLLRLRRLRRRRRRLRRRLLRLRLRLLLLLLRRLRLLRLLRLLRLRRLRLRLLLLLRRLRLRLLLRLRRRRLLRRRRLLLLRRRRRLLLRRLLRRRRLLLRLRLRLLLRLRRLRRRRLLLLRLRLLRRRLRRRRLRRLLLRLRRLRLRLLRLLLRLRLRLRRLLLLLLLRRLRRLRRRLLRLRRRLLLRLLLRRRRLLLRRLLRRRLLRLRLLLLRRRLLRRLLRLLLRRRLLLLRLRLLRLLRRLLRLRLRRRRLLRLLRRRLRRRLLLRLLRLLRRLRRRRLRLLLRRLRRRLLLRRLLLRLLLRLRRRRLLLLRRRLLRRLLLRLRRRLRRRLRLRRLRRRRLLLRRLLRRRRRLRLLLRRRRRLRRRRLLRRLLLLRLRLRRLLLLLRLLRLLRRLRRLRRLLRRLLRLLLRRLLLRLLLRRRRRLLLLRLLRRLLLLRRLLRLLLLLRLLRRLRLRLRRRLRLRLRLLRRLLRRRRLRRLRRLRLRLLLLRLLLRLRRLLLLRLRRLRLRRRLRRLRLRLRRLRRLLLLRRLLRRLLRLRRRLRRLLLRLLLRLRRLRRRRLRLRRLLRRRRLRLLLRRLRLLRLRRLLRRLLLLRRLLLRLLRLRLLRRLLRRRRLLLRRRRLRLLRLLLLLLLLLRRLLLLLRRRLLLRLRRRRRRLRRLRRLLRRRRRLRLLLRLLRRRLRRLRLRRRLRRRRLRRLRRRLRLLLRRRRRRRLLRRRRLRLLRRLRRRLRLLLLRLLRLRLRRLRLLRLRLRRRLRRRLLRLLRLLRRRLRRLLLRLLRRLLLLLLRRRLRLRLLRLLLLRRLRLLLLLLLRLLRLLRRLLRLRRRLRRRRRLLRRRRLLRLRLLLRRRLLRRRLLLLLRRRRRRRLLRRLRLRLRLRRRRRRLRLLRLRRLRRLLRRLLLRLRLLRLLRLRRLLRLLRLRLLLLRLLLRRLRLRRRRRRLLLLRLRLLLLRLRLLLRLLRRLRRLLLRLRRLRRLLRRRRRLLLLRLRLRRLRLRLLLLLLRRRLRLRRRLLRLRRRRLLRRRRLRLLRRLRLRRRRRRRRRLLLLRRRLLLLLLLLRLLRRLRLLRLLLRRLRRRRLRRLRLRRRRRLLLRLLLLLRLRRRLLLLRLRRRLRRLRLRRLRRRRLRRRLLRRLLRRLRRLLRRLRLRLRLLLRRLLLRLRLRLLLRLLLRLRLRLRLRRRLLLRLRRRRLLLLRRLRRRRLRLRLLLLLLLRLLLRRRLRRLRLLRRLLLLRLLRLRLLLRRRRRRRRRRLLRLRLRRRRLRRRLRLRRRRRLLRRRRRLLLRLLRLLLRRRRLLRLLLRLLRRLRLRRLLLLLLLLRRLRLRRRRLRRLRLRLLRRLRLLRRLLLLRRRRLRLLRRLRLRRRRRRRLLLRLLRRLRRRRRRLLLLLRLRLLLRRRLRRLLRLLRLLLRRRLRRLLLRLLLLRLRRLLLRLLRRLRLLLLLLLRLRLRLRRRRLLRRLLLLRLLRRRRLLLLRLRRLRRRRLRLLRRRLLLRRRLLRLLLRRRLLLRLLRRRRRLRRLLLRRLLRRLRRLLRLRRRLRRLRLRRLRRLLRRRRLLLLRLLRLRLRLLRLLRLRLRLRLRRRLRRLLRRRRLRRRLRLRRLRRRRLRRRRLLLLRLLLRLLRLLLRRRLRRRRLLLRLLRRLLLLRLRLRRRRLLLLRLLRLLLRLLLLLLRRLRLRRRRLLRLLLLRLLLRLRLLLLRLRRRRLLRRRLRLLLLRRLRLLLLLLRLLRLLRRRRLLRLRRRLLRRLLLRRRLLRRRLRRLLRRLRRLLRRLLRRRLLLRRRLLRRRRLLRRRRRLLRLRRLRRLLLLLRLRRLRLLRRLLLLLRLRRLRLLRRLRRLRLLLLLLRRRRLRRRRRRRRLLLRLLLRLLLLLRRLRLRRLLLLRLRRRRLLRRRRLRLLLLLRRLLLLLLLLLLLRRRLLLLLRLLRLLLRLLRRLLRRRRRLLRLRRLRRLLRRLRRLLRRLRRLLLRLRLRLLLRLLRRLRLLRLRLLLLLLRLRRLRRLLLLRRLRLRLLRLRRRLRLLLLRRRLLLLLLLLLRLRLLLLLLRRRRLRLRLLRLLRLRLRRRLLRRLLLLLLRRRLRRLRLLLLRRLRRRLLLRLRLLRRLRLRLRLRRRLRLLLLLRRRLLLRRLRRLRLRRLLLLRRRRRLLLRLLRLLLRLLLLRRRLLRLLRRRRLLRLLLLLRLLRLRRLLLLRRRRLRLLRLLLLLRLRRRRLRLRLLLLLLLRRLLRRRLLLRRRLLRLLLLLLRLRRRRRLRLLLLLRRRLRLLRLRRLRRRLLLRRRLRLLLLRLRLRRLRRRRRLRRRRRRRRRRRLRRRRRLRRRLLLRRRRLLRLRLLRRRRRRRRRRRRRLRLLRRLLLRLLRLRLLRLLLRRLRRRLRRRLRLLRRLLRLLRLRRRRRRLLLRRRRLLLRLLRRRLRRRLRRLRLLRRRRLRRRLLRLLLLRRRRRLRLLLLRLLRRLRLLLRRLLRRLRRLLLRRLRLLLRLRRLRLRLRLRLLRLLLLRLLRLLRLLLRLLRRRLRRRRRLLRLRRLRRRLRRRRLRLRLLLRRLRRLLLLRRRLLLRLLRRRLLLLLLRLRLLRLRRRRRLLLRRLLRRLRRRRRRRRLLLLLRLRRLRRLRRRRRLLLLRRLRRRLLLLLRLRLRRRLRRLRLRRRLRRLLRRLRRLRRRLLLRLRRLRRLRRLRRRLRRRLRLRLLLLRRLLLLRLRLRLRRRLRLLLLLLLRRLLRRRRRLRLRRRRRLLRLRLRRRLLLRLRRRLLLLLRRRLLRLLRLRLRRLLRLRRLRRLRRLLRLRRRRRLRRRLRLLLRRRLRLRLRRLLLLLLLLRRLLLRLRLLRRLLLLRLRLRLRLRLLLLLRLRRLRLLRRLLRLRLRLLLRRRRLRRLLRRLLRRRLLRLLRLLRLRRLLLLLRLLLRLLRRRLRRRRLRLRLRRLRRRLLLRLLRRRLLLLRRLRLLLLLRLRLRRLRRLRRRLLLLRLRLLRRLLRRRRRRLLRLLLLLRLLRLLRRLRLRLRLRLLLRRLRLRLRLLLRLLRLRLRRRRLLRRRRRLRRLLRRLRLRRLLRLLLLLLLRLRRLRRLLLRRRRRRLRLRRLLRLLLRLLRLLRRLLRLRLRRRLRLRRRLRRRLRRRLRLRLRLRLLLRRLRLLRRLRRLLLRRLLLRLLRRLRRRLLRLRRRLRRRRLRRRRRLLLLRLLRRRLLLRLLRLRLLLRLRLLRLRRRLLLLRRLLRRRLRRLLRRLLRRRRRLRRRRLLRLLRLLRRRLLRRLLLLRLLLRRLRRRRLRRRRRLRRRRLRLRLLLRRLLLRLRRRLLLRRRLRRRRRLLRLRRLLRLLLRRLRRLLLLLLRRLRLLLRRRRLLRLLRRRLLLRLLLLRLRRLRRRRLRRRRLLLLLLLRLRLRLLLRLRLRLLRLRLRLLLLRRLRLRRRRLLRRRLLRRLRLLRLLRLLLRRLRLRRLLRLRRLLLRLLLRRRLRLRRLRLLRLRRLRRLRRLRLLRRRRRLRLRRLRLLRRRLLRLLRRLLRLLRLRLRLRRLLRRRLLLLLRRLRLLLRLRRRLLRRRLLLLRRLLRLRRRRRLRLRLRLRLLRRRRRLRLRLRRRRRRRRRLLRLLRLRRLLLRLRLRLLLLLLRRLLRRRLLLRRRLLLLRLLLRRLLLRRLLRLLRRRRRRRRRLRLLRRLLLLLLRRRRLRRRLRRRRLRRRRLRLRLLLLRLLLRRLLRRRLLRRLLRLRRLRLRRLLRLLLRRLLLLLRRLRRRRLRRLLLLRLRLRLRRRLRRLRRLRLRLLLRLLLLRLLRLLLLRRLLRLLLRLRLRLRLLLRLRLRLRRRRLLLRLRLRLLLLRRRRRRRRRRRRLRRLRLRRRRLLLRLRLRRRRRRLLLLRLRLRRLRRRLLRRRLRRRLRRRRRRRRRRLRLLRLLRLLLRRRRLRLLRLRRLLRRRLRLRRRLRRLLLRLLRLRLRLLLRLRRLRLRLLRRLLLLRRLRRRLLRLLLRLLRLLLLRRLRLRRRLLLRRLLLLRLLLRLLLRRRLRRRRLRRLLLLLRLRRRLLRRLRLRLRLLRRLRRLRRLRRLLLRRRLLRLRLLLRRLRRLLRLRLLRLLLRRRLLRLRRRLLLRRLLLRRLLRLLRRLRLRRLLRLRRRRRLLRLLRLRLRLRLRLLLLLRRRRLRRLRRRRLRRRRLRRRRLRLLRRRLLRRLRRLLLLRRLRLLLRRRLRLRRRLLLRLLLRRLLLRLLLRRRLLRLLLLRLLRRLLLLRLRRRLRLLRLRLRRRRRLRLRLLRLLLLRRRLLRLRRRRRLRLRLRLLRRRRRRRRRLLLLLLRLRLRLRRLRLLRRLLRLRRLRRRLRLRRLRLLRRLRRLRRLLRRRLLRRRLLRLRRLLLRLLRRRRLRRLLRRRRRLRLRLRLRRRRRRLLLLLRRRRLRRRLRLLRRLLLRLRLRLRRLRRRRLRRLRRRLRLLLRLLLRLLRLLLRLLLLLLLRRLLRRRRLRLLRLRLRLRLLRRLRLRLRRRRLRLLLLLRRLRLRLRRRLLLRLLRRLRLLLLLLRRRLRLLLRRRRRRLLRRRRLRLRLLRLRLRLLRLLRLLLRRLRLLLLRLRRLRRRLLRRRLLRLRLRLLRRRLLRLLRRRRRLLRLRLRLLRRRRRLRLLLLRLLRLRRRLLLRRLRRLLLRRRLRLLLLLRLRRRLRRRRRLLRRLRRLLRLRLRLLRLRRRLLLLLLLLRRLRLRRLLLRLRRLLRLRRRLLLLLRLRLRRRLLLLLRRRRRRRLLLRLLLRRLLRRLLRRRRRRRLLLRRLLLRRLLRRRRLRLLRLRRLRLLLRLLRLLLRLRLLRRLRRRLLRRLRRLRLRRRRRRRRLRLLLRLRRRRLLLRRRLLRLRLRRLLRRRRLLRLLLLRRRRLLRRLRRRRRRRRLLLRLLLRRRRRRLRRLRRLLLRLLRRLRLLRLRLRLLRRRRRRLRRLLLRLRLLRRRRRRRRLRLLRLLRRLLRLLRLRRLRRRRLLRLRLRRRLRRLLRRLLRRLLRRLRLLRLRRLRLLRLRLLLLRRLRRLRRRRLRLLLLLRRRRRLLLLLLRLLRRLRLLRLLLRRRLRRLLLLRLRRLRLLLLRLRRRRRLLRLLLLLRRLLLLLRLRLRRLLLRLLLRLRRLLLRLLRLLLRLLLLRRRRRLRLRRLLLLLLLRLRLRRLRLRRRLLLRLRRLRRLRRRLLRLLLLLLLRLLLRRRRRLLLLLLRRLLLLLRRLLLLRLRRRLRLRLRRRLRLRRLRLRLLLRRRRLLLLRRLRRLRRLRLRLRRRLLLLRRLRLRRRRLRLRRLRRRLLLRLRLRLRRRLLLLRRRLRRLRLRRRRRRLRLRRRRRLLLLRLLLRRRLLRRRLRLLRRRLRLRRRLRRLRLRRRLLRRLRRLLLLLLLLLRLLLLLLRRRRLLLLRLLLLLRLRLLRRRRRRLLRLLRLRRRLRLLLLLLLLLLLRRLRLRRLRLLRLRRRRLRLLLRRRLLLRLRRRLLLRLRRLRLLLRLLLLRRRRRRLRLRLLLRLLLRLRLRRLLRRRLLRLRRLLRRLLLRRLRLRRRRLRRRRLLRLRLRRLRRRRLLLRRLLLRRLRLLLLLRLRLLRLRRRLLRRLLLLLLRRLRRLRLRLRRRLLRLLRRRRLLLLRRLLLRRLRLRRLLLLRRLRRRRLLLLRLLRLLLRRRLLRRLRRLRRRLLRLLLLLRRLLLRRLRLRLLLLRRRRRRLRRLRLLLRLRLLLLRRRRRRLRLRLLRRLLLRRRLRRRLRRLRLLLRLLRLRLLRLRRRRLLLLLLLLRLRLLLLLLRRLRRLRLLRLRRLLLLRLLLLLRLLRLLRLRRRLLLLLRLRRLLRLRLRLRRLRRRLLRLRLLLRRRLRLRLRRRLRLRLRLRLLLRRLRRRRRRRRRRRRLRLLRRRLRLRLRRLLLLLLLRRRLLLRRRRLLLRRLLLLRRLLRLRRLRRRRRLRLRRRLRRRLLLRLLLRLLRRLLRRLLRRLRRLLLLLLRLRRRRRRLLLLRLLRLRRLRLLLRRRRRRLRLLLLRLLLRLLLLRLRLLLRRRRRRLLLRLLRLLLRRLRRRLRRRLRLLLLRRRRRRLRRLLRRLLLLLLLLLRLRLRRLRRRRRLLRLLRLLLRLRLRRLLRRRRRRLRRLLLLLRLRLLRRLLLLRRRRLLLRLRRLRRLLRLLRLLRLLLRRLRLLLLLRRLRLRLRRRLLLRRRLRRLRLLLRLRRLRRLRRLLRRRLLRLLRLRRRRLLRLLRLLLRRRRRRLLRRRLRRRRRLRLRLRRRRLLRLRRRRLLRLLLLLRRRRRRRLRRRRLRLLRLLLLRLRRLLRLLLLRRRLLRRRLRRRRLLLLLLRRLLLLLRLRRLLLRLLLLRRLLRLLRRRLRLRLRRLRLRRRRLRLRLLLLRRLRRRRRRRRRRLLLLRLRLRLRLRLRLRLRLLRLRRRLLRRRRRLRRRRLRRRRRLRLRRLRRLRRLLLLRLLLRRLRLRLLLRRRLRRRRRRRLRLRRLRLRLRLRLLRRLLLRRLRRLLLLLLLRLRRLLRRLRRRRLRLLLRRLRRRLRRRRLLRLLRLRLLRRLLRLLLRRLLLRRLRLLRRLRRLRRLLRLLLRLRRRRRRRRRRLRRLLRLRRRRRLRLRRLLRLRLLLRLRLRLLLLRLLLLRLRLRLRLRRLLRLLRLRLLRRLRLRLRLLLLRRLRLRLRRRLLLRRRLRRRLRLLLRRRLRRLLLLRRRLRLLRLLLLRRRRLLLLRLRLRLLLRRLLLRRRLLLRLLLRLRRLLRLRRLLLLRRLLRRLRLLLRLLRLRRLRLRLRLLRLRLRRLLRLRLLRLLLRLRLRRLRRRLLRLRRRRLRRLRRLLLLLLRRLLRLRLLRRLRLRRRLRRLRRRLRRRRLLLLRLRLRRRRLRRRRLRLLLLLLLRRLLLRLRLLRLLRRLRRLLLRLLRRRLLLLRLLLRLLRLLRLRLRRLLLLLRLLRLLRRRLRLRLRLRRRLLLLRRLLRLRRRLRLLLRRLLLLLRLLLRRLRLRRLRLRLLRRLLLRLLLLLLRLRLLRRRLRLRLLRLLLRRLRLRLLRLRLRRRRRRLLLLRRRRRLRRRRLRRRRLRRRLLLLRLLRRRRLLRLLRLRLRRRRLRRLLRLRRLRLRRRLLLLRRLRRLRRLLLLLRLLRRRLLLRRRRRLLLRRRLLRLLRRLRRRRRLRLRLLLLLLRLLLRRLRRLLLRRLLRLLRRLRRRLLLRLLLLRRLLLLRLRLLRLLLRRLLLLLRLRRLLRRLRRRLLLLRLRLRLRLRRRLLRLLLRRLRLLRRRRRLRRLRRRLLRRRLRRRRRRRRRLLLRRRRLLLRLLLLLLLLLRRLRLLLLRLLLRRRRRLRRRRLRLRLRLLRRLLRLLLLLLRLLRRLRLLLRLLRLRLLRRRLRRRRRRLLLRLRLLRLLLRLLRLLLRRRRLRRRRRRLRLLLRRRRLLRLLRRLRRRLLLRLLRLLRLLRRLLLLLRRRLLRRRRLRLLLRLLRRLRLRRLRLRRLLRLRLRLLRLRLRRRLRLRRRLLRRLRRLLRLLRLRLLRRLRLLRLRRLLLRRRRRLRLRLRRLRLLRLLRRRLLLLLLLRLLRLRRRLRLRLLRRRRLLLRRRRRLLLLLLLRLRLRLLLRRLLLLRLLLRLLLRLRRLLRLLRLRLRLLLRLRRRRRRRRRRRRLRRLRRRRRRLRLLLRLLRLRLLLRLRLLLRLRRLRLRRLRLRLLLLLRRLRLRLLRLLRLLRLLRRRRRLLLRLLLRRRRLLRLRRRLRLLRRRLLRRLLRRLRRLLLRLRRLLRRRRRLLLLRLRLRRRLRRRRRLRLLLRLLLRLLRLRLRLRLLRLRLLLLRLRLLLLRRLRLLLLLRRLRLRLRRRRRRLRRRLRLLRRRRLLRRRRRLRLRRLRRLRLLLRRLRLRLRLLRLLRRRLLRRLRLLRLLRLRLRRLLLLRRRRRLLLLRRLLRLRLRRLRLLLLRRRLRLRRRLLLLLLRLRRRLRLLLRLLLLLRLRLLLLLRRRRLRLRLLRLLLRRRRLLRRLRLRRLRRLLRRRRLLRLLLRLRRRRRLRLRRRRRRRRLLRLLRLLLLLRRLRRLLRRRRRLLRLLLRLLRRLRLLRRLRLLLLRRLLRLRLLRRRLLLRRLLLLLRRLLRRLLLLLRLRRLLLLLLRLLLRLRLRLRLLRRLRRLRLLRRRRRRRLLRRLRLRRLRRRLLRRLRRLLRLRRLRRRRLLLLRRRRRRRLLRLRRRRLRRLRRLRLLRRRLLRRRRRRRRLLRRLLRRLLRLRRRLRLLLLLRLLLLLLLRRLRLLLRRRLLRLLRLRRLRRLRRLRLLRLRLRLRRLLLRRRLRRLRRLLRLLLLRLLRRRRRRLLRLRRRRRRLLLLRRLLRLRLRRRLLLLLLLLLRRRRLRRRRLLRRLRLLRRLRRRLRLRRLRLLLLRRRRLLLLRLLRRRRRRRRRRLLRLLLRRLRLLLRLLLRRRRLRLRRRRLRRLLRLRRRRRLRRLLLLRLLRRLLRRLLLLLRRLRLRLLRRLRRLLRLRLRLLLLRLRRRLLRLLRLRLRRLRRRLRRLLLLRLRLLRRLRLRRRLLLRRLLRRLRLRLRLRLRLLRRLLLRLRLLLLLRLLLLLRLLRLRLRRRRLLLLRLLLLRLLRRRLLRLRRLLLRRLLRRRRLRLRRLRRRRRRRRRRLLLRRLRLLRRLRLRLRLLRLRLLLRLRLLLLLRLRLLRRLLRRRRLLRRLRRRRRLRRRRRRRLLLLLRLRLRLLRRLRRLLLRRLLLRLLLRLRRRLLRRRLRRRRRRRLLLLRLLRLLRLLRLRLLLRLLRRRRLLLRRLLLLLRLLLRLRLRRLLRRLRLLRLRRLRLRLLRRLLRLRRLRLLLRLRRLRLLRRLLRLLRLLRLRLRRRLRRRLLLLRLLLLRRLLLLRLRLRLLRRRLRRRLLRRRRLRLLLRRLLRRLLLLRLLRLLLRLLLLRLLLRRLRLLLLLRLRRRLLLRLLLLRLLRRLLLLRRRRLLLRRRRRLRLLRRRRLLLLLLRLRRRRLLRRLRRLLRLRRLRLLLLLLRLLRRLRRRLLLLLLRLLRRLRRRRLRRRRLLLLLLRLRRLRRLRLLRLRRRRRRLRRLLRRRLLLLLLLLRLLLLLLLLLLLRRRRLLLRRLLRRLLLRRRRRLRLLLLLRRLRLLRRLLLLLRLLLLLRRRRRRRLLRRLLRRLLRRRRRLRLRLLRRRRLRLLLRRRLLRRLRRLRRLLRRLRRRRRRLRRRRLRLRRRLRRLLRLLLRRLRLRRLLLRLRLRLLLRRLLLLLLLLRLRRRRLLRLLLRRLRLRRLRLLLLLRLLLRRLRRLLRLRLRLRRLRLRRRLRRRLLRRLLRRLLLRLLLLLLLRRLLRRRLRLRLLRLRLRLLLRLLLRRRLLLLLRLRLLLLRLLLRLLRLRLLRLRRLLLRLRRLLRRLLRLLRRRLRLRLLLRRRLRRRRLRLRLRRRLLLLLRLLLRRRLLLRLRLLLLLLRRRRLLLRLRLLRRLRRLRRLLRRRRRLLRLRLLRLLLRRRRLRRRLLRRRRRLLLLLLLLRRLRLRLLLLRLLLRLRLLLLLRRLLLLLRRRRRRLRLRLLLLLRLRRRLLRLRRLLLLLRRRRRRRLLLLRLLLRRLLRLLLRRLRRLRRLLRRRRLLLLRLLRLLRLRLLRLLLLRRRLLRLLLLLLLRRRRRRLLRLRLLLLLRLLRRLRRRRRLLLLRLRLRRLRLRRRRLLRRLLRRLRRLRLLRRRLLRLRLRLLLLRLLLRRRRRRRLLRLRRRRLLRLLLLLLLLLRLLLLRRLLRRRLRRRRLLRLRRRRLRLLLLRRRRRLRLRLLLLRLRLRLLLRLLRLRLRLLLRLRLLLRRRLRLRRRRLRLLLRRLRLRRRLRLLLLLLRRRLLLRLLLRRLLLLRLLLRLRLLRRRLLRRRLRRLRLRLLRRLLLLLRRLRRLRRRLRLRLRLRRRRLRLLRLRRRRLLRLRRRLLLLRLLLLRRLLLLRRRRLLRLLLRRLRLLLLRRLLLLLRLRRLLRLRLLRRRLRRLLRLLLRRLLRLLLRRLLRRRLLLRRLLRRLLLRRLRLLRRLLLRLLRRRRLLLRRRLLLRRLLRRLRRRRRLLLLRRLRLRLLLLLRRLLRRRLLRRLLRRLRLLRLRRRRLRRRRLLRRRRLLLLLLLLLLLRRRLRRRRRRRLRRLLRRLLRLLLLLRRLRLLLLLRRRRLLRRRRRLRRRLRLRLLRRRRLRRLLRRLLRLLRRRLRLRLRLRRLRRLLLLRLLLRRRRRLLRRRLRLLLRRLLLRLLRLRRRRLRLRRLRLRLRLLLRRLLLLLLLLRRLRLLLRLRRRRLLRLRRLRLRLRLRLRRRRRRRLLLRLRRRLLRRLLLLRRLRRLLRLLRRRRLLLLLRRRRRLLLRRRLRRLLRLLRLLRLRLRRRRLLRLRRLRLLLRRRLLLLLLRLRLLRLRRLLRLLLRLLLRLRRLRRLRRLRLRRRRRRLRRRRLRRLRLLRRLLRLRRRRLLLRRLLLLLRLRLLRLLRLRLLLRRLLLLRRLRRRLRLRRLLLRRLRRRRRLRLLLLLRRLRRRRRLLLRLRLLLLLRLLLRRRRRLLLRRLRLRLRLLRRLLRLRLLLLLLLLLLLRRLLLLRLLLLLRLLRLLRRRLLRLLLLLLRLRRRRLRLLRLRLRRLLRLRLRLLLRRLRLLLLLLLLLRRRLLRRLRRLLLLLLLLRRRLLLRRRLLRLLLLRLRLRLRLLRRLLLLRLRRRLLRRLRLRLLLRRRRRRLRRRLLLRRRLRLRLLRLLRLRLLRLRLLLRLRRLRRRRLLRLLLRRLLRRLRRLRRRRLRRLLRRLLLLRRLRRRRLLLLRRLRRLRRRRRLLRLLRLRRLLLRLRRRRLRRLLRRLRLRLRLLLRRRRLRRLRLLLLLRRLLRLLLRLRRRRLLLLLRRLLLLLRRRRRLLRLRLLRLRRRRRRRRRRLLLLRLRLLLLRRLRLLLRLLRLRRLRLLRLLLLLRLLLRLLLRLRLRRLRRLRRRRRRRRRLLLLLLLRRRRRLLRRRLLLLLLLLLLLLLRRLLLRLLLRLRLRLLLRRLRLRLLRRLRRLRLLLLLRLRRRRLLRLLRLLRLRLLLRRLRLLRRRRLLRLLLRLLLLRRLLRRLRRRRRRRLRRRRLRRLLLRRRLRLLLRRRRRLLRLRRRRLLRRLRLRRLLLRLRLLRRLLRLLRRRRRRRLRLLRLLRRRRRRLRLLRLLRLRLLLRLLLLRLLRLLLRRLRLLLLRRRRRLLRLLLLLLLLLRLLRLRRLLLRRRRLRLRRRLRRLLLLLRLRLRRRRRLRRLRRLLRRLLRLRLLRLLLLLRLRRRRRLRRLRLLRRLLRRLLLLLRLLLRLRRLRRLRRLRRRRRRRLRLLLRLRRRLLLLLRRLRLLRLLLLRRRRLRRLLRLRRLRLLLLLRLLLRRRLLLLLLLRRRLRLRRRLLLRRRRLRLRRLRLLRRLLRRLLRLLLRRLRLLRRLLRLRRLRLLRRRRLRLRLRRRLRRRLRLRRRRLLRRLLLLLRLRRLLRRRLLRLLRLLLRRRLLRLRLRLLRRLRRLLLLRRRRRLRLRRLRRRLRRLRLRLLLLRLRLLRRLLRRRLLLRRRRLRLLLRRRLLRLLLLLLLRLLRRLRLRRRRLLLRRLRRRLLRRRRLRRRRLRRRRLLLLLRRLLRRRLRRLRLLLRRLLLRRRRLLRRLRLLLRRRLRLLRRRRRRRLRRLRLLRLLLLLLRRRLLLRLLRRRRRRRLRRLLRRLRLRRLRLRRLRLRRRRRRRRRLLRLLRLLRRLRRLRLLRRRRRLLLLRLLLLRLRRLLLRRRRRLLRRRRRLRLRLRLLRRLRLRRRRLLRLLRRRRRLLLRRRRRRRRLLLRLRLLLRLLRLLLRLRLRRLLLLLRLRLRLRLLLLLLLRRRRRRRRRLRRLRLRLRRRRLLLRRRRLLRRRLLLRRRRLLRLLLRRLLLRRRRRLLRLLLLLLRRRRRRRRRRRRLLLLRLLLRRLLLLLRLLLLLLRLRRLRRRRLRRLLLLRRLRLLRLLRLRRLRLLLRRLRRRRLRLLRLLRLRRLRRLRLRLRRLLLRRRLRLRRRRLRLLLLRRLRRRLLRRLLRLLLRRRRRLRLRLLRRLLLRLLLRLLRRRRRLRRRRRRRLLRLLLLLLLLRLRRRRLLLLLRRRRRRLLLLRRLRRLLRRRLLRLLRRRLLLLLLLRLLLRLRLRLLRLRRLRRLRRLLRLLRLRRRRLRRLLLLRLRLRLLLRRRRLLRLRLRLRLRLLLRRLRRRRLLRRRRLRLRLLRRLRRLLRRLRRRLLLRRLLLLLRLLLLLRLLLRRLRRRLLRLLLLRRRLRRRRRLRLRLRRRRLLRLRLRRRLRLLLLLRRLRRLLLLRRLLRRRRLLLLLRRLRLRRRRLRLLLRRRLLLLRRRLLRRRLLRLLRLLLLRRRLRRLLLLLLLRRLRRRRLRLRLLLRRRLRLRRLLLLLLRLLRRLRLRRLLLLLLRLLLLRLRRLLRLRRLRLLRLRLLLLLRRLLRLRRLRRRRRRRLRRRRLLRRLRRLRLLLLLRRRRRRLRLLLRRLRLRLLLLLLLRLRLLRRRRRRRLRLRRLRLLRRRLLLRLLRRLLLLLLRRRLRRLRLRRLLRRLRRLLRRLRRLRLLLLLRRLLLRRLRRLRRLRLRLLLRRRLLRRLLLLLRRLRRLLLRRLRRRLRRLRRRLLLRRLLLLLLRRRRRRLLLRLLRRLRRLLRRLRRLRLRLLRLRRLRRLRRLLRRRRLLRRLLRRRRLRLRLRRRRRLLRRLRLRRRRLRRLRLRLRLRLRRRLLLLRRRRRRLLRLLLLLRRLLLRRRLLLRRLLRRLLLRLLRRLRRRLRRLRLRRLRLLLLRLLRLRLLLRRLRRLRRRLLRRRRRRRLLRRRRLRRLLRRRLRLRRRLLLRRRLRRLRLLLRLLLLRRRRLLLLLRLRRLRRRRLLLLLRRRRLRLLRRRLRRLLRRRRRRRRLLRLLLRLRRLRRRLRLLRLRRRRLRLLRRRLRRRLRLLRRRLLRRRLRLRRLLRLLLRRRRRLRRRLLRRRRLRRLRLLLLRRRLRLRLRLRRLRRLLLLRLLRLLLLRRRLRRRLLLRRLLRLRLLLLRRLLRRLRRRLRLRRRLLLRLRRRLLLRLLLLLLLLLRLRLLRRLRLLLLRRRLLRLRLLLLRRRLLLLLLRLRRRLLLLLRLLLRLLLRRLLLRRRRRRRLLLLLLRLLRLRLRRLRRRRRRRLLRLRRLLLLLLRLRLLLRRRLLRRLLLLRLLLRLRLLRRLRLRLRRRRLRRLRLLLRLRLLLLLRLRRRLLRRLLLLLLLLLRLRLLRRRLLLLRRRRLRRLLRLLLLRRRRRLLLRRLLLRRRRRLRLLLRLRRRRRRLLLRLLRLRRRRLLRLLLLLRLLLRRLLRRRLRRRRLRRRRRLRLRLLRLRLRRRRRLLRRLRRRLRRLLRRRRLRLLLLLRLRRLLRLRRRRLRLLRRRLRLRLRLRLLRLLRLLLRRLRRRRRLRRRRRLLLRLLRRRLRLLRRRRRLLRLRRLRRRLRLRLRRLLRLRLLLLRLLLRRRLRLLLRLRRRLRLLLRRLRRRRLRRRLLRLLLLLRLLRLLRRRRRRRLRRRLRLRLRRRRLRLRRLRRRLLRLLLLLRLLLRLRRRRRRLRLRLRRLLRRLRRRLLRLRLLLRLLRRRLLLLRLLRLLLRLRLRRLLLLRRRRRRLLLRRRRLRLRRLLRLRLLRLLLLRRLRRLRLLRRRLRRRLLRRRRRLLRLRLRLLRLLLLLLLRRRLRLLLRRRLLLLRRLLRLLRLRLRRLRRLRLLLRLRLLLLRLLLRRLLRLLRLRRLRLRRLRRLRRLLRRRLRRRLLLRLLLLLLRRLRRRLRLLLLRRRRLRRLRRRRLRRRLRRRLRRRRLRLLRRLLRLRRRLLRLRRLRLRLLLRRLRLLLLLRLRRLRRLRLLRLRLLRLLRLLLRRLRLRRRLRRLLRRLLRRRLLRLRRLLLRRLRRLRRRLRRRLRRLRLRRRRLLLLLLRRRRLLRLLRLLLRLLLRLLLRLRRRLLRRRRLLLRLLRRLRLLRLRLRLRRRLLLRLLLLLRRLRRLRRRLLRRLRRLLLLLRLRRLRLLLRRRLRRRLRLRLLRRRRRLRRLRRRLRLLLRLLLLLRLRRRRLRLLRRLRRRLLRLRRRRLLRLRLRLRLRLLLLRRLLLLRLLRLLLRLLRLLRRLRRRLLRRLRLRRLLRRLLLLLLRLRLLRRRRLLRRLRLLRLLLLRRLLLRLRLLLRRRRRLLRRLRLRRLRRRLLRRLLLRRRRLRLRLLRLRRRRRLRLRLLRLLLRLLLRLRLLRRRRLLLRLRRRRLRLLRRLLLLLLRRRLRRRLRLRLRLRLRLLRRLRRRRRLLLRLRLRRRLLRLRLRRRLLLRLRLLRRLLLLRRLRRLLRRLRLRLLRRLLLLRLRLLRRRRRLRLRRLLLRRRLLRLRRLLLLLLRRRRLRRRRRRLRRLLRLRLRRRLLLLLLRRLRRLRLLLLLLRRRLLLLLLRLLRLLLRLRLRRLRRLRLLLRRRRLLLRRLRLLLLLRRLLLRLLLLLRLRLLRLRLLRLLRLLRRRLRRRLRLLRLLLLRLLRLLLRRRLRRRLRLLRLLRRRRLLLRRLLLRLRLLLRRRRLLRRRRLRLLLLRRRLRLRRLLRRLLRLLLRLRLRLLRRLLLLLRLLRLRRRLLRLRLLLLLLRLLRLRLRLRRLLLLRLRLLLLRLLLLLRLLLLLLRLRRLRLLLRLRLLLRRRLRLLLRLLLRRRLLRRLLRLLRLRRLLLLLRLLLRRLRLRLRLRLRRLLRRLRRRLLLRLRRRLRRLLLRLLLRLLLRLRLLLRRLLLLRLRLRRLRRLRLLRLLRRRLRRRLRRRLLRLRRLRLLLRLLRRLLRLLRLLLLLLLLRRRLLRRRRLRRLLRLLLLRRLRRRRLLRLLLLRRRRRRRRRRLLLRLRLLRLLRRLLLRRLLRLRLRLRLRRRLRLLLRLLLRLRRRRRRLRRLLRRRLRLLRLLRRLLLRLRRLRLRLLLLLRRRRLRLRRRRRLLRRLLLLLRLRRRRLRLRRRLRLLRRRLRLRRLLLLRRRLRRLRLRRRRRRLRRRLLLLLRLLLRRLLRRRLLLRLLRLLLLRRRLLLRRLLRRRRRRRRRRLRRLRRLRLLLLLLLLRLLLLRLRLRLLRRLRLLRLLLLLRLRLLRRRRRRLRRLRRRRLRLLRLRRLRRLLLRRRRRLLLRRRRLLLRLRLLRRRRLRLRRRLRRLRLRRLRRLRRRLLLRLLLRRRRLLRLLLLLRRLLRRRLRRRRRLRRRLLLLRRLLLRLRRLLRRRRRRRRRRLRLLLRRLLLRLLRLRRRRLLLRLRRLLRLRLLLLLLLRRLLRRLRLLLLLLLLRRLRLLRRRLLRLLRLRRLLLLRLRLLLLRLLRRLRLRRLRLLLRRRLLLRLLRLRLRRRRLRLRLLLRRRLLRLRRRRLLRRLRRLLRLLLLLRLLLRRRRRRLRLLRRLRLRRRLLRRLLLLLRLLLLRLLLRLLLLRRRLLRLLRLRRRLLRRLRRRRLLRRLLRLRLLRRRLRLLLRRRRLRRRLRRRLLRLRRLLLRRRLRLLLLRRLLLRLLRRLLLLLLRRLLLRLLRRRRLRRRRRRLLRLRLRRLRRRLLLLLRLLLLRLRRLRRRLLLLLRRLRRRRRLLRRLRRRLLRRRLRRLRLRRLLRLLRRRLLLRRLRRLLRRLRLLLRLLRRRLLLLRLLRLLLRLRRRRRRLRLLLRLLLLRLLRLRRLLRRLRRLLRRRLLRRRLRRLLLRLLRLRLLRRRLLRRLRLLRRRLLLLLRLLLRLRRRRLLLRLRRLRRLRRLRLRLLRLLRLRRLLLLLLRRRRRRLLRLRRRRRRLLRLRRLRRLLRLRRLLRRRLLRRLLLLLRLLLLLRRLRRRLRRLRLRRRLLLRRRRRLLLRRRLLLLRRLRLRRRRRRLLLRRLRRLLLRRLLLRRLLLLLLLLRRLLRLRRLRLLRRRRLRRRLRLRLLRLLRLRLLLRRRLLRLRLRRLRRLRRLLRLRLLLRLRLRLRLLLRLLLRRLLRLRRLLRRRRRRLRLRLLRRRLRLLRLLRLLRLRRRLRRLLRLRRRLLLRLLRRLRRRRRRRRLRRLLRRLRLLRRRLRLRLRLLLRLRRRRRRLRLLLRLLLRLLRLLLRLLRRRRLRLLLLRLLLRLLRRLRLRRLLLRLRRRLLRLRRRLLRRRLRLRLLLRLRRRLLRRRLRLLLRRRLRLLRRLLLRLLLLLRLLLRLLLRLLLLRLRRRRRRRLRRLRLLRRRLRLRLRRRRRLLLLLLLRRRRRRRRLLRLRLLRLRRRRRRLLLLLLRRLRRRLRRRLRLRLRLRLLLLLRRLLLRLRRLRRRRLLLRRRLLRLLRLLRLLLRLLRRRLLLLLLRRLLLLRRRRRRLLRRLRLLRRRLRRLLLRLRLRRRLRLLRRRRRLRRRRRRLRLRRRLLRRLRRLRRRLRLLLRRLRLRLRRLRRLLRRLRRRRRLLRRRLLLLRRLLRLLRLLLLRRRRRRLLRRLLLLRLRRRLRRLRLLLLLRLRRLLRRLRRLLRRRLRRRRRRLLRRRRLRRRLLLLRRRRRRRRRRRLRLRRLRLLLRRRLRLLLRLRRRLRLLLLRRLLRRLRRRLLRLLLLLLLRLLRLLLLLRRRRLLLRLLRRLLRLLRRLRRLLLRLRRRLLLRLRLLLLRLLLRRRRRRRLRLLRRRRLLLLRRRRLRRLLLLRLRLLLLLLLLRRLRLRRRLRRLRLLLRLLLLLLRLLRLLRRLLLLRRLLRRRLRRLLLRRLRRRRRLLRRRLRRLLLLLRRLLLRLLLRRLRLLLRRLRRLRLRLLLLLLLRLRRRRLRLRRLLLLLRLLLLRRLLRLLRLRLLLRLRLRLLLRRRLRLRRRRRRRRRRRLLRLRLRLRLRLRRRLLRLRRRRLLLLLLLLLRRLLLRLLLRLRRRRLRLRRLLLLLLLRLLRLLLRRLLLLRLRLRRLRLRRRRRLRLRLLRRLRRLLLLLRRRRRRRLLLRRLLRLLLLLLRRRRRLLLRLRRRLRRLRLLLLLRRLRRLLLLRLRRRLLLLLLLLLRRRLRLRRLRRLRRLRRLRRLRRLLLLRLRRLRRRRLRRRRLRLRLRRRLRRLLRLRLLRRRLRRLLLRLRLLRLRRRLRLLRLLLRLLRLRRLLRLRRRRLLRLRRRRRRLRRLRLRRLRRLLLRLRRRLRRLLRRLLRLLRLRRRRLRRLLRLLRRRLLLRRLRLLLLRRRLLRRRRLRRLLLLLRRLLRRLLRRLLLRRRRLLLLRLRLLLLRRLLLLLLRLRRRRRLRLLLLRRLLRLLRLLLRLRRRRRLRRLLLRLRLRLRRRRRRLRRLLRRLLLRLRLLRLLLRRLLLLRRLRRRRLLLLRLRRRLLRLLLLLRRLRRRLRLLRRRRRLRRRLLLRRRRLLRRLRRRRLLLLRRLLRRLLLLRLRRLLRRRRRLLLRRRRLLLLLLLRLLRLRRRLRLLLLRLRLLRLRLLRLRLRLRLLRRRRLLRRLRRLLLLRLRLLLLLRRRLRLLLLLLRLLRRRLLRRRLLRRRLRLRLRRRLRRRLRRRRRLRLLLRRRLRRRLLRLRLRLLLRRRRLRRRLRRLRRRLLLLLRLLRLLLLRRRLLRRLLRRRLRRRLRRRLRRLRLRRLRLRLLRRRRLRRLRRRRRRRLRRRRRRRLRRRRRLLRLLLRLLRLRRLRLLRRRLRLRRRRRRRLRRLRLRLRRRRRLLLRLLRRRLRLLRLRRRRRRLRRRRLLRLLLRRRRRLRLLLLLLLRLRLLRLLRRLRLLRRLLLLLRLLRLRRRRRLRRRLLLLLRRLLLLLLRRRRLRRLLRRRLRLRRLRLRRLLLLLRLRLLLLLRLLLLRLLRRRRLLRRLLLLLLRLRLRLRRRRRRRRLLLLRRRRLRLLLRRLLRRLRLLLRLLLRLLLLRRRRLRRRLRLLRLRLRRRRLRLRRRRRRRRRRLLRRLRRLLLLRRLLRLRRRLLLLLRLRRRRRLLRLRRRRLLLLLRRLRRLLRLLRRRRLRLRRRRRRLRRRRLRRLLRLLLLRLLLRRRLLRRLRRRLLRRLRLLRRRLLLRLLRRRRLLRRLRRLLLRLRRRRLLLRRRLRLRRRLLRRRLLRRLLRRRLRLRRLLRLRRRLRLRLRLLLLRLRRRLLLLRLLLRLRRRRRRLLLLRLLLRRLLRLRRLLRRLLLRRRLLRRRLLLLLRRRRLRLLRRRRRLRRRLRLLLRLLRRRLLLLLRRRLLRLLRLRRLRRLLLLRRLRLRRLLLRRRRLLRRRRRRRRLLLRRLRRRRRLRRLRLRRRLRLRRRRRRRLRRLRRLLLRRRRRRRLRLRLRRRLRLRRLLRRRRLRLRLLLLRRLRRLLLLRRRRLLRLRLRLLLLRLLLRLRRRRLLRRRLRRRRRRLRRRLLRRLLRRLLRRRLLRLRLRRRRLRRRLLLLRRRLLRLRRRRLRLLLLRLLLLRLRRRLLRRLRLRRRLRLLRLRLRRLRLRLLLLLLRLRLRRRLRRRRLRLLLRRLRRRLLRLLLRLRLRLRLLLLLLRRRLRLRLLLLRRRLLLRRRRRLLRLRLRLLLRRLRRLRRRRLLLRLRLRRLRRLRRRRLLLRRRRRLRRLLLRLLRRRRLRLRLLLRLLLLLLLRLLLRLLLRRLLRRRRLLLRRRRLRRLLLLRLRRRRLRLLRRRLLLRLLRLLRRRLRRRLLRLRLLLLRLLRLRRLLLLRLRRLLLRLRLLRLRLRLLLRLRRRRRLLRLRRRRRLRRRLLLLRLLRRRRRRLRRLLRRLRRLLRRRRLLLRRLRRRLRRLRRLLLRRRRLRRRRRLRLLLRLRLLRRRLLRLRRLLRLRLRRRLLRLLRLLRRRLRRRRRRRRRLLLLRLLRRLRLRLRLRLLLRLRRLLLLRRRLLLRRLRLLLRRRRRRRRRLRRLRRLLRLRLRRRRRLLLLLLLLLLRRLLRLLRRLRLRLRRRLLLLRRRLRRRLRLLLRRLLRLLRRRRLRRRRLLLLRLLRRLLRRRLLRLLRLLRRRLLRRRRLLLRRRLLRLRLRRLRLLLLLRRLLLRRRRLRLRRRRRRLLRLRRLRRRRRLRLRRLLLLRRLRRRLRRRLLRRRLLLLLRRLLLLLLLRRLLRLLLLLLLRLLRLLRLLLRLLLLRRLRLLRRRLRLLRLLLLRRRLRLLRLLRLRLLLLLLLRLRRRLRRLRRLRRRLRLLRLLRRRRLLRLRRRLRLLLLLRLLRRRRRLLLLLLLLRRRRRRLLRRRRRLRLRLLLLRLRRRLLRRLLRRLRRRRLLRRRLRLRLRRLLLLLLRLLLLLRLLRRRRLRRRLRRLRLRRRRRRLRRLLRRLRRRLLLRLLRLLRRLLLLRRRLLRRRLLRLLLRRRRRLLLLLRLLRRRRLLLLRLRRLRLRRLLLLRRLRRRRRRRRRLRRLRLLLRLLLLRLLLLRLLRRLRLLRRRRRLLLLLRRRRLLLLRRLRRRLRLRRLLLLRRLRRRRRRLLLRLLRRLRRLLLLLLLRLRLRRLRRLRLRRLLRRRRRLRLLLRLLRLRRRRLRLRRLLLRRRRRRLRLLRRRRLLLRRRRLLRRRRLLRRRRLLRRLRLRRLLLLLLRLLRLRLLRLLRLLRLRLRRRLRRLRRRRRRLRRRLLRRLLRRRLLLRLRRLLLRLLLLLRLRLLLRLRRLLRLRLRRRLLLRLLRLRRLRRRRLLRRLLLRRLRLRRRRRRRRRRRRRLLLRLLRRRLLLRLRLLLRRRLRRLRLLLLRLRLRLRLLRRLRLRRLRRLLRLLLRLRRLLLRRLRRRLRRLRLRLRLRLLLRLLLLRRLLRRRRRLRLLLRRLLLLLLLLRRRLRLRRLLLRLRRRRRLRRRRLLLLLLLRRRLRRLRLLLRLRLRRRRLRLLRLLRRRLLRRRLLRLRRRLLLRLRLLRRLRLRRLRRLLRLRLLLLRRRLLRLLRRLLLLLRRLLLRLLLLRRRRRLLRRRRLRRLLRRRLLLRRLLLLLRRLLLLRRRLLLRLLRLRLLLLLRLRRLRRLRRRRRRLLLRLRRRRLLLRLLLLLLRRLRLLRLLRLRLLRLRLLLLLLLLLRLLRRLRRLLRLLLLLRLLRRLRLRRRRRRRLRLLRLRLRLRLRRRLLLRRRLRRRLLLLRLRLRRLRRLRRRLRLLRRRLLLLLRRRRRRLRLRRRLLLLRRRRLLRRRRLLRLLLLRLLLRLLRLRRLLLLLLLLLRLLRRLLRRLLRRRLLRLLRLRRLLRLRLLLRRRRRRRLRRRLLLRRRRLRRRRRRRLLLLLLLLLRRRRRRRRLLLLRLRRLLLRRLRLLRRRRLRRLRLRLRRRLLLLRRLRLLRRLRLRRRRRLLLRLRRRRRRLLRLLLLRRRRLRLLRRLLLLRLRLLLLLLRRLRLLRLLLLRLRRLLRRRLRRLLLLRLRRLRRRRLRRRLRLLLLLLRLLLLLLLRRLRLRRLLRRRLLLLRRRRRRLLLLLLRLRRLLRRLRRLLLRRLLRLRRLRLRRRLLRLRLLLRLRRLRLLRLLRLRRRLRRRRLLLRRLLRLRLLRRRLRRRLLLRRRLRLRRRLRLLRRLLRLLRLLRRLRLRLRLRLLRRLLRRLRRRLRRRRLLRLRRRLRRRRRRRRRLLRRLLLLLRRRRLRLRRLLLRRRRLRLRLLRRLRLRRLLLLRRRRRLLRLRRLRRRLRRLLLLRLRRRLLRRRRRLLRLLRRLRLRLRRLRLLRRRLLRRRRLRRRRLLLRRRLRRRLRRLLLLLLLRLLRRRLLLLRRRLLLRRRRLLLLLLLLRLLRRRRRRLRRRRLLLLRRLRLLRLRLRRLLRLRRLLRRLRLLRRLLLLLLRLLRLRRRLRLLRLRRRLRLLRLLLRLRRRLLRLLLLLRRRRRLLLRLRLLRLLLRRLRLRLRLRLLRRRLRRLLLLRLLRRLLRLLRLRRLRLLLRRLLRLRLLLRLRRLRLLLRRLLRRLLRLLRLRRRRRLLLRRLLLRRRRRRRLRLRLLRRLRLRLLLLLLRRRLRRRLLRLRRRRRLRRRLRRLRRLRRLLRRLLLLRLLRLLLLRRLLRLLRLLRLRLLLRLRLLLRRRRRRLRLLRLLLRLRLLLLRLRRLRLLRRLRRLLRRLRLLLLLRRRLRLRLRLRLLRLLLRRRLLRRLLRRRRRRLLRRLLRLLRLRLLRLRRRLLRRLRLLRRLLLRLRLLLRLLLLLLLLRLLLLLLLLRLLLRRLRRLLRRRLRLLLLRLLRRLRRRLRLRLRRRRLLLRLRLLLRRRRRLRRLLRRLRRLRRLLRRRLLLRLLLLRLRRRLRRRRLLLLLRRRRRLLRRLLLLRLRRLRRRRLLLLRRLLRRLLLLRRRRRRLRLRLRRLRRLLRLLRLLRLRRRRLRLRLRLRLRLLRRLRLRLLRRLRRLLRRLRLLLRRRLRRRLRLRLRRLRRRRLRLLRRRLRRLRRRLRLLLRRLLRLRRLRLLRLRLRRLLLLRRLRLLRLRLRRRRLRLLRRRRRRRLLLLRRRRLRLRLRLRRLLLRLRLLRLLLRRLRRRLRLRLRLRLLRLRLLLLRRRLRLLRRRRLRLRLLRRLLLRRLLLRLRLRRRLRLRRLLRLRRLLLLRLLRRLLRRLRRLRLRRRRLRLRRLLRRRRRLRRRLLLRLRLLRLRRRLLRRLLRRLRRRRRLLRRRRRLLRRRRRRLLRLRRRLRRLLLLRRLRLRRLRLRLLLRLRRRRRLRRRLLRRRLLRLLLLRRRLRRRLRRRRLRLLLLLLRRRRRRLRLLRLRLRRLLLLLRRRRLRLLRRLRLLLLRRLLLLLRLLLRRRRLRRRRLRRLRRRLRRLRRRLLLRRRRLRRLLLRRRRRLLLLLRLRLLLLLLRLLLLLLRLLLLLRRRLRRRLLLLLRRRLRLLLLLLRRLLRRLLLRRLRRRRRRLRRLRRLLRLLLLLLLRLLLRRLLLRLLLLLRLLRLLLLRLRRLRLLRRLLRLRRLLLRRRLLRLLRLLRLLLRLRRRLRRLRLLLRRRRRLRLRRLRLRLRLLRRRRRRLRLLLRLLLLLRLRLLRRLRLRRLRRRLLLRLLRLRRLLLRLLLRRRLLRLRLLRLRLRLLRRRRRLRLLLRRRRRRLLLRRRLLRRLRLLRLRRRLLLRRRRRLLLRLRRLRRRLLRRRLRLRRLRLRRLLLLLRLRLLLRRLLLRLRLRRLRRRLRRLLLRLRLRRLLRLLLRRRLLLLLRLRRLLLLLLLRLRRRLRRLRLLLRRLRLLRLRRLRLLLRLRRRLLLRLLRLLRRLRRRLRRLRRRRRRLLRLRLRLRRLRRLLRRLRLLLLLLLRLLLRRRRRRLLRRRLRLRRLRLLRRLRRRLLLLLRRRRRLRRRRLRRRLLRLLRLLLRLLRLLRRLLRLLLLLRRLRLLLRLLLRRRLRRLLRRLRLLRLLLRRLLRLRRRRRRRLRLLLRRRRLLRLLRRLRLRRLLLLLRLRRLLRLLRRRLRRRRLLRLLLLRLRRLLRLRLLLLRRLLLLRLRLRRRLLLRRLRRLRRRRLRRLLRRLRRLRRLLRRLLRRLRRRRLLRRLLRRLRRLRRLRRLLRLRRLLRLRLLRLRLLRLRRLRLLRRRLLLLRRLLRLLRRLLRRLRLLRRRRLLLRLRLRRLLRLRRLRLRLRRLLRRLRRRLRLRRRRLLLRRLRRRLLRLRRLLRLRLRLLRLRRLLRLRLRLRLLLLRLRRLRLLLRRLLRRLLLRRLLRRRLLRRRRLLRRLRLLLRLLRLLLLRRLRRRRRRRLLRLLLRRRRLLLLLLLRLRRRRLRLRRLLLLRLRLRRLLLLRLLLLRLRRLRLLRLRRRLRRRRRLRLRLLRLRRRRRRRLLRRRRRRRRRLLRRLRLRLRRLLLRRRRLRRLRRRRRRLLRRRLLLRRRRRRLRRLRRRRLRLRRLRRLLRLRLRRRRRLLLLRRLLLRRLLRLLLLRRLLLLRRRRRLLLRLLLRLRRRLRLLRRLLLRRRLRLLRLRRRRLLRRRRRLLLRRRRRLRRLLRRRRLLLRRLRLLRRLRRLLLRLRLRRRRLRLRRRRLRLRRLRRRRLLLLRRRLRRLRLRRRRRLRLLLLLLRRRLRLRRRLRLRLRLRLRRLLRLRRRLRLLRRLRLLRRRRRLLRLRLRRRRLRRLLLRRRRLRLLRRRRRRRLLRLLRRRLRRRLRRLRLLRRLLLRRLRLRLRLLRLLRLLRLLRRRLRLLLLLLLLRRRLLRLRRRRRRLLLRLRRRRLRRLRLRLLLRLLLLLRLLRRLLRRRLLLLLRRRRLLRRRRLLLRLRRLLRRRLRLLLRRRLLLRLRRRLLRRRLRLRRLLLLLRRLRRRLRLLLLRLRLLRRRLLLLRRLRRLRLRLLRLRLLRRRRRRRRLLRRRLLLRLRRRLLRRRLRRRLRLRRLRLLLLRLLLRLRLRLLRLRRLLLRLLRLRLRLRLLLLLLRLRRRLRRRLLRRLRLRRRLLRLRRRRLLLRRRLLLRLLLRLLLLLLRRRRLLRLRLRRRRLRLRRRRLRLRLRRRLRRLRLRRRRRLRLRRLLLLLLRLLRLLLLRLLRRRRLRLLRRRLLLLLLRRLLLLLRRLLLRRLLLLRLRLLLRLLLLRLRRLLLRLLLRLRRLRLRLLLRLRLRLRLLLRLRLLRLLRLLLLRLLRLRLLRRRRLLLLRLLLLLLRRLRLRRRLLRRLLLRLLRLRLRRRRLLLRRLRLRRLLRRRRLRLLLRLRRRRRRRLLLRLLRRLLLRLRRLRLLRRRRLRRRRRRRRLLLLRRLRRLRLLLLLRRLLRRLRLRRLRRRLRLRRRLLLRRLLRLLLLLLRRRLRRRRRRLRLRRRLLLLRLRLRRLLRLRLLLRLLLLRRRLLLRRRLRLRLRRRRLRRRRLRRLRLRLLLLLRRLLRLLRLRRRLLRRLRLLLLRLRLLLRLLLRLLLRLLLLRLLLLLRLLRRLRLLRRRLLRLLRRLLRRLLRRRLRRLLLLRRLLRLRRRLLLRRLRLLLRRLLRLRRRLLLLLRLLLLLRRRRLRRRRLLRRLRRLLLRRLLRRLLRLLLLLLLRRLLLRRRRLLRLRRLLLLRRRLRRLLLRLLRRLRRRRRLRLLLLLLRRLLRLRRRRLRRLRRLLRRLRLRLLLRRRRLLLRLLRLRRLRLRLLRLLLLRLRRLRRLLLLRLRLLRRRLRLLLRRRRLRRLLRLRRLRRRLRRRRRRRLRRRRLRRLLLLLLLRRRRLLLRLRLRRLRRLLRRLLLLRLRLLLRRLLRRRRRLRRLLLRRLRLRLLLRLLRLRRRRRLLRRRRLLLRRLRLLRLRLLLRLRRRRLLRLLRRRLLRRLLLRRRRRRRRLLRRRRRLRLRRLRLLRLLLLRLLRRRLRLRRLRRRLRLRLRLLLLLLLLLLRRLRLRRRRRRRLRLRLRLRRLLLRRRLRLRLLLLLLLRLRLRRLLRRLRRLRRLRRLRLLLRLLRRLRRLLRRRLLRRRLRLRLLLLRRLLRLRLRRLRLLLRLLLRLRLRRRLLLLLLRLRRRLRLLLRRLRLLRRRLLLLRRRRRLLLRRLRRLLRLLLLRRRLRLLRRRLRLLLLLLRLRRLRRRRLLRLLLLLLLRLRLRLLRRLRRRLLRRLRLRRRRRRLLRRLRRRLRRRLLRLLLLLLLRLRLLRRRLRLRLRLLLRRLRRLRLRRLLLRLLRLRLRLLRLLLLLLRRRLLRLLRLRLRLLLRLLLRLRLRRRRLLLRRRLLRRRLLLLRLRRRLRRLRRRRRLRRRLLRLLLRRRRRRRLRRLRLLLLRLRRLLRLRRLLRRLLRRRLRRRLLLRLLRLLRRLRLRRRLRLRRRLRRLLLRLLRRRLRLRRRLLRLRLLLLLLLRLRRLLLLLLRRLLLRLRLLLRRLRRLRRLLLRLRLLRLRLLRRRRRLLLRLLRLLRRRRLRRLRRLLRLLRRRLLRRLRRLLRRLLLLRLRLLRRRLRLLLLLLRLLRLLLLRRRLRLLLLLRRLLLLLLRLRRRLLLRLLRRRLLRRRRLLLLRRRRRLRLRRRLRRRRLLLRRLLRLLLRLLRLLRRRLLLLRRRLLRLRRRRRRLRRLLLLLLRLRLRLLLLRRRLRLRRLLRRRLLLLRRRRRLRRLLRLRLRLRLLRLRLRRRRRRLRLLLLRRLLRRRLLLLRLLLLLRRRRLLLRRLLLLRLLRLLRRLRRLLLLRLLRRRLLRLLRRRLRRRLLRRLRRLLRRLRLRLLRLRLRRLRRRLLRRRLLRRLRLRRRRRRLLLRLRRLLLLRLLRLRRLLRRLLRRRLRRRLRLRLRRLLRRLRLLLLRRRRRRRRRRRRRRRRLRLRRLRLRRLLLRLRRLRRLRRLRRRLLRRRRLRLLLLRRLLLRLLLRRLRRLLLLRLRRRRLLLLRLLRRRLLLRLLRRRRLRLRLLLRRRRRLLRLLRRRRRRRLLRRLRRRLLLLRLLRRRRRLRLLRLRLLLLRLRLRLLLLRLLRLRRRRLLRLLRRRLLRLRLLLLRLLLRLLLLRRRLLRRRLLLLLLRRRRLLRLRLRLRLLRRLRRLLRLLLLLRRLLLRLLRLRLLLRLLRLLRLLLLRLRLRLLRLLLLLLLRLLRRLLRLRLRLLRLLRRLRRLLRRLRRLLRRRRRLLLLRRLLRRRLRRRRRLLRLRRRRLLRRRRRLLLRLRLRRRRRRLRRRRLRLLRLLRRRRRLRLLRLRRLRLRRRRLRRLRLRRLLRRRLRLRLRLLRLLLRLLRLRLRRRLLLRLLRRRLLRRRRLLLLLRLRRLRLRLLLRRLRRRRRLLRLRRRLRRRRLLLRRRRRRRLRLLLRRLRLRRRRRRRLRRRRLRRLLRRLRLRLRLLRRRRLLLLLRLRRLRLLRRRLLLRLRRRRLRLRRLRLRRLRLRLLLLRLLLLRLRLRRLRRRLLRLRRRRLLLRLLRRLRLRLRLLRLLLRLLRRLRLRRRRRRLLRLLLRLRLLRRLLLRLLLRLLLRLRRLRLRRRRRRLRRRLRLLLLLLRRLRRLRRRRRRRLLLRRRLRRLLLRLRLLLLLRLLRLRLRRLRLRRLLRLRLLRRLRLLLLLLLLLLLRRLLLLLRLRRRLRRLRRRLRRRRRLRRRRLLLLLLLRRRRLRRLLLRLRLLRRRRLLRLRLRLLLRLLLLRLLRLRRLRRRLLRLLRRRLRLRRRLRRRRLRLRLLLLLLLRRLLRRRLLRLLLLLRLLLRRRRRLRLLLRRRLRRLRLRLLRLLRLRLRLLRLLRLRRRRRLRRRRRRLLLRLRRLLLRRRRLLRLRLRLRRRLRLRRLLLLLLLRRRLLLRLRRLRRRRLRRLRRLRLLRRRRLRLRLRRLLLRRRRLRLRRRLRLLLLLLRLLLLLLRRLLRLLRRRRLLRRLLRLLLRRLRLLLLLRLRRLLLRLLRLRLRRLRLLRRRRLLLLLRLLLLLLLRLRRRRLLRRRLRLRLLRRRLLLLLLLRLLRRRLLRLRRLRLLRRRRRLLLLLRRRRLLRRLLRLRRLRRRLLRRLLRLLRRLLLRRRLRRLLLRRRLLRRLRRRLLLLLRLRRLRLRLLRLRRRLLRRRLRRLLRLRLRRRRLRLLLRLRRLRRRLLRRRRLLRLLLRRRLRRLLLRLRRLRRRLLLLLLLRLLLRRLLLRRRRLLLLRLLRLLLRLLLLLLRRLLLLRRLRLRLLLLRRLLLLLLLLRRLLRRRLLLRRLRRLLLLLLRRLLLLLLLLLLRLLRRRLRLRRRLLLRLLLRRRLLRRRRRRLLRLRLRLLRLLLRLRLRRLRRLLRLRRLLRRRRLLLRLRLLLRLLLLLRLLRLRLLLLLLLLLRRRLRRLLLRRLRLRLLLLLLRLRRLRLRRRRRRLLLLLLLRLLLRRRRLRLLRRLLLRLRRRRRLRRLRLRLLRLLLRLRLRLLLLLLLLRLLLLRLRRLRLRLLLLRLLRRLRRRLRRLRRRRRLLRRLRLLRRRLLLRLLLLLLRRLLRLRRRRRLLRLRLLLLLRRLRRLRRLLLLRRLRLRLLRLRRRLRLRRRLRRLLLLRLRLLRLRLRRLLLRLRRLRLRLLLLLLLLLRRRLLLRLLLRLLRRRLLLLRLLRLRLLRRLLRLRLRLLRRLRRRLRLRRRRRRRLRLLRRLRLRLLRRRLRRRRLRLRLRRRLLLLLLRLRLRLLLLRRLLLRLRRLRRLLRLLLLLRLLRLRRLRRLRLRRRRLLRLLLLLRRLLRRRLLRLLLLLLLRRRLRLRLLLRLRRLRRLLLLLRLRLRLRRLRLLLLLRLLRLLLLLLLLRRRRLRRLLRLRLLLLLRRRLRLRRRRRRLRRRRLL
